:root{--ink:#173438;--muted:#647a7d;--cream:#f7f3e8;--teal:#147f88;--line:#dce5e1;--ok:#248a63;--bad:#bd5b4b}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;line-height:1.6}header,main{max-width:980px;margin:auto;padding:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px}.back{color:var(--teal);font-weight:800}.badge{background:#fff1bd;padding:6px 12px;border-radius:99px;font-size:13px;font-weight:800}h1{font-size:clamp(32px,6vw,58px);line-height:1.05;margin:.3em 0}.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;margin:18px 0;box-shadow:0 10px 30px #1734380a}.toolbar{display:flex;gap:10px;flex-wrap:wrap}button{border:0;border-radius:12px;padding:12px 18px;background:var(--teal);color:white;font:inherit;font-weight:800;cursor:pointer}button.secondary{background:#e9f2f0;color:var(--ink)}button.danger{background:var(--bad)}button:disabled{opacity:.45;cursor:not-allowed}input,select{border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;max-width:100%}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.state{background:#eff8f5;border-left:5px solid var(--teal);padding:14px;border-radius:10px;white-space:pre-line}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{background:#eff8f5;border-radius:16px;padding:18px}.metric b{display:block;font-size:28px;color:var(--teal)}.status{display:inline-flex;align-items:center;gap:7px;font-weight:800}.dot{width:10px;height:10px;border-radius:50%;background:var(--ok)}.dot.bad{background:var(--bad)}.toast{position:fixed;right:20px;bottom:20px;background:#173438;color:white;padding:14px 18px;border-radius:12px;opacity:0;transform:translateY(10px);transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:720px){.grid{grid-template-columns:1fr}.top{align-items:flex-start}table{font-size:13px}th.optional,td.optional{display:none}}
