:root{--bg: #0f1419;--bg-elev: #151b22;--bg-soft: #1a222c;--bg-hover: #212a35;--line: rgba(232, 213, 181, .12);--line-strong: rgba(232, 213, 181, .22);--text: #f4efe6;--muted: #9a9184;--sand: #e8d5b5;--rust: #c45c26;--rust-hover: #d46a32;--danger: #e07a6a;--ok: #8fbf8f;--warn: #d4a574;--sidebar-w: 248px;--radius: 12px;--radius-sm: 8px;--font: "Outfit", system-ui, sans-serif;--shadow: 0 12px 40px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--sand)}button{cursor:pointer}.soamp-wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--sand)}.soamp-mark{display:grid;place-items:center;color:var(--sand)}.soamp-divider{width:1px;height:22px;background:var(--line-strong)}.soamp-type{height:22px;width:auto;display:block}.soamp-wordmark.compact .soamp-type{height:18px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(900px 480px at 12% 0%,rgba(196,92,38,.16),transparent 55%),radial-gradient(700px 420px at 90% 80%,rgba(232,213,181,.06),transparent 50%),var(--bg)}.auth-card{width:min(420px,100%);text-align:center;animation:rise .45s ease both}.auth-card h1{margin:18px 0 8px;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.auth-card .lead{margin:0 0 22px;color:var(--muted);line-height:1.5}.auth-card .brand-slot{display:flex;justify-content:center}.app-frame{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.app-frame.nav-collapsed{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:8px;padding:18px 12px 16px;background:var(--bg-elev);border-right:1px solid var(--line);z-index:20}.sidebar-brand{padding:6px 10px 14px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow:auto;padding-bottom:12px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;color:var(--muted);border-radius:var(--radius-sm);padding:9px 11px;transition:background .15s,color .15s}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--bg-soft);color:var(--sand)}.nav-item .ico{width:18px;opacity:.85;flex-shrink:0}.nav-section{margin:12px 11px 6px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sidebar-foot{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}.sidebar-cta{width:100%}.main-col{display:flex;flex-direction:column;min-width:0;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;border-bottom:1px solid var(--line);background:#0f1419d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.menu-toggle{display:none}.topbar-search{flex:1;max-width:420px}.topbar-search input{width:100%;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:9px 14px;color:var(--text)}.topbar-search input::placeholder{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.9rem}.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--sand);font-size:.75rem;font-weight:600}.content{padding:28px 32px 64px;animation:fade .28s ease both;max-width:1120px;width:100%}.page-kicker{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.page-title{margin:0 0 8px;font-size:clamp(1.6rem,2.5vw,2.1rem);font-weight:600;letter-spacing:-.03em;line-height:1.15}.page-desc{margin:0 0 24px;color:var(--muted);max-width:54ch;line-height:1.5}.muted{color:var(--muted)}.grid{display:grid;gap:14px}.grid.kpi{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.grid.models{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.grid.two{grid-template-columns:1fr 1fr}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card h2,.card h3{margin:0 0 8px;font-weight:600;letter-spacing:-.02em}.card h2{font-size:1.2rem}.card h3{font-size:1.05rem}.card p{margin:0 0 12px;color:var(--muted);line-height:1.45}.kpi{background:var(--bg-soft);border-radius:var(--radius-sm);padding:12px 14px;border:1px solid transparent}.kpi b{display:block;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.kpi span{color:var(--muted);font-size:.8rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg-soft);border-radius:999px;padding:9px 15px;transition:border-color .15s,background .15s,transform .15s}.btn:hover{border-color:var(--line-strong);background:var(--bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--rust);border-color:transparent;color:#fff8f3;font-weight:600}.btn.primary:hover{background:var(--rust-hover)}.btn.ghost{background:transparent}.btn.danger{border-color:#e07a6a73;color:var(--danger)}.btn.block{width:100%}.btn.tg{background:#2aabee;border:none;color:#fff;font-weight:600}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.tabs .btn.active{border-color:var(--sand);color:var(--sand);background:#e8d5b50f}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:.8rem;color:var(--muted)}.field input,.field textarea,.field select,.select-like{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}.field textarea{min-height:110px;resize:vertical}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.78rem;background:var(--bg-soft);border:1px solid var(--line)}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--danger)}.pill.soon{color:var(--sand);border-color:#e8d5b540}.alert{border:1px solid rgba(196,92,38,.4);background:#c45c261a;border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px;color:var(--sand)}.preview-box{white-space:pre-wrap;background:var(--bg);border-radius:var(--radius-sm);padding:12px;border:1px solid var(--line);min-height:80px;font-size:.92rem}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-weight:500}.model-tile{text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}.model-tile:hover{border-color:var(--sand);transform:translateY(-1px)}.progress{height:4px;background:var(--bg-soft);border-radius:999px;overflow:hidden;margin:8px 0 20px}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--rust),var(--sand));border-radius:inherit}.step-list{display:flex;flex-direction:column;gap:10px}.step{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elev)}.step.done{border-color:#8fbf8f59}.step-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--bg-soft);color:var(--sand);font-weight:600;font-size:.85rem}.step.done .step-num{background:#8fbf8f26;color:var(--ok)}.step h4{margin:0 0 2px;font-size:.98rem;font-weight:600}.step p{margin:0;font-size:.85rem;color:var(--muted)}.stub-hero{padding:36px 28px;border-radius:var(--radius);border:1px dashed var(--line-strong);background:radial-gradient(600px 240px at 20% 0%,rgba(196,92,38,.12),transparent 60%),var(--bg-elev)}.backdrop{display:none}@media(max-width:960px){.app-frame{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;transform:translate(-105%);transition:transform .22s ease;width:min(280px,86vw);box-shadow:var(--shadow)}.app-frame.nav-open .sidebar{transform:translate(0)}.menu-toggle{display:inline-flex}.backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:15}.app-frame.nav-open .backdrop{display:block}.content{padding:20px 16px 48px}.grid.two{grid-template-columns:1fr}.topbar-search{display:none}}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
