*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand: #7C3AED;--brand-2: #E0357F;--brand-grad: linear-gradient(90deg, #7C3AED 0%, #C026D3 55%, #E0357F 100%);--pink: #EF48A6;--purple: #8B2ACB;--gold: #F59E0B;--green: #16a34a;--red: #dc2626;--blue: #2563eb;--sidebar: #0F1424;--sidebar-2: #171D33;--sidebar-text: #A9AFC9;--sidebar-line: rgba(255,255,255,.06);--bg: #F3F4F9;--card: #ffffff;--line: #E8E9F1;--line-2: #F1F2F7;--ink: #111827;--ink-2: #374151;--muted: #6B7280;--muted-2: #9CA3AF;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(17,24,39,.04), 0 6px 20px rgba(17,24,39,.05);--shadow-lg: 0 20px 60px rgba(15,23,42,.22);--sidebar-w: 236px;--topbar-h: 64px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--brand-soft: #F3EEFF;--brand-ring: #C4B5FD;--hero-a: #EEE9FF;--hero-b: #F9E7F6;--hero-c: #E5F0FF;--hero-ink: #6D28D9;--surface-2: #F6F7FB;--surface-3: #FAFAFD}:root[data-mode=dark]{--bg: #0B0F1A;--card: #141A2A;--line: #232B41;--line-2: #1C2336;--ink: #F1F5F9;--ink-2: #CBD5E1;--muted: #94A3B8;--muted-2: #64748B;--surface-2: #1A2135;--surface-3: #171E30;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.25);--hero-a: #1E1B3A;--hero-b: #2A1430;--hero-c: #14203A;--hero-ink: #C4B5FD}:root[data-mode=dark] .topbar{background:#141a2aeb}:root[data-mode=dark] .topbar .search input,:root[data-mode=dark] .topbar .chip,:root[data-mode=dark] .topbar .icon-btn,:root[data-mode=dark] .input,:root[data-mode=dark] .select,:root[data-mode=dark] .textarea,:root[data-mode=dark] .chip-btn,:root[data-mode=dark] .btn-ghost,:root[data-mode=dark] .modal,:root[data-mode=dark] .dropdown{background:var(--card);border-color:var(--line);color:var(--ink)}:root[data-mode=dark] .tabs{background:var(--line-2)}:root[data-mode=dark] .tab.active{background:var(--card)}:root[data-mode=dark] table.tbl th{background:var(--surface-3)}:root[data-mode=dark] table.tbl tbody tr:hover td{background:var(--surface-3)}:root[data-mode=dark] .status-item,:root[data-mode=dark] .topbar .icon-btn:hover,:root[data-mode=dark] .topbar .admin:hover,:root[data-mode=dark] .dropdown .row:hover,:root[data-mode=dark] .btn-ghost:hover{background:var(--surface-2)}:root[data-mode=dark] .item-card .thumb{background:var(--surface-2)}:root[data-mode=dark] .hero p{color:var(--ink-2)}:root[data-mode=dark] .hero .script{color:var(--hero-ink)}:root[data-mode=dark] .badge-gray{background:#1e293b;color:#cbd5e1}:root[data-mode=dark] .secret-wrap .eye{background:var(--surface-2);color:var(--ink-2)}:root[data-mode=dark] .filepick{background:var(--surface-2)!important}:root[data-mode=dark] .login-form{background:var(--bg)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}a{text-decoration:none;color:inherit}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:14px;color:var(--ink)}img{max-width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::selection{background:#f9c9e2}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--sidebar);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:40;transition:transform .22s ease,width .2s ease;overflow:hidden}.sidebar.collapsed{width:72px}.sidebar .logo{padding:16px 18px 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--sidebar-line);min-height:74px}.sidebar .logo img{width:42px;height:42px;object-fit:contain;flex-shrink:0}.sidebar .logo .wordmark{font-weight:800;font-size:19px;letter-spacing:-.3px;white-space:nowrap;line-height:1.1}.sidebar .logo .wordmark small{display:block;font-size:11.5px;color:var(--sidebar-text);font-weight:600;letter-spacing:.3px}.sidebar.collapsed .wordmark{display:none}.sidebar .drawer-close{display:none;margin-left:auto;width:34px;height:34px;border-radius:9px;border:1px solid var(--sidebar-line);background:transparent;color:var(--sidebar-text);align-items:center;justify-content:center;cursor:pointer}.sidebar .drawer-close svg{width:18px;height:18px}.sidebar nav{flex:1;padding:12px 10px;overflow-y:auto}.sidebar nav::-webkit-scrollbar-thumb{background:#2a3150}.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;margin:1px 0;border-radius:11px;color:var(--sidebar-text);font-weight:500;font-size:13.5px;white-space:nowrap;transition:background .15s,color .15s}.nav-item svg{width:20px;height:20px;flex-shrink:0}.nav-item:hover{background:var(--sidebar-2);color:#fff}.nav-item.active{background:var(--brand-grad);color:#fff;font-weight:600;box-shadow:0 8px 20px color-mix(in srgb,var(--brand) 35%,transparent)}.nav-item .count{margin-left:auto;background:#ef4444;color:#fff;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:99px}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0}.sidebar.collapsed .nav-item span,.sidebar.collapsed .nav-item .count{display:none}.sidebar .foot{padding:12px 10px;border-top:1px solid var(--sidebar-line)}.sidebar .collapse-btn{width:100%;background:transparent;border:1px solid var(--sidebar-line);color:var(--sidebar-text);padding:9px;border-radius:10px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;gap:8px}.sidebar .collapse-btn:hover{background:var(--sidebar-2);color:#fff}.sidebar .collapse-btn svg{width:16px;height:16px}.main{flex:1;margin-left:var(--sidebar-w);min-width:0;display:flex;flex-direction:column;transition:margin-left .2s ease}.main.collapsed{margin-left:72px}.topbar{height:var(--topbar-h);background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 24px;position:sticky;top:0;z-index:30}.topbar .search{flex:1;max-width:460px;position:relative}.topbar .search input{width:100%;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);padding:0 12px 0 38px;outline:none;color:var(--ink)}.topbar .search input:focus{border-color:var(--brand-ring);background:var(--card);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}.topbar .search svg{position:absolute;left:12px;top:11px;width:18px;height:18px;color:var(--muted-2)}.topbar .spacer{flex:1}.topbar .chip{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);font-size:13px;color:var(--ink-2);font-weight:500}.topbar .icon-btn{position:relative;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-2)}.topbar .icon-btn:hover{background:#f6f7fb}.topbar .burger{display:none}.topbar .icon-btn .dot{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:99px;border:2px solid #fff}.topbar .admin{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 6px 4px 4px;border-radius:12px}.topbar .admin:hover{background:#f6f7fb}.topbar .admin .av{width:38px;height:38px;border-radius:50%;background:var(--brand-grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.topbar .admin .who{line-height:1.15}.topbar .admin .who b{display:block;font-size:13.5px}.topbar .admin .who small{color:var(--muted);font-size:12px}.content{flex:1;padding:24px}.page-title{font-size:22px;font-weight:800;letter-spacing:-.3px}.page-sub{color:var(--muted);font-size:13.5px;margin-top:2px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px;flex-wrap:wrap}.page-head .actions{display:flex;gap:8px;flex-wrap:wrap}.footer{padding:14px 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line)}.footer a{color:var(--muted)}.footer a:hover{color:var(--brand)}.backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:35}.dropdown{position:absolute;right:0;top:46px;width:320px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;z-index:50}.dropdown .row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;color:var(--ink-2);font-size:13px}.dropdown .row:hover{background:#f6f7fb}.dropdown .row b{color:var(--ink)}.dropdown .row .n{margin-left:auto;font-weight:700;color:var(--brand-2)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.tight{padding:0;overflow:hidden}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.card-title h3{font-size:15.5px;font-weight:700;display:flex;align-items:center;gap:8px}.card-title h3 svg{width:18px;height:18px;color:var(--brand)}.card-title .link{color:var(--brand);font-weight:600;font-size:13px;cursor:pointer}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-auto-sm{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.span-2{grid-column:span 2}.g-charts{grid-template-columns:1.35fr 1fr .95fr}.g-recent{grid-template-columns:2fr 1fr}.g-side{grid-template-columns:1.6fr 1fr}.stat{display:flex;align-items:center;gap:12px;padding:16px}.stat .ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat .ic svg{width:24px;height:24px}.stat .body{flex:1;min-width:0}.stat .label{color:var(--muted);font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .value{font-size:24px;font-weight:800;letter-spacing:-.4px;line-height:1.15;margin-top:2px;white-space:nowrap}.stat .delta{font-size:11.5px;font-weight:700;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .delta.up{color:var(--green)}.stat .delta.down{color:var(--red)}.stat .delta.flat{color:var(--muted)}.stat .spark{width:76px;height:40px;flex-shrink:0}.hero{position:relative;overflow:hidden;border-radius:22px;padding:28px 32px;background:linear-gradient(120deg,var(--hero-a) 0%,var(--hero-b) 45%,var(--hero-c) 100%);display:flex;align-items:center;gap:28px;margin-bottom:20px;min-height:190px}.hero:after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.16),transparent 65%)}.hero img.logo{width:200px;height:auto;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(124,58,237,.25))}.hero h2{font-size:26px;font-weight:800;letter-spacing:-.4px}.hero p{color:var(--ink-2);margin-top:6px;font-size:15px}.hero .tags{display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:16px;color:var(--hero-ink);font-weight:700;font-size:12.5px;letter-spacing:.6px}.hero .tags span:after{content:"•";margin-left:14px;color:#c4b5fd}.hero .tags span:last-child:after{content:""}.hero .script{margin-left:auto;font-family:Georgia,serif;font-style:italic;color:var(--hero-ink);font-size:22px;line-height:1.2;text-align:right;transform:rotate(-6deg);opacity:.9;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 16px;border-radius:11px;border:1px solid transparent;font-weight:600;font-size:13.5px;cursor:pointer;transition:transform .12s,filter .12s,background .15s;white-space:nowrap}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn svg{width:16px;height:16px}.btn-primary{background:var(--brand-grad);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--brand-2) 25%,transparent)}.btn-soft{background:var(--brand-soft);color:var(--brand)}.btn-ghost{background:var(--card);border-color:var(--line);color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:#fef2f2;color:#b91c1c}.btn-danger.solid{background:#dc2626;color:#fff}.btn-success{background:#f0fdf4;color:#15803d}.btn-success.solid{background:#16a34a;color:#fff}.btn-warn{background:#fffbeb;color:#b45309}.btn-sm{height:32px;padding:0 12px;font-size:12.5px;border-radius:9px}.btn-xs{height:28px;padding:0 10px;font-size:12px;border-radius:8px}.btn-icon{width:34px;height:34px;padding:0;border-radius:9px}.btn-icon svg{width:16px;height:16px}.btn-block{width:100%}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:600;white-space:nowrap}.badge .d{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-green{background:#dcfce7;color:#15803d}.badge-red{background:#fee2e2;color:#b91c1c}.badge-amber{background:#fef3c7;color:#b45309}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-purple{background:#f3e8ff;color:#7e22ce}.badge-pink{background:#fce7f3;color:#be185d}.badge-gray{background:#f1f5f9;color:#475569}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}table.tbl th{text-align:left;padding:12px 16px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface-3);border-bottom:1px solid var(--line);white-space:nowrap}table.tbl td{padding:13px 16px;border-bottom:1px solid var(--line-2);color:var(--ink-2);vertical-align:middle}table.tbl tr:last-child td{border-bottom:none}table.tbl tbody tr:hover td{background:var(--surface-3)}table.tbl td.right,table.tbl th.right{text-align:right}table.tbl .empty{text-align:center;color:var(--muted-2);padding:40px 16px}.user-cell{display:flex;align-items:center;gap:11px;min-width:0}.user-cell .name{font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px}.user-cell .sub{font-size:12px;color:var(--muted-2)}.av{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#f1f2f7;flex-shrink:0}.av.sq{border-radius:11px}.av.lg{width:48px;height:48px}.av-letter{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;background:linear-gradient(135deg,#f48bc4,#c42a6f)}.av-letter.admin{background:linear-gradient(135deg,#8b2acb,#e0357f)}.actions{display:inline-flex;gap:6px}.field{margin-bottom:16px}.field label,.lbl{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.field .help{font-size:12px;color:var(--muted-2);margin:-2px 0 6px}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border-radius:11px;border:1px solid #D9DBE6;background:var(--card);color:var(--ink);outline:none;transition:border .15s,box-shadow .15s}.textarea{height:auto;padding:10px 12px;resize:vertical;min-height:80px}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 14%,transparent)}.input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.input-row{display:flex;gap:10px;align-items:center}.input-row .input{flex:1}.check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13.5px;font-weight:500}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle .track{width:44px;height:24px;border-radius:99px;background:#d1d5db;position:relative;transition:background .2s}.toggle .track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px #00000040}.toggle.on .track{background:var(--brand-2)}.toggle.on .track:after{left:23px}.toggle .t{font-size:13.5px;font-weight:600;color:var(--muted)}.toggle.on .t{color:var(--brand-2)}.secret-wrap{position:relative}.secret-wrap .input{padding-right:62px}.secret-wrap .eye{position:absolute;right:6px;top:6px;height:28px;padding:0 10px;border-radius:8px;border:none;background:#f3f4f9;color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer}.tabs{display:inline-flex;gap:4px;background:var(--line-2);border-radius:12px;padding:4px;max-width:100%;overflow-x:auto}.tab{padding:8px 16px;border-radius:9px;border:none;cursor:pointer;font-weight:600;font-size:13px;background:transparent;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.tab.active{background:var(--card);color:var(--brand-2);box-shadow:0 1px 4px #00000014}.tab .n{background:#ef4444;color:#fff;border-radius:99px;padding:0 7px;font-size:11px}.tab .n.soft{background:#cbd5e1}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip-btn{padding:8px 14px;border-radius:99px;border:1px solid var(--line);cursor:pointer;font-size:13px;font-weight:600;background:var(--card);color:var(--ink-2)}.chip-btn.active{background:var(--brand-2);border-color:var(--brand-2);color:#fff}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .input{width:280px;max-width:100%}.toolbar .grow{flex:1}.alert{padding:11px 16px;border-radius:12px;font-size:13.5px;margin-bottom:16px;font-weight:500}.alert-ok{background:#f0fdf4;color:#15803d}.alert-err{background:#fef2f2;color:#b91c1c}.alert-info{background:#eff6ff;color:#1d4ed8}.toast-host{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 40px))}.toast{background:#111827;color:#fff;padding:12px 16px;border-radius:12px;font-size:13.5px;box-shadow:var(--shadow-lg);animation:toastIn .18s ease}.toast.err{background:#b91c1c}.toast.ok{background:#15803d}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}.modal{background:var(--card);border-radius:18px;padding:24px;width:460px;max-width:100%;max-height:92vh;overflow:auto;box-shadow:var(--shadow-lg);animation:modalIn .16s ease}.modal.wide{width:640px}.modal h3{font-size:18px;font-weight:800;margin-bottom:4px}.modal .sub{color:var(--muted);font-size:13.5px;margin-bottom:16px}.modal .foot{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.modal .foot .btn{min-width:110px}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.muted{color:var(--muted)}.muted-2{color:var(--muted-2)}.small{font-size:12.5px}.bold{font-weight:700}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.empty-state{text-align:center;padding:48px 20px;color:var(--muted-2)}.empty-state .big{font-size:40px;margin-bottom:8px}.empty-state b{display:block;color:var(--ink-2);font-size:15px;margin-bottom:4px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick a,.quick button{border:none;cursor:pointer;border-radius:14px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:600;font-size:12.5px;color:var(--ink-2);transition:transform .12s}.quick a:hover,.quick button:hover{transform:translateY(-2px)}.quick svg{width:22px;height:22px}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-item{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--surface-2)}.status-item .ic{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff}.status-item .ic svg{width:16px;height:16px}.status-item b{display:block;font-size:13px}.status-item small{font-size:11.5px;font-weight:600}.activity{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}.activity:last-child{border-bottom:none}.activity .ic{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity .ic svg{width:18px;height:18px}.activity b{display:block;font-size:13.5px}.activity small{color:var(--muted);font-size:12px}.activity .when{margin-left:auto;color:var(--muted-2);font-size:11.5px;white-space:nowrap}.legend{display:flex;flex-direction:column;gap:8px;font-size:13px}.legend .li{display:flex;align-items:center;gap:8px}.legend .sw{width:10px;height:10px;border-radius:3px}.legend .pct{margin-left:auto;font-weight:700}.progress{height:8px;background:#f1f2f7;border-radius:99px;overflow:hidden}.progress>div{height:100%;border-radius:99px;background:var(--brand-grad)}.media-thumb{width:56px;height:56px;border-radius:12px;object-fit:contain;background:#f6f7fb;border:1px solid var(--line)}.kv{display:grid;grid-template-columns:120px 1fr;row-gap:6px;font-size:13px}.kv span:nth-child(odd){color:var(--muted)}.item-card{display:flex;flex-direction:column}.item-card .thumb{height:140px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-2)}.item-card .thumb img,.item-card .thumb video,.item-card .thumb canvas,.item-card .thumb>div{max-width:100%;max-height:100%}.item-card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.item-card .title{font-weight:700;font-size:14.5px;display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.item-card .meta{display:flex;gap:6px;flex-wrap:wrap}.item-card .foot{margin-top:auto;display:flex;gap:6px;padding-top:6px}.item-card .foot .btn{flex:1}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-side{background:var(--sidebar);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:56px;position:relative;overflow:hidden}.login-side:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;left:-160px;bottom:-220px;background:radial-gradient(circle,rgba(124,58,237,.45),transparent 65%)}.login-side:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-140px;top:-160px;background:radial-gradient(circle,rgba(224,53,127,.4),transparent 65%)}.login-side>*{position:relative}.login-side img{width:220px}.login-side h1{font-size:34px;font-weight:800;margin-top:28px;letter-spacing:-.5px}.login-side p{color:var(--sidebar-text);font-size:15px;margin-top:8px;max-width:420px}.login-form{display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:400px;max-width:100%}.login-card h2{font-size:24px;font-weight:800}.login-card .sub{color:var(--muted);margin:4px 0 24px}@media (max-width: 1320px){.stat .spark{display:none}}@media (max-width: 1200px){.g-charts{grid-template-columns:1fr 1fr}.g-recent,.g-side{grid-template-columns:1fr}.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 1}}@media (max-width: 900px){.sidebar{transform:translate(-100%);width:var(--sidebar-w)!important}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar.collapsed .wordmark{display:block}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:10px 12px}.sidebar.collapsed .nav-item span,.sidebar.collapsed .nav-item .count{display:inline}.sidebar .foot{display:none}.sidebar .drawer-close{display:flex}.main,.main.collapsed{margin-left:0}.backdrop.show{display:block}.topbar{padding:0 14px;gap:8px}.topbar .burger{display:flex}.topbar .chip,.topbar .admin .who{display:none}.topbar .search{max-width:none}.content{padding:14px}.grid-2,.grid-3,.grid-4,.g-charts,.g-recent,.g-side{grid-template-columns:1fr}.grid{gap:14px}.hero{flex-direction:column;align-items:flex-start;padding:22px;min-height:0;gap:14px}.hero img.logo{width:140px}.hero h2{font-size:21px}.hero .script{display:none}.page-title{font-size:19px}.card{padding:16px;border-radius:14px}.modal{padding:18px;border-radius:16px}.quick{grid-template-columns:repeat(3,1fr)}.status-grid{grid-template-columns:1fr 1fr}.toolbar .input{width:100%}.kv{grid-template-columns:100px 1fr}.login-wrap{grid-template-columns:1fr}.login-side{padding:36px 24px;min-height:0}.login-side img{width:150px}.login-side h1{font-size:24px;margin-top:16px}.login-form{padding:24px 16px 40px}}@media (max-width: 480px){.topbar .search{display:none}.topbar .spacer{flex:1}.stat{padding:14px}.stat .spark{display:none}.quick{grid-template-columns:repeat(2,1fr)}.status-grid{grid-template-columns:1fr}.modal .foot .btn{flex:1;min-width:0}}.preset{border:2px solid var(--line);border-radius:16px;padding:12px;cursor:pointer;background:var(--card);transition:transform .12s,border-color .15s}.preset:hover{transform:translateY(-2px)}.preset.active{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.preset .prev{height:78px;border-radius:10px;display:flex;overflow:hidden;margin-bottom:10px}.preset .prev .sb{width:30%}.preset .prev .ct{flex:1;padding:8px;display:flex;flex-direction:column;gap:6px}.preset .prev .ct i{display:block;height:10px;border-radius:4px}.preset .prev .ct i.bar{height:22px;border-radius:6px}.preset b{font-size:13.5px;display:block}.preset small{color:var(--muted);font-size:11.5px}.swatches{display:flex;gap:6px;margin-top:6px}.swatches i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}.colorpick{display:flex;align-items:center;gap:10px}.colorpick input[type=color]{width:44px;height:40px;border-radius:10px;border:1px solid var(--line);padding:3px;background:var(--card);cursor:pointer}.colorpick .input{flex:1}
