:root{--bg:#07131f;--card:#0d2030;--text:#f5f8fa;--muted:#9fb2c2;--line:#244158;--accent:#169bd5;--danger:#d85d65;color-scheme:dark}:root[data-theme=light]{--bg:#eef3f7;--card:#fff;--text:#102a3d;--muted:#5c7080;--line:#cbd9e3;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px Inter,Segoe UI,Arial,sans-serif}.app{max-width:680px;margin:auto;padding:18px}.head,.toolbar,.status,.taskhead,.actions{display:flex;align-items:center}.head,.toolbar,.status,.taskhead{justify-content:space-between}.brand{font-size:22px;font-weight:850}.muted,small{color:var(--muted)}button,.button,input{font:inherit}.panel,.status,.task{margin:16px 0;border:1px solid var(--line);background:var(--card);border-radius:16px}.panel{padding:18px}.status{padding:14px}.toolbar h2{margin:8px 0}label{display:block;margin:12px 0;font-weight:700}input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text)}button,.button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:10px 12px;text-decoration:none}.primary,.pillbtn.online{background:var(--accent);border-color:var(--accent);color:#fff}.full{width:100%;margin-top:18px}.error,.bad{color:#ff858c;margin-top:10px}.notice{padding:10px 12px;border:1px solid var(--line);border-radius:10px}.task{overflow:hidden}.taskhead{width:100%;border:0;border-radius:0;padding:15px;text-align:left}.taskhead span:first-child{display:grid;gap:4px}.badge{font-size:12px;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-weight:800}.details{display:none;padding:0 15px 15px;border-top:1px solid var(--line)}.task.open .details{display:block}.route h3{margin:14px 0 6px}.route p{margin:4px 0 10px}.detailrow{display:grid;grid-template-columns:minmax(105px,32%) 1fr;gap:10px;padding:7px 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.detailrow b{font-size:13px}.detailrow span{white-space:pre-wrap;overflow-wrap:anywhere}.actions{gap:8px;flex-wrap:wrap;margin-top:14px}.actions>*{flex:1 1 130px;text-align:center}@media(max-width:420px){.app{padding:12px}.actions>*{flex-basis:100%}.detailrow{grid-template-columns:1fr;gap:2px}}
