:root{--cyan-50:#e2fbff;--cyan-100:#b4e8ff;--cyan-200:#8cddf1;--cyan-300:#48c1ec;--cyan-400:#26d1f6;--cyan-500:#00b0dc;--cyan-600:#028db8;--cyan-700:#097195;--primary:var(--cyan-500);--primary-hover:var(--cyan-600);--surface:#fff;--surface-raised:#fff;--nav-surface:#fff;--page-wash-a:#f7fcfe;--page-wash-b:#d9f2fb;--text-heading:#2d2f39;--text-body:#5d5d5d;--text-secondary:#8084ab;--text-muted:#6e7294;--border:#e2e4e9;--border-strong:#b9c0d4;--fill-subtle:#f4f6f9;--active-bg:#d8f1fa;--active-text:var(--cyan-500);--note-text:var(--cyan-700);--success:#38c793;--warning:#f2ae40;--error:#f04438;--error-bg:#fef3f2;--shadow-sm:0 1px 2px #e4e5e73d, 0 10px 21px #8a8f931f;--shadow-md:0 16px 32px -12px #585c5f1a;--shadow-lg:0 16px 40px -8px #585c5f29;--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-brand:"PP Telegraf","Pptelegraf","Inter",system-ui,sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--sidebar-w:288px;--ease:cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface:#1b1d24;--surface-raised:#22252e;--nav-surface:#1b1d24;--page-wash-a:#14161c;--page-wash-b:#0e1a20;--primary:var(--cyan-400);--primary-hover:var(--cyan-300);--text-heading:#f2f4f8;--text-body:#c2c6d0;--text-secondary:#8a8fa6;--text-muted:#7a7f94;--border:#2e323c;--border-strong:#3e4350;--fill-subtle:#22252e;--active-bg:#0c3543;--active-text:var(--cyan-400);--note-text:var(--cyan-200);--error-bg:#2a1917;--shadow-sm:0 1px 2px #0000004d, 0 10px 21px #0000003d;--shadow-md:0 16px 32px -12px #00000070;--shadow-lg:0 16px 40px -8px #00000085}}:root[data-theme=dark]{--surface:#1b1d24;--surface-raised:#22252e;--nav-surface:#1b1d24;--page-wash-a:#14161c;--page-wash-b:#0e1a20;--primary:var(--cyan-400);--primary-hover:var(--cyan-300);--text-heading:#f2f4f8;--text-body:#c2c6d0;--text-secondary:#8a8fa6;--text-muted:#7a7f94;--border:#2e323c;--border-strong:#3e4350;--fill-subtle:#22252e;--active-bg:#0c3543;--active-text:var(--cyan-400);--note-text:var(--cyan-200);--error-bg:#2a1917;--shadow-sm:0 1px 2px #0000004d, 0 10px 21px #0000003d;--shadow-md:0 16px 32px -12px #00000070;--shadow-lg:0 16px 40px -8px #00000085}:root[data-theme=light]{--surface:#fff;--surface-raised:#fff;--nav-surface:#fff;--page-wash-a:#f7fcfe;--page-wash-b:#d9f2fb;--primary:var(--cyan-500);--primary-hover:var(--cyan-600);--text-heading:#2d2f39;--text-body:#5d5d5d;--text-secondary:#8084ab;--text-muted:#6e7294;--border:#e2e4e9;--border-strong:#b9c0d4;--fill-subtle:#f4f6f9;--active-bg:#d8f1fa;--active-text:var(--cyan-500);--note-text:var(--cyan-700);--error-bg:#fef3f2;--shadow-sm:0 1px 2px #e4e5e73d, 0 10px 21px #8a8f931f;--shadow-md:0 16px 32px -12px #585c5f1a;--shadow-lg:0 16px 40px -8px #585c5f29}*{box-sizing:border-box}#__nuxt,body,html{height:100%}body{font-family:var(--font-ui);color:var(--text-body);background:var(--surface);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;cursor:pointer;background:0 0;border:none}a,button{color:inherit}a{text-decoration:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.app{background:var(--surface);height:100vh;min-height:600px;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--nav-surface);border-right:1px solid var(--border);z-index:20;flex-direction:column;display:flex}.brand{align-items:center;gap:12px;padding:26px 24px 22px;display:flex}.brand-mark{flex:0 0 40px;width:40px;height:40px}.brand-text{flex-direction:column;gap:2px;min-width:0;display:flex}.brand-name{font-family:var(--font-brand);letter-spacing:.04em;color:var(--text-heading);font-size:19px;font-weight:700;line-height:1}.brand-sub{letter-spacing:.03em;color:var(--text-secondary);font-size:10.5px;line-height:1.3}.nav-scroll{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex:1;padding:4px 16px 16px;overflow-y:auto}.nav-scroll::-webkit-scrollbar{width:6px}.nav-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.nav-label{letter-spacing:.04em;color:var(--text-secondary);padding:12px 12px 10px;font-size:12px;font-weight:500}.nav-list{flex-direction:column;gap:2px;display:flex}.nav-item{position:relative}.nav-btn{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text-body);transition:background var(--ease) .14s,color var(--ease) .14s;align-items:center;gap:12px;padding:11px 12px;font-size:15px;font-weight:500;display:flex}.nav-btn:hover{background:var(--fill-subtle)}.nav-item.is-active .nav-btn{background:var(--active-bg);color:var(--active-text);font-weight:600}.nav-item.is-active:before{content:"";background:var(--primary);border-radius:0 4px 4px 0;width:4px;position:absolute;top:6px;bottom:6px;left:-16px}.nav-icon{stroke-width:1.7px;flex:0 0 20px;width:20px;height:20px}.nav-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-caret{opacity:.5;stroke-width:2px;flex:0 0 14px;width:14px;height:14px}.flyout{z-index:60;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);min-width:232px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity .14s var(--ease),transform .14s var(--ease),visibility .14s;padding:8px;position:fixed;transform:translate(-6px)}.flyout.is-open{opacity:1;visibility:visible;transform:translate(0)}.flyout-head{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:8px 12px;font-size:11px;font-weight:600}.flyout-item{border-radius:var(--radius-sm);width:100%;color:var(--text-body);text-align:left;transition:background .12s var(--ease),color .12s var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.flyout-item:hover{background:var(--active-bg);color:var(--active-text)}.flyout-item .ext{opacity:.55;stroke-width:2px;width:13px;height:13px}.user-block{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:10px;margin:8px 16px 16px;padding:10px;display:flex}.avatar{border-radius:var(--radius-pill);background:linear-gradient(150deg,var(--cyan-200),var(--cyan-600));color:#fff;letter-spacing:.02em;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:grid}.user-meta{flex:1;min-width:0}.user-name{color:var(--text-heading);font-size:13.5px;font-weight:600}.user-mail,.user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-mail{color:var(--text-secondary);font-size:11.5px}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted);transition:background .14s var(--ease),color .14s var(--ease);place-items:center;display:grid}.icon-btn:hover{background:var(--fill-subtle);color:var(--text-heading)}.icon-btn svg{stroke-width:1.8px;width:17px;height:17px}.main{background:radial-gradient(1100px 620px at 88% 78%,var(--page-wash-b) 0,transparent 62%),linear-gradient(180deg,var(--page-wash-a) 0,var(--page-wash-a) 100%);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{flex:none;gap:16px;padding:18px 32px}.crumb,.topbar{align-items:center;display:flex}.crumb{color:var(--text-muted);flex:1;gap:8px;min-width:0;font-size:14.5px}.crumb svg{stroke-width:2px;flex:0 0 15px;width:15px;height:15px}.crumb .sep{opacity:.4}.crumb .here{color:var(--text-heading);font-weight:500}.crumb-back{border-radius:var(--radius-sm);transition:background .14s var(--ease);align-items:center;gap:7px;padding:5px 10px 5px 6px;display:flex}.crumb-back:hover{background:var(--fill-subtle)}.topbar-tools{flex:none;gap:10px}.theme-btn,.topbar-tools{align-items:center;display:flex}.theme-btn{color:var(--text-heading);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:border-color .14s var(--ease),color .14s var(--ease);gap:8px;padding:9px 14px 9px 11px;font-size:13.5px;font-weight:500}.theme-btn:hover{border-color:var(--cyan-200);color:var(--primary)}.theme-btn svg{stroke-width:1.8px;flex:0 0 15px;width:15px;height:15px}.select-wrap{align-items:center;display:flex;position:relative}.select-wrap>svg.lead{stroke-width:1.8px;width:15px;height:15px;left:11px}.select-wrap>svg.chev,.select-wrap>svg.lead{color:var(--text-muted);pointer-events:none;position:absolute}.select-wrap>svg.chev{stroke-width:2px;width:14px;height:14px;right:10px}select.control{appearance:none;font-family:var(--font-ui);color:var(--text-heading);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .14s var(--ease);padding:9px 30px 9px 32px;font-size:13.5px;font-weight:500}select.control:hover{border-color:var(--border-strong)}.content{flex:1;padding:4px 32px 40px;overflow-y:auto}.page-head{margin-bottom:26px}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:9px;font-size:11px;font-weight:600}.content h1{font-family:var(--font-brand);color:var(--text-heading);text-wrap:balance;letter-spacing:-.01em;margin:0 0 7px;font-size:32px;font-weight:700;line-height:1.2}.page-desc{color:var(--text-body);margin:0;font-size:15.5px}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 14px;font-size:12px;font-weight:600}.block{margin-bottom:32px}.block-note{color:var(--text-secondary);max-width:62ch;margin:13px 0 0;font-size:13px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.kpi{background:var(--surface-raised);border:1px dashed var(--border-strong);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:18px 20px;display:flex}.kpi-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.kpi-value{font-family:var(--font-brand);color:var(--border-strong);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1}.card-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:16px;display:grid}.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;width:100%;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);align-items:center;gap:14px;padding:20px;display:flex}.card:hover{box-shadow:var(--shadow-md);border-color:var(--cyan-200);transform:translateY(-2px)}.card-icon{background:var(--active-bg);width:38px;height:38px;color:var(--primary);border-radius:10px;flex:0 0 38px;place-items:center;display:grid}.card-icon svg{stroke-width:1.8px;width:19px;height:19px}.card-body{flex:1;min-width:0}.card-title{color:var(--text-heading);margin-bottom:3px;font-size:15px;font-weight:600}.card-note{font-size:12.5px}.card-arrow,.card-note{color:var(--text-secondary)}.card-arrow{stroke-width:2px;flex:0 0 16px;width:16px;height:16px}.chips{flex-wrap:wrap;gap:9px;display:flex}.chip{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-raised);color:var(--text-body);transition:all .14s var(--ease);padding:8px 15px;font-size:13.5px;font-weight:500}.chip:hover{border-color:var(--cyan-200);color:var(--primary)}.chip.is-on{background:var(--primary);border-color:var(--primary);color:#fff}.empty{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);padding:64px 32px}.empty-mark{border-radius:var(--radius-pill);background:var(--active-bg);width:52px;height:52px;color:var(--primary);place-items:center;margin:0 auto 18px;display:grid}.empty-mark svg{stroke-width:1.6px;width:24px;height:24px}.empty h2{font-family:var(--font-brand);color:var(--text-heading);margin:0 0 8px;font-size:20px;font-weight:700}.empty p{color:var(--text-secondary);max-width:46ch;margin:0 auto;font-size:14.5px}.login{background:radial-gradient(900px 520px at 78% 82%,var(--page-wash-b) 0,transparent 60%),var(--page-wash-a);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:424px;box-shadow:var(--shadow-lg);padding:40px}.login-brand{align-items:center;gap:12px;margin-bottom:30px;display:flex}.login h1{font-family:var(--font-brand);color:var(--text-heading);letter-spacing:-.01em;margin:0 0 7px;font-size:25px;font-weight:700}.login-sub{color:var(--text-secondary);margin:0 0 26px;font-size:14.5px}.field{flex-direction:column;gap:7px;margin-bottom:17px;display:flex}.field label{color:var(--text-heading);font-size:13px;font-weight:500}.field input{font-family:var(--font-ui);color:var(--text-heading);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;transition:border-color .14s var(--ease),box-shadow .14s var(--ease);padding:12px 14px;font-size:15px}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--active-bg);outline:none}.field input::placeholder{color:var(--text-secondary)}.field-hint{color:var(--text-secondary);font-size:12px}.btn-primary{border-radius:var(--radius-sm);background:var(--primary);color:#fff;width:100%;transition:background .14s var(--ease),opacity .14s var(--ease);padding:13px 20px;font-size:15px;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.alert{border-radius:var(--radius-sm);background:var(--error-bg);color:var(--error);align-items:flex-start;gap:9px;margin-bottom:18px;padding:12px 14px;font-size:13.5px;line-height:1.45;display:flex}.alert svg{stroke-width:2px;flex:0 0 16px;width:16px;height:16px;margin-top:1px}.login-foot{border-top:1px solid var(--border);color:var(--text-secondary);text-align:center;margin-top:24px;padding-top:20px;font-size:12px}.stage-tag{border-radius:var(--radius-pill);background:var(--warning);color:#3a2a00;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-block}.loading{min-height:100vh;color:var(--text-secondary);background:var(--surface);place-items:center;font-size:14px;display:grid}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}.card:hover{transform:none}}@media (width<=880px){:root{--sidebar-w:74px}.brand-text,.nav-caret,.nav-text,.user-meta{display:none}.nav-btn{padding:12px}.brand,.nav-btn{justify-content:center}.brand{padding:20px 8px}.user-block{justify-content:center}.content,.topbar{padding-left:20px;padding-right:20px}.login-card{padding:28px}}
