:root{--bg:#eef1f1;--surface:#ffffff;--raised:#f6f8f8;--ink:#17262a;--muted:#5f6f73;--line:#d9e1e0;--teal:#087f71;--teal-ink:#ffffff;--soft:#e4f3ee;--amber:#a35f00;--amber-soft:#fff1dc;--red:#b3261e;--red-soft:#fde9e7;--paper:#ffffff;--mark:#fff0b3;--shadow:0 10px 30px rgba(23,38,42,.12);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1719;--surface:#182124;--raised:#1e292c;--ink:#edf2f1;--muted:#9fb0b3;--line:#2a3639;--teal:#2fb59f;--teal-ink:#06201c;--soft:#163531;--amber:#f0b35a;--amber-soft:#3b2a10;--red:#ff8a80;--red-soft:#3d1f1c;--paper:#1b2427;--mark:#5a4a12;--shadow:0 10px 30px rgba(0,0,0,.5);color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1719;--surface:#182124;--raised:#1e292c;--ink:#edf2f1;--muted:#9fb0b3;--line:#2a3639;--teal:#2fb59f;--teal-ink:#06201c;--soft:#163531;--amber:#f0b35a;--amber-soft:#3b2a10;--red:#ff8a80;--red-soft:#3d1f1c;--paper:#1b2427;--mark:#5a4a12;--shadow:0 10px 30px rgba(0,0,0,.5);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.4}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:2px}input,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 1px}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:4;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:var(--surface);padding:0 max(0px,calc(50% - 320px)) env(safe-area-inset-bottom,0px)}.tabs button{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;color:var(--muted);text-align:center}.tabs button.on{color:var(--teal);font-weight:800}.tabs svg{width:23px;height:23px}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.title{font-size:25px;font-weight:800;letter-spacing:-.01em;text-wrap:balance}.hint{color:var(--muted);font-size:14px}.meta{color:var(--muted);font-size:15px}.back{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:700;min-height:40px;align-self:flex-start}.back svg{width:20px;height:20px}.head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end}.head>div{min-width:0}.statusline{display:flex;gap:6px 10px;align-items:center;color:var(--muted);font-size:15px;flex-wrap:wrap}.statusline strong{color:var(--ink)}.vbtn{padding:4px 10px;border-radius:999px;background:var(--raised);border:1px solid var(--line);font-size:14px;font-weight:600;min-height:32px}.dot{width:10px;height:10px;border-radius:50%;background:var(--teal);display:inline-block;animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--teal) 45%,transparent)}to{box-shadow:0 0 0 10px transparent}}@media(prefers-reduced-motion:reduce){.dot{animation:none}}.card{border:1px solid var(--line);border-radius:18px;background:var(--surface)}.card.pad{padding:16px}.card.list{padding:0 14px}.current{background:var(--soft);border-color:transparent;padding:16px;display:flex;flex-direction:column;gap:12px}.route{font-size:19px;font-weight:800;line-height:1.3}.route .arrow{color:var(--muted);font-weight:400}.target{display:flex;align-items:center;gap:6px;color:var(--teal);font-weight:700;font-size:15px;min-height:36px}.target svg{width:18px;height:18px}.big{min-height:64px;border-radius:16px;background:var(--teal);color:var(--teal-ink);font-size:20px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;text-align:center}.big.secondary{background:var(--surface);color:var(--ink);border:2px solid var(--line);font-size:17px;min-height:56px}.big.amber{background:var(--amber-soft);color:var(--amber);border:2px solid var(--amber);font-size:16px;min-height:56px;white-space:nowrap}.big svg{width:26px;height:26px;flex:none}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn{min-height:48px;padding:0 18px;border-radius:12px;background:var(--teal);color:var(--teal-ink);font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.btn.quiet{background:transparent;color:var(--teal)}.btn.outline{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}.btn.block{width:100%}.btn.danger{background:var(--red-soft);color:var(--red)}.btn.small{min-height:38px;padding:0 12px;font-size:14px;border-radius:10px}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn svg{width:20px;height:20px}.tl{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;min-height:56px;padding:8px 0;border-top:1px solid var(--line);width:100%;text-align:left}.tl:first-child{border-top:0}.tl .t{font-weight:800;font-size:15px}.tl .what{font-weight:700;font-size:15px;display:block}.tl .sub{color:var(--muted);font-size:14px;display:block}.seg{display:grid;grid-template-columns:46px 1fr;gap:10px;color:var(--muted);font-size:13px;padding:0 0 6px}.tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--soft);color:var(--teal);white-space:nowrap}.tag.miss{background:var(--amber-soft);color:var(--amber)}.tag.live{background:var(--teal);color:var(--teal-ink)}.tag.plain{background:transparent;border:1px solid var(--line);color:var(--muted)}.sectionhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:2px 0}.sectionhead h2{font-size:17px;font-weight:800}.sectionhead span{color:var(--muted);font-size:14px}.row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;min-height:60px;padding:11px 0;border-top:1px solid var(--line);width:100%;text-align:left}.row:first-child{border-top:0}.row strong{font-size:16px;min-width:0}.row .meta{grid-column:1;font-size:14px;min-width:0}.row .side{grid-row:1/3;grid-column:2;display:flex;align-items:center;gap:6px;color:var(--muted)}.row .side svg{width:18px;height:18px}.navrow{display:flex;align-items:center;gap:12px;min-height:56px;border-top:1px solid var(--line);width:100%;text-align:left}.navrow:first-child{border-top:0}.navrow .ic{width:36px;height:36px;border-radius:10px;background:var(--soft);color:var(--teal);display:grid;place-items:center;flex:none}.navrow .ic svg{width:20px;height:20px}.navrow .tx{flex:1;min-width:0}.navrow .tx small{display:block;color:var(--muted);font-size:13px}.navrow .chev{color:var(--muted)}.search{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;background:var(--surface);min-height:48px}.search svg{width:20px;height:20px;color:var(--muted);flex:none}.search input{border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:17px;min-height:44px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip{min-height:42px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:15px;background:var(--surface);white-space:nowrap}.chip.on{background:var(--teal);color:var(--teal-ink);border-color:var(--teal)}.chip.add{border-style:dashed;color:var(--muted)}.kv{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:15px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:700;text-align:right}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi{border:1px solid var(--line);border-radius:14px;padding:12px}.kpi strong{display:block;font-size:22px;font-weight:800}.kpi span{color:var(--muted);font-size:13px}.empty{padding:22px 8px;text-align:center;color:var(--muted)}.sheet{position:fixed;inset:0;justify-content:center;background:color-mix(in srgb,#000 45%,transparent);display:flex;align-items:flex-end;z-index:5}.panel{background:var(--surface);width:100%;max-width:640px;border-radius:22px 22px 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom,0px));max-height:94%;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.grab{width:44px;height:5px;border-radius:3px;background:var(--line);margin:0 auto}.panel h2{font-size:21px;font-weight:800}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.x{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted);flex:none}.x svg{width:22px;height:22px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.flabel{font-size:14px;font-weight:700;color:var(--muted)}.inputrow{display:flex;gap:8px;align-items:stretch}.input{flex:1;min-width:0;min-height:52px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font-size:19px;background:var(--surface);width:100%}.input.small{font-size:16px;min-height:48px}textarea.input{padding:12px 14px;min-height:76px;font-size:16px;resize:vertical}.nowbtn{min-height:52px;padding:0 16px;border-radius:12px;background:var(--soft);color:var(--teal);font-weight:800}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pick{display:flex;align-items:center;gap:10px;min-height:56px;border:1.5px solid var(--line);border-radius:12px;padding:6px 12px;background:var(--surface);width:100%;text-align:left}.pick .pv{flex:1;min-width:0}.pick .pv strong{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick .pv small{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick.empty .pv strong{color:var(--muted);font-weight:500}.pick svg{width:20px;height:20px;color:var(--muted);flex:none}.routeedit{display:flex;flex-direction:column;gap:8px}.rstop{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.rnum{width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--teal);font-weight:800;display:grid;place-items:center;font-size:14px}.rtools{display:flex;gap:2px}.ib{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--muted)}.ib svg{width:20px;height:20px}.ib[disabled]{opacity:.3}.photo{min-height:84px;border:2px dashed var(--teal);border-radius:16px;background:var(--soft);color:var(--teal);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.photo svg{width:30px;height:30px}.photo.done{border-style:solid;justify-content:flex-start;padding:0 14px;font-size:16px}.thumb{width:54px;height:54px;border-radius:10px;background:linear-gradient(135deg,#d9d2c3,#f6f1e6);border:1px solid var(--line);display:grid;place-items:center;font-size:10px;font-weight:700;color:#5a5245;flex:none}.segc{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--line);border-radius:12px;overflow:hidden}.segc button{min-height:46px;font-weight:700;text-align:center}.segc button.on{background:var(--teal);color:var(--teal-ink)}.gapitem{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--amber-soft);color:var(--amber);font-weight:600;min-height:48px;width:100%;text-align:left;font-size:15px}.gapitem.ok{background:var(--soft);color:var(--teal)}.gapitem svg{width:20px;height:20px;flex:none}.gapitem.soft{background:var(--raised);color:var(--muted)}.check{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 4px;font-weight:600}.check input{width:24px;height:24px;accent-color:var(--teal)}.picker{position:fixed;inset:0;max-width:640px;margin:0 auto;background:var(--surface);z-index:8;display:flex;flex-direction:column}.pickhead{display:flex;gap:8px;align-items:center;padding:12px 12px 10px;border-bottom:1px solid var(--line)}.pickhead .search{flex:1}.picklist{flex:1;overflow-y:auto;padding:4px 16px 24px}.pgroup{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:14px 0 4px}.popt{display:flex;flex-direction:column;justify-content:center;min-height:58px;padding:8px 0;border-top:1px solid var(--line);width:100%;text-align:left}.pgroup+.popt{border-top:0}.popt strong{font-size:16px}.popt small{color:var(--muted);font-size:13px}.popt.create strong{color:var(--teal)}.popt.sel strong:after{content:"  ✓";color:var(--teal)}.doc{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:18px 16px;display:flex;flex-direction:column;gap:16px;box-shadow:0 2px 0 var(--line)}.dochead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-bottom:2px solid var(--ink);padding-bottom:12px}.dochead h2{font-size:20px;font-weight:800}.dochead p{font-size:14px;color:var(--muted)}.stamp{border:2px solid var(--teal);color:var(--teal);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px;transform:rotate(-3deg);white-space:nowrap}.stamp.draft{border-color:var(--amber);color:var(--amber)}.docgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px;margin:0}.docgrid div{min-width:0}.docgrid dt{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.docgrid dd{margin:0;font-weight:800;font-size:16px}.docsec h3{font-size:16px;font-weight:800}.docsec .docsub{font-size:14px;color:var(--muted);margin-bottom:8px}.tablewrap{overflow-x:auto;margin:0 -4px}table{border-collapse:collapse;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:6px 4px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}td.r,th.r{text-align:right;white-space:nowrap}tfoot td{font-weight:800;border-bottom:0;border-top:2px solid var(--line)}td.miss{color:var(--amber);font-weight:700}.docnote{font-size:13.5px;color:var(--muted);margin-top:6px}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photos figure{margin:0;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.photos .thumb{width:100%;height:auto;aspect-ratio:3/4;max-width:100%;border-radius:4px;font-size:12px}.sign{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:18px}.sign div{border-top:1px solid var(--ink);padding-top:4px;font-size:12px;color:var(--muted)}.docfoot{font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}.bars{width:100%;height:auto;display:block}.bars text{fill:var(--muted);font-size:11px;font-family:var(--font)}.bars .val{fill:var(--ink);font-weight:700}.bars rect.b{fill:var(--teal)}.bars rect.today{fill:var(--amber)}.bars line{stroke:var(--line)}.toast{position:fixed;left:max(12px,calc(50% - 308px));right:max(12px,calc(50% - 308px));bottom:calc(72px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--surface);padding:10px 12px 10px 14px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;z-index:9;box-shadow:var(--shadow);font-size:15px}.toast button{color:var(--teal);font-weight:800;min-height:38px;padding:0 8px;filter:brightness(1.3)}.rrole{display:flex;gap:6px;margin:-2px 0 6px 36px;flex-wrap:wrap}.rmat{margin:-2px 0 10px 36px}.rmat .pick{min-height:48px}ol.steps .sm{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip.mini{min-height:34px;padding:0 12px;font-size:13px}ol.steps{list-style:none;margin:0;padding:0 0 2px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}ol.steps li{flex:none;border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:5px 10px;max-width:150px;min-width:0}ol.steps li.next{border-color:var(--teal);box-shadow:0 0 0 1.5px var(--teal)}ol.steps .sl{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}ol.steps li.next .sl{color:var(--teal)}ol.steps .sp{display:block;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.under{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.flip{color:var(--muted);font-weight:700;font-size:14px;min-height:36px;text-decoration:underline;text-underline-offset:3px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.big.tri{flex-direction:column;gap:4px;font-size:14px;min-height:70px;padding:6px 4px;white-space:normal;line-height:1.15}.big.tri svg{width:24px;height:24px}.dot.amberdot{background:var(--amber)}.tl .t small{display:block;font-weight:500;color:var(--muted);font-size:13px}.nextbox{display:flex;flex-direction:column;gap:2px;background:var(--surface);border-radius:12px;padding:10px 12px}.nextbox strong{font-size:18px}.nextbox .what{color:var(--muted);font-size:15px}.vinfo{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px 14px}.vinfo p{font-size:15px}.chip[disabled]{opacity:.4;cursor:not-allowed}button.seg{width:100%;text-align:left;min-height:32px;align-items:center}.seg .lbl{text-decoration:underline dotted;text-underline-offset:3px}#root{min-height:100dvh}.app{max-width:640px;margin:0 auto;min-height:100dvh;background:var(--surface);box-shadow:0 0 0 1px var(--line)}.screen{padding:16px max(16px,env(safe-area-inset-left,0px)) calc(96px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:14px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;white-space:nowrap;padding:10px 16px 0;padding-top:max(10px,env(safe-area-inset-top,0px));color:var(--muted);font-size:13px}.topbar>span:last-child{display:flex;gap:6px}.topbar .pill{padding:3px 9px;border-radius:999px;background:var(--amber-soft);color:var(--amber);font-weight:700}.topbar .ok{padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--teal);font-weight:700}.err{color:var(--red);font-size:14px;font-weight:600;margin:0}.srhidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.photogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photogrid figure{margin:0;position:relative}.photogrid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}.photogrid button{position:absolute;top:4px;right:4px;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--surface);display:grid;place-items:center}.photogrid button svg{width:16px;height:16px}.photos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px;border:1px solid var(--line)}.lock{min-height:100dvh;display:grid;place-items:center;padding:16px;background:var(--bg)}.lock form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px;text-align:center;padding:24px}.lock img{width:56px;height:56px;margin:0 auto}.lock .pin{font-size:28px;letter-spacing:.4em;text-align:center}.file{position:relative;overflow:hidden}.file input{position:absolute;inset:0;opacity:0;cursor:pointer}@media print{.tabs,.topbar,.noprint,#toast{display:none!important}body,.app{background:#fff;box-shadow:none}.screen{padding:0}.doc{border:0;box-shadow:none;padding:0}}
