:root{--bg: #ffffff;--card: #ffffff;--ink: #0f172a;--muted: #64748b;--line: #e8edf3;--accent: #2563eb;--accent-2: #3b82f6;--accent-soft: #eff6ff;--ok: #047857;--ok-soft: #d1fae5;--ok-btn: #059669;--danger: #dc2626;--radius: 16px;--shadow: 0 1px 2px rgba(15, 23, 42, .03), 0 4px 14px rgba(15, 23, 42, .04);--safe-bottom: env(safe-area-inset-bottom, 0px);--font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--app-max: 100%;--h5-max: 480px;--pc-gutter: 0px;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.45;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%;background:#fff}body{overscroll-behavior-y:none}#app{width:100%;max-width:var(--h5-max);margin:0 auto;min-height:100dvh;padding-bottom:calc(88px + var(--safe-bottom));background:#fff}#app:has(.form-page),#app:has(.detail-page),#app:has(.pickup-page),#app:has(.stats-page){padding-bottom:calc(24px + var(--safe-bottom))}#app[data-mode=pickup]{padding-bottom:calc(28px + var(--safe-bottom))}button,input,textarea{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer}.topbar{position:sticky;top:0;z-index:20;padding:16px 16px 12px;background:linear-gradient(180deg,#fff 78%,#fff0)}.desktop-only{display:none!important}.brand-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.brand{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:800;letter-spacing:-.02em}.brand-ico{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:var(--accent-soft);color:var(--accent)}.brand-sub{font-size:13px;color:var(--muted);font-weight:500}.brand-sub-block{margin-bottom:12px}.brand-link{font-size:13px;font-weight:700;color:var(--accent);text-decoration:none;padding:8px 12px;border-radius:999px;background:var(--accent-soft)}.ico{display:block;flex-shrink:0}.day-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:4px;background:#1c19170f;border-radius:14px}.day-tab{height:40px;border-radius:11px;font-size:14px;font-weight:600;color:var(--muted);transition:color .18s ease,background .18s ease,transform .15s ease}.day-tab:active{transform:scale(.97)}.day-tab.active{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.stats-bar{display:flex;gap:16px;margin-top:12px;padding:0 4px;font-size:13px;color:var(--muted)}.stat-item{display:inline-flex;align-items:center;gap:5px}.stat-item .ico{color:var(--accent);opacity:.85}.stats-bar b{color:var(--accent);font-weight:800}.list{padding:4px 16px 0;display:flex;flex-direction:column;gap:14px}.empty{text-align:center;padding:56px 28px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.empty-ico{width:72px;height:72px;margin:0 auto 12px;border-radius:20px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.empty strong{display:block;font-size:16px}.empty p{margin-top:6px;font-size:13px;color:var(--muted)}.station-group{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}.station-head{padding:14px 16px;background:#f8fafc;border-bottom:1px solid var(--line)}.station-addr-row{display:flex;align-items:flex-start;gap:10px}.station-ico{flex-shrink:0;width:36px;height:36px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-top:1px}.station-name{flex:1;min-width:0;font-size:18px;font-weight:750;line-height:1.45}.nav-btn{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;text-decoration:none;margin-top:1px}.nav-btn:active{filter:brightness(.96);transform:scale(.96)}.nav-icon{display:block}.station-meta{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.station-meta .tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:999px}.group-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);width:100%;text-align:left;background:transparent}.code-ico{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:#eff6ff;color:var(--accent);display:grid;place-items:center}.group-row:last-of-type{border-bottom:none}.group-row.done{opacity:.45}.group-row:active{background:#f1f5f9}.group-code{flex:1;min-width:0;font-size:28px;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums;line-height:1.1}.group-sub{margin-top:4px;font-size:12px;color:var(--muted)}.pick-btn{flex-shrink:0;height:40px;min-width:72px;padding:0 12px;border-radius:12px;font-size:14px;font-weight:700;background:var(--ok-btn);color:#fff;box-shadow:0 4px 12px #16a34a47;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.pick-btn:active{transform:scale(.94);filter:brightness(.96)}.pick-btn.ghost{background:transparent;color:var(--muted);box-shadow:none;border:1px solid var(--line);min-width:auto}.fab-bar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(16px + var(--safe-bottom));width:100%;max-width:var(--h5-max);padding:0 16px;z-index:30}.fab{width:100%;height:54px;border-radius:16px;background:var(--accent);color:#fff;font-size:16px;font-weight:700;letter-spacing:.02em;box-shadow:0 12px 28px #2563eb4d;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,box-shadow .2s ease}.fab:active{transform:scale(.97);box-shadow:0 6px 16px #2563eb47}.page-nav{display:flex;align-items:center;gap:10px;padding:12px 16px;position:sticky;top:0;z-index:20;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-save{height:36px;padding:0 16px;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:700}.brand-actions{display:flex;align-items:center;gap:8px}.brand-cta{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 14px;border-radius:10px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}.reg-toolbar{display:flex;flex-direction:column;gap:10px}.page-nav .back{width:40px;height:40px;border-radius:12px;background:var(--card);box-shadow:var(--shadow);font-size:20px;font-weight:600}.page-nav .title{flex:1;font-size:17px;font-weight:750}.detail-page{padding-bottom:calc(28px + var(--safe-bottom))}.detail-hero{margin:8px 16px 0;padding:20px 18px 22px;background:linear-gradient(145deg,#1e3a8a,#2563eb 55%,#3b82f6);color:#fff;border-radius:20px;box-shadow:0 14px 32px #2563eb52;cursor:pointer}.detail-hero.is-done{background:linear-gradient(145deg,#065f46,#059669 60%,#10b981);box-shadow:0 14px 32px #05966947}.detail-hero:active{transform:scale(.985)}.detail-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.detail-hero .status{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#ffffff2e}.detail-hero .status.ok{background:#ffffff38}.copy-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#ffffff29;opacity:.95}.detail-hero .code{font-size:40px;font-weight:800;letter-spacing:.1em;line-height:1.15;word-break:break-all;text-align:center;font-variant-numeric:tabular-nums}.detail-hero-hint{display:none;margin-top:14px;text-align:center;font-size:13px;font-weight:600;opacity:.72}.detail-layout,.detail-side{display:contents}.detail-body{margin:14px 16px 0;display:flex;flex-direction:column;gap:10px}.d-card{background:var(--card);border-radius:16px;padding:4px 0;box-shadow:var(--shadow);border:1px solid rgba(15,23,42,.04);overflow:hidden}.d-addr{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px}.d-addr-main{flex:1;min-width:0}.d-label{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}.d-addr-text{font-size:17px;font-weight:750;line-height:1.45;color:var(--ink)}.nav-link{flex-shrink:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:56px;border-radius:14px;background:var(--accent-soft);color:var(--accent);text-decoration:none;font-size:11px;font-weight:700}.nav-link:active{transform:scale(.96)}.d-card-list .d-row{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-top:1px solid var(--line)}.d-card-list .d-row:first-child{border-top:none}.d-ico{width:34px;height:34px;border-radius:10px;background:#eff6ff;color:var(--accent);display:grid;place-items:center;flex-shrink:0}.d-text{flex:1;min-width:0;padding-top:1px}.d-value{font-size:15px;font-weight:650;line-height:1.4;color:var(--ink)}.d-value.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.detail-actions{margin:18px 16px 0;display:flex;flex-direction:column;gap:10px}.detail-actions-row{display:flex;gap:10px}.btn-main{height:52px;border-radius:14px;font-size:16px;font-weight:700;background:var(--ok-btn);color:#fff;box-shadow:0 8px 20px #05966947;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-main.undo{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.btn-side{flex:1;height:48px;border-radius:14px;font-size:15px;font-weight:650;background:var(--card);color:var(--muted);border:1px solid var(--line);box-shadow:var(--shadow)}.btn-side.danger{color:var(--danger);border-color:#fecaca;background:#fff5f5}.danger-text{color:var(--danger);font-size:13px;text-align:center;padding:8px;opacity:.85}.form-page{padding-bottom:calc(96px + var(--safe-bottom))}.form{padding:8px 16px 0;display:flex;flex-direction:column;gap:12px}.form-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;border:1px solid var(--line)}.form-card h3{font-size:13px;font-weight:750;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}.field{margin-bottom:14px}.field:last-child{margin-bottom:0}.field label{display:block;font-size:13px;font-weight:650;color:var(--ink);margin-bottom:8px}.field label .req{color:var(--accent)}.field input,.field textarea{width:100%;border:1.5px solid var(--line);background:#f8fafc;border-radius:14px;padding:13px 14px;font-size:16px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s,background .15s}.field input:focus,.field textarea:focus{border-color:var(--accent-2);background:#fff;box-shadow:0 0 0 3px #2563eb29}.form-card-code{background:linear-gradient(165deg,#eff6ff,#fff 48%);border-color:#2563eb1f}.field-code{margin-bottom:0}.code-field{position:relative;display:flex;align-items:center;gap:10px;padding:4px 4px 4px 14px;border-radius:18px;background:#fff;border:1.5px solid rgba(37,99,235,.28);box-shadow:0 1px 2px #2563eb0a,inset 0 1px #ffffffe6;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.code-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #2563eb24,0 8px 20px #2563eb1f;transform:translateY(-1px)}.code-field-ico{flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.field input.input-code{flex:1;min-width:0;height:56px;padding:0 14px 0 0;border:none;background:transparent;border-radius:0;font-size:28px;font-weight:800;letter-spacing:.06em;text-align:left;font-variant-numeric:tabular-nums;box-shadow:none}.field input.input-code:focus{border:none;background:transparent;box-shadow:none}.field input.input-code::placeholder{font-size:17px;font-weight:600;letter-spacing:0;color:#94a3b8}.field-hint{margin-top:6px;font-size:12px;color:var(--muted)}.field-hint.accent{color:var(--accent);font-weight:600}.field-hint:empty{display:none}.date-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;margin:0 -4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-card{flex:0 0 auto;width:68px;padding:10px 6px;border-radius:14px;background:#f1f5f9;display:flex;flex-direction:column;align-items:center;gap:4px;border:1.5px solid transparent}.date-card-title{font-size:12px;font-weight:650;color:var(--muted)}.date-card-day{font-size:16px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.date-card.active{background:var(--accent-soft);border-color:#2563eb73}.date-card.active .date-card-title,.date-card.active .date-card-day{color:var(--accent)}.date-selected-tip{margin-top:8px;font-size:13px;color:var(--accent);font-weight:600}.addr-list{display:flex;flex-direction:column;gap:8px}.swipe-row{position:relative;border-radius:14px;overflow:hidden;background:#fee2e2}.swipe-actions{position:absolute;inset:0 0 0 auto;width:128px;display:flex}.swipe-btn{flex:1;height:100%;font-size:13px;font-weight:700;color:#fff}.swipe-btn.edit{background:#3b82f6}.swipe-btn.del{background:#ef4444}.swipe-content{position:relative;z-index:1;background:#f8fafc;transition:transform .2s ease;will-change:transform}.addr-item{width:100%;text-align:left;padding:14px 40px 14px 14px;border-radius:14px;background:#f8fafc;border:1.5px solid transparent;position:relative}.addr-item.active{background:var(--accent-soft);border-color:#2563eb73}.addr-item-name{font-size:14px;font-weight:650;line-height:1.4}.addr-check{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;opacity:0}.addr-item.active .addr-check{opacity:1}.addr-hint{margin-top:8px;font-size:12px;color:var(--muted)}.addr-add-toggle{margin-top:10px;width:100%;height:40px;border-radius:12px;border:1.5px dashed rgba(37,99,235,.4);color:var(--accent);font-size:13px;font-weight:650;background:transparent}.addr-new{margin-top:10px;padding:12px;background:#f1f5f9;border-radius:14px}.addr-new .field{margin-bottom:10px}.addr-edit-actions{display:flex;gap:8px}.addr-edit-actions .btn-side,.addr-edit-actions .pick-btn{flex:1;height:40px;border-radius:12px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{height:36px;padding:0 14px;border-radius:999px;background:#e2e8f0;color:var(--muted);font-size:13px;font-weight:650;border:1.5px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.chip:active{transform:scale(.96)}.chip.active{background:var(--accent-soft);color:var(--accent);border-color:#2563eb73}.more-toggle{width:100%;height:44px;border-radius:14px;background:var(--card);box-shadow:var(--shadow);font-size:14px;font-weight:650;color:var(--muted)}.more-body{display:none}.more-body.open{display:block;animation:more-in .28s ease both}@keyframes more-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.form-grid,.form-col{display:flex;flex-direction:column;gap:12px}.form-footer{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--h5-max);padding:12px 16px calc(14px + var(--safe-bottom));background:linear-gradient(180deg,transparent,#ffffff 30%);z-index:30}.h3-soft{font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}.save-btn{width:100%;height:54px;border-radius:16px;background:var(--accent);color:#fff;font-size:17px;font-weight:750;box-shadow:0 10px 28px #2563eb52}.save-btn:active{transform:scale(.98)}.toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translate(-50%) translateY(10px);background:#1c1917e6;color:#fff;padding:10px 18px;border-radius:12px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:all .2s ease;z-index:100;max-width:80%;text-align:center}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a73;display:grid;place-items:center;padding:24px;animation:confirm-fade .18s ease both}.confirm-dialog{width:min(100%,400px);background:#fff;border-radius:18px;padding:22px 22px 18px;box-shadow:0 20px 48px #0f172a2e;border:1px solid rgba(15,23,42,.06);animation:confirm-pop .22s cubic-bezier(.22,1,.36,1) both}.confirm-title{font-size:18px;font-weight:800;color:var(--ink)}.confirm-msg{margin-top:10px;font-size:14px;font-weight:600;color:var(--muted);line-height:1.55}.confirm-sub{display:inline-block;margin-top:6px;color:var(--ink);font-weight:700}.confirm-actions{display:flex;gap:10px;margin-top:20px}.confirm-btn{flex:1;height:44px;border-radius:12px;font-size:15px;font-weight:700}.confirm-btn.ghost{background:#f1f5f9;color:var(--muted)}.confirm-btn.ghost:hover{background:#e2e8f0;color:var(--ink)}.confirm-btn.danger{background:var(--danger);color:#fff;box-shadow:0 8px 18px #dc262647}.confirm-btn.danger:hover{filter:brightness(1.05)}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.pickup-page{min-height:100dvh}.pk-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 10px;background:linear-gradient(180deg,#fff 80%,#fff0)}.pk-bar-actions{display:flex;align-items:center;gap:8px}.pk-bar-title{font-size:18px;font-weight:800;letter-spacing:-.02em}.pk-bar-meta{margin-top:2px;font-size:13px;color:var(--muted);font-weight:600}.pk-bar-counts b{color:var(--accent);font-weight:800}.pk-stat-pills{display:none}.pk-link-reg,.pk-link-stats{flex-shrink:0;padding:7px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:700;text-decoration:none}.pk-link-stats{background:#f1f5f9;color:var(--muted)}.stats-page{min-height:100dvh;padding:0 0 28px}.st-bar{display:flex;flex-direction:column;gap:12px;padding:16px 16px 8px}.st-title{font-size:22px;font-weight:800;letter-spacing:-.02em}.st-sub{margin-top:4px;font-size:13px;color:var(--muted);font-weight:600}.shell-nav{display:flex;flex-wrap:wrap;gap:8px}.shell-nav-link{padding:8px 12px;border-radius:999px;background:#f1f5f9;color:var(--muted);font-size:13px;font-weight:700;text-decoration:none}.shell-nav-link.active{background:var(--accent-soft);color:var(--accent)}.shell-nav-link.accent{background:var(--accent);color:#fff}.st-ranges{display:flex;gap:8px;padding:4px 16px 12px;overflow-x:auto}.st-range{flex-shrink:0;height:36px;padding:0 14px;border-radius:999px;background:#f1f5f9;color:var(--muted);font-size:13px;font-weight:700}.st-range.active{background:var(--accent);color:#fff}.st-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 14px}.st-kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 14px 12px}.st-kpi-label{font-size:12px;font-weight:700;color:var(--muted)}.st-kpi-num{margin-top:6px;font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1}.st-kpi.ok .st-kpi-num{color:var(--ok-btn)}.st-kpi.warn .st-kpi-num{color:var(--accent)}.st-kpi-unit{font-size:16px;font-weight:700;margin-left:2px}.st-grid{display:flex;flex-direction:column;gap:12px;padding:0 16px}.st-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px}.st-card h3{font-size:14px;font-weight:750;margin-bottom:0;color:var(--ink)}.st-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.st-chart{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.st-chart-inner{display:grid;grid-template-columns:repeat(var(--st-cols, 7),minmax(0,1fr));gap:10px;align-items:stretch;min-height:180px;min-width:0;width:100%}.st-col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:0}.st-col-val,.st-col-label{flex:0 0 auto}.st-col-val{height:16px;font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1}.st-col.is-empty .st-col-val{color:transparent}.st-col-plot{width:100%;flex:1 1 auto;height:140px;min-height:0;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,transparent 0%,#f8fafc 100%);border-radius:10px 10px 4px 4px;padding:0 2px}.st-col-stack{width:100%;max-width:40px;margin:0 auto;border-radius:8px 8px 3px 3px;background:#93c5fd;position:relative;overflow:hidden;min-height:0;transform-origin:bottom center}.st-col.is-today .st-col-stack{background:var(--accent)}.st-col-picked{position:absolute;left:0;right:0;bottom:0;background:var(--ok-btn);border-radius:0 0 3px 3px}.st-col-label{font-size:11px;font-weight:700;color:var(--muted);text-align:center;line-height:1.2;white-space:nowrap}.st-col.is-today .st-col-label{color:var(--accent)}.st-col-plot:hover .st-col-stack{filter:brightness(1.06)}.st-line-wrap{width:100%}.st-line-meta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px;font-size:12px;color:var(--muted);font-weight:600}.st-line-meta b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}.st-svg{width:100%;height:auto;aspect-ratio:960 / 260;display:block;overflow:visible}.st-svg-grid{stroke:#eef2f7;stroke-width:1}.st-svg-axis{fill:#94a3b8;font-size:11px;font-weight:650;font-family:var(--font)}.st-svg-axis.is-today{fill:var(--accent);font-weight:800}.st-svg-area{fill:#2563eb1f}.st-svg-line{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.st-svg-line.total{stroke:var(--accent)}.st-svg-line.picked{stroke:var(--ok-btn)}.st-svg-dot.total{fill:#fff;stroke:var(--accent);stroke-width:2}.st-svg-dot.picked{fill:var(--ok-btn);stroke:#fff;stroke-width:1.5}.st-svg-hot{fill:transparent;cursor:pointer}.st-svg-hit:hover .st-svg-dot.total{r:5.5}.st-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);font-weight:600}.st-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.st-legend .dot.total{background:#bfdbfe}.st-legend .dot.picked{background:var(--ok-btn)}.st-dist{display:flex;flex-direction:column;gap:10px}.st-dist-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:10px;align-items:center}.st-dist-name{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-dist-track{height:8px;border-radius:999px;background:#f1f5f9;overflow:hidden}.st-dist-fill{height:100%;width:var(--w, 0%);background:var(--accent);border-radius:999px;transform-origin:left center}.st-dist-meta{display:flex;gap:8px;font-size:11px;color:var(--muted);white-space:nowrap}.st-dist-meta b{color:var(--ink);font-weight:800;font-variant-numeric:tabular-nums}.st-empty{padding:20px 8px;text-align:center;color:var(--muted);font-size:13px}.pk-body{padding:4px 12px 24px;display:flex;flex-direction:column;gap:10px}.pk-stations{display:flex;flex-direction:column;gap:10px}.pk-station{background:var(--card);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;border:1px solid color-mix(in srgb,var(--pk-bar, var(--accent)) 22%,var(--line));border-left:5px solid var(--pk-bar, var(--accent))}.pk-station-head{padding:12px 14px;background:var(--pk-soft, #f8fafc);border-bottom:1px solid color-mix(in srgb,var(--pk-bar, var(--accent)) 14%,var(--line))}.pk-station-body{min-width:0}.pk-station-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.pk-station-tag{font-size:12px;font-weight:700;color:var(--pk-mark-fg, var(--accent));background:var(--pk-mark-bg, var(--accent-soft));padding:3px 10px;border-radius:999px}.pk-station-name{font-size:19px;font-weight:800;line-height:1.45;letter-spacing:-.01em;color:var(--ink);word-break:break-word}.pk-nav{flex-shrink:0;width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:4px;text-decoration:none;font-size:12px;font-weight:700}.pk-nav-text{display:none}.pk-nav:active{transform:scale(.94)}.pk-items{display:flex;flex-direction:column}.pk-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.pk-item:last-child{border-bottom:none}.pk-item-main{flex:1;min-width:0;text-align:left;padding:0}.pk-item-main:active .pk-item-code{color:var(--accent)}.pk-item-code{font-size:24px;font-weight:800;letter-spacing:.04em;line-height:1.15;font-variant-numeric:tabular-nums;word-break:break-all}.pk-item-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pk-item-tags span{font-size:12px;font-weight:650;color:var(--muted);background:#f1f5f9;padding:3px 8px;border-radius:999px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pk-item-track{display:none;margin-top:4px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;word-break:break-all}.pk-item-done{flex-shrink:0;height:36px;min-width:64px;padding:0 10px;border-radius:10px;background:var(--ok-btn);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:3px;box-shadow:0 3px 10px #05966938}.pk-item-done:active{transform:scale(.95)}.pk-item-done.ghost{background:transparent;color:var(--muted);box-shadow:none;border:1px solid var(--line);min-width:56px}.pk-item.is-done{opacity:.42}.pk-item.is-done .pk-item-code{text-decoration:line-through;text-decoration-thickness:1px}.pk-empty-cta{margin-top:14px;width:auto;min-width:140px;padding:0 18px;height:44px;display:inline-flex}.empty-ico.ok{background:var(--ok-soft);color:var(--ok)}.pk-all-done strong{color:var(--ok)}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}#app.enter .anim-item{opacity:0}#app.enter-active .anim-item{animation:rise-in .38s cubic-bezier(.22,1,.36,1) both}#app.enter-active .topbar.anim-item{animation-duration:.32s}#app.enter-active .detail-hero.anim-item{animation-name:hero-in;animation-duration:.42s}#app.enter-active .anim-item:nth-child(1){animation-delay:0ms}#app.enter-active .anim-item:nth-child(2){animation-delay:40ms}#app.enter-active .anim-item:nth-child(3){animation-delay:80ms}#app.enter-active .anim-item:nth-child(4){animation-delay:.12s}#app.enter-active .anim-item:nth-child(5){animation-delay:.16s}#app.enter-active .anim-item:nth-child(6){animation-delay:.2s}#app.enter-active .list>.anim-item:nth-child(n+7){animation-delay:.22s}.station-group,.d-card,.form-card,.empty{transition:transform .15s ease}.group-row{transition:opacity .2s ease,background .15s ease}.group-row.done{transition:opacity .25s ease,background .15s ease}.btn-main,.btn-side,.save-btn,.back{transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.btn-main:active,.btn-side:active,.save-btn:active,.back:active{transform:scale(.97)}.date-card{transition:background .15s ease,border-color .15s ease,transform .15s ease}.date-card:active{transform:scale(.96)}.addr-item{transition:background .15s ease,border-color .15s ease}@media(prefers-reduced-motion:reduce){#app.enter .anim-item,#app.enter-active .anim-item,.more-body.open,.code-field,.fab,.pick-btn,.day-tab,.chip,.btn-main,.btn-side,.save-btn,.back,.date-card{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}@media(min-width:960px){:root{--h5-max: none;--pc-gutter: clamp(24px, 3vw, 48px)}.desktop-only{display:block!important}button.desktop-only,a.desktop-only,.brand-cta.desktop-only,.nav-save.desktop-only{display:inline-flex!important}h3.desktop-only{display:block!important}.mobile-only{display:none!important}html,body,#app{width:100%;max-width:none;margin:0}#app{padding:0 0 56px;border:none;min-height:100dvh}#app[data-mode=pickup],#app:has(.form-page),#app:has(.detail-page),#app:has(.pickup-page),#app:has(.reg-page){padding-bottom:56px}html:has(.stats-page),body:has(.stats-page){height:100%;overflow:hidden}#app[data-mode=stats],#app:has(.stats-page){height:100dvh;max-height:100dvh;padding-bottom:0;overflow:hidden}.shell,.pickup-page,.reg-page,.stats-page,.form-page,.detail-page{width:100%;max-width:none}.fab-bar,.form-footer{max-width:none}.stats-page{height:100dvh;max-height:100dvh;min-height:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.st-bar{flex:0 0 auto;flex-direction:row;align-items:flex-end;justify-content:space-between;padding:18px var(--pc-gutter) 12px;border-bottom:1px solid var(--line);gap:16px;background:#fff}.st-title{font-size:26px}.st-sub{font-size:12px}.st-ranges{flex:0 0 auto;padding:12px var(--pc-gutter) 8px;overflow:visible}.st-kpis{flex:0 0 auto;grid-template-columns:repeat(4,1fr);gap:12px;padding:4px var(--pc-gutter) 12px}.st-kpi{padding:12px 16px 10px;border-radius:14px}.st-kpi-num{margin-top:4px;font-size:32px}.st-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:0 var(--pc-gutter) 16px;overflow:hidden}.st-grid .st-card-chart{grid-column:1;grid-row:1 / -1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.st-grid .st-card:not(.st-card-chart){min-height:0;display:flex;flex-direction:column;overflow:hidden}.st-card{padding:14px 16px}.st-card-head{flex:0 0 auto;margin-bottom:10px}.st-card:not(.st-card-chart)>h3{flex:0 0 auto;margin-bottom:10px}.st-card:not(.st-card-chart) .st-dist,.st-card:not(.st-card-chart) .st-empty{flex:1 1 auto;min-height:0;overflow-y:auto}.st-line-wrap{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.st-line-meta{flex:0 0 auto;margin-bottom:6px}.st-svg{flex:1 1 auto;width:100%;height:100%;min-height:0;aspect-ratio:auto}.st-chart{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.st-chart-inner{flex:1 1 auto;min-height:0;height:100%;gap:10px}.st-col{height:100%;min-height:0}.st-col-plot{flex:1 1 auto;height:auto;min-height:0}.st-col-stack{max-width:44px}@keyframes pc-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pc-col-grow{0%{transform:scaleY(0);opacity:.4}to{transform:scaleY(1);opacity:1}}@keyframes pc-line-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes pc-area-in{0%{opacity:0}to{opacity:1}}@keyframes pc-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pc-dot-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}#app.enter-active .stats-page .st-kpi{animation:pc-rise .45s cubic-bezier(.22,1,.36,1) both}#app.enter-active .stats-page .st-kpi:nth-child(1){animation-delay:40ms}#app.enter-active .stats-page .st-kpi:nth-child(2){animation-delay:90ms}#app.enter-active .stats-page .st-kpi:nth-child(3){animation-delay:.14s}#app.enter-active .stats-page .st-kpi:nth-child(4){animation-delay:.19s}#app.enter-active .stats-page .st-card{animation:pc-rise .5s cubic-bezier(.22,1,.36,1) both;animation-delay:.16s}#app.enter-active .stats-page .st-card-chart{animation-delay:.12s}#app.enter-active .st-col-stack{animation:pc-col-grow .55s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(80ms + var(--i, 0) * 45ms)}#app.enter-active .st-svg-line{stroke-dasharray:1;stroke-dashoffset:1;animation:pc-line-draw .9s ease forwards}#app.enter-active .st-svg-line.picked{animation-delay:.12s}#app.enter-active .st-svg-area{animation:pc-area-in .7s ease .15s both}#app.enter-active .st-svg-dot{transform-box:fill-box;transform-origin:center;animation:pc-dot-pop .35s ease both}#app.enter-active .st-dist-fill{animation:pc-bar-grow .55s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.1s + var(--i, 0) * 40ms)}#app.enter-active .reg-page .topbar,#app.enter-active .pk-bar{animation:pc-rise .4s cubic-bezier(.22,1,.36,1) both}#app.enter-active .reg-table-wrap,#app.enter-active .pk-station{animation:pc-rise .45s cubic-bezier(.22,1,.36,1) both}#app.enter-active .pk-item{animation:pc-rise .4s cubic-bezier(.22,1,.36,1) both}.st-range{transition:transform .15s ease,background .15s ease,color .15s ease}.st-range:hover{transform:translateY(-1px)}.st-kpi{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.st-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a0f;border-color:#2563eb40}@media(prefers-reduced-motion:reduce){.stats-page .st-kpi,.stats-page .st-card,.st-col-stack,.st-svg-line,.st-svg-area,.st-svg-dot,.st-dist-fill,.reg-page .topbar,.pk-bar,.reg-table-wrap,.pk-station,.pk-item{animation:none!important}}.pk-link-stats{padding:12px 16px;font-size:14px;border-radius:12px}.pk-bar{padding:28px var(--pc-gutter) 18px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:0;background:#fff}.pk-bar-title{font-size:30px}.pk-bar-meta{font-size:16px;margin-top:4px}.pk-bar-counts{display:none}.pk-bar-actions{gap:12px}.pk-stat-pills{display:flex;gap:10px}.pk-pill{min-width:96px;padding:12px 16px;border-radius:14px;background:var(--accent-soft);border:1px solid rgba(37,99,235,.12);display:flex;flex-direction:column;gap:2px}.pk-pill.muted{background:#f8fafc;border-color:var(--line)}.pk-pill-num{font-size:26px;font-weight:800;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}.pk-pill.muted .pk-pill-num{color:var(--ink);opacity:.55}.pk-pill-label{font-size:12px;font-weight:650;color:var(--muted)}.pk-link-reg{padding:12px 18px;font-size:14px;border-radius:12px}.pk-body{padding:20px var(--pc-gutter) 40px;gap:20px}.pk-stations{gap:20px}.pk-station{border-radius:18px;box-shadow:none;border:1px solid var(--line);overflow:visible}.pk-station-head{padding:16px 20px;background:var(--pk-soft, #fff);border-bottom:1px solid color-mix(in srgb,var(--pk-bar, var(--accent)) 14%,var(--line));border-radius:18px 18px 0 0;position:sticky;top:0;z-index:5}.pk-station-body{min-width:0}.pk-station-top{margin-bottom:6px}.pk-station-tag{font-size:12px;padding:3px 10px}.pk-station-name{font-size:22px;font-weight:800;max-width:none;line-height:1.4}.pk-nav{width:auto;height:38px;padding:0 14px;border-radius:10px;background:var(--accent);color:#fff}.pk-nav-text{display:inline}.pk-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;padding:18px 20px 20px;background:#f8fafc;border-radius:0 0 18px 18px}.pk-item{flex-direction:column;align-items:stretch;gap:10px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;border-bottom:1px solid var(--line);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.pk-item:last-child{border-bottom:1px solid var(--line)}.pk-item:hover{border-color:#2563eb59;box-shadow:0 8px 20px #0f172a0f;transform:translateY(-1px)}.pk-item-code{font-size:28px;letter-spacing:.05em;text-align:center}.pk-item-tags{justify-content:center;margin-top:8px}.pk-item-track{display:block;text-align:center;opacity:.85}.pk-item-done{width:100%;height:42px;border-radius:10px;box-shadow:none}.pk-item-done:hover{filter:brightness(1.05)}.pk-item.is-done:hover{opacity:.55}.reg-page .topbar{padding:24px var(--pc-gutter) 14px;border-bottom:1px solid var(--line);background:#fff}.reg-toolbar{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}.reg-toolbar .day-tabs{width:360px;flex-shrink:0}.reg-table-wrap{margin:16px var(--pc-gutter) 0;border:1px solid var(--line);border-radius:16px;overflow:auto;background:#fff}.reg-table-wrap .empty{margin:0;border:none;box-shadow:none}.reg-table{width:100%;border-collapse:collapse;font-size:14px;min-width:860px}.reg-table th{text-align:left;font-size:12px;font-weight:700;color:var(--muted);padding:14px 16px;background:#f8fafc;border-bottom:1px solid var(--line);white-space:nowrap}.reg-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink)}.reg-table tr:last-child td{border-bottom:none}.reg-table tr:hover td{background:#f8fafc}.reg-table tr.is-done td{opacity:.55}.td-code-btn{font-size:18px;font-weight:800;letter-spacing:.04em;color:var(--ink);text-align:left}.td-code-btn:hover{color:var(--accent)}.td-station{max-width:360px;line-height:1.35}.td-actions{white-space:nowrap}.status-pill{display:inline-flex;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--accent-soft);color:var(--accent)}.status-pill.ok{background:var(--ok-soft);color:var(--ok)}.link-btn{font-size:13px;font-weight:650;color:var(--muted);padding:4px 6px;margin-right:2px}.link-btn:hover{color:var(--accent)}.link-btn.ok{color:var(--ok-btn)}.link-btn.danger{color:var(--danger)}.link-btn.danger:hover{color:#b91c1c}.confirm-dialog{width:min(100%,420px);padding:26px 26px 20px}.confirm-title{font-size:20px}.confirm-btn{height:46px;cursor:pointer}.form-page{padding-bottom:40px}.form-page .page-nav,.detail-page .page-nav{padding:18px var(--pc-gutter);border-bottom:1px solid var(--line);background:#fff}.form-layout{padding:20px var(--pc-gutter) 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.more-body-desktop{display:block!important;animation:none}.form-footer{position:static;left:auto;transform:none;width:100%;max-width:none;padding:24px var(--pc-gutter) 0;background:none}.form-footer .save-btn{max-width:320px;margin-left:auto;display:block}.swipe-row{display:flex;align-items:stretch;background:transparent;overflow:visible;gap:8px}.swipe-actions{position:static;width:auto;flex-shrink:0;display:flex;gap:6px;order:2}.swipe-content{flex:1;transform:none!important;transition:none;border-radius:14px}.swipe-btn{width:56px;border-radius:12px;height:auto;min-height:44px}.detail-page{max-width:none;margin:0;min-height:100dvh;padding-bottom:48px;background:#f8fafc}.detail-page .page-nav{position:sticky;top:0;justify-content:flex-start;gap:14px}.detail-page .page-nav .title{flex:0 0 auto;font-size:22px;margin-right:auto}.detail-page .page-nav .back{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;transition:background .15s ease,border-color .15s ease,transform .15s ease}.detail-page .page-nav .back:hover{background:var(--accent-soft);border-color:#2563eb40;transform:translate(-1px)}.detail-layout{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(380px,1.05fr);gap:24px;align-items:stretch;width:100%;max-width:1120px;margin:0 auto;padding:28px var(--pc-gutter) 40px}.detail-side{display:flex;flex-direction:column;gap:16px;min-width:0}.detail-page .detail-hero{margin:0;min-height:320px;padding:28px 28px 32px;border-radius:24px;display:flex;flex-direction:column;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.detail-page .detail-hero:hover{transform:translateY(-2px);box-shadow:0 18px 40px #2563eb5c}.detail-page .detail-hero.is-done:hover{box-shadow:0 18px 40px #05966952}.detail-page .detail-hero:active{transform:translateY(0) scale(.995)}.detail-hero-hint{display:block}.detail-hero .code{font-size:clamp(44px,4.2vw,64px);letter-spacing:.12em}.detail-page .detail-body{margin:0;gap:14px;flex:1 1 auto}.detail-page .d-card{border-radius:18px;border:1px solid var(--line);box-shadow:0 1px 2px #0f172a08;background:#fff}.detail-page .d-addr{padding:18px 18px 18px 20px}.detail-page .d-addr-text{font-size:18px}.detail-page .nav-link{flex-direction:row;width:auto;height:44px;padding:0 14px;gap:6px;border-radius:12px;transition:background .15s ease,transform .15s ease}.detail-page .nav-link:hover{background:#dbeafe;transform:translateY(-1px)}.detail-page .d-card-list .d-row{padding:16px 18px}.detail-page .d-ico{width:38px;height:38px;border-radius:12px}.detail-page .d-value{font-size:16px}.detail-page .detail-actions{margin:0;flex-direction:row;align-items:stretch;gap:12px}.detail-page .detail-actions .btn-main{flex:1.35;height:52px;border-radius:14px;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.detail-page .detail-actions .btn-main:hover{transform:translateY(-1px);filter:brightness(1.03)}.detail-page .detail-actions-row{flex:1;gap:10px}.detail-page .btn-side{height:52px;border-radius:14px;background:#fff;transition:transform .15s ease,border-color .15s ease,background .15s ease}.detail-page .btn-side:hover{transform:translateY(-1px);border-color:#cbd5e1;background:#fff}.detail-page .btn-side.danger:hover{border-color:#fca5a5;background:#fef2f2}.toast{bottom:40px}}@media(min-width:960px)and (max-width:1099px){.detail-layout{grid-template-columns:1fr;max-width:720px}.detail-page .detail-hero{min-height:220px}}@media(min-width:1280px){:root{--pc-gutter: clamp(32px, 4vw, 56px)}.pk-items{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.pk-item-code{font-size:30px}.st-kpis{gap:18px}}@media(min-width:1600px){:root{--pc-gutter: 64px}.pk-items{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
