:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#243247;background:#f5f5f2;font-size:14px;line-height:1.55;--blue:#245bdb;--line:#e2e6ec;--muted:#718095;--red:#c83f44;--green:#218562}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #83aaff;outline-offset:3px}a{color:var(--blue);text-decoration:none}button{min-height:44px}h1,h2,h3,p{margin-top:0}h1{font-size:26px;letter-spacing:-.7px;margin-bottom:0}h2{font-size:17px;margin-bottom:16px}h3{font-size:14px}small{font-size:12px}.muted,.subtitle{color:var(--muted)}.skip{position:fixed;top:-60px;z-index:20;background:white;padding:12px}.skip:focus{top:0}[hidden]{display:none!important}.sidebar{width:220px;background:#14243b;color:#aab9cf;position:fixed;inset:0 auto 0 0;padding:32px 18px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:21px;font-weight:650;padding:0 10px 35px}.brand small{display:block;font-size:10px;letter-spacing:2.5px;font-weight:500;color:#9aaec9}.brand-mark{width:36px;height:36px;border:1px solid #6083ba;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:21px;font-weight:700;color:#bcd3ff;background:#203b62}.nav-label{font-size:11px;letter-spacing:1px;padding:0 14px 10px;color:#8497b2}nav{display:flex;flex-direction:column;gap:5px}nav a{min-height:45px;display:flex;align-items:center;gap:12px;border-radius:6px;color:#b9c7da;padding:10px 14px}nav a:hover{background:#20334d}nav a.active{background:#244a83;color:white}nav svg{width:18px;height:18px;flex-shrink:0}.sidebar-foot{margin-top:auto;padding:24px 10px 0;font-size:11px}.private-dot{display:inline-block;width:6px;height:6px;background:#67b493;border-radius:100%;margin-right:5px}.sidebar details{margin-top:17px;border-top:1px solid #314057;padding-top:12px}.sidebar summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.sidebar dl{display:block}.sidebar dt{color:#8ca0ba;margin-top:10px}.sidebar dd{margin:0;word-break:break-word;color:#d0d9e7}.logout{border:0;background:none;color:#aab9cf;padding:0;text-align:left}.workspace{margin-left:220px;padding:0 36px}.topbar{min-height:116px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);margin-bottom:26px}.eyebrow{font-size:11px;color:var(--muted);margin-bottom:5px;letter-spacing:1px}.header-actions{display:flex;align-items:center;gap:20px}.update-info{text-align:right;font-size:12px;color:#556378}.update-info small{display:block;color:var(--muted);margin-top:3px}.button,.primary{border-radius:6px;padding:9px 16px;border:1px solid #d6dce5;background:#fff;color:#344359;white-space:nowrap}.primary{color:white;background:var(--blue);border-color:var(--blue)}.button:hover{background:#f3f6fc}.primary:hover{background:#1a4cc2}.notice{padding:12px 16px;border:1px solid #e7c989;background:#fff8e8;color:#815b17;border-radius:6px;margin-bottom:20px}.notice.error{background:#fff1f0;border-color:#ecc5c5;color:#a93439}.page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.page-intro p{margin:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:4px;font-size:12px;background:#edf0f4;color:#6b778a;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;background:currentColor;border-radius:100%}.badge.up{color:#1b7959;background:#eaf5ef}.badge.down{color:#ba303d;background:#fcebed}.badge.degraded{color:#9b681e;background:#fcf2de}.badge.disabled{color:#7d8896;background:#eef0f3}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat,.panel{background:white;border:1px solid var(--line);border-radius:8px}.stat{padding:20px}.stat-label{color:#65748a;font-size:12px}.stat-value{font-size:32px;font-weight:650;line-height:1.3;margin:9px 0;color:#20314b;font-variant-numeric:tabular-nums}.stat-value.red{color:var(--red)}.stat-value.green{color:var(--green)}.stat-note{color:var(--muted);font-size:12px}.panel{margin-bottom:22px;overflow:hidden}.panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-head h2{margin:0}.panel-body{padding:20px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafbfc;font-size:11px;font-weight:500;color:#768295;padding:12px 20px;border-bottom:1px solid var(--line)}td{padding:14px 20px;border-bottom:1px solid #edf0f4;font-size:13px}tr:last-child td{border-bottom:0}.name-button{background:none;border:0;padding:0;color:#223852;font-weight:600;text-align:left;min-height:44px}.name-button:hover{color:var(--blue)}.secondary-line{display:block;font-size:11px;color:var(--muted);font-weight:400}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.toolbar input[type=search]{min-width:240px}.toolbar input,.toolbar select{border:1px solid #d5dce5;background:white;border-radius:6px;padding:10px 12px;min-height:44px;color:#344359}.check{display:flex;align-items:center;gap:9px;min-height:44px;color:#5c6b80}.check input{width:17px;height:17px;accent-color:var(--blue)}.empty{padding:46px 20px;text-align:center;color:#7a8799}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.card-title h2{margin:0}.timeline{display:flex;gap:1px;width:100%;height:25px;margin:18px 0 8px}.timeline span{flex:1;min-width:0;background:#d5dbe4;border-radius:2px}.timeline .up,.days .up{background:#54a889}.timeline .down,.days .down{background:#d96a70}.timeline .degraded,.days .degraded{background:#d2a357}.timeline .disabled,.days .disabled{background:#e0e4e9}.range-label{display:flex;justify-content:space-between;color:#8994a4;font-size:10px}.history-facts{display:flex;gap:25px;margin-top:16px;color:#69768a;font-size:12px}.history-facts strong{display:block;font-size:19px;color:#2b3e58;font-weight:600}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:#748194}.legend span:before{content:"";display:inline-block;width:7px;height:7px;background:#d5dbe4;margin-right:5px;border-radius:2px}.legend .healthy:before{background:#54a889}.legend .fault:before{background:#d96a70}.event-list{list-style:none;padding:0;margin:0}.event-row{display:flex;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid #edf0f4}.event-row:last-child{border-bottom:0}.event-content{flex:1;min-width:0}.event-content button{white-space:normal}.event-meta{font-size:11px;color:var(--muted)}.time{color:#7c899a;font-size:11px;white-space:nowrap}.ai-card{padding:22px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:18px}.ai-card p{white-space:pre-wrap}.ai-meta{display:flex;gap:12px;align-items:center;margin-bottom:14px;color:var(--muted);font-size:12px}.ai-section{margin-top:18px}.ai-section h3{color:#617087;margin-bottom:7px}.ai-section ul{padding-left:20px;margin:0}.ai-section li{margin-bottom:5px}.boundary{padding:18px 20px;background:#eef3fb;border:1px solid #d8e3f6;border-radius:8px;margin-bottom:20px}.boundary h2{margin-bottom:7px;color:#355584}.boundary p{margin:0;color:#5d6f88;font-size:12px}.repair-card{padding:20px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:16px}.repair-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.repair-card dl{display:grid;grid-template-columns:110px 1fr;gap:7px;margin:16px 0}.repair-card dt{color:var(--muted)}.repair-card dd{margin:0;word-break:break-word}.days{display:flex;gap:4px;margin:18px 0 8px}.days span{flex:1;min-width:0;height:31px;border-radius:3px;background:#d5dbe4}.drawer,.approval{border:0;padding:24px;box-shadow:0 12px 70px #14243b33;color:#243247}.drawer{inset:0 0 0 auto;margin:0;height:100%;max-height:100%;width:min(560px,95vw);max-width:95vw}.approval{width:500px;max-width:94vw;border-radius:10px}.drawer::backdrop,.approval::backdrop{background:#14243b66}.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}.dialog-head h2{margin:0;font-size:20px}.icon-button{background:none;border:0;font-size:26px;color:#65748a;width:44px}.detail-list{display:grid;grid-template-columns:105px 1fr;gap:12px;font-size:13px}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.detail-block{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.detail-block pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f7f8fa;padding:14px;border-radius:6px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.error{color:#b93642;white-space:pre-wrap}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:25px}.login-card{width:380px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:36px}.login-card h1{margin-top:23px;font-size:24px}.login-card label{display:block;margin-top:20px;font-size:13px}.login-card input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #cbd4e0;border-radius:6px;min-height:44px}.login-card button{width:100%;margin-top:10px}footer{display:flex;justify-content:space-between;color:#919bab;font-size:10px;padding:28px 0 22px;letter-spacing:.5px}.section-note{font-size:12px;color:#7a879a;margin-top:12px}.source-line{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#65748a;margin-bottom:22px}.source-line span{display:flex;align-items:center;gap:6px}.source-dot{width:6px;height:6px;border-radius:100%;background:#97a2b3}.source-dot.ok{background:#218562}.source-dot.bad{background:#c83f44}@media(min-width:1450px){.workspace{padding-left:48px;padding-right:48px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){.workspace{padding:0 22px}.stats{grid-template-columns:repeat(2,1fr)}.columns{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:16px}.brand{padding:0 0 16px;font-size:18px}.brand small{display:inline;margin-left:8px}.brand-mark{width:30px;height:30px}.nav-label,.sidebar-foot{display:none}nav{flex-direction:row;overflow-x:auto;gap:5px}nav a{flex-shrink:0;padding:10px 12px}nav svg{display:none}.workspace{margin:0;padding:0 16px}.topbar{min-height:105px;margin-bottom:20px}.eyebrow{display:none}h1{font-size:23px}.header-actions{gap:10px}.update-info{font-size:10px}.update-info small{font-size:10px}.header-actions .button{padding:8px 10px}.stats{gap:10px}.stat{padding:15px}.stat-value{font-size:28px}.page-intro{display:block}.page-intro .legend{margin-top:12px}.panel-head{padding:15px}.toolbar input[type=search]{min-width:0;flex:1;width:100%}.repair-top{align-items:flex-start}.repair-top .primary{font-size:12px;padding:8px}.history-facts{gap:20px}.event-row{gap:10px;padding:12px}.event-row .time{display:none}footer span{display:none}.days{gap:2px}.days span{height:23px}}
@media(max-width:700px){.sidebar-foot{display:block;position:relative;font-size:0;margin:0;padding:0}.sidebar-foot .private-dot{display:none}.sidebar details{font-size:12px;margin:0;padding:0;border:0;max-width:calc(100% - 85px)}.sidebar details[open]{max-width:100%}.sidebar .logout{position:absolute;right:0;top:0;font-size:12px}.sidebar details[open]+.logout{top:0}.sidebar details .detail-list{font-size:12px;display:grid;grid-template-columns:95px 1fr}.sidebar details dt{margin:0}}

.auth-link{border:0;background:none;color:var(--blue);padding:8px}.auth-message{color:#355584;white-space:pre-wrap;overflow-wrap:anywhere}.login-card{max-width:100%;min-width:0}.login-card input{min-width:0}.login-card .section-note{margin:6px 0 0}.account-password{display:block}.sidebar .account-password:disabled{color:#8ca0ba}@media(max-width:700px){.sidebar .account-password{position:static;display:inline-block;font-size:12px;max-width:calc(100% - 90px)}.login-wrap{padding:20px}.login-card{padding:26px 22px}.login-card h1{font-size:23px}}

/* Keep wide asset tables inside their own scroll area on small screens. */
.workspace,.columns,.panel{min-width:0}.columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.table-wrap{max-width:100%}.host-table table{min-width:900px}.host-identity{max-width:230px;white-space:normal;overflow-wrap:anywhere}.host-address{display:block;max-width:200px;white-space:normal;overflow-wrap:anywhere}.host-provider{display:block;max-width:150px;white-space:normal;overflow-wrap:anywhere}@media(max-width:1050px){.columns{grid-template-columns:minmax(0,1fr)}}

.business-section{margin-bottom:28px;min-width:0}.business-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.business-heading h2{margin:0}.business-heading .muted{font-size:12px}.business-section>.section-note{margin:0 0 14px}.service-card{min-width:0}.service-endpoint{display:block;font-size:12px;overflow-wrap:anywhere;margin:8px 0}.service-probe,.service-note,.service-pending{font-size:12px;overflow-wrap:anywhere;margin:8px 0}.service-probe,.service-note{color:var(--muted)}.service-pending{color:#9b681e}.business-unscoped{background:white;border:1px solid var(--line);border-radius:8px;padding:16px 20px;margin-top:20px}.business-unscoped>summary{cursor:pointer;min-height:28px}.business-scope-row{padding-top:16px}.business-scope-row>.badge{margin-left:12px}.business-summary-list{display:grid;gap:12px}.business-summary-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.business-summary-row>.muted{font-size:12px}@media(max-width:700px){.business-heading{gap:8px}.business-heading h2{font-size:16px}.business-summary-row>.muted{flex-basis:100%}.service-card{padding:16px}}

.entity-controls{margin:18px 0;min-width:0}.entity-controls.compact{margin:8px 0 0}.entity-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entity-actions .button,.entity-actions select{min-height:44px;font-size:12px;padding:8px 10px}.entity-actions select{max-width:100%;border:1px solid #d6dce5;border-radius:6px;background:white;color:#344359}.control-state{font-size:12px;color:#9b681e;margin:8px 0;white-space:normal}.control-error:empty{display:none}.control-error{font-size:12px;white-space:normal}.entity-edit{max-height:90vh;overflow:auto}.entity-edit form>label:not(.check){display:block;margin-bottom:8px}.entity-edit input[type=text],.entity-edit #entity-name{width:100%;min-height:44px;border:1px solid #cbd4e0;border-radius:6px;padding:10px;margin-bottom:14px}.entity-edit .section-note{line-height:1.7}.entity-edit .check{align-items:flex-start}.entity-edit input[type=checkbox]{flex-shrink:0;margin-top:3px}.badge.suppressed{color:#9b681e;background:#fcf2de}.event-meta{overflow-wrap:anywhere}@media(max-width:700px){.entity-edit{padding:20px;width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.entity-actions{gap:6px}.entity-actions .button,.entity-actions select{font-size:12px}.dialog-head h2{overflow-wrap:anywhere;min-width:0}}
