:root{--bg:#0f1117;--surf:#1a1f2e;--surf2:#222736;--brd:#2d3448;--txt:#e8eaf0;--mut:#6b7280;--acc:#6366f1;--acc2:#4f46e5;--grn:#22c55e;--red:#ef4444;--r:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--txt);font-family:system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}a{color:var(--acc);text-decoration:none}.layout{min-height:100vh;display:flex}.sidebar{background:var(--surf);border-right:1px solid var(--brd);z-index:100;flex-direction:column;flex-shrink:0;width:220px;display:flex;position:fixed;top:0;bottom:0;left:0}.main{flex:1;max-width:1200px;margin-left:220px;padding:24px}.sidebar-logo{color:var(--acc);border-bottom:1px solid var(--brd);padding:20px 16px 16px;font-size:16px;font-weight:700}.sidebar-logo small{color:var(--mut);margin-top:2px;font-size:11px;font-weight:400;display:block}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto}.nav-item{border-radius:calc(var(--r) - 2px);color:var(--mut);cursor:pointer;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--surf2);color:var(--txt)}.nav-item.active{background:var(--acc);color:#fff}.nav-item .icon{text-align:center;width:20px;font-size:16px}.sidebar-footer{border-top:1px solid var(--brd);padding:12px 8px}.card{background:var(--surf);border:1px solid var(--brd);border-radius:var(--r);padding:20px}.card-title{color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:14px;font-weight:600}.btn{border-radius:calc(var(--r) - 2px);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:opacity .15s,filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-acc{background:var(--acc);color:#fff}.btn-grn{background:var(--grn);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-gh{background:var(--surf2);color:var(--txt);border:1px solid var(--brd)}.btn-sm{padding:5px 10px;font-size:12px}.fg{margin-bottom:14px}.fg label{color:var(--mut);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.fc{background:var(--surf2);border:1px solid var(--brd);border-radius:calc(var(--r) - 2px);width:100%;color:var(--txt);outline:none;padding:8px 10px;font-size:13px;transition:border-color .15s}.fc:focus{border-color:var(--acc)}.fgrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 14px;display:grid}.tbl-wrap{border-radius:var(--r);border:1px solid var(--brd);overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;background:var(--surf2);border-bottom:1px solid var(--brd);padding:10px 12px;font-size:11px;font-weight:600}td{border-bottom:1px solid var(--brd);padding:10px 12px;font-size:13px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surf2)}.amt{text-align:right;font-variant-numeric:tabular-nums}.badge{border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-grn{background:color-mix(in srgb, var(--grn) 15%, transparent);color:var(--grn)}.badge-red{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}.badge-mut{background:var(--surf2);color:var(--mut)}.badge-acc{background:color-mix(in srgb, var(--acc) 15%, transparent);color:var(--acc)}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.stat{background:var(--surf);border:1px solid var(--brd);border-radius:var(--r);padding:16px}.stat-lbl{color:var(--mut);margin-bottom:4px;font-size:11px}.stat-val{font-size:22px;font-weight:700}.pg-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.pg-title{font-size:20px;font-weight:700}.pg-sub{color:var(--mut);margin-top:2px;font-size:12px}.c-grn{color:var(--grn)}.c-red{color:var(--red)}.c-acc{color:var(--acc)}.c-mut{color:var(--mut)}.mt-16{margin-top:16px}.gap-8{gap:8px}.flex{display:flex}.items-center{align-items:center}@media (width<=768px){.sidebar{width:100%;height:auto;position:static}.main{margin-left:0;padding:16px}.layout{flex-direction:column}}
