:root{--bg: #f6f7f9;--card: #ffffff;--text: #1d2430;--muted: #5d6676;--line: #dfe3ea;--accent: #1f5fae;--accent-text: #ffffff;--bad: #a12a2a;--warn-bg: #fff6dd;--on: #e5effa;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--bg: #14171c;--card: #1c2027;--text: #e7eaf0;--muted: #9aa3b2;--line: #2e3440;--accent: #6aa5ec;--accent-text: #0d1117;--bad: #ef8a8a;--warn-bg: #3a3218;--on: #22344d}}body{margin:0;background:var(--bg)}header{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--card)}main{max-width:720px;margin:0 auto;padding:16px}.grow{flex:1}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin-bottom:16px}.narrow{max-width:480px;margin:32px auto}h1{font-size:1.4rem}h2{font-size:1.15rem;margin-top:0}h3{font-size:1rem;margin:18px 0 6px}h4{margin:8px 0 4px;font-size:.9rem}label{display:block;margin:10px 0;font-size:.9rem}input{display:block;width:100%;box-sizing:border-box;padding:8px 10px;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text);font:inherit}button{font:inherit;padding:7px 14px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.link{border:none;background:none;color:var(--accent);padding:0}.row{display:flex;gap:8px;align-items:center}.row input{margin:0}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--bad)}.dev{color:var(--muted);font-size:.8rem;border-top:1px dashed var(--line);margin-top:16px;padding-top:8px}.banner{background:var(--warn-bg);border:1px solid var(--line);padding:10px 14px;border-radius:8px}.banner.bad{color:var(--bad)}.code{font-family:ui-monospace,Menlo,monospace;font-size:1.3rem;letter-spacing:.05em;background:var(--bg);padding:10px;border-radius:6px;word-break:break-all}.code.small{font-size:.85rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);font-size:.9rem}.studies{list-style:none;padding:0}.studies li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.modal{position:fixed;inset:0;background:#0006;display:grid;place-items:center;padding:16px}.modal .card{max-width:420px;text-align:center}.packet{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media(max-width:900px){.packet{grid-template-columns:1fr}}.lines{list-style:none;padding:0;margin:0}.lines li{padding:6px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.meta{color:var(--muted);font-size:.8rem}.rules{padding-left:20px}.rules li{margin-bottom:14px}.rules p{margin:0 0 6px}.pill{display:inline-flex;gap:4px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin:0;font-size:.8rem;cursor:pointer}.pill input{display:none}.pill.on{background:var(--on);border-color:var(--accent)}.note{font-size:.85rem;margin-top:6px}.rules li.leadin{list-style:none;margin-left:-20px;font-weight:600;margin-bottom:4px}.rules li.sub{margin-left:18px}main{padding:12px}.narrow.wide{max-width:640px}.narrow{margin:16px auto}textarea{display:block;width:100%;box-sizing:border-box;padding:8px 10px;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text);font:inherit}.badge{display:inline-block;font-size:.8rem;padding:2px 8px;border-radius:999px;background:var(--on);color:var(--accent);border:1px solid var(--accent)}.invite{background:var(--on);border:1px solid var(--accent);border-radius:8px;padding:10px 14px;margin-bottom:14px}.card.invite{border-radius:10px}.sources{display:grid;gap:8px;margin:12px 0}.sources button{text-align:left;padding:12px 14px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;margin:0;display:inline}.confirm{background:var(--warn-bg);border-radius:8px;padding:8px 12px;margin-top:6px}button.danger{background:var(--bad);color:#fff;border-color:var(--bad)}.nav{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.lines li.warn span:first-child{color:var(--bad)}.ok{color:#1d7a3a;font-size:.85rem}.toggles li{flex-direction:row}.banner{max-width:640px;margin:12px auto 0}hr{border:none;border-top:1px solid var(--line);margin:14px 0}@media print{header,.no-print,.banner{display:none!important}body,main{background:#fff}.print-area{border:none}}.photos{margin:1rem 0}input[hidden]{display:none}.photo-list{list-style:none;padding:0;margin:.75rem 0;display:grid;gap:.6rem}.photo-list li{display:grid;grid-template-columns:64px 1fr auto;gap:.6rem;align-items:center}.photo-list img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.photo-list input:not([type=checkbox]){width:100%}.photo-list.pick li{grid-template-columns:1fr}.photo-list.pick label{display:grid;grid-template-columns:auto 64px 1fr;gap:.6rem;align-items:center}.photo-strip{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.photo-strip li{display:grid;gap:.2rem;width:96px}.photo-strip img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.identity{margin:.5rem 0 1rem;padding:.75rem;border-radius:10px;background:var(--on, #e5effa)}select{display:block;width:100%;box-sizing:border-box;padding:8px 10px;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text);font:inherit}.office-search .row label{margin:6px 0}.office-results button.link{text-align:left;font-weight:600}.accept{align-items:flex-start}.accept input{margin-top:3px}.signature canvas{display:block;width:100%;height:auto;aspect-ratio:480 / 140;background:#fff;border:1px dashed var(--muted);border-radius:8px;touch-action:none}.signature p{margin:4px 0 0}.requests li .row{margin:6px 0}.office-contact span{margin-right:10px}.doc-list{list-style:none;padding:0;margin:.75rem 0;display:grid;gap:.6rem}.doc-list li{display:grid;grid-template-columns:44px 1fr auto;gap:.6rem;align-items:center}.doc-icon{width:44px;height:54px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:.7rem;font-weight:700;color:var(--bad);background:var(--card)}.doc-icon:before{content:"PDF"}.doc-main{display:grid;gap:2px}.doc-main input{margin:0}.doc-actions{display:grid;gap:4px;justify-items:end}ul.error{padding-left:18px}.row>label.grow,.row>label{min-width:0}.row>label.grow{flex:1 1 0}input[type=date]{min-width:0;max-width:100%}.subway{list-style:none;padding:0;margin:16px 0 0;position:relative}.subway .station{position:relative;padding:0 0 18px 34px}.subway .station:before{content:"";position:absolute;left:10px;top:4px;bottom:-4px;width:4px;background:var(--accent);border-radius:2px}.subway .station.end:before{display:none}.subway .station .dot{position:absolute;left:3px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--card);border:4px solid var(--accent);box-sizing:border-box}.subway .station.done .dot{background:var(--accent)}.subway .station.partial .dot{border-color:#c98a12;background:#f5d27a}.subway .station.failed .dot{border-color:var(--bad);background:var(--card)}.subway .station.next .dot{box-shadow:0 0 0 4px var(--on)}.subway .station.junction .dot{border-radius:4px;transform:rotate(45deg)}.subway .station.end .dot{width:22px;height:22px;left:1px;border-width:5px}.subway .station-body h3{margin:0 0 2px}.subway .station-body>.meta.station-summary{margin:0 0 6px}.subway .station-body .sources{margin:8px 0}.subway .station-body .photos{margin:.4rem 0 .8rem}.subway .station-body .photos h3{font-size:.95rem}.subway .line-label{position:relative;padding:2px 0 12px 34px}.subway .line-label:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:4px;background:repeating-linear-gradient(var(--accent) 0 6px,transparent 6px 10px)}.subway .line-label span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.subway .line-label.manual~.station:before{background:#7a5bb5}.subway .line-label.manual~.station .dot{border-color:#7a5bb5}.subway .line-label.manual~.station.done .dot{background:#7a5bb5}.subway .line-label.manual~.station.end .dot{border-color:var(--accent)}.subway .line-label.manual:before{background:repeating-linear-gradient(#7a5bb5 0 6px,transparent 6px 10px)}.gap-reasons{margin:6px 0 8px;padding-left:18px;font-size:.88rem}#junction-verdict{margin:4px 0 6px}.subway.mini{margin:6px 0 10px}.subway.mini .station{padding:0 0 10px 30px;font-size:.9rem}.subway.mini .station:last-child:before{display:none}.subway.mini .station .dot{width:14px;height:14px;border-width:3px;left:5px;top:3px}.subway.mini .station:before{left:10px;width:3px}.subway.mini .station:nth-child(n+3):before{background:#7a5bb5}.subway.mini .station:nth-child(n+3) .dot{border-color:#7a5bb5}.subway.mini .station.done:nth-child(n+3) .dot{background:#7a5bb5}:root{--field-line: #7d8696;--ok: #1d7a3a;--manual: #6a4aa8}@media(prefers-color-scheme:dark){:root{--field-line: #7d8696;--ok: #5cc98a;--manual: #a98be0}}body{font-size:17px;line-height:1.45}.small{font-size:.9375rem}.meta{font-size:.875rem}label{font-size:1rem}.badge,.pill{font-size:.875rem}.ok{color:var(--ok);font-size:.9375rem}input,select,textarea{border-color:var(--field-line);min-height:44px;font-size:1rem}button{min-height:44px;padding:10px 16px;border-color:var(--field-line)}button.primary{border-color:var(--accent)}button.link{min-height:44px;padding:10px 4px}button.link.small{font-size:.9375rem}button.danger{border-color:var(--bad)}@media(prefers-color-scheme:dark){button.danger{color:#14171c}}.check input,input[type=radio],input[type=checkbox]{width:24px;height:24px;min-height:24px;flex:none;accent-color:var(--accent)}.check{gap:10px;padding:4px 0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hint{color:var(--muted);font-size:.9375rem;margin:6px 0 0;text-align:right}details.more{margin:8px 0}details.more>summary{cursor:pointer;color:var(--accent);min-height:44px;display:flex;align-items:center;font-size:1rem}details.card>summary{cursor:pointer;font-weight:600;font-size:1.05rem;min-height:44px;display:flex;align-items:center}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.chips button[aria-pressed=true]{background:var(--on);border-color:var(--accent);color:var(--accent);font-weight:600}.fork{background:var(--on);border-radius:10px;padding:12px 14px;margin:12px 0 4px}.fork p{margin:0 0 8px;font-weight:600}.fork .row{flex-wrap:wrap}.subway .line-label span{font-size:.875rem}.subway .station-body>h2{font-size:1.1rem;margin:0 0 2px}.subway .station.partial .dot{border-color:#8a5a00}.subway .line-label.manual~.station:before{background:var(--manual)}.subway .line-label.manual~.station .dot{border-color:var(--manual)}.subway .line-label.manual~.station.done .dot{background:var(--manual)}.subway .line-label.manual:before{background:repeating-linear-gradient(var(--manual) 0 6px,transparent 6px 10px)}.subway.mini .station:nth-child(n+3):before{background:var(--manual)}.subway.mini .station:nth-child(n+3) .dot{border-color:var(--manual)}.subway.mini .station.done:nth-child(n+3) .dot{background:var(--manual)}.photo-list label.title,.doc-main label.title{margin:0;font-size:.9375rem}.office-results li{gap:4px}.doc-list li .doc-confirm{grid-column:1 / -1}.office-results li>span:last-child{margin-top:4px}h1[tabindex="-1"]:focus{outline:none}.journey-wrap{margin:-4px -8px 12px}.journey{--n: 6;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));list-style:none;padding:0;margin:0}.journey li{position:relative}.journey li:before{content:"";position:absolute;top:19px;left:-50%;width:100%;height:4px;background:var(--accent)}.journey li:first-child:before{display:none}.journey li.manual:before,.journey li.manual+li:before{background:repeating-linear-gradient(90deg,var(--manual) 0 6px,transparent 6px 10px)}.journey button{position:relative;width:100%;min-height:64px;padding:8px 2px 4px;border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text)}.journey button:disabled{opacity:1;color:var(--muted);cursor:default}.journey .dot{width:22px;height:22px;border-radius:50%;border:4px solid var(--accent);background:var(--card);box-sizing:border-box;flex:none}.journey li.done .dot{background:var(--accent)}.journey li.partial .dot{border-color:#8a5a00;background:#f5d27a}.journey li.failed .dot{border-color:var(--bad)}.journey li.manual .dot{border-color:var(--manual)}.journey li.manual.done .dot{background:var(--manual)}.journey li.optional .dot{border-style:dashed}.journey li[data-stop=missing] .dot{border-radius:4px;transform:rotate(45deg);width:20px;height:20px}.journey li.here .dot{box-shadow:0 0 0 5px var(--on),0 0 0 7px var(--accent)}.journey .jlabel{font-size:.875rem;line-height:1.15;text-align:center;overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual}.journey li.here .jlabel{font-weight:700;color:var(--accent)}.journey-card{padding:8px 12px 4px}.journey-wrap{margin:-4px -14px 12px}.journey .jlabel{font-size:.8125rem;padding:0 1px}.journey li.here .jlabel{font-weight:600;text-decoration:underline;text-underline-offset:3px}@media(min-width:420px){.journey .jlabel{font-size:.875rem}}.paper{background:#fff;color:#14181f;border:1px solid var(--field-line);border-radius:6px;padding:22px 20px;margin:14px 0;box-shadow:0 2px 10px #00000014;font-size:.95rem;line-height:1.45}.paper p{margin:0 0 6px}.paper h2{font-size:1.05rem;margin:12px 0 4px}.paper h3{font-size:.95rem;margin:10px 0 2px}.paper-from{font-size:.85rem;margin-bottom:18px}.paper-to{margin:0 0 18px 6%;padding:8px 10px;border:1px dashed #b9c0cc;border-radius:4px;width:fit-content;max-width:90%}.paper-sign{margin-top:16px}.paper-sign img{height:48px;display:block;margin-bottom:4px}#records-line .station[data-station=office]:before{background:var(--manual)}#records-line .station[data-station=office] .dot,#records-line .station[data-station=paper] .dot{border-color:var(--manual)}#records-line .station.done[data-station=office] .dot,#records-line .station.done[data-station=paper] .dot{background:var(--manual)}.another{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}
