:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#f0efe9;--text:#1f2421;--muted:#5f6763;--border:#dfddd4;--accent:#2f5d50;--accent-ink:#fff;--good:#1d7a46;--bad:#b3261e;--warn:#8a5a00;--warn-bg:#fff4d6;--info-bg:#e8f0fb;--bad-bg:#fde8e6;--good-bg:#e3f4ea;--radius:10px;--shadow:0 1px 2px #0000000d, 0 2px 8px #0000000a;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--bg:#141715;--surface:#1c201e;--surface-2:#242926;--text:#e8ebe9;--muted:#a4ada8;--border:#333a36;--accent:#6fb39c;--accent-ink:#0d1411;--good:#6fcf97;--bad:#ff8a80;--warn:#f2c14e;--warn-bg:#3a3017;--info-bg:#1b2a3d;--bad-bg:#3d1f1d;--good-bg:#173123}}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent)}h1{margin:0;font-size:20px}h2{margin:0 0 10px;font-size:16px}h3{margin:0 0 8px;font-size:14px}.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.stack>*+*{margin-top:16px}header.top{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;padding:10px 16px;position:sticky;top:0}header.top nav{flex-wrap:wrap;gap:4px;display:flex}header.top nav a{color:var(--muted);border-radius:8px;padding:6px 10px;font-weight:500;text-decoration:none}header.top nav a.active{background:var(--surface-2);color:var(--text)}.envtag{background:var(--warn-bg);color:var(--warn);text-transform:uppercase;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:600}main{max-width:1180px;margin:0 auto;padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}button,.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;text-decoration:none;display:inline-flex}button:hover,.btn:hover{background:var(--surface-2)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.danger{color:var(--bad)}button:disabled{opacity:.5;cursor:not-allowed}button.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;max-width:100%;padding:6px 8px}label{color:var(--muted);gap:4px;font-size:12px;display:grid}.seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{border:0;border-radius:0}.seg button.on{background:var(--accent);color:var(--accent-ink)}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 8px}th{color:var(--muted);font-size:12px;font-weight:600}.scroll{overflow-x:auto}tr.biz td{background:var(--surface-2);font-weight:600}tr.total td{font-size:16px;font-weight:700}tr.detail td:first-child{padding-left:28px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}.fav{color:var(--good)}.unfav{color:var(--bad)}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-block}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.good{background:var(--good-bg);color:var(--good)}.badge.info{background:var(--info-bg);color:var(--accent)}.notice{background:var(--info-bg);border-radius:8px;padding:10px 12px}.notice.warn{background:var(--warn-bg)}.notice.bad{background:var(--bad-bg)}.modal-back{z-index:20;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:1000px;max-height:90vh;padding:18px;overflow:auto}pre{background:var(--surface-2);border-radius:8px;max-height:360px;padding:10px;font-size:12px;overflow:auto}.login{max-width:360px;margin:12vh auto}.steps li{margin-bottom:10px}.kpi{font-size:26px;font-weight:700}@media (width<=640px){main{padding:10px}th,td{padding:6px 4px}.hide-sm{display:none}}
