:root{color-scheme:dark;font-family:Arial,Noto Sans TC,sans-serif;background:#101827;color:#e8eef8}body{margin:0}main{max-width:960px;margin:3rem auto;padding:0 1.25rem 2.5rem}button,input,select{font:inherit;padding:.55rem}button{cursor:pointer}label{display:grid;grid-gap:.4rem;gap:.4rem}.card,label{margin:1rem 0}.card{background:#1c2738;border:1px solid #334155;border-radius:.6rem;padding:1rem}.error{color:#fecaca}.muted{color:#aab8cc}.warning{color:#fde68a;line-height:1.6}nav{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}nav a,nav button{min-height:2.5rem}.metric-grid,.status-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.status-card{margin:0}.status-value{font-weight:700;font-size:1.1rem}.status-ok{border-color:#2f855a}.status-danger{border-color:#dc2626}.status-muted{border-color:#64748b}.status-text-ok{color:#86efac}.status-text-danger{color:#fca5a5}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid p{margin:0;display:grid;grid-gap:.3rem;gap:.3rem}.metric-grid strong{font-size:1.5rem}.metric-grid span,small{color:#aab8cc}small{display:block;margin-top:.25rem;overflow-wrap:anywhere}.key-heading{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.badge{border-radius:999px;font-size:.9rem;padding:.2rem .55rem;white-space:nowrap}.badge-ok{background:#14532d;color:#bbf7d0}.badge-muted{background:#334155;color:#cbd5e1}.filter-grid{display:grid;grid-gap:0 1rem;gap:0 1rem;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.filter-grid label{min-width:0}.filter-grid button{align-self:end;margin-bottom:1rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;min-width:900px;width:100%}td,th{border-bottom:1px solid #334155;padding:.7rem;text-align:left;vertical-align:top}th{white-space:nowrap}@media (max-width:700px){main{margin-top:1.5rem;padding-inline:1rem}.filter-grid,.metric-grid,.status-grid{grid-template-columns:1fr}.metric-grid{gap:.6rem}.metric-grid p{grid-template-columns:minmax(4rem,auto) 1fr;align-items:baseline}.filter-grid button{margin-bottom:0;width:100%}button,input,select{min-height:2.75rem}}