:root{color-scheme:light;--navy:#171b2a;--navy-2:#232a3d;--gold:#c8a951;--gold-soft:#f6f0dd;--green:#24734e;--green-soft:#eaf5ee;--ink:#252a35;--muted:#707786;--line:#e5e7ec;--surface:#fff;--canvas:#f4f5f7;--danger:#a93640;--danger-soft:#fff0f1;--radius:14px;--shadow:0 8px 28px rgba(29,37,55,.06)}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:10px}.skip-link:focus{left:8px}.topbar{position:sticky;top:0;z-index:20;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px clamp(14px,3vw,34px);background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}.brand img{width:40px;height:40px;border:2px solid var(--gold);border-radius:50%;object-fit:cover;flex:none}.brand span{min-width:0}.brand strong,.brand small{display:block;line-height:1.25}.brand strong{font-size:.9rem}.brand small{margin-top:3px;color:#d0c18c;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:17px}.signed-in{text-align:right;line-height:1.2}.signed-in b,.signed-in small{display:block}.signed-in b{font-size:.76rem}.signed-in small{margin-top:4px;color:#bec3d0;font-size:.63rem}.text-link,.logout-link{color:#f2df9d;font-size:.72rem;text-decoration:none}.text-link:hover,.logout-link:hover{text-decoration:underline}.app-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{position:sticky;top:68px;align-self:start;height:calc(100vh - 68px);display:flex;flex-direction:column;padding:24px 13px 18px;background:var(--navy-2);color:#d7dbe5}.side-label{padding:0 11px 12px;color:#9ea5b5;font-size:.62rem;font-weight:800;letter-spacing:.14em}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:11px;min-height:42px;padding:8px 11px;border:1px solid transparent;border-radius:10px;color:#cbd0dc;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}.nav-link.active{background:rgba(200,169,81,.13);border-color:rgba(200,169,81,.24);color:#f6e7b5}.nav-icon{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:rgba(255,255,255,.07);font-size:.86rem;font-weight:800}.nav-link.active .nav-icon{background:rgba(200,169,81,.2);color:#f1d989}.sidebar-note{display:flex;align-items:center;gap:8px;margin:auto 7px 3px;padding:10px 9px;border-top:1px solid rgba(255,255,255,.1);color:#aeb4c1;font-size:.64rem;line-height:1.4}.live-dot{width:7px;height:7px;border-radius:50%;background:#70d198;flex:none;box-shadow:0 0 0 3px rgba(112,209,152,.12)}.main{min-width:0;padding:28px clamp(15px,3vw,38px) 20px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 auto 18px;max-width:1320px}.eyebrow{margin:0 0 4px;color:var(--green);font-size:.62rem;font-weight:800;letter-spacing:.15em}.page-heading h1{margin:0;color:var(--navy);font-size:clamp(1.45rem,2.5vw,1.95rem);line-height:1.2;letter-spacing:-.03em}.role-badge{padding:6px 10px;border:1px solid #e8ddbb;border-radius:999px;background:#fffaf0;color:#7a6125;font-size:.64rem;font-weight:800;white-space:nowrap}.content{max-width:1320px;margin:0 auto}.page-footer{max-width:1320px;display:flex;justify-content:space-between;gap:12px;margin:24px auto 0;padding-top:13px;border-top:1px solid var(--line);color:#8a909b;font-size:.65rem}.page-footer a{color:#647080;text-decoration:none}.page-footer a:hover{text-decoration:underline}.notice{margin:0 0 16px;padding:11px 14px;border:1px solid #cfe5d6;border-radius:10px;background:var(--green-soft);color:#235d3c;font-size:.76rem}.notice.error{border-color:#f1cbd0;background:var(--danger-soft);color:var(--danger)}.notice.info{border-color:#d5dfed;background:#f0f5fb;color:#334c6d}.muted{color:var(--muted)}.panel{min-width:0;margin:0 0 16px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.panel h2,.panel h3{margin:0;color:var(--navy)}.panel h2{font-size:.95rem}.panel h3{font-size:.82rem}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:.7rem}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.stat-card{min-width:0;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.stat-label{display:flex;align-items:center;gap:8px;color:#6f7684;font-size:.68rem;font-weight:650}.stat-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--gold-soft);color:#806624;font-size:.82rem;font-weight:900}.stat-value{display:block;margin-top:9px;color:var(--navy);font-size:1.42rem;font-weight:800;line-height:1.15;letter-spacing:-.03em}.stat-sub{display:block;margin-top:5px;color:#9095a0;font-size:.62rem}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{min-width:0}.field.full{grid-column:1/-1}.field label{display:block;margin:0 0 5px;color:#505765;font-size:.68rem;font-weight:750}.field input,.field select,.field textarea{width:100%;min-height:39px;padding:9px 10px;border:1px solid #d9dde4;border-radius:8px;background:#fff;color:var(--ink);font-size:.75rem}.field textarea{min-height:84px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(200,169,81,.16);border-color:#bd9d43}.field input::placeholder,.field textarea::placeholder{color:#a1a7b1}.hint{display:block;margin-top:4px;color:#89909c;font-size:.6rem}.form-actions{display:flex;align-items:center;gap:9px;margin-top:14px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:8px 13px;border:1px solid transparent;border-radius:8px;background:var(--navy);color:#fff;font-size:.7rem;font-weight:750;text-decoration:none;cursor:pointer}.btn:hover{background:#2a3147}.btn.gold{background:#bd9b3c;color:#1c2130}.btn.gold:hover{background:#d0af50}.btn.soft{border-color:#dce1e6;background:#fff;color:#455064}.btn.soft:hover{background:#f4f6f8}.btn.danger{border-color:#f0cdd1;background:#fff5f5;color:#9f2e38}.btn.small{min-height:29px;padding:5px 8px;font-size:.62rem}.btn:focus-visible{outline:3px solid rgba(200,169,81,.35);outline-offset:2px}.inline-form{display:inline-flex;align-items:center;gap:5px;margin:0}.table-wrap{width:100%;overflow:auto;border:1px solid #eceef2;border-radius:10px}.data-table{width:100%;min-width:680px;border-collapse:collapse;text-align:left}.data-table th{padding:10px 12px;background:#f7f8fa;color:#6d7481;font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.data-table td{padding:11px 12px;border-top:1px solid #eceef2;color:#383e4b;font-size:.7rem;vertical-align:middle}.data-table tbody tr:hover{background:#fcfcfd}.data-table .primary-cell{color:#202637;font-weight:750}.data-table .sub-cell{display:block;margin-top:3px;color:#888f9c;font-size:.61rem;font-weight:400}.amount{font-variant-numeric:tabular-nums;white-space:nowrap}.empty-row{text-align:center!important;padding:24px!important;color:#858c98!important}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#f1f2f4;color:#646c78;font-size:.58rem;font-weight:800;white-space:nowrap}.pill.active,.pill.reviewed{background:var(--green-soft);color:#276746}.pill.closed,.pill.voided{background:#f1f2f4;color:#737b87}.pill.pending{background:#fff5df;color:#876b20}.pill.cash{background:#eef4fb;color:#3c5f85}.pill.kind{background:#f3effa;color:#694f8c}.table-actions{display:flex;flex-wrap:wrap;gap:5px}.balance-positive{color:#1f7047;font-weight:800}.balance-low{color:#a34a37;font-weight:800}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.filters .field{min-width:145px}.filters .field input,.filters .field select{min-height:36px}.setup-panel{display:flex;align-items:flex-start;gap:13px;border-color:#e8d7a7;background:#fffdf6}.setup-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f6eac4;color:#72571c;font-weight:900;flex:none}.setup-panel p{margin:5px 0 0;color:#656b76;font-size:.72rem}.setup-panel code{padding:2px 4px;border-radius:4px;background:#f0eee8;color:#5d4b22;font-size:.68rem}.setup-panel .muted{font-size:.64rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 15% 10%,rgba(200,169,81,.18),transparent 30%),linear-gradient(145deg,#111522,#1b2131 55%,#111522)}.login-card{width:min(100%,420px);padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 22px 70px rgba(0,0,0,.3)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:23px}.login-brand img{width:42px;height:42px;border:2px solid var(--gold);border-radius:50%;object-fit:cover}.login-brand strong,.login-brand small{display:block}.login-brand strong{color:var(--navy);font-size:.82rem}.login-brand small{margin-top:3px;color:#89723c;font-size:.59rem;letter-spacing:.11em;text-transform:uppercase}.login-card h1{margin:0;color:var(--navy);font-size:1.4rem}.login-card .login-sub{margin:5px 0 18px;color:var(--muted);font-size:.74rem}.login-card .field{margin-bottom:12px}.login-card .field input{min-height:44px}.login-card .btn{width:100%;min-height:43px;margin-top:7px}.login-foot{margin:17px 0 0;text-align:center;color:#7d8490;font-size:.68rem}.login-foot a{color:#745c20;text-decoration:none}.login-foot a:hover{text-decoration:underline}.no-data{padding:22px;text-align:center;color:#838a96;font-size:.72rem}.table-note{margin:10px 0 0;color:#868d98;font-size:.62rem}.section-label{margin:0 0 9px;color:#737987;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.summary-list{display:grid;gap:9px}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:.72rem}.summary-row:last-child{border-bottom:0}.summary-row span:first-child{color:#646c78}.summary-row strong{color:var(--navy);text-align:right}.count-chip{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:8px;background:#f2f4f6;color:#4f5866;font-size:.65rem;font-weight:800}
@media(max-width:980px){.app-layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-left:9px;padding-right:9px}.main{padding-left:20px;padding-right:20px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.topbar{min-height:62px;padding:8px 12px}.brand img{width:34px;height:34px}.brand strong{font-size:.8rem}.brand small{font-size:.54rem}.top-actions{gap:10px}.signed-in{display:none}.text-link{font-size:.64rem}.logout-link{font-size:.66rem}.app-layout{display:block;min-height:calc(100vh - 62px)}.sidebar{position:sticky;top:62px;z-index:15;width:100%;height:auto;padding:6px 8px;background:#20263a;border-bottom:1px solid rgba(255,255,255,.1)}.side-label,.sidebar-note{display:none}.sidebar nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.nav-link{flex:none;min-height:37px;gap:6px;padding:6px 9px;font-size:.64rem}.nav-icon{width:20px;height:20px;font-size:.72rem}.main{padding:20px 12px}.page-heading{margin-bottom:14px}.page-heading h1{font-size:1.5rem}.role-badge{font-size:.58rem}.panel{padding:14px;border-radius:12px}.stat-grid{gap:8px}.stat-card{padding:12px}.stat-value{font-size:1.2rem}.split-grid{grid-template-columns:1fr}.data-table{min-width:620px}.page-footer{font-size:.59rem}}
@media(max-width:440px){.topbar{gap:8px}.brand{gap:7px}.brand small{letter-spacing:.06em}.top-actions{gap:8px}.text-link{display:none}.main{padding:16px 9px}.page-heading{align-items:flex-start}.page-heading h1{font-size:1.35rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.stat-card{padding:10px}.stat-label{font-size:.6rem}.stat-value{font-size:1.05rem}.stat-sub{font-size:.57rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.panel-head{display:block}.panel-head .btn{margin-top:10px}.role-badge{padding:5px 7px}.page-footer{flex-direction:column;gap:5px}.login-card{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
