:root{--ink:#14213d;--muted:#6d7890;--line:#e5e9f1;--paper:#fff;--wash:#f4f6fa;--nav:#10182d;--accent:#5b65f5;--accent2:#7d4af7;--good:#168568;--warn:#b26a00;--bad:#c43b4d;--shadow:0 10px 30px rgba(28,38,68,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash)}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--nav);color:#d7dcf0;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;margin:0 8px 34px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{font-size:12px;color:#8f9ab9;margin-top:2px}.brand.light small{color:#ccd2f3}.nav-links{display:grid;gap:6px}.nav-links a{padding:11px 13px;border-radius:10px;color:#aeb7d4;font-weight:650;font-size:14px}.nav-links a:hover,.nav-links a.active{background:#202b49;color:#fff}.sidebar-foot{margin-top:auto;padding:14px 10px;font-size:12px;color:#8f9ab9;border-top:1px solid #27314e}.read-only-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#37d3a8;margin-right:7px}.main-wrap{margin-left:240px;min-height:100vh}.topbar{height:90px;padding:0 34px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.topbar h1{margin:0;font-size:21px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.admin-menu{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:13px}.admin-menu a{color:var(--accent);font-weight:700}.menu-button{display:none;border:0;background:none;font-size:22px}.content{padding:30px 34px 48px;max-width:1800px;margin:auto}.footer{padding:20px 34px 30px;color:var(--muted);font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:19px;box-shadow:var(--shadow)}.metric-card p{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.metric-card strong{display:block;font-size:26px;line-height:1.1}.metric-card span{display:block;color:var(--muted);font-size:12px;margin-top:8px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin-bottom:20px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-head h2{margin:2px 0 0;font-size:17px}.panel-head>a{color:var(--accent);font-size:13px;font-weight:700}.eyebrow{margin:0;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.13em}.muted{color:var(--muted);font-size:12px}.split-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.bar-chart{height:220px;padding:28px 22px 18px;display:flex;align-items:end;gap:8px}.bar-item{height:100%;flex:1;min-width:22px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:6px}.bar{width:70%;max-width:34px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--accent2),var(--accent));min-height:3px}.bar-value{font-size:11px;font-weight:700}.bar-item small{font-size:9px;color:var(--muted);white-space:nowrap}.rank-list{padding:8px 18px}.rank-list a{display:flex;justify-content:space-between;align-items:center;padding:13px 4px;border-bottom:1px solid var(--line)}.rank-list a:last-child{border:0}.rank-list span strong,.rank-list span small{display:block}.rank-list span small,td small{color:var(--muted);font-size:11px;margin-top:4px}.rank-list b{font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}th{background:#fafbfe;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;position:sticky;top:0}tbody tr:hover{background:#fbfcff}td small{display:block}.strong-link{font-weight:750;color:#29356a}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#eef0f5;color:#5e667a}.badge.good{background:#e4f7f1;color:var(--good)}.badge.warn{background:#fff3dd;color:var(--warn)}.badge.bad{background:#fee8eb;color:var(--bad)}.badge.large{font-size:12px;padding:8px 12px}.text-danger{color:var(--bad);font-weight:700}.filters-panel{overflow:visible}.filters{padding:17px;display:flex;align-items:end;flex-wrap:wrap;gap:12px}.filters label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.filters .wide{min-width:230px;flex:1}.filters input,.filters select,.login-card input{border:1px solid #d9deea;border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink);min-height:40px}.filters input:focus,.filters select:focus,.login-card input:focus{outline:2px solid rgba(91,101,245,.18);border-color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:9px;border:1px solid transparent;font-weight:750;font-size:12px;cursor:pointer}.button.primary{background:var(--accent);color:#fff}.button.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.pagination{display:flex;gap:6px;padding:16px}.pagination a{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--line);border-radius:8px;font-size:12px}.pagination a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.empty{text-align:center!important;color:var(--muted);padding:30px!important}.stack-list{padding:8px 18px}.stack-list article{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:14px 4px;border-bottom:1px solid var(--line)}.stack-list article:last-child{border:0}.stack-list p{margin:5px 0;color:var(--muted);font-size:12px}.stack-list small{color:var(--muted);font-size:11px}.segment-control{display:inline-flex;background:#e9edf5;border-radius:10px;padding:4px;margin-bottom:18px}.segment-control a{padding:8px 12px;border-radius:7px;font-size:12px;font-weight:700}.segment-control a.active{background:#fff;box-shadow:0 2px 8px rgba(20,33,61,.1);color:var(--accent)}.detail-hero{background:linear-gradient(135deg,#17213f,#29356a);color:#fff;border-radius:16px;padding:25px 28px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.detail-hero h2{margin:4px 0;font-size:26px}.detail-hero p:last-child{margin:6px 0 0;color:#bdc5e0;font-size:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.definition-grid{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:12px 22px 20px;gap:0 25px}.definition-grid>div{padding:13px 0;border-bottom:1px solid var(--line)}.definition-grid .full{grid-column:1/-1}.definition-grid dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.definition-grid dd{margin:5px 0 0;font-size:13px;font-weight:650}.break-all{word-break:break-all}.login-body{min-height:100vh;background:#111a31;display:grid;place-items:center;padding:25px}.login-shell{width:min(1020px,100%);display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.25)}.login-copy{background:radial-gradient(circle at 20% 20%,#5142a6,transparent 40%),linear-gradient(145deg,#151e3a,#253161);color:#fff;padding:55px}.login-copy h1{font-size:40px;line-height:1.08;margin:90px 0 20px;max-width:540px}.login-copy>p{color:#cbd2e9;line-height:1.65;max-width:520px}.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}.trust-row span{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;font-size:11px;color:#d7dcf0}.login-card{padding:55px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:30px;margin:5px 0}.login-card>div>p:last-child{color:var(--muted);font-size:13px}.login-card form{display:grid;gap:16px;margin-top:24px}.login-card label{display:grid;gap:7px;font-size:12px;font-weight:750}.login-card label small{color:var(--muted);font-weight:500}.login-card .button{min-height:46px;margin-top:4px}.alert{padding:12px 14px;border-radius:9px;font-size:12px;margin-top:18px}.alert.error{background:#fee8eb;color:var(--bad)}code{font-family:ui-monospace,monospace;background:#f0f2f7;padding:2px 5px;border-radius:4px}@media(max-width:1300px){.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-wrap{margin-left:0}.menu-button{display:block}.split-grid,.detail-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-copy{display:none}}@media(max-width:700px){.content{padding:20px 14px}.topbar{padding:0 14px}.metric-grid,.metric-grid.compact{grid-template-columns:1fr 1fr}.admin-menu span{display:none}.filters label,.filters .wide{width:100%;min-width:0}.bar-chart{overflow-x:auto}.bar-item{min-width:32px}.definition-grid{grid-template-columns:1fr}.definition-grid .full{grid-column:auto}}@media(max-width:430px){.metric-grid,.metric-grid.compact{grid-template-columns:1fr}.login-card{padding:34px 24px}}
.read-only-dot.offline{background:#e6a23c}.alert-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-radius:14px;margin-bottom:20px;border:1px solid}.alert-panel strong{display:block;font-size:14px}.alert-panel p{margin:5px 0 0;font-size:12px;line-height:1.55}.alert-panel>span{font-weight:800;white-space:nowrap}.danger-panel{background:#fff0f2;border-color:#f5c7ce;color:#9e2437}.warning-panel{background:#fff8e8;border-color:#f0dba7;color:#8d5b00}.audit-table{min-width:1450px}.audit-values{min-width:260px;max-width:380px;white-space:normal;line-height:1.5;color:#4e5870}.metric-card a{color:var(--accent)}
.payment-table{min-width:1350px}.payment-actions{display:grid;gap:8px;min-width:310px}.payment-actions .inline-fields{display:grid;grid-template-columns:170px minmax(130px,1fr);gap:7px}.payment-actions input{width:100%;border:1px solid #d9deea;border-radius:8px;padding:8px 9px;color:var(--ink);background:#fff;font-size:11px}.button.small{min-height:34px;padding:0 11px;font-size:11px}.button.danger{background:#fff;border-color:#f3c4cb;color:var(--bad)}.bill-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.flash-panel{padding:13px 16px;border-radius:12px;margin-bottom:18px;border:1px solid;font-size:13px}.flash-panel.success{background:#e8f8f3;border-color:#bde7da;color:#126d57}.flash-panel.error{background:#fff0f2;border-color:#f5c7ce;color:#9e2437}.flash-panel.warning{background:#fff8e8;border-color:#f0dba7;color:#8d5b00}.status-paid{color:var(--good);font-weight:800}.status-unpaid{color:var(--bad);font-weight:800}.ledger-note{padding:14px 18px;background:#f8f9fc;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.55}@media(max-width:700px){.payment-actions .inline-fields{grid-template-columns:1fr}}
