:root,[data-theme=dark]{--bg: #0f0e13;--bg-soft: #1a1921;--surface: #17161d;--sidebar: #17161d;--sidebar-hover: #252430;--sidebar-active: #6358dc;--text: #ffffff;--text-muted: #9a9a9e;--text-sidebar: #a0a0b8;--primary: #6358dc;--primary-soft: rgba(99, 88, 220, .18);--primary-soft-hover: rgba(99, 88, 220, .28);--teal: #7b6cf0;--purple: #8b7cf6;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--border: rgba(255, 255, 255, .08);--shadow: 0 2px 16px rgba(0, 0, 0, .35);--radius: 12px;--radius-btn: 10px;--sidebar-w: 260px;--rightbar-w: 300px;--header-h: 68px;--font: "DM Sans", system-ui, sans-serif;--font-display: "Outfit", "DM Sans", sans-serif;--btn-h: 40px;--btn-h-sm: 32px;--btn-h-lg: 44px;--btn-px: 16px;--btn-px-sm: 12px;--focus-ring: 0 0 0 3px rgba(99, 88, 220, .35);--primary-hover: #7569e8;--primary-active: #5248c4;--danger-soft: rgba(239, 68, 68, .16);--danger-soft-hover: rgba(239, 68, 68, .24);--danger-text: #fca5a5;--banner-from: #2e2d4d;--banner-to: #1c1b33;--header-bg: rgba(15, 14, 19, .85);--panel-bg: linear-gradient(165deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .015));--panel-border: rgba(255, 255, 255, .08);--hero-bg: linear-gradient(135deg, rgba(46, 45, 77, .55), rgba(23, 22, 29, .9));--chart-muted: #9a9a9e;--chart-grid: rgba(255, 255, 255, .06);--chart-tooltip: dark;color-scheme:dark}[data-theme=light]{--bg: #f3f2f8;--bg-soft: #e9e7f2;--surface: #ffffff;--sidebar: #17161d;--sidebar-hover: #252430;--sidebar-active: #6358dc;--text: #1a1830;--text-muted: #6b6880;--text-sidebar: #a0a0b8;--primary: #6358dc;--primary-soft: rgba(99, 88, 220, .14);--primary-soft-hover: rgba(99, 88, 220, .22);--teal: #6358dc;--purple: #7c6ef0;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--border: rgba(26, 24, 48, .1);--shadow: 0 2px 16px rgba(26, 24, 48, .08);--focus-ring: 0 0 0 3px rgba(99, 88, 220, .22);--primary-hover: #5248c4;--primary-active: #4338a8;--danger-soft: #fee2e2;--danger-soft-hover: #fecaca;--danger-text: #b91c1c;--banner-from: #ebe8ff;--banner-to: #f5f3ff;--header-bg: rgba(255, 255, 255, .82);--panel-bg: #ffffff;--panel-border: rgba(26, 24, 48, .1);--hero-bg: linear-gradient(135deg, #ece9ff 0%, #ffffff 55%, #f7f5ff 100%);--chart-muted: #6b6880;--chart-grid: rgba(26, 24, 48, .08);--chart-tooltip: light;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-success{background:#22c55e29;color:#4ade80}.badge-warning{background:#f59e0b29;color:#fbbf24}.badge-info{background:var(--primary-soft);color:#a5a0f5}[data-theme=light] .badge-success{background:#e8f8ef;color:#15803d}[data-theme=light] .badge-warning{background:#fff7e6;color:#b45309}[data-theme=light] .badge-info{background:var(--primary-soft);color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--btn-h);padding:0 var(--btn-px);border:1px solid transparent;border-radius:var(--radius-btn);background:transparent;color:var(--text);cursor:pointer;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease,opacity .15s ease}.btn:focus{outline:none}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 2px #6358dc59}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary:active:not(:disabled):not([aria-disabled=true]){background:var(--primary-active);border-color:var(--primary-active);box-shadow:none}.btn-primary:focus-visible{box-shadow:var(--focus-ring),0 1px 2px #6358dc59}.btn-soft{background:var(--primary-soft);border-color:transparent;color:var(--primary)}.btn-soft:hover:not(:disabled):not([aria-disabled=true]){background:var(--primary-soft-hover);color:var(--primary-hover)}[data-theme=light] .btn-soft:hover:not(:disabled):not([aria-disabled=true]){color:var(--primary-active)}.btn-soft:active:not(:disabled):not([aria-disabled=true]){background:#6358dc47}.btn-soft:focus-visible{box-shadow:var(--focus-ring)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--bg-soft);color:var(--text)}.btn-ghost:active:not(:disabled):not([aria-disabled=true]){background:#ffffff14}[data-theme=light] .btn-ghost:active:not(:disabled):not([aria-disabled=true]){background:var(--bg-soft)}.btn-outline{background:transparent;border-color:#fff3;color:var(--text)}[data-theme=light] .btn-outline{background:var(--surface);border-color:var(--border)}.btn-outline:hover:not(:disabled):not([aria-disabled=true]){background:var(--bg-soft);border-color:#ffffff59}[data-theme=light] .btn-outline:hover:not(:disabled):not([aria-disabled=true]){border-color:#c5c0d8}.btn-outline:active:not(:disabled):not([aria-disabled=true]){background:var(--surface)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 1px 2px #ef444459}.btn-danger:hover:not(:disabled):not([aria-disabled=true]){background:#f87171;border-color:#f87171}[data-theme=light] .btn-danger:hover:not(:disabled):not([aria-disabled=true]){background:#ef4444;border-color:#ef4444}.btn-danger:active:not(:disabled):not([aria-disabled=true]){background:#dc2626;border-color:#dc2626;box-shadow:none}[data-theme=light] .btn-danger:active:not(:disabled):not([aria-disabled=true]){background:#b91c1c;border-color:#b91c1c}.btn-danger:focus-visible{box-shadow:0 0 0 3px #ef444447,0 1px 2px #ef444459}.btn-sm{min-height:var(--btn-h-sm);padding:0 var(--btn-px-sm);font-size:13px;border-radius:8px;gap:6px}.btn-lg{min-height:var(--btn-h-lg);padding:0 20px;font-size:15px;border-radius:12px}.btn-block{width:100%}.btn-icon,.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:38px;padding:0;border:none;border-radius:var(--radius-btn);background:transparent;color:var(--text-muted);cursor:pointer;position:relative;font-weight:700;font-size:12px;line-height:1;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}.btn-icon:hover:not(:disabled),.icon-btn:hover:not(:disabled){background:var(--bg-soft);color:var(--text)}.btn-icon:active:not(:disabled),.icon-btn:active:not(:disabled){transform:translateY(1px);background:#ffffff14}.btn-icon:focus,.icon-btn:focus{outline:none}.btn-icon:focus-visible,.icon-btn:focus-visible{box-shadow:var(--focus-ring)}.btn-icon:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.tab-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.tab-btn:hover:not(.active):not(:disabled){background:var(--bg-soft);color:var(--text)}.tab-btn:focus{outline:none}.tab-btn:focus-visible{box-shadow:var(--focus-ring)}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tab-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tab-count{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:1.5em;background:#ffffff14;padding:2px 6px;border-radius:999px;font-size:11px;line-height:1.2}.tab-btn.active .tab-count{background:#ffffff40}.btn.back{margin-bottom:8px;margin-left:-4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:600;color:var(--text-muted)}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:10px 12px;outline:none;color:var(--text)}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted);opacity:.7}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6358dc33}.field input:disabled,.field select:disabled,.field textarea:disabled,.field input[readonly]{background:var(--bg-soft);color:var(--text-muted);cursor:not-allowed}.field select option{background:var(--surface);color:var(--text)}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.page-title{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em}@media(max-width:900px){.page-title{font-size:20px}.page-head{flex-direction:column;align-items:stretch}.page-head>.btn,.page-head>a.btn{width:100%;justify-content:center}.icon-btn,.btn-icon{width:34px;height:34px;min-height:34px}}.muted{color:var(--text-muted);font-size:13px}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--border)}.table td{padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}.table tr:last-child td{border-bottom:none}@media(max-width:1200px){:root{--rightbar-w: 0px}}
