:root{--navy:#161f2f;--navy-2:#1d2739;--navy-active:#2563eb;--navy-active-hover:#1d4ed8;--orange:#f97316;--orange-dark:#ea580c;--orange-bg:#ffedd5;--teal:#14b8a6;--teal-dark:#0d9488;--teal-bg:#ccfbf1;--green:#16a34a;--green-dark:#15803d;--green-bg:#dcfce7;--amber:#d97706;--amber-text:#b45309;--amber-bg:#fef3c7;--red:#dc2626;--red-text:#b91c1c;--red-bg:#fee2e2;--blue:#2563eb;--blue-dark:#1d4ed8;--blue-bg:#dbeafe;--purple:#7c3aed;--purple-text:#6d28d9;--purple-bg:#ede9fe;--gray-bg:#f1f3f5;--gray-text:#495057;--bg:#f3f5f8;--card:#fff;--border:#e5e9ef;--text:#1f2937;--text-muted:#6b7280;--text-light:#9aa4b2;--sidebar-text:#a3aec1;--sidebar-text-active:#fff;--row-hover:#f8fafc;--table-head-bg:#f8fafc;--table-head-text:#64748b;--table-border:#eef1f6;--modal-overlay:#0f21388c;--avatar-bg:#ddd6fe;--radius:10px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018280a}[data-theme=sepia]{--bg:#f4ecd8;--card:#fdf6e3;--border:#e2d3ad;--text:#3b2f1e;--text-muted:#7a6a4f;--text-light:#a3906b;--row-hover:#efe4c8;--modal-overlay:#3b2f1e8c;--shadow:0 1px 2px #3b2f1e14, 0 1px 3px #3b2f1e0f;--table-head-bg:#f3e9cf;--table-head-text:#7a6a4f;--table-border:#e7dabb}[data-theme=dark]{--bg:#0f1219;--card:#161a24;--border:#262b38;--text:#e5e7eb;--text-muted:#9aa4b2;--text-light:#6b7280;--row-hover:#ffffff08;--modal-overlay:#000000a6;--shadow:0 1px 2px #0000004d, 0 1px 3px #0000003d;--table-head-bg:#1b2030;--table-head-text:#9aa4b2;--table-border:#262b38;--orange:#fb923c;--orange-dark:#f97316;--orange-bg:#f9731629;--teal:#2dd4bf;--teal-dark:#5eead4;--teal-bg:#14b8a629;--green:#22c55e;--green-dark:#4ade80;--green-bg:#16a34a29;--amber:#f59e0b;--amber-text:#fbbf24;--amber-bg:#d977062e;--red:#ef4444;--red-text:#f87171;--red-bg:#dc262629;--blue:#3b82f6;--blue-dark:#93c5fd;--blue-bg:#2563eb2e;--purple:#a78bfa;--purple-text:#c4b5fd;--purple-bg:#7c3aed2e;--gray-bg:#ffffff14;--gray-text:#cbd5e1;--avatar-bg:#c4b5fd40}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.app-shell{min-height:100vh;display:flex}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.page-content{flex:1;padding:24px 28px 48px}.sidebar{background:var(--navy);width:250px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{background:var(--card);border-bottom:1px solid var(--border);box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;height:72px;padding:10px 18px;display:flex;position:relative;overflow:hidden}.sidebar-brand-logo-full{object-fit:contain;object-position:center;width:100%;height:100%}.sidebar-brand-lockup{justify-content:flex-start;align-items:center;gap:11px;width:100%;min-width:0;display:flex}.sidebar-brand-mark{flex-shrink:0;width:46px;height:46px}.sidebar-brand-text-only{color:var(--text);letter-spacing:.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;font-weight:800;line-height:1.2;display:-webkit-box;overflow:hidden}.topbar-brand-lockup{align-items:center;gap:8px;min-width:0;display:inline-flex}.topbar-brand-mark{flex-shrink:0;width:30px;height:30px}.sidebar-brand-icon{background:var(--orange);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;display:flex}.sidebar-brand-text .name{color:#fff;font-size:15px;font-weight:700;line-height:1.2}.sidebar-brand-text .sub{color:var(--orange);letter-spacing:.08em;font-size:10.5px;font-weight:600}.sidebar-nav{flex:1;padding:14px 12px 24px;overflow-y:auto}.sidebar,.sidebar-nav{scrollbar-width:thin;scrollbar-color:var(--sidebar-scroll,#ffffff2e) transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--sidebar-scroll,#ffffff29);border-radius:999px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--sidebar-scroll,#ffffff29);border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--sidebar-scroll-hover,#ffffff47)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--sidebar-scroll-hover,#ffffff47)}.data-table-wrap{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.data-table-wrap::-webkit-scrollbar{height:8px}.data-table-wrap::-webkit-scrollbar-track{background:0 0}.data-table-wrap::-webkit-scrollbar-thumb{background:#d4dae3;border-radius:999px}.data-table-wrap::-webkit-scrollbar-thumb:hover{background:#b9c2ce}.nav-item{color:var(--sidebar-text);cursor:pointer;border-radius:9px;align-items:center;gap:13px;margin-bottom:4px;padding:11px 14px;font-size:14.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--sidebar-hover-bg,#ffffff0f);color:var(--sidebar-hover-text,#fff)}.nav-item.active{background:var(--navy-active);color:var(--sidebar-text-active,#fff);font-weight:600}.nav-item.active:hover{background:var(--navy-active-hover)}.nav-item.open{color:var(--sidebar-hover-text,#fff);background:var(--sidebar-hover-bg,#ffffff0f)}.nav-item .icon{flex-shrink:0;justify-content:center;align-items:center;width:19px;display:inline-flex}.nav-item .chevron{opacity:.65;flex-shrink:0;margin-left:auto;font-size:10px}.nav-item>span:not(.icon):not(.chevron){white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-group-items{border-left:1px solid var(--sidebar-line,#ffffff14);margin:2px 0 8px 14px;padding-left:14px}.nav-subitem{color:var(--sidebar-text);border-radius:8px;align-items:center;gap:9px;margin-bottom:2px;padding:9px 10px;font-size:13px;transition:background .15s,color .15s;display:flex}.nav-subitem>span:not(.icon){white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-subitem:hover{background:var(--sidebar-hover-bg,#ffffff0d);color:var(--sidebar-hover-text,#fff)}.nav-subitem.active{background:var(--navy-active);color:var(--sidebar-text-active,#fff);font-weight:600}.nav-subitem .icon{opacity:.9;flex-shrink:0;justify-content:center;align-items:center;width:16px;display:inline-flex}.topbar{background:var(--card);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:14px 28px;display:flex}.topbar-menu-btn{color:var(--text-muted);background:0 0;border:none;padding:6px;font-size:18px}.topbar-search-wrap{flex:1;max-width:460px;position:relative}.topbar-search{background:var(--bg);border:1px solid var(--border);color:var(--text-light);border-radius:8px;align-items:center;gap:8px;padding:9px 14px;font-size:14px;display:flex}.topbar-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:14px}.topbar-search input::placeholder{color:var(--text-light)}.search-dropdown{width:100%;max-height:360px;top:calc(100% + 8px);left:0;right:auto;overflow-y:auto}.search-result-list{margin:0;padding:0;list-style:none}.search-result-item{text-align:left;width:100%;color:var(--text);border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:baseline;gap:8px;padding:10px 16px;font-size:13.5px;display:flex}.search-result-item:hover{background:var(--bg)}.search-result-item:last-child{border-bottom:none}.search-result-type{color:var(--teal-dark);background:var(--teal-bg);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700}.search-result-label{color:var(--text);font-weight:600}.search-result-sub{color:var(--text-muted);margin-left:auto;font-size:12px}.topbar-right{align-items:center;gap:18px;margin-left:auto;display:flex}.topbar-date{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;font-weight:500;display:flex}.topbar-bell{color:var(--text-muted);font-size:18px;position:relative}.topbar-bell .badge{background:var(--amber);color:#fff;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:700;position:absolute;top:-6px;right:-8px}.topbar-user{align-items:center;gap:10px;display:flex}.topbar-avatar{background:var(--avatar-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex;overflow:hidden}.topbar-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-row{align-items:center;gap:14px;display:flex}.profile-avatar-preview{background:var(--avatar-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;display:flex;overflow:hidden}.profile-avatar-preview img{object-fit:cover;width:100%;height:100%}.topbar-user-name{font-size:14px;font-weight:700;line-height:1.2}.topbar-user-role{color:var(--text-muted);font-size:12px}.topbar-dropdown-wrap{position:relative}.topbar-bell,.topbar-user{cursor:pointer;background:0 0;border:none;font-family:inherit}.topbar-dropdown{background:var(--card);border:1px solid var(--border);z-index:40;border-radius:10px;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 12px 28px #00000024}.topbar-dropdown-header{color:var(--text);border-bottom:1px solid var(--border);padding:12px 16px;font-size:13.5px;font-weight:700}.topbar-dropdown-subtext{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:400}.topbar-dropdown-empty{color:var(--text-muted);text-align:center;padding:18px 16px;font-size:13px}.notif-dropdown{width:300px}.notif-list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.notif-list li{border-bottom:1px solid var(--border);padding:10px 16px}.notif-list li:last-child{border-bottom:none}.notif-action{color:var(--text);font-size:13px;font-weight:600}.notif-details{color:var(--text-muted);margin-top:2px;font-size:12px}.notif-time{color:var(--text-muted);margin-top:4px;font-size:11px}.user-dropdown{width:220px}.topbar-dropdown-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:11px 16px;font-size:13.5px;display:block}.topbar-dropdown-item:hover{background:var(--bg)}.topbar-dropdown-item.danger{color:var(--red)}.logout-btn{border:1px solid var(--border);background:var(--card);color:var(--text-muted);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.logout-btn:hover{color:var(--red);border-color:var(--red)}.theme-submenu{width:180px}.theme-option{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px;display:flex}.theme-option:hover{background:var(--bg)}.theme-option.active{color:var(--blue);font-weight:600}.theme-option-check{color:var(--blue);font-size:12px}.theme-back-btn{text-align:left;width:100%;color:var(--text-muted);border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:11px 16px;font-size:12.5px;font-weight:600;display:flex}.theme-back-btn:hover{color:var(--text)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.page-header-title-row{align-items:flex-start;display:flex}.page-header-back{display:none}.page-header h1{margin:0 0 6px;font-size:26px}.breadcrumb{color:var(--text-light);font-size:13px}.breadcrumb .current{color:var(--text);font-weight:600}.breadcrumb .crumb-link{color:var(--text-light);text-decoration:none}.breadcrumb .crumb-link:hover{color:var(--primary,#2563eb);text-decoration:underline}.page-header-actions{gap:10px;display:flex}.export-btn-group{display:inline-flex;position:relative}.export-dropdown{min-width:160px;top:calc(100% + 8px)}.filter-toggle-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.filter-toggle-btn{position:relative}.filter-toggle-btn.has-filters:after{content:"";background:var(--orange,#f97316);border:1.5px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:5px}.page-header-text-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:4px 2px;font-size:14px;font-weight:700}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--bg)}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark)}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.btn-danger:hover{background:var(--red-text)}.stat-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px;display:grid}@media (width<=1100px){.stat-grid{gap:10px}.stat-card{padding:12px 14px}.stat-card .value{font-size:20px}}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.stat-card .label{color:var(--text-muted);margin-bottom:8px;font-size:13px}.stat-card .value{color:var(--text);font-size:26px;font-weight:700}.stat-card .value.green{color:var(--green)}.stat-card .value.amber{color:var(--amber)}.stat-card .value.teal{color:var(--teal-dark)}.stat-card .value.red{color:var(--red)}.filter-bar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;padding:18px 20px;display:flex}.filter-field{flex-direction:column;flex:1;gap:6px;min-width:170px;display:flex}.filter-field label{color:var(--text-muted);font-size:12.5px;font-weight:600}.filter-field select,.filter-field input{border:1px solid var(--border);color:var(--text);background:var(--card);border-radius:8px;padding:9px 12px;font-size:13.5px}.filter-apply-btn{background:var(--blue);color:#fff;white-space:nowrap;border:none;border-radius:8px;padding:10px 22px;font-size:13.5px;font-weight:700}.filter-apply-btn:hover{background:var(--blue-dark)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.data-table-wrap{overflow-x:auto}table.data-table{border-collapse:collapse;width:100%;font-size:13.5px}table.data-table thead th{text-align:left;text-transform:none;color:var(--table-head-text);border-bottom:1px solid var(--table-border);background:var(--table-head-bg);white-space:nowrap;padding:14px 20px;font-size:12.5px;font-weight:600}.th-label{align-items:center;gap:4px;display:inline-flex}table.data-table thead th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}table.data-table thead th.sortable-th:hover{color:var(--text)}.th-sort-icon{opacity:.35}.th-sort-icon.active{opacity:1;color:var(--blue)}table.data-table tbody td{border-bottom:1px solid var(--table-border);color:var(--text);vertical-align:middle;white-space:nowrap;padding:16px 20px}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr:hover{background:var(--row-hover)}.cell-link{color:var(--blue);white-space:nowrap;font-weight:600}.cell-sub{color:var(--text-light);margin-top:2px;font-size:12.5px}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.icon-btn{border:1px solid var(--border);background:var(--card);width:30px;height:30px;color:var(--text-muted);border-radius:7px;justify-content:center;align-items:center;margin-right:6px;font-size:13px;display:inline-flex}.icon-btn:hover{background:var(--bg);color:var(--text)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn.danger:hover{background:var(--red-bg);color:var(--red);border-color:var(--red)}.icon-btn.converted{color:var(--green,#16a34a);border-color:var(--green,#16a34a)}.row-actions{white-space:nowrap;align-items:center;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:5px 13px;font-size:12px;font-weight:600;line-height:1.35;display:inline-block}.badge-green{background:var(--green-bg);color:var(--green-dark)}.badge-amber{background:var(--amber-bg);color:var(--amber-text)}.badge-red{background:var(--red-bg);color:var(--red-text)}.badge-blue{background:var(--blue-bg);color:var(--blue-dark)}.badge-gray{background:var(--gray-bg);color:var(--gray-text)}.badge-teal{background:var(--teal-bg);color:var(--teal-dark)}.badge-purple{background:var(--purple-bg);color:var(--purple-text)}.list-note{border:1px solid var(--border);border-left:3px solid var(--blue);background:var(--card);color:var(--text-muted);border-radius:9px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:11px 14px;font-size:13px;line-height:1.5;display:flex}.list-note .app-icon{color:var(--blue);flex-shrink:0;margin-top:1px}.table-toolbar{border-bottom:1px solid var(--table-border);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.table-search{flex:1;align-items:center;min-width:200px;max-width:420px;display:flex;position:relative}.table-search .app-icon{color:var(--text-light);pointer-events:none;position:absolute;left:12px}.table-search input{border:1px solid var(--border);background:var(--card);width:100%;height:38px;color:var(--text);border-radius:9px;outline:none;padding:0 12px 0 36px;font-size:13.5px}.table-search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.table-toolbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.table-toolbar-btn{border:1px solid var(--border);background:var(--card);width:38px;height:38px;color:var(--text-muted);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.table-toolbar-btn:hover{background:var(--bg);color:var(--text)}.table-toolbar-btn.active{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.table-check-col{width:46px;padding-right:0!important}.table-check{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;display:block}table.data-table tbody tr.row-selected{background:var(--blue-bg)}.bulk-bar{border-bottom:1px solid var(--table-border);background:var(--blue-bg);color:var(--text);align-items:center;gap:14px;padding:11px 16px;font-size:13.5px;font-weight:600;display:flex}.bulk-bar .bulk-spacer{margin-left:auto}.cell-user{white-space:nowrap;align-items:center;gap:9px;display:inline-flex}.cell-avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex}.table-footer{color:var(--text-muted);border-top:1px solid var(--table-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-size:13px;display:flex}.pagination{align-items:center;gap:6px;display:flex}.pagination button{min-width:34px;height:34px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.pagination button:hover:not(:disabled):not(.active){background:var(--bg);color:var(--text)}.pagination button.active{background:var(--blue);border-color:var(--blue);color:#fff}.pagination button:disabled{opacity:.35;cursor:not-allowed}.pagination .pagination-gap{color:var(--text-light);-webkit-user-select:none;user-select:none;padding:0 2px}.login-page{--bg:#f3f5f8;--card:#fff;--border:#e5e9ef;--text:#1f2937;--text-muted:#6b7280;--text-light:#9aa4b2;background:#fff;min-height:100vh}.login-split{min-height:100vh;display:flex}.login-panel-left{background:#fff;flex:480px;justify-content:center;align-items:center;max-width:560px;padding:40px;display:flex}.login-panel-right{background-color:var(--navy);background-position:50%;background-size:cover;flex:1;align-items:flex-end;display:flex;position:relative;overflow:hidden}.login-panel-right-overlay{background:linear-gradient(#12151f26 0%,#12151f59 55%,#12151fd9 100%);position:absolute;inset:0}.login-right-content{z-index:1;color:#fff;max-width:480px;padding:60px;position:relative}.login-right-badge{background:#ffffff26;border:1px solid #ffffff4d;border-radius:999px;margin-bottom:18px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-block}.login-right-content h2{margin:0 0 12px;font-size:30px;line-height:1.25}.login-right-content p{color:#fffc;margin:0;font-size:14.5px;line-height:1.6}@media (width<=860px){.login-panel-right{display:none}.login-panel-left{max-width:none}}.login-card{width:100%;max-width:380px}.login-welcome{color:var(--navy);text-align:left;margin:0 0 28px;font-size:24px;font-weight:700}.login-brand{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.login-brand-logo{width:auto;max-width:170px;height:auto}.login-brand-icon{background:var(--orange);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;font-size:26px;display:flex}.login-brand h1{margin:0;font-size:20px}.login-brand .sub{color:var(--orange-dark);letter-spacing:.1em;font-size:11.5px;font-weight:700}.login-form label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.login-form .field{margin-bottom:16px}.login-form input{border:1px solid var(--border);border-radius:8px;width:100%;padding:11px 14px;font-size:14px}.login-form input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2563eb26}.login-form .field.floating{margin-top:10px;margin-bottom:18px;position:relative}.login-form .field.floating label{color:var(--text-muted);z-index:1;background:#fff;margin:0;padding:0 6px;font-size:11px;font-weight:500;position:absolute;top:-8px;left:12px}.login-form .field.floating input{padding-top:12px;padding-bottom:12px}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:42px}.password-toggle-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:6px;font-size:15px;line-height:1;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.login-forgot-row{justify-content:flex-end;margin-bottom:20px;font-size:13px;display:flex}.login-forgot-row span{color:var(--blue);cursor:pointer}.login-remember{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:20px;font-size:13px;display:flex}.login-submit{background:var(--navy);color:#fff;border:none;border-radius:8px;width:100%;padding:12px;font-size:14.5px;font-weight:700}.login-submit:hover{background:#232838}.login-divider{color:var(--text-light);align-items:center;gap:12px;margin:18px 0;font-size:12.5px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.login-signup-btn{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:12px;font-size:14.5px;font-weight:700}.login-signup-btn:hover{background:#f8f9fb}.login-signup-note{color:var(--blue);background:#2563eb14;border-radius:8px;margin-top:12px;padding:8px 12px;font-size:12.5px}.login-agree{color:var(--text-muted);cursor:pointer;align-items:flex-start;gap:8px;margin-top:18px;font-size:12px;display:flex}.login-agree input{width:auto;margin-top:2px}.login-agree-link{color:var(--blue)}.login-error{background:var(--red-bg);color:var(--red);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-notice{color:var(--blue);background:#2563eb14;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-hint{text-align:center;color:var(--text-light);margin-top:20px;font-size:12.5px}.section-title{margin:0 0 14px;font-size:16px;font-weight:700}.two-col{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}@media (width<=1000px){.two-col{grid-template-columns:1fr}}.list-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:11px 0;font-size:13.5px;display:flex}.list-row:last-child{border-bottom:none}a.list-row{color:inherit;text-decoration:none;transition:background .12s}a.list-row:hover{background:var(--blue-bg,#2563eb0d)}a.list-row:hover .cell-link{text-decoration:underline}.report-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=1100px){.report-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.report-grid{grid-template-columns:1fr}}.report-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.report-card .cat{color:var(--teal-dark);background:var(--teal-bg);border-radius:999px;margin-bottom:10px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.report-card h3{margin:0 0 8px;font-size:15px}.report-card p{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.5}.report-card .meta{color:var(--text-light);font-size:12px}.logo-upload-row{border-bottom:1px solid var(--border);align-items:center;gap:18px;margin-bottom:22px;padding-bottom:22px;display:flex}.logo-preview{border:1.5px dashed var(--border);background:var(--bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:84px;height:84px;transition:border-color .15s;display:flex;overflow:hidden}.logo-upload-row:hover .logo-preview{border-color:var(--text-muted)}.logo-preview img{object-fit:contain;width:100%;height:100%}.logo-placeholder{color:var(--text-muted);opacity:.75;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.logo-placeholder span{letter-spacing:.02em;text-transform:uppercase;font-size:10px;font-weight:600}.logo-upload-actions{gap:10px;display:flex}.logo-upload-btn{cursor:pointer}.logo-upload-btn.disabled{opacity:.6;cursor:default;pointer-events:none}.logo-upload-label{color:var(--text-muted);margin-bottom:8px;font-size:12.5px;font-weight:600}.settings-form{grid-template-columns:1fr 1fr;gap:16px;max-width:640px;display:grid}.settings-form .field.full{grid-column:1/-1}.settings-form .field label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.settings-form .field input[readonly]{background:var(--gray-bg);color:var(--text-muted)}.settings-form .field select,.settings-form .field input{border:1px solid var(--border);border-radius:8px;width:100%;padding:10px 12px;font-size:13.5px}.loading-row{text-align:center;color:var(--text-light);justify-content:center;align-items:center;padding:40px;font-size:14px;display:flex}td.loading-row{display:table-cell}.app-loader{color:var(--text-light);display:inline-flex}.app-loader svg{width:28px;height:28px;animation:.8s linear infinite app-spin}.app-loader-sm svg{width:16px;height:16px}@keyframes app-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-loader svg{animation-duration:2.2s}}.modal-overlay{background:var(--modal-overlay);z-index:100;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);border-radius:14px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-header h3{margin:0;font-size:16px}.modal-close{color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px;line-height:1}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{padding:20px 22px 22px}.add-form .field{margin-bottom:14px}.add-form label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.add-form input,.add-form select,.add-form textarea{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:13.5px}.add-form input::placeholder,.add-form textarea::placeholder{color:var(--text-light)}.add-form input:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--card) inset;box-shadow:0 0 0 1000px var(--card) inset;caret-color:var(--text);transition:background-color 9999s ease-out}.add-form input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--card) inset;box-shadow:0 0 0 1000px var(--card) inset;caret-color:var(--text);transition:background-color 9999s ease-out}.add-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--card) inset;box-shadow:0 0 0 1000px var(--card) inset;caret-color:var(--text);transition:background-color 9999s ease-out}.add-form select:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--card) inset;box-shadow:0 0 0 1000px var(--card) inset;caret-color:var(--text);transition:background-color 9999s ease-out}.add-form textarea:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--card) inset;box-shadow:0 0 0 1000px var(--card) inset;caret-color:var(--text);transition:background-color 9999s ease-out}.field-label-row{justify-content:space-between;align-items:center;gap:10px;display:flex!important}.checkbox-field-label{cursor:pointer;align-items:center;gap:8px;color:var(--text)!important;font-weight:500!important;display:flex!important}.checkbox-field-label input[type=checkbox]{width:auto;margin:0}.field-mode-toggle{border:1px solid var(--border);border-radius:999px;flex-shrink:0;display:inline-flex;overflow:hidden}.field-mode-toggle button{background:var(--card);color:var(--text-muted);cursor:pointer;border:none;padding:4px 10px;font-size:11px;font-weight:600}.field-mode-toggle button.active{background:var(--blue);color:#fff}input.field-readonly{background:var(--bg);color:var(--text-muted);cursor:not-allowed}.field-hint{margin-top:4px;font-size:12px;display:block}.field-hint-ok{color:var(--green,#16a34a)}.field-hint-warn{color:var(--amber,#b45309)}.add-form textarea{resize:vertical;min-height:44px;line-height:1.5}.add-form input:focus,.add-form select:focus,.add-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg);outline:none}.combo{position:relative}.combo-control{border:1px solid var(--border);background:var(--card);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.combo-control.open{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.combo-input{flex:1;min-width:0;box-shadow:none!important;border:none!important;padding:10px 0!important}.combo-input:focus{outline:none;box-shadow:none!important}.combo-caret{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.combo-caret.open{transform:rotate(180deg)}.combo-control.combo-pick,.combo-control.combo-pick .combo-input{cursor:pointer}.combo-control.combo-pick .combo-input{caret-color:#0000;-webkit-user-select:none;user-select:none}.combo-menu{background:var(--card);border:1px solid var(--border);z-index:300;transform-origin:top;border-radius:10px;max-height:240px;padding:6px;animation:.12s ease-out combo-pop;overflow-y:auto;box-shadow:0 12px 28px #00000029}.combo-menu.up{transform-origin:bottom}@keyframes combo-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}.combo-option{color:var(--text);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:13.5px;display:flex}.combo-option:hover,.combo-option.active{background:var(--bg)}.combo-option.selected,.combo-option.selected.active{background:var(--blue-bg);color:var(--blue);font-weight:600}.combo-create{color:var(--blue);border-top:1px solid var(--border);border-radius:0 0 6px 6px;margin-top:4px;padding-top:10px;font-weight:600}.combo-empty{color:var(--text-muted);text-align:center;padding:10px;font-size:12.5px}.combo-group{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 4px;font-size:11px;font-weight:700}.combo-group:not(:first-child){border-top:1px solid var(--border);margin-top:4px}.combo-option.disabled{color:var(--text-muted);opacity:.55;cursor:not-allowed}.combo-option.disabled:hover{background:0 0}.combo-control.combo-disabled{background:var(--bg);opacity:.7;cursor:not-allowed}.combo-control.combo-disabled .combo-input{cursor:not-allowed}.field.has-error .combo-control{border-color:var(--red)}.combo.sales-filter-pill{background:0 0;border:none;min-width:170px;padding:0;display:block}.combo.tpl-row-tier{text-transform:none;background:0 0;border:none;flex:none;width:130px;padding:0}.combo.tpl-row-tier .combo-input{text-transform:capitalize;font-size:13px;padding:6px 0!important}.ai-reminder-controls .combo-control{height:42px}.combo-error{color:var(--red);padding:8px 10px 2px;font-size:12px}.add-form-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.add-page-card{padding:28px 32px 24px}.add-page-card .add-form{grid-template-columns:repeat(3,1fr);gap:20px 24px;max-width:1080px;display:grid}.add-page-card .add-form:has(.items-editor){max-width:none}.add-page-card .add-form .field{margin-bottom:0}.add-page-card .field-full{grid-column:1/-1}.add-page-card .add-form-actions{border-top:1px solid var(--border);grid-column:1/-1;margin-top:8px;padding-top:20px}@media (width<=1000px){.add-page-card .add-form{grid-template-columns:1fr 1fr}}@media (width<=700px){.add-page-card{padding:18px}.add-page-card .add-form{grid-template-columns:1fr}}.toast{background:var(--navy);color:#fff;z-index:10001;border-radius:8px;padding:12px 18px;font-size:13.5px;font-weight:600;position:fixed;top:24px;right:24px;box-shadow:0 10px 30px #00000040}.kpi-grid{grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:22px;display:grid}@media (width<=1300px){.kpi-grid{gap:10px}.kpi-card{padding:12px 14px}.kpi-value{font-size:20px}.kpi-label{font-size:12px}}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.kpi-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.kpi-icon{border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.kpi-icon.blue{background:var(--blue-bg);color:var(--blue)}.kpi-icon.green{background:var(--green-bg);color:var(--green-dark)}.kpi-icon.purple{background:var(--purple-bg);color:var(--purple)}.kpi-icon.teal{background:var(--teal-bg);color:var(--teal-dark)}.kpi-icon.orange{background:var(--orange-bg);color:var(--orange-dark)}.kpi-icon.amber{background:var(--amber-bg);color:var(--amber)}.kpi-icon.red{background:var(--red-bg);color:var(--red)}.kpi-trend{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.kpi-trend.up{color:var(--green-dark);background:var(--green-bg)}.kpi-trend.down{color:var(--red);background:var(--red-bg)}.kpi-label{color:var(--text-muted);margin-bottom:6px;font-size:13px}.kpi-value{color:var(--text);font-size:22px;font-weight:700}.kpi-sub{color:var(--text-light);margin-top:4px;font-size:11.5px}.module-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px;display:grid}@media (width<=1300px){.module-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.module-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.module-grid{grid-template-columns:1fr}}.module-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.module-card-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;font-size:14px;font-weight:700;display:flex}.module-card-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.module-card-icon.blue{background:var(--blue-bg);color:var(--blue)}.module-card-icon.green{background:var(--green-bg);color:var(--green-dark)}.module-card-icon.purple{background:var(--purple-bg);color:var(--purple)}.module-card-icon.teal{background:var(--teal-bg);color:var(--teal-dark)}.module-card-icon.orange{background:var(--orange-bg);color:var(--orange-dark)}.module-card-icon.amber{background:var(--amber-bg);color:var(--amber)}.module-card-icon.red{background:var(--red-bg);color:var(--red)}.module-card-links{padding:6px 8px}.module-link{color:var(--text);border-radius:7px;justify-content:space-between;align-items:center;padding:9px 10px;font-size:13px;display:flex}.module-link:hover{background:var(--bg);color:var(--orange-dark)}.module-link .chevron{color:var(--text-light);font-size:12px}.subnav-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.subnav-tab{color:var(--text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:13.5px;font-weight:600}.subnav-tab:hover{color:var(--text)}.subnav-tab.active{color:var(--orange-dark);border-bottom-color:var(--orange)}.summary-tiles{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}@media (width<=900px){.summary-tiles{grid-template-columns:repeat(2,1fr)}}.summary-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.summary-tile .label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px}.summary-tile .value{font-size:20px;font-weight:700}.txn-modal .modal-card{max-width:760px}.txn-header-fields{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.detail-grid{grid-template-columns:repeat(3,1fr);gap:18px 24px;display:grid}.detail-field label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.detail-value{color:var(--text);font-size:14px}@media (width<=700px){.detail-grid{grid-template-columns:1fr 1fr}}.txn-header-fields .field label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.txn-header-fields .field select,.txn-header-fields .field input,.txn-header-fields .field textarea{border:1px solid var(--border);border-radius:8px;width:100%;padding:9px 12px;font-size:13.5px}.items-editor{margin-bottom:18px}.items-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}table.items-table{border-collapse:collapse;width:100%;font-size:13px}table.items-table thead th{text-align:left;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 10px;font-size:11.5px;font-weight:600}table.items-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 8px}table.items-table tbody tr:last-child td{border-bottom:none}table.items-table input,table.items-table select{border:1px solid var(--border);border-radius:6px;width:100%;min-width:90px;padding:6px 8px;font-size:13px}table.items-table .combo{min-width:130px}table.items-table .combo-control{border-radius:6px;padding:0 8px}table.items-table .combo-input{min-width:60px;font-size:13px;padding:5px 0!important}.items-empty{text-align:center;color:var(--text-light);padding:20px!important}.txn-totals{width:260px;margin-bottom:18px;margin-left:auto}.txn-totals-row{color:var(--text-muted);justify-content:space-between;padding:7px 0;font-size:13.5px;display:flex}.txn-totals-row.grand{border-top:1px solid var(--border);color:var(--text);margin-top:4px;padding-top:10px;font-size:15px;font-weight:700}.txn-form-actions{justify-content:flex-end;gap:10px;display:flex}.mobile-bottom-nav,.topbar-menu-btn,.topbar-brand-mobile,.sidebar-close-btn,.sidebar-backdrop,.mobile-list-view{display:none}.sales-filter-pill{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:9px 14px;font-size:13.5px;font-weight:500;display:inline-flex}@media (width<=900px){html,body{width:100%;overflow-x:hidden}.app-shell{display:block;overflow-x:hidden}.sidebar{z-index:300;width:260px;max-width:82vw;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar-close-btn{z-index:2;color:#fff;background:#00000073;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:inline-flex;position:absolute;top:8px;right:8px}.sidebar-backdrop{z-index:290;background:#0f172a80;display:block;position:fixed;inset:0}.main-area{min-height:100vh}.topbar{gap:10px;padding:12px 16px}.topbar-menu-btn{width:32px;height:32px;color:var(--text);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:19px;display:inline-flex}.topbar-brand-mobile,.topbar-search-wrap,.topbar-date,.topbar-bell{display:none}.topbar-right{margin-left:auto}.topbar-user-name,.topbar-user-role,.topbar.topbar-subpage{display:none}.page-content{padding:16px 14px 96px;overflow-x:hidden}.list-card,.card,.kpi-card,.m-card,.more-card,.m-summary-card{max-width:100%;overflow-x:hidden}.page-header{align-items:center;margin-bottom:16px}.page-header-back{width:30px;height:30px;color:var(--text);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;margin-right:6px;padding:0;font-size:26px;font-weight:700;display:inline-flex}.page-header h1{margin:0 0 4px;font-size:19px}.breadcrumb{font-size:12px}.page-header-actions{gap:8px}.page-header-actions .btn{border-radius:999px;padding:8px 12px;font-size:12.5px}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-card{padding:14px}.kpi-value{font-size:16px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px}.stat-card .value{font-size:18px}.two-col{grid-template-columns:1fr}.mobile-bottom-nav{background:var(--card);border-top:1px solid var(--border);z-index:250;padding:6px 4px calc(4px + env(safe-area-inset-bottom,0px));display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 18px #0f172a14}.mobile-nav-item{color:var(--text-light);flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 2px;font-size:10.5px;font-weight:600;display:flex}.mobile-nav-icon{font-size:19px;line-height:1}.mobile-nav-item.active{color:var(--blue)}.desktop-list-view{display:none}.mobile-list-view{display:block}.m-search-row{gap:10px;margin-bottom:14px;display:flex}.m-search-input{background:var(--card);border:1px solid var(--border);color:var(--text-light);border-radius:10px;flex:1;align-items:center;gap:8px;padding:10px 14px;display:flex}.m-search-input input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.m-filter-btn{background:var(--card);border:1px solid var(--border);width:42px;color:var(--text-muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.m-tabs{gap:10px;margin-bottom:14px;display:flex}.m-tab{text-align:center;border:1px solid var(--border);background:var(--card);color:var(--text-muted);border-radius:10px;flex:1;padding:9px 10px;font-size:12.5px;font-weight:600}.m-tab .count{background:#0000000f;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.m-tab.active{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}.m-tab.active .count{background:var(--blue);color:#fff}.m-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;padding:14px}.m-card-top{align-items:flex-start;gap:12px;display:flex}.m-avatar{background:var(--purple-bg);width:40px;height:40px;color:var(--purple);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.m-card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.m-card-name{color:var(--text);font-size:14.5px;font-weight:700}.m-card-sub{color:var(--text-muted);margin-top:1px;font-size:12.5px}.m-card-menu{color:var(--text-light);background:0 0;border:none;flex-shrink:0;padding:2px 6px;font-size:16px}.m-card-meta{flex-direction:column;gap:5px;margin-top:10px;display:flex}.m-card-meta-row{color:var(--text-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.m-card-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;margin-top:10px;padding-top:10px;display:flex}.m-card-orders{color:var(--text);text-align:right;font-size:13px;font-weight:700}.m-card-orders .n{font-size:15px}.m-summary-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;margin-top:4px;padding:14px;display:flex}.m-summary-icon{background:var(--blue-bg);width:40px;height:40px;color:var(--blue);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.m-summary-title{color:var(--text);font-size:13.5px;font-weight:700}.m-summary-sub{color:var(--text-muted);margin-top:1px;font-size:12px}.m-summary-right{background:var(--bg);width:34px;height:34px;color:var(--text-muted);border-radius:9px;justify-content:center;align-items:center;margin-left:auto;display:flex}.m-generic-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:10px;padding:14px}.m-generic-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;font-size:12.5px;display:flex}.m-generic-row:last-child{border-bottom:none}.m-generic-label{color:var(--text-muted);flex-shrink:0}.m-generic-value{color:var(--text);text-align:right;font-weight:600}.m-generic-actions{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.more-group{margin-bottom:18px}.more-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px 2px;font-size:12.5px;font-weight:700}.more-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.more-tile{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:13px 14px;display:flex}.more-tile:last-child{border-bottom:none}.more-tile-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex}.more-tile-title{color:var(--text);font-size:14px;font-weight:700}.more-tile-sub{color:var(--text-muted);margin-top:1px;font-size:12px}.more-tile-arrow{color:var(--text-light);margin-left:auto;font-size:17px}.sales-filter-row{gap:10px;margin-bottom:16px;display:flex}.sales-filter-pill{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.sales-tabs{background:var(--bg);border-radius:10px;gap:4px;margin-bottom:4px;padding:4px;display:flex}.sales-tab{text-align:center;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;padding:9px 8px;font-size:13px;font-weight:600}.sales-tab.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.sales-order-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.sales-order-row:last-child{border-bottom:none}.sales-order-avatar{background:var(--purple-bg);width:36px;height:36px;color:var(--purple);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sales-view-all{box-sizing:border-box;text-align:center;background:var(--blue);color:#fff;border:none;border-radius:999px;width:100%;margin-top:12px;padding:10px 0;font-size:13px;font-weight:700;display:block}.quick-actions-title{margin:18px 0 12px;font-size:13.5px;font-weight:700}.quick-actions-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.quick-action-tile{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.quick-action-icon{border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;font-size:19px;display:flex}.quick-action-label{color:var(--text);font-size:11px;font-weight:600;line-height:1.2}.settings-form{grid-template-columns:1fr;gap:14px}.logo-upload-group{flex-direction:column;gap:4px;display:flex}.logo-upload-row{align-items:center;gap:12px}.logo-preview{flex-shrink:0;width:56px;height:56px}.logo-upload-actions{flex-wrap:nowrap;gap:8px;width:100%}.logo-upload-actions .btn{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;padding:9px 6px;font-size:12px}}.invoice-print-page{--bg:#eef0f3;--card:#fff;--border:#e5e9ef;--text:#1f2937;--text-muted:#6b7280;--text-light:#9aa4b2;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018280a;background:#eef0f3;min-height:100vh;padding:24px 16px 60px}.invoice-toolbar{justify-content:space-between;gap:10px;max-width:1100px;margin:0 auto 16px;display:flex}.invoice-print-layout{align-items:flex-start;gap:24px;max-width:1100px;margin:0 auto;display:flex}.invoice-side-panel{border:1px solid var(--border);width:220px;box-shadow:var(--shadow);background:#fff;border-radius:10px;flex-direction:column;flex-shrink:0;gap:20px;padding:18px;display:flex;position:sticky;top:24px}.invoice-side-panel-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:13px;font-weight:700}.invoice-format-list{flex-direction:column;gap:8px;display:flex}.invoice-format-option{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.invoice-format-option.active{border-color:var(--blue);background:var(--blue-light,#eef4ff);color:var(--blue)}.invoice-format-swatch{border:1px solid var(--border);border-radius:4px;flex-shrink:0;width:16px;height:16px}.invoice-format-swatch.default{background:#fff}.invoice-format-swatch.portrait{background:#f4f4f4}.invoice-format-swatch.color{background:linear-gradient(135deg, var(--blue), #7c3aed);border:none}.invoice-side-divider{background:var(--border);height:1px}.invoice-action-group{flex-direction:column;gap:8px;display:flex}.invoice-print-btn,.invoice-download-btn{justify-content:center;width:100%}.invoice-sheets-col{flex:1;min-width:0}.invoice-sheet{border:1px solid var(--border);max-width:850px;box-shadow:var(--shadow);color:#111;background:#fff;margin:0 auto 24px;padding:28px 32px;font-size:13px}.invoice-sheet:last-child{margin-bottom:0}.invoice-sheet.format-portrait{border-radius:14px;max-width:850px;padding:32px 44px;font-family:Georgia,Times New Roman,serif}.invoice-sheet.format-portrait .invoice-sheet-header{text-align:center;border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:8px}.invoice-sheet.format-portrait .invoice-title{letter-spacing:.12em;font-size:22px}.invoice-sheet.format-portrait .invoice-copy-tag{border-radius:4px}.invoice-sheet.format-portrait .invoice-company-row{text-align:center;flex-direction:column;align-items:center;margin-bottom:20px}.invoice-sheet.format-portrait .invoice-logo{border-radius:50%;width:60px;height:60px}.invoice-sheet.format-portrait .invoice-company-meta{justify-content:center}.invoice-sheet.format-portrait .invoice-meta-grid{border:none;grid-template-columns:1fr;gap:14px;margin-bottom:20px}.invoice-sheet.format-portrait .invoice-address-col{border-right:none;gap:14px}.invoice-sheet.format-portrait .invoice-billing-box,.invoice-sheet.format-portrait .invoice-shipping-box{border:1px dashed var(--border);text-align:left;border-radius:10px}.invoice-sheet.format-portrait .invoice-details-table{border:1px dashed var(--border);border-radius:10px;overflow:hidden}.invoice-sheet.format-portrait .invoice-details-table th,.invoice-sheet.format-portrait .invoice-details-table td{border-bottom:1px dashed var(--border)}.invoice-sheet.format-portrait .invoice-items-table{border:none}.invoice-sheet.format-portrait .invoice-items-table th,.invoice-sheet.format-portrait .invoice-items-table td{border:none;border-bottom:1px dashed var(--border)}.invoice-sheet.format-portrait .invoice-items-table thead th{background:0 0;border-bottom:1px solid #111}.invoice-sheet.format-portrait .invoice-totals-row{border:none;flex-direction:column;gap:14px;margin-top:14px;display:flex}.invoice-sheet.format-portrait .invoice-amount-words{border-right:none;border-top:1px dashed var(--border);padding:12px 0}.invoice-sheet.format-portrait .invoice-totals-table{border:1px dashed var(--border);border-radius:10px;overflow:hidden}.invoice-sheet.format-portrait .invoice-footer-row{text-align:center;grid-template-columns:1fr;gap:20px}.invoice-sheet.format-portrait .invoice-bank-box,.invoice-sheet.format-portrait .invoice-signature-box{border-radius:10px}.invoice-sheet.format-color{--inv-navy:#14202e;--inv-navy2:#1d3348;--inv-cyan:#1fb5c9;border:none;padding:0 0 44px;position:relative;overflow:hidden}.invoice-sheet.format-color .invoice-sheet-topband{z-index:1;background:var(--inv-navy);justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px;padding:30px 36px;display:flex;position:relative;overflow:hidden}.invoice-sheet.format-color .invoice-sheet-topband:after{content:"";background:linear-gradient(100deg, transparent 0%, transparent 38%, var(--inv-cyan) 38%, var(--inv-cyan) 100%);opacity:.9;pointer-events:none;z-index:0;width:46%;position:absolute;top:0;bottom:0;right:0}.invoice-sheet.format-color .invoice-sheet-header{z-index:1;border-bottom:none;flex-direction:column;order:1;justify-content:flex-start;align-items:flex-start;gap:10px;margin-bottom:0;position:relative}.invoice-sheet.format-color .invoice-title{letter-spacing:.08em;color:var(--inv-cyan);font-size:30px;font-weight:900;line-height:1}.invoice-sheet.format-color .invoice-copy-tag{color:#fff;background:#ffffff1f;border:1px solid #fff6;font-weight:700}.invoice-sheet.format-color .invoice-company-row{z-index:1;text-align:right;flex-direction:row-reverse;order:2;margin:0;position:relative}.invoice-sheet.format-color .invoice-logo{background:#fff;border:2px solid #ffffff80;border-radius:50%}.invoice-sheet.format-color .invoice-company-info{text-align:right}.invoice-sheet.format-color .invoice-company-name{color:#fff}.invoice-sheet.format-color .invoice-company-legal,.invoice-sheet.format-color .invoice-company-meta{color:#ffffffbf}.invoice-sheet.format-color .invoice-company-meta{justify-content:flex-end}.invoice-sheet.format-color .invoice-gstin{color:var(--inv-cyan)}.invoice-sheet.format-color .invoice-body{z-index:1;padding:0 36px;position:relative}.invoice-sheet.format-color .invoice-meta-grid{border:none;gap:24px}.invoice-sheet.format-color .invoice-address-col{border-right:none}.invoice-sheet.format-color .invoice-billing-box{padding-left:0}.invoice-sheet.format-color .invoice-box-label{color:var(--inv-cyan)}.invoice-sheet.format-color .invoice-details-table th{color:var(--inv-navy2)}.invoice-sheet.format-color .invoice-items-table{border:none}.invoice-sheet.format-color .invoice-items-table thead tr{background:var(--inv-navy)}.invoice-sheet.format-color .invoice-items-table thead th{color:#fff;background:0 0;border-color:#0000}.invoice-sheet.format-color .invoice-items-table td,.invoice-sheet.format-color .invoice-items-table th,.invoice-sheet.format-color .invoice-totals-row,.invoice-sheet.format-color .invoice-amount-words,.invoice-sheet.format-color .invoice-totals-table th,.invoice-sheet.format-color .invoice-totals-table td{border-color:#e3e6ea}.invoice-sheet.format-color .invoice-totals-table tr.grand th,.invoice-sheet.format-color .invoice-totals-table tr.grand td{background:var(--inv-cyan);color:#fff;border-top:none}.invoice-sheet.format-color .invoice-bank-box{border:none;border-top:3px solid var(--inv-cyan);border-radius:0;padding-left:0}.invoice-sheet.format-color .invoice-signature-box,.invoice-sheet.format-color .invoice-signatory-label{border-color:#e3e6ea}.invoice-sheet.format-color .invoice-footer-row{z-index:1;position:relative}.invoice-contact-band{display:none}.invoice-sheet.format-color .invoice-contact-band{background:var(--inv-navy);color:#ffffffe6;z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;padding:14px 36px;font-size:12px;font-weight:600;display:flex;position:absolute;bottom:0;left:0;right:0}@media print{.invoice-sheet.format-color .invoice-sheet-topband,.invoice-sheet.format-color .invoice-sheet-topband:after,.invoice-sheet.format-color .invoice-copy-tag,.invoice-sheet.format-color .invoice-items-table thead tr,.invoice-sheet.format-color .invoice-totals-table tr.grand th,.invoice-sheet.format-color .invoice-totals-table tr.grand td,.invoice-sheet.format-color .invoice-contact-band{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.invoice-sheet-header{border-bottom:2px solid #111;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.invoice-title{letter-spacing:.04em;font-size:20px;font-weight:800}.invoice-copy-tag{letter-spacing:.06em;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700}.invoice-company-row{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.invoice-logo{border:1px solid var(--border);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;overflow:hidden}.invoice-logo img{object-fit:contain;width:100%;height:100%}.invoice-company-info{line-height:1.5}.invoice-company-name{font-size:17px;font-weight:800}.invoice-company-legal{color:var(--text-muted);font-size:12px}.invoice-company-meta{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:2px;font-size:12px;display:flex}.invoice-gstin{margin-top:2px;font-weight:700}.invoice-box-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px;font-size:10.5px;font-weight:700}.invoice-meta-grid{border:1px solid #111;grid-template-columns:1.3fr 1fr;gap:0;margin-bottom:14px;display:grid}.invoice-address-col{border-right:1px solid #111;flex-direction:column;display:flex}.invoice-billing-box{border-bottom:1px solid #111;padding:12px 14px;line-height:1.6}.invoice-shipping-box{padding:12px 14px;line-height:1.6}.invoice-buyer-name{font-weight:700}.invoice-details-table{border-collapse:collapse;width:100%}.invoice-details-table th,.invoice-details-table td{text-align:left;border-bottom:1px solid #ddd;padding:6px 10px;font-size:12px}.invoice-details-table tr:last-child th,.invoice-details-table tr:last-child td{border-bottom:none}.invoice-details-table th{color:var(--text-muted);width:45%;font-weight:600}.invoice-items-table{border-collapse:collapse;border:1px solid #111;width:100%;margin-bottom:14px}.invoice-items-table th,.invoice-items-table td{border:1px solid #111;padding:8px 10px;font-size:12.5px}.invoice-items-table thead th{background:#f3f4f6;font-weight:700}.invoice-items-filler td{height:26px}.invoice-totals-row{border:1px solid #111;border-top:none;grid-template-columns:1.3fr 1fr;gap:0;margin-top:-14px;margin-bottom:18px;display:grid}.invoice-amount-words{border-right:1px solid #111;padding:12px 14px;font-size:12.5px}.invoice-totals-table{border-collapse:collapse;width:100%}.invoice-totals-table th,.invoice-totals-table td{text-align:right;border-bottom:1px solid #ddd;padding:7px 12px;font-size:12.5px}.invoice-totals-table th{text-align:left;color:var(--text-muted);font-weight:600}.invoice-totals-table tr.grand th,.invoice-totals-table tr.grand td{color:#111;border-top:2px solid #111;border-bottom:none;font-size:14px;font-weight:800}.invoice-footer-row{grid-template-columns:1.3fr 1fr;gap:16px;display:grid}.invoice-bank-box{border:1px solid var(--border);border-radius:6px;padding:12px 14px;font-size:12.5px;line-height:1.7}.invoice-signature-box{border:1px solid var(--border);text-align:center;border-radius:6px;padding:12px 14px;font-size:12.5px;font-weight:600}.invoice-signature-stamp{justify-content:center;align-items:center;gap:10px;height:60px;margin:4px 0;display:flex;position:relative}.invoice-seal{object-fit:contain;opacity:.9;max-width:90px;max-height:56px}.invoice-signature{object-fit:contain;max-width:120px;max-height:40px}.invoice-signatory-label{border-top:1px solid var(--border);color:var(--text-muted);padding-top:6px;font-weight:600}@media print{.no-print{display:none!important}.invoice-print-page{background:#fff;padding:0}.invoice-print-layout{max-width:100%;display:block!important}.invoice-sheets-col{flex:none!important;display:block!important}.invoice-sheet{box-shadow:none;page-break-after:always;break-after:page;border:none;max-width:100%;margin:0!important;display:block!important}.invoice-sheet:not(.format-color){padding:0}.invoice-sheet:last-child{page-break-after:auto;break-after:auto}.sidebar,.topbar,.mobile-bottom-nav{display:none!important}}@media (width<=900px){.invoice-print-layout{flex-direction:column}.invoice-side-panel{width:100%;position:static}}.app-icon{vertical-align:-.16em;flex-shrink:0;display:inline-block}.icon-text{align-items:center;gap:6px;display:inline-flex}.nav-item .icon,.nav-item .chevron,.mobile-nav-icon,.password-toggle-btn{justify-content:center;align-items:center;display:inline-flex}.topbar-menu-btn .app-icon,.sidebar-close-btn .app-icon,.topbar-bell .app-icon{display:block}.topbar-dropdown-item{align-items:center;gap:9px;display:flex}.kpi-icon .app-icon,.more-tile-icon .app-icon,.quick-action-icon .app-icon,.m-summary-icon .app-icon,.topbar-avatar .app-icon,.profile-avatar-preview .app-icon{color:var(--text)}.invoice-gst-sheet{--gst-navy:#1a3a63;--gst-navy2:#0d2743;--gst-blue-light:#eaf1fb;--gst-green-light:#e6f5ea;--gst-green-text:#1e7d3a;border:2px solid var(--gst-navy);padding:30px 36px 26px;font-size:12.5px}.gst-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:10px;display:flex}.gst-header-left{align-items:flex-start;gap:16px;display:flex}.gst-logo{border-radius:6px;flex-shrink:0;justify-content:flex-start;align-items:center;width:96px;height:64px;display:flex;overflow:hidden}.gst-logo img{object-fit:contain;object-position:left center;width:100%;height:100%}.gst-company-name{color:var(--gst-navy2);letter-spacing:.02em;font-size:20px;font-weight:800}.gst-company-legal,.gst-company-address{color:var(--text-muted);font-size:12px;line-height:1.5}.gst-contact-row{color:var(--gst-navy);flex-wrap:wrap;gap:16px;margin-top:6px;font-size:12px;font-weight:600;display:flex}.gst-contact-row span{align-items:center;gap:5px;display:inline-flex}.gst-header-right{text-align:right;flex-shrink:0}.gst-title{letter-spacing:.06em;color:var(--gst-navy2);font-size:26px;font-weight:900}.gst-copy-tag{border:1px solid var(--gst-navy);color:var(--gst-navy);letter-spacing:.05em;border-radius:999px;margin-top:8px;padding:3px 12px;font-size:10.5px;font-weight:700;display:inline-block}.gst-gstin-row{color:var(--gst-navy2);margin-bottom:10px;font-size:12.5px;font-weight:700}.gst-divider{background:var(--gst-navy);height:2px;margin-bottom:18px}.gst-meta-grid{border:1px solid var(--border);grid-template-columns:1.3fr 1fr;gap:0;margin-bottom:16px;display:grid}.gst-address-col{border-right:1px solid var(--border);flex-direction:column;display:flex}.gst-billing-box{border-bottom:1px solid var(--border);padding:12px 16px;line-height:1.6}.gst-shipping-box{padding:12px 16px;line-height:1.6}.gst-buyer-name{color:var(--gst-navy2);font-weight:700}.gst-box-label{text-transform:uppercase;letter-spacing:.05em;color:var(--gst-navy);align-items:center;gap:6px;margin-bottom:6px;font-size:10.5px;font-weight:700;display:flex}.gst-details-table{border-collapse:collapse;width:100%}.gst-details-table th,.gst-details-table td{border-bottom:1px solid var(--border);text-align:left;padding:7px 14px;font-size:12px}.gst-details-table tr:last-child th,.gst-details-table tr:last-child td{border-bottom:none}.gst-details-table th{color:var(--text-muted);width:45%;font-weight:600}.gst-items-table{border-collapse:collapse;border:1px solid var(--border);width:100%;margin-bottom:16px}.gst-items-table th,.gst-items-table td{border:1px solid var(--border);text-align:center;vertical-align:middle;padding:6px;font-size:11px}.gst-items-table thead th{background:var(--gst-blue-light);color:var(--gst-navy2);font-size:9.5px;font-weight:700;line-height:1.25}.gst-items-table tbody td:nth-child(2){text-align:left}.gst-items-table .invoice-items-filler td{height:24px}.gst-hsn-table{border-collapse:collapse;border:1px solid var(--border);width:100%;margin-bottom:16px}.gst-hsn-table th,.gst-hsn-table td{border:1px solid var(--border);text-align:center;vertical-align:middle;padding:5px 6px;font-size:10.5px}.gst-hsn-table thead th{background:var(--gst-blue-light);color:var(--gst-navy2);font-size:9px;font-weight:700;line-height:1.25}.gst-hsn-table tbody td:nth-child(2){text-align:right}.gst-totals-row{grid-template-columns:1.3fr 1fr;gap:20px;margin-bottom:18px;display:grid}.gst-notes-col{font-size:12px;line-height:1.6}.gst-notes{margin-top:14px}.gst-notes ol{color:var(--text-muted);margin:4px 0 0;padding-left:18px}.invoice-notes{margin-top:12px}.invoice-notes ol{color:var(--text-muted);margin:4px 0 0;padding-left:18px;font-size:12px}.gst-totals-table{border-collapse:collapse;border:1px solid var(--border);align-self:start;width:100%}.gst-totals-table th,.gst-totals-table td{border-bottom:1px solid var(--border);padding:7px 12px;font-size:12px}.gst-totals-table th{text-align:left;color:var(--text-muted);font-weight:600}.gst-totals-table td{text-align:right}.gst-totals-table tr:last-child th,.gst-totals-table tr:last-child td{border-bottom:none}.gst-totals-table tr.gst-total-row th,.gst-totals-table tr.gst-total-row td{background:var(--gst-blue-light);color:var(--gst-navy2);font-size:13px;font-weight:800}.gst-totals-table tr.gst-balance-row th,.gst-totals-table tr.gst-balance-row td{background:var(--gst-green-light);color:var(--gst-green-text);font-size:14px;font-weight:800}.gst-footer-row{grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:22px;display:grid}.gst-bank-box{border:1px solid var(--border);border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.7}.gst-signature-box{border:1px solid var(--border);text-align:center;border-radius:6px;padding:12px 14px;font-size:12px;font-weight:600}.gst-signatory-label{border-top:1px solid var(--border);color:var(--text-muted);margin-top:4px;padding-top:6px;font-weight:600}.gst-thankyou-bar{text-align:center;color:var(--gst-navy2);border-top:2px solid var(--gst-navy);padding-top:14px;font-style:italic;font-weight:700;position:relative}@media (width<=900px){.invoice-gst-sheet{padding:20px 16px 18px}.gst-header{flex-direction:column}.gst-header-right{text-align:left}.gst-meta-grid,.gst-totals-row,.gst-footer-row{grid-template-columns:1fr}.gst-address-col{border-right:none;border-bottom:1px solid var(--border)}}.sub-price-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--blue-bg);max-width:640px;margin-top:20px;padding:14px 18px}.sub-price-card.empty{background:var(--gray-bg);color:var(--text-muted);font-size:13px}.sub-price-row{color:var(--text);justify-content:space-between;align-items:baseline;gap:16px;padding:4px 0;font-size:13.5px;display:flex}.sub-price-row.discount{color:var(--green-dark)}.sub-price-row.total{border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:15px}.sub-price-row.total strong{color:var(--blue-dark);font-size:17px;font-weight:700}.perm-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:18px;display:grid}.perm-role{border-bottom:1px solid var(--border);align-items:center;gap:8px;display:flex}.perm-role:last-of-type{border-bottom:none}.perm-role-name{text-align:left;cursor:pointer;font:inherit;color:var(--text);background:0 0;border:none;border-radius:8px;flex:auto;min-width:0;padding:10px 8px}.perm-role-name:hover{background:var(--row-hover)}.perm-role.active .perm-role-name{background:var(--blue-bg);color:var(--blue-dark);font-weight:600}.perm-role-sub{color:var(--text-light);font-size:11.5px}.perm-add{gap:8px;margin-top:12px;display:flex}.perm-add input{border:1px solid var(--border);min-width:0;font:inherit;background:var(--card);color:var(--text);border-radius:8px;flex:auto;padding:8px 10px;font-size:13px}.perm-matrix-wrap{overflow-x:auto}.perm-matrix{border-collapse:collapse;width:100%;font-size:13px}.perm-matrix th,.perm-matrix td{border-bottom:1px solid var(--border);text-align:left;padding:8px 10px}.perm-matrix th.num,.perm-matrix td.num{text-align:center;width:88px}.perm-matrix tbody tr:hover{background:var(--row-hover)}.perm-matrix input[type=checkbox]{cursor:pointer;width:16px;height:16px}.perm-col-toggle,.perm-row-toggle{font:inherit;cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0}.perm-col-toggle{text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.perm-row-toggle{color:var(--text);font-weight:600}.perm-col-toggle:hover:not(:disabled),.perm-row-toggle:hover:not(:disabled){color:var(--blue);text-decoration:underline}.perm-matrix td.perm-cell-off{color:var(--text-light);cursor:help}.perm-locked-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--text-light);font-size:10px;font-weight:500;display:block}.perm-col-toggle:disabled,.perm-row-toggle:disabled{cursor:default;opacity:.7}@media (width<=900px){.perm-layout{grid-template-columns:1fr}}.rem-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.rem-tab{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.rem-tab .count{background:var(--gray-bg);color:var(--text-muted);border-radius:999px;padding:1px 7px;font-size:11px}.rem-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.rem-tab.active .count{color:#fff;background:#ffffff40}.rem-row{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:12px;padding:12px 4px;text-decoration:none;transition:background .12s;display:flex}.rem-row:last-child{border-bottom:none}.rem-row:hover{background:var(--row-hover)}.rem-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.rem-icon.overdue{background:var(--red-bg);color:var(--red)}.rem-icon.due-soon{background:var(--amber-bg);color:var(--amber-text)}.rem-body{flex:auto;min-width:0}.rem-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.rem-sub{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.rem-when{white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:600}.rem-when.overdue{color:var(--red)}.rem-when.due-soon{color:var(--amber-text)}.rem-empty{color:var(--text-light);flex-direction:column;align-items:center;gap:10px;padding:40px;font-size:14px;display:flex}.rem-empty .app-icon{color:var(--green)}.numbering-list{flex-direction:column;gap:14px;margin-top:4px;display:flex}.numbering-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:14px 16px}.numbering-row-title{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:700}.numbering-row-fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr);align-items:end;gap:12px;display:grid}.numbering-row-fields .field{min-width:0;margin:0}.numbering-row-fields .field label{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.numbering-row-fields .field input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:8px;padding:9px 12px;font-size:13.5px}.numbering-preview{background:var(--blue-bg);border-radius:8px;flex-direction:column;gap:3px;min-width:0;padding:7px 12px;display:flex}.numbering-preview span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:10.5px}.numbering-preview strong{color:var(--blue-dark);overflow-wrap:anywhere;font-size:14px;font-weight:700}@media (width<=900px){.numbering-row-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.numbering-preview{grid-column:1/-1}}.sub-blocked-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.sub-blocked-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:14px;width:100%;max-width:460px;padding:34px 32px;box-shadow:0 8px 30px #1018281a}.sub-blocked-icon{border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 16px;display:flex}.sub-blocked-icon.expired{background:var(--red-bg);color:var(--red)}.sub-blocked-icon.suspended{background:var(--purple-bg);color:var(--purple)}.sub-blocked-card h1{color:var(--text);margin:0 0 8px;font-size:21px;font-weight:700}.sub-blocked-message{color:var(--text-muted);margin:0 0 20px;font-size:14px;line-height:1.6}.sub-blocked-facts{border:1px solid var(--border);text-align:left;border-radius:10px;margin-bottom:20px;overflow:hidden}.sub-blocked-fact{justify-content:space-between;gap:16px;padding:10px 14px;font-size:13px;display:flex}.sub-blocked-fact+.sub-blocked-fact{border-top:1px solid var(--border)}.sub-blocked-fact span{color:var(--text-light)}.sub-blocked-fact strong{color:var(--text);text-align:right}.sub-blocked-contact{color:var(--text-muted);margin:0 0 22px;font-size:13px;line-height:1.6}.sub-blocked-actions{justify-content:center;gap:10px;display:flex}.sub-banner{background:var(--amber-bg);color:var(--amber-text);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:9px 16px;font-size:13px;display:flex}.sub-banner strong{font-weight:700}.sub-banner-close{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;margin-left:auto;padding:2px;display:flex}.sub-banner-close:hover{opacity:1}.stat-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=1250px){.stat-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.stat-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:18px;display:grid}.dash-kpi{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:6px;padding:18px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex}.dash-kpi-icon{border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:4px;display:flex}.dash-kpi-icon.blue{background:var(--blue-bg);color:var(--blue)}.dash-kpi-icon.green{background:var(--green-bg);color:var(--green-dark)}.dash-kpi-icon.purple{background:var(--purple-bg);color:var(--purple)}.dash-kpi-icon.teal{background:var(--teal-bg);color:var(--teal-dark)}.dash-kpi-icon.orange{background:var(--orange-bg);color:var(--orange-dark)}.dash-kpi-icon.red{background:var(--red-bg);color:var(--red)}.dash-kpi-grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dash-main.single{grid-template-columns:1fr}.dash-kpi-link{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.dash-kpi-link:hover{border-color:var(--blue);box-shadow:0 4px 14px #2563eb1a}.dash-section-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:8px;margin:4px 0 14px;font-size:13px;font-weight:700;display:flex}.dash-section-heading .app-icon{color:var(--blue)}.dash-alerts{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.dash-alert{border:1px solid var(--border);border-left:3px solid var(--amber);background:var(--card);color:var(--text);border-radius:9px;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;text-decoration:none;display:flex}.dash-alert:hover{background:var(--row-hover)}.dash-alert .app-icon:first-child{color:var(--amber);flex-shrink:0}.dash-alert span{flex:1}.dash-alert .app-icon:last-child{color:var(--text-light);flex-shrink:0}.dash-wo-progress{min-width:118px}.dash-wo-progress-text{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;margin-bottom:5px;font-size:12px;display:flex}.dash-wo-pct{color:var(--text);margin-left:auto;font-weight:700}.dash-wo-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.dash-wo-bar-fill{background:var(--blue);border-radius:3px;height:100%}.dash-wo-bar-fill.done{background:var(--green)}.dash-kpi-label{color:var(--text-muted);font-size:13px}.dash-kpi-value{color:var(--text);letter-spacing:-.01em;font-size:22px;font-weight:700}.dash-delta{align-items:center;gap:2px;margin-top:2px;font-size:11.5px;font-weight:600;display:inline-flex}.dash-delta.up{color:var(--green-dark)}.dash-delta.down{color:var(--red)}.dash-delta-sub{color:var(--text-light);margin-left:4px;font-weight:500}.dash-main{grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px;display:grid}.dash-lists{grid-template-columns:1fr 1fr;gap:18px;display:grid}.dash-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.dash-card-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.dash-card-title{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.dash-card-title .app-icon{color:var(--text-muted)}.dash-viewall{color:var(--blue);align-items:center;gap:2px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.dash-viewall:hover{text-decoration:underline}.dash-range{background:var(--gray-bg);border-radius:8px;padding:2px;display:inline-flex}.dash-range button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.dash-range button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.dash-tooltip{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 10px;box-shadow:0 4px 14px #1018281f}.dash-tooltip-label{color:var(--text-light);margin-bottom:2px;font-size:11px}.dash-tooltip-value{color:var(--text);font-size:13px;font-weight:700}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;font-size:13px}.dash-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-light);border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px;font-size:11px;font-weight:600}.dash-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:10px}.dash-table tbody tr:last-child td{border-bottom:none}.dash-table tbody tr{transition:background .12s}.dash-table tbody tr:hover{background:var(--row-hover)}.dash-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dash-td-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.dash-td-date{color:var(--text-light);white-space:nowrap}.dash-cust{align-items:center;gap:10px;display:flex}.dash-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.dash-cust-text{flex-direction:column;min-width:0;display:flex}.dash-cust-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:600;text-decoration:none;overflow:hidden}a.dash-cust-name:hover{text-decoration:underline}.dash-cust-sub{color:var(--text-light);font-size:11.5px}.dash-empty{text-align:center;color:var(--text-light);padding:24px 8px;font-size:13px}.dash-kpi.is-loading{pointer-events:none}.dash-kpi-icon.skel,.dash-skel-line{background:linear-gradient(90deg, var(--gray-bg) 25%, var(--row-hover) 37%, var(--gray-bg) 63%);background-size:400% 100%;border-radius:6px;animation:1.4s infinite dash-shimmer}.dash-skel-line{height:12px;margin-top:8px}.dash-skel-line.tall{height:20px}.dash-skel-line.w60{width:60%}.dash-skel-line.w80{width:80%}@keyframes dash-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (width<=1200px){.dash-kpi-grid,.dash-kpi-grid.cols-4{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.dash-main,.dash-lists{grid-template-columns:1fr}}@media (width<=720px){.dash-kpi-grid,.dash-kpi-grid.cols-4{grid-template-columns:repeat(2,1fr)}.dash-kpi{padding:14px}.dash-kpi-value{font-size:19px}.dash-delta-sub{display:none}}@media (width<=440px){.dash-kpi-grid,.dash-kpi-grid.cols-4{grid-template-columns:1fr}}.ai-ask-row{align-items:stretch;gap:10px;display:flex}.ai-ask-input{resize:vertical;border:1px solid var(--border);min-height:44px;font:inherit;background:var(--card);color:var(--text);border-radius:8px;flex:auto;padding:10px 12px}.ai-ask-row .btn{white-space:nowrap;align-self:flex-end}.ai-examples{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.ai-chip{border:1px solid var(--border);background:var(--bg,transparent);color:var(--text-light);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12.5px;transition:background .12s,color .12s,border-color .12s}.ai-chip:hover:not(:disabled){color:var(--primary,#2563eb);border-color:var(--primary,#2563eb)}.ai-chip:disabled{opacity:.5;cursor:default}.ai-turn{margin-top:16px}.ai-q{color:var(--text);align-items:center;gap:6px;margin-bottom:8px;font-weight:600;display:flex}.ai-a{color:var(--text);line-height:1.6}.ai-meta{color:var(--text-light);margin-top:10px;font-size:12px}.ai-reminder-controls{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.ai-reminder-controls .field{margin:0}.ai-reminder-controls .btn{grid-column:1/-1;justify-content:center;width:100%;padding:11px 16px}.ai-seg{border:1px solid var(--border);border-radius:8px;width:100%;display:flex;overflow:hidden}.ai-seg button{background:var(--card);height:40px;color:var(--text-muted);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.ai-seg button+button{border-left:1px solid var(--border)}.ai-seg button.active{background:var(--primary,#2563eb);color:#fff}.ai-reminder-controls select{height:42px}@media print{.invoice-gst-sheet{border-color:#000}.gst-items-table thead th,.gst-totals-table tr.gst-total-row th,.gst-totals-table tr.gst-total-row td,.gst-totals-table tr.gst-balance-row th,.gst-totals-table tr.gst-balance-row td{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.plan-modules{border:1px solid var(--border);border-radius:var(--radius);max-width:640px;margin-bottom:18px;padding:14px 16px}.plan-modules-head{color:var(--text);justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.plan-modules-note{color:var(--text-muted);font-style:normal;font-weight:500}.plan-modules-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px 20px;margin-top:10px;display:grid}.plan-menu-group{flex-direction:column;gap:6px;display:flex}.plan-module-parent{font-weight:600}.plan-module-child{color:var(--text-muted);padding-left:24px}.plan-module-count{color:var(--text-muted);margin-left:auto;font-size:11px;font-weight:500}.plan-module{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.plan-module input{cursor:pointer;width:16px;height:16px}.plan-module.is-disabled,.plan-menu-group.is-disabled .plan-module{opacity:.45;cursor:not-allowed}.plan-module.is-disabled input,.plan-menu-group.is-disabled .plan-module input{cursor:not-allowed}.detail-sub{color:var(--text-muted);font-weight:500}.setpw-title{color:var(--text);margin:0 0 6px;font-size:20px;font-weight:700}.setpw-done{text-align:center;color:var(--green-dark);padding:18px 4px}.setpw-done h2{color:var(--text);margin:12px 0 6px;font-size:19px}.setpw-done p{color:var(--text-muted);margin:0;font-size:13px}.login-forgot{text-align:center;margin:14px 0 0;font-size:13px}.login-forgot a{color:var(--blue)}.invite-result{border:1px solid var(--amber);background:var(--amber-bg);color:var(--amber-text);border-radius:var(--radius);align-items:flex-start;gap:12px;margin-bottom:16px;padding:13px 16px;font-size:13px;display:flex}.invite-result.is-sent{border-color:var(--green);background:var(--green-bg);color:var(--green-dark)}.invite-result-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.invite-result-body em{opacity:.9;font-style:normal}.invite-link{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);word-break:break-all;margin-top:4px;padding:7px 10px;font-size:12px;display:block}.invite-result-actions{flex:none;align-items:center;gap:6px;display:flex}.user-status-cell{align-items:center;gap:7px;display:inline-flex}.user-invite-flag{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:10px;font-weight:600}.audit-row{cursor:pointer}.audit-row:hover{background:var(--row-hover)}.audit-details{background:var(--table-head-bg);border:1px solid var(--table-border);border-radius:var(--radius);color:var(--text-muted);white-space:pre-wrap;word-break:break-word;max-height:260px;margin:10px 0 2px;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.notif-lead{flex:none;align-items:center;gap:7px;width:150px;display:flex}.notif-lead input{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:64px;color:var(--text);padding:6px 8px;font-size:13px}.notif-lead em{color:var(--text-muted);font-size:12px;font-style:normal}@media (width<=640px){.notif-lead{width:auto}}.approval-banner{border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:16px;padding:13px 16px;font-size:13px;display:flex}.approval-banner.is-pending{background:var(--amber-bg);border-color:var(--amber);color:var(--amber-text)}.approval-banner.is-approved{background:var(--green-bg);border-color:var(--green);color:var(--green-dark)}.approval-banner.is-rejected{background:var(--red-bg);border-color:var(--red);color:var(--red-text)}.approval-banner-body{flex-direction:column;gap:2px;min-width:0;display:flex}.approval-banner-body strong{font-weight:700}.approval-banner-body em{opacity:.85;font-style:normal}.approval-banner-actions{flex:none;gap:8px;margin-left:auto;display:flex}@media (width<=560px){.approval-banner{flex-wrap:wrap}.approval-banner-actions{flex-basis:100%;margin-left:0}}.tpl-tier-key{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tpl-tier-key-item{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1px;padding:7px 12px;font-size:12px;display:flex}.tpl-tier-key-item strong{text-transform:capitalize;color:var(--text)}.tpl-tier-key-item em{color:var(--text-muted);font-style:normal}.tpl-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tpl-row{border-bottom:1px solid var(--table-border);align-items:center;gap:12px;padding:11px 13px;display:flex}.tpl-row:last-child{border-bottom:none}.tpl-row.is-off{opacity:.55}.tpl-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.tpl-row-head{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.tpl-row-head code{color:var(--text-light);font-size:11px;font-weight:500}.tpl-row-paper{letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:10px;font-weight:600}.tpl-row-main em{color:var(--text-muted);font-size:12px;font-style:normal}.tpl-row-tier{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:120px;color:var(--text);text-transform:capitalize;flex:none;padding:6px 9px;font-size:13px}.tpl-row-actions{flex:none;gap:4px;display:flex}@media (width<=640px){.tpl-row{flex-wrap:wrap}.tpl-row-main{flex-basis:100%}}@media (width>=1200px){.settings-form{grid-template-columns:repeat(3,1fr);max-width:1120px}.sub-price-card,.plan-modules,.addon-picker,.theme-colours,.menu-override-toggle{max-width:1120px}.theme-preview{max-width:820px}}@media (width>=1650px){.settings-form{grid-template-columns:repeat(4,1fr);max-width:1500px}.sub-price-card,.plan-modules,.addon-picker,.theme-colours,.menu-override-toggle{max-width:1500px}}.theme-swatches{gap:4px;display:inline-flex}.theme-swatch{border:1px solid var(--border);border-radius:4px;width:18px;height:18px;display:inline-block}.theme-colours{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;max-width:640px;margin-bottom:8px;display:grid}.theme-colour{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:11px;padding:10px 12px;display:flex}.theme-colour input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;flex:none;width:38px;height:38px;padding:0}.theme-colour-body{flex-direction:column;gap:2px;min-width:0;display:flex}.theme-colour-head{color:var(--text);align-items:baseline;gap:8px;font-size:13px;font-weight:600;display:flex}.theme-colour-head code{color:var(--text-muted);font-size:11px;font-weight:500}.theme-colour em{color:var(--text-muted);font-size:12px;font-style:normal}.linklike{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.theme-preview{border:1px solid var(--border);border-radius:var(--radius);max-width:640px;min-height:190px;margin-bottom:18px;display:flex;overflow:hidden}.theme-preview-side{flex-direction:column;flex:none;gap:6px;width:150px;padding:14px 10px;display:flex}.theme-preview-brand{padding:0 8px 8px;font-size:12px;font-weight:700}.theme-preview-nav{border-radius:7px;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:flex}.theme-preview-main{background:var(--bg);flex:1;min-width:0;padding:16px}.theme-preview-card{background:var(--card);border:1px solid var(--border);padding:14px}.theme-preview-title{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:700}.theme-preview-row{background:var(--border);border-radius:4px;height:8px;margin-bottom:7px}.theme-preview-row.short{width:60%}.theme-preview-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.theme-preview-btn{color:#fff;padding:6px 13px;font-size:12px;font-weight:600}.theme-preview-btn.ghost{background:var(--card);color:var(--text-muted);border:1px solid var(--border)}@media (width<=560px){.theme-preview-side{width:116px}}.menu-tree{flex-direction:column;gap:14px;display:flex}.menu-group{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.menu-row{color:var(--text);border-bottom:1px solid var(--table-border);align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.menu-row:last-child{border-bottom:none}.menu-row.is-child{background:var(--table-head-bg);padding-left:34px}.menu-row.is-hidden{opacity:.5}.menu-row.is-hidden .menu-row-label{text-decoration:line-through}.menu-row-icon{color:var(--text-muted);flex:none;display:inline-flex}.menu-row-label{align-items:baseline;gap:8px;min-width:0;font-weight:600;display:flex}.menu-row.is-child .menu-row-label{font-weight:500}.menu-row-label em{color:var(--text-light);white-space:nowrap;font-size:11px;font-style:normal;font-weight:500}.menu-row-module{color:var(--text-light);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.menu-row-flag{text-transform:uppercase;letter-spacing:.04em;color:var(--blue);border:1px solid var(--blue);border-radius:4px;padding:0 5px;font-size:10px;font-weight:600}.menu-row-actions{flex:none;gap:4px;margin-left:auto;display:flex}.menu-edit-modal{max-width:520px;padding:20px}.menu-icon-label{color:var(--text-muted);margin:14px 0 8px;font-size:12px;font-weight:600}.icon-picker{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;max-height:210px;display:grid;overflow-y:auto}.icon-choice{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);height:38px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;display:flex}.icon-choice:hover{border-color:var(--blue);color:var(--blue)}.icon-choice.is-on{border-color:var(--blue);background:var(--blue-bg);color:var(--blue)}@media (width<=640px){.menu-row-module{display:none}}.addon-picker{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;max-width:640px;margin-bottom:18px;display:grid}.addon-option{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);align-items:flex-start;gap:10px;padding:11px 13px;font-size:13px;display:flex}.addon-option.is-on{border-color:var(--blue);background:var(--blue-bg)}.addon-option input{cursor:pointer;flex:none;width:16px;height:16px;margin-top:2px}.addon-option-body{flex-direction:column;gap:3px;min-width:0;display:flex}.addon-option-head{align-items:center;gap:8px;font-weight:600;display:flex}.addon-option-head strong{margin-left:auto;font-weight:700}.addon-retired{color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:11px;font-style:normal;font-weight:600}.addon-option em{color:var(--text-muted);font-size:12px;font-style:normal}.menu-override-toggle{cursor:pointer;color:var(--text);align-items:flex-start;gap:10px;margin-bottom:14px;font-size:13px;display:flex}.menu-override-toggle input{cursor:pointer;width:16px;height:16px;margin-top:2px}.menu-override-toggle span{flex-direction:column;gap:2px;font-weight:600;display:flex}.menu-override-toggle em{color:var(--text-muted);font-style:normal;font-weight:500}.ti-sheet{--inv-accent:#2f4a7d;--inv-soft:#eef1f5;--inv-line:#c5ccdb;--inv-copy:#cdd4e0;--inv-rail:#213458;--inv-ink:#1a1a1a;--inv-muted:#6b7280;color:var(--inv-ink);background:#fff;flex-direction:column;padding:0;display:flex}.ti-sheet.ti-paper-a5{max-width:620px;font-size:11.5px}.ti-mono{font-variant-numeric:tabular-nums}.ti-r{text-align:right}.ti-label{letter-spacing:.09em;text-transform:uppercase;color:var(--inv-muted);font-size:9.5px;font-weight:600}.ti-head{justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 26px 16px;display:flex}.ti-head-left{align-items:flex-start;gap:14px;min-width:0;display:flex}.ti-logo{object-fit:contain;max-width:150px;max-height:52px}.ti-co{letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2}.ti-co-legal{color:var(--inv-muted);font-size:12px}.ti-co-line{color:var(--inv-muted);font-size:11.5px;line-height:1.5}.ti-head-right{text-align:right;flex:none}.ti-doc-title{letter-spacing:.12em;color:var(--inv-accent);font-size:15px;font-weight:700}.ti-copy{letter-spacing:.12em;color:var(--inv-muted);border:1px solid;border-radius:2px;margin:4px 0 9px;padding:2px 7px;font-size:8.5px;font-weight:600;display:inline-block}.ti-ref{flex-direction:column;gap:2px;font-size:11.5px;display:flex}.ti-ref>div{justify-content:flex-end;align-items:baseline;gap:8px;display:flex}.ti-ref-val{font-weight:600}.ti-parties{border-top:1px solid var(--inv-line);border-bottom:1px solid var(--inv-line);grid-template-columns:1fr 1fr;gap:0;display:grid}.ti-party{padding:12px 26px;font-size:11.5px;line-height:1.55}.ti-party+.ti-party{border-left:1px solid var(--inv-line)}.ti-party-name{font-size:12.5px;font-weight:600}.ti-parties.compact .ti-party{padding:9px 20px}.ti-items,.ti-hsn{border-collapse:collapse;width:100%;font-size:11.5px}.ti-items{margin-top:0}.ti-hsn{margin-top:14px}.ti-items th,.ti-hsn th{text-align:left;letter-spacing:.07em;text-transform:uppercase;background:var(--inv-soft);color:var(--inv-accent);border-bottom:1px solid var(--inv-line);padding:8px 10px;font-size:9.5px;font-weight:600}.ti-items td,.ti-hsn td{vertical-align:top;border-bottom:1px solid #eef0f3;padding:7px 10px}.ti-items th.ti-r,.ti-hsn th.ti-r{text-align:right}.ti-w-no{width:30px}.ti-w-hsn{width:68px}.ti-w-qty,.ti-w-unit{width:48px}.ti-w-rate{width:84px}.ti-w-tax{width:52px}.ti-w-amt{width:100px}.ti-hsn,.ti-items{width:calc(100% - 52px);margin-left:26px}.ti-paper-a5 .ti-items{width:calc(100% - 40px);margin-left:20px}.ti-summary{grid-template-columns:1fr 300px;align-items:start;gap:24px;padding:16px 26px 0;display:grid}.ti-words{margin-top:2px;font-size:11.5px;font-style:italic}.ti-pay{margin-top:8px;font-size:11.5px}.ti-terms{margin-top:10px;font-size:11px}.ti-terms ol{margin:3px 0 0;padding-left:16px;line-height:1.5}.ti-totals{border-collapse:collapse;width:100%;font-size:12px}.ti-totals th{text-align:left;color:var(--inv-muted);padding:4px 0;font-weight:500}.ti-totals td{text-align:right;font-variant-numeric:tabular-nums;padding:4px 0}.ti-totals .ti-grand th,.ti-totals .ti-grand td{color:var(--inv-accent);border-top:1.5px solid var(--inv-accent);padding-top:7px;font-size:13.5px;font-weight:700}.ti-totals .ti-due th,.ti-totals .ti-due td{color:var(--inv-ink);border-top:1px solid #e5e7eb;padding-top:6px;font-weight:700}.ti-foot{grid-template-columns:1fr auto;align-items:end;gap:24px;margin-top:auto;padding:18px 26px 24px;display:grid}.ti-bank{font-size:11.5px;line-height:1.6}.ti-sign{text-align:right;font-size:11.5px}.ti-sign-marks{justify-content:flex-end;align-items:center;gap:8px;height:58px;display:flex;position:relative}.ti-seal{opacity:.9;max-height:56px}.ti-signature{max-height:44px}.ti-plain .ti-items th,.ti-plain .ti-hsn th{color:var(--inv-ink);border-top:1px solid var(--inv-ink);border-bottom:1px solid var(--inv-ink);background:0 0}.ti-plain .ti-doc-title{color:var(--inv-ink);letter-spacing:.16em;font-size:17px}.ti-plain .ti-head{border-bottom:2px solid var(--inv-ink);padding-bottom:14px}.ti-plain .ti-copy{color:var(--inv-ink)}.ti-plain .ti-parties{border-color:#b9bfc7}.ti-plain .ti-party+.ti-party{border-left-color:#b9bfc7}.ti-plain .ti-items td{border-bottom-color:#dfe3e8}.ti-plain .ti-totals .ti-due th,.ti-plain .ti-totals .ti-due td{border-top-color:#b9bfc7}.ti-plain .ti-totals .ti-grand th,.ti-plain .ti-totals .ti-grand td{color:var(--inv-ink);border-top-color:var(--inv-ink)}.ti-band .ti-head{background:var(--inv-accent);color:#fff}.ti-band .ti-co-legal,.ti-band .ti-co-line,.ti-band .ti-copy{color:var(--inv-copy)}.ti-band .ti-doc-title{color:#fff}.ti-band .ti-items tbody tr:nth-child(2n) td{background:#fafbfd}.ti-theme-festive{border:3px double var(--inv-accent)}.ti-theme-festive .ti-head{position:relative}.ti-theme-festive .ti-head:after{content:"";background:repeating-linear-gradient(90deg, #d4af37 0 10px, var(--inv-accent) 10px 20px);height:3px;position:absolute;bottom:0;left:0;right:0}.ti-sheet.ti-rail{flex-direction:row}.ti-railstrip{background:linear-gradient(var(--inv-accent), var(--inv-rail));flex:0 0 44px;justify-content:center;align-items:flex-end;padding-bottom:28px;display:flex}.ti-railstrip span{writing-mode:vertical-rl;letter-spacing:.34em;text-transform:uppercase;color:#fff;font-size:11px;font-weight:600;transform:rotate(180deg)}.ti-rail-body{flex-direction:column;flex:1;min-width:0;display:flex}.ti-rail .ti-co{color:var(--inv-accent)}.ti-rail .ti-items{width:calc(100% - 52px);margin-left:26px}.ti-grid{border:1px solid #333}.ti-grid .ti-head{border-bottom:1px solid #333;padding-bottom:12px}.ti-grid .ti-parties{border-color:#333}.ti-grid .ti-party+.ti-party{border-left-color:#333}.ti-grid .ti-items,.ti-grid .ti-hsn{width:100%;margin-left:0}.ti-grid .ti-items th,.ti-grid .ti-hsn th{color:#1a1a1a;background:#f1f2f4;border:1px solid #333}.ti-grid .ti-items td,.ti-grid .ti-hsn td{border:1px solid #cfd3d8}.ti-grid .ti-hsn{border-top:1px solid #333;margin-top:0}.ti-grid .ti-summary{border-top:1px solid #333;padding-top:12px}.ti-grid .ti-foot{border-top:1px solid #333;margin-top:12px}.ti-theme-tally{--inv-accent:#1a1a1a}.ti-theme-tally .ti-items td,.ti-theme-tally .ti-hsn td{padding:5px 8px}.ti-theme-tally .ti-items th,.ti-theme-tally .ti-hsn th{background:#fff}.ti-plate .ti-head{color:#f3ede1;background:#14181d;border-bottom:2px solid #b99b5e}.ti-plate .ti-co{color:#e8d9b5;letter-spacing:.01em;font-weight:600}.ti-plate .ti-co-legal,.ti-plate .ti-co-line{color:#a3aab4}.ti-plate .ti-doc-title{color:#b99b5e}.ti-plate .ti-copy{color:#8a9099}.ti-plate .ti-items th,.ti-plate .ti-hsn th{color:#8a7742;background:0 0;border-bottom:1px solid #d8cba9}.ti-plate .ti-parties{border-color:#e3d9c2}.ti-plate .ti-party+.ti-party{border-left-color:#e3d9c2}.ti-plate .ti-totals .ti-grand th,.ti-plate .ti-totals .ti-grand td{color:#14181d;border-top-color:#b99b5e}.invoice-format-option.locked{opacity:.5;cursor:not-allowed}.invoice-format-label{text-align:left;flex:1}.invoice-theme-toggle{border-radius:var(--radius);width:100%;color:var(--blue);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;margin-top:6px;padding:7px 8px;font-size:12.5px;font-weight:600;display:flex}.invoice-theme-toggle:hover{background:var(--blue-bg)}.invoice-theme-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.invoice-theme-upsell{color:var(--text-muted);margin-top:8px;font-size:11.5px;line-height:1.45}.invoice-format-swatch.fam-plain{background:linear-gradient(#fff 50%,#d4d8de 50%);border:1px solid #c3c8d0}.invoice-format-swatch.fam-band{background:linear-gradient(#2f4a7d 38%,#fff 38%);border:1px solid #c3c8d0}.invoice-format-swatch.fam-rail{background:linear-gradient(90deg,#1f6b63 30%,#fff 30%);border:1px solid #c3c8d0}.invoice-format-swatch.fam-grid{background:#fff;border:1px solid #333;box-shadow:inset 0 0 0 1px #fff,inset 0 0 0 2px #9aa1ab}.invoice-format-swatch.fam-plate{background:linear-gradient(#14181d 42%,#b99b5e 42% 50%,#fff 50%);border:1px solid #c3c8d0}@media print{.ti-sheet{box-shadow:none;border:none}.ti-grid{border:1px solid #333}.ti-band .ti-head,.ti-plate .ti-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.itheme-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.itheme-tier{letter-spacing:.04em;text-transform:uppercase;color:var(--blue);background:var(--blue-bg);border-radius:4px;padding:3px 9px;font-size:11.5px;font-weight:600}.itheme-grid{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:16px;display:grid}.itheme-card{text-align:left;background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit;flex-direction:column;gap:8px;padding:12px;transition:border-color .12s,box-shadow .12s;display:flex;position:relative}.itheme-card:hover:not(.locked){border-color:var(--blue)}.itheme-card.active{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.itheme-card.locked{opacity:.55;cursor:not-allowed}.itheme-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.itheme-name{align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.itheme-desc{color:var(--text-muted);font-size:12px;line-height:1.45}.itheme-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--text);color:var(--card);border-radius:3px;padding:2px 6px;font-size:9.5px;font-weight:700;position:absolute;top:10px;right:10px}.itheme-preview{background:#fff;border:1px solid #d7dbe0;border-radius:2px;height:96px;padding:8px;display:block;position:relative;overflow:hidden}.itheme-preview.paper-a5{padding-bottom:36px}.itheme-preview.paper-a5:after{content:"";background:repeating-linear-gradient(45deg,#f4f5f7 0 6px,#eceef1 6px 12px);border-top:1px dashed #c9ced6;height:30px;position:absolute;bottom:0;left:0;right:0}.itheme-preview-head{background:var(--inv-accent);height:20px;margin:-8px -8px 8px;display:block}.itheme-preview-line{background:#e4e7ec;border-radius:1px;height:5px;margin-bottom:5px;display:block}.itheme-preview-line.short{width:58%}.itheme-preview.fam-plain .itheme-preview-head{background:0 0;border-bottom:2px solid #1a1a1a;height:18px}.itheme-preview.fam-rail{padding-left:20px}.itheme-preview.fam-rail .itheme-preview-head{width:12px;height:auto;margin:0;position:absolute;top:0;bottom:0;left:0}.itheme-preview.fam-grid{border-color:#333}.itheme-preview.fam-grid .itheme-preview-head{background:#f1f2f4;border-bottom:1px solid #333}.itheme-preview.fam-grid .itheme-preview-line{background:#eceef1;box-shadow:inset 0 0 0 .5px #d5d9de}.itheme-preview.fam-plate .itheme-preview-head{background:#14181d;border-bottom:2px solid #b99b5e}.itheme-upsell{border-top:1px solid var(--border);color:var(--text-muted);margin-top:14px;padding-top:12px;font-size:13px}.itheme-accents{flex-wrap:wrap;gap:10px;display:flex}.itheme-accent{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card);color:inherit;font:inherit;cursor:pointer;align-items:center;gap:7px;padding:7px 12px 7px 8px;font-size:13px;display:flex}.itheme-accent span{border:1px solid #0000001f;border-radius:3px;width:16px;height:16px}.itheme-accent.active{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-bg)}.itheme-accent:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.mysub-kpi-small{font-size:15px}.mysub-facts{background:var(--border);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;display:grid;overflow:hidden}.mysub-fact{background:var(--card);justify-content:space-between;gap:12px;padding:10px 14px;font-size:13px;display:flex}.mysub-fact span{color:var(--text-light)}.mysub-fact strong{color:var(--text);text-align:right}.mysub-subhead{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-top:18px;margin-bottom:8px;font-size:12.5px;font-weight:700}.mysub-feature-list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.mysub-feature-list li{color:var(--text);align-items:center;gap:8px;font-size:13.5px;display:flex}.mysub-feature-list li svg{color:var(--blue);flex-shrink:0}.mysub-menu-list{flex-direction:column;gap:4px;display:flex}.mysub-menu-row{border-radius:8px;padding:10px 12px}.mysub-menu-row:nth-child(odd){background:var(--surface-alt,#00000004)}.mysub-menu-row-head{justify-content:space-between;align-items:center;gap:12px;font-size:13.5px;font-weight:600;display:flex}.mysub-menu-children{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.mysub-theme-chips{flex-wrap:wrap;gap:6px;display:flex}.mysub-chip{background:var(--surface-alt,#0000000a);color:var(--text-muted);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;display:inline-flex}.mysub-chip.on{background:var(--blue-bg);color:var(--blue)}.mysub-chip svg{flex-shrink:0}.mysub-term-picker{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.mysub-term-btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.mysub-term-btn:hover{border-color:var(--blue)}.mysub-term-btn.active{border-color:var(--blue);background:var(--blue);color:#fff}.mysub-term-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.mysub-upgrade-notice{color:var(--text);background:#d9a45c1f;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.mysub-upgrade-notice svg{color:#b45309;flex-shrink:0}.mysub-plan-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.mysub-plan-card{border:1px solid var(--border);background:var(--card);border-radius:12px;flex-direction:column;padding:16px;display:flex}.mysub-plan-name{font-size:15px;font-weight:700}.mysub-plan-price{color:var(--blue);margin-top:4px;font-size:22px;font-weight:700}.mysub-plan-price span{color:var(--text-muted);font-size:12px;font-weight:500}.mysub-plan-total{color:var(--text-muted);margin-top:2px;font-size:12.5px}.mysub-plan-desc{color:var(--text-light);margin:10px 0 0;font-size:12.5px;line-height:1.5}.mysub-plan-features{flex-direction:column;flex:1;gap:5px;margin:10px 0 0;padding:0;list-style:none;display:flex}.mysub-plan-features li{color:var(--text);align-items:center;gap:6px;font-size:12.5px;display:flex}.mysub-plan-features li svg{color:var(--blue);flex-shrink:0}.admin-sidebar{background:#0f172a}.admin-brand{border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:11px;height:72px;padding:0 16px;display:flex;position:relative}.admin-brand-mark img,.admin-login-mark img{width:auto;max-width:80%;height:auto;max-height:82%;display:block}.admin-brand-mark{color:#fff;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:34px;display:inline-flex}.admin-brand-text{color:#fff;flex-direction:column;min-width:0;font-size:14.5px;font-weight:700;line-height:1.25;display:flex}.admin-brand-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--sidebar-text);font-size:11px;font-weight:500}.admin-sidebar-foot{color:#fbbf24;background:#f59e0b1f;border-radius:9px;align-items:flex-start;gap:8px;margin:auto 12px 14px;padding:10px 12px;font-size:11.5px;line-height:1.4;display:flex}.admin-sidebar-foot .app-icon{flex-shrink:0;margin-top:1px}.admin-topbar{gap:14px}.admin-topbar-title{color:var(--text);white-space:nowrap;font-size:15px;font-weight:700}.admin-topbar .topbar-right{align-items:center;gap:14px;margin-left:auto;display:flex}.admin-user{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:4px;font-family:inherit;line-height:1.25;display:flex}.admin-user:hover{background:var(--row-hover,#f8fafc)}.admin-exit-btn,.admin-logout-btn{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.admin-logout-btn{color:var(--red-text,#b91c1c)}.admin-logout-btn:hover{background:var(--red-bg,#fee2e2);border-color:var(--red,#dc2626)}.admin-plan-spread{flex-direction:column;gap:12px;padding:4px 0 2px;display:flex}.admin-plan-row{grid-template-columns:96px 1fr 28px;align-items:center;gap:10px;font-size:13px;display:grid}.admin-plan-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-plan-bar{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.admin-plan-bar>span{background:var(--blue);border-radius:4px;height:100%;display:block}.admin-plan-count{text-align:right;font-weight:700}.admin-login-page{--bg:#f3f5f8;--card:#fff;--border:#e5e9ef;--text:#1f2937;--text-muted:#6b7280;background:radial-gradient(120% 90% at 50% -10%,#1b2a4e 0%,#0b1120 55%,#070b16 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.admin-login-grid{background-image:linear-gradient(#94a3b812 1px,#0000 1px),linear-gradient(90deg,#94a3b812 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 50% 30%,#000 0%,#0000 75%);mask-image:radial-gradient(80% 70% at 50% 30%,#000 0%,#0000 75%)}.admin-login-glow{filter:blur(90px);opacity:.22;pointer-events:none;border-radius:50%;width:520px;height:520px;position:absolute}.admin-login-glow-a{background:#2563eb;top:-160px;left:-120px}.admin-login-glow-b{background:#7c3aed;bottom:-180px;right:-140px}.admin-login-shell{flex-direction:column;align-items:center;width:100%;max-width:400px;display:flex;position:relative}.admin-login-brand{align-items:center;gap:11px;margin-bottom:22px;display:flex}.admin-login-brand-text{flex-direction:column;line-height:1.25;display:flex}.admin-login-brand-text strong{color:#fff;letter-spacing:.01em;font-size:15px}.admin-login-brand-text span{color:#8b97b0;letter-spacing:.04em;text-transform:uppercase;font-size:11.5px}.admin-login-card{background:var(--card);border-radius:16px;flex-direction:column;width:100%;padding:34px 30px 28px;display:flex;box-shadow:0 24px 60px #00000073,0 0 0 1px #ffffff0a}.admin-login-mark{color:#fff;background:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:40px;display:inline-flex;box-shadow:0 6px 16px #2563eb73}.admin-login-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--blue);font-size:11px;font-weight:700}.admin-login-card h1{color:var(--text);margin:6px 0 22px;font-size:23px;font-weight:700}.admin-login-sub{color:var(--text-muted);margin:7px 0 22px;font-size:13px;line-height:1.55}.admin-login-label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600}.admin-login-input-wrap{margin-bottom:16px;position:relative}.admin-login-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.admin-login-card input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:9px;outline:none;padding:11px 12px 11px 38px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.admin-login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb26}.admin-login-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-color:#0000;justify-content:center;width:100%;margin-top:6px;box-shadow:0 10px 24px #2563eb59}.admin-login-alt{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:4px;margin-top:20px;font-size:12.5px;font-weight:500;display:flex}.admin-login-alt:hover{color:var(--blue)}.admin-login-footer{color:#6b7a93;align-items:center;gap:6px;margin:22px 0 0;font-size:11.5px;display:flex}@media (width<=900px){.admin-topbar-title{display:none}.admin-plan-row{grid-template-columns:80px 1fr 26px}}.admin-login-card .password-input-wrap{margin-bottom:16px}.admin-login-card .password-input-wrap input{margin-bottom:0;padding-right:42px}.profile-section-divider{border:none;border-top:1px solid var(--border);margin:22px 0 16px}.tb-login-wide{background:linear-gradient(90deg,#e9f1fc 0%,#f3f7fe 50%,#fbfdff 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;overflow:hidden}.tb-stage-box{position:relative}.tb-stage{transform-origin:0 0;background-repeat:no-repeat;background-size:1536px 1024px;font-family:inherit;position:absolute;top:0;left:0}.tb-card-slot{width:504px;height:773px;position:absolute;top:150px;left:943px}.tb-card{--tb-blue:#0b63f6;--tb-navy:#0d1b3e;box-sizing:border-box;width:504px;height:773px;color:var(--tb-navy);background:#fff;border-radius:20px;padding:48px 45px 0 46px;position:relative;box-shadow:0 18px 50px #244ca021}.tb-card-mark{justify-content:center;display:flex}.tb-card h2{text-align:center;letter-spacing:-.3px;height:40px;margin:22px 0 0;font-size:34px;font-weight:700;line-height:40px}.tb-card-sub{text-align:center;color:#5a6a85;height:24px;margin:7px 0 0;font-size:18px;line-height:24px}.tb-msg{text-align:center;color:#5a6a85;height:24px;font-size:13px;line-height:24px;position:absolute;top:214px;left:46px;right:46px}.tb-msg.err{color:#d33}.tb-label{height:20px;margin:35px 0 0;font-size:15px;font-weight:600;line-height:20px;display:block}.tb-label.pw{margin-top:24px}.tb-input{box-sizing:border-box;background:#fff;border:1px solid #d9e0ec;border-radius:8px;align-items:center;height:50px;margin-top:10px;transition:border-color .15s,box-shadow .15s;display:flex}.tb-input:focus-within{border-color:var(--tb-blue);box-shadow:0 0 0 3px #0b63f61f}.tb-input-icon{box-sizing:border-box;color:#56657f;align-items:center;width:54px;padding-left:17px;display:flex}.tb-input input{min-width:0;height:100%;color:var(--tb-navy);background:0 0;border:0;outline:0;flex:1;padding:0;font-family:inherit;font-size:15px}.tb-input input::placeholder{color:#98a3b8}.tb-input-toggle{color:#56657f;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:46px;height:100%;padding:0;display:flex}.tb-row{justify-content:space-between;align-items:center;height:24px;margin-top:23px;font-size:14px;display:flex}.tb-row a{color:var(--tb-blue);text-decoration:none}.tb-remember{cursor:pointer;color:#2b3a57;align-items:center;gap:12px;display:flex}.tb-remember input{width:18px;height:18px;accent-color:var(--tb-blue);margin:0}.tb-submit{background:var(--tb-blue);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;height:50px;margin-top:28px;font-family:inherit;font-size:17px;font-weight:600;display:flex}.tb-submit:hover:not(:disabled){background:#0850cc}.tb-submit:disabled{opacity:.7;cursor:default}.tb-or{text-align:center;color:#7d879b;height:20px;margin-top:21px;font-size:13px;line-height:20px;position:relative}.tb-or:before,.tb-or:after{content:"";background:#d9e0ec;width:calc(50% - 26px);height:1px;position:absolute;top:10px}.tb-or:before{left:0}.tb-or:after{right:0}.tb-or span{background:#fff;padding:0 6px;position:relative}.tb-google{box-sizing:border-box;color:#1c2a48;cursor:pointer;background:#fff;border:1px solid #dde3ee;border-radius:8px;justify-content:center;align-items:center;gap:12px;width:100%;height:45px;margin-top:18px;font-family:inherit;font-size:15px;font-weight:600;display:flex}.tb-google:hover{background:#f8faff}.tb-copy a{color:#5a6a85;text-decoration:underline}.tb-copy a:hover{color:var(--tb-blue)}.tb-copy{text-align:center;color:#7d879b;margin-top:40px;font-size:12.5px;line-height:17px}.tb-login-mobile{background:linear-gradient(160deg,#e9f1fc,#fff);justify-content:center;align-items:center;min-height:100vh;padding:24px 12px;display:flex}.tb-login-mobile .tb-card{max-width:100%;height:auto;padding-bottom:28px}.tb-login-mobile .tb-card-logo{height:58px}.tb-login-wide{background:linear-gradient(100deg,#e6f0ff 0%,#f1f6ff 45%,#fbfdff 100%);height:100vh;position:relative}.tb-stage-box{z-index:1}.tb-card-logo{width:auto;height:70px;display:block}.tb-card-mark{height:70px}.tb-copy-sep{color:#b8c2d4;margin:0 8px}.tbh-circle{background:radial-gradient(circle at 40% 35%,#dce8ff 0%,#e8f0ff 45%,#e8f0ff00 70%);border-radius:50%;width:700px;height:700px;position:absolute;top:300px;left:470px}.tbh-shards{width:190px;height:264px;position:absolute;top:760px;left:0}.tbh-shards i{position:absolute;inset:0}.tbh-shards i:first-child{clip-path:polygon(0 18%,100% 100%,0 100%);background:linear-gradient(160deg,#60a5fa,#1d4ed8)}.tbh-shards i:nth-child(2){clip-path:polygon(0 0,46% 52%,0 64%);background:linear-gradient(160deg,#fdba74,#f97316)}.tbh-shards i:nth-child(3){clip-path:polygon(46% 52%,100% 100%,30% 100%);opacity:.7;background:linear-gradient(160deg,#93c5fd,#2563eb)}.tbh-dots{background-image:radial-gradient(#b9cbea 1.6px,#0000 1.8px);background-size:14px 14px;width:56px;height:104px;position:absolute;top:96px;left:1466px}.tbh-script{color:#1d4ed8;font-family:Segoe Script,Brush Script MT,Comic Sans MS,cursive;font-size:19px;line-height:1.15;position:absolute;top:690px;left:848px;transform:rotate(-12deg)}.tbh-script:after{content:"";background:#1d4ed8;border-radius:3px;height:3px;position:absolute;bottom:-14px;left:-10px;right:-6px;transform:rotate(-6deg)}.tb-hero-logo{width:320px;height:auto;position:absolute;top:46px;left:84px}.tb-hero-tag{text-align:right;color:#0d1b3e;font-size:16px;font-weight:700;position:absolute;top:40px;right:89px}.tb-hero-tag i{background:#0b63f6;border-radius:50%;width:9px;height:9px;margin-left:6px;display:inline-block}.tb-hero-tag span{color:#5a6a85;margin-top:4px;font-size:14px;font-weight:500;display:block}.tb-hero-eyebrow{letter-spacing:.16em;color:#0b63f6;align-items:center;font-size:18px;font-weight:800;display:flex;position:absolute;top:178px;left:84px}.tb-hero-eyebrow i{background:#0b63f6;border-radius:50%;width:6px;height:6px;margin:0 18px;display:inline-block}.tb-hero-eyebrow b{background:#0b63f6;border-radius:50%;width:12px;height:12px;margin-left:12px;display:inline-block;box-shadow:0 0 0 4px #0b63f62e}.tb-hero-title{letter-spacing:-.02em;color:#0d1b3e;width:800px;margin:0;font-size:62px;font-weight:800;line-height:1.08;position:absolute;top:210px;left:84px}.tb-hero-title b{color:#0b63f6;font-weight:800}.tb-hero-text{color:#4a5b78;width:640px;margin:0;font-size:21px;line-height:1.5;position:absolute;top:362px;left:84px}.tb-hero-modules{gap:18px;display:flex;position:absolute;top:452px;left:84px}.tbh-mod{box-sizing:border-box;background:#ffffffeb;border:1px solid #e3eaf6;border-radius:14px;width:172px;height:112px;padding:16px 18px;box-shadow:0 10px 26px #1e408c12}.tbh-mod strong{color:#0d1b3e;margin-top:12px;font-size:16px;font-weight:700;line-height:1.3;display:block}.tbh-ico{border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.tbh-ico.blue{color:#2563eb;background:#e3edff}.tbh-ico.green{color:#16a34a;background:#dcfce7}.tbh-ico.purple{color:#7c3aed;background:#ede9fe}.tbh-ico.orange{color:#f97316;background:#ffedd5}.tbm-laptop{background:#f5f8fd;border:7px solid #111b33;border-radius:16px;grid-template-columns:124px 1fr;width:606px;height:372px;display:grid;position:absolute;top:606px;left:232px;overflow:hidden;box-shadow:0 28px 60px #1e408c38}.tbm-side{background:#0f1b38;align-content:start;gap:4px;padding:12px 10px;display:grid}.tbm-logo{width:auto;height:22px;margin:2px 0 12px 4px}.tbm-side span{color:#a9b8d6;border-radius:7px;align-items:center;gap:8px;padding:7px 9px;font-size:11px;font-weight:600;display:flex}.tbm-side span.on{color:#fff;background:#2563eb}.tbm-main{min-width:0;padding:12px 14px}.tbm-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.tbm-search{color:#98a6bd;background:#fff;border:1px solid #e3eaf6;border-radius:7px;align-items:center;gap:6px;width:52%;height:26px;padding:0 9px;font-size:10px;display:flex}.tbm-user{color:#0d1b3e;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.tbm-user i{background:linear-gradient(135deg,#2563eb,#60a5fa);border-radius:50%;width:22px;height:22px}.tbm-kpis{grid-template-columns:repeat(3,1fr);gap:9px;margin:11px 0 9px;display:grid}.tbm-kpis>div{background:#fff;border:1px solid #e3eaf6;border-radius:9px;padding:9px 11px}.tbm-kpis small,.tbm-chart small,.tbm-donut small{color:#5a6a85;font-size:10px;font-weight:700;display:block}.tbm-kpis strong{color:#0d1b3e;margin:2px 0;font-size:19px;display:block}.tbm-kpis em{color:#16a34a;font-size:10px;font-style:normal;font-weight:700}.tbm-row{grid-template-columns:1.15fr 1fr;gap:9px;display:grid}.tbm-chart,.tbm-donut{background:#fff;border:1px solid #e3eaf6;border-radius:9px;padding:9px 11px}.tbm-chart svg{width:100%;height:120px;margin-top:6px;display:block}.tbm-axis{color:#98a6bd;justify-content:space-between;margin-top:3px;font-size:8px;display:flex}.tbm-donut-in{align-items:center;gap:10px;margin-top:12px;display:flex}.tbm-ring{flex:none;width:92px;height:92px;position:relative}.tbm-ring svg{width:100%;height:100%}.tbm-ring span{text-align:center;color:#5a6a85;place-content:center;font-size:8px;display:grid;position:absolute;inset:0}.tbm-ring b{color:#0d1b3e;font-size:14px;display:block}.tbm-donut ul{flex:1;gap:9px;margin:0;padding:0;list-style:none;display:grid}.tbm-donut li{color:#2b3a57;align-items:center;gap:6px;font-size:10px;display:flex}.tbm-donut li i{border-radius:50%;width:8px;height:8px}.tbm-donut li b{color:#0d1b3e;margin-left:auto}.tbm-phone{box-sizing:border-box;background:#fff;border:6px solid #111b33;border-radius:26px;width:152px;height:300px;padding:18px 10px 0;position:absolute;top:690px;left:84px;overflow:hidden;box-shadow:0 24px 50px #1e408c40}.tbm-notch{background:#111b33;border-radius:0 0 8px 8px;width:52px;height:10px;position:absolute;top:0;left:50%;transform:translate(-50%)}.tbm-phone-top{color:#0d1b3e;justify-content:space-between;align-items:center;font-size:7px;font-weight:700;display:flex}.tbm-phone-top img{width:auto;height:12px}.tbm-phone-top span:last-child{width:14px}.tbm-hi{color:#0d1b3e;margin:8px 0 7px;font-size:10px;font-weight:800;line-height:1.2}.tbm-hi small{color:#8392ab;font-size:7px;font-weight:500;display:block}.tbm-total{border:1px solid #e3eaf6;border-radius:9px;padding:7px 8px;position:relative}.tbm-total small{color:#5a6a85;font-size:7px;display:block}.tbm-total strong{color:#0d1b3e;font-size:13px;display:block}.tbm-total em{color:#16a34a;font-size:7px;font-style:normal;font-weight:700}.tbm-total svg{width:48px;height:18px;position:absolute;bottom:8px;right:6px}.tbm-tiles{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.tbm-tiles span{color:#2b3a57;background:#f4f7fd;border-radius:8px;justify-items:center;gap:3px;padding:7px 2px;font-size:7px;font-weight:600;display:grid}.tbm-tiles span svg{color:#2563eb}.tbm-tiles span.purple svg{color:#7c3aed}.tbm-tiles span.orange svg{color:#f97316}.tbm-nav{background:#fff;border-top:1px solid #e3eaf6;justify-content:space-around;padding:6px 4px 8px;display:flex;position:absolute;bottom:0;left:0;right:0}.tbm-nav span{color:#8392ab;justify-items:center;gap:2px;font-size:6px;display:grid}.tbm-nav span.on{color:#2563eb}.dp-wrap{width:100%;position:relative}.dp-wrap .dp-input{cursor:pointer;text-overflow:ellipsis;width:100%;padding-right:42px}.dp-wrap .dp-input:disabled,.dp-wrap .dp-input.field-readonly{cursor:default}.dp-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.dp-pop{z-index:10000;box-sizing:border-box;background:var(--card,#fff);border:1px solid var(--border);color:var(--text);-webkit-user-select:none;user-select:none;border-radius:14px;padding:14px;position:fixed;box-shadow:0 18px 48px #0f1e4638}.dp-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.dp-nav{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.dp-nav:hover{background:var(--bg);color:var(--text)}.dp-title{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;padding:6px 10px;font-size:15px;font-weight:700;display:inline-flex}.dp-title:hover:not(.static){background:var(--bg)}.dp-title.static{cursor:default}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-week{margin-bottom:4px}.dp-week span{text-align:center;color:var(--text-light);padding:4px 0;font-size:12px;font-weight:600}.dp-day{height:36px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:13.5px}.dp-day:hover:not(:disabled):not(.selected){background:var(--bg)}.dp-day.other{color:var(--text-light);opacity:.55}.dp-day.today:not(.selected){box-shadow:inset 0 0 0 1.5px var(--primary,#2563eb);color:var(--primary,#2563eb);font-weight:600}.dp-day.selected{background:var(--primary,#2563eb);color:#fff;opacity:1;font-weight:600}.dp-day:disabled{opacity:.3;cursor:not-allowed}.dp-foot{border-top:1px solid var(--border);justify-content:space-between;margin-top:10px;padding-top:10px;display:flex}.dp-foot button{color:var(--primary,#2563eb);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.dp-foot button:hover{background:var(--bg)}.dp-months{grid-template-columns:repeat(3,1fr);gap:8px;padding:6px 0 4px;display:grid}.dp-month{height:48px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:14px}.dp-month:hover:not(.selected){background:var(--bg)}.dp-month.selected{background:var(--primary,#2563eb);color:#fff;font-weight:600}.dp-time{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:8px;margin-top:10px;padding-top:10px;font-size:13px;display:flex}.dp-time span{margin-right:auto;font-weight:600}.dp-time select{border:1px solid var(--border);background:var(--card,#fff);width:64px;height:34px;color:var(--text);border-radius:8px;padding:0 8px;font-size:13px}.dp-done{background:var(--primary,#2563eb);color:#fff;cursor:pointer;border:0;border-radius:8px;height:34px;margin-left:4px;padding:0 14px;font-size:13px;font-weight:600}.req{color:var(--red,#dc2626);font-weight:700}.login-error{border:1px solid #dc26264d;border-left:4px solid var(--red,#dc2626);color:var(--red,#dc2626);font-weight:500}.field-error{color:var(--red,#dc2626);margin-top:5px;font-size:12.5px;font-weight:500;display:block}.field.has-error input:not([type=checkbox]),.field.has-error select,.field.has-error textarea{box-shadow:0 0 0 3px #dc26261a;border-color:var(--red,#dc2626)!important}.field.has-error>label{color:var(--red,#dc2626)}.toast{border-left:4px solid #0000;align-items:center;gap:10px;animation:.22s ease-out toast-in;display:flex}.toast.success{background:#0f3d2e;border-left-color:#22c55e}.toast.success svg{color:#4ade80}.toast.error{background:#4a1418;border-left-color:#ef4444}.toast.error svg{color:#f87171}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.table-search input{padding-right:38px}.table-search .table-search-clear{width:24px;height:24px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.table-search .table-search-clear:hover{background:var(--bg);color:var(--text)}.skeleton-row td{padding-top:18px;padding-bottom:18px}.skeleton-bar{background:linear-gradient(90deg, var(--border) 25%, var(--bg) 50%, var(--border) 75%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.2s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.settings-tabs{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:6px;margin-bottom:18px;padding:6px;display:flex}.settings-tab{font:inherit;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s}.settings-tab:hover{background:var(--row-hover);color:var(--text)}.settings-tab.active,.settings-tab.active:hover{background:var(--blue);color:#fff;box-shadow:0 1px 3px #0000002e}@media (width<=720px){.settings-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.settings-tabs::-webkit-scrollbar{display:none}}.sb-status{background:var(--green-bg);color:var(--green-dark);border-radius:999px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 1px 4px #16a34a2e}.sb-status.off{background:var(--red-bg);color:var(--red-text);box-shadow:none}.sb-kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;display:grid}.sb-kpi{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:4px;padding:20px;display:flex;position:relative;overflow:hidden}.sb-kpi:after{content:"";background:radial-gradient(circle, var(--blue-bg), transparent 70%);opacity:.55;pointer-events:none;border-radius:50%;width:130px;height:130px;position:absolute;top:-40px;right:-40px}.sb-kpi .sb-tile{margin-bottom:10px}.sb-kpi-label{color:var(--text-muted);font-size:13px}.sb-kpi-value{color:var(--text);font-size:22px;font-weight:800;line-height:1.25}.sb-kpi-value.sm{font-size:16px}.sb-tile{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.sb-tile.sm{border-radius:10px;width:38px;height:38px}.sb-tile.blue{background:var(--blue-bg);color:var(--blue)}.sb-tile.green{background:var(--green-bg);color:var(--green-dark)}.sb-tile.purple{background:var(--purple-bg);color:var(--purple-text)}.sb-tile.orange{background:var(--orange-bg);color:var(--orange-dark)}.sb-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;margin-bottom:18px;padding:22px}.sb-card-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.sb-card-head h2{color:var(--text);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.sb-card-head p{color:var(--text-muted);margin:3px 0 0;font-size:13px}.sb-card-link{color:var(--text-muted);border-radius:8px;align-self:center;margin-left:auto;padding:6px;display:inline-flex}.sb-card-link:hover{background:var(--row-hover);color:var(--text)}.sb-tier{letter-spacing:.04em;text-transform:uppercase;background:var(--blue-bg);color:var(--blue-dark);border-radius:6px;padding:2px 8px;font-size:10.5px;font-weight:700}.sb-facts{border:1px solid var(--border);background:var(--bg);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid;overflow:hidden}.sb-facts>div{border-left:1px solid var(--border);flex-direction:column;gap:5px;padding:14px 18px;display:flex}.sb-facts>div:first-child{border-left:0}.sb-facts span{color:var(--text-light);font-size:12px}.sb-facts strong{color:var(--text);font-size:14.5px}.sb-subhead{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:20px 0 10px;font-size:12.5px;font-weight:700}.sb-features{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.sb-features li{color:var(--text);align-items:center;gap:9px;font-size:14px;display:flex}.sb-features svg{color:var(--blue);flex-shrink:0}.sb-menus{flex-direction:column;display:flex}.sb-menu-row{border-radius:8px;padding:11px 14px}.sb-menu-row:nth-child(odd){background:var(--bg)}.sb-menu-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sb-menu-name{color:var(--text);align-items:center;gap:12px;font-size:14px;font-weight:500;display:inline-flex}.sb-menu-name svg{color:var(--text-muted)}.sb-pill{background:var(--gray-bg);color:var(--gray-text);white-space:nowrap;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:700}.sb-pill.full{background:var(--green-bg);color:var(--green-dark)}.sb-pill.partial{background:var(--amber-bg);color:var(--amber-text)}.sb-menu-children{flex-wrap:wrap;gap:6px;margin:10px 0 2px 30px;display:flex}.sb-chips{flex-wrap:wrap;gap:8px;margin-left:50px;display:flex}.sb-upgrade{background:linear-gradient(180deg, var(--blue-bg) -80%, var(--card) 40%)}.sb-terms{flex-wrap:wrap;gap:8px;margin:0 0 16px 50px;display:flex}.sb-term{border:1px solid var(--border);background:var(--card);font:inherit;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:7px 18px;font-size:13px}.sb-term:hover{border-color:var(--blue);color:var(--blue)}.sb-term.active{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.sb-notice{color:var(--text);background:#fff7e6;border:1px solid #fde3b0;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:11px 14px;font-size:13px;display:flex}.sb-notice svg{color:#d97706;flex-shrink:0}.sb-plans{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.sb-plan{border:1px solid var(--border);background:var(--card);border-radius:12px;flex-direction:column;padding:20px;display:flex}.sb-plan-name{color:var(--text);font-size:15px;font-weight:700}.sb-plan-price{color:var(--blue);margin-top:6px;font-size:26px;font-weight:800}.sb-plan-price span{color:var(--text-muted);font-size:13px;font-weight:500}.sb-plan-total{color:var(--text-muted);font-size:12.5px}.sb-plan-desc{color:var(--text-light);margin:10px 0 0;font-size:12.5px;line-height:1.5}.sb-plan-features{color:var(--text);flex-direction:column;gap:6px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.sb-plan-features li{align-items:center;gap:8px;display:flex}.sb-plan-features svg{color:var(--blue);flex-shrink:0}.sb-plan-btn{width:100%;margin-top:auto;padding:12px}.sb-plan-features+.sb-plan-btn,.sb-plan-desc+.sb-plan-btn,.sb-plan-total+.sb-plan-btn{margin-top:16px}@media (width<=1000px){.sb-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.sb-kpis{grid-template-columns:1fr;gap:12px}.sb-card{padding:16px}.sb-facts{grid-template-columns:1fr 1fr}.sb-facts>div:nth-child(odd){border-left:0}.sb-facts>div{border-top:1px solid var(--border)}.sb-chips,.sb-terms,.sb-menu-children{margin-left:0}}.scan-modal{flex-direction:column;gap:4px;min-width:280px;display:flex}.scan-video-wrap{aspect-ratio:4/3;background:#000;border-radius:12px;width:100%;position:relative;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;display:block}.scan-frame{pointer-events:none;border:2px solid #ffffffd9;border-radius:10px;position:absolute;inset:14% 18%;box-shadow:0 0 0 999px #00000047}.scan-manual-row{gap:8px;margin-top:14px;display:flex}.scan-manual-row input{flex:1}.field-scan-row{gap:8px;display:flex}.field-scan-row input{flex:1}.field-scan-btn{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.scan-add-row{align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.scan-add-row .field{flex:1;min-width:0;margin:0}.scan-add-row .field label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.scan-add-row .field input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:8px;padding:9px 12px;font-size:13.5px}.scan-add-row .btn{flex-shrink:0;height:38px}.scan-add-feedback{margin:-6px 0 14px;font-size:12.5px}@media (width<=640px){.scan-add-row{flex-wrap:wrap}.scan-add-row .field{flex-basis:100%}}.scan-add-feedback.ok{color:var(--green-dark)}.scan-add-feedback.err{color:var(--red-text)}.tags-cell{flex-direction:column;gap:5px;min-width:150px;display:flex}.tags-cell-chips{flex-wrap:wrap;gap:4px;display:flex}.tags-cell-chip{background:var(--blue-bg);color:var(--blue-dark);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 6px 2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.tags-cell-chip button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;padding:0;font-size:13px;line-height:1}.tags-cell-chip button:hover{opacity:1}.tags-cell-input-row{gap:4px;display:flex}.tags-cell-input-row input{flex:1;min-width:0;padding:5px 8px;font-size:12.5px}.tags-cell-input-row .icon-btn{flex-shrink:0;width:26px;height:26px}.cf-entity-picker{max-width:320px;margin:16px 0 18px}.cf-entity-picker label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.cf-entity-picker select{border:1px solid var(--border);background:var(--card);width:100%;color:var(--text);border-radius:8px;padding:9px 12px;font-size:13.5px}:root{--radius:12px;--shadow-md:0 6px 18px #10182814;--ring:0 0 0 3px color-mix(in srgb, var(--blue) 22%, transparent)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;line-height:1.45}.topbar{padding:11px 28px;box-shadow:0 1px #10182808}.topbar-search{border-color:#0000;border-radius:10px;transition:border-color .15s,box-shadow .15s,background .15s}.topbar-search:focus-within{background:var(--card);border-color:var(--blue);box-shadow:var(--ring)}.topbar-date{border-radius:10px;font-size:13px;font-weight:600}.nav-item{border-radius:9px;gap:12px;margin-bottom:2px;padding:10px 12px;font-size:14px}.nav-item.active{box-shadow:0 4px 12px #2563eb59}.nav-subitem{padding:8px 10px;font-size:13.2px}.nav-subitem.active{box-shadow:0 3px 10px #2563eb4d}.page-header{margin-bottom:18px}.page-header h1{letter-spacing:-.015em;margin-bottom:4px;font-size:24px;font-weight:700}.breadcrumb{font-size:12.5px}.btn{border-radius:9px;padding:9px 16px;font-size:13.5px;transition:background .15s,border-color .15s,box-shadow .15s,transform 50ms;box-shadow:0 1px 2px #1018280d}.btn:hover{border-color:color-mix(in srgb, var(--blue) 35%, var(--border))}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn-primary{box-shadow:0 1px 2px #2563eb59,0 4px 10px #2563eb2e}.btn-primary:hover{border-color:var(--blue-dark);box-shadow:0 2px 4px #2563eb66,0 6px 14px #2563eb38}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.list-card,.filter-bar,.dash-card{border-radius:14px}.filter-bar{box-shadow:var(--shadow)}.modal-card{border-radius:16px;box-shadow:0 24px 64px #0f213847}.modal-header h3{font-size:16.5px;font-weight:700}.add-form input:focus,.add-form textarea:focus,.filter-field input:focus,.settings-form .field input:focus{border-color:var(--blue);box-shadow:var(--ring);outline:none}.add-form label,.filter-field label{letter-spacing:.01em}.combo-control{transition:border-color .15s,box-shadow .15s}.combo-control:hover:not(.combo-disabled){border-color:color-mix(in srgb, var(--blue) 40%, var(--border))}.combo-control.open{box-shadow:var(--ring)}.combo-menu{border-radius:12px;box-shadow:0 14px 34px #1018282e}table.data-table thead th{letter-spacing:.045em;text-transform:uppercase;padding:12px 18px;font-size:11.5px;font-weight:700}table.data-table tbody td{padding:13px 18px}table.data-table tbody tr{transition:background .12s}.cell-link:hover{text-decoration:underline}.cell-primary{font-weight:600}.badge{letter-spacing:.01em;padding:4px 11px;font-size:11.5px}.dash-quick{flex-wrap:wrap;align-items:center;gap:10px;margin:-4px 0 22px;display:flex}.dash-quick-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-light);margin-right:4px;font-size:11.5px;font-weight:700}.dash-quick-btn{border:1px solid var(--border);background:var(--card);color:var(--text);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:9px;padding:7px 14px 7px 7px;font-size:13.5px;font-weight:600;transition:border-color .15s,box-shadow .15s,transform .15s,color .15s;display:inline-flex}.dash-quick-btn:hover{border-color:var(--blue);color:var(--blue);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dash-quick-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.dash-quick-icon.blue{background:var(--blue-bg);color:var(--blue)}.dash-quick-icon.green{background:var(--green-bg);color:var(--green-dark)}.dash-quick-icon.purple{background:var(--purple-bg);color:var(--purple)}.dash-quick-icon.teal{background:var(--teal-bg);color:var(--teal-dark)}.dash-quick-icon.orange{background:var(--orange-bg);color:var(--orange-dark)}.dash-quick-plus{color:var(--text-light);margin-left:-2px}.dash-kpi{border-radius:14px;padding:18px 18px 16px 22px;position:relative;overflow:hidden}.dash-kpi:before{content:"";background:var(--kpi-accent,var(--blue));width:4px;position:absolute;top:0;bottom:0;left:0}.dash-kpi.tone-blue{--kpi-accent:var(--blue)}.dash-kpi.tone-green{--kpi-accent:var(--green)}.dash-kpi.tone-purple{--kpi-accent:var(--purple)}.dash-kpi.tone-teal{--kpi-accent:var(--teal)}.dash-kpi.tone-orange{--kpi-accent:var(--orange)}.dash-kpi.tone-red{--kpi-accent:var(--red)}.dash-kpi-label{color:var(--text-muted);font-size:12.5px;font-weight:600}.dash-kpi-value{letter-spacing:-.02em;font-size:26px;font-weight:500;line-height:1.15}.dash-section-heading{margin:8px 0 14px}.dash-section-heading:after{content:"";background:var(--border);flex:1;height:1px;margin-left:12px}.dash-card-head{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:12px}.dash-table th{padding:8px 10px}.dash-range button{transition:background .15s,color .15s}@media (width<=640px){.dash-quick-label{flex-basis:100%}.dash-quick-btn{flex:auto;justify-content:center}}@media (prefers-reduced-motion:reduce){.btn,.dash-kpi,.dash-quick-btn,.combo-menu{transition:none!important;animation:none!important}}.cell-sub-inline{background:var(--blue-bg);color:var(--blue-dark);border-radius:999px;margin-left:4px;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-block}.cell-link-btn{font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.cell-link-btn:hover{text-decoration:underline}.copies-checks{gap:6px;display:grid}.copies-checks label{border:1px solid var(--border);background:var(--card,#fff);letter-spacing:.03em;text-transform:uppercase;color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s;display:flex}.copies-checks label.on{border-color:var(--blue);background:var(--blue-bg,#eff4ff)}.copies-checks input{width:16px;height:16px;accent-color:var(--blue);margin:0}.copies-checks input:disabled{cursor:not-allowed}.copies-picker{border:1px solid var(--border);background:var(--card);border-radius:9px;display:inline-flex;overflow:hidden}.copies-picker button{min-width:44px;color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s}.copies-picker button+button{border-left:1px solid var(--border)}.copies-picker button:hover:not(.active){background:var(--bg)}.copies-picker button.active{background:var(--blue);color:#fff}.copies-picker-hint{color:var(--text-light);text-transform:capitalize;margin-top:6px;font-size:11.5px}.pw-field{width:100%;display:block;position:relative}.pw-field input{width:100%;padding-right:44px!important}.pw-field-toggle{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-field-toggle:hover{color:var(--blue);background:var(--bg)}.page-header-title-row.has-icon{align-items:center;gap:16px}.page-header-icon{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:16px;flex:none;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 10px 22px #2563eb47}.page-header-title-row.has-icon h1{letter-spacing:-.02em;margin:0 0 2px;font-size:26px;font-weight:800}.page-header-sub{color:var(--text-muted);margin:0;font-size:14px}.page-header:has(.has-icon) .page-header-actions{align-items:center}.page-header:has(.has-icon) .filter-toggle-btn{background:var(--card);border-radius:12px;place-items:center;width:44px;height:44px;padding:0;display:inline-grid;box-shadow:0 2px 8px #0f172a0f}.page-header:has(.has-icon) .filter-toggle-btn.active{background:var(--blue)}.stat-card.stat-rich{border:1px solid #0000;border-radius:18px;align-items:flex-start;gap:16px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 18px #0f172a0d}.stat-rich.tone-blue{--tone:#2563eb;--tone-bg:#c9dffc;background:linear-gradient(135deg,#e8f2ff,#f6faff);border-color:#d7e6fb}.stat-rich.tone-green{--tone:#16a34a;--tone-bg:#bde7cf;background:linear-gradient(135deg,#e5f6ec,#f5fbf8);border-color:#d1eddd}.stat-rich.tone-purple{--tone:#7c3aed;--tone-bg:#dcd1fd;background:linear-gradient(135deg,#eee9ff,#f8f6ff);border-color:#e1d9fb}.stat-rich.tone-amber{--tone:#ea580c;--tone-bg:#fdd5b0;background:linear-gradient(135deg,#fff0e0,#fff9f2);border-color:#fbe2c8}.stat-rich.tone-red{--tone:#dc2626;--tone-bg:#f8c9c9;background:linear-gradient(135deg,#fde8e8,#fff6f6);border-color:#f8d4d4}.stat-rich-icon{color:#fff;background:var(--tone);z-index:1;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative;box-shadow:0 6px 14px #0f172a26}.stat-rich-body{z-index:1;min-width:0;position:relative}.stat-card.stat-rich .label{color:#1f2937;margin:0 0 6px;font-size:14px;font-weight:500}.stat-card.stat-rich .value{letter-spacing:-.02em;color:#0f172a;font-size:30px;font-weight:700;line-height:1.1}.stat-rich-note{color:var(--tone);background:#ffffffc7;border-radius:999px;align-items:center;margin-top:12px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.stat-rich-glow{background:var(--tone-bg);opacity:.5;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-46px;right:-34px}@media (width<=1100px){.stat-card.stat-rich{gap:12px;padding:16px}.stat-card.stat-rich .value{font-size:24px}}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.table-toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.toolbar-btn{border:1px solid var(--border);background:var(--card);height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:11px;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:600;display:inline-flex}.toolbar-btn:hover{background:var(--bg)}.toolbar-btn.active{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}.toolbar-count{background:var(--blue);color:#fff;text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:11px}.toolbar-date{border:1px solid var(--border);background:var(--card);height:40px;color:var(--text-muted);border-radius:11px;align-items:center;gap:4px;padding-left:14px;display:inline-flex}.toolbar-date .combo-control{box-shadow:none;background:0 0;border:0;min-width:124px}.card:has(.data-table-cards){box-shadow:none;background:0 0;border-color:#0000;overflow:visible}.card:has(.data-table-cards)>.table-toolbar{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:8px;box-shadow:0 4px 16px #0f172a0a}table.data-table.data-table-cards{border-collapse:separate;border-spacing:0 10px;font-size:14px}.data-table-cards thead th{white-space:normal;vertical-align:bottom;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:0 0;border-bottom:0;padding:6px 10px;font-size:11.5px;font-weight:700;line-height:1.25}.data-table-cards tbody td{background:var(--card);vertical-align:middle;border:0;padding:14px 10px}.data-table-cards tbody tr{box-shadow:0 1px 3px #0f172a0d,0 6px 16px #0f172a0a}.data-table-cards tbody td:first-child{border-radius:14px 0 0 14px;padding-left:14px}.data-table-cards tbody td:last-child{border-radius:0 14px 14px 0}.data-table-cards thead th:last-child,.data-table-cards tbody td:last-child{z-index:1;position:sticky;right:0}.data-table-cards thead th:last-child{background:var(--bg)}.data-table-cards tbody td:last-child{box-shadow:-10px 0 14px -10px #0f172a1f}.data-table-cards tbody tr:hover td{background:var(--blue-bg-soft,#f6f9ff)}.data-table-cards .loading-row{border-radius:14px}.data-table-cards .skeleton-row td{background:var(--card)}.id-pill{color:var(--blue);white-space:nowrap;background:#e8f1ff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}.id-pill:hover{background:#d6e7ff}.cell-icon{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.cell-icon .app-icon{color:var(--text-light)}.cell-two{align-items:center;gap:10px;display:flex}.avatar-tile,.thumb-tile{flex:none;place-items:center;width:38px;height:38px;display:grid}.avatar-tile{color:var(--blue);background:#e6efff;border-radius:50%}.thumb-tile{color:#64748b;background:#eef1f6;border-radius:10px}.cell-stack .cell-primary{color:var(--text);font-weight:600}.cell-stack .cell-sub{color:var(--text-light);margin-top:1px;font-size:12.5px}.status-pill{white-space:nowrap;color:#475569;background:#eef1f6;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.status-pill.ok{color:#15803d;background:#dcf5e6}.status-pill.warn{color:#c2610c;background:#fdecd2}.status-pill.info{color:#1d4ed8;background:#dbeafe}.status-pill.bad{color:#b91c1c;background:#fde2e2}.status-sub{max-width:150px;color:var(--text-light);margin-top:5px;font-size:11.5px;line-height:1.3}.row-end{align-items:center;gap:4px;display:inline-flex}.row-menu-btn,.row-chevron{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;text-decoration:none;display:inline-grid}.row-menu-btn:hover,.row-chevron:hover{background:var(--bg);color:var(--text)}.row-menu{z-index:10000;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:6px;position:fixed;box-shadow:0 16px 40px #0f172a33}.row-menu-item{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;text-decoration:none;display:flex}.row-menu-item:hover{background:var(--bg)}.row-menu-item.danger{color:var(--red,#dc2626)}.row-menu-item.disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .id-pill,[data-theme=dark] .avatar-tile{background:#3b82f62e}[data-theme=dark] .thumb-tile{color:#cbd5e1;background:#94a3b829}[data-theme=dark] .stat-rich{background:var(--card);border-color:var(--border)}[data-theme=dark] .stat-card.stat-rich .label,[data-theme=dark] .stat-card.stat-rich .value{color:var(--text)}[data-theme=dark] .stat-rich-note{background:#ffffff14}[data-theme=dark] .stat-rich-glow{opacity:.18}.dash-kpi{--kpi-from:var(--card);--kpi-to:var(--card);--kpi-border:var(--border);--kpi-glow:transparent;border:1px solid var(--kpi-border);background:linear-gradient(135deg, var(--kpi-from), var(--kpi-to));color:inherit;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:start;gap:4px 16px;padding:22px;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 18px #0f172a0d}.dash-kpi:before{display:none}.dash-kpi:after{content:"";background:var(--kpi-glow);opacity:.5;pointer-events:none;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-46px;right:-34px}.dash-kpi:hover{border-color:var(--kpi-border);transform:translateY(-2px);box-shadow:0 10px 26px #0f172a1a}.dash-kpi.tone-blue{--kpi-accent:#2563eb;--kpi-from:#e8f2ff;--kpi-to:#f6faff;--kpi-border:#d7e6fb;--kpi-glow:#c9dffc}.dash-kpi.tone-green{--kpi-accent:#16a34a;--kpi-from:#e5f6ec;--kpi-to:#f5fbf8;--kpi-border:#d1eddd;--kpi-glow:#bde7cf}.dash-kpi.tone-purple{--kpi-accent:#7c3aed;--kpi-from:#eee9ff;--kpi-to:#f8f6ff;--kpi-border:#e1d9fb;--kpi-glow:#dcd1fd}.dash-kpi.tone-teal{--kpi-accent:#0d9488;--kpi-from:#e0f6f3;--kpi-to:#f3fcfb;--kpi-border:#c9ece7;--kpi-glow:#b3e6df}.dash-kpi.tone-orange{--kpi-accent:#ea580c;--kpi-from:#fff0e0;--kpi-to:#fff9f2;--kpi-border:#fbe2c8;--kpi-glow:#fdd5b0}.dash-kpi.tone-red{--kpi-accent:#dc2626;--kpi-from:#fde8e8;--kpi-to:#fff6f6;--kpi-border:#f8d4d4;--kpi-glow:#f8c9c9}.dash-kpi.is-alert{border-color:#f1b5b5}.dash-kpi.is-alert:hover{border-color:#f1b5b5;box-shadow:0 10px 26px #dc262624}.dash-kpi .dash-kpi-icon:not(.skel){background:var(--kpi-accent,var(--blue));color:#fff;z-index:1;border-radius:50%;grid-area:1/1/span 3;width:44px;height:44px;margin:0;position:relative;box-shadow:0 6px 14px #0f172a26}.dash-kpi .dash-kpi-icon.skel{border-radius:50%;grid-area:1/1/span 3;width:44px;height:44px;margin:0}.dash-kpi.is-loading .dash-skel-line{grid-column:2}.dash-kpi-label,.dash-kpi-value,.dash-kpi .dash-delta{z-index:1;grid-column:2;position:relative}.dash-kpi .dash-kpi-label{color:#1f2937;font-size:14px;font-weight:500}.dash-kpi .dash-kpi-value{color:#0f172a;font-size:28px}.dash-kpi .dash-delta{background:#ffffffc7;border-radius:999px;width:fit-content;margin-top:6px;padding:3px 10px}[data-theme=dark] .dash-kpi{background:var(--card);border-color:var(--border)}[data-theme=dark] .dash-kpi:after{opacity:.16}[data-theme=dark] .dash-kpi .dash-kpi-label{color:var(--text-muted)}[data-theme=dark] .dash-kpi .dash-kpi-value{color:var(--text)}[data-theme=dark] .dash-kpi .dash-delta{background:#ffffff14}.stat-rich.tone-teal{--tone:#0d9488;--tone-bg:#b3e6df;background:linear-gradient(135deg,#e0f6f3,#f3fcfb);border-color:#c9ece7}.stat-rich.tone-orange{--tone:#ea580c;--tone-bg:#fdd5b0;background:linear-gradient(135deg,#fff0e0,#fff9f2);border-color:#fbe2c8}.un-page{gap:16px;min-width:0;display:grid}.un-hero{background:radial-gradient(380px 200px at 100%,#dfe9ff 0%,#0000 70%),linear-gradient(120deg,#f6f9ff,#eef4ff);border:1px solid #dbe6fb;border-radius:16px;align-items:center;gap:18px;min-height:112px;padding:22px 26px;display:flex;position:relative;overflow:hidden}.un-hero>div:not(.un-hero-art){z-index:1;min-width:0;max-width:620px;position:relative}.un-hero h1{color:#0d1b3e;margin:0 0 6px;font-size:24px;font-weight:800}.un-hero p{color:#475569;margin:0;font-size:14px;line-height:1.55}.un-hero-ico{color:#fff;z-index:1;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:16px;flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative;box-shadow:0 10px 24px #2563eb47}.un-hero-ico.small{border-radius:12px;width:46px;height:46px}.un-hero.has-art{padding-right:230px}@media (width<=1180px){.un-hero.has-art{padding-right:26px}.un-hero-art{display:none}}.un-hero-art{pointer-events:none;width:170px;height:100px;position:absolute;top:50%;right:34px;transform:translateY(-50%)}.un-hero-art i{background:linear-gradient(145deg,#93b4f8,#3b6fe0);border-radius:9px;width:46px;height:46px;position:absolute;transform:rotate(45deg)skew(-8deg,-8deg);box-shadow:inset -6px -6px #0d28782e,0 10px 20px #2563eb2e}.un-hero-art i:first-child{top:40px;left:20px}.un-hero-art i:nth-child(2){background:linear-gradient(145deg,#bcd0fb,#6d95ec);top:40px;left:66px}.un-hero-art i:nth-child(3){top:4px;left:43px}.un-hero-art i:nth-child(4){background:linear-gradient(145deg,#fdba74,#f97316);border-radius:7px;width:30px;height:30px;top:52px;left:120px;box-shadow:inset -4px -4px #78320a26}.un-tabs{scrollbar-width:none;border-bottom:1px solid var(--border);gap:6px;display:flex;overflow-x:auto}.un-tabs::-webkit-scrollbar{display:none}.un-tabs button{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2.5px solid #0000;flex:none;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px 12px;font-size:14px;font-weight:600;display:inline-flex}.un-tabs button span{background:var(--gray-bg);min-width:24px;color:var(--text-muted);text-align:center;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.un-tabs button:hover{color:var(--text)}.un-tabs button.on{color:var(--blue);border-bottom-color:var(--blue)}.un-tabs button.on span{background:var(--blue-bg);color:var(--blue)}.un-card{border:1px solid var(--border);background:var(--card);min-width:0;box-shadow:var(--shadow);border-radius:14px}.un-toolbar{align-items:center;gap:10px;padding:16px;display:flex}.un-search{border:1px solid var(--border);background:var(--card);min-width:0;max-width:420px;height:42px;color:var(--text-light);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex;position:relative}.un-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.un-search input{min-width:0;height:100%;font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:14px}.un-filter{margin-left:auto;position:relative}.un-filter>.btn{white-space:nowrap;gap:7px;height:42px}.un-filter>.btn.active{border-color:var(--blue);color:var(--blue)}.un-filter-menu{z-index:30;border:1px solid var(--border);background:var(--card);border-radius:12px;min-width:170px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 34px #0f172a24}.un-filter-menu small{letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);padding:6px 10px 4px;font-size:11px;font-weight:700;display:block}.un-filter-menu button{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:14px;display:flex}.un-filter-menu button:hover{background:var(--row-hover)}.un-filter-menu button.on{color:var(--blue);font-weight:600}.un-add{white-space:nowrap;height:42px}.un-table-wrap{border-top:1px solid var(--table-border);overflow-x:auto}.un-table{border-collapse:collapse;width:100%;font-size:14px}.un-table th{background:var(--table-head-bg);color:var(--table-head-text);text-align:left;white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:700}.un-table td{border-top:1px solid var(--table-border);color:var(--text);white-space:nowrap;padding:12px 16px}.un-table tbody tr:hover{background:var(--row-hover)}.un-table tr.off .un-name{color:var(--text-muted)}.un-num{width:44px;color:var(--text-muted)!important}.un-name{align-items:center;gap:12px;font-weight:600;display:inline-flex}.un-name-txt{flex-direction:column;min-width:0;display:flex}.un-name-txt small{color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:500;display:none}.un-ico{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.un-actions-h{width:110px;text-align:center!important}.un-actions{justify-content:center;gap:8px;display:flex}.un-act{border:1px solid var(--border);background:var(--card);width:32px;height:32px;color:var(--blue);cursor:pointer;border-radius:8px;place-items:center;display:grid}.un-act:hover{background:var(--blue-bg);border-color:#bfd3fb}.un-act.danger{color:var(--red)}.un-act.danger:hover{background:var(--red-bg);border-color:#fbc8c8}.un-act:disabled{opacity:.4;cursor:not-allowed}.un-empty{text-align:center;color:var(--text-muted)!important;white-space:normal!important;padding:36px 16px!important}.un-empty button{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.un-ico.t-count,.un-type.t-count{color:#2563eb;background:#e8efff}.un-ico.t-weight,.un-type.t-weight{color:#15803d;background:#e6f7ee}.un-ico.t-volume,.un-type.t-volume{color:#ea580c;background:#fff1e4}.un-ico.t-length,.un-type.t-length{color:#7c3aed;background:#f1eaff}.un-ico.t-area,.un-type.t-area{color:#0d9488;background:#e0f6f3}.un-ico.t-time,.un-type.t-time{color:#b45309;background:#fef3c7}.un-ico.t-other,.un-type.t-other{color:#495057;background:#f1f3f5}.un-type,.un-status{border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.un-status.on{color:#15803d;background:#dcfce7}.un-status.off{color:#6b7280;background:#f1f3f5}.un-foot{border-top:1px solid var(--table-border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:13px;display:flex}.un-pages{flex-wrap:wrap;gap:6px;display:flex}.un-pages button{border:1px solid var(--border);background:var(--card);min-width:34px;height:34px;font:inherit;color:var(--text);cursor:pointer;border-radius:8px;place-items:center;padding:0 8px;font-size:13px;font-weight:600;display:grid}.un-pages button.on{background:var(--blue);border-color:var(--blue);color:#fff}.un-pages button:disabled{opacity:.45;cursor:not-allowed}.un-drawer-backdrop{z-index:1000;background:var(--modal-overlay);justify-content:flex-end;animation:.18s un-fade;display:flex;position:fixed;inset:0}.un-drawer{background:var(--card);flex-direction:column;width:min(440px,100%);height:100%;animation:.22s un-slide;display:flex;overflow-y:auto;box-shadow:-18px 0 50px #0f172a2e}.un-drawer-head{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:22px 22px 18px;display:flex}.un-drawer-head>div{flex:1;min-width:0}.un-drawer-head h2{color:var(--text);margin:0 0 3px;font-size:19px;font-weight:800}.un-drawer-head p{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;overflow:hidden}.un-close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;place-items:center;display:grid}.un-close:hover{background:var(--gray-bg);color:var(--text)}.un-form{flex-direction:column;flex:1;padding:20px 22px 22px;display:flex}.un-form .login-error{margin-bottom:14px}.un-form>label{color:var(--text);margin:0 0 7px;font-size:13px;font-weight:600}.un-form>label b{color:var(--red)}.un-input{border:1px solid var(--border);background:var(--card);height:46px;color:var(--text-light);border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:0 12px;display:flex}.un-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.un-input input,.un-input select{min-width:0;height:100%;font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:14px}.un-input select{cursor:pointer}.un-input .un-combo{flex:1;align-self:stretch;min-width:0}.un-input .un-combo .combo-control{height:100%;box-shadow:none;background:0 0;border:0;padding:0}.un-input-a{place-items:center;width:18px;font-size:15px;font-weight:800;display:grid}.un-switch{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:10px;margin-bottom:20px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.un-switch i{background:#cbd5e1;border-radius:999px;width:44px;height:24px;transition:background .15s;position:relative}.un-switch i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.un-switch.on{color:var(--green-dark)}.un-switch.on i{background:var(--green)}.un-switch.on i:after{transform:translate(20px)}.un-note{color:#1e3a8a;background:#eef4ff;border-radius:10px;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.un-note svg{color:var(--blue);flex:none;margin-top:2px}.un-drawer-actions{gap:10px;margin-top:auto;padding-top:24px;display:flex}.un-drawer-actions .btn{flex:1;justify-content:center;height:44px}@keyframes un-fade{0%{opacity:0}}@keyframes un-slide{0%{opacity:.6;transform:translate(40px)}}[data-theme=dark] .un-hero{border-color:var(--border);background:radial-gradient(380px 200px at 100% 50%, #3b82f629 0%, transparent 70%), var(--card)}[data-theme=dark] .un-hero h1{color:var(--text)}[data-theme=dark] .un-hero p{color:var(--text-muted)}[data-theme=dark] .un-note{color:#c7d7fe;background:#3b82f624}[data-theme=dark] .un-ico,[data-theme=dark] .un-type,[data-theme=dark] .un-status{background:#94a3b824}@media (width<=760px){.un-hero{gap:14px;padding:18px}.un-hero-art{display:none}.un-hero-ico{width:52px;height:52px}.un-hero h1{font-size:21px}.un-hero p{font-size:13px}.un-toolbar{flex-wrap:wrap;padding:12px}.un-search{flex:100%;max-width:none}.un-filter{flex:1;margin-left:0}.un-filter>.btn{justify-content:center;width:100%}.un-add{flex:1;justify-content:center}.un-table th,.un-table td{padding:10px 12px}.un-foot{text-align:center;justify-content:center}}@media (width<=560px){.un-col-num,.un-col-abbr,.un-col-type{display:none}.un-name-txt small{display:block}.un-table td{white-space:normal}.un-name{gap:10px}.un-actions-h{width:auto}.un-actions{gap:6px}}.tb-msg{justify-content:center;align-items:center;gap:7px;display:flex}.tb-card:has(.tb-form-company){height:auto;padding-bottom:30px}.tb-form-company .tb-label{margin-top:22px}.tb-form-company .tb-label:first-of-type{margin-top:35px}.tb-form-company .tb-label.pw{margin-top:18px}.tb-form-company .tb-row{margin-top:16px}.tb-form-company .tb-submit{margin-top:20px}.tb-msg-ico{color:#fff;background:#5a6a85;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:11px;font-weight:800;line-height:1;display:grid}.tb-msg.err .tb-msg-ico{background:#dc2626}.tb-login-mobile{background:radial-gradient(420px 260px at 0 0,#dbe7ff 0%,#0000 70%),linear-gradient(#f4f8ff,#eef4ff 60%,#f6f9ff);flex-direction:column;justify-content:flex-start;padding:28px 16px 110px;position:relative;overflow:hidden}.tbmob-dots{opacity:.8;background-image:radial-gradient(#9fbcef 2px,#0000 2.4px);background-size:16px 16px;width:64px;height:52px;position:absolute;bottom:30px;left:26px}.tbmob-swoosh{background:radial-gradient(circle at 115% 120%,#0000 52%,#1d4ed8 52.5%,#2563eb 63%,#f97316 63.5%,#fb923c 69%,#0000 69.5%);width:170px;height:190px;position:absolute;bottom:0;right:0}.tbmob-tag{letter-spacing:.22em;text-transform:uppercase;color:#475569;border-left:2px solid #64748b;align-self:flex-end;margin:4px 4px 18px;padding-left:12px;font-size:11px;font-weight:600;line-height:1.6}.tbmob-brand{justify-content:center;align-items:center;gap:6px;margin-bottom:24px;display:flex}.tbmob-brand img{width:64px;height:auto}.tbmob-brand span{letter-spacing:-.02em;color:#0d1b3e;font-size:46px;font-weight:900;line-height:1}.tbmob-brand b{background:linear-gradient(#2563eb 0 45%,#f97316 45% 75%,#1d4ed8 75%);color:#0000;-webkit-background-clip:text;background-clip:text}.tb-login-mobile .tb-card{z-index:1;border-radius:20px;flex-direction:column;width:100%;max-width:440px;height:auto;padding:30px 22px 26px;display:flex;position:relative;box-shadow:0 18px 50px #244ca01f}.tb-login-mobile .tb-card-mark{display:none}.tb-login-mobile .tb-card h2{height:auto;margin-top:0;font-size:30px}.tb-login-mobile .tb-card-sub{height:auto;font-size:16px}.tb-login-mobile .tb-msg{color:#334155;text-align:left;background:#eef4ff;border-radius:10px;order:1;justify-content:flex-start;height:auto;margin:18px 0 0;padding:12px 14px;font-size:14px;line-height:1.4;position:static}.tb-login-mobile .tb-msg.err{color:#dc2626;background:#fef2f2}.tb-login-mobile .tb-msg-ico{width:20px;height:20px;font-size:13px}.tb-login-mobile .tb-card>form,.tb-login-mobile .tb-or,.tb-login-mobile .tb-google,.tb-login-mobile .tb-copy{order:2}.tb-login-mobile .tb-label{margin-top:24px}.tb-login-mobile .tb-label.pw{margin-top:20px}.tb-login-mobile .tb-input{border-radius:10px;height:52px}.tb-login-mobile .tb-remember input{border-radius:5px;width:20px;height:20px}.tb-login-mobile .tb-submit{background:linear-gradient(90deg,#0b63f6,#3b9bff);border-radius:10px;height:52px;box-shadow:0 10px 22px #0b63f64d}.tb-login-mobile .tb-google{border-radius:10px;height:50px}.tb-login-mobile .tb-copy{margin-top:28px}.tb-login-mobile .tb-copy br:first-of-type{display:none}.tb-login-mobile .tb-copy a{color:#0b63f6;text-decoration:none}@media (width<=360px){.tbmob-brand span{font-size:38px}.tbmob-brand img{width:52px}}.modal-card:has(.imp){max-width:760px}.imp{gap:16px;display:grid}.imp-steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.imp-steps li{align-items:flex-start;gap:12px;display:flex}.imp-steps b{color:var(--text,#0f172a);font-size:15px;display:block}.imp-steps p{color:var(--text-muted,#64748b);margin:2px 0 8px;font-size:13px}.imp-steps .btn{align-items:center;gap:8px;display:inline-flex}.imp-num{background:var(--primary,#2563eb);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.imp-drop{color:var(--primary,#2563eb);text-align:center;cursor:pointer;background:#f7faff;border:2px dashed #c7d6f0;border-radius:14px;justify-items:center;gap:6px;padding:26px 16px;transition:background .15s,border-color .15s;display:grid}.imp-drop:hover,.imp-drop.over{border-color:var(--primary,#2563eb);background:#eef4ff}.imp-drop.busy{opacity:.7;cursor:progress}.imp-drop b{color:var(--text,#0f172a);font-size:15px}.imp-drop span{color:var(--text-muted,#64748b);font-size:12.5px}.imp-summary{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.imp-summary>div{color:#334155;background:#f1f5f9;border-radius:10px;padding:8px 12px;font-size:13px}.imp-summary>div b{margin-right:4px;font-size:16px}.imp-summary .ok{color:#166534;background:#dcfce7}.imp-summary .bad{color:#b91c1c;background:#fef2f2}.imp-summary .file{color:var(--text-muted,#64748b);background:0 0;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.imp-table-wrap{border:1px solid var(--border,#e2e8f0);border-radius:10px;max-height:46vh;overflow:auto}.imp-table{border-collapse:collapse;width:100%;font-size:13px}.imp-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid var(--border,#e2e8f0);background:#f8fafc;padding:8px 10px;font-size:11px;position:sticky;top:0}.imp-table td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:8px 10px}.imp-table tr.bad td{background:snow}.imp-ok{color:#16a34a;font-weight:700}.imp-bad{color:#b91c1c}.imp-more{color:var(--text-muted,#64748b);margin:8px 10px;font-size:12px}.imp-done{text-align:center;color:#16a34a;justify-items:center;gap:4px;padding:10px 0 4px;display:grid}.imp-done b{color:var(--text,#0f172a);font-size:18px}.imp-done span{color:var(--text-muted,#64748b);font-size:13px}.imp-skipped{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 14px;font-size:13px}.imp-skipped ul{max-height:160px;margin:6px 0 0;padding-left:18px;overflow:auto}@media (width<=600px){.imp-summary .file{margin-left:0}.imp-table th:nth-child(4),.imp-table td:nth-child(4),.imp-table th:nth-child(5),.imp-table td:nth-child(5){display:none}}
