@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,:after,:before{margin:0;padding:0}:root{--bg-raised:#fff;--bg-sunken:#efede8;--bg-overlay:hsla(0,0%,100%,.88);--border:#e5e3db;--border-strong:#cac8c0;--border-subtle:#edecea;--text:#141412;--text-2:#4a4945;--text-3:#7a7870;--text-4:#a8a69e;--purple-2:#7f77dd;--purple-3:#afa9ec;--purple-bg:#eeedfe;--purple-dark:#3c3489;--icon-accent:#534ab7;--teal:#0f6e56;--teal-bg:#e1f5ee;--amber:#854f0b;--amber-bg:#faeeda;--red:#a32d2d;--red-bg:#fcebeb;--green:#3b6d11;--green-bg:#eaf3de;--coral:#993c1d;--coral-bg:#faece7;--blue:#185fa5;--blue-bg:#e6f1fb;--sev-critical-bg:#fcebeb;--sev-critical-text:#791f1f;--sev-critical-strip:#e24b4a;--sev-critical-glow:rgba(226,75,74,.18);--sev-warning-bg:#fff8ee;--sev-warning-text:#633806;--sev-warning-strip:#ef9f27;--sev-info-bg:#f0f5ff;--sev-info-text:#0c447c;--sev-info-strip:#378add;--sev-ok-bg:#f0f8ec;--sev-ok-text:#27500a;--sev-ok-strip:#639922;--shadow-xs:0 1px 2px rgba(20,20,18,.04);--shadow-sm:0 1px 3px rgba(20,20,18,.06),0 2px 6px rgba(20,20,18,.04);--shadow-md:0 4px 8px rgba(20,20,18,.06),0 1px 3px rgba(20,20,18,.04),0 0 0 1px rgba(20,20,18,.03);--shadow-lg:0 8px 24px rgba(20,20,18,.08),0 2px 6px rgba(20,20,18,.05),0 0 0 1px rgba(20,20,18,.03);--shadow-xl:0 16px 40px rgba(20,20,18,.1),0 4px 12px rgba(20,20,18,.06);--shadow-purple:0 4px 14px rgba(83,74,183,.28),0 1px 4px rgba(83,74,183,.16);--shadow-hover:0 8px 20px rgba(20,20,18,.1),0 2px 6px rgba(20,20,18,.06);--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-2xl:28px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.45,0,.55,1);--dur-fast:.15s;--dur-base:.22s;--dur-slow:.35s;--font:"Inter",system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono","Fira Code",monospace;--header-h:56px;--page-max:1140px;--page-pad:clamp(16px,4vw,32px)}:root[data-theme=dark]{--bg:#111110;--bg-card:#1c1c19;--bg-raised:#242420;--bg-sunken:#131310;--bg-overlay:rgba(26,26,23,.92);--border:#3a3a36;--border-strong:#4a4a45;--border-subtle:#32322e;--text:#f0eee8;--text-2:#d2cec2;--text-3:#b1ac9f;--text-4:#8e8a80;--shadow-sm:0 1px 3px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.2);--shadow-md:0 4px 8px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.2);--shadow-lg:0 8px 24px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.25);--shadow-hover:0 8px 20px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25);--sev-critical-glow:rgba(226,75,74,.25);--purple-bg:rgba(83,74,183,.18);--amber-bg:rgba(250,173,20,.16);--green-bg:rgba(82,196,26,.16);--red-bg:rgba(226,75,74,.16);--icon-accent:#d48806}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background var(--dur-slow) var(--ease-out),color var(--dur-base) var(--ease-out)}.app-header{backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);background:var(--bg-overlay);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);gap:24px;height:var(--header-h);padding:0 var(--page-pad)}.app-header__brand{color:var(--purple);font-size:16px;font-weight:700;gap:9px;text-decoration:none}.app-header__brand-mark{border-radius:6px;height:22px;width:22px}.app-header__nav{gap:4px}.app-header__link{border-radius:var(--r-sm);padding:6px 10px;text-decoration:none;transition:all var(--dur-fast) var(--ease-out)}.app-header__link:hover{background:var(--border-subtle)}.app-header__right{gap:10px}.app-header__logout{background:none;border-radius:var(--r-sm);color:var(--text-3);font-size:12px;font-weight:500;padding:5px 10px;transition:color var(--dur-fast)}.app-header__logout:hover{color:var(--red)}.surface-raised{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.surface-hover:hover{box-shadow:var(--shadow-hover)}.t-display{color:var(--text);font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.15}.t-heading{font-size:22px;font-weight:700;letter-spacing:-.025em}.t-subheading{color:var(--text);font-size:15px;font-weight:600}.t-label{color:var(--text-3);font-size:11px;font-weight:600}.t-body{font-size:14px;line-height:1.65}.t-small{font-size:12px}.t-hint{font-size:11px}.pro-badge{background:linear-gradient(135deg,var(--purple),var(--purple-2));border-radius:99px;box-shadow:0 2px 6px #534ab74d;font-size:10px;letter-spacing:.08em;padding:3px 9px;text-transform:uppercase}.btn{font-size:13px;letter-spacing:-.01em;padding:9px 18px;transition:all var(--dur-base) var(--ease-out);white-space:nowrap}.btn:after{background:transparent;transition:background var(--dur-fast)}.btn:hover:after{background:#ffffff14}.btn:active:after{background:#00000014}.btn:disabled{transform:none!important}.btn-primary{background:var(--purple);box-shadow:var(--shadow-purple)}.btn-primary:hover:not(:disabled){background:var(--purple-dark);box-shadow:0 6px 20px #534ab761}.btn-secondary{box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--text);transform:translateY(-1px)}.btn-ghost:hover:not(:disabled){background:var(--border-subtle)}.btn-sm{border-radius:var(--r-sm)}.btn-lg{padding:12px 24px}.field{gap:6px}.field__label{align-items:center;color:var(--text-2);display:flex;gap:6px}.field__optional{color:var(--text-4);font-size:10px;font-weight:400}.field__hint{color:var(--text-4);font-size:11px;margin-top:2px}.field__input{background:var(--bg-card);border:1.5px solid var(--border);font-family:var(--font);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.field__input:focus{box-shadow:0 0 0 3px #534ab71f;outline:none}.conf-bar{align-items:center;display:flex;gap:10px}.conf-bar__track{background:var(--border);border-radius:99px;flex:1;height:5px;overflow:hidden}.conf-bar__fill{border-radius:99px;height:100%;transition:width .6s var(--ease-out)}.conf-badge{align-items:center;border-radius:var(--r-sm);display:inline-flex;font-weight:700;line-height:1}.conf-badge--sm{font-size:10px;padding:2px 7px}.conf-badge--md{font-size:12px;padding:3px 9px}.maturity-badge{align-items:center;border-radius:var(--r-sm);display:inline-flex;font-weight:600;gap:5px;white-space:nowrap}.maturity-badge--sm{font-size:10px;padding:2px 7px}.maturity-badge--md{font-size:11px;padding:3px 9px}.demand-pill{align-items:center;border-radius:99px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.demand-pill--increasing{background:#e1f5ee;color:#085041}.demand-pill--stable{background:var(--border-subtle);color:var(--text-3)}.demand-pill--decreasing{background:#faeeda;color:#633806}.stat-card{gap:5px;padding:20px 22px;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.stat-card--alert{background:var(--sev-critical-bg);border-color:#e24b4a4d}.stat-card--alert .stat-card__val{color:var(--sev-critical-text)}.stat-card__val{font-size:30px;font-weight:700;line-height:1}.stat-card__label{font-weight:500}.section-header{gap:12px;justify-content:space-between;margin-bottom:16px}.section-header__left{gap:10px}.section-header__title{font-size:14px;font-weight:600}.section-header__count{border-radius:99px;padding:2px 8px}.data-table{border-collapse:collapse;font-size:13px;width:100%}.data-table thead th{background:var(--bg-sunken);border-bottom:2px solid var(--border);color:var(--text-4);font-size:10px;font-weight:700;letter-spacing:.07em;padding:9px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table thead th:first-child{border-radius:var(--r-sm) 0 0 0}.data-table thead th:last-child{border-radius:0 var(--r-sm) 0 0}.data-table tbody tr{cursor:pointer;transition:background var(--dur-fast)}.data-table tbody tr:hover td{background:var(--border-subtle)}.data-table tbody td{border-bottom:1px solid var(--border-subtle);padding:10px 14px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{overflow:hidden}.skeleton:after{animation:shimmer 1.6s ease-in-out infinite;background:linear-gradient(90deg,var(--border-subtle) 25%,var(--bg) 50%,var(--border-subtle) 75%);background-size:600px 100%;content:"";display:block;height:100%;width:100%}.skeleton--card{height:120px}.skeleton--chart{height:240px}.skeleton--strip{height:100px}.empty-state{gap:12px;padding:56px 24px}.empty-state__icon{align-items:center;background:var(--purple-bg);border-radius:50%;color:var(--purple);display:flex;font-size:20px;font-weight:700;height:48px;justify-content:center;width:48px}.empty-state__title{font-weight:600}.empty-state__sub{line-height:1.6;max-width:280px}@keyframes bar-fill{0%{width:0}}@keyframes slide-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.animate-fade-up{animation:fade-up .4s var(--ease-out) both}.animate-slide-in{animation:slide-in .3s var(--ease-out) both}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}.divider{background:var(--border);border:none;height:1px;margin:0}.page-pad{margin:0 auto;max-width:var(--page-max);padding:28px var(--page-pad) 80px}:root{--purple:#534ab7;--purple-light:#6b62c9;--purple-bg:rgba(83,74,183,.08);--purple-border:rgba(83,74,183,.15);--green:#22c55e;--green-light:#4ade80;--green-bg:rgba(34,197,94,.08);--amber:#f59e0b;--amber-light:#fcd34d;--amber-bg:rgba(245,158,11,.08);--red:#ef4444;--red-light:#fca5a5;--red-bg:rgba(239,68,68,.08);--sev-critical-strip:#ef4444;--sev-critical-bg:rgba(239,68,68,.06);--sev-critical-text:#ef4444;--sev-critical-glow:rgba(239,68,68,.28);--sev-warning-strip:#f59e0b;--sev-warning-bg:rgba(245,158,11,.07);--sev-warning-text:#d97706;--sev-info-strip:#534ab7;--sev-info-bg:rgba(83,74,183,.06);--sev-info-text:#534ab7;--sev-ok-strip:#22c55e;--sev-ok-bg:rgba(34,197,94,.06);--sev-ok-text:#16a34a;--bg:#f4f3ef;--bg-card:#fff;--bg-sunken:#f0efe9;--surface:#fff;--border:rgba(0,0,0,.08);--border-subtle:rgba(0,0,0,.05);--border-strong:rgba(0,0,0,.14);--text:#1a1a1a;--text-2:#3d3d3d;--text-3:#717182;--text-4:#99a;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-hero:clamp(32px,5vw,56px);--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-full:999px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 2px 6px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 14px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 8px 24px rgba(0,0,0,.1),0 3px 6px rgba(0,0,0,.06);--shadow-xl:0 16px 40px rgba(0,0,0,.12),0 4px 10px rgba(0,0,0,.06);--shadow-2xl:0 24px 60px rgba(0,0,0,.15),0 6px 14px rgba(0,0,0,.08);--shadow-purple:0 4px 16px rgba(83,74,183,.28);--shadow-red:0 4px 16px rgba(239,68,68,.22);--shadow-green:0 4px 16px rgba(34,197,94,.22);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.35s;--dur-enter:.45s;--ease-out:cubic-bezier(0,0,.2,1);--ease-in:cubic-bezier(.4,0,1,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-spring:cubic-bezier(.16,1,.3,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1)}*,:after,:before{box-sizing:border-box}html{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.surface{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.surface-hover{transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.surface-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{align-items:center;border:none;border-radius:var(--r-md);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-weight:600;gap:6px;justify-content:center;overflow:hidden;position:relative;transition:background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:after{background:#ffffff2e;border-radius:inherit;content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--dur-fast)}.btn:active:not(:disabled):after{opacity:1}.btn-sm{font-size:12px;gap:4px;padding:6px 12px}.btn-md{font-size:13px;padding:9px 16px}.btn-lg{font-size:15px;padding:13px 22px}.btn-primary{background:linear-gradient(135deg,var(--purple),var(--purple-light));box-shadow:0 2px 8px #534ab740;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 14px #534ab761;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);border:1px solid var(--border);color:var(--text-2)}.btn-secondary:hover:not(:disabled){background:var(--bg-sunken)}.btn-ghost{background:transparent;color:var(--text-3)}.btn-ghost:hover:not(:disabled){background:var(--bg-sunken);color:var(--text)}.btn-danger{background:var(--red);color:#fff}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;padding:18px 20px}.stat-card--alert{background:linear-gradient(145deg,#fff,#ef444408);border-color:#ef444438}.stat-card__val{color:var(--text);font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1.1}.stat-card__label{color:var(--text-3);font-size:12px;font-weight:600}.stat-card__sub{color:var(--text-4);font-size:11px}.field{display:flex;flex-direction:column;gap:5px}.field__label{color:var(--text-3);font-size:12px;font-weight:600;letter-spacing:.02em}.field__input{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-family:var(--font-sans);font-size:14px;outline:none;padding:10px 14px;transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast);width:100%}.field__input:focus{background:var(--bg-card);border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-bg)}.field__input::-moz-placeholder{color:var(--text-4)}.field__input::placeholder{color:var(--text-4)}.t-heading{color:var(--text);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.03em}.t-title{color:var(--text);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.t-label{color:var(--text-4);font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.t-body{color:var(--text-2);font-size:var(--text-base);line-height:1.6}.t-small{color:var(--text-3);font-size:var(--text-sm);line-height:1.5}.t-hint{color:var(--text-4);font-size:var(--text-xs)}.t-mono{font-family:var(--font-mono);font-size:12px}.page-pad{padding:24px clamp(16px,4vw,32px)}.stack{display:flex;flex-direction:column}.cluster{flex-wrap:wrap}.center,.cluster{align-items:center;display:flex}.center{justify-content:center}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:2px}.section-header__left{align-items:center;display:flex;flex:1;gap:8px}.section-header__title{color:var(--text);font-size:15px;font-weight:700;letter-spacing:-.01em}.section-header__count{align-items:center;border-radius:var(--r-full);display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.skeleton{animation:skeleton-wave 1.6s ease-in-out infinite;background:linear-gradient(90deg,var(--bg-sunken) 25%,hsla(51,19%,93%,.7) 50%,var(--bg-sunken) 75%);background-size:400px 100%;border-radius:var(--r-sm)}@keyframes skeleton-wave{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton--text{border-radius:var(--r-xs);height:13px}.skeleton--title{border-radius:var(--r-xs);height:20px}.skeleton--chart{border-radius:var(--r-lg);height:260px}.skeleton--card{border-radius:var(--r-lg);height:100px}.skeleton--strip{border-radius:var(--r-lg);height:120px}.skeleton--stat{border-radius:var(--r-lg);height:90px}.skeleton--avatar{border-radius:50%}.empty-state{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:40px 24px;text-align:center}.empty-state__icon{font-size:32px;margin-bottom:4px;opacity:.7}.empty-state__title{color:var(--text);font-size:16px;font-weight:700}.empty-state__sub{color:var(--text-3);font-size:13px;line-height:1.55;max-width:360px}.elevate{transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.elevate:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.elevate:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.ripple-host{overflow:hidden;position:relative}.ripple-host:after{background:radial-gradient(circle,rgba(83,74,183,.12) 0,transparent 60%);border-radius:inherit;content:"";inset:-100%;opacity:0;pointer-events:none;position:absolute;transform:scale(0);transition:transform .4s var(--ease-out),opacity .4s}.ripple-host:active:after{opacity:1;transform:scale(1.5);transition-duration:.08s}.success-flash{animation:success-flash .5s var(--ease-out) forwards}@keyframes success-flash{0%{box-shadow:0 0 #22c55e80}50%{box-shadow:0 0 0 6px #22c55e33}to{box-shadow:0 0 #22c55e00}}.conf-updated{animation:conf-pop .4s var(--ease-bounce) both}@keyframes conf-pop{0%{opacity:0;transform:scale(.88)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.pulse-ring{animation:pulse-ring 2s var(--ease-in-out) infinite}@keyframes pulse-ring{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.animate-fade-up{animation:fade-up var(--dur-enter) var(--ease-spring) both}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fade-in var(--dur-slow) var(--ease-out) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-scale-in{animation:scale-in .3s var(--ease-spring) both}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.shimmer-badge{overflow:hidden;position:relative}.shimmer-badge:before{animation:shimmer-slide 2.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2) 50%,transparent);content:"";inset:0;position:absolute;transform:translate(-100%)}@keyframes shimmer-slide{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}:focus-visible{border-radius:3px;outline:2px solid var(--purple);outline-offset:3px}.pro-badge{align-items:center;background:linear-gradient(135deg,var(--purple),var(--purple-light));border-radius:var(--r-full);box-shadow:var(--shadow-purple);color:#fff;display:inline-flex;font-size:11px;font-weight:700;gap:4px;letter-spacing:.05em;padding:4px 10px}.app-header{backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);background:#ffffffd9;border-bottom:1px solid var(--border);box-shadow:0 1px 3px #0000000a,0 4px 12px #00000008;gap:32px;height:64px;padding:0 clamp(16px,4vw,32px);position:sticky;top:0;z-index:200}.app-header,.app-header__brand{align-items:center;display:flex}.app-header__brand{color:var(--text);flex-shrink:0;font-size:18px;font-weight:800;gap:10px;letter-spacing:-.03em}.app-header__brand-mark{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.app-header__brand-mark img{display:block;height:100%;width:100%}.app-header__nav{display:flex;flex:1;gap:2px}.app-header__link{border-radius:10px;color:var(--text-3);font-size:13px;font-weight:500;padding:7px 12px;transition:color var(--dur-fast),background var(--dur-fast);white-space:nowrap}.app-header__link:hover{background:var(--bg-sunken);color:var(--text)}.app-header__link.router-link-active{background:var(--purple-bg);color:var(--purple);font-weight:600}.app-header__right{align-items:center;display:flex;gap:8px;margin-left:auto}.app-header__logout{background:transparent;border:none;cursor:pointer}.conf-phrase--low{color:var(--amber)}.conf-phrase--medium{color:var(--text-2)}.conf-phrase--high{color:var(--green);font-weight:600}.banner-enter-active,.banner-leave-active{transition:all .35s var(--ease-spring)}.banner-enter-from,.banner-leave-to{opacity:0;transform:translate(-50%) translateY(16px)}.dropdown-enter-active,.dropdown-leave-active{transition:all .18s var(--ease-out)}.dropdown-enter-from,.dropdown-leave-to{opacity:0;transform:translateY(-6px)}.sb-hamburger[data-v-9fd88042]{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--text);display:none;height:40px;justify-content:center;left:16px;position:fixed;top:16px;width:40px;z-index:70}.sb-backdrop[data-v-9fd88042]{background:#0000003d;inset:0;position:fixed;z-index:58}.sb[data-v-9fd88042]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,var(--bg-card) 86%,transparent);border-radius:20px;border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;height:calc(100vh - 92px);margin:10px 0 10px 10px;overflow:hidden;position:sticky;top:72px;transition:width .22s ease,transform .22s ease;width:88px}.sb--expanded[data-v-9fd88042]{width:248px}.sb__toggle[data-v-9fd88042]{align-items:center;align-self:flex-end;background:transparent;border:0;border-radius:10px;color:var(--text-3);cursor:pointer;display:inline-flex;height:28px;justify-content:center;margin:10px 10px 0 0;width:28px}.sb__list[data-v-9fd88042]{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:10px 8px 8px}.sb__footer[data-v-9fd88042]{border-top:1px solid var(--border-subtle);margin-top:auto;padding:10px 8px 12px}.sb__item[data-v-9fd88042]{position:relative}.sb__btn[data-v-9fd88042]{align-items:center;background:transparent;border:0;border-radius:14px;color:var(--text-2);cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:background .18s ease,color .18s ease,transform .18s ease;width:100%}.sb__btn[data-v-9fd88042]:hover{background:color-mix(in srgb,var(--bg-raised) 74%,transparent);color:var(--text)}.sb__item--active .sb__btn[data-v-9fd88042]{background:color-mix(in srgb,var(--purple) 12%,transparent);color:var(--text)}.sb__icon-wrap[data-v-9fd88042],.sb__item--active .sb__icon-wrap[data-v-9fd88042]{color:var(--icon-accent)}.sb__icon-wrap[data-v-9fd88042]{align-items:center;background:color-mix(in srgb,var(--bg-sunken) 78%,transparent);border-radius:12px;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.sb__label[data-v-9fd88042]{color:inherit;font-size:13px;font-weight:600;text-align:left}.sb__signout[data-v-9fd88042]:hover{background:#b4231814;color:#b42318}.sb-label-enter-active[data-v-9fd88042],.sb-label-leave-active[data-v-9fd88042]{transition:opacity .16s ease,transform .16s ease}.sb-label-enter-from[data-v-9fd88042],.sb-label-leave-to[data-v-9fd88042]{opacity:0;transform:translate(-4px)}:root[data-theme=dark] .sb[data-v-9fd88042]{background:color-mix(in srgb,var(--bg-raised) 88%,transparent);border-right-color:var(--border)}:root[data-theme=dark] .sb__btn[data-v-9fd88042]:hover{background:color-mix(in srgb,var(--bg-raised) 84%,#fff 16%)}:root[data-theme=dark] .sb__footer[data-v-9fd88042]{border-top-color:var(--border)}:root[data-theme=dark] .sb__signout[data-v-9fd88042]:hover{background:#e2b5441f;color:var(--icon-accent)}@media(max-width:980px){.sb-hamburger[data-v-9fd88042]{display:inline-flex}.sb[data-v-9fd88042]{border-radius:0 20px 20px 0;height:100vh;left:0;margin:0;position:fixed;top:0;transform:translate(-110%);z-index:60}.sb--mobile-open[data-v-9fd88042]{transform:translate(0)}}.tour-overlay[data-v-21371fef]{background:#00000075;inset:0;pointer-events:none;position:fixed;z-index:9000}.tour-spot[data-v-21371fef]{animation:spot-pulse-21371fef 1.8s ease-in-out infinite;border:2px solid rgba(83,74,183,.8);border-radius:12px;box-shadow:0 0 0 4000px #00000075;pointer-events:none;position:absolute;z-index:9001}@keyframes spot-pulse-21371fef{0%,to{border-color:#534ab7cc;box-shadow:0 0 0 4000px #00000075,0 0 0 6px #534ab733}50%{border-color:#534ab7;box-shadow:0 0 0 4000px #00000075,0 0 0 8px #534ab71f}}.tour-tip[data-v-21371fef]{animation:tip-in-21371fef .3s cubic-bezier(.16,1,.3,1);background:#fff;border:1px solid rgba(83,74,183,.12);border-radius:18px;box-shadow:0 20px 60px #0000002e,0 4px 16px #534ab71f;padding:20px 20px 16px;position:absolute;width:300px;z-index:9002}.tour-tip--mobile[data-v-21371fef]{border-radius:22px;box-shadow:0 20px 60px #00000047;max-height:min(52vh,420px);overflow-y:auto;padding:18px 18px 14px;position:fixed}@keyframes tip-in-21371fef{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tour-tip__header[data-v-21371fef]{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.tour-tip__step[data-v-21371fef]{background:#534ab714;border-radius:999px;color:#534ab7;font-size:10px;font-weight:700;letter-spacing:.07em;padding:3px 8px;text-transform:uppercase}.tour-tip__skip[data-v-21371fef]{background:none;border:none;color:#1a1a1a73;cursor:pointer;font-size:11px}.tour-tip__title[data-v-21371fef]{color:#1a1a1a;font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}.tour-tip__body[data-v-21371fef]{color:#1a1a1aad;font-size:13px;line-height:1.6;margin-bottom:16px}.tour-tip__footer[data-v-21371fef]{align-items:center;display:flex;gap:12px;justify-content:space-between}.tour-tip__dots[data-v-21371fef]{display:flex;gap:5px}.tour-tip__dot[data-v-21371fef]{background:#e8e7e3;border-radius:50%;height:6px;transition:background .2s,width .2s;width:6px}.tour-tip__dot--active[data-v-21371fef]{background:#534ab7;border-radius:3px;width:16px}.tour-tip__next[data-v-21371fef]{background:linear-gradient(135deg,#534ab7,#6b62c9);border:none;border-radius:10px;box-shadow:0 2px 8px #534ab747;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 16px;transition:transform .15s,box-shadow .15s}.tour-tip__next[data-v-21371fef]:hover{box-shadow:0 4px 14px #534ab761;transform:scale(1.03)}@media(max-width:768px){.tour-tip__footer[data-v-21371fef]{align-items:stretch;flex-direction:column}.tour-tip__dots[data-v-21371fef]{justify-content:center}.tour-tip__next[data-v-21371fef]{width:100%}}.tour-fade-enter-active[data-v-9fa76791]{transition:opacity .3s ease}.tour-fade-leave-active[data-v-9fa76791]{transition:opacity .2s ease}.tour-fade-enter-from[data-v-9fa76791],.tour-fade-leave-to[data-v-9fa76791]{opacity:0}#app-root{background:var(--bg,#f4f3ef);display:flex;flex-direction:column;min-height:100vh}.app-body{display:flex;flex:1}.app-main{flex:1;min-width:0}.app-floating-theme{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg-card) 88%,transparent);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--text-2);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:8px 12px;position:fixed;right:18px;top:18px;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease;z-index:120}.app-floating-theme:hover{border-color:var(--border-strong);color:var(--text);transform:translateY(-1px)}.app-header__brand-text{display:flex;flex-direction:column;gap:0;line-height:1}.app-header__brand-name{background:linear-gradient(135deg,var(--text) 0,var(--purple) 100%);-webkit-background-clip:text;font-size:19px;font-weight:800;letter-spacing:-.03em;-webkit-text-fill-color:transparent;background-clip:text}.app-header__brand-sub{color:var(--text-4);font-size:10px;font-weight:500;margin-top:1px}.app-header__link.router-link-active:after{background:var(--purple);border-radius:99px;bottom:2px;content:"";height:3px;left:50%;position:absolute;transform:translate(-50%);width:18px}.app-header__link{position:relative}.app-header__pro-badge{background:linear-gradient(135deg,var(--purple),var(--purple-2));box-shadow:0 2px 8px #534ab752;color:#fff;font-weight:700;gap:4px;overflow:hidden;padding:5px 12px;position:relative}.app-header__pro-badge,.app-header__theme{align-items:center;border-radius:10px;display:inline-flex;font-size:12px}.app-header__theme{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-xs);color:var(--text-2);cursor:pointer;font-weight:600;gap:6px;padding:6px 10px;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease,box-shadow .18s ease}.app-header__theme:hover{border-color:var(--border-strong);transform:translateY(-1px)}.app-header__refresh{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-xs);color:var(--text-2);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 10px;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease,box-shadow .18s ease}.app-header__refresh:hover{border-color:var(--border-strong);transform:translateY(-1px)}.app-header__upgrade{align-items:center;background:linear-gradient(135deg,var(--purple),var(--purple-2));border-radius:10px;box-shadow:var(--shadow-xs);color:#fff;display:inline-flex;font-size:12px;font-weight:700;padding:6px 12px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.app-header__upgrade:hover{box-shadow:var(--shadow-sm);opacity:.94;transform:translateY(-1px)}.app-header__user{align-items:center;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:4px 8px 4px 4px;transition:background .15s,border-color .15s,box-shadow .15s}.app-header__user:hover{background:#0000000a}.app-header__avatar{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--purple) 18%,transparent),color-mix(in srgb,var(--purple) 8%,transparent));border:1px solid color-mix(in srgb,var(--purple) 22%,var(--border));border-radius:9px;color:var(--purple);display:flex;font-size:12px;font-weight:700;height:32px;justify-content:center;width:32px}.app-header__user-info{display:flex;flex-direction:column;text-align:left}.app-header__user-name{color:var(--text);font-size:12px;font-weight:600;line-height:1.1}.app-header__user-role{color:var(--text-4);font-size:10px;line-height:1.1}:root[data-theme=dark] .app-header__user:hover{background:#ffffff0d}:root[data-theme=dark] .app-header{background:#111110e0;border-bottom-color:var(--border)}:root[data-theme=dark] .app-header__brand-name{background:linear-gradient(135deg,#f4f1e8,#e2b544 60%,#c99218);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}:root[data-theme=dark] .app-header__brand-sub{color:var(--text-3)}:root[data-theme=dark] .app-header__pro-badge{background:linear-gradient(135deg,#e2b544,#c99218);box-shadow:0 4px 14px #c9921847;color:#1b1608}:root[data-theme=dark] .app-header__theme{background:var(--bg-raised);border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--text)}:root[data-theme=dark] .app-header__theme:hover{border-color:color-mix(in srgb,var(--icon-accent) 35%,var(--border-strong));color:var(--icon-accent)}:root[data-theme=dark] .app-floating-theme{background:color-mix(in srgb,var(--bg-raised) 90%,transparent);border-color:var(--border-strong);color:var(--text)}:root[data-theme=dark] .app-floating-theme:hover{border-color:color-mix(in srgb,var(--icon-accent) 35%,var(--border-strong));color:var(--icon-accent)}:root[data-theme=dark] .app-header__refresh{background:var(--bg-raised);border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--text)}:root[data-theme=dark] .app-header__refresh:hover{border-color:color-mix(in srgb,var(--icon-accent) 35%,var(--border-strong));color:var(--icon-accent)}:root[data-theme=dark] .app-header__user{background:#ffffff05;border-color:var(--border-subtle)}:root[data-theme=dark] .app-header__avatar{background:linear-gradient(135deg,#d4880638,#d488061a);border-color:#d4880642;color:var(--icon-accent)}
