:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17283f;background:#f0f4f8;font-size:16px;--navy:#10243c;--teal:#087e76;--line:#dce4ed;--muted:#62748a}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:.75rem 1rem;line-height:1.3;font-weight:600}button:disabled{cursor:wait;opacity:.6}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #4bbaa9;outline-offset:3px}input,textarea,select{width:100%;border:1px solid #c4d1df;border-radius:8px;padding:.8rem;background:#fff;color:#17283f}textarea{font-family:ui-monospace,monospace;font-size:.875rem;overflow-wrap:anywhere;resize:vertical}label{display:block;font-size:.9rem;font-weight:600;margin:1.15rem 0 .5rem}label input,label textarea{margin-top:.5rem}input[type=checkbox]{width:auto;margin:0 .7rem 0 0;accent-color:var(--teal)}fieldset{border:1px solid var(--line);border-radius:8px;margin:1.3rem 0;padding:.5rem 1rem 1rem}fieldset label{font-weight:400}.primary{background:var(--teal);color:white}.primary:hover{background:#06655f}.secondary{background:#eaf0f5;color:#223950}.danger{background:#b32f42;color:#fff}.icon{background:transparent;font-size:1.6rem;padding:.3rem .6rem}.wordmark{font-size:1.8rem;font-weight:800;letter-spacing:.18em}.wordmark span{display:block;font-size:.72rem;letter-spacing:.23em;margin-top:.35rem;font-weight:500;color:#89b9c7}.login-shell{min-height:100vh;display:grid;place-items:center;background:var(--navy);padding:1.5rem}.login-card{width:min(100%,420px);background:white;padding:2.5rem;border-radius:18px;box-shadow:0 30px 80px #06142366}.login-card .wordmark{color:var(--navy)}.login-card h1{font-size:1.55rem;margin:2.5rem 0 1.5rem}.login-card .primary{width:100%}.login-card .muted{text-align:center;font-size:.875rem}h1,h2,p{overflow-wrap:anywhere}h1{font-size:2rem;margin:.3rem 0}h2{font-size:1.15rem;margin:0}p{line-height:1.6}.muted,.footnote{color:var(--muted)}.error{color:#b02e43;min-height:1.3em;font-size:.9rem}aside{width:238px;background:var(--navy);color:white;position:fixed;inset:0 auto 0 0;padding:2.4rem 1.3rem;display:flex;flex-direction:column}.nav-label{font-size:.75rem;letter-spacing:.15em;color:#92a8bf;margin:3.2rem .8rem 1rem}nav{display:grid;gap:.5rem}nav button{display:flex;justify-content:space-between;background:transparent;color:#becdde;text-align:left;font-size:.9rem}nav button.active{background:#254258;color:#fff;border-left:3px solid #65d6c7}nav span{font-weight:400}.aside-bottom{margin-top:auto;display:grid;gap:1rem}.aside-bottom button{background:#1c344d;color:#d2e0eb;text-align:left}.version{font-size:.75rem;color:#96a9bd}main{margin-left:238px;padding:2.6rem 3.2rem;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.eyebrow{font-size:.75rem;letter-spacing:.16em;color:var(--teal);font-weight:700;margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:2rem 0}.metrics article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--teal);padding:1.25rem 1.5rem;border-radius:10px}.metrics span{display:block;font-size:.9rem;color:var(--muted)}.metrics strong{display:block;font-size:2rem;margin:.6rem 0}.metrics small{font-size:.75rem;color:var(--muted)}.surface{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.toolbar{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.toolbar p{margin:.45rem 0 0;font-size:.9rem;color:var(--muted)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}th{font-size:.8rem;font-weight:600;background:#f7f9fc;color:var(--muted);padding:1rem 1.2rem;border-block:1px solid var(--line);white-space:nowrap}td{padding:1.15rem 1.2rem;border-bottom:1px solid #eaf0f6;vertical-align:middle}td strong{display:block;font-size:.95rem}td small{display:block;color:var(--muted);font-size:.78rem;margin-top:.35rem}.actions{display:flex;gap:.4rem;flex-wrap:wrap}.actions button{font-size:.875rem;padding:.55rem .75rem;background:#eff4f8;color:#25506b}.badge{display:inline-block;padding:.35rem .6rem;border-radius:6px;font-size:.875rem;white-space:nowrap;background:#edf1f6;color:#65778a}.badge.good{background:#def3eb;color:#11624e}.badge.warn{background:#fff0d7;color:#805600}.badge.off{background:#f9e4e6;color:#962e41}footer{padding:1rem 1.5rem;color:var(--muted);font-size:.8rem;background:#fafcfe}.empty{padding:3rem 2rem;text-align:center;color:var(--muted);line-height:1.7}.footnote{font-size:.8rem;max-width:900px;margin-top:1.4rem}#notice{padding:1rem;background:#e2f1eb;border-radius:8px;margin-bottom:1rem}#notice.failure{background:#fce8ea;color:#9b2a3e}dialog{border:1px solid var(--line);border-radius:14px;width:min(580px,calc(100% - 2rem));padding:1.7rem;color:#17283f;box-shadow:0 24px 80px #051c3255}dialog::backdrop{background:#07172999;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.6rem;flex-wrap:wrap}.dialog-actions button{font-size:.9rem}dialog .muted{font-size:.8rem}dialog p{font-size:.9rem}[hidden]{display:none!important}@media(max-width:1000px){main{padding:2rem 1.5rem;margin-left:205px}aside{width:205px}.metrics{gap:.6rem}.metrics article{padding:1rem}}@media(max-width:700px){aside{position:static;width:auto;padding:1rem 1.2rem}.wordmark{font-size:1.3rem}.wordmark span,.nav-label,.aside-bottom .version{display:none}nav{display:flex;flex-wrap:wrap;margin-top:1rem}nav button{font-size:.85rem;padding:.7rem}nav span{margin-left:.7rem}.aside-bottom{position:absolute;right:1rem;top:.8rem}.aside-bottom button{font-size:.8rem}main{margin:0;padding:1.5rem 1rem}h1{font-size:1.7rem}.metrics{grid-template-columns:1fr}.metrics article{display:flex;align-items:center;gap:1rem}.metrics strong{font-size:1.5rem;margin:0 0 0 auto}.metrics small{display:none}.toolbar{align-items:flex-start;flex-direction:column;padding:1.2rem}.login-card{padding:2rem}header{margin:0}.toolbar .primary{width:100%}}
