:root{--ink: #14181f;--ink-soft: #3c4452;--ink-muted: #5b6472;--paper: #ffffff;--mist: #eef1f4;--line: #dde3ea;--plate: #f2c200;--signal: #1f5fbf;--danger: #b42318;--danger-surface: #fdecea;--signal-surface: #e9eff8;--ok: #15703a;--ok-surface: #e7f4eb;--warn: #9a5b00;--warn-surface: #fdf1dc;--control-height-sm: 36px;--font: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--body: 15px;--caption: 13px;--title: 22px;--control-height: 44px;--row-height: 40px;--radius-control: 6px;--radius-card: 8px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:var(--body);line-height:1.55;color:var(--ink);background:var(--mist);font-variant-numeric:tabular-nums;word-break:keep-all;overflow-wrap:break-word}h1,h2,p{margin:0}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:0 18px;border:0;border-radius:var(--radius-control);background:var(--ink);color:#fff;font:inherit;font-weight:600;cursor:pointer}.button:hover{background:#2a313c}.button:disabled{opacity:.55;cursor:default}.button-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.button-line:hover{background:var(--mist)}.button-small{min-height:36px;padding:0 12px;font-size:var(--caption)}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login-card{width:min(400px,100%);display:grid;gap:16px;padding:32px;border-radius:var(--radius-card);background:var(--paper)}.login-brand{font-size:var(--caption);font-weight:600;color:var(--ink-muted)}.login-title{font-size:var(--title);font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.login-card .button{width:100%;margin-top:4px}.password-form{display:grid;gap:16px;max-width:420px}.link-box{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px dashed var(--ink);border-radius:var(--radius-control);font-size:var(--caption);overflow-wrap:anywhere}.link-box>span{flex:1}.login-card .pairs{display:grid;gap:6px;margin:0}.login-card .pairs div{display:flex;gap:12px}.login-card .pairs dt{min-width:48px;color:var(--ink-muted)}.login-card .pairs dd{margin:0;font-weight:600}.field{display:grid;gap:6px;font-size:var(--caption);font-weight:600;color:var(--ink-soft)}.field input{min-height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);font:inherit;font-size:var(--body);font-weight:400;color:var(--ink);background:var(--paper)}.field input:focus-visible{outline:2px solid var(--signal);outline-offset:0;border-color:var(--signal)}.form-error{padding:10px 12px;border-radius:var(--radius-control);background:var(--danger-surface);color:var(--danger);font-size:var(--caption);font-weight:600}.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.shell-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:0 24px;background:var(--paper);border-bottom:1px solid var(--line)}.shell-brand{font-weight:700;letter-spacing:-.02em}.shell-brand:before{content:"";display:inline-block;width:18px;height:12px;margin-right:8px;vertical-align:-1px;border:1.5px solid var(--ink);border-radius:2px;background:var(--plate)}.shell-account{display:flex;align-items:center;gap:12px;font-size:var(--caption);color:var(--ink-soft)}.shell-main{width:100%;max-width:1600px;padding:24px}.page-title{font-size:var(--title);font-weight:700;letter-spacing:-.02em;margin-bottom:16px}.empty{padding:40px 16px;border-radius:var(--radius-card);background:var(--paper);color:var(--ink-muted);text-align:center}.shell-brand{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.button-danger{background:transparent;color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.button-danger:hover{background:var(--danger-surface)}.button-small{min-height:var(--control-height-sm)}.field-wide{grid-column:1 / -1}.field input,.field select,.field textarea{min-height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);font:inherit;font-size:var(--body);font-weight:400;color:var(--ink);background:var(--paper)}.field textarea{min-height:88px;padding:10px 12px;resize:vertical}.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--signal);outline-offset:0;border-color:var(--signal)}.field-hint{font-size:var(--caption);font-weight:400;color:var(--ink-muted)}.password-form .field-hint,.login-card .field-hint{margin-top:-10px}.field-error{font-weight:600;color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:var(--caption);font-weight:600;color:var(--ink-soft)}.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-muted)}.badge-progress:before{background:var(--signal)}.badge-attention{color:var(--warn)}.badge-attention:before{background:var(--warn)}.badge-done{color:var(--ok)}.badge-done:before{background:var(--ok)}.badge-closed{color:var(--ink-muted)}.badge-error{color:var(--danger)}.badge-error:before{background:var(--danger)}.plate{display:inline-block;padding:1px 6px;border:1px solid var(--ink);border-radius:3px;background:var(--plate);color:var(--ink);font-size:var(--caption);font-weight:600;white-space:nowrap}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.money-empty{color:var(--ink-muted)}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}.timeline li{display:grid;grid-template-columns:136px 88px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:var(--caption)}.timeline li:first-child{border-top:0}.timeline-at{color:var(--ink-muted);font-variant-numeric:tabular-nums}.timeline-who{color:var(--ink-soft);font-weight:600}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#14181f73}.dialog{width:min(480px,100%);max-height:calc(100vh - 32px);overflow:auto;display:grid;gap:16px;padding:24px;border-radius:var(--radius-card);background:var(--paper)}.dialog-title{font-size:18px;font-weight:700}.dialog-body{display:grid;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.toast-area{position:fixed;left:50%;bottom:24px;z-index:30;transform:translate(-50%)}.toast{padding:10px 16px;border-radius:var(--radius-control);background:var(--ink);color:#fff;font-size:var(--caption);font-weight:600}.toast-error{background:var(--danger)}.tabs{display:flex;flex-wrap:wrap;gap:4px}.tab{min-height:var(--control-height-sm);padding:0 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:var(--caption);font-weight:600;cursor:pointer}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.tab-count{margin-left:6px;font-weight:400;font-variant-numeric:tabular-nums}.state{display:grid;justify-items:center;gap:12px;padding:40px 16px;color:var(--ink-muted);text-align:center;background:var(--paper)}.state-error{color:var(--danger)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 0;font-size:var(--caption);color:var(--ink-soft)}.pager>span:first-child{margin-right:auto}.shell-with-nav{grid-template-columns:224px 1fr;grid-template-rows:auto 1fr}.shell-with-nav .shell-top{grid-column:1;grid-row:1;flex-direction:column;align-items:stretch;gap:10px;min-height:0;padding:20px 12px 12px 24px;border-bottom:0;border-right:1px solid var(--line)}.shell-with-nav .shell-brand{white-space:normal;line-height:1.4}.shell-with-nav .shell-account{flex-wrap:wrap;gap:6px 10px}.shell-with-nav .shell-main{grid-column:2;grid-row:1 / 3}.shell-nav{grid-column:1;grid-row:2;display:grid;align-content:start;gap:2px;padding:8px 12px 16px;background:var(--paper);border-right:1px solid var(--line)}.shell-nav a{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 12px;border-radius:var(--radius-control);color:var(--ink-soft);font-weight:600;text-decoration:none}.shell-nav a:hover{background:var(--mist)}.shell-nav a[aria-current=page]{background:var(--mist);color:var(--ink)}.shell-with-nav .shell-main{min-width:0;max-width:none}@media(max-width:1023px){.shell-with-nav{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.shell-with-nav .shell-top{grid-column:1;grid-row:1;flex-direction:row;align-items:center;min-height:56px;padding:0 24px;border-right:0;border-bottom:1px solid var(--line)}.shell-with-nav .shell-brand{white-space:nowrap}.shell-with-nav .shell-account{flex-wrap:nowrap}.shell-with-nav .shell-main{grid-column:1;grid-row:3}.shell-nav{grid-row:2}.shell-nav{display:flex;overflow-x:auto;padding:8px 12px;border-right:0;border-bottom:1px solid var(--line)}.shell-nav a{flex:none}}@media(max-width:767px){.shell-top{padding:0 16px}.shell-account span{display:none}.shell-main{padding:16px}.login-card{padding:24px 20px}}.sheet{position:relative;display:grid;gap:20px;width:100%;max-width:900px;padding:32px;border-radius:var(--radius-card);background:var(--paper);color:var(--ink)}.sheet-head h1{font-size:24px;font-weight:700;letter-spacing:.2em;text-align:center}.sheet-head p{margin-top:6px;text-align:center;color:var(--ink-soft);font-size:var(--caption);font-variant-numeric:tabular-nums}.sheet-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sheet-party{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-control)}.sheet-party h2{margin-bottom:8px;font-size:var(--caption);font-weight:700;color:var(--ink-soft)}.sheet-party dl{display:grid;grid-template-columns:96px 1fr;gap:4px 8px;margin:0;font-size:var(--caption)}.sheet-party dt{color:var(--ink-muted)}.sheet-party dd{margin:0;min-width:0;overflow-wrap:anywhere}.sheet-table{width:100%;border-collapse:collapse;font-size:var(--caption)}.sheet-table th,.sheet-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.sheet-table thead th{background:var(--mist);color:var(--ink-soft);font-weight:600}.sheet-table tfoot th,.sheet-table tfoot td{border-bottom:0;border-top:2px solid var(--ink);font-weight:700}.sheet-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sheet-table .nowrap{white-space:nowrap}.sheet-note,.sheet-hash{font-size:12px;color:var(--ink-muted)}.sheet-hash{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.sheet-void{position:absolute;top:24px;right:24px;padding:4px 10px;border:2px solid var(--danger);border-radius:4px;color:var(--danger);font-weight:700}@media(max-width:640px){.sheet{padding:16px}.sheet-parties{grid-template-columns:1fr}.sheet-table thead{display:none}.sheet-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;border-bottom:1px solid var(--line)}.sheet-table td,.sheet-table th{padding:0;border:0}.sheet-table tfoot tr{border-top:2px solid var(--ink)}.sheet-table tfoot th,.sheet-table tfoot td{border:0}.sheet-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;gap:8px}.sheet-table td[data-label]:before{content:attr(data-label);color:var(--ink-muted);font-weight:400}}@media print{body{background:#fff}.no-print,.app-top,.tabbar,.shell-nav,.shell-top,.toast-area{display:none!important}.shell-with-nav{grid-template-columns:1fr}.sheet{max-width:none;padding:0;border-radius:0}.sheet-table tr{break-inside:avoid}}.app{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:52px 1fr;padding-bottom:calc(56px + env(safe-area-inset-bottom))}.app-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;background:var(--paper);border-bottom:1px solid var(--line)}.app-brand{min-width:0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-settings{flex:none;display:inline-flex;align-items:center;min-height:44px;color:var(--ink-soft);font-size:var(--caption);font-weight:600;text-decoration:none}.app-main{width:100%;max-width:640px;margin:0 auto;padding:16px;display:grid;align-content:start;gap:16px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--line)}.tabbar a{display:grid;justify-items:center;align-content:center;gap:2px;color:var(--ink-muted);font-size:12px;font-weight:600;text-decoration:none}.tabbar a.active{color:var(--ink)}.page-title{margin-bottom:0}.section-title{font-size:var(--body);font-weight:700;margin-bottom:8px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.muted{color:var(--ink-muted);font-size:var(--caption)}.num{font-variant-numeric:tabular-nums}.crumb{font-size:var(--caption)}.crumb a,.text-link{color:var(--signal);font-size:var(--caption);font-weight:600;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.text-link{display:inline-flex;align-items:center;min-height:44px}.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}.button-block{width:100%;min-height:48px}a.button{text-decoration:none}.state{border-radius:var(--radius-card)}.notice{padding:12px 14px;border-radius:var(--radius-card);background:var(--warn-surface);color:var(--warn);font-size:var(--caption);font-weight:600}.notice-action{background:var(--signal-surface);color:var(--ink)}.notice a{color:var(--signal)}.card,.hero-card{display:grid;gap:12px;padding:16px;border-radius:var(--radius-card);background:var(--paper)}.hero-card .page-title{text-wrap:balance}.hero-card .text-link{justify-self:center}.order-list,.place-list,.plain-list,.stops{list-style:none;margin:0;padding:0;display:grid;gap:8px}.order-link{display:grid;gap:6px;padding:14px 16px;border-radius:var(--radius-card);background:var(--paper);color:inherit;text-decoration:none}.order-link:hover{box-shadow:inset 0 0 0 1px var(--line)}.order-head,.order-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.order-route{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-weight:600}.order-foot .muted{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pairs{display:grid;gap:8px;margin:0}.pairs>div{display:grid;grid-template-columns:96px 1fr;gap:12px}.pairs dt{color:var(--ink-muted);font-size:var(--caption)}.pairs dd{font-weight:500}.pairs dd{margin:0;min-width:0}.pairs a{color:var(--signal)}.stage-bar{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.stage-bar li{position:relative;display:grid;gap:8px;padding-top:22px;font-size:12px;font-weight:600;color:var(--ink-muted);text-align:center}.stage-bar li:before{content:"";height:4px;border-radius:2px;background:var(--line)}.stage-bar li.is-past:before{background:var(--ink-soft)}.stage-bar li.is-now{color:var(--signal-strong);font-weight:700}.stage-bar li.is-now:before{background:var(--signal)}.vehicle-row{display:flex;align-items:center;gap:8px}.stops li{display:grid;gap:3px;padding-left:14px;border-left:3px solid var(--line)}.stop-kind{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ink-muted)}.stop-name{font-size:var(--body);font-weight:700}.form{display:grid;gap:16px}.form-section{display:grid;gap:12px;margin:0;padding:16px;border:0;border-radius:var(--radius-card);background:var(--paper);min-width:0}.form-section legend{float:left;width:100%;padding:0;font-weight:700}.form-section legend+*{clear:both}.dialog .form-section,.signup .form-section{padding:0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{align-content:start}.field input,.field select,.field textarea{width:100%}.form-foot{position:sticky;bottom:calc(56px + env(safe-area-inset-bottom));display:grid;gap:8px;padding:12px 0;background:var(--mist)}.check{display:flex;align-items:center;gap:8px;min-height:44px}.check input{width:20px;height:20px;margin:0;flex:none}.check-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.estimate{display:grid;gap:2px}.estimate-range{font-size:18px;font-weight:700}.estimate-none{font-weight:600;color:var(--ink-soft)}.estimate-top{margin-bottom:16px;padding:16px;border-radius:var(--radius-card);background:var(--signal-surface)}.estimate-top .estimate-range{font-size:22px;color:var(--signal)}.place-card{display:grid;gap:4px;padding:14px 16px;border-radius:var(--radius-card);background:var(--paper)}.place-name{font-weight:600}.favorite{margin-left:8px;padding:1px 6px;border-radius:4px;background:var(--mist);color:var(--ink-soft);font-size:12px;font-weight:600;vertical-align:1px}.place-actions{display:flex;gap:8px;margin-top:6px}.doc{max-height:50vh;overflow:auto;display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--paper);font-size:var(--caption);line-height:1.7}.doc-title{font-size:var(--body);font-weight:700}.signup{min-height:100vh;padding:24px 16px;display:grid;justify-items:center}.signup-card{width:min(480px,100%);padding:24px;border-radius:var(--radius-card);background:var(--paper)}.login-footer{font-size:var(--caption);color:var(--ink-muted);text-align:center}.login-footer a{color:var(--signal);font-weight:600}.toast-area{bottom:calc(72px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 32px)}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px}.stop-remove{justify-self:start}:root{--ink: #191f28;--ink-soft: #333d4b;--ink-muted: #4e5968;--mist: #f2f4f6;--line: #e5e8eb;--signal: #1b64da;--signal-strong: #1554bd;--signal-surface: #e8f0fc;--body: 17px;--caption: 15px;--title: 26px;--control-height: 52px;--radius-control: 12px;--radius-card: 20px}body{background:var(--mist)}.app{grid-template-rows:56px 1fr}.app-top{border-bottom:0;background:var(--mist)}.app-brand{font-size:17px;font-weight:800;letter-spacing:-.02em}.app-main{gap:20px;padding:8px 16px 24px}.tabbar{border-top:0;background:var(--paper)}.tabbar a{color:#6b7684;font-size:13px}.tabbar a.active{color:var(--signal)}.page-title{font-size:var(--title);font-weight:700;letter-spacing:-.03em}.section-title{font-size:18px;letter-spacing:-.02em;margin-bottom:10px}.card,.hero-card,.form-section,.place-card,.order-link,.signup-card,.login-card,.state,.empty,.sheet{border-radius:var(--radius-card)}.card,.hero-card,.form-section{padding:20px}.hero-card{gap:14px;padding:24px 20px}.hero-card .page-title{font-size:26px;line-height:1.35}.order-link{padding:18px 20px;gap:8px;transition:background-color .16s ease}.order-link:hover{box-shadow:none;background:#fafbfc}.order-route{font-size:17px;font-weight:700;letter-spacing:-.02em}.button{min-height:var(--control-height);padding:0 20px;background:var(--signal);font-weight:700;transition:background-color .16s ease,transform .12s ease}.button:hover{background:var(--signal-strong)}.button:active:not(:disabled){transform:scale(.98)}.button-line{background:var(--signal-surface);color:var(--signal);box-shadow:none}.button-line:hover{background:#dbe7fb}.button-small{min-height:40px}.button-danger,.button-danger:hover{background:#fdecea;box-shadow:none}.button-danger:hover{background:#f9d6d2}.text-link{font-size:15px}.field{font-size:var(--caption);color:var(--ink-muted)}.field input,.field select,.field textarea{border:2px solid transparent;background:var(--mist);font-size:var(--body);transition:border-color .16s ease,background-color .16s ease}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--signal);background:var(--paper)}.form-section legend{font-size:18px;letter-spacing:-.02em;margin-bottom:4px}.form-foot{padding:16px 0 12px}.notice{border-radius:14px;padding:14px 16px}.estimate-range{font-size:20px;letter-spacing:-.02em}.estimate-top{padding:20px}.estimate-top .estimate-range{font-size:24px}.stage-bar li:before{height:6px;border-radius:3px;background:var(--line)}.stage-bar li.is-past:before{background:#a9c4f2}.stops li{border-left-color:var(--signal-surface);border-left-width:3px}.bubble{border-radius:18px}.bubble-me{background:var(--signal)}.bubble-pick{background:var(--signal-strong)}.choice{border:0;background:var(--mist);min-height:40px}.choice:hover{background:var(--signal-surface);color:var(--signal)}.inline-form input,.composer textarea{border:2px solid transparent;background:var(--mist);border-radius:var(--radius-control)}.inline-form input:focus-visible,.composer textarea:focus-visible{outline:none;border-color:var(--signal);background:var(--paper)}.composer{border-top:0;background:var(--paper)}.tab{min-height:40px;font-size:15px}.tab[aria-selected=true]{color:var(--signal);border-bottom-color:var(--signal)}.favorite{border-radius:999px;padding:2px 8px;background:var(--signal-surface);color:var(--signal)}.login{background:var(--mist)}.login-card{gap:18px;padding:36px 28px}.login-brand{color:var(--signal);font-size:15px;font-weight:800}.login-title{font-size:26px;line-height:1.35;letter-spacing:-.03em;text-wrap:balance}.login-footer a{color:var(--signal)}.toast{border-radius:14px;padding:12px 18px}.dialog{border-radius:var(--radius-card)}.order-form{align-items:start}.order-fields{display:grid;gap:16px;min-width:0}.order-fields>.section-title{margin:4px 0 -4px;font-size:18px}.stop-card legend{display:flex;align-items:center;gap:8px}.stop-dot{width:10px;height:10px;border-radius:50%;background:var(--ink-muted)}.stop-dot-load{background:#15703a}.stop-dot-unload{background:var(--signal)}.place-search{display:grid;gap:8px}.suggest{list-style:none;margin:0;padding:0;display:grid;border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden}.suggest li+li{border-top:1px solid var(--line)}.suggest button{width:100%;display:grid;gap:2px;padding:12px 14px;border:0;background:var(--paper);text-align:left;font:inherit;cursor:pointer}.suggest button:hover,.suggest button:focus-visible{background:var(--signal-surface);outline:none}.picked{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-control);background:var(--mist)}.picked p{margin:0}.picked .text-link{flex:none;min-height:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.chip[aria-checked=true]{border-color:var(--signal);background:var(--signal-surface);color:var(--signal-strong)}.chip:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toggle-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);cursor:pointer}.toggle-card input{width:20px;height:20px;margin:2px 0 0;flex:none}.toggle-card>span{display:grid;gap:2px}.toggle-card.is-on{border-color:var(--signal);background:var(--signal-surface)}.order-summary{position:sticky;bottom:calc(56px + env(safe-area-inset-bottom));display:grid;gap:12px;padding:16px;border-radius:var(--radius-card);background:var(--paper);box-shadow:0 -1px 0 var(--line)}.order-summary .pairs>div{grid-template-columns:48px 1fr}.postcode-box{height:min(460px,60vh);border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden}@media(max-width:420px){.toggles{grid-template-columns:1fr}}@media(min-width:1024px){.app-main:has(.order-layout){max-width:1040px}.order-form{grid-template-columns:minmax(0,1fr) 340px;gap:24px}.order-summary{top:72px;bottom:auto;box-shadow:none}}.stage-truck{position:absolute;top:0;left:50%;translate:-50% 0;color:var(--signal);animation:truck-breathe 2.4s ease-in-out infinite}@keyframes truck-breathe{0%,to{opacity:1;translate:-50% 0}50%{opacity:.35;translate:-50% -2px}}@media(prefers-reduced-motion:reduce){.stage-truck{animation:none}}.stage-bar li:before{height:5px}.crumb a,.app-settings{font-size:var(--caption)}.page-title{font-size:24px;font-weight:800;letter-spacing:-.02em}.section-title{font-size:17px}.check-line{display:flex;align-items:center;gap:10px;min-height:44px}.check-line input{width:20px;height:20px;margin:0;flex:none}.order-search{display:flex;gap:8px}.order-search input{flex:1;min-width:0;min-height:var(--control-height);padding:0 14px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font:inherit}.order-search input:focus-visible{outline:none;border-color:var(--signal)}.order-search .button{flex:none;min-height:var(--control-height)}.order-periods{flex-wrap:nowrap;overflow-x:auto;margin:-4px -16px 0;padding:4px 16px;scrollbar-width:none}.order-periods .chip{flex:none;min-height:40px;padding:0 14px;font-size:var(--caption)}.order-dates{display:flex;align-items:flex-end;gap:8px}.order-dates label{flex:1;display:grid;gap:4px;font-size:var(--caption);color:var(--ink-muted)}.order-dates input{min-height:48px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font:inherit}.order-dates span{padding-bottom:12px;color:var(--ink-muted)}.order-filter-line{display:flex;align-items:center;gap:12px}.order-stage select{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--caption)}.text-button{margin-left:auto;min-height:44px;padding:0 4px;border:0;background:none;color:var(--signal);font:inherit;font-size:var(--caption);font-weight:600;cursor:pointer}.chat{gap:12px}.bubble{display:grid;gap:4px;max-width:86%;padding:12px 14px;border-radius:18px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-staff{justify-self:start;border-top-left-radius:6px;background:var(--mist);color:var(--ink)}.bubble-mine{justify-self:end;border-top-right-radius:6px;background:var(--signal);color:#fff}.bubble-meta{font-size:13px;opacity:.8}.chat-compose{display:flex;align-items:flex-end;gap:8px}.chat-compose textarea{flex:1;min-width:0;min-height:52px;padding:12px 14px;border:2px solid transparent;border-radius:var(--radius-control);background:var(--mist);color:var(--ink);font:inherit;resize:vertical}.chat-compose textarea:focus-visible{outline:none;border-color:var(--signal);background:var(--paper)}.chat-compose .button{flex:none}.thread-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.thread-state{font-size:var(--caption);color:var(--ink-muted);white-space:nowrap}.thread-state.is-new{color:var(--signal);font-weight:700}.thread-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}.receipt-list{list-style:none;margin:0;padding:0;display:grid}.receipt-photo{display:block;max-width:100%;max-height:70vh;margin:0 auto}
