:root{--bg:#0b1210;--bg-elev:#111a17;--bg-elev-2:#16221e;--bg-hover:#1b2925;--border:#22322d;--border-strong:#2f443d;--text:#e6eeeb;--text-muted:#9cb0a9;--text-faint:#6f857d;--primary:#10b981;--primary-strong:#34d399;--primary-soft:#10b98124;--primary-text:#04130d;--danger:#f87171;--danger-soft:#f871711f;--warning:#fbbf24;--warning-soft:#fbbf241f;--info:#60a5fa;--info-soft:#60a5fa1f;--radius:10px;--radius-lg:14px;--shadow:0 1px 2px #0000004d, 0 8px 24px #0000002e;--sidebar-w:248px;--sidebar-w-collapsed:68px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f5f8f7;--bg-elev:#fff;--bg-elev-2:#f0f5f3;--bg-hover:#e7efec;--border:#dde7e3;--border-strong:#c8d6d1;--text:#0f1f1a;--text-muted:#4d635c;--text-faint:#7a8f88;--primary:#059669;--primary-strong:#047857;--primary-soft:#0596691a;--primary-text:#fff;--danger:#dc2626;--danger-soft:#dc262614;--warning:#b45309;--warning-soft:#d977061a;--info:#2563eb;--info-soft:#2563eb14;--shadow:0 1px 2px #0f1f1a0f, 0 8px 24px #0f1f1a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14.5px;line-height:1.55}a{color:inherit;text-decoration:none}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.25}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .15s;display:grid}.shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{background:var(--bg-elev);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.brand{white-space:nowrap;align-items:center;gap:10px;padding:18px 18px 14px;font-size:16px;font-weight:700;display:flex}.brand-mark{background:var(--primary);width:30px;height:30px;color:var(--primary-text);border-radius:9px;flex:none;place-items:center;display:grid}.nav{flex-direction:column;flex:1;gap:2px;padding:6px 10px;display:flex;overflow-y:auto}.nav a{color:var(--text-muted);white-space:nowrap;border-radius:8px;align-items:center;gap:11px;padding:9px 10px;display:flex}.nav a:hover{background:var(--bg-hover);color:var(--text)}.nav a.active{background:var(--primary-soft);color:var(--primary-strong);font-weight:600}.nav svg{flex:none}.shell.collapsed .nav-label,.shell.collapsed .brand-name,.shell.collapsed .side-foot-label{display:none}.side-foot{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:10px;display:flex}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 28px;display:flex;position:sticky;top:0}.content{width:100%;max-width:1400px;padding:24px 28px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--text-muted);max-width:760px;margin-top:4px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px}.card+.card{margin-top:16px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.muted{color:var(--text-muted)}.faint{color:var(--text-faint);font-size:13px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.grid{gap:16px;display:grid}.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-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.spacer{flex:1}.sep{background:var(--border);height:1px;margin:16px 0}.btn{border:1px solid var(--border-strong);background:var(--bg-elev-2);cursor:pointer;white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-weight:550;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn.primary:hover:not(:disabled){background:var(--primary-strong)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{height:30px;padding:0 10px;font-size:13px}.icon-btn{width:34px;height:34px;padding:0}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-muted);font-size:13px;font-weight:550}.field .hint{color:var(--text-faint);font-size:12.5px}.input,.select,.textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:9px;width:100%;height:38px;padding:0 12px}.textarea{resize:vertical;height:auto;min-height:90px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);outline:none}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.badge{background:var(--bg-elev-2);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.green{background:var(--primary-soft);color:var(--primary-strong);border-color:#0000}.badge.red{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.yellow{background:var(--warning-soft);color:var(--warning);border-color:#0000}.badge.blue{background:var(--info-soft);color:var(--info);border-color:#0000}.alert{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev-2);gap:10px;padding:12px 14px;display:flex}.alert.warn{background:var(--warning-soft);border-color:#0000}.alert.error{background:var(--danger-soft);border-color:#0000}.alert.info{background:var(--info-soft);border-color:#0000}.alert.ok{background:var(--primary-soft);border-color:#0000}.alert svg{flex:none;margin-top:2px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 10px}.table tr:hover td{background:var(--bg-hover)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 14px;font-weight:550}.tab.active{color:var(--text);border-bottom-color:var(--primary)}.progress{background:var(--bg-elev-2);border-radius:999px;height:8px;overflow:hidden}.progress>div{background:var(--primary);height:100%;transition:width .4s}.thumb{aspect-ratio:1;background:var(--bg-elev-2);border-radius:var(--radius);color:var(--text-faint);place-items:center;display:grid;position:relative;overflow:hidden}.thumb img,.thumb video{object-fit:cover;width:100%;height:100%;display:block}.thumb.vertical{aspect-ratio:9/16}.thumb.contain img,.thumb.contain video{object-fit:contain}.thumb-corner{gap:6px;display:flex;position:absolute;top:8px;left:8px}.product-card{flex-direction:column;gap:10px;padding:12px;display:flex}.product-card:hover{border-color:var(--border-strong)}.stat{flex-direction:column;gap:6px;display:flex}.stat .value{letter-spacing:-.02em;font-size:26px;font-weight:700}.stat .label{color:var(--text-muted);font-size:13px}.empty{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:44px 20px;display:flex}.empty h3{color:var(--text)}.empty ol{text-align:left;margin:4px 0 0;padding-left:20px}.modal-backdrop{z-index:50;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(680px,100%);max-height:90vh;box-shadow:var(--shadow);overflow-y:auto}.modal.wide{width:min(980px,100%)}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-body{padding:18px}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.toast-wrap{z-index:60;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--bg-elev-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);max-width:420px;padding:10px 14px}.toast.error{border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.steps{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.step{border:1px solid var(--border);color:var(--text-faint);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.step.done{color:var(--primary-strong);background:var(--primary-soft);border-color:#0000}.step.current{color:var(--text);border-color:var(--primary)}.step .n{background:var(--bg-elev-2);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11.5px;font-weight:700;display:grid}.scene{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev-2);grid-template-columns:96px 1fr auto;align-items:start;gap:14px;padding:12px;display:grid}.scene+.scene{margin-top:10px}.compare{grid-template-columns:1fr 1fr;gap:14px;display:grid}.kv{grid-template-columns:180px 1fr;gap:8px 16px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.cal{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-day{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;min-height:110px;padding:6px;font-size:12.5px;overflow:hidden}.cal-day.other{opacity:.45}.cal-day.today{border-color:var(--primary)}.cal-ev{background:var(--bg-elev-2);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;margin-top:4px;padding:2px 6px;display:block;overflow:hidden}.cal-ev.slot{border:1px dashed var(--border-strong);color:var(--text-faint);background:0 0}.code{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;border-radius:8px;padding:10px 12px;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:12.5px;overflow-x:auto}.auth-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{width:min(420px,100%)}@media (max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.shell,.shell.collapsed{grid-template-columns:1fr}.sidebar{z-index:40;width:var(--sidebar-w);transition:transform .2s;position:fixed;transform:translate(-100%)}.shell.mobile-open .sidebar{transform:none}.shell.collapsed .nav-label,.shell.collapsed .brand-name,.shell.collapsed .side-foot-label{display:inline}.content{padding:18px 16px 48px}.topbar{padding:10px 16px}.grid-2,.grid-3,.grid-4,.compare,.kv{grid-template-columns:1fr}.scene{grid-template-columns:72px 1fr}}@keyframes spin{to{transform:rotate(360deg)}}.mobile-only{display:none}@media (max-width:800px){.mobile-only{display:inline-flex}}
