*,*:before,*:after{box-sizing:border-box}:root{--bg: #0B0809;--bg-soft: #100C0D;--panel: rgba(255, 255, 255, .045);--panel-solid: #171112;--panel-2: rgba(255, 255, 255, .07);--line: rgba(255, 255, 255, .09);--line-soft: rgba(255, 255, 255, .055);--text: #F4EEEE;--muted: #A99C9E;--brand: #8E2333;--brand-2: #C03248;--rose: #E3B4AE;--gold: #D8B27C;--ok: #56B487;--warn: #DCA94A;--danger: #DD6A6A;--info: #6E9BE0;--radius: 14px;--radius-sm: 10px;--shadow: 0 30px 70px -45px rgba(0, 0, 0, .95);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.22, .61, .36, 1);color-scheme:dark}:root[data-theme=light]{--bg: #F4F1F1;--bg-soft: #FFFFFF;--panel: rgba(255, 255, 255, .78);--panel-solid: #FFFFFF;--panel-2: rgba(20, 12, 14, .05);--line: rgba(20, 12, 14, .1);--line-soft: rgba(20, 12, 14, .06);--text: #191113;--muted: #6B6064;--rose: #9C2B3B;--gold: #9A7434;--shadow: 0 20px 50px -38px rgba(25, 10, 14, .5);color-scheme:light}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 var(--font);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(760px 420px at 88% -10%,rgba(192,50,72,.2),transparent 68%),radial-gradient(620px 380px at -8% 110%,rgba(142,35,51,.16),transparent 68%)}#root{position:relative;z-index:1}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.015em}table{border-collapse:collapse;width:100%}.glass,.card,.stat,.sidebar,.topbar,.modal,.toast{-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%)}@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))){.card,.stat,.sidebar,.topbar,.modal,.toast{background:var(--panel-solid)!important}}.shell{display:grid;grid-template-columns:252px 1fr;min-height:100%}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:16px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.16em;font-size:14px;padding:6px 8px 10px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar .group{color:var(--muted);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:16px 10px 6px;opacity:.8}.navlink{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--muted);font-size:14.5px;transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}.navlink:hover{background:var(--panel-2);color:var(--text);transform:translate(2px)}.navlink.active{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;box-shadow:0 10px 26px -18px #c03248}.sidebar .foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:10px 8px 4px;color:var(--muted);font-size:13px;border-top:1px solid var(--line-soft)}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:16px;padding:15px 26px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5}.topbar .who{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}.content{padding:26px;display:flex;flex-direction:column;gap:18px;animation:fade .35s var(--ease)}@keyframes fade{0%{opacity:0;transform:translateY(6px)}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .25s var(--ease)}.card:hover{border-color:#e3b4ae38}.card>header{padding:15px 18px;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;gap:12px}.card>header h3{font-size:15.5px}.card>header .right{margin-left:auto;display:flex;gap:8px;align-items:center}.card .body{padding:18px}.card .body.tight{padding:0}.grid{display:grid;gap:15px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;transition:transform .25s var(--ease),border-color .25s var(--ease)}.stat:hover{transform:translateY(-2px);border-color:#e3b4ae4d}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-size:25px;font-weight:650;letter-spacing:-.025em;margin-top:5px}.stat .hint{color:var(--muted);font-size:12.5px;margin-top:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 17px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);cursor:pointer;font-size:14px;font-weight:550;transition:transform .16s var(--ease),background .2s var(--ease),border-color .2s var(--ease),box-shadow .25s var(--ease)}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:#e3b4ae73}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;border-color:transparent;box-shadow:0 12px 30px -18px #c03248}.btn.primary:hover:not(:disabled){box-shadow:0 16px 36px -16px #c03248}.btn.ghost{background:transparent}.btn.danger{background:transparent;border-color:#dd6a6a80;color:var(--danger)}.btn.sm{padding:6px 12px;font-size:13px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted)}.input,select.input,textarea.input{width:100%;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);color:var(--text);outline:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.input:focus{border-color:#e3b4ae99;box-shadow:0 0 0 3px #c0324829}.input.code{font:22px/1.2 var(--mono);letter-spacing:.4em;text-align:center;padding:13px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:var(--panel-2)}.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.badge.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.badge.info{color:var(--info);border-color:color-mix(in srgb,var(--info) 45%,transparent)}table.tbl{font-size:14px}table.tbl th{text-align:left;font-weight:550;color:var(--muted);font-size:12px;letter-spacing:.04em;padding:11px 16px;border-bottom:1px solid var(--line);white-space:nowrap;text-transform:uppercase}table.tbl td{padding:12px 16px;border-bottom:1px solid var(--line-soft);vertical-align:top}table.tbl tr:last-child td{border-bottom:none}table.tbl tbody tr{transition:background .16s var(--ease)}table.tbl tbody tr:hover td{background:var(--panel-2)}table.tbl td.num,table.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:13px}.scroll-x{overflow-x:auto}.empty{padding:40px 18px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--text);margin-bottom:7px;font-weight:550;font-size:15px}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:9px;z-index:50}.toast{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brand-2);border-radius:var(--radius-sm);padding:12px 15px;box-shadow:var(--shadow);max-width:380px;font-size:14px;animation:slide .3s var(--ease)}@keyframes slide{0%{opacity:0;transform:translate(16px)}}.toast.err{border-left-color:var(--danger)}.toast.ok{border-left-color:var(--ok)}.modal-root{position:fixed;inset:0;background:#0604059e;display:flex;align-items:center;justify-content:center;padding:20px;z-index:40;animation:fade .2s var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:min(540px,100%);box-shadow:var(--shadow);animation:pop .26s var(--ease)}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.985)}}.modal header{padding:17px 18px;border-bottom:1px solid var(--line-soft);font-weight:600}.modal .body{padding:18px;display:flex;flex-direction:column;gap:13px}.modal footer{padding:15px 18px;border-top:1px solid var(--line-soft);display:flex;gap:9px;justify-content:flex-end}[hidden]{display:none!important}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden;background:radial-gradient(760px 420px at 74% 8%,rgba(192,50,72,.3),transparent 68%),radial-gradient(560px 380px at 18% 100%,rgba(142,35,51,.22),transparent 68%),var(--bg)}.login-card{width:min(430px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);animation:pop .4s var(--ease)}.login-card .brand{display:flex;align-items:center;gap:11px;justify-content:center;font-weight:700;letter-spacing:.18em;margin-bottom:14px}.login-card h1{text-align:center;font-size:21px;margin-bottom:5px}.login-card .sub{text-align:center;color:var(--muted);font-size:14px;margin:0 0 24px}.err-box{background:color-mix(in srgb,var(--danger) 13%,transparent);border:1px solid color-mix(in srgb,var(--danger) 38%,transparent);color:var(--text);padding:11px 13px;border-radius:var(--radius-sm);font-size:13.5px;animation:shake .35s var(--ease)}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 980px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;z-index:30;transform:translate(-100%);transition:transform .24s var(--ease)}.sidebar.open{transform:none}.scrim{position:fixed;inset:0;background:#0604058c;z-index:25}.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.content{padding:16px}#burger{display:inline-flex!important}}
