:root{--cream: #faf6ef;--paper: #ffffff;--sand: #f3ece0;--sand-2: #ece2d3;--ink: #2a2521;--ink-soft: #5c554d;--muted: #93897c;--line: #ece3d6;--line-strong: #ddd1bf;--coral: #e8633a;--coral-600: #d4502a;--coral-soft: #fbe7df;--teal: #2a9d8f;--teal-soft: #d9efeb;--amber: #f2a33a;--amber-soft: #fceedb;--plum: #7d5ba6;--green: #4f9d62;--green-soft: #e1f0e3;--red: #d6584f;--shadow-sm: 0 1px 2px rgba(60, 45, 30, .05);--shadow: 0 6px 22px -10px rgba(80, 55, 30, .22);--shadow-lg: 0 18px 50px -18px rgba(80, 55, 30, .3);--radius: 16px;--radius-sm: 11px;--sidebar: 252px}[data-theme=dark]{--cream: #211c18;--paper: #2a241f;--sand: #322b25;--sand-2: #3b332c;--ink: #f4 ecdf;--ink: #f4ecdf;--ink-soft: #cdc2b2;--muted: #978c7c;--line: #3a322b;--line-strong: #4a4038;--coral-soft: #43291f;--teal-soft: #1d3833;--amber-soft: #3d3120;--green-soft: #233528;--shadow: 0 10px 30px -14px rgba(0, 0, 0, .55);--shadow-lg: 0 22px 60px -20px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}.mono{font-family:JetBrains Mono,ui-monospace,monospace}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 500px at 12% -8%,rgba(232,99,58,.1),transparent 60%),radial-gradient(800px 520px at 100% 0%,rgba(42,157,143,.1),transparent 55%)}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:1px solid transparent;border-radius:11px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer;transition:all .15s ease;background:var(--sand);color:var(--ink)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 8px 18px -8px #e8633a99}.btn-primary:hover{background:var(--coral-600)}.btn-ghost{background:transparent;border-color:var(--line-strong)}.btn-sm{padding:6px 11px;font-size:13px;border-radius:9px}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-pad-0{padding:0;overflow:hidden}.card-title{font-weight:800;font-size:16px;margin:0 0 2px}.card-sub{color:var(--muted);font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--sand);color:var(--ink-soft)}.badge-coral{background:var(--coral-soft);color:var(--coral-600)}.badge-teal{background:var(--teal-soft);color:var(--teal)}.badge-amber{background:var(--amber-soft);color:#b9791f}.badge-green{background:var(--green-soft);color:var(--green)}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block}.dot-online{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.dot-tx{background:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:700;color:var(--ink-soft)}.input,select.input,textarea.input{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font:inherit;transition:border .15s,box-shadow .15s}.input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{background:var(--paper);border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 18px}.brand-logo{width:38px;height:38px;border-radius:12px;flex:none;background:linear-gradient(135deg,var(--coral),var(--amber));display:grid;place-items:center;color:#fff;box-shadow:0 8px 18px -8px #e8633ab3}.brand-name{font-weight:800;font-size:19px;letter-spacing:-.3px}.brand-name b{color:var(--coral)}.nav-section{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--ink-soft);font-weight:600;transition:all .12s ease}.nav-item:hover{background:var(--sand);color:var(--ink)}.nav-item.active{background:var(--coral-soft);color:var(--coral-600)}.nav-item.active svg{color:var(--coral)}.nav-item svg{flex:none}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:16px;padding:16px 28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--cream) 75%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.page{padding:28px;max-width:1180px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-title{font-size:27px;font-weight:800;margin:0;letter-spacing:-.5px}.page-desc{color:var(--muted);margin:4px 0 0}.grid{display:grid;gap:18px}.grid-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.stat{display:flex;align-items:center;gap:14px}.stat-ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none}.stat-val{font-size:26px;font-weight:800;line-height:1;letter-spacing:-.5px}.stat-lbl{color:var(--muted);font-size:13px;font-weight:600}.row{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:none}.row:hover{background:var(--sand)}.row-line{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.row-line:last-child{border-bottom:none}.avatar{width:38px;height:38px;border-radius:11px;flex:none;color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}.muted{color:var(--muted)}.spacer{flex:1}.live{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:700;font-size:13px}.live .dot-online{animation:pulse 1.6s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.bubble{max-width:76%;padding:9px 13px;border-radius:14px;background:var(--sand)}.bubble.me{background:var(--coral);color:#fff;margin-left:auto}.bubble .meta{font-size:11px;opacity:.7;margin-top:3px}.auth-wrap{display:grid;place-items:center;min-height:100vh;padding:24px}.auth-card{width:100%;max-width:410px}.auth-hero{text-align:center;margin-bottom:22px}.auth-hero .brand-logo{width:56px;height:56px;border-radius:17px;margin:0 auto 14px}.seg{display:flex;gap:4px;background:var(--sand);padding:4px;border-radius:12px;margin-bottom:18px}.seg button{flex:1;border:0;background:transparent;padding:9px;border-radius:9px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}.seg button.on{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:99;background:var(--ink);color:var(--cream);padding:11px 18px;border-radius:12px;box-shadow:var(--shadow-lg);font-weight:600}.iconbtn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line-strong);background:var(--paper);display:grid;place-items:center;cursor:pointer;color:var(--ink-soft)}.iconbtn:hover{background:var(--sand)}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;z-index:40;transform:translate(-100%);transition:transform .2s ease;width:var(--sidebar)}.sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e1466;z-index:35}.page{padding:18px}}.hide-desktop{display:none}@media(max-width:860px){.hide-desktop{display:grid}}.footer{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:9px;padding:22px 28px 26px;color:var(--muted);font-size:13px;font-weight:600;border-top:1px solid var(--line);flex-wrap:wrap}.footer-wave{color:var(--coral);display:inline-grid;place-items:center}.footer-brand{font-weight:800;color:var(--ink);background:linear-gradient(90deg,var(--coral),var(--amber));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:opacity .15s}.footer-brand:hover{opacity:.75}.footer-dot{opacity:.45}.footer-73{color:var(--teal);font-weight:800}
