:root{font-family:system-ui,sans-serif;color:#173945;background:#eef4f2;font-size:15px}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:235px 1fr;min-height:100vh}aside{background:#123d49;color:#effbf8;padding:25px 18px;position:sticky;top:0;height:100vh}a{color:#117a7d}aside a{color:inherit;text-decoration:none;display:block;padding:12px}.brand{font-size:25px;font-weight:800}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:8px}nav{margin:30px 0}nav button{display:block;width:100%;text-align:left;background:transparent;color:#deeeeb;border:0;margin-bottom:5px}nav button.active{background:#286472;color:white}main{padding:32px;max-width:1400px;width:100%}header{display:flex;align-items:center;justify-content:space-between}header small{letter-spacing:2px;font-size:11px}h1{font-size:32px;margin:8px 0}h2{margin:0 0 15px}h3{margin-top:0}button,input,select,textarea{font:inherit;border-radius:10px;border:1px solid #b8cfcd;padding:11px;min-height:44px}button{cursor:pointer;background:#fff;color:#164955;margin:4px}button:hover{background:#e0f4ec}button.danger{color:#a13e37}button:disabled{opacity:.55;cursor:default}input,select,textarea{max-width:100%;background:#fff}label{display:block;margin:12px 0}label input:not([type=checkbox]),label textarea,label select{display:block;width:100%;margin-top:6px}textarea{min-height:100px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px}.card,article{background:white;border:1px solid #d4e3de;border-radius:16px;padding:20px;margin-bottom:15px;overflow-wrap:anywhere}.metric strong{display:block;font-size:35px;color:#0b777b}.pill{display:inline-block;border-radius:20px;background:#e4f5ee;padding:5px 10px;margin-bottom:10px}.muted,small{color:#53727b}aside small{color:#bbd5d7}.warning{padding:16px;background:#fff3de;border-radius:12px}details{margin:12px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere}#status{padding:12px 0}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:10px;border-bottom:1px solid #ddd}.table-wrap{overflow:auto}.actions{display:flex;flex-wrap:wrap;gap:5px}@media(max-width:760px){body{display:block}aside{position:static;height:auto;padding:12px}nav{display:flex;overflow:auto;margin:12px 0}nav button{width:auto;white-space:nowrap}aside>a:not(.brand){display:inline-block}main{padding:18px}h1{font-size:26px}}
:root [hidden]{display:none!important}

/* Release 140: the menu has grown past one screen; scroll it inside the dark sidebar instead of spilling onto the page. */
aside{overflow-y:auto;overscroll-behavior:contain}
