:root{--ink:#14283a;--ink-soft:#425668;--surface:#fff;--canvas:#f4f7f8;--line:#dce5e8;--green:#1f9d86;--green-soft:#e7f5f1;--blue:#2f6fed;--blue-soft:#eaf0fe;--amber:#d99127;--amber-soft:#fff6e7;--red:#c84c4c;--red-soft:#fceded;--sidebar:#14283a;--sidebar-muted:#a8b8c4;--radius:14px;--shadow:0 18px 50px #14283a1a;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;min-height:100%}body{background:var(--canvas);min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.62}:focus-visible{outline-offset:3px;outline:3px solid #2f6fed73}::selection{color:#fff;background:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);line-height:1.18}h1{margin-bottom:0;font-size:1.35rem}h2{letter-spacing:-.035em;margin-bottom:.55rem;font-size:clamp(1.65rem,3vw,2.15rem)}h3{margin-bottom:.55rem;font-size:1.15rem}.muted{color:#667986;margin-bottom:0;line-height:1.65}.eyebrow{color:var(--green);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem;font-size:.72rem;font-weight:800}.app-icon{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.35rem;height:1.35rem}.button{border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:.72rem 1.1rem;font-weight:750;text-decoration:none;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{color:#fff;background:var(--blue);box-shadow:0 7px 18px #2f6fed33}.button--primary:not(:disabled):hover{background:#245fd2;box-shadow:0 9px 22px #2f6fed45}.button--secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.button--secondary:hover{background:var(--canvas);border-color:#b9c8ce}.button--block{width:100%}.icon-button{width:42px;height:42px;color:var(--ink-soft);background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:not(:disabled):hover{color:var(--ink);background:#edf2f4}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-stack{gap:1.1rem;display:grid}.field{gap:.45rem;display:grid}.field label{color:var(--ink);font-size:.88rem;font-weight:750}.field input{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #cdd9de;border-radius:8px;padding:.75rem .85rem;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:#92a1aa}.field input:hover{border-color:#9eb0b8}.field input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2f6fed26}.password-input{position:relative}.password-input input{padding-right:4.4rem}.input-action{min-height:34px;color:var(--blue);background:0 0;border:0;border-radius:6px;padding:0 .55rem;font-size:.82rem;font-weight:750;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.input-action:hover{background:var(--blue-soft)}.form-error,.form-success{border-radius:8px;margin:-.2rem 0 0;padding:.72rem .8rem;font-size:.88rem;line-height:1.5}.form-error{color:#9e3232;background:var(--red-soft);border:1px solid #f3cece}.form-success{color:#147461;background:var(--green-soft);border:1px solid #c9e9e1}.form-actions{justify-content:flex-end;gap:.75rem;padding-top:.25rem;display:flex}.notice{border:1px solid;border-radius:9px;margin-bottom:1.2rem;padding:.8rem .9rem;font-size:.88rem;line-height:1.55}.notice--warning{color:#885b15;background:var(--amber-soft);border-color:#f1d8ad}.notice--info{color:#2458b8;background:var(--blue-soft);border-color:#ccdafa}.auth-page{background:var(--surface);grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);min-height:100svh;display:grid}.auth-intro{color:#d9e5eb;background:var(--sidebar);flex-direction:column;justify-content:center;align-items:flex-start;min-height:100%;padding:clamp(2.5rem,7vw,7rem);display:flex;position:relative;overflow:hidden}.auth-intro:before,.auth-intro:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.auth-intro:before{border:1px solid #1f9d8645;width:420px;height:420px;top:-190px;right:-230px;box-shadow:0 0 0 65px #1f9d860b,0 0 0 130px #1f9d8606}.auth-intro:after{filter:blur(2px);background:#2f6fed1a;width:260px;height:260px;bottom:-120px;left:-160px}.auth-intro .eyebrow{color:#72d1bf}.auth-intro h1{color:#fff;letter-spacing:-.055em;margin-bottom:.5rem;font-size:clamp(2.35rem,5vw,4.5rem)}.auth-tagline{color:#9db1bd;letter-spacing:.24em;margin-bottom:0;font-size:clamp(1.05rem,2vw,1.35rem)}.auth-copy{color:#afc0ca;max-width:30rem;margin:2.2rem 0 0;line-height:1.75}.brand-mark{background:#ffffff0f;border:1px solid #ffffff29;border-radius:10px;flex:none;align-content:center;gap:4px;width:42px;height:42px;padding:8px;display:grid}.brand-mark span{background:#61c7b4;border-radius:999px;height:3px;display:block}.brand-mark span:nth-child(2){background:#6e9bf2;justify-self:end;width:72%}.brand-mark span:nth-child(3){background:#e5a952;width:46%}.brand-mark--large{border-radius:13px;gap:5px;width:56px;height:56px;margin-bottom:2rem;padding:10px}.brand-mark--large span{height:4px}.signal-path{align-items:center;gap:0;width:min(420px,100%);height:26px;margin-top:2.7rem;display:flex}.signal-path:before{content:"";background:linear-gradient(90deg, var(--green), var(--blue), #2f6fed00);width:100%;height:2px}.signal-path i{background:var(--sidebar);border:2px solid #88d8c9;border-radius:50%;flex:none;width:10px;height:10px;margin-left:-75%}.signal-path i:nth-child(2){border-color:#739cf0;margin-left:22%}.signal-path i:nth-child(3){border-color:#e1a550;margin-left:22%}.signal-path i:nth-child(4){border-color:#739cf0;margin-left:22%}.auth-panel{background:linear-gradient(#14283a06 1px, transparent 1px), linear-gradient(90deg, #14283a06 1px, transparent 1px), var(--canvas);background-size:32px 32px;place-items:center;min-height:100%;padding:clamp(1.5rem,5vw,5rem);display:grid}.auth-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);background:#fffffff7;border-radius:16px;padding:clamp(1.5rem,4vw,2.6rem)}.auth-card h2{font-size:1.8rem}.auth-description{margin-bottom:1.7rem}.security-note{color:#7b8b95;justify-content:center;align-items:center;gap:.45rem;margin:1.3rem 0 0;font-size:.76rem;display:flex}.security-note span{color:var(--green);font-size:.58rem}.console-shell{--sidebar-width:248px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--canvas);min-height:100svh;transition:grid-template-columns .18s;display:grid}.console-shell--collapsed{--sidebar-width:76px}.skip-link{z-index:100;color:#fff;background:var(--blue);border-radius:8px;padding:.65rem .85rem;text-decoration:none;position:fixed;top:.65rem;left:.65rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sidebar{z-index:30;width:var(--sidebar-width);color:#fff;background:var(--sidebar);flex-direction:column;height:100svh;transition:width .18s,transform .18s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:.8rem;min-height:82px;padding:1.15rem 1rem;display:flex}.brand-copy{white-space:nowrap;gap:.15rem;min-width:0;transition:opacity .12s;display:grid}.brand-copy strong{font-size:.96rem}.brand-copy span{color:var(--sidebar-muted);letter-spacing:.16em;font-size:.7rem}.sidebar-nav{flex:1;padding:1.2rem .75rem}.nav-caption{color:#708796;letter-spacing:.14em;margin:0 0 .55rem;padding:0 .7rem;font-size:.68rem;font-weight:800}.nav-link{color:#b9c8d0;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:.85rem;min-height:44px;margin-bottom:.3rem;padding:.65rem .7rem;text-decoration:none;display:flex}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.router-link-exact-active{color:#fff;background:#1f9d862b;border-color:#44bea838}.nav-link.router-link-exact-active .app-icon{color:#5cc4b1}.sidebar-footer{border-top:1px solid #ffffff14;gap:.35rem;padding:.75rem;display:grid}.connection-state,.collapse-button{white-space:nowrap;align-items:center;gap:.75rem;min-height:42px;padding:.6rem .7rem;display:flex}.connection-state{color:var(--sidebar-muted);font-size:.78rem}.collapse-button{color:#b9c8d0;background:0 0;border:0;border-radius:8px;width:100%}.collapse-button:hover{color:#fff;background:#ffffff0f}.collapse-button .app-icon{transform:rotate(180deg)}.console-shell--collapsed .brand-copy,.console-shell--collapsed .nav-caption,.console-shell--collapsed .nav-link span,.console-shell--collapsed .connection-state span:not(.status-dot),.console-shell--collapsed .collapse-button span{opacity:0;width:0;overflow:hidden}.console-shell--collapsed .sidebar-brand,.console-shell--collapsed .nav-link,.console-shell--collapsed .connection-state,.console-shell--collapsed .collapse-button{justify-content:center}.console-shell--collapsed .collapse-button .app-icon{transform:rotate(0)}.status-dot{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 3px #1f9d8626}.console-main{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:space-between;align-items:center;gap:1.2rem;min-height:82px;padding:.9rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.topbar-title,.topbar-actions,.user-summary,.system-status{align-items:center;display:flex}.topbar-title{gap:.5rem;min-width:0}.breadcrumb{color:#7c8e99;margin-bottom:.2rem;font-size:.72rem}.topbar-actions{gap:.65rem}.system-status{color:#3b5d58;background:var(--green-soft);border-radius:8px;gap:.55rem;padding:.55rem .7rem;font-size:.78rem;font-weight:700}.user-summary{gap:.55rem;padding-left:.2rem}.avatar{color:#fff;background:var(--ink);border-radius:8px;place-items:center;width:34px;height:34px;font-size:.85rem;font-weight:800;display:grid}.user-name{max-width:10rem;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:750;overflow:hidden}.mobile-menu,.sidebar-close{display:none}.page-content{min-height:calc(100svh - 82px);padding:clamp(1.2rem,3.5vw,2.4rem)}.page-stack{gap:1.4rem;width:min(1180px,100%);margin:0 auto;display:grid}.page-stack--narrow{width:min(760px,100%);margin-left:0}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:.25rem;display:flex}.page-heading .eyebrow{margin-bottom:.45rem}.status-badge{color:#237261;background:var(--green-soft);border:1px solid #cce9e2;border-radius:999px;flex:none;align-items:center;gap:.55rem;padding:.55rem .75rem;font-size:.78rem;font-weight:750;display:inline-flex}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.metric-card,.panel,.setting-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.metric-card{align-content:space-between;min-height:145px;padding:1.15rem 1.25rem;display:grid}.metric-card span{color:#6c7e89;font-size:.82rem;font-weight:700}.metric-card strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:2rem}.metric-card small{color:#8a9aa3}.metric-card .success-text{color:var(--green)}.panel{padding:clamp(1.2rem,3vw,2rem)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex;position:relative;overflow:hidden}.empty-state>:not(.empty-visual){z-index:1;position:relative}.empty-state p{color:#71828c;max-width:35rem;margin:0 auto 1.1rem;line-height:1.7}.empty-icon{width:54px;height:54px;color:var(--blue);background:var(--blue-soft);border:1px solid #d4e0fb;border-radius:13px;place-items:center;margin-bottom:1.1rem;display:grid}.empty-icon .app-icon{width:1.7rem;height:1.7rem}.empty-label{color:#687b86;background:var(--canvas);border-radius:6px;padding:.35rem .6rem;font-size:.73rem;font-weight:750}.empty-visual{opacity:.45;pointer-events:none;position:absolute;inset:0}.rail-line{transform-origin:100%;background:linear-gradient(90deg,#0000,#a6bad1);width:48%;height:1px;position:absolute;right:-8%}.rail-line--one{top:23%;transform:rotate(-10deg)}.rail-line--two{top:50%}.rail-line--three{top:77%;transform:rotate(10deg)}.empty-visual i{background:var(--blue);border-radius:50%;width:7px;height:7px;position:absolute;right:13%}.empty-visual i:nth-last-child(3){top:23%}.empty-visual i:nth-last-child(2){background:var(--green);top:49%}.empty-visual i:last-child{background:var(--amber);top:76%}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.setting-card{align-items:center;gap:1rem;min-height:112px;padding:1.1rem;text-decoration:none;display:flex}.setting-card>span:nth-child(2){flex:1;gap:.35rem;min-width:0;display:grid}.setting-card strong{color:var(--ink)}.setting-card small{color:#748690;line-height:1.45}.setting-card--active{transition:transform .15s,border-color .15s,box-shadow .15s}.setting-card--active:hover{border-color:#b8c9e9;transform:translateY(-2px);box-shadow:0 10px 25px #14283a12}.setting-card--active>.app-icon{color:#8a9aa3}.setting-card--disabled{background:#f8fafb}.setting-icon{width:44px;height:44px;color:var(--blue);background:var(--blue-soft);border-radius:10px;flex:none;place-items:center;display:grid}.setting-card--disabled .setting-icon{color:#81919a;background:#eaf0f2}.coming-soon{color:#788a94;font-size:.72rem;font-weight:750;flex:none!important}.back-link{color:var(--blue);margin-bottom:1rem;font-size:.82rem;font-weight:750;text-decoration:none;display:inline-block}.back-link:before{content:"← "}.back-link:hover{text-decoration:underline}.password-panel{padding:clamp(1.2rem,4vw,2rem)}.password-panel .form-stack{max-width:580px}.sidebar-scrim{display:none}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-intro{min-height:300px;padding:2.2rem clamp(1.3rem,7vw,4rem)}.auth-intro h1{font-size:2.4rem}.auth-copy,.signal-path{display:none}.brand-mark--large{width:48px;height:48px;margin-bottom:1.4rem}.auth-panel{padding:1.5rem}.console-shell,.console-shell--collapsed{--sidebar-width:0px;display:block}.sidebar{width:min(280px,100vw - 3rem);position:fixed;left:0;transform:translate(-105%);box-shadow:18px 0 50px #06131d47}.console-shell--mobile-open .sidebar{transform:translate(0)}.console-shell--collapsed .brand-copy,.console-shell--collapsed .nav-caption,.console-shell--collapsed .nav-link span,.console-shell--collapsed .connection-state span:not(.status-dot),.console-shell--collapsed .collapse-button span{opacity:1;width:auto}.console-shell--collapsed .sidebar-brand,.console-shell--collapsed .nav-link,.console-shell--collapsed .connection-state,.console-shell--collapsed .collapse-button{justify-content:flex-start}.collapse-button{display:none}.sidebar-close{color:#b9c8d0;margin-left:auto;display:inline-grid}.sidebar-close:hover{color:#fff!important;background:#ffffff12!important}.sidebar-scrim{z-index:25;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0917227a;display:block;position:fixed;inset:0}.mobile-menu{display:inline-grid}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:128px}}@media (width<=640px){.topbar{min-height:72px;padding:.7rem .8rem}.breadcrumb,.user-name,.system-status span:not(.status-dot){display:none}.system-status{justify-content:center;width:34px;height:34px;padding:0}.avatar{width:32px;height:32px}.topbar-actions{gap:.15rem}.page-content{min-height:calc(100svh - 72px);padding:1rem}.page-heading{flex-direction:column;align-items:flex-start}.status-badge{align-self:flex-start}.settings-grid{grid-template-columns:1fr}.empty-state{min-height:320px;padding-inline:1rem}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions .button{width:100%}}@media (width<=420px){.auth-intro{min-height:235px;padding:1.5rem 1.2rem}.auth-intro .eyebrow{margin-bottom:.4rem}.auth-intro h1{margin-bottom:.25rem;font-size:2rem}.brand-mark--large{margin-bottom:1rem}.auth-panel{place-items:start center;padding:1rem}.auth-card{padding:1.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}textarea,select{color:#14283a;width:100%;font:inherit;background:#fff;border:1px solid #ccd7dc;border-radius:10px;padding:.75rem .85rem}textarea:focus,select:focus{border-color:#2f6fed;outline:3px solid #2f6fed33}.data-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.card-row,.card-actions,.capability-row,.filter-row,.inline-form{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.discover-account{flex:1}.account-picker{border:1px solid #d9e2e6;border-radius:10px;flex-wrap:wrap;gap:.8rem;margin:0;padding:1rem;display:flex}.account-picker legend{color:#526873;padding:0 .4rem;font-weight:700}.account-picker label{align-items:center;gap:.35rem;display:flex}.card-actions{justify-content:flex-end;margin-top:1rem}.capability-row{flex-wrap:wrap;justify-content:flex-start}.capability-row span{background:#e9f0fe;border-radius:999px;padding:.35rem .6rem;font-size:.8rem}.route-list{gap:.75rem;margin:1rem 0;display:grid}.route-track{grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;display:grid}.route-track i{background:linear-gradient(90deg,#2f6fed,#1f9d86);height:1px;position:relative}.route-track i:after{content:"";background:#1f9d86;border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;right:0}.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace}.status-badge[data-status=cooling],.status-badge[data-status=unknown]{color:#9a5e08;background:#fff5df}.status-badge[data-status^=disabled],.status-badge[data-status=unhealthy]{color:#9e2f2f;background:#fdeaea}.secret-reveal{border:2px solid #d99127}.secret-reveal code{overflow-wrap:anywhere;color:#fff;background:#14283a;border-radius:10px;margin:1rem 0;padding:1rem;display:block}.table-wrap{background:#fff;border:1px solid #d9e2e6;border-radius:14px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid #e7edef;padding:.85rem}th{text-transform:uppercase;color:#526873;background:#eef3f5;font-size:.78rem}.text-button{color:#2f6fed;cursor:pointer;background:0 0;border:0;padding:.35rem}.text-button.danger,.button--danger{color:#a52f2f}.button--danger{background:#fdeaea;border:1px solid #efc0c0}.result-list{max-height:190px;overflow:auto}.dashboard-grid{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.bar-chart{align-items:flex-end;gap:.5rem;height:180px;padding-top:1rem;display:flex}.bar-item{flex-direction:column;flex:1;align-items:center;gap:.4rem;display:flex}.bar-item span{background:linear-gradient(#2f6fed,#1f9d86);border-radius:6px 6px 0 0;width:100%;max-width:28px}.error-list{padding:0;list-style:none}.error-list li{border-bottom:1px solid #e7edef;justify-content:space-between;padding:.6rem 0;display:flex}.detail-dialog{background:0 0;border:0;width:min(760px,92vw);max-height:80vh;margin:auto;position:fixed;inset:0}.detail-dialog:before{content:"";z-index:-1;background:#14283a80;position:fixed;inset:0}.detail-grid{grid-template-columns:160px 1fr;gap:.5rem;max-height:60vh;display:grid;overflow:auto}.detail-grid dt{font-weight:700}.detail-grid dd{overflow-wrap:anywhere;margin:0}.settings-form{grid-column:1/-1}.empty-inline{text-align:center;color:#687b85;padding:2rem}@media (width<=800px){.dashboard-grid{grid-template-columns:1fr}.filter-row,.inline-form{flex-direction:column;align-items:stretch}.data-grid{grid-template-columns:1fr}.route-track{font-size:.85rem}.detail-grid{grid-template-columns:1fr}.detail-grid dt{margin-top:.6rem}}
