:root{--bg:#f4f6f8;--card:#fff;--ink:#17202a;--muted:#64748b;--line:#dbe2ea;--accent:#0f766e;--accent-soft:#ecfdf5;--warn:#a16207;--warn-bg:#fff7ed;--danger:#b91c1c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}header{position:sticky;top:0;z-index:20;background:#111827;color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.brand{color:#fff;text-decoration:none;font-weight:700}main{max-width:900px;margin:auto;padding:14px}h1{font-size:1.4rem;margin:6px 0}h2{font-size:1.05rem;margin:3px 0;line-height:1.45}.toolbar,.triphead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.button,button{min-height:38px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;color:var(--ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.subtle{font-weight:500;color:var(--muted)}input,select{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;color:var(--ink);font:inherit}.panel,.tripcard,.stop{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px #0000000a}.panel{padding:18px}.narrow{max-width:420px;margin:12vh auto}.panel form{display:grid;gap:12px}.panel input{width:100%;padding:10px;margin-top:5px}.triplist{display:grid;gap:10px}.tripcard{padding:15px;display:flex;justify-content:space-between;text-decoration:none;color:var(--ink)}.tripcard span{color:var(--muted);font-size:.9rem}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs a{padding:5px 9px;border-radius:999px;text-decoration:none;color:var(--muted);background:#fff;border:1px solid var(--line)}.tabs a.active{background:#111827;color:#fff}.summary{display:grid;gap:3px;text-align:right;font-size:.82rem;color:var(--muted)}.summary b{color:var(--ink)}.delay{font-size:1.15rem;font-weight:800;color:var(--accent)}.delay.late{color:var(--danger);background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;padding:2px 6px}.undo{text-align:right;margin:8px 0}.legend{font-size:.78rem;color:var(--muted);margin:8px 2px}.stops{display:grid;gap:0}.stop{padding:12px}.stop.skipped{opacity:.58}.stop-top{display:flex;gap:10px}.order form{display:grid;grid-template-rows:30px 30px 30px;align-items:center;text-align:center}.order button{min-height:30px;padding:1px 8px;font-size:.8rem}.order span{font-weight:800}.stop-name{min-width:0}.type{font-size:.7rem;background:#eef2f7;padding:2px 6px;border-radius:999px}.stop-name small{color:var(--muted)}.stay-label{font-weight:600;color:#475569}.service-label{display:inline-block;font-weight:600;color:#7c3aed}.times{display:grid;grid-template-columns:1fr 1fr .62fr;gap:6px;margin:10px 0}.times div{background:#f8fafc;border-radius:9px;padding:7px;min-width:0}.times .delay-cell.late{background:#fff1f2;border:1px solid #fecdd3;color:var(--danger)}.times label{display:block;font-size:.68rem;color:var(--muted)}.times b{font-size:.88rem;line-height:1.5}.warn{background:var(--warn-bg);color:var(--warn);border:1px solid #fed7aa;border-radius:8px;padding:7px;font-size:.82rem;margin:5px 0}.actions{display:grid;gap:9px}.statusform{display:flex;gap:5px;flex-wrap:wrap}.statusform button.selected{background:#111827;color:#fff}.actual{border-top:1px solid var(--line);padding-top:9px}.actual-now{display:flex;justify-content:space-between;gap:8px;align-items:center}.actual-now form{display:flex;gap:5px;flex-wrap:wrap}.actual-now small{color:var(--muted);font-size:.74rem;text-align:right}.actual-edit,.stay-edit{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.actual-edit summary,.stay-edit summary,.segment-edit summary{color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;list-style-position:inside}.actual-manual{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:9px}.actual-manual label,.stay-edit label,.segment-forms label{display:grid;gap:4px;color:var(--muted);font-size:.75rem}.actual-manual input{min-width:130px}.clear-actual{margin-top:7px}.clear-actual button{font-size:.8rem}.stay-edit form{display:flex;align-items:end;gap:8px;margin-top:8px}.stay-edit input{width:150px}.segment{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:stretch}.segment-track{position:relative;min-height:80px}.segment-track:before{content:"";position:absolute;left:22px;top:0;bottom:0;width:2px;background:#a7b4c4}.segment-track span{position:absolute;left:16px;top:50%;width:14px;height:14px;border:3px solid var(--bg);border-radius:50%;background:var(--accent);transform:translateY(-50%)}.segment-card{align-self:center;margin:8px 0;padding:9px 11px;background:#edf3f7;border:1px solid var(--line);border-radius:11px}.segment-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.segment-head>div{display:grid;gap:2px;min-width:0}.segment-head b{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segment-head span{font-size:.76rem;color:var(--muted)}.segment-edit{flex:0 0 auto}.segment-edit[open]{width:100%}.segment-forms{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.segment-forms form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px}.segment-forms input,.segment-forms select{width:100%}.segment-missing .segment-track span{background:var(--warn)}.segment-missing .segment-card{background:var(--warn-bg);border-color:#fed7aa}.segment-recovery{border-top:1px solid #fed7aa;margin-top:8px;padding-top:8px;color:var(--warn)}.segment-recovery>b{display:block;font-size:.82rem;margin-bottom:7px}.segment-recovery form{display:flex;align-items:end;gap:7px;flex-wrap:wrap}.segment-recovery label{display:flex;align-items:center;gap:5px;font-size:.78rem}.segment-recovery input{width:88px}.flash{background:var(--warn-bg);border:1px solid #fed7aa;padding:10px;border-radius:10px;margin-bottom:10px}@media(max-width:620px){main{padding:9px}.triphead{align-items:flex-start}.summary{min-width:98px}.times{grid-template-columns:1fr 1fr .62fr}.times b{font-size:.8rem}.actual-now{align-items:flex-start;flex-direction:column}.actual-now small{text-align:left}.statusform button{flex:1}.stop{padding:10px}.segment{grid-template-columns:34px minmax(0,1fr)}.segment-track:before{left:16px}.segment-track span{left:10px}.segment-head{align-items:flex-start;flex-direction:column;gap:5px}.segment-edit{width:100%}.segment-forms{grid-template-columns:1fr}.actual-manual,.stay-edit form{align-items:stretch;display:grid;grid-template-columns:1fr auto}.actual-manual label{min-width:0}.actual-manual input{min-width:0;width:100%}.actual-manual button{align-self:end}.clear-actual{display:block}.clear-actual button{width:100%}}@media(max-width:390px){.times{grid-template-columns:1fr 1fr}.times div:last-child{grid-column:1/-1}.times div:last-child b{font-size:.92rem}.actual-manual,.stay-edit form{grid-template-columns:1fr}.actual-now form,.actual-now form button{width:100%}.segment-recovery form{align-items:stretch;display:grid}.segment-recovery label{justify-content:space-between}.segment-recovery input{width:110px}}
