@font-face{font-family:DM;src:url('/admin/assets/dm-sans-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:Space;src:url('/admin/assets/space-grotesk-latin.woff2') format('woff2');font-display:swap}
:root{font-family:DM,Arial,sans-serif;color:#17201f;background:#f1f0eb;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}
.sidebar{background:#dfe6e2;border-right:1px solid #cbd4cf;padding:28px 18px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;font:700 22px Space,Arial,sans-serif;text-decoration:none;letter-spacing:-.07em;padding:0 8px}
.brand img{width:28px;height:28px}
.side-label,.eyebrow,.topbar-label,.topbar-right,.table-head,.metric-label{font:700 10px Space,Arial,sans-serif;letter-spacing:.12em}
.side-label{margin:50px 11px 16px;color:#6d7e78;display:flex;align-items:center;gap:8px}
.live-dot,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3d8d72}
nav{display:grid;gap:4px}
nav button{border:0;background:transparent;color:#41524c;text-align:left;display:flex;justify-content:space-between;width:100%;padding:12px 14px;border-radius:7px;font:600 13px DM,Arial,sans-serif}
nav button:hover{background:#d3ded8}
nav button.active{background:#17201f;color:#fff}
nav button span{opacity:.65;font:500 11px Space,Arial,sans-serif}
.side-foot{margin-top:auto;padding:0 6px}
.private-note{border-top:1px solid #c3cec8;padding:20px 6px;display:grid;gap:6px}
.private-note strong{font-size:12px}
.private-note span{font-size:11px;line-height:1.5;color:#697b73}
.text-button{padding:10px 6px;background:none;border:0;width:100%;text-align:left;font-weight:700;font-size:12px;display:flex;justify-content:space-between}
.main-wrap{min-width:0}
.topbar{height:63px;border-bottom:1px solid #d6d9d2;display:flex;align-items:center;justify-content:space-between;padding:0 42px;color:#6c7b74;background:#f5f5f0}
.topbar-right{display:flex;align-items:center;gap:10px}
.topbar-right #today{margin-left:22px;color:#89938d}
main{padding:44px 42px 70px;max-width:1580px;margin:0 auto}
.page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}
.eyebrow{color:#65857b;margin:0 0 12px}
h1,h2,h3,p{margin-top:0}
h1{font:500 clamp(32px,3.7vw,54px)/1.02 Space,Arial,sans-serif;letter-spacing:-.075em;margin-bottom:10px}
h2{font:500 27px/1.1 Space,Arial,sans-serif;letter-spacing:-.06em;margin-bottom:0}
h3{font:600 18px/1.2 Space,Arial,sans-serif;letter-spacing:-.04em;margin-bottom:7px}
.muted,.lead{color:#64746d}
.lead{font-size:13px;line-height:1.55;margin:0}
.head-actions,.toolbar-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
button.primary,button.secondary,.small-button{border:1px solid #17201f;border-radius:5px;padding:11px 15px;font:700 12px Space,Arial,sans-serif;display:inline-flex;align-items:center;gap:20px;justify-content:space-between;white-space:nowrap}
button.primary{background:#17201f;color:#fff}
button.primary:hover{background:#2c4840}
button.secondary,.small-button{background:transparent;color:#17201f}
button.secondary:hover,.small-button:hover{background:#e4e8e2}
button:disabled{opacity:.5;cursor:wait}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:32px}
.metric{background:#fff;border:1px solid #dfe1d9;border-radius:7px;padding:21px 22px;min-height:124px;display:flex;flex-direction:column;justify-content:space-between}
.metric-label{color:#7b8980}
.metric strong{font:500 38px/1 Space,Arial,sans-serif;letter-spacing:-.07em}
.metric span:last-child{color:#89938b;font-size:11px}
.section-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}
.panel{background:#fff;border:1px solid #dfe1d9;border-radius:7px;padding:23px;min-width:0}
.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.panel-heading span{color:#819087;font:700 10px Space,Arial,sans-serif;letter-spacing:.1em}
.stack{display:grid;gap:0}
.stack-item{padding:15px 0;border-top:1px solid #e9ece6;display:grid;gap:5px}
.stack-item:first-child{border-top:0;padding-top:0}
.stack-item strong{font-size:13px}
.stack-item span{font-size:12px;color:#697971;line-height:1.5}
.stack-item small{font:600 10px Space,Arial,sans-serif;color:#87948c}
.empty{padding:28px;background:#f7f8f5;border:1px dashed #cbd5cc;border-radius:6px;color:#65766d;font-size:13px;line-height:1.6}
.disclaimer{margin-top:18px}
.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}
.search{width:min(340px,100%);position:relative}
.search input,.filter-select{width:100%;border:1px solid #d4dad2;background:#fff;border-radius:5px;padding:11px 13px;color:#17201f;font-size:12px;outline:none}
.search input:focus,.filter-select:focus,input:focus,select:focus,textarea:focus{border-color:#6f9a87;box-shadow:0 0 0 3px #a4bdb133}
.filter-select{width:190px}
.table-wrap{overflow:auto;background:#fff;border:1px solid #dfe1d9;border-radius:7px}
table{border-collapse:collapse;width:100%;min-width:720px}
th{text-align:left;background:#f8f9f6;color:#76867b;border-bottom:1px solid #dfe1d9;padding:13px 17px;font:700 10px Space,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
td{padding:15px 17px;border-bottom:1px solid #edf0e9;font-size:12px;line-height:1.5;vertical-align:top;max-width:340px}
tr:last-child td{border-bottom:0}
tbody tr{cursor:pointer}
tbody tr:hover{background:#f7faf6}
.name-cell{font-weight:700;color:#17201f}
.subline{display:block;color:#849188;font-size:11px;margin-top:3px;font-weight:400}
.pill{display:inline-block;border-radius:40px;background:#eef0e7;padding:5px 8px;font:700 10px Space,Arial,sans-serif;white-space:nowrap;color:#586b5a}
.pill.unknown{background:#f2ede2;color:#806e4e}
.pill.good{background:#e3eee6;color:#386d4f}
.pill.warn{background:#f3e8e1;color:#8d5847}
.row-note{margin-top:12px;color:#809087;font-size:11px}
dialog{border:0;padding:0;border-radius:8px;box-shadow:0 20px 90px #0d1f1a55;width:min(790px,calc(100vw - 24px));max-height:min(90vh,900px);overflow:auto;background:#f7f8f4}
dialog::backdrop{background:#0c1b19a3}
dialog form{padding:26px}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #dce3da;padding-bottom:23px;margin-bottom:23px}
.icon-button{width:32px;height:32px;border:1px solid #d4ded5;border-radius:5px;background:transparent;font-size:24px;line-height:1}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:6px;min-width:0}
.field.wide{grid-column:1/-1}
label{font:700 11px Space,Arial,sans-serif;color:#51645a}
.field input,.field select,.field textarea,.login-card input{width:100%;border:1px solid #ced7cd;background:#fff;border-radius:5px;padding:10px 11px;color:#17201f;font-size:12px;outline:none}
.field textarea{min-height:90px;resize:vertical;line-height:1.5}
.field small{font-size:10px;color:#87948b}
.field a{font-size:11px;color:#376e5d;overflow-wrap:anywhere}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:21px;border-top:1px solid #dce3da;margin-top:20px}
.error{color:#a4382d;font-size:12px;min-height:1.3em;margin:10px 0 0}
#toast{position:fixed;right:22px;bottom:22px;background:#17201f;color:white;border-radius:5px;padding:12px 16px;font-size:12px;box-shadow:0 8px 30px #0003;opacity:0;transform:translateY(10px);transition:all .2s;pointer-events:none;z-index:20}
#toast.show{opacity:1;transform:translateY(0)}
.login-page{display:grid;place-items:center;padding:24px;background:#dfe6e2}
.login-card{width:min(440px,100%);background:#f6f7f2;padding:40px;border:1px solid #cbd4cb;border-radius:8px}
.login-card .brand{padding:0;margin-bottom:55px}
.login-card h1{font-size:37px}
.login-card .muted{line-height:1.6;font-size:13px;margin-bottom:30px}
.login-card form{display:grid;gap:9px}
.login-card .primary{margin-top:10px}
@media(max-width:900px){.shell{display:block}.sidebar{height:auto;position:static;padding:14px 18px}.sidebar .brand{margin-bottom:10px}.side-label,.side-foot{display:none}nav{display:flex;overflow:auto;padding-bottom:3px}nav button{white-space:nowrap;width:auto;gap:10px}.topbar{height:49px;padding:0 20px}main{padding:28px 20px 60px}.summary-grid{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}}
@media(max-width:560px){.topbar-right #today{display:none}.page-head{display:block}.head-actions{margin-top:20px}.toolbar{align-items:stretch;flex-direction:column}.search,.filter-select{width:100%}.summary-grid{gap:8px}.metric{padding:15px;min-height:100px}.metric strong{font-size:30px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}dialog form{padding:18px}h1{font-size:36px}.login-card{padding:28px}}
