:root{--bg:#f4f6f8;--card:#fff;--text:#1d2733;--muted:#66727f;--line:#dde3e9;--blue:#0a5bb5;--ok:#138a4d;--tight:#c77700;--miss:#d0312d;color:var(--text);background:var(--bg);font-family:IBM Plex Sans Thai,Noto Sans Thai,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}body{max-width:760px;margin:0 auto;padding:12px 12px 40px}h1{margin:4px 0 0;font-size:1.35rem}h1 span{color:var(--muted);font-size:1rem;font-weight:500}h2{margin:0 0 8px;font-size:1.15rem}h3{margin:16px 0 6px;font-size:1rem}a{color:var(--blue)}.muted{color:var(--muted)}.small{font-size:12.5px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:10px 0;padding:12px}.controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.controls input,.controls select{width:100%}.controls label.switch input{flex:none;width:20px;height:20px}.controls label{color:var(--muted);flex-direction:column;gap:3px;font-size:13px;display:flex}.controls label.switch{color:var(--text);flex-direction:row;grid-column:1/-1;align-items:center;gap:8px}.controls .btns{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}input,select,button{font:inherit;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:7px;min-width:0;padding:7px 8px;font-size:16px}button{background:var(--blue);color:#fff;cursor:pointer;border:0;padding:8px 11px;font-size:14px}button#reset{background:#6b7785}input.bad{border-color:var(--miss);background:#fff1f0}input:disabled{color:var(--muted);background:#f1f3f5}.hint{margin:2px 4px}.summary{gap:2px;display:grid}.summary .big{font-size:2.1rem;font-weight:800;line-height:1.1}.summary .big small{color:var(--muted);font-size:1rem;font-weight:500}.ok{color:var(--ok)}.tight{color:var(--tight)}.miss{color:var(--miss)}.up{color:#b3261e}.dn{color:#1857b6}.warn{color:#8a4b00;background:#fff4e5;border-radius:6px;margin:6px 0 0;padding:8px 8px 8px 24px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:right;border-bottom:1px solid var(--line);padding:6px 4px}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-size:12px;font-weight:600}.band td{font-size:15px}.band tr.miss td.m,.band tr.tight td.m{font-weight:700}.band tr.miss{background:#fdecea}.band tr.tight{background:#fff6e0}.band tr.ok td.m{color:var(--ok)}.band tr.tight td.m{color:var(--tight)}.band tr.miss td.m{color:var(--miss)}.band tr.soft td.m{opacity:.75}.chart svg{width:100%;height:auto;display:block}.chart .area{fill:#cfe0f5}.chart .line{fill:none;stroke:var(--blue);stroke-width:2px}.chart .tick{stroke:#8795a5;stroke-dasharray:3 3}.chart text{fill:var(--text);font-size:17px}.chart .cp{font-weight:700}.chart .t{font-size:19px;font-weight:700}.chart .t.ok{fill:var(--ok)}.chart .t.tight{fill:var(--tight)}.chart .t.miss{fill:var(--miss)}.chart .km{fill:var(--muted);font-size:14px}.chart .pace{fill:#0b3d7a;font-size:15px;font-weight:600}.leg{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;margin:10px 0;padding:10px 12px}.leg.locked{border-left-color:var(--blue);background:#f5f9ff}.leg header .stats{margin:2px 0;font-size:13.5px}.leg .muted{font-size:13px}.edit{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;display:flex}.edit select{flex:170px}.edit>input{text-align:center;flex:0 100px;width:100px}.edit .stop{color:var(--muted);align-items:center;gap:4px;font-size:13px;display:flex}.edit .stop input{text-align:center;width:64px}dl{grid-template-columns:repeat(3,1fr);gap:6px 10px;margin:4px 0;display:grid}dl div{min-width:0}dt{color:var(--muted);font-size:11.5px}dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}dd small{color:var(--muted);font-weight:400}dl div.ok dd{color:var(--ok)}dl div.tight dd{color:var(--tight)}dl div.miss dd{color:var(--miss)}.svcs{flex-wrap:wrap;align-items:center;gap:2px;margin-top:3px;display:flex}.svc{font-size:18px;line-height:1}.svc.off{opacity:.2;filter:grayscale()}.tag{color:#1b6b3a;white-space:nowrap;background:#e6f4ea;border-radius:9px;margin-left:4px;padding:1px 6px;font-size:11.5px}.tag.no{color:#a12622;background:#fdecea}.tag.star{color:#7a5600;background:#fff4d6}.info .cut td{vertical-align:top}.info .cut .svcs{justify-content:flex-end}.info .cut .tag{display:none}.gear{margin:0;padding:0;list-style:none}.gear li{border-bottom:1px solid var(--line);padding:6px 0}.gear input{vertical-align:middle;width:20px;height:20px;margin-right:6px}footer{margin-top:20px;padding:0 4px}#toast{color:#fff;opacity:0;pointer-events:none;background:#1d2733;border-radius:20px;padding:8px 14px;transition:opacity .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#toast.show{opacity:.95}@media (width>=640px){.controls{grid-template-columns:repeat(3,minmax(0,1fr))}dl{grid-template-columns:repeat(6,1fr)}}@media print{.controls,.hint,.edit,button,#info{display:none}body{max-width:none}}
