:root {
  --blue:#246bfd;--blue-dark:#1555d8;--blue-soft:#edf3ff;--ink:#171a20;--muted:#737987;
  --line:#e8eaf0;--soft:#f6f7fa;--surface:#fff;--green:#28bd68;--green-soft:#e9f8f0;
  --warning:#ad6b12;--warning-soft:#fff7df;--danger:#e5484d;--danger-soft:#fff0f1;
  --shadow:0 18px 50px rgba(30,39,61,.09);color:var(--ink);background:#fafbfc;
  font:14px/1.45 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased
}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:#fafbfc}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.shell{min-height:100vh}

.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:264px;display:flex;flex-direction:column;padding:24px 16px 18px;overflow-y:auto;color:var(--ink);background:rgba(255,255,255,.96);border-right:1px solid var(--line);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:11px}.sidebar .brand{padding:0 8px 24px}.brand-mark{width:40px;height:40px;flex:none;display:grid;place-items:center;color:#fff;border-radius:12px;background:linear-gradient(145deg,#2d76ff,#7745e8);box-shadow:0 9px 25px rgba(45,118,255,.25);font-size:20px;font-weight:800}.brand strong{display:block;font-size:17px;font-weight:780;letter-spacing:-.025em}.brand small{display:block;margin-top:1px;color:var(--muted);font-size:10px}.nav-caption{margin:3px 12px 8px;color:#a1a6b0;font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.sidebar nav{display:grid;gap:3px}
.nav-button{position:relative;width:100%;min-height:40px;padding:9px 12px 9px 38px;overflow:hidden;color:#656b77;background:transparent;border:0;border-radius:10px;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-weight:620;transition:color .15s,background .15s,transform .15s}.nav-button::before{content:"";position:absolute;left:14px;top:50%;width:8px;height:8px;border:2px solid #aeb4bf;border-radius:3px;transform:translateY(-50%)}.nav-button:hover{color:var(--ink);background:var(--soft)}.nav-button.active{color:var(--blue);background:var(--blue-soft)}.nav-button.active::before{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 4px rgba(36,107,253,.1)}
.sidebar-foot{margin-top:auto;padding:18px 8px 0;display:grid;gap:10px;color:var(--muted);border-top:1px solid var(--line);font-size:12px}.sidebar-foot strong{color:var(--ink);font-size:13px}.link-button{width:fit-content;padding:0;color:var(--blue);background:none;border:0;font-weight:650}

.main{min-height:100vh}.sidebar:not(.hidden)+.main{margin-left:264px}.topbar{position:sticky;top:0;z-index:20;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 40px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.topbar h1{margin:3px 0 0;font-size:29px;line-height:1.12;letter-spacing:-.045em}.eyebrow{margin:0;color:var(--blue);font-size:10px;font-weight:780;letter-spacing:.1em;text-transform:uppercase}.topbar-actions{display:flex;align-items:center;gap:12px}.sync-indicator{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.sync-indicator i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(40,189,104,.12)}.status-pill{padding:5px 9px;color:#765d11;background:#fff9e8;border:1px solid #f1e2b5;border-radius:7px;font-size:10px;font-weight:800;letter-spacing:.05em}

.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#fbfbfd}.auth-visual{position:relative;min-height:100vh;overflow:hidden;padding:54px;color:#fff;background:radial-gradient(circle at 15% 10%,rgba(255,255,255,.22),transparent 30%),linear-gradient(145deg,#111938 0%,#1f52d6 58%,#7439dd 100%)}.auth-visual::after{content:"";position:absolute;right:-190px;bottom:-190px;width:560px;height:560px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.04),0 0 0 160px rgba(255,255,255,.025)}.auth-visual::before{content:"";position:absolute;top:22%;right:14%;width:96px;height:96px;border:1px solid rgba(255,255,255,.14);border-radius:26px;transform:rotate(18deg)}.auth-brand{position:relative;z-index:2}.auth-brand .brand-mark{background:rgba(255,255,255,.16);box-shadow:none;backdrop-filter:blur(12px)}.auth-brand small{color:rgba(255,255,255,.6)}.auth-copy{position:absolute;left:54px;right:54px;bottom:74px;z-index:2;max-width:610px}.auth-kicker{display:block;margin-bottom:18px;color:rgba(255,255,255,.68);font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.auth-copy h2{margin:0 0 20px;font-size:clamp(42px,5vw,70px);line-height:.97;letter-spacing:-.06em}.auth-copy p{max-width:530px;margin:0;color:rgba(255,255,255,.72);font-size:17px}.auth-panel{display:grid;place-items:center;padding:42px;background:#fff}.auth-card{width:min(410px,100%)}.auth-panel-brand{margin-bottom:42px}.auth-card h1{margin:0 0 8px;font-size:30px;letter-spacing:-.04em}.auth-card>p{margin:0 0 30px;color:var(--muted)}

.field{display:grid;gap:7px;margin:0 0 16px}.field label,.field>span{color:#454a54;font-size:12px;font-weight:680}.field input,.field select,.field textarea,.allocation-row input,td select{width:100%;min-height:42px;padding:10px 12px;color:var(--ink);background:#fff;border:1px solid #dfe2e9;border-radius:10px;outline:0;transition:border .15s,box-shadow .15s}.field textarea{min-height:108px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.allocation-row input:focus,td select:focus{border-color:#8ab0ff;box-shadow:0 0 0 4px rgba(36,107,253,.09)}
.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;color:#fff;background:var(--blue);border:1px solid transparent;border-radius:10px;font-weight:680;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{background:var(--blue-dark);box-shadow:0 8px 20px rgba(36,107,253,.18)}.button:active{transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.button.secondary{color:var(--ink);background:#fff;border-color:var(--line)}.button.secondary:hover{background:var(--soft);box-shadow:none}.button.danger{color:var(--danger);background:#fff;border-color:#ffd1d3}.button.danger:hover{background:var(--danger-soft);box-shadow:none}.button.full{width:100%;margin-top:5px}

.content{width:min(1440px,100%);margin:0 auto;padding:28px 40px 64px}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))}.metric,.card{background:var(--surface);border:1px solid var(--line);border-radius:15px}.metric{position:relative;min-height:116px;padding:19px;overflow:hidden;transition:transform .16s,border .16s,box-shadow .16s}.metric::after{content:"";position:absolute;right:-14px;bottom:-18px;width:62px;height:62px;border-radius:50%;background:var(--blue-soft)}.metric:hover{transform:translateY(-2px);border-color:#cbd7f5;box-shadow:var(--shadow)}.metric small{position:relative;z-index:1;color:var(--muted);font-size:12px}.metric strong{position:relative;z-index:1;display:block;margin-top:13px;font-size:27px;line-height:1;letter-spacing:-.045em}.card{padding:21px;box-shadow:0 1px 1px rgba(30,39,61,.015)}.card h2{margin:0 0 15px;font-size:18px;letter-spacing:-.025em}.card p{color:#626874}.split{grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);align-items:start}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;min-width:680px;border-collapse:collapse;background:#fff}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #eceef2;font-size:13px;vertical-align:middle}th{color:#777d88;background:#fafbfc;font-size:10px;font-weight:760;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}tbody tr{transition:background .12s}tbody tr:hover{background:#fbfcff}tr:last-child td{border-bottom:0}td code{color:#555d6a;font-size:11px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;color:#606772;background:#f0f1f4;border-radius:99px;font-size:10px;font-weight:750}.badge.active,.badge.paid,.badge.closed{color:#228c50;background:var(--green-soft)}.badge.partial,.badge.warning{color:#855a0d;background:var(--warning-soft)}.badge.critical{color:#a92e2e;background:var(--danger-soft)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.empty{padding:36px;color:var(--muted);text-align:center}.toast{position:fixed;right:24px;bottom:24px;z-index:100;max-width:380px;padding:13px 16px;color:#fff;background:#20242d;border-radius:11px;box-shadow:var(--shadow)}.toast.error{background:#b83238}.qr{display:block;width:210px;height:210px;margin:12px auto 20px;border:1px solid var(--line);border-radius:12px}.recovery{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:15px;background:var(--soft);border-radius:11px;font-family:ui-monospace,monospace}.formula{padding:15px;overflow:auto;color:#dce7ff;background:#161e38;border-radius:11px;font:12px/1.6 ui-monospace,monospace}.result{margin-top:15px;padding:14px 15px;color:#224333;background:#eef9f3;border-left:3px solid var(--green);border-radius:9px}

@media(max-width:980px){.sidebar{position:static;width:auto;max-height:none}.sidebar:not(.hidden)+.main{margin-left:0}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-foot,.nav-caption{display:none}.auth-wrap{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh}.split{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{padding:16px}.sidebar .brand{padding-bottom:14px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-button{padding-left:32px;font-size:12px}.nav-button::before{left:11px}.topbar{min-height:78px;padding:16px 18px}.topbar h1{font-size:24px}.sync-indicator{display:none}.content{padding:20px 16px 48px}.form-row{grid-template-columns:1fr}.auth-panel{padding:28px 22px}.auth-panel-brand{margin-bottom:34px}}
@media(max-width:430px){.sidebar nav{grid-template-columns:1fr}.sidebar nav .nav-button:not(.active){display:none}.metrics{grid-template-columns:1fr 1fr}.metric{min-height:104px;padding:16px}.metric strong{font-size:22px}}
