:root{color:#17201d;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f8f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.boot,.login-layout{background:linear-gradient(120deg,#f5f7f2f5,#ebf0e8eb);place-items:center;min-height:100vh;display:grid}.login-panel{background:#fff;border:1px solid #dfe5dc;gap:18px;width:min(420px,100vw - 32px);padding:34px;display:grid;box-shadow:0 28px 80px #14231e1f}.login-mark{color:#f7f8f5;background:#1f5c45;place-items:center;width:46px;height:46px;display:grid}.login-panel h1{letter-spacing:0;margin:0;font-size:clamp(1.6rem,5vw,2.25rem)}.login-panel label{color:#4d5b55;gap:7px;font-size:.9rem;display:grid}.login-panel input,.filterbar input,.filterbar select{color:#17201d;background:#fbfcfa;border:1px solid #cfd8d2;outline:none;width:100%;min-height:42px;padding:0 12px}.login-panel input:focus,.filterbar input:focus,.filterbar select:focus{border-color:#1f5c45;box-shadow:0 0 0 3px #1f5c451f}.login-panel button,.export-panel a{color:#fff;cursor:pointer;background:#1f5c45;border:0;justify-content:center;align-items:center;gap:9px;min-height:44px;text-decoration:none;display:inline-flex}.form-error,.notice{color:#9b2c2c;background:#fff4f1;border:1px solid #f0c7bd;margin:0;padding:10px 12px}.app-shell{background:#f7f8f5;grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:#fbfcfa;border-right:1px solid #dfe5dc;flex-direction:column;min-height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #e4e9e1;align-items:center;gap:12px;min-height:78px;padding:0 22px;display:flex}.brand strong,.brand span{display:block}.brand span{color:#65716c;font-size:.8rem}.sidebar nav{gap:3px;padding:16px 10px;display:grid}.sidebar nav button,.sidebar-footer button,.icon-button{color:inherit;cursor:pointer;background:0 0;border:0}.sidebar nav button{color:#4d5b55;text-align:left;align-items:center;gap:11px;min-height:42px;padding:0 12px;display:flex}.sidebar nav button.active{color:#163f31;background:#e7eee8}.sidebar nav button:hover,.icon-button:hover,.sidebar-footer button:hover{background:#eef2eb}.sidebar-footer{color:#65716c;border-top:1px solid #e4e9e1;justify-content:space-between;align-items:center;gap:12px;min-height:64px;margin-top:auto;padding:0 14px 0 22px;font-size:.88rem;display:flex}.sidebar-footer button,.icon-button{place-items:center;width:38px;height:38px;display:grid}.workspace{min-width:0;padding:28px 34px 44px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.topbar p,.topbar h1{margin:0}.topbar p{color:#65716c;text-transform:uppercase;font-size:.82rem}.topbar h1{letter-spacing:0;margin-top:4px;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.05}.topbar-actions{color:#65716c;align-items:center;gap:10px;font-size:.9rem;display:flex}.content,.view-stack{gap:22px;display:grid}.metric-row{border-block:1px solid #dfe5dc;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric{background:#ffffff7a;border-right:1px solid #dfe5dc;align-content:center;gap:6px;min-height:108px;padding:20px 24px;display:grid}.metric:last-child{border-right:0}.metric span{color:#65716c;font-size:.82rem}.metric strong{letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1}.status-line{color:#1f5c45;background:#edf5ef;border-left:3px solid #1f5c45;align-items:center;gap:9px;min-height:42px;padding:0 12px;display:flex}.status-line.degraded{color:#8a5200;background:#fff6e8;border-color:#d08b1f}.status-line em{color:#7c5d2a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-style:normal;overflow:hidden}.split-view{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:34px;display:grid}.split-view h2{margin:0 0 14px;font-size:1rem}.key-value{border-top:1px solid #dfe5dc;grid-template-columns:minmax(120px,.55fr) minmax(0,1fr);margin:0;display:grid}.key-value dt,.key-value dd{border-bottom:1px solid #dfe5dc;min-height:44px;margin:0;padding:12px 0}.key-value dt{color:#65716c}.key-value dd{overflow-wrap:anywhere}.json-block{border-top:1px solid #dfe5dc}.json-block summary{cursor:pointer;color:#4d5b55;align-items:center;min-height:44px;display:flex}.json-block pre{color:#dce8df;background:#111816;max-height:360px;margin:0;padding:18px;font-size:.82rem;overflow:auto}.filterbar{grid-template-columns:1.2fr 160px repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:20px;display:grid}.filterbar label{position:relative}.filterbar label svg{color:#65716c;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filterbar label input{padding-left:36px}.table-wrap{border-top:1px solid #dfe5dc;width:100%;overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #dfe5dc;padding:14px 12px}th{color:#65716c;text-transform:uppercase;font-size:.78rem;font-weight:600}td span{color:#65716c;margin-top:3px;font-size:.82rem;display:block}.danger-row{background:#fff8f4}.badge{color:#41504a;text-transform:uppercase;background:#e8ece6;align-items:center;width:fit-content;min-height:24px;padding:0 9px;font-size:.78rem;display:inline-flex}.badge.ok,.badge.active,.badge.low{color:#1f5c45;background:#e3f1e8}.badge.high,.badge.degraded,.badge.medium{color:#8a5200;background:#fff1d8}.badge.critical,.badge.error,.badge.disabled{color:#9b2c2c;background:#ffe5df}.empty-row{color:#65716c;text-align:center;height:140px}.export-panel{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.export-panel a{min-width:160px;padding:0 18px}.export-panel p{color:#65716c}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:0;position:static}.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar nav button{justify-content:center;min-width:0}.sidebar nav button svg{flex:none}.metric-row,.split-view,.filterbar{grid-template-columns:1fr 1fr}}@media (width<=640px){.workspace{padding:22px 16px 34px}.topbar{flex-direction:column;align-items:flex-start}.sidebar nav{grid-template-columns:1fr 1fr}.metric-row,.filterbar,.split-view{grid-template-columns:1fr}.metric{border-bottom:1px solid #dfe5dc;border-right:0}.metric:last-child{border-bottom:0}}
