@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap";:root{color:#e8edf1;font-synthesis:none;--bg:#0b0f12;--panel:#10161a;--panel2:#121a1f;--line:#283139;--muted:#8d99a5;--green:#75f064;--amber:#f3bd49;--red:#ff6868;background:#0b0f12;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.shell{grid-template-columns:182px minmax(700px,1fr) 356px;min-height:100vh;display:grid}.sidebar,.drawer{background:#0e1418;height:100vh;position:sticky;top:0}.sidebar{border-right:1px solid var(--line);flex-direction:column;display:flex}.identity{border-bottom:1px solid var(--line);height:90px;padding:21px 22px}.brand{letter-spacing:2px;font-size:28px;font-weight:700}.brand span{color:var(--green)}.identity small{color:var(--muted);margin-top:3px;font:12px IBM Plex Mono,monospace;display:block}.sidebar nav{padding-top:12px;display:grid}.sidebar nav button{color:#aeb8c1;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:13px;height:50px;padding:0 22px;display:flex}.sidebar nav button:hover{color:#fff;background:#141c21}.sidebar nav button.active{border-left-color:var(--green);color:#fff;background:#202a31}.sidebar footer{color:#73808b;gap:7px;margin-top:auto;padding:22px;font:11px IBM Plex Mono,monospace;display:grid}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:25px;height:90px;padding:0 30px;display:grid}h1,h2,h3,p{margin:0}.topbar h1{letter-spacing:.01em;font-size:27px}.topbar p{color:var(--muted);margin-top:6px;font-size:13px}.check{border:1px solid var(--line);color:#cbd3da;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:9px 12px;display:flex}.overall{color:#cbd3da;align-items:center;gap:9px;font-size:13px;display:flex}.overall i,.drawer header i,.status-rail i,.service-table i{background:var(--green);border-radius:50%;width:10px;height:10px;box-shadow:0 0 12px #75f06455}.content{gap:16px;padding:22px;display:grid}.status-rail{border:1px solid var(--line);background:var(--panel);grid-template-columns:repeat(6,minmax(110px,1fr));display:grid}.status-rail button{border:0;border-right:1px solid var(--line);min-height:88px;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:14px 1fr;gap:8px;padding:16px 13px;display:grid}.status-rail button:last-child{border-right:0}.status-rail button.selected{background:#182228}.status-rail span{gap:4px;display:grid}.status-rail strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.status-rail em,.status-rail small{font-size:11px;font-style:normal}.status-rail small{color:var(--muted);font-family:IBM Plex Mono,monospace}.bad{background:var(--red)!important;box-shadow:0 0 12px #ff686855!important}.ok-text{color:var(--green)}.bad-text{color:var(--red)}.chart-frame,.incidents,.service-table{border:1px solid var(--line);background:var(--panel)}.chart-frame header,.incidents header,.service-table header{justify-content:space-between;align-items:center;padding:15px 16px;display:flex}.chart-frame h2,.incidents h2,.service-table h2{font-size:15px}.chart-frame header span{color:var(--muted);font:11px IBM Plex Mono,monospace}.chart-frame svg{width:100%;height:180px;padding:0 15px;display:block}.grid path{stroke:#263039;stroke-width:1px}.line{fill:none;stroke:var(--green);stroke-width:2px;vector-effect:non-scaling-stroke}.area{fill:#75f0640c}.chart-frame footer{color:#697680;justify-content:space-between;padding:0 16px 12px;font:10px IBM Plex Mono,monospace;display:flex}.incidents header button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;font-size:11px;display:flex}.incident-row{border-top:1px solid var(--line);grid-template-columns:12px 150px 170px 1fr 75px;align-items:center;gap:10px;min-height:47px;padding:0 16px;font-size:12px;display:grid}.incident-row i{background:var(--red);border-radius:50%;width:8px;height:8px}.incident-row time{color:var(--muted);font:11px IBM Plex Mono,monospace}.incident-row em{color:var(--red);font-style:normal}.empty{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:24px 16px;font-size:12px;display:flex}.table-head,.service-table>button{grid-template-columns:1.4fr .85fr .7fr 1fr 1.25fr;align-items:center;display:grid}.table-head{border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:34px;color:var(--muted);padding:0 16px;font-size:10px}.service-table>button{border:0;border-bottom:1px solid var(--line);color:#dfe5e9;text-align:left;cursor:pointer;background:0 0;width:100%;min-height:42px;padding:0 16px;font-size:11px}.service-table>button.selected{background:#202c34}.service-table>button:last-child{border-bottom:0}.service-table>button span{align-items:center;gap:8px;display:flex}.service-table>button span:last-child{color:var(--muted);justify-content:space-between}.service-table i{width:8px;height:8px;display:inline-block}.drawer{border-left:1px solid var(--line);padding:24px 22px;overflow:auto}.drawer>header{border-bottom:1px solid var(--line);padding-bottom:20px}.drawer>header>div{align-items:center;gap:12px;display:flex}.drawer>header h2{font-size:17px}.drawer>header a{color:var(--muted);margin-top:12px;font:11px IBM Plex Mono,monospace;display:block}.drawer dl{border-bottom:1px solid var(--line);gap:12px;margin:0;padding:20px 0;display:grid}.drawer dl div{grid-template-columns:110px 1fr;display:grid}.drawer dt{color:var(--muted);font-size:11px}.drawer dd{margin:0;font:11px IBM Plex Mono,monospace}.drawer-logs,.actions{padding-top:20px}.drawer-logs header{justify-content:space-between;align-items:center;display:flex}.drawer h3{font-size:13px}.drawer-logs button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:11px}.drawer pre{border:1px solid var(--line);color:#aab6bf;white-space:pre-wrap;background:#0a0e11;height:180px;margin:12px 0 0;padding:12px;font:10px/1.6 IBM Plex Mono,monospace;overflow:auto}.actions{gap:12px;display:grid}.secondary,.danger button{border:1px solid var(--line);color:#dbe2e7;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;min-height:40px;display:flex}.danger{background:#1c1911;border:1px solid #705c2d;gap:10px;padding:14px;display:grid}.danger strong{color:var(--amber);align-items:center;gap:8px;font-size:12px;display:flex}.danger p{color:#aab2b8;font-size:10px;line-height:1.5}.danger input{color:#fff;background:#0d1215;border:1px solid #45515a;height:38px;padding:0 10px;font:11px IBM Plex Mono,monospace}.danger button{border-color:var(--green);color:var(--green)}.danger button:disabled{color:#69747d;cursor:not-allowed;border-color:#3b454d}.toast{border:1px solid var(--green);color:#dfffd8;cursor:pointer;background:#111a16;max-width:310px;padding:13px 16px;font-size:12px;position:fixed;bottom:24px;right:24px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login{background:#0b0f12;place-items:center;min-height:100vh;display:grid}.login form{border:1px solid var(--line);background:var(--panel);gap:17px;width:min(390px,100vw - 40px);padding:34px;display:grid}.login h1{font-size:24px}.login p{color:var(--muted);font-size:12px}.login label{color:#9da8b1;gap:7px;font-size:11px;display:grid}.login input{border:1px solid var(--line);color:#fff;background:#0b1013;height:42px;padding:0 12px}.login button{border:1px solid var(--green);background:var(--green);color:#071008;cursor:pointer;height:44px;font-weight:700}.form-error{color:var(--red);font-size:12px}@media (width<=1200px){.shell{grid-template-columns:76px 1fr 320px}.identity{padding:21px 14px}.identity small,.sidebar nav button:not(.active){font-size:0}.sidebar nav button{justify-content:center;padding:0}.sidebar nav button.active{font-size:0}.sidebar footer{display:none}.status-rail{grid-template-columns:repeat(3,1fr)}.status-rail button:nth-child(3){border-right:0}.status-rail button:nth-child(-n+3){border-bottom:1px solid var(--line)}}@media (width<=900px){.shell{display:block}.sidebar{z-index:20;border-top:1px solid var(--line);border-right:0;width:100%;height:62px;position:fixed;inset:auto 0 0}.identity,.sidebar footer{display:none}.sidebar nav{grid-template-columns:repeat(7,1fr);padding:0}.sidebar nav button{border-bottom:3px solid #0000;border-left:0;height:61px}.sidebar nav button.active{border-bottom-color:var(--green)}.workspace{padding-bottom:62px}.drawer{border-left:0;border-top:1px solid var(--line);height:auto;margin-bottom:62px;position:relative}.topbar{grid-template-columns:1fr auto;height:auto;min-height:82px;padding:15px 18px}.overall{display:none}.content{padding:14px}.status-rail{display:flex;overflow:auto}.status-rail button{min-width:150px;border-bottom:0!important}.table-head,.service-table>button{grid-template-columns:1.3fr .8fr .6fr}.table-head span:nth-child(4),.table-head span:nth-child(5),.service-table>button span:nth-child(4),.service-table>button span:nth-child(5){display:none}.incident-row{grid-template-columns:12px 110px 1fr}.incident-row span,.incident-row em{display:none}}@media (width<=560px){.sidebar nav button:nth-child(4),.sidebar nav button:nth-child(5),.sidebar nav button:nth-child(6){display:none}.sidebar nav{grid-template-columns:repeat(4,1fr)}.topbar h1{font-size:21px}.topbar p{display:none}.check{padding:10px;font-size:0}.content{padding:10px}.chart-frame svg{height:150px}.drawer{padding:20px 14px}.status-rail button{min-width:138px}.table-head,.service-table>button{grid-template-columns:1.45fr .9fr .55fr}}html,body{max-width:100%;overflow-x:hidden}.content,.content>section{min-width:0}@media (width<=560px){.sidebar{max-width:100vw;overflow:hidden}.sidebar nav button:nth-child(7){display:none}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.topbar{grid-template-columns:1fr}.topbar .check{display:none}.status-rail{width:100%;max-width:100%;overflow-x:auto}.table-head,.service-table>button{grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr) minmax(0,.55fr)}}.shell.infra-shell{grid-template-columns:182px minmax(0,1fr)}.infra-view{gap:16px;display:grid}.view-heading{justify-content:space-between;align-items:flex-start;padding:2px 0 8px;display:flex}.view-heading h2{font-size:22px}.view-heading p{color:var(--muted);margin-top:7px;font-size:12px}.view-heading button{border:1px solid var(--line);color:#d8e0e5;cursor:pointer;background:0 0;align-items:center;gap:8px;min-height:38px;padding:0 13px;display:flex}.summary-rail{border:1px solid var(--line);background:var(--panel);flex-wrap:wrap;gap:0;display:flex}.summary-rail span{border-right:1px solid var(--line);min-height:48px;color:var(--muted);align-items:center;gap:8px;padding:0 18px;font-size:11px;display:flex}.summary-rail strong{color:#e8edf1;font-family:IBM Plex Mono,monospace}.project-group,.infra-table{border:1px solid var(--line);background:var(--panel)}.project-group>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:48px;padding:0 16px;display:flex}.project-group>header h3{font:600 14px IBM Plex Mono,monospace}.project-group>header span{color:var(--muted);font-size:11px}.project-group .infra-table{border:0}.infra-head,.infra-row{grid-template-columns:1fr 1.1fr 1.35fr 1.25fr 1.2fr;align-items:center;gap:12px;padding:0 16px;display:grid}.infra-head{border-bottom:1px solid var(--line);min-height:34px;color:var(--muted);font-size:10px}.infra-row{border-bottom:1px solid var(--line);min-height:48px;font-size:11px}.infra-row:last-child{border-bottom:0}.infra-row strong{align-items:center;gap:9px;min-width:0;display:flex}.infra-row code{color:#9eabb5;text-overflow:ellipsis;white-space:nowrap;font:10px IBM Plex Mono,monospace;overflow:hidden}.infra-row>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.state-cell{align-items:center;gap:8px;display:flex}.state-cell i,.infra-row strong i{background:var(--green);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block;box-shadow:0 0 10px #75f06455}.infra-empty{min-height:72px;color:var(--muted);align-items:center;gap:10px;padding:18px;font-size:12px;display:flex}.domain-table .infra-row,.domain-table .infra-head{grid-template-columns:1.1fr 1.4fr 1.4fr .7fr .7fr}.proxy-table .infra-row,.proxy-table .infra-head{grid-template-columns:1.1fr 1.3fr 1.5fr .6fr .7fr}.reminder-table .infra-row,.reminder-table .infra-head{grid-template-columns:.7fr 1.2fr .8fr .9fr 1.5fr}.incidents-table .infra-row,.incidents-table .infra-head{grid-template-columns:1.1fr 1.6fr 1fr .7fr 1fr}@media (width<=900px){.shell.infra-shell{display:block}.infra-view{overflow:hidden}.infra-table,.project-group{overflow-x:auto}.infra-head,.infra-row{min-width:820px}.summary-rail{flex-wrap:nowrap;overflow-x:auto}.summary-rail span{white-space:nowrap}.view-heading{gap:14px}.view-heading button{flex:none}}@media (width<=560px){.sidebar nav button:nth-child(4),.sidebar nav button:nth-child(5),.sidebar nav button:nth-child(6),.sidebar nav button:nth-child(7),.sidebar nav button:nth-child(8){display:none}.view-heading h2{font-size:19px}.view-heading p{font-size:11px}.view-heading button{padding:0 11px;font-size:0}}.heading-actions{gap:8px;display:flex}.proxy-form,.proxy-switcher,.proxy-plan{border:1px solid var(--line);background:var(--panel)}.proxy-form{grid-template-columns:1fr 1.6fr .8fr auto;align-items:end;gap:12px;padding:16px;display:grid}.proxy-form label,.proxy-plan label{color:var(--muted);gap:7px;font-size:10px;display:grid}.proxy-form input,.proxy-plan input{color:#eef2f5;background:#0b1013;border:1px solid #344049;height:38px;padding:0 10px;font:11px IBM Plex Mono,monospace}.proxy-form>button,.plan-button,.apply-button,.cancel-button{border:1px solid var(--green);min-height:38px;color:var(--green);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:flex}.proxy-form>button:disabled,.plan-button:disabled,.apply-button:disabled{color:#66737c;cursor:not-allowed;border-color:#344049}.proxy-form p{color:#71808a;grid-column:1/-1;font-size:10px}.proxy-switcher>header,.proxy-plan>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 16px;display:flex}.proxy-switcher h3,.proxy-plan h3{font-size:15px}.proxy-switcher header p{color:var(--muted);margin-top:5px;font-size:11px}.switch-grid{grid-template-columns:1fr 1fr;display:grid}.switch-grid>div{min-width:0;padding:15px 16px}.switch-grid>div+div{border-left:1px solid var(--line)}.switch-grid h4{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:10px}.choice-row{cursor:pointer;border-top:1px solid #222c33;grid-template-columns:18px minmax(0,1fr) 30px;align-items:center;gap:9px;min-height:48px;display:grid}.choice-row:first-of-type{border-top:0}.choice-row input{accent-color:var(--green)}.choice-row span{gap:4px;min-width:0;display:grid}.choice-row strong{font-size:11px}.choice-row code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font:10px IBM Plex Mono,monospace;overflow:hidden}.choice-row button{color:#77848e;cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:28px;display:grid}.choice-row button:hover{color:var(--red)}.choice-row.disabled{opacity:.48;cursor:not-allowed}.muted-copy{color:var(--muted);padding:8px 0;font-size:11px}.plan-button{margin:0 16px 16px}.proxy-plan{padding-bottom:16px}.proxy-plan>header span{color:var(--amber);font:10px IBM Plex Mono,monospace}.proxy-plan>p,.proxy-plan>ol,.proxy-plan>label,.proxy-plan>div{margin:14px 16px 0}.proxy-plan>p{font-size:12px}.proxy-plan ol{color:#aeb8c0;gap:6px;padding-left:20px;font-size:11px;display:grid}.proxy-plan label code{color:var(--amber)}.proxy-plan>div{gap:8px;display:flex}.cancel-button{border-color:var(--line);color:#aeb8c0}.operation-message{color:#c9f5bf;background:#111a13;border:1px solid #4b613e;padding:12px 14px;font-size:11px}@media (width<=900px){.proxy-form{grid-template-columns:1fr 1fr}.proxy-form p{grid-column:1/-1}}@media (width<=560px){.heading-actions{gap:5px}.proxy-form,.switch-grid{grid-template-columns:1fr}.proxy-form p{grid-column:auto}.switch-grid>div+div{border-left:0;border-top:1px solid var(--line)}.proxy-plan>div{display:grid}.proxy-plan .apply-button,.proxy-plan .cancel-button{width:100%}}
