@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--mint:#a5b4fc;--pine:#4f46e5;--bg-color:#edeff3;--bg-main:var(--bg-color);--sidebar-bg:#f8f9fb;--surface:#f8f9fb;--text-main:#1e2433;--text-muted:#64748b;--primary:var(--pine);--primary-hover:#4338ca;--primary-light:#4f46e50f;--danger:#ef4444;--input-bg:#fff;--border:#d8dce5;--shadow-soft:0 12px 24px -6px #1e24330f;--table-head-bg:#e2e6ee;--badge-bg:#e3e6f8;--badge-text:var(--pine);--radius-lg:20px;--radius-md:12px;--radius-sm:8px;--transition:all .5s cubic-bezier(.4, 0, .2, 1)}.dark{--bg-color:#232936;--bg-main:var(--bg-color);--sidebar-bg:#2d3546;--surface:#2d3546;--text-main:#e6e9f0;--text-muted:#99a2b3;--primary:var(--mint);--primary-hover:#c7d2fe;--primary-light:#a5b4fc14;--danger:#ef4444;--input-bg:#1c222d;--border:#414b60;--table-head-bg:#3a4356;--shadow-soft:0 12px 24px -6px #0000004d;--badge-bg:#3a4070;--badge-text:#c7d2fe}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);height:100vh;font-family:Inter,sans-serif;transition:background-color .5s,color .5s;overflow:hidden}.app-container{gap:1rem;height:100vh;padding:1rem;display:flex}.sidebar{background:var(--sidebar-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--border);flex-direction:column;flex-shrink:0;width:76px;transition:width .22s,background-color .5s,border-color .5s;display:flex}.sidebar--expanded{width:248px}.sidebar-header{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:.45rem;padding:.75rem .5rem;transition:border-color .5s;display:flex}.sidebar--expanded .sidebar-header{flex-direction:row;justify-content:flex-start;gap:.55rem;padding:.75rem .7rem}.logo-img{object-fit:contain;border-radius:var(--radius-md);background:#fff;flex-shrink:0;width:48px;height:48px;padding:4px}.sidebar--expanded .logo-img{width:36px;height:36px}.sidebar-brand{min-width:0;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.95rem;font-weight:700;overflow:hidden}.sidebar-header .search-input-wrapper{flex:1;width:auto;min-width:0}.sidebar-header .search-input{height:32px;padding:0 .75rem 0 2.15rem;font-size:.85rem}.sidebar-toggle{border-radius:var(--radius-sm);width:32px;height:28px;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-toggle:hover{background:var(--primary-light);color:var(--primary)}.sidebar--expanded .sidebar-toggle{margin-left:auto}.sidebar-menu{flex-direction:column;flex:1;gap:.4rem;padding:1rem .75rem;display:flex;overflow:hidden auto}.sidebar--expanded .sidebar-menu{gap:.85rem;padding:.75rem .55rem}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.35rem;padding:.75rem;transition:border-color .5s;display:flex}.menu-item-wrapper{position:relative}.menu-item{border-radius:var(--radius-md);color:var(--text-muted);transition:var(--transition);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;padding:.7rem;font-family:inherit;display:flex;position:relative}.menu-item--labeled{justify-content:flex-start;gap:.65rem;padding:.6rem .7rem}.menu-item-label{color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:550;overflow:hidden}.menu-item:hover{background:var(--primary-light);color:var(--primary)}.menu-item.active{background:var(--primary);color:var(--sidebar-bg)}.menu-icon{flex-shrink:0}.sidebar-group{flex-direction:column;gap:.15rem;display:flex}.sidebar-group-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;padding:.35rem .55rem .45rem;font-size:.68rem;font-weight:700;display:flex}.sidebar-group-header span:after{content:"."}.sidebar-group-icon{opacity:.85;flex-shrink:0}.sidebar-group.is-active .sidebar-group-header{color:var(--primary)}.sidebar-group-list{flex-direction:column;gap:.1rem;margin:0;padding:0 0 0 .85rem;list-style:none;display:flex}.sidebar-subitem{border-radius:var(--radius-sm);width:100%;color:var(--text-main);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.5rem .65rem;font-family:inherit;font-size:.84rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.sidebar-subitem:hover{background:var(--primary-light);color:var(--primary)}.sidebar-subitem.active{background:var(--primary);color:var(--sidebar-bg);font-weight:600}.menu-badge-dot{background:var(--danger);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.menu-item--labeled .menu-badge-dot{margin-left:auto;position:static}.floating-submenu{z-index:200;background:var(--sidebar-bg);border:1px solid var(--border);border-radius:var(--radius-md);min-width:210px;padding:.5rem;transition:opacity .2s,transform .2s;animation:.25s cubic-bezier(.2,0,0,1) submenuFadeIn;position:fixed;left:92px;box-shadow:0 12px 32px -8px #1e24332e}.dark .floating-submenu{box-shadow:0 12px 32px -8px #00000080}@keyframes submenuFadeIn{0%{opacity:0;transform:translate(-12px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.floating-submenu-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.4rem .6rem .5rem;font-size:.7rem;font-weight:700}.floating-submenu-list{flex-direction:column;gap:.1rem;list-style:none;display:flex}.floating-submenu-item{border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;align-items:center;gap:.65rem;padding:.6rem .7rem;font-size:.875rem;font-weight:500;transition:background-color .2s,color .2s;display:flex}.floating-submenu-item:hover{background:var(--primary-light);color:var(--primary)}.floating-submenu-item.active{background:var(--primary);color:var(--sidebar-bg);font-weight:600}.main-area{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid var(--border);background:#fff;flex-direction:column;flex:1;transition:background-color .5s,border-color .5s;display:flex;overflow:hidden}.dark .main-area{background:var(--sidebar-bg)}.tabs-header{border-bottom:1px solid var(--border);background:var(--surface);scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;gap:.5rem;padding:1rem 1rem 0;transition:background-color .5s,border-color .5s;display:flex;overflow:auto hidden}.tabs-header::-webkit-scrollbar{width:0;height:0;display:none}.tab{border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;border-top-width:3px;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.7rem 1.25rem;font-size:.9rem;font-weight:500;display:flex;position:relative}.tab:hover{background:var(--primary-light);color:var(--primary)}.tab-dirty-mark{color:#dc2626;flex-shrink:0;margin-left:.1rem;font-weight:700;line-height:1}.tab.active{background:var(--bg-color);color:var(--primary);border:1px solid var(--border);border-top:3px solid var(--primary);border-bottom-color:var(--bg-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font-weight:600}.tab-close{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.15rem;display:flex}.tab-close:hover{background:var(--primary-light);color:var(--pine)}.dark .tab-close:hover{color:var(--mint)}.content-area{border-radius:0 0 var(--radius-lg) var(--radius-lg);background:#fff;flex:1;padding:0;transition:background-color .5s;position:relative;overflow-y:auto}.dark .content-area{background:var(--sidebar-bg)}.placeholder-wrapper{justify-content:center;align-items:center;height:100%;display:flex}.placeholder-text{color:var(--text-muted);opacity:.6;flex-direction:column;align-items:center;gap:1rem;font-size:1.5rem;font-weight:600;animation:.5s cubic-bezier(.4,0,.2,1) slideUp;display:flex}.placeholder-icon{opacity:.6;margin-bottom:1rem}@keyframes slideUp{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.db-busy-overlay{z-index:10050;background:#0f121a59;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.db-busy-card{background:var(--surface);color:var(--text-main);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);align-items:center;gap:.65rem;padding:.9rem 1.4rem;font-size:.92rem;font-weight:500;display:flex}.db-busy-spin{color:var(--primary);animation:.8s linear infinite db-busy-spin}@keyframes db-busy-spin{to{transform:rotate(360deg)}}.skeleton-bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--border) 25%, var(--table-head-bg) 50%, var(--border) 75%);background-size:200% 100%;height:14px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-list{flex-direction:column;gap:.6rem;width:100%;padding:.4rem 0;display:flex}.skeleton-form{flex-direction:column;gap:.85rem;width:100%;padding:.5rem 0;display:flex}.skeleton-form .skeleton-bar{height:38px}.page-container{flex-direction:column;gap:.75rem;width:100%;height:auto;min-height:100%;animation:.35s ease-out slideUp;display:flex}.page-container:has(.page-sticky-chrome){gap:0}.page-container:not(:has(.page-sticky-chrome)){padding-top:.75rem}.page-sticky-chrome{z-index:25;box-sizing:border-box;background:var(--bg-color);isolation:isolate;flex-direction:column;gap:.5rem;width:calc(100% + 3rem);margin-left:-1.5rem;margin-right:-1.5rem;padding:.5rem 1.5rem 0;display:flex;position:sticky;top:0}.page-sticky-chrome>.tabs-header{background:var(--bg-color);scrollbar-width:none;-ms-overflow-style:none;border-bottom:none;flex-shrink:0;padding:0;position:static;overflow:auto hidden}.page-sticky-chrome>.tabs-header::-webkit-scrollbar{width:0;height:0;display:none}.page-sticky-chrome .tab,.page-sticky-chrome .tab:hover,.page-sticky-chrome .tab.active{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.page-sticky-chrome .tab.active{background:var(--sidebar-bg);border-bottom-color:var(--sidebar-bg)}.page-sticky-chrome>.filter-bar{border-radius:var(--radius-lg);background:var(--sidebar-bg);flex-shrink:0;margin-bottom:.65rem}.page-container--list-chrome .page-sticky-chrome>.filter-bar{border-radius:0;margin-bottom:0}.page-container:has(.page-sticky-chrome)>.table-container{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.page-container:has(.page-sticky-chrome)>div>.table-container{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.page-container>.tabs-header{z-index:25;border-bottom:1px solid var(--border);background-color:#0000;position:sticky;top:0;overflow:auto hidden}.page-container:not(.page-container--list-chrome){box-sizing:border-box;padding:1rem 1.5rem 1.5rem}.page-container--list-chrome{gap:0;min-height:100%;padding:0}.page-container--list-chrome .list-panel{box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.page-container--list-chrome .page-sticky-chrome{background:#fff;border-radius:0;flex-shrink:0;gap:0;width:100%;margin-left:0;margin-right:0;padding:0;box-shadow:0 1px #fff}.dark .page-container--list-chrome .page-sticky-chrome{background:var(--sidebar-bg);box-shadow:0 1px 0 var(--sidebar-bg)}.page-container--list-chrome .page-sticky-chrome>.tabs-header,.page-container--list-chrome>.tabs-header{background:0 0;border-bottom:1px solid #edeef2;align-items:center;padding:6px 20px;display:flex;overflow:visible}.dark .page-container--list-chrome .page-sticky-chrome>.tabs-header,.dark .page-container--list-chrome>.tabs-header{border-bottom-color:var(--border)}.page-container--list-chrome.page-container--form-fill{flex-direction:column;min-height:100%;display:flex}.page-container--list-chrome.page-container--form-fill .list-panel,.page-container--list-chrome .form-chrome-pane,.page-container--list-chrome .form-chrome-pane>*{flex-direction:column;flex:1;display:flex}.page-container--list-chrome .form-chrome-footer{z-index:10;box-sizing:border-box;background:#fff;border:none;border-top:1px solid #edeef2;border-radius:0;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;width:100%;height:65px;min-height:65px;max-height:65px;margin:auto 0 0;padding:6px 20px;display:flex;position:sticky;bottom:0;box-shadow:0 -1px #fff}.page-container--list-chrome .form-chrome-footer>.btn-secondary,.page-container--list-chrome .form-chrome-footer>.btn-primary,.page-container--list-chrome .form-chrome-footer>.btn-danger{flex-shrink:0;align-items:center;gap:.4rem;display:inline-flex}.dark .page-container--list-chrome .form-chrome-footer{background:var(--sidebar-bg);border-top-color:var(--border);box-shadow:0 -1px 0 var(--sidebar-bg)}.module-tab-track{scrollbar-width:none;background:#f1f2f6;border-radius:12px;align-items:center;gap:4px;width:max-content;max-width:100%;padding:5px;display:inline-flex;overflow-x:auto}.module-tab-track::-webkit-scrollbar{display:none}.dark .module-tab-track{background:#00000047}.module-tab-track .tab,.module-tab-track .tab:hover,.module-tab-track .tab.active{color:#667085;white-space:nowrap;box-sizing:border-box;background:0 0;border:none;border-radius:9px;flex:0 0 150px;width:150px;min-width:150px;max-width:150px;min-height:42px;margin-bottom:0;padding:10px 14px 10px 16px;font-size:14px;font-weight:500}.module-tab-track .tab:hover{color:var(--text-main);background:#ffffffa6}.dark .module-tab-track .tab{color:var(--text-muted)}.dark .module-tab-track .tab:hover{background:#ffffff0f}.module-tab-track .tab.active{color:var(--primary);background:#fff;font-weight:600;box-shadow:0 1px 2px #1018280f}.dark .module-tab-track .tab.active{background:var(--input-bg);box-shadow:0 1px 2px #00000040}.module-tab-track .tab>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.module-tab-track .tab-close{opacity:.55;width:18px;height:18px;color:inherit;border-radius:999px;flex-shrink:0}.module-tab-track .tab-close:hover{opacity:.9;background:#00000014}.page-container--list-chrome .filter-bar.list-toolbar,.page-container--list-chrome .page-sticky-chrome>.filter-bar.list-toolbar{background:0 0;border:none;border-bottom:1px solid #edeef2;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:8px 20px;display:flex}.dark .page-container--list-chrome .filter-bar.list-toolbar,.dark .page-container--list-chrome .page-sticky-chrome>.filter-bar.list-toolbar{border-bottom-color:var(--border)}.page-container--list-chrome .list-toolbar-filters{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.page-container--list-chrome .list-toolbar-meta{background:var(--sidebar-bg);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;margin-left:.25rem;padding:.35rem .65rem;font-size:.8rem;display:inline-flex}.page-container--list-chrome .list-toolbar-count{color:var(--text-main);font-variant-numeric:tabular-nums;font-weight:700}.page-container--list-chrome .list-toolbar-actions{border-left:none;flex-shrink:0;align-items:center;gap:10px;margin-left:0;padding-left:0;display:flex}.page-container--list-chrome .list-toolbar .search-input-wrapper{flex:240px;width:auto;min-width:200px;max-width:320px}.page-container--list-chrome .list-toolbar .search-input{background:#fbfbfd;border:1px solid #e2e4ea;border-radius:10px;height:40px;padding:0 14px 0 38px;font-size:13.5px}.dark .page-container--list-chrome .list-toolbar .search-input{border-color:var(--border);background:var(--input-bg)}.page-container--list-chrome .list-toolbar .search-icon{color:#9aa1ae;width:15px;height:15px;left:12px}.page-container--list-chrome .list-toolbar .filter-btn{color:#344054;background:#fff;border:1px solid #e2e4ea;border-radius:10px;height:40px;padding:0 14px;font-size:13.5px;font-weight:500}.page-container--list-chrome .list-toolbar .filter-btn-icon{justify-content:center;width:40px;padding:0}.dark .page-container--list-chrome .list-toolbar .filter-btn{border-color:var(--border);background:var(--input-bg);color:var(--text-main)}.page-container--list-chrome .list-toolbar .btn-secondary,.page-container--list-chrome .list-toolbar .btn-primary{border-radius:10px;height:40px;padding:0 16px;font-size:13.5px;font-weight:600}.page-container--list-chrome .list-toolbar .btn-primary{padding:0 18px;box-shadow:0 1px 2px #1018281a}.page-container--list-chrome .list-toolbar .btn-icon-only{justify-content:center;gap:0;width:40px;min-width:40px;padding:0}.page-container--list-chrome .table-container{background:0 0;border:none;border-radius:0;margin-top:0;padding:0 0 8px;overflow:visible}.page-container--list-chrome .data-table thead th{letter-spacing:.05em;color:#6b7280;text-transform:uppercase;box-shadow:none;top:calc(var(--sticky-list-head-top,0px) - 1px);z-index:20;background:#f7f8fa;border-bottom:none;padding:11px 8px;font-size:11px;font-weight:600}.page-container--list-chrome.page-container:has(.page-sticky-chrome) .data-table thead th{letter-spacing:.05em;color:#6b7280;text-transform:uppercase;box-shadow:none;top:calc(var(--sticky-list-head-top,0px) - 1px);z-index:20;background:#f7f8fa;border-bottom:none;padding:11px 8px;font-size:11px;font-weight:600}.dark .page-container--list-chrome .data-table thead th{color:var(--text-muted);background:var(--table-head-bg);background-clip:padding-box}.dark .page-container--list-chrome.page-container:has(.page-sticky-chrome) .data-table thead th{color:var(--text-muted);background:var(--table-head-bg);background-clip:padding-box}.import-preview-scroll{max-height:320px;overflow:auto}.table-container.import-preview-scroll{flex:none;max-height:320px;overflow:auto}.import-preview-table thead th,.page-container--list-chrome .import-preview-table thead th{background:var(--table-head-bg);box-shadow:inset 0 -1px 0 var(--border);background-clip:padding-box;z-index:2!important;position:sticky!important;top:0!important}.page-container:has(.page-sticky-chrome) .import-preview-table thead th{background:var(--table-head-bg);box-shadow:inset 0 -1px 0 var(--border);background-clip:padding-box;z-index:2!important;position:sticky!important;top:0!important}.page-container--list-chrome .data-table td{padding:14px 8px}.page-container--list-chrome .data-table thead th:first-child,.page-container--list-chrome .data-table tbody td:first-child{padding-left:20px}.page-container--list-chrome .data-table thead th:last-child,.page-container--list-chrome .data-table tbody td:last-child{padding-right:20px}.page-container--list-chrome .invoice-expand-cell{vertical-align:top;background:#f7f8fa;padding:12px 20px 16px!important}.dark .page-container--list-chrome .invoice-expand-cell{background:var(--table-head-bg)}:is(.page-container--list-chrome .invoice-nested-table thead th,.page-container:has(.page-sticky-chrome) .invoice-nested-table thead th){z-index:auto;box-shadow:none;background:0 0;padding:10px 12px;position:static;top:auto}.page-container--list-chrome .invoice-nested-table td{padding:16px 12px}.page-container--list-chrome .invoice-nested-table thead th:first-child,.page-container--list-chrome .invoice-nested-table tbody td:first-child{padding-left:12px}.page-container--list-chrome .invoice-nested-table thead th:last-child,.page-container--list-chrome .invoice-nested-table tbody td:last-child{padding-right:12px}.page-container--list-chrome .data-table .td-expand{text-align:center;width:44px;color:var(--text-muted)}.page-container--list-chrome .data-table tbody tr:hover{background:#fafafc}.dark .page-container--list-chrome .data-table tbody tr:hover{background:var(--primary-light)}.main-area>.tabs-header{background:#fff;border-bottom:1px solid #edeef2;gap:0;padding:6px 20px;overflow:visible}.dark .main-area>.tabs-header{border-bottom-color:var(--border);background:var(--sidebar-bg)}.app-tab-track{scrollbar-width:none;background:#f1f2f6;border-radius:12px;align-items:center;gap:4px;width:max-content;max-width:100%;padding:5px;display:inline-flex;overflow-x:auto}.app-tab-track::-webkit-scrollbar{display:none}.dark .app-tab-track{background:#00000047}.app-tab-track .tab,.app-tab-track .tab:hover,.app-tab-track .tab.active{color:#667085;white-space:nowrap;box-sizing:border-box;background:0 0;border:none;border-radius:9px;flex:0 0 150px;width:150px;min-width:150px;max-width:150px;min-height:42px;margin-bottom:0;padding:10px 14px 10px 16px;font-size:14px;font-weight:500}.app-tab-track .tab:hover{color:var(--text-main);background:#ffffffa6}.dark .app-tab-track .tab{color:var(--text-muted)}.dark .app-tab-track .tab:hover{background:#ffffff0f}.app-tab-track .tab.active{color:var(--primary);background:#fff;font-weight:600;box-shadow:0 1px 2px #1018280f}.dark .app-tab-track .tab.active{background:var(--input-bg);box-shadow:0 1px 2px #00000040}.app-tab-track .tab>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.app-tab-track .tab-close{opacity:.55;width:18px;height:18px;color:inherit;border-radius:999px;flex-shrink:0}.page-header{justify-content:space-between;align-items:flex-start;display:flex}.page-title{color:var(--text-main);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);font-size:.9rem}.btn-primary{background-color:var(--primary);color:var(--bg-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn-danger{background-color:var(--danger);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.btn-danger:hover{background-color:#b91c1c;transform:translateY(-1px)}.filter-bar{background:var(--sidebar-bg);border-radius:var(--radius-md);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem;display:flex}.search-input-wrapper{align-items:center;width:320px;display:flex;position:relative}.search-icon{color:var(--text-muted);position:absolute;left:1rem}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text-main);transition:var(--transition);padding:.6rem 1rem .6rem 2.5rem;font-family:inherit;font-size:.9rem}.search-input:focus{border-color:var(--primary);outline:none}.filter-actions{gap:.75rem;display:flex}.filter-btn{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;padding:.6rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;display:flex}input.filter-btn{width:auto;min-width:10rem}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--input-bg))}.filter-btn-icon{padding:.6rem .75rem}.check-filter{position:relative}.check-panel{z-index:40;background:var(--sidebar-bg);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:220px;max-width:320px;padding:.5rem;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000001f}.check-panel-right{left:auto;right:0}.check-panel-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text-main);margin-bottom:.35rem;padding:.45rem .65rem;font-family:inherit;font-size:.85rem}.check-panel-search:focus{border-color:var(--primary);outline:none}.check-panel-list{flex-direction:column;gap:.15rem;max-height:240px;display:flex;overflow-y:auto}.check-panel-item{border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;align-items:center;gap:.5rem;padding:.35rem .4rem;font-size:.85rem;display:flex}.check-panel-item:hover{background:#0000000a}.dark .check-panel-item:hover{background:#ffffff0f}.check-panel-item input{accent-color:var(--primary);cursor:pointer}.date-range-panel{min-width:280px;max-width:340px;padding:.75rem}.date-range-clear{width:100%;color:var(--primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.35rem;margin-bottom:.65rem;padding:.25rem;font-family:inherit;font-size:.85rem;display:flex}.date-range-clear:hover{text-decoration:underline}.date-range-option{color:var(--text-main);cursor:pointer;align-items:flex-start;gap:.5rem;margin:.35rem 0;font-size:.85rem;display:flex}.date-range-option input{accent-color:var(--primary);margin-top:.15rem}.date-range-fields{flex-direction:column;gap:.5rem;padding:.25rem 0 .5rem 1.5rem;display:flex}.date-range-hingga{cursor:pointer;align-items:center;gap:.45rem;font-size:.85rem;display:flex}.date-range-hingga input{accent-color:var(--primary)}.date-range-duration{gap:.5rem;padding:.25rem 0 .5rem 1.5rem;display:flex}.date-range-amount,.date-range-unit{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);padding:.45rem .55rem;font-family:inherit;font-size:.85rem}.date-range-amount{width:4.5rem}.date-range-unit{flex:1}.date-range-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;display:flex}.check-panel-empty{color:var(--text-muted);text-align:center;padding:.5rem;font-size:.8rem}.check-panel-divider{border-top:1px solid var(--border);margin:.35rem 0}.th-checkbox,.td-checkbox{text-align:center;cursor:default;width:40px;min-width:40px}.th-checkbox input,.td-checkbox input{accent-color:var(--primary);cursor:pointer}.table-container{background:var(--sidebar-bg);border:1px solid var(--border);border-radius:var(--radius-md);flex:1;overflow:visible}.data-table{border-collapse:separate;border-spacing:0;text-align:left;font-variant-numeric:tabular-nums;width:100%}.data-table-interactive{table-layout:fixed}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--table-head-bg);padding:1rem;font-size:.75rem;font-weight:600}.dark .data-table th{background:var(--table-head-bg)}.page-container:has(.page-sticky-chrome) .data-table thead th{top:calc(var(--sticky-list-head-top,0px) - 1px);z-index:15;background:var(--table-head-bg);box-shadow:inset 0 -1px 0 var(--border), 0 2px 4px #1e24330f;background-clip:padding-box;position:sticky}:is(.page-container:has(.page-sticky-chrome) .invoice-nested-table thead th,.page-container:has(.page-sticky-chrome) .rincian-nested-table thead th){z-index:auto;box-shadow:none;background:0 0;position:static;top:auto}.th-interactive{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.th-interactive:not(.th-fixed){cursor:grab}.th-interactive:not(.th-fixed):active{cursor:grabbing}.th-label{align-items:center;gap:.25rem;padding-right:.5rem;display:flex}.th-resize-handle{cursor:col-resize;z-index:2;width:6px;height:100%;position:absolute;top:0;right:0}.th-resize-handle:hover,.th-resize-handle:active{background:var(--primary);opacity:.35}.data-table td{border-bottom:1px solid var(--border);color:var(--text-main);padding:1rem;font-size:.9rem}.data-table tbody tr.row-open{cursor:pointer}.data-table tbody tr.row-open:hover td{background:#4f46e50d}.dark .data-table tbody tr.row-open:hover td{background:#ffffff0a}.table-empty{text-align:center;font-style:italic;color:var(--text-muted)!important;padding:3rem!important}.text-right{text-align:right}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0006;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-color);border-radius:var(--radius-lg);border:1px solid var(--border);flex-direction:column;width:90%;max-width:800px;max-height:90vh;animation:.3s slideUp;display:flex;box-shadow:0 10px 40px #0003}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-title{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.modal-close:hover{color:#ef4444;background:#ff00001a}.modal-body{padding:1.5rem;overflow-y:auto}.order-form{flex-direction:column;gap:2rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.form-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-main);font-size:.85rem;font-weight:600}.form-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text-main);transition:var(--transition);padding:.75rem 1rem;font-family:inherit;font-size:.9rem}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #4f46e526}.dark .form-input:focus{box-shadow:0 0 0 2px #a5b4fc26}.input-error{border-color:#ef4444}.error-text{color:#ef4444;margin-top:.25rem;font-size:.75rem}.form-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:1rem;padding-top:1rem;display:flex}.btn-secondary{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;transition:var(--transition);background:0 0;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600}.btn-secondary:hover{background:var(--sidebar-bg)}.calculator-display{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;min-height:56px;color:var(--text-main);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin-bottom:1rem;padding:.75rem 1rem;font-size:1.5rem;font-weight:600;display:block;overflow:hidden}.calculator-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.calculator-key{min-height:44px;padding:.6rem}.calculator-apply{width:100%;margin-top:.75rem}.dp-wrapper{width:100%;position:relative}.input-wrapper{cursor:text;width:100%;position:relative}.input-wrapper .form-input{padding-right:2.5rem}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.dp-popover{background:var(--bg-color);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:100;transform-origin:top;width:320px;padding:1.5rem;animation:.3s cubic-bezier(.16,1,.3,1) popoverFadeIn;position:absolute;top:calc(100% + .5rem);left:0;box-shadow:0 15px 35px #00000040}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-10px)scaleY(.95)}to{opacity:1;transform:translateY(0)scaleY(1)}}.dp-header{justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.dp-select-wrapper{background:var(--sidebar-bg);border-radius:20px;align-items:center;padding:.25rem 1rem;display:flex;position:relative}.dp-select{appearance:none;color:var(--text-main);cursor:pointer;background:0 0;border:none;outline:none;padding-right:1.5rem;font-size:.9rem;font-weight:600}.dp-select-icon{pointer-events:none;color:var(--text-muted);position:absolute;right:.75rem}.dp-body{border-top:1px solid var(--border);padding-top:1rem}.dp-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.dp-weekday{color:var(--text-muted);padding-bottom:.5rem;font-size:.7rem;font-weight:700}.dp-day{width:32px;height:32px;color:var(--text-main);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin:auto;font-size:.85rem;font-weight:500;transition:background-color .2s;display:flex}.dp-day:hover:not(.dp-day-muted){background-color:var(--sidebar-bg)}.dp-day-muted{color:var(--text-muted);opacity:.4;cursor:default}.dp-day-selected{font-weight:700;background-color:var(--primary)!important;color:var(--bg-color)!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.toast-container{z-index:10000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--primary);color:var(--bg-color);border-radius:4px;min-width:300px;padding:12px 16px;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInRight;box-shadow:0 4px 12px #00000026}.toast-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.toast-title{font-size:.95rem;font-weight:600}.toast-close{color:inherit;opacity:.8;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.toast-close:hover{opacity:1}.toast-body{opacity:.9;font-size:.85rem;line-height:1.4}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.print-only{display:none}@media print{@page{size:A4;margin:10mm}body{color:#000;background:#fff;margin:0;padding:0}#root,.modal-overlay{display:none!important}.print-only{z-index:99999;background:#fff;width:100%;margin:0;padding:0;position:absolute;top:0;left:0;display:block!important}.print-page{page-break-after:always;break-after:page;box-sizing:border-box;background:#fff;position:relative}.print-page:last-child{page-break-after:auto;break-after:auto}.print-table th,.print-table td{color:#000;border:none;border-bottom:1px solid #e5e7eb}.print-table th{border-top:2px solid #000;border-bottom:2px solid #000;font-weight:700}}.laporan-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;padding:1rem;display:grid}.laporan-card{border:1px solid var(--border-color,#e5e7eb);background:var(--bg-card,#fff);cursor:pointer;text-align:left;border-radius:.5rem;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem;transition:box-shadow .15s,border-color .15s;display:flex}.laporan-card:hover{border-color:var(--primary-color,#4f46e5);box-shadow:0 2px 8px #0000000f}.laporan-card__icon{color:var(--primary-color,#4f46e5)}.laporan-card__label{font-size:.95rem;font-weight:600}.laporan-card__desc{color:var(--text-muted,#6b7280);font-size:.8rem}.akses-grup-menu-section{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.6rem;overflow:hidden}.akses-grup-menu-section:last-child{margin-bottom:0}.akses-grup-menu-section__header{background:var(--bg-main);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.akses-grup-menu-section__header-icon{color:var(--text-muted)}.akses-grup-menu-section__header-label{color:var(--text-main);text-transform:uppercase;letter-spacing:.02em;font-size:.82rem;font-weight:600}.akses-grup-menu-section__toggle-all{color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin-left:auto;padding:.2rem .4rem;font-size:.78rem;font-weight:500}.akses-grup-menu-section__toggle-all:hover{background:var(--primary-light)}.akses-grup-menu-section__toggle-all:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.akses-grup-menu-section__grid{background:var(--sidebar-bg);grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.1rem;padding:.4rem;display:grid}.akses-grup-menu-item{border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.akses-grup-menu-item:hover{background:var(--bg-main)}.akses-grup-menu-item input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.auth-page{background:var(--bg-color);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:960px;max-width:100%;height:580px;box-shadow:var(--shadow-soft);flex-shrink:0;display:flex;position:relative;overflow:hidden}.auth-forms{width:100%;height:100%;display:flex}.auth-panel{box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:center;gap:1rem;width:50%;height:100%;padding:2.25rem 2.5rem;display:flex;overflow:hidden}.auth-panel-header{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}.auth-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.auth-panel-header h2{color:var(--text-main);font-size:1.45rem;font-weight:700;line-height:1.25}.auth-panel-form{flex-direction:column;gap:.85rem;min-height:0;display:flex;overflow:auto}.auth-panel-lead{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.45}.auth-form-error{border-radius:var(--radius-md);color:#b91c1c;background:#ef44441f;border:1px solid #ef444459;padding:.65rem .75rem;font-size:.85rem;line-height:1.4}.auth-otp-input{letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.25rem}.auth-card-single{width:min(480px,100%);height:auto;min-height:420px}.auth-panel-full{width:100%;height:auto;min-height:420px}.auth-field{align-items:center;display:flex;position:relative}.auth-field-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;left:.85rem}.auth-field .form-input{padding-left:2.6rem}.auth-field.has-toggle .form-input{padding-right:2.6rem}.auth-toggle-pw{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;display:flex;position:absolute;right:.65rem}.auth-toggle-pw:hover{color:var(--text-main);background:var(--primary-light)}.auth-hint{color:var(--text-muted);margin-top:-.25rem;font-size:.75rem}.auth-strength{flex-direction:column;gap:.35rem;display:flex}.auth-strength-bars{gap:.35rem;display:flex}.auth-strength-bars span{background:var(--border);border-radius:2px;flex:1;height:4px;transition:background .25s}.auth-strength-bars[data-level="1"] span:first-child{background:#ef4444}.auth-strength-bars[data-level="2"] span:nth-child(-n+2){background:#f59e0b}.auth-strength-bars[data-level="3"] span:nth-child(-n+3){background:#84cc16}.auth-strength-bars[data-level="4"] span{background:#10b981}.auth-strength-label{color:var(--text-muted);font-size:.75rem}.auth-submit{flex-shrink:0;justify-content:center;width:100%;margin-top:.15rem;padding:.75rem 1.25rem}.auth-forgot-link{color:#4f46e5;cursor:pointer;text-align:right;background:0 0;border:none;width:100%;margin:-.25rem 0 .65rem;padding:0;font-size:.85rem;font-weight:600;display:block}.auth-forgot-link:hover{text-decoration:underline}.auth-divider{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-google{flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.auth-overlay{z-index:5;color:#fff;box-sizing:border-box;will-change:transform;background:linear-gradient(145deg,#4f46e5 0%,#6366f1 45%,#818cf8 100%);flex-direction:column;width:50%;height:100%;padding:1.75rem 2.25rem 2rem;transition:transform .85s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;top:0;right:0;transform:translate(0,0)}.auth-card.show-signup .auth-overlay{transform:translate(-100%)}.auth-overlay-brand{letter-spacing:-.02em;color:#fff;text-shadow:0 1px 12px #0000002e;flex-shrink:0;font-size:1.35rem;font-weight:700;line-height:1.2}.auth-overlay-body{flex:1;min-height:0;margin:.75rem 0;position:relative}.auth-overlay-view{opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;justify-content:center;gap:.75rem;transition:opacity .45s cubic-bezier(.22,1,.36,1) .12s,transform .45s cubic-bezier(.22,1,.36,1) .12s,visibility .45s;display:flex;position:absolute;inset:0;transform:translateY(6px)}.auth-overlay-view.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.auth-overlay-icon{background:#ffffff26;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.25rem;transition:background .28s,transform .28s;display:flex}.auth-overlay .auth-eyebrow{color:#ffffffbf}.auth-overlay h2{color:#fff;font-size:1.55rem;font-weight:700;line-height:1.25}.auth-overlay p{color:#ffffffd9;max-width:28ch;font-size:.9rem;line-height:1.55}.auth-overlay-btn{border-radius:var(--radius-md);color:#fff;cursor:pointer;background:0 0;border:1.5px solid #ffffffd9;align-items:center;gap:.5rem;width:fit-content;margin-top:.85rem;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .28s,transform .28s,border-color .28s;display:inline-flex}.auth-overlay-btn:hover{background:#ffffff24;border-color:#fff;transform:translateY(-1px)}.auth-overlay-footer{color:#ffffffa6;flex-shrink:0;font-size:.75rem}.auth-card-wait{width:min(800px,100%);height:580px}.auth-panel-wait{gap:.85rem;width:50%;overflow-y:auto}.auth-overlay-wait{transition:none;transform:none!important}.wait-icon{border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.wait-icon-pending{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent)}.wait-icon-success{color:#059669;background:#10b98124}.wait-icon-danger{color:#dc2626;background:#ef444424}.wait-user{border-radius:var(--radius-md);background:var(--bg-color);border:1px solid var(--border);flex-direction:column;gap:.2rem;padding:.85rem 1rem;display:flex}.wait-user-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.wait-user strong{color:var(--text-main);font-size:.95rem}.wait-user-email{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.wait-steps{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.wait-step{color:var(--text-muted);align-items:center;gap:.65rem;font-size:.84rem;display:flex}.wait-step-dot{background:var(--border);width:10px;height:10px;box-shadow:inset 0 0 0 2px var(--surface);border-radius:50%;flex-shrink:0}.wait-step.is-done{color:var(--text-main)}.wait-step.is-done .wait-step-dot{background:var(--primary)}.wait-step.is-current{color:var(--text-main);font-weight:600}.wait-step.is-current .wait-step-dot{background:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent);animation:2s ease-in-out infinite wait-pulse}@keyframes wait-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.15)}}.wait-poll-hint{color:var(--text-muted);font-size:.75rem}.wait-actions{flex-direction:column;gap:.55rem;margin-top:.15rem;display:flex}.wait-btn,.wait-btn-primary{justify-content:center;width:100%}.wait-spin{animation:.8s linear infinite wait-spin}@keyframes wait-spin{to{transform:rotate(360deg)}}@media (width<=768px){.auth-page{justify-content:flex-start;align-items:stretch;padding:1.5rem 1rem 1rem;overflow-y:auto}.auth-card{flex-direction:column;width:100%;max-width:440px;height:auto;min-height:0;margin:0 auto}.auth-forms{flex-direction:column;height:auto}.auth-panel{width:100%;height:auto;padding:1.75rem 1.5rem}.auth-panel-signup,.auth-card.show-signup .auth-panel-login{display:none}.auth-card.show-signup .auth-panel-signup{display:flex}.auth-overlay{order:-1;width:100%;height:auto;padding:1.35rem 1.5rem 1.5rem;transition:none;position:relative;right:auto;transform:none!important}.auth-card.show-signup .auth-overlay{order:1;transform:none!important}.auth-overlay-body{flex:none;min-height:200px;position:relative}.auth-overlay h2{font-size:1.25rem}.auth-overlay p{max-width:none}.auth-card-wait{height:auto;min-height:0}.auth-panel-wait{width:100%}.auth-overlay-wait{order:-1}}@media (prefers-reduced-motion:reduce){.auth-overlay,.auth-overlay-view{transition:none}.wait-step.is-current .wait-step-dot,.wait-spin{animation:none}}
