:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#0c1424;--panel:#121f33;--panel-alt:#17253a;--panel-hover:#1b2d44;--line:#283950;--text:#e8eef8;--muted:#93a6c1;--primary:#68e2be;--primary-rgb:104,226,190;--green:#63dfb5;--yellow:#fac878;--red:#ff8288;--blue:#8ab8ff;--shadow:0 20px 70px #050c1740;--radius:18px;color-scheme:dark}
:root[data-theme=light]{--bg:#f4f6fa;--panel:#ffffff;--panel-alt:#f5f8fc;--panel-hover:#eff5f9;--line:#e0e7f0;--text:#1c2c43;--muted:#66778d;--primary:#077e66;--primary-rgb:7,126,102;--green:#058765;--yellow:#a57016;--red:#bf4450;--blue:#356dc6;--shadow:0 14px 40px #142c4815;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;min-width:300px;background:var(--bg);color:var(--text)}body{min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px}a{color:inherit}#app{min-height:100vh} .boot-loading{display:flex;min-height:100vh;align-items:center;justify-content:center;gap:.4rem;font-size:1.2rem;flex-wrap:wrap}.boot-loading span{flex-basis:100%;text-align:center;color:var(--muted);font-size:.9rem}
.shell{max-width:1700px;margin:auto;padding:26px clamp(16px,3vw,46px) 55px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.brand{display:flex;gap:12px;align-items:center}.brand-icon{display:grid;place-items:center;background:linear-gradient(135deg,#214c53,#245c50);border:1px solid #3e8c76;border-radius:13px;width:44px;height:44px;color:#7df4c7}.brand-name{font-size:17px;font-weight:850;letter-spacing:.035em}.brand-name span{color:var(--primary)}.brand-caption{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.icon-btn,.ghost-btn,.logout,.action-btn,.tab{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:10px 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px}.icon-btn:hover,.ghost-btn:hover,.action-btn:hover,.tab:hover{background:var(--panel-hover)}.icon-btn{padding:10px;min-width:41px}.action-btn{background:var(--primary);color:var(--bg);font-weight:760;border-color:transparent}.top-actions svg,.icon-btn svg,.tab svg,.action-btn svg{width:18px;height:18px}.eyebrow{color:var(--primary);font-size:12px;letter-spacing:.16em;font-weight:800;text-transform:uppercase}.headline{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:22px}.headline h1{font-size:clamp(26px,3vw,40px);letter-spacing:-.055em;font-weight:780;margin:8px 0 10px}.sub{font-size:14px;color:var(--muted);max-width:710px;line-height:1.55}.right-meta{text-align:right;font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.pulse{background:var(--green);width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px #63dfb518}.stale-banner{border:1px solid color-mix(in srgb,var(--yellow) 35%,var(--line));background:color-mix(in srgb,var(--yellow) 7%,var(--panel));border-radius:12px;padding:14px 17px;color:var(--yellow);display:flex;gap:12px;line-height:1.55;font-size:13px;margin-bottom:20px}.error-banner{border-color:color-mix(in srgb,var(--red) 40%,var(--line));color:var(--red)}.stale-banner strong{display:block;color:var(--text);margin-bottom:1px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden;min-height:150px}.kpi:after{content:"";position:absolute;right:-20px;top:-50px;width:100px;height:100px;border-radius:100%;background:radial-gradient(circle,var(--kpi-glow,transparent),transparent 70%);opacity:.3}.kpi-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:600}.kpi-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--panel-alt);color:var(--tone,var(--primary))}.kpi-icon svg{width:20px;height:20px}.kpi-number{font-weight:790;letter-spacing:-.055em;font-size:clamp(29px,3.2vw,43px);margin:16px 0 4px;line-height:1}.kpi-bottom{color:var(--muted);font-size:12px}.kpi-color{color:var(--tone,var(--text))}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 15px}.section-title{font-size:16px;font-weight:750;letter-spacing:-.02em}.section-hint{font-size:12px;color:var(--muted);margin-top:4px}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-wrap{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:0 12px;min-width:220px;height:41px}.search-wrap svg{width:16px;height:16px;color:var(--muted)}.search-wrap input{border:0;outline:0;background:transparent;color:var(--text);width:100%;font-size:13px}.search-wrap input::placeholder{color:var(--muted)}.select-status{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:0 12px;height:41px;border-radius:10px;max-width:100%}
.columns{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(290px,1fr);gap:19px;align-items:start}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.project-card{transition:border-color .15s,transform .15s}.project-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.project-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px 12px;gap:10px}.project-title{font-size:15px;font-weight:760;overflow-wrap:anywhere}.project-sub{margin-top:5px;color:var(--muted);font-size:11px}.project-top-right{display:flex;align-items:center;gap:7px;flex-shrink:0}.health-dot{width:8px;height:8px;border-radius:50%;background:var(--tone);display:inline-block}.status-tag{display:inline-flex;align-items:center;gap:7px;color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 35%,var(--line));background:color-mix(in srgb,var(--tone) 6%,var(--panel));padding:5px 8px;border-radius:100px;white-space:nowrap;font-size:10px;font-weight:730}.health-healthy{--tone:var(--green)}.health-down{--tone:var(--red)}.health-degraded{--tone:var(--yellow)}.health-paused{--tone:var(--blue)}.health-unverified,.health-unknown{--tone:var(--muted)}.status-bar{height:6px;display:flex;gap:2px;margin:0 18px 15px;overflow:hidden;border-radius:99px;background:var(--panel-alt)}.status-bar span{height:100%;background:var(--bar-color)}.service-summary{display:flex;gap:12px;flex-wrap:wrap;padding:0 18px 15px;font-size:12px;color:var(--muted)}.service-summary b{color:var(--text);font-weight:700}.project-footer{background:var(--panel-alt);border-top:1px solid var(--line);padding:11px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-footer span{font-size:11px;color:var(--muted)}.details-btn{font-size:12px;color:var(--primary);font-weight:750;background:none;border:0;padding:3px 0}.details-btn:hover{text-decoration:underline}.project-details{padding:12px 16px 16px;border-top:1px solid var(--line)}.env-title{font-size:11px;letter-spacing:.09em;color:var(--muted);text-transform:uppercase;font-weight:750;margin:10px 1px 8px}.service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel-alt);border-radius:9px;padding:10px 11px;margin-top:7px}.service-name{font-size:12px;font-weight:720;overflow-wrap:anywhere}.service-label{color:var(--muted);font-size:10px;margin-top:5px}.service-tag{font-size:10px;color:var(--tone);font-weight:720;white-space:nowrap}.service-deploy{font-size:10px;color:var(--muted);margin-top:4px;text-align:right}
.panel{padding:20px}.panel + .panel{margin-top:15px}.panel-heading{font-size:14px;font-weight:760;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-heading svg{width:18px;height:18px;color:var(--muted)}.panel-sub{font-size:12px;color:var(--muted);margin:7px 0 18px;line-height:1.5}.legend-item{display:flex;align-items:center;gap:9px;margin:10px 0;color:var(--muted);font-size:12px}.legend-item b{margin-left:auto;color:var(--text)}.legend-item .swatch{width:9px;height:9px;border-radius:3px;background:var(--swatch)}.bar-track{height:13px;border-radius:8px;display:flex;overflow:hidden;background:var(--panel-alt);margin-bottom:16px}.bar-track i{display:block;height:100%;background:var(--bar);min-width:0}.empty-state{background:var(--panel-alt);border:1px dashed var(--line);padding:23px;border-radius:12px;color:var(--muted);text-align:center;font-size:13px;line-height:1.6}.incident-item{padding:13px 0;display:flex;align-items:flex-start;gap:11px;border-bottom:1px solid var(--line)}.incident-item:last-child{border-bottom:0}.incident-mark{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--red);flex-shrink:0}.incident-title{font-size:12px;font-weight:720;line-height:1.5}.incident-desc{font-size:11px;color:var(--muted);margin:5px 0}.incident-time{font-size:10px;color:var(--muted)}.incident-resolved .incident-mark{background:var(--green)}.mini-chart{width:100%;min-height:108px}.mini-chart svg{width:100%;height:108px;overflow:visible}.chart-caption{color:var(--muted);font-size:10px;margin-top:8px}.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.badge-note{font-size:11px;color:var(--muted);background:var(--panel-alt);border:1px solid var(--line);border-radius:8px;padding:7px 9px}.app-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:24px}.foot-strong{font-weight:700;color:var(--text)}
.login-screen{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at 50% 23%,#1f4252 0%,transparent 45%),var(--bg)}.login-card{width:min(430px,100%);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);padding:34px;border-radius:22px}.login-card .brand{justify-content:center}.login-card h1{font-size:25px;letter-spacing:-.04em;text-align:center;margin:34px 0 8px}.login-card p{color:var(--muted);text-align:center;line-height:1.5;font-size:13px}.field-label{font-size:12px;display:block;margin:26px 0 8px;font-weight:680}.password-input{width:100%;height:49px;background:var(--panel-alt);color:var(--text);border-radius:10px;border:1px solid var(--line);padding:0 14px}.login-btn{background:var(--primary);color:var(--bg);border:0;height:49px;border-radius:10px;font-weight:850;width:100%;margin-top:14px}.login-error{color:var(--red);font-size:12px;text-align:center;margin-top:13px}.login-hint{font-size:11px;color:var(--muted);text-align:center;margin-top:22px}
.wall .shell{max-width:none;padding:20px clamp(15px,2.4vw,40px)}.wall .topbar{margin-bottom:16px}.wall .headline{margin-bottom:16px}.wall .headline h1{font-size:29px}.wall .kpi{min-height:112px;padding:16px}.wall .kpi-number{margin:7px 0 3px;font-size:31px}.wall .kpi-grid{margin-bottom:15px}.wall .columns{grid-template-columns:1fr}.wall .aside{display:none}.wall .projects{grid-template-columns:repeat(4,minmax(0,1fr))}.wall .project-card{min-height:150px}.wall .project-details{display:none}.wall .tools{display:none}.wall .section-hint{display:none}.wall .project-head{padding:15px 14px 11px}.wall .status-bar{margin:0 14px 12px}.wall .service-summary{padding:0 14px 13px}.wall .project-footer{padding:9px 14px}.wall .details-btn{display:none}.wall .right-meta{font-size:12px}
@media(max-width:1150px){.columns{grid-template-columns:1fr}.aside{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.panel+.panel{margin:0}.wall .projects{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.shell{padding:18px 14px 30px}.topbar{margin-bottom:22px}.brand-name{font-size:14px}.brand-icon{width:38px;height:38px}.top-actions .word-label{display:none}.headline h1{font-size:30px}.right-meta{text-align:left}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:16px;min-height:126px}.kpi-number{font-size:35px;margin-top:14px}.kpi-top{font-size:11px}.kpi-icon{width:30px;height:30px}.kpi-icon svg{width:17px}.projects,.aside,.wall .projects{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}.search-wrap{min-width:0;flex:1}.tools{display:flex;flex-wrap:nowrap}.select-status{max-width:125px}.panel{padding:17px}.wall .kpi{min-height:115px}}
@media(min-width:761px) and (max-width:1024px){.wall .projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
