@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";@keyframes spin{to{transform:rotate(360deg)}}:root{--ink:#14171c;--paper:#eff1ee;--panel:#fff;--border:#dee0da;--text:#1b1d1f;--text-2:#63675f;--text-3:#8b8e86;--brass:#ad7f27;--brass-dark:#8a6520;--brass-bg:#f4ebd6;--green:#2f6f4e;--green-bg:#e2efe6;--amber:#a66a16;--amber-bg:#f6ead3;--red:#b23a2e;--red-bg:#f7e2df;--blue:#2c5f8a;--blue-bg:#e1ecf3;--gray:#6b6f68;--gray-bg:#e7e8e3}*{box-sizing:border-box}body{background:var(--paper);color:var(--text);margin:0;font-family:Inter,sans-serif;overflow-x:hidden}h1,h2,h3,.display{letter-spacing:-.01em;font-family:Space Grotesk,sans-serif;font-weight:600}.mono{font-family:IBM Plex Mono,monospace}a{color:inherit}.app{max-width:100vw;min-height:100vh;color:var(--text);background:var(--paper);flex-direction:column;display:flex}.select-standalone{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:10px 12px;font-family:Inter;font-size:14px}.select-standalone:focus{border-color:var(--brass);outline:none}.navbar{background:var(--panel);border-bottom:1px solid var(--border);width:100%;color:var(--text);z-index:50;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px 20px;padding:10px 24px;display:flex;position:sticky;top:0}.brand{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.brand img{width:auto;height:34px;display:block}.brand-sub{color:var(--text-2);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;font-size:11px}.navbar-right{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.nav{flex-flow:wrap;align-items:center;gap:4px;display:flex}.nav-item{color:var(--text-2);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;border-radius:5px;align-items:center;padding:8px 11px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--paper);color:var(--text)}.nav-item.active{color:var(--brass);border-bottom-color:var(--brass)}.hamburger-btn{border:1px solid var(--border);background:var(--panel);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:none}.hamburger-btn:hover{border-color:var(--text-3)}.mobile-nav-scrim{z-index:55;background:#14171c73;position:fixed;inset:0}.mobile-nav-panel{background:var(--panel);border-top:1px solid var(--border);z-index:56;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #14171c24}.main{flex-direction:column;flex:1;min-width:0;display:flex}.avatar-btn{background:var(--brass);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;display:flex}.avatar-btn:hover{background:var(--brass-dark)}.avatar-btn-lg{cursor:default;width:40px;height:40px;font-size:16px}.avatar-btn-lg:hover{background:var(--brass)}.profile-scrim{z-index:40;background:0 0;position:fixed;inset:0}.profile-menu{background:var(--panel);border:1px solid var(--border);z-index:41;border-radius:10px;width:230px;padding:14px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 24px #14171c24}.profile-menu-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:10px;padding-bottom:12px;display:flex}.profile-menu-name{font-size:13.5px;font-weight:600}.profile-menu-role{color:var(--text-2);font-size:11.5px}.profile-menu-section{margin-bottom:10px}.profile-menu-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:10.5px}.theme-toggle-icon{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-family:Inter;font-size:12.5px;display:flex}.theme-toggle-icon:hover{border-color:var(--text-3)}.theme-toggle-icon svg{flex-shrink:0}.profile-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:8px 6px;font-family:Inter;font-size:13px;display:block}.profile-menu-item:hover{background:var(--paper)}.page{padding:26px 28px 60px;display:none}.page.active{display:block}.grid{gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:1.3fr 1fr}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}.stat-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat-value{margin-top:8px;font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600}.stat-foot{color:var(--text-3);margin-top:6px;font-size:12px}.stat-value.up{color:var(--green)}.stat-value.warn{color:var(--amber)}.bar-row{align-items:center;gap:10px;margin:10px 0;font-size:13px;display:flex}.bar-row .name{width:120px;color:var(--text-2);flex-shrink:0}.bar-track{background:var(--gray-bg);border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-fill{background:var(--brass);border-radius:4px;height:100%}.bar-row .val{text-align:right;width:70px;color:var(--text-2);font-family:IBM Plex Mono;font-size:12.5px}.status-strip{flex-wrap:wrap;gap:10px;margin:14px 0 2px;display:flex}.status-chip{background:var(--paper);border:1px solid var(--border);border-radius:8px;flex:1;min-width:110px;padding:10px 12px}.status-chip .n{font-family:IBM Plex Mono;font-size:18px;font-weight:600}.status-chip .l{color:var(--text-2);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;font-size:10.5px}.stamp{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1.5px solid;border-radius:3px;margin:2px 0;padding:3px 9px;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:600;display:inline-block}.stamp.paid{color:var(--green);background:var(--green-bg)}.stamp.pending_payment{color:var(--amber);background:var(--amber-bg)}.stamp.overdue{color:var(--red);background:var(--red-bg)}.stamp.under_verification,.stamp.payment_submitted{color:var(--blue);background:var(--blue-bg)}.stamp.cancelled,.stamp.waived{color:var(--gray);background:var(--gray-bg)}.stamp.invoice_generated{color:var(--text-2);background:var(--gray-bg)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filters input,.filters select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:5px;padding:8px 10px;font-family:Inter;font-size:13px}.grow{width:170px}.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:5px;padding:8px 14px;font-family:Inter;font-size:13px;font-weight:500}.btn:hover{border-color:var(--text-3)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-brass{background:var(--brass);color:#fff;border-color:var(--brass)}.btn-ghost{background:0 0}.btn-ghost.btn-danger{color:var(--red)}.btn-sm{padding:5px 10px;font-size:12px}.btn-blue{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-blue:hover{opacity:.85}.btn-amber{background:var(--amber);color:#fff;border-color:var(--amber)}.btn-amber:hover{opacity:.85}.btn[disabled],.btn.locked{opacity:.35;cursor:not-allowed;pointer-events:none}.card.locked,.section.locked{opacity:.4;pointer-events:none}.btn-icon-only{flex-shrink:0;justify-content:center;align-items:center;height:32px;display:inline-flex;width:32px!important;min-width:32px!important;padding:0!important}.btn-icon-only svg{width:16px;height:16px}.btn-delete{box-sizing:border-box;justify-content:center;align-items:center;height:34px;margin:0;display:inline-flex;width:34px!important;min-width:34px!important;padding:0!important}.btn-delete .btn-icon{flex-shrink:0;width:16px;height:16px;display:block}.btn-danger{color:red;border:1px solid var(--red);cursor:pointer;background:0 0;border-radius:6px;transition:all .2s}.btn-danger:hover:not(:disabled){background:var(--red);color:#fff}.btn-danger:disabled{opacity:.35;cursor:not-allowed}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 12px}tr:hover td{background:#f9f9f7}.amount{font-family:IBM Plex Mono;font-weight:500}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.tbl-wrap{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden}.pagination{color:var(--text-2);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:12.5px;display:flex}.pagination .btns{gap:8px;display:flex}.queue-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.queue-tab{border:1px solid var(--border);cursor:pointer;background:var(--panel);border-radius:20px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;display:flex}.queue-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.queue-tab .count{background:var(--brass-bg);color:var(--brass-dark);border-radius:10px;padding:1px 7px;font-family:IBM Plex Mono;font-size:11px}.queue-tab.active .count{color:#fff;background:#ffffff26}.queue-panel{display:none}.queue-panel.active{display:block}.queue-note{color:var(--text-3);margin-bottom:10px;font-size:12px}.report-card{justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.report-card .rt{font-size:14px;font-weight:500}.report-card .rd{color:var(--text-2);margin-top:3px;font-size:12.5px}.overlay{z-index:50;background:#14171c73;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.overlay.active{display:flex}.modal{background:#fff;border-radius:12px;width:100%;max-width:720px;max-height:90vh;padding:0;overflow-y:auto}.modal-head{border-bottom:1px solid var(--border);background:var(--panel);justify-content:space-between;align-items:start;padding:20px 24px;display:flex;position:sticky;top:0}.modal-body{padding:20px 24px}.modal-close{cursor:pointer;color:var(--text-2);background:0 0;border:none;font-size:20px;line-height:1}.field-grid{grid-template-columns:1fr 1fr;gap:14px 20px;margin-bottom:18px;display:grid}.field-grid select,.field-grid input{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:10px 12px;font-family:Inter;font-size:14px}.field-grid select:focus,.field-grid input:focus{border-color:var(--brass);outline:none}.field .fl{text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin-bottom:4px;font-size:11px}.field .fv{font-size:14px}.field .fv.mono{font-family:IBM Plex Mono}.section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);margin:18px 0 8px;font-size:12px;font-weight:600}.modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:6px;padding-top:14px;display:flex}.attach-list{flex-direction:column;gap:6px;margin-top:6px;display:flex}.attach-item{background:var(--paper);border-radius:5px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.attach-item .ic{border:1.5px solid var(--text-3);border-radius:3px;flex-shrink:0;width:16px;height:16px}.locked-note{color:var(--text-3);margin-top:10px;font-size:12.5px;font-style:italic}.badge-note{background:var(--blue-bg);color:var(--blue);border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;display:inline-block}.upload-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.upload-form .full{grid-column:1/-1}.upload-form label{color:var(--text-2);margin-bottom:5px;font-size:12px;display:block}.upload-form input{border:1px solid var(--border);border-radius:5px;width:100%;padding:9px 10px;font-family:Inter;font-size:13px}.filedrop{border:1.5px dashed var(--border);text-align:center;color:var(--text-2);background:var(--paper);border-radius:8px;padding:20px;font-size:13px}.req{color:var(--red)}.opt{color:var(--text-3);text-transform:none;letter-spacing:0;font-weight:400}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stat-label-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.period-dropdown{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:5px;padding:4px 8px;font-family:Inter;font-size:12px}.status-select{border:1.5px solid var(--border);background:var(--panel);color:var(--text);border-radius:3px;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.status-btn{cursor:pointer;text-transform:capitalize;border:1.5px solid;border-radius:5px;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.status-btn:hover{filter:brightness(.93)}.status-btn.pending_payment{color:var(--amber);background:var(--amber-bg)}.status-btn.under_verification{color:var(--blue);background:var(--blue-bg)}.status-btn.paid{color:var(--green);background:var(--green-bg)}.status-btn.overdue{color:var(--red);background:var(--red-bg)}.status-btn.cancelled,.status-btn.waived{color:var(--gray);background:var(--gray-bg)}table{min-width:640px}.field select,.field input{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:10px 12px;font-family:Inter;font-size:14px}.field select:focus,.field input:focus{border-color:var(--brass);outline:none}.login-screen{background:var(--paper);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:380px;padding:36px 32px}.login-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;display:block}.login-card input{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:10px 12px;font-family:Inter;font-size:14px}.login-error{background:var(--red-bg);color:var(--red);border-radius:6px;margin-top:14px;padding:8px 12px;font-size:12.5px}.login-success{background:var(--green-bg);color:var(--green);border-radius:6px;padding:8px 12px;font-size:12.5px}.remember-row{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;margin-top:14px;font-size:13px;display:flex}.remember-row input{width:auto}.app[data-theme=dark]{--paper:#000;--panel:#121212;--border:#2c2c2c;--text:#f5f5f3;--text-2:#b8bab6;--text-3:#87897f;--gray-bg:#1d1d1d}.app[data-theme=dark] .page,.app[data-theme=dark] .card,.app[data-theme=dark] .tbl-wrap,.app[data-theme=dark] table,.app[data-theme=dark] td,.app[data-theme=dark] .modal,.app[data-theme=dark] .profile-menu{color:var(--text)}.app[data-theme=dark] .login-card input,.app[data-theme=dark] .card input,.app[data-theme=dark] input,.app[data-theme=dark] select{color:var(--text);border-color:var(--border);background:#1a1a1a}.app[data-theme=dark] .theme-toggle-icon{color:var(--text);background:#1a1a1a}.app[data-theme=dark] .profile-menu,.app[data-theme=dark] .modal{background:var(--panel)}.app[data-theme=dark] tr:hover td,.app[data-theme=dark] .filedrop{background:#161616}.app[data-theme=dark] .stamp{background:#ffffff14}.app[data-theme=dark] .queue-tab .count{color:var(--brass);background:#ffffff1f}.app[data-theme=dark] .status-chip{background:#1a1a1a}@media (width<=900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.page{padding:18px 16px 40px}.navbar{padding:12px 16px}.nav{display:none}.hamburger-btn{display:flex}}@media (width<=560px){.grid-4,.field-grid,.upload-form{grid-template-columns:1fr}.brand-sub{display:none}}
