:root{--bg:#050507;--surface-1:#0f0f14;--surface-2:#17171f;--surface-3:#22222c;--surface-hover:#2a2a36;--border:#2e2e3a;--text:#f4f3f8;--text-muted:#a7a5b5;--text-dim:#6e6c7d;--primary:#9146ff;--primary-hover:#a466ff;--primary-soft:#9146ff29;--secondary:#1ed760;--secondary-soft:#1ed76024;--danger:#ff5470;--danger-soft:#ff547024;--warning:#ffb547;--radius-s:6px;--radius-m:10px;--radius-l:16px;--font:"Inter", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}a{color:var(--primary-hover);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.02em;margin:0 0 20px;font-size:28px}h2{margin:28px 0 12px;font-size:20px}h3{margin:16px 0 8px;font-size:16px}p{margin:0 0 12px}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell{grid-template-columns:248px 1fr;min-height:100%;display:grid}.sidebar{background:#000;flex-direction:column;gap:4px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:4px 10px 20px;font-size:20px;font-weight:800;display:flex}.brand img{border-radius:8px;width:36px;height:36px}.brand small{color:var(--text-muted);letter-spacing:0;font-size:12px;font-weight:500;display:block}.nav-link{border-radius:var(--radius-m);color:var(--text-muted);align-items:center;gap:12px;min-height:44px;padding:10px 12px;font-weight:600;display:flex}.nav-link:hover{color:var(--text);background:var(--surface-2);text-decoration:none}.nav-link.active{color:var(--text);background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}.sidebar .spacer{flex:1}.main{width:100%;min-width:0;max-width:1280px;padding:32px clamp(16px,4vw,48px) 64px}.topbar-mobile{display:none}@media (width<=860px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{z-index:50;width:260px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:0 0 40px #000}.topbar-mobile{z-index:40;background:#000;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.main{padding-top:20px}}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-l);padding:20px}.card+.card{margin-top:16px}.grid{gap:16px;display:grid}.grid.stats{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-l);padding:16px}.stat .value{font-size:28px;font-weight:800}.stat .label{color:var(--text-muted);font-size:13px}.stat.warn .value{color:var(--warning)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.muted{color:var(--text-muted)}.dim{color:var(--text-dim);font-size:13px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn{background:var(--surface-3);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;transition:background .15s,transform 50ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.success{background:var(--secondary);color:#04140a}.btn.danger{background:var(--danger-soft);color:var(--danger);border-color:#ff547066}.btn.ghost{border-color:var(--border);background:0 0}.btn.small{min-height:32px;padding:0 12px;font-size:13px}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;min-width:40px;min-height:40px;font-size:18px}.icon-btn:hover{color:var(--text);background:var(--surface-2)}label.field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}input,select,textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);width:100%;min-height:42px;padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--primary)}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 8px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}tr:hover td{background:#ffffff05}.table-wrap{overflow-x:auto}.badge{background:var(--surface-3);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge.primary{background:var(--primary-soft);color:var(--primary-hover)}.badge.success{background:var(--secondary-soft);color:var(--secondary)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warn{color:var(--warning);background:#ffb54726}.alert{border-radius:var(--radius-m);background:var(--surface-2);border:1px solid var(--border);padding:12px 14px}.alert.error{background:var(--danger-soft);color:#ffc2cd;border-color:#ff547066}.alert.success{background:var(--secondary-soft);color:#b6f5cd;border-color:#1ed76059}.alert.info{background:var(--primary-soft);border-color:#9146ff66}.progress{background:var(--surface-3);border-radius:999px;min-width:80px;height:6px;overflow:hidden}.progress>div{background:var(--primary);border-radius:999px;height:100%;transition:width .25s}.progress.done>div{background:var(--secondary)}.progress.error>div{background:var(--danger)}.cover{border-radius:var(--radius-s);background:var(--surface-3);object-fit:cover;flex-shrink:0;display:block}.cover.round{border-radius:50%}.cover-ph{color:var(--text-dim);background:linear-gradient(135deg,#2a1748,#10101a);place-items:center;display:grid}.combo{position:relative}.combo-list{z-index:30;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-m);max-height:340px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #0009}.combo-item{border-radius:var(--radius-s);cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:8px;display:flex}.combo-item:hover,.combo-item.active{background:var(--surface-hover)}.combo-item.create{color:var(--primary-hover);border-top:1px solid var(--border);margin-top:4px;font-weight:700}.modal-backdrop{z-index:100;background:#000000b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-l);width:min(560px,100%);max-height:90vh;padding:24px;overflow:auto}.modal.wide{width:min(900px,100%)}.steps{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.step{background:var(--surface-2);color:var(--text-dim);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.step.active{background:var(--primary);color:#fff}.step.done{background:var(--secondary-soft);color:var(--secondary)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-l);text-align:center;color:var(--text-muted);cursor:pointer;padding:28px}.dropzone.drag{border-color:var(--primary);background:var(--primary-soft)}.track-row{border-radius:var(--radius-m);background:var(--surface-2);grid-template-columns:32px 56px 1fr;align-items:start;gap:12px;padding:12px;display:grid}.track-row+.track-row{margin-top:8px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface-3);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 12px;font-size:13px;display:inline-flex}.chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;min-width:24px;min-height:24px;font-size:14px}.login-wrap{background:radial-gradient(ellipse at top, #24113f 0%, var(--bg) 60%);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{width:min(400px,100%)}.login-card .logo{border-radius:20px;width:88px;height:88px;margin:0 auto 16px;display:block;box-shadow:0 0 60px #9146ff59}.crop-area{aspect-ratio:1;border-radius:var(--radius-m);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#000;width:100%;max-width:420px;margin:0 auto;position:relative;overflow:hidden}.crop-area img{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute}.crop-area .mask{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 9999px #0000008c}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
