:root{font-family:Segoe UI,Arial,sans-serif;color:#192d44;background:#f3f5f9;font-size:14px;font-synthesis:none;--ink:#192d44;--muted:#6b7c91;--line:#dfe6ef;--blue:#345ee8;--nav:#16273e;--surface:#fff;--soft:#eef3ff;--amber:#a7600a;--red:#b43243}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #89a7ff;outline-offset:3px}a{color:#3155ac;text-decoration:none}a:hover{text-decoration:underline}button:disabled{cursor:wait;opacity:.58}button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:9px 13px;min-height:38px;line-height:1.3}button:hover:not(:disabled){background:#f1f5fc;border-color:#b9c9e3}button.primary{background:var(--blue);border-color:var(--blue);color:#fff}button.primary:hover:not(:disabled){background:#244bd1}.small-button{padding:6px 10px;min-height:32px;font-size:12px}.app{min-height:100vh;display:grid;grid-template-columns:192px minmax(0,1fr)}.sidebar{background:var(--nav);color:#d9e4f4;position:sticky;top:0;height:100vh;padding:28px 14px 22px;display:flex;flex-direction:column}.brand{font-size:19px;font-weight:650;color:#fff;white-space:nowrap;letter-spacing:-.45px}.brand-icon{color:#a6beff;font-size:23px;vertical-align:-1px}.side-caption{font-size:11px;color:#a1b3cc;margin:8px 0 28px 8px;letter-spacing:.6px}nav{display:grid;gap:8px}nav a{color:#c7d4e9;padding:12px 12px;display:flex;gap:11px;align-items:center;border-radius:8px;min-height:43px}nav a:hover{background:#243e61;text-decoration:none}nav a.active{background:#304d76;color:#fff}nav a span{font-size:13px}nav b{background:#855622;color:#fff;border-radius:5px;padding:1px 5px;font-size:11px;margin-left:auto}nav b:empty{display:none}.side-foot{margin-top:auto;padding:20px 8px 0;font-size:12px;line-height:1.7}.side-foot small{color:#9eb1ce;font-size:11px;display:block;margin-top:8px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ca7ee;margin-right:5px}.workspace{min-width:0}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);padding:0 26px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.top-meta{display:flex;align-items:center;gap:18px}.avatar{height:30px;width:30px;background:#e9efff;color:#36558e;display:grid;place-items:center;border-radius:50%}main{padding:25px 26px 30px;max-width:1800px;margin:auto;outline:none}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}h1{font-size:26px;letter-spacing:-.7px;line-height:1.2;margin:0 0 7px}h2{font-size:16px;margin:0;letter-spacing:-.2px}h3{font-size:14px;margin:0 0 10px}p{line-height:1.6;margin:8px 0}.subhead{font-size:12px;color:var(--muted);line-height:1.6}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.summary{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;text-align:left;min-height:91px;box-shadow:0 1px 2px #172b4410}.summary span{display:block;font-size:12px;color:var(--muted)}.summary strong{display:block;font-weight:600;font-size:29px;margin-top:5px;line-height:1.2}.summary.active{border-color:#6687ee;box-shadow:0 0 0 1px #6687ee}.summary.blue strong{color:#315ecd}.summary.amber strong{color:#a36c19}.summary .small{font-size:11px;color:var(--muted);margin-left:6px;font-weight:400}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.search{flex:1;min-width:180px;max-width:390px}.search input{width:100%;height:39px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;color:var(--ink)}select{height:39px;min-width:135px;border:1px solid var(--line);border-radius:8px;padding:0 30px 0 11px;background:#fff;color:var(--ink)}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 267px;gap:16px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:0 1px 2px #1a2a4410}.panel-head{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-body{padding:16px 18px}.panel-note{padding:12px 17px;background:#fafbfd;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.55}.panel-head .subhead{margin-top:4px}.table-scroll{overflow:auto}.project-table{width:100%;border-collapse:collapse;text-align:left}.project-table th{font-weight:400;color:var(--muted);font-size:11px;padding:11px 14px;border-bottom:1px solid var(--line);background:#fbfcfe;white-space:nowrap}.project-table td{padding:13px 14px;border-bottom:1px solid #edf0f6;vertical-align:middle;font-size:12px}.project-table tr:last-child td{border-bottom:0}.project-table tr:hover td{background:#fafcff}.project-name{border:0;background:transparent;padding:0;min-height:unset;display:flex;align-items:center;gap:10px;text-align:left;white-space:nowrap}.project-name:hover:not(:disabled){background:transparent;color:var(--blue)}.project-mark{height:32px;width:32px;flex:none;display:grid;place-items:center;background:#edf2fd;color:#3b5b98;border:1px solid #e1e8f8;border-radius:8px;font-size:13px;font-weight:600}.project-name b{display:block;font-weight:600;font-size:13px}.project-name small{display:block;font-size:10px;color:var(--muted);margin-top:4px;font-weight:400}.muted{color:var(--muted)}.micro{font-size:11px;color:var(--muted);line-height:1.5;margin-top:5px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:5px;font-size:11px;font-weight:500;padding:5px 7px;background:#edf0f5;color:#697990;line-height:1.25;white-space:nowrap}.badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.badge.partial{background:#eaf0ff;color:#3862b1}.badge.attention{background:#fff1d9;color:#a86410}.badge.stale{background:#f0edf8;color:#756294}.badge.ok{background:#e8f5ee;color:#2e7a56}.badge.error{background:#fff0f2;color:#ae4050}.status-cell{min-width:200px;max-width:250px}.time-cell{white-space:nowrap;font-size:11px!important}.arrow-btn{padding:4px 8px;min-height:32px;color:#466399}.host-card{margin-bottom:13px;padding:15px 15px 13px;background:#fff;border:1px solid var(--line);border-radius:10px}.host-title{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:5px}.host-link{border:0;padding:0;min-height:unset;font-weight:600;font-size:14px;text-align:left}.metric-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-top:12px;align-items:baseline}.metric-row strong{font-size:12px;font-weight:550;white-space:nowrap}.bar{height:5px;border-radius:10px;background:#edf1f7;overflow:hidden;margin-top:7px}.bar span{display:block;height:100%;background:#83a0ed;border-radius:10px}.bar.large{height:6px;margin:11px 0 13px}.host-foot{font-size:11px;color:var(--muted);border-top:1px solid #edf0f5;padding-top:10px;margin-top:13px;line-height:1.55}.notice{padding:13px 16px;border:1px solid #d7e1f8;background:#edf3ff;border-radius:9px;color:#315482;font-size:12px;line-height:1.65;margin-bottom:17px}.notice.attention{background:#fff7e9;border-color:#f1d49f;color:#845619}.notice strong{display:block;font-size:13px;margin-bottom:3px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,1fr);gap:16px;align-items:start}.stack{display:grid;gap:16px}.check-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid #edf0f5}.check-row:first-child{padding-top:0}.check-row:last-child{border-bottom:0;padding-bottom:0}.check-title{font-size:13px;font-weight:550}.check-row .right{text-align:right}.section-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px}.facts{display:grid;grid-template-columns:minmax(125px,.7fr) 1fr;gap:11px;font-size:12px;line-height:1.5}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.plain-list{padding-left:18px;margin:0;font-size:12px;line-height:1.75}.plain-list li{margin:7px 0}.tips{padding:0;margin:0;list-style:none;counter-reset:tip}.tips li{counter-increment:tip;position:relative;padding:0 0 15px 34px;font-size:13px;line-height:1.65}.tips li:last-child{padding-bottom:0}.tips li:before{content:counter(tip);position:absolute;left:0;top:2px;border-radius:50%;background:#edf2fd;color:#466aaf;width:22px;height:22px;display:grid;place-items:center;font-size:11px}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:17px}.tabs button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:10px 0 12px;min-height:39px;border-bottom:2px solid transparent}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.empty{text-align:center;padding:36px 20px;color:var(--muted);font-size:13px;line-height:1.75}.empty strong{display:block;color:var(--ink);font-size:15px;margin-bottom:7px}.wide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.resource-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.resource-box .number{font-size:29px;line-height:1.3;margin:12px 0 2px;letter-spacing:-.7px}.number small{font-size:14px;letter-spacing:0;color:var(--muted)}.disk{padding:14px 0;border-bottom:1px solid var(--line)}.disk:first-child{padding-top:0}.disk:last-child{border-bottom:0;padding-bottom:0}.disk .fact-grid{display:flex;justify-content:space-between;gap:12px;font-size:12px}.disk strong{font-size:13px}.help-head{max-width:670px;margin-bottom:20px}.help-head p{font-size:14px;color:var(--muted)}details{font-size:12px;margin-top:13px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;color:#45608d;font-size:12px;min-height:25px}details code{font-size:11px;overflow-wrap:anywhere;white-space:normal}details .facts{margin-top:13px}.timeline{display:grid;gap:0}.event-item{padding:14px 0;border-bottom:1px solid var(--line)}.event-item:last-child{border-bottom:0}.event-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.event-title b{font-size:13px}.history-table{font-size:12px;width:100%;border-collapse:collapse}.history-table th,.history-table td{text-align:left;padding:10px 8px;border-bottom:1px solid #eef1f5}.history-table th{font-size:11px;font-weight:400;color:var(--muted)}.tagline{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.6}.chart{display:block;width:100%;height:74px;margin-top:12px}.chart line{stroke:#edf0f6}.chart polyline{fill:none;stroke:#6d8edb;stroke-width:2}.progress-strip{background:#e9f0ff;color:#3b5b99;font-size:12px;border-radius:7px;padding:10px 13px;margin-bottom:14px;display:flex;justify-content:space-between;gap:12px}.loading{padding:40px;text-align:center;color:var(--muted)}.hidden{display:none!important}.toast{position:fixed;right:25px;bottom:24px;max-width:420px;background:#203855;color:#fff;padding:13px 18px;border-radius:9px;box-shadow:0 8px 24px #152d4433;font-size:13px;line-height:1.5;z-index:20}.connection{position:fixed;bottom:0;left:0;right:0;background:#fff0d5;color:#714500;padding:12px 20px;text-align:center;font-size:13px;border-top:1px solid #e1c89f;z-index:30}.skip{position:fixed;top:-100px;left:15px;z-index:99;background:#fff;padding:12px}.skip:focus{top:12px}.sort-button{min-height:24px;font-size:11px;background:transparent;border:0;padding:0;color:var(--muted)}.compact .project-table td{padding-top:8px;padding-bottom:8px}.nowrap{white-space:nowrap}.no-wrap-link{display:inline-flex;align-items:center;gap:5px}.link-button{display:inline-block;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:#fff}.link-button:hover{background:#f1f5fc;text-decoration:none}
@media(max-width:1380px){.app{grid-template-columns:172px minmax(0,1fr)}.brand{font-size:17px}.sidebar{padding-left:12px;padding-right:12px}main{padding:20px}.topbar{padding:0 20px}.overview-grid{grid-template-columns:minmax(0,1fr) 240px;gap:13px}.project-table td,.project-table th{padding-left:11px;padding-right:11px}.status-cell{min-width:170px}.project-name{gap:8px}.project-name small{font-size:10px}.project-mark{width:28px;height:28px}.host-card{padding:13px}.project-table td{padding-top:11px;padding-bottom:11px}}
@media(max-width:1120px){.overview-grid{grid-template-columns:1fr}.host-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.host-sidebar .tagline{grid-column:1/-1;margin-top:0}.detail-grid{grid-template-columns:1fr}.summary-grid{gap:8px}.summary{padding:11px}.top-meta>span:first-child{display:none}.wide-grid{grid-template-columns:1fr}.resource-grid{gap:9px}}
@media(max-width:720px){.app{display:block}.sidebar{height:auto;position:relative;display:block;padding:15px 16px 9px}.side-caption,.side-foot{display:none}.brand{font-size:19px}nav{display:flex;gap:4px;margin-top:13px;overflow:auto}nav a{padding:9px 10px;min-height:38px;gap:6px;white-space:nowrap}nav a span{font-size:12px}nav a:last-child span{font-size:0}nav a:last-child span:after{content:'Помощь';font-size:12px}.topbar{height:43px;padding:0 16px;font-size:11px}.avatar{height:26px;width:26px}main{padding:18px 14px 26px}.page-head{display:block;margin-bottom:16px}h1{font-size:24px}.actions{justify-content:flex-start;margin-top:13px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary{min-height:84px;padding:11px 12px}.summary strong{font-size:27px}.toolbar{gap:8px}.search{width:100%;max-width:none;flex:auto}.toolbar select{flex:1;min-width:130px}.overview-grid{display:block}.host-sidebar{display:block;margin-top:15px}.project-table thead{display:none}.project-table,.project-table tbody,.project-table tr,.project-table td{display:block}.project-table tr{position:relative;padding:13px 14px;border-bottom:1px solid var(--line)}.project-table td{border:0;padding:0;background:transparent!important}.project-table td:nth-child(2){position:absolute;top:17px;right:17px;font-size:10px;color:var(--muted)}.project-table .project-name{max-width:calc(100% - 65px)}.project-name small{font-size:11px}.project-mark{height:31px;width:31px}.project-table .status-cell{margin:13px 0 8px 40px;max-width:none}.project-table .time-cell{margin-left:40px;display:flex;gap:8px;align-items:center}.time-cell .micro{margin:0}.project-table td:last-child{position:absolute;right:10px;bottom:15px}.project-table tr:last-child{border:0}.project-table td b{font-size:14px}.compact .project-table td{padding:0}.compact .project-table tr{padding-top:10px;padding-bottom:10px}.panel-head{padding:14px}.panel-body{padding:15px}.resource-grid{grid-template-columns:1fr}.resource-box{padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:3px 15px;align-items:center}.resource-box .number{margin:0;grid-column:2;grid-row:1/3;font-size:25px}.resource-box .micro{margin:0}.tabs{gap:15px;overflow:auto}.tabs button{white-space:nowrap;font-size:12px}.check-row{grid-template-columns:1fr}.check-row .right{text-align:left}.check-row .right .micro{display:inline-block;margin-left:7px}.notice{font-size:12px}.facts{grid-template-columns:115px 1fr;gap:10px;font-size:11px}.toast{left:14px;right:14px;bottom:17px;max-width:none}.history-table th,.history-table td{padding:9px 5px;font-size:11px}.event-title{align-items:flex-start}.event-title .badge{white-space:normal}.help-head{margin-top:0}.actions button,.actions a{min-height:42px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

progress.bar{display:block;width:100%;border:0;appearance:none;color:#83a0ed}
progress.bar::-webkit-progress-bar{background:#edf1f7;border-radius:10px}
progress.bar::-webkit-progress-value{background:#83a0ed;border-radius:10px}
progress.bar::-moz-progress-bar{background:#83a0ed;border-radius:10px}
.bar.missing{background:repeating-linear-gradient(90deg,#edf1f7 0 8px,transparent 8px 12px)}
.disconnected .badge.ok,.disconnected .badge.partial{background:#f0edf8;color:#756294}
.disconnected main{padding-bottom:85px}
.project-name{white-space:normal;overflow-wrap:anywhere}
.project-name>span:last-child{min-width:0}
.badge{white-space:normal}
.panel,.stack,.host-card{min-width:0}
@media(max-width:720px){.project-table td:nth-child(2){position:static;margin:7px 0 0 40px}.project-table .project-name{max-width:100%}.project-table .status-cell{padding-right:18px}.tabs{gap:12px}}

button[aria-disabled="true"]{opacity:.6;cursor:wait}
/* Protected owner sign-in uses the same visual language as the panel. */
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(100%,420px);padding:32px;background:#fff;border:1px solid #dce4ef;border-radius:14px;box-shadow:0 8px 32px #182b4610}
.login-card .brand{color:#182b46;padding:0;font-size:20px}.login-card h1{margin:26px 0 12px;font-size:25px}
.login-card p,.login-card small{color:#53647c;line-height:1.55}.login-card form{display:grid;gap:12px;margin-top:22px}.login-card input{width:100%;min-height:44px}.login-card button{min-height:44px}.login-card #login-error{color:#a02b35;margin:0;min-height:24px}
