:root{--bg:#f3f5f7;--surface:#fff;--surface2:#f8fafb;--surface3:#eef2f5;--fg:#17212b;--muted:#65717e;--muted2:#8c98a4;--border:#dfe5ea;--border-strong:#c9d2da;--nav:#101820;--nav-hover:#19252f;--nav-text:#abb8c3;--primary:#1769e0;--primary-hover:#0e5bc8;--focus:#5f9df1;--success:#16845b;--warning:#ae6a08;--danger:#c93c35;--info:#236ea8;--shadow:0 8px 24px rgba(20,31,43,.08);--radius:8px;--side:248px;--top:56px;color-scheme:light}
:root[data-theme="dark"]{--bg:#11171d;--surface:#182028;--surface2:#1d2730;--surface3:#25313b;--fg:#e5ebef;--muted:#9ba8b3;--muted2:#74828e;--border:#2b3741;--border-strong:#3a4853;--nav:#0c1217;--nav-hover:#162029;--primary:#4b93ef;--primary-hover:#69a7f2;--focus:#70a8ee;--success:#51b88d;--warning:#dba046;--danger:#e36b63;--info:#69a8d5;--shadow:none;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--fg);font:13.5px/1.45 Inter,Geist,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);background:var(--nav);color:var(--nav-text);display:flex;flex-direction:column;z-index:20;border-right:1px solid rgba(255,255,255,.05);transition:width .18s ease}.brand-line{display:flex;align-items:center;gap:10px}.side-brand{height:56px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.07)}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#1d6fdc;color:#fff;font-weight:800;letter-spacing:-.03em;flex:0 0 auto}.brand-line strong{display:block;color:#fff;font-size:12px;letter-spacing:.12em}.brand-line span:not(.brand-mark){font-size:11px;color:#81929f}.brand-copy{min-width:0;flex:1}.side-brand .icon-btn{color:#8fa0ad;border-color:transparent}.sidebar nav{padding:12px 8px 18px;overflow:auto;display:block}.nav-group{margin-bottom:16px}.nav-group>span{display:block;padding:0 10px 5px;font-size:9px;font-weight:800;letter-spacing:.13em;color:#5f707d}.nav-group button{width:100%;height:34px;border:0;border-radius:6px;background:transparent;color:var(--nav-text);display:flex;align-items:center;gap:9px;padding:0 10px;text-align:left;cursor:pointer;margin:1px 0}.nav-group button:hover{background:var(--nav-hover);color:#e7eef4}.nav-group button.active{background:#1a2b39;color:#fff;box-shadow:inset 2px 0 #4c9aff}.nav-group button b{font-weight:580;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-group svg{width:16px;height:16px;stroke-width:1.8;flex:0 0 auto}.nav-badge{margin-left:auto;font-size:10px;color:#f0bc67}.side-foot{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between}.side-foot span{display:block;color:#d6e0e7;font-weight:650}.side-foot small{font-size:10px;color:#70818e}.text-btn{border:0;background:none;color:#80b3f4;cursor:pointer;padding:4px}.app main{margin-left:var(--side);min-height:100vh;transition:margin-left .18s ease}.topbar{height:var(--top);position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.top-title{min-width:0}.top-title>span,.eyebrow{font-size:9px;letter-spacing:.13em;font-weight:800;color:var(--muted2)}.top-title h1{font-size:18px;line-height:1.15;margin:2px 0 0;letter-spacing:-.015em}.top-actions{display:flex;align-items:center;gap:8px}.freshness{font-size:11px;color:var(--muted)}#content{padding:20px;max-width:100%;min-width:0;overflow-x:hidden}.icon-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:6px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover,.btn:hover{border-color:var(--border-strong);background:var(--surface2)}.btn{height:34px;padding:0 11px;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:6px;cursor:pointer;font-weight:600}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.btn.small{height:28px;font-size:12px;padding:0 8px}.btn:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.status-chip{height:28px;display:inline-flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:650;background:var(--surface2)}.status-chip i{width:7px;height:7px;border-radius:50%;background:var(--muted2)}.status-chip.ok{color:var(--success)}.status-chip.ok i{background:var(--success)}.status-chip.warn{color:var(--warning)}.status-chip.warn i{background:var(--warning)}.status-chip.bad{color:var(--danger)}.status-chip.bad i{background:var(--danger)}.status-chip.info{color:var(--info)}.status-chip.info i{background:var(--info)}.overview-strip{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.metric-cell{padding:11px 13px;border-right:1px solid var(--border);min-width:0}.metric-cell:last-child{border-right:0}.metric-cell .label{font-size:10px;color:var(--muted);font-weight:650;text-transform:uppercase;letter-spacing:.04em}.metric-cell .value{margin-top:2px;font-size:18px;line-height:1.2;font-weight:720;font-variant-numeric:tabular-nums}.metric-cell .meta{font-size:10.5px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr);gap:16px;margin-top:16px}.stack{display:grid;gap:16px}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.section-head{min-height:45px;padding:9px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2,.section-head h3{font-size:14px;margin:0}.section-head p{font-size:11px;color:var(--muted);margin:2px 0 0}.section-body{padding:12px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar input,.toolbar select,.form-grid input,.form-grid select,.form-grid textarea{height:34px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--fg);padding:0 9px}.toolbar input{min-width:260px}.form-grid textarea{height:auto;min-height:80px;padding:8px;resize:vertical}.filter-bar{padding:9px 10px;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-count{margin-left:auto;font-size:11px;color:var(--muted)}.layout-main,.split-2,.split-3,.drawer-grid,.section,.section-head,.section-body,.toolbar,.filter-bar,.metric-cell,.kv-grid,.chart,.table-wrap{min-width:0}.table-wrap{width:100%;max-width:100%;max-height:520px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-y}.table-wrap::-webkit-scrollbar,.event-stream::-webkit-scrollbar,.terminal::-webkit-scrollbar,.sidebar nav::-webkit-scrollbar,.modal-card::-webkit-scrollbar{width:0;height:0}.split-3>.section .table-wrap{max-height:240px}.split-2>.section .table-wrap{max-height:340px}.data-table{width:100%;max-width:100%;border-collapse:collapse;min-width:0;table-layout:fixed}.data-table th,.data-table td{height:auto;min-height:38px;padding:9px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;vertical-align:top;line-height:1.35}.data-table th{min-height:32px;background:var(--surface2);color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.045em;font-weight:700;position:sticky;top:0;z-index:1}.data-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.data-table tbody tr:last-child td{border-bottom:0}.row-title{font-weight:650;color:var(--fg)}.row-sub{display:block;font-size:10.5px;color:var(--muted);margin-top:-1px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;height:22px;padding:0 6px;border-radius:5px;background:var(--surface3);color:var(--muted);font-size:10.5px;font-weight:700}.badge.critical{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.badge.high,.badge.warning{background:color-mix(in srgb,var(--warning) 13%,var(--surface));color:var(--warning)}.badge.success{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success)}.state{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:650}.state:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted2)}.state.online{color:var(--success)}.state.online:before{background:var(--success)}.state.stale{color:var(--warning)}.state.stale:before{background:var(--warning)}.state.offline,.state.critical{color:var(--danger)}.state.offline:before,.state.critical:before{background:var(--danger)}.state.never{color:var(--muted)}.incident-list{display:grid}.incident-row{display:grid;grid-template-columns:86px minmax(0,1fr) 120px;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);align-items:start}.incident-row:last-child{border-bottom:0}.incident-title{font-weight:650}.incident-detail{font-size:11px;color:var(--muted);margin-top:2px;white-space:normal}.incident-action{font-size:10.5px;color:var(--info);margin-top:4px}.severity{font-size:10px;font-weight:750;text-transform:uppercase}.severity.critical{color:var(--danger)}.severity.warning{color:var(--warning)}.severity.info{color:var(--info)}.right{text-align:right}.service-line{display:grid;grid-template-columns:minmax(90px,1fr) 88px 96px 74px auto;gap:8px;align-items:center;min-height:44px;border-bottom:1px solid var(--border);padding:8px 10px;min-width:0}.service-line:last-child{border-bottom:0}.service-line .actions{display:flex;gap:5px}.kv-grid{display:grid;grid-template-columns:150px minmax(0,1fr);min-width:0}.kv-grid .mono{overflow-wrap:anywhere;word-break:break-word}.kv-grid>div{padding:8px 0;border-bottom:1px solid var(--border)}.kv-grid .key{color:var(--muted);font-size:11px}.chart{height:155px;position:relative}.chart svg{width:100%;height:100%;display:block}.chart .gridline{stroke:var(--border);stroke-width:1}.chart .line{fill:none;stroke:var(--primary);stroke-width:1.7}.chart .area{fill:color-mix(in srgb,var(--primary) 10%,transparent)}.legend{display:flex;gap:14px;font-size:10.5px;color:var(--muted)}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.split-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-band{display:flex;gap:18px;align-items:center;padding:8px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:11px;margin-bottom:10px}.info-band strong{color:var(--fg)}.empty-state{padding:30px 16px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--fg);margin-bottom:4px}.terminal{background:#0e151b;color:#c8d4dc;padding:12px;border-radius:6px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;max-height:620px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none;white-space:pre-wrap;word-break:break-word}.event-stream{max-height:340px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.event-row{display:grid;grid-template-columns:122px 80px minmax(0,1fr);gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:11px}.event-row .detail{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid label{display:grid;gap:5px;font-size:11px;font-weight:650;color:var(--muted)}.form-grid .full{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}.login-card{width:min(390px,100%);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:24px}.login-card .brand-line{padding-bottom:18px;border-bottom:1px solid var(--border)}.login-copy{padding:20px 0 8px}.login-copy h1{font-size:20px;margin:0 0 4px}.login-copy p{margin:0;color:var(--muted);font-size:12px}.login-card label{display:grid;gap:5px;margin:12px 0;font-size:11px;font-weight:650;color:var(--muted)}.login-card input{height:38px;border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:6px;padding:0 10px}.login-card .btn{width:100%;height:38px;margin-top:6px}.form-error{color:var(--danger);font-size:11px;margin-top:9px}.toast{position:fixed;right:18px;bottom:18px;z-index:50;max-width:420px;background:#17212a;color:#fff;border:1px solid rgba(255,255,255,.09);border-radius:7px;padding:10px 12px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.16s}.toast.show{opacity:1;transform:none}.toast.error{background:#5d2522}.modal{position:fixed;inset:0;background:rgba(8,14,20,.52);z-index:40;display:grid;place-items:center;padding:18px}.modal-card{width:min(780px,96vw);max-height:92vh;overflow:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.modal-head{height:58px;padding:0 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:16px;margin:1px 0 0}.modal-card #modalBody{padding:14px}.drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.progress{height:5px;border-radius:5px;background:var(--surface3);overflow:hidden}.progress i{display:block;height:100%;background:var(--primary)}.mobile-only{display:none}.sidebar.collapsed{width:68px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .nav-group>span,.sidebar.collapsed nav button b,.sidebar.collapsed .nav-badge,.sidebar.collapsed .side-foot>div,.sidebar.collapsed .text-btn{display:none}.sidebar.collapsed .side-brand{justify-content:center;padding:0}.sidebar.collapsed nav button{justify-content:center;padding:0}.sidebar.collapsed~main{margin-left:68px}
@media(max-width:1200px){.overview-strip{grid-template-columns:repeat(4,1fr)}.metric-cell:nth-child(4){border-right:0}.metric-cell:nth-child(-n+4){border-bottom:1px solid var(--border)}.layout-main{grid-template-columns:1fr}.split-3{grid-template-columns:1fr 1fr}}
@media(max-width:820px){:root{--side:248px}.sidebar{transform:translateX(-100%);box-shadow:var(--shadow)}.sidebar.open{transform:none}.app main,.sidebar.collapsed~main{margin-left:0}.mobile-only{display:grid}.topbar{padding:0 12px}.freshness{display:none}.top-actions .btn{display:none}#content{padding:12px}.overview-strip{grid-template-columns:1fr 1fr}.metric-cell{border-bottom:1px solid var(--border)!important}.metric-cell:nth-child(even){border-right:0}.split-2,.split-3,.drawer-grid{grid-template-columns:1fr}.toolbar input{min-width:180px;flex:1}.data-table th.secondary,.data-table td.secondary{display:none}.incident-row{grid-template-columns:74px minmax(0,1fr)}.incident-row .right{display:none}.service-line{grid-template-columns:1fr 80px auto}.service-line>.secondary{display:none}}
@media(max-width:480px){.top-title>span{display:none}.top-title h1{font-size:16px}.status-chip span{display:none}.status-chip{width:28px;padding:0;justify-content:center}.overview-strip{grid-template-columns:1fr 1fr}.metric-cell{padding:9px 10px}.metric-cell .value{font-size:16px}.section-head{align-items:flex-start}.filter-bar{align-items:stretch}.filter-bar input,.filter-bar select{width:100%;min-width:0}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal{padding:8px}.modal-card{width:100%;max-height:96vh}.data-table{table-layout:fixed}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v1.1.4 overflow hardening */
.app,.app main,#content,.layout-main,.stack,.split-2,.split-3,.section,.section-body,.section-head,.table-wrap{max-width:100%;min-width:0}
.section{contain:inline-size}
.data-table th,.data-table td{max-width:0}
.data-table td .btn,.data-table th .btn{max-width:100%}
.data-table .mono{overflow-wrap:anywhere;word-break:break-all}
.table-wrap:hover{overflow-y:auto}
.table-wrap,.event-stream,.terminal,.sidebar nav,.modal-card{scrollbar-width:none;-ms-overflow-style:none}
.table-wrap::-webkit-scrollbar,.event-stream::-webkit-scrollbar,.terminal::-webkit-scrollbar,.sidebar nav::-webkit-scrollbar,.modal-card::-webkit-scrollbar{display:none;width:0;height:0}
