.supRoot{--bg:#f4f5f7;--card:#ffffff;--text:#1a1e24;--muted:#67707d;--border:#e2e5ea;--accent:#2563eb;--accent-ink:#ffffff;--accent-soft:#eaf0fe;--ok:#178a4c;--ok-soft:#e6f4ec;--warn:#b45309;--warn-soft:#fdf3e4;--danger:#dc2626;--danger-soft:#fdecec;--chip:#eef0f4;--shadow:0 1px 3px rgba(16,24,40,0.08);color-scheme:light;min-height:100dvh;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}@media (prefers-color-scheme:dark){.supRoot{--bg:#101317;--card:#191d23;--text:#e8eaee;--muted:#99a1ad;--border:#2b313a;--accent:#4c82f0;--accent-soft:#1c2637;--ok:#34b16d;--ok-soft:#14291d;--warn:#d98b2b;--warn-soft:#2e2312;--danger:#ef5350;--danger-soft:#331716;--chip:#242a32;--shadow:0 1px 3px rgba(0,0,0,0.4);color-scheme:dark}}.supRoot *{box-sizing:border-box}.supRoot h1,.supRoot h2,.supRoot h3,.supRoot ol,.supRoot p,.supRoot ul{margin:0;padding:0}.supRoot ol,.supRoot ul{list-style:none}.supRoot a{color:var(--accent);text-decoration:none}.supWrap{max-width:760px;margin:0 auto;padding:16px 14px 56px}.supWrapNarrow{max-width:460px}.supHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0 16px;flex-wrap:wrap}.supHead h1{font-size:22px;font-weight:700;letter-spacing:-.01em}.supHeadSub{color:var(--muted);font-size:14px;margin-top:2px}.supBrand{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.supCard{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}.supStack>*+*{margin-top:12px}.supMuted{color:var(--muted)}.supSmall{font-size:13px}.supCenter{text-align:center}.supRoot a.supBtn,.supRoot button.supBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 18px;width:auto;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;line-height:1.2}.supRoot a.supBtn:hover,.supRoot button.supBtn:hover{background:var(--chip)}.supRoot a.supBtnPrimary,.supRoot button.supBtnPrimary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.supRoot a.supBtnPrimary:hover,.supRoot button.supBtnPrimary:hover{background:var(--accent);opacity:.92}.supRoot button.supBtnDanger{background:var(--card);border-color:var(--danger);color:var(--danger)}.supRoot button.supBtnDanger:hover{background:var(--danger-soft)}.supRoot a.supBtnSm,.supRoot button.supBtnSm{min-height:40px;padding:8px 14px;font-size:14px;border-radius:10px}.supRoot button.supBtnFull{width:100%}.supRoot button.supBtn:disabled{opacity:.55;cursor:not-allowed}.supRoot .supInput,.supRoot select.supInput,.supRoot textarea.supInput{width:100%;min-height:50px;padding:12px 14px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;font-size:16px;font-family:inherit;line-height:1.3}.supRoot .supInput:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.supRoot .supInputBad{border-color:var(--danger)}.supRoot textarea.supInput{min-height:88px;resize:vertical}.supLabel{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.supField{margin-bottom:14px}.supErr{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:10px;font-size:15px}.supErr,.supWarnBox{padding:10px 12px;font-weight:500}.supWarnBox{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn);border-radius:10px;font-size:14px}.supOkBox{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok);border-radius:10px;padding:12px;font-size:15px;font-weight:600}.supBadge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;background:var(--chip);color:var(--muted)}.supBadge.tOpen{background:var(--accent-soft);color:var(--accent)}.supBadge.tActive{background:var(--warn-soft);color:var(--warn)}.supBadge.tDone{background:var(--ok-soft);color:var(--ok)}.supBadge.tSkip{background:var(--chip);color:var(--muted)}.supBadge.tBad{background:var(--danger-soft);color:var(--danger)}.supBar{height:8px;border-radius:999px;background:var(--chip);overflow:hidden}.supBarFill{height:100%;border-radius:999px;background:var(--ok);transition:width .3s ease}.supTabs{display:flex;gap:6px;background:var(--chip);border-radius:12px;padding:4px;margin-bottom:18px}.supRoot button.supTab{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;padding:8px}.supRoot button.supTab.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.supRouteCard{display:block;color:inherit}.supRouteCard:hover{border-color:var(--accent)}.supRouteTop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.supRouteName{font-size:17px;font-weight:700}.supTableWrap{overflow-x:auto;margin:0 -16px;padding:0 16px}.supTable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:480px}.supTable th{text-align:left;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:8px 10px}.supTable td,.supTable th{border-bottom:1px solid var(--border)}.supTable td{padding:10px;vertical-align:top}.supTable tr:last-child td{border-bottom:0}.supCredCode{font-size:30px;font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums;word-break:break-all}.supCredRow{gap:12px;flex-wrap:wrap}.supCredRow,.supModalBack{display:flex;align-items:center}.supModalBack{position:fixed;inset:0;z-index:2000;background:rgba(10,14,20,.55);justify-content:center;padding:18px}.supModal{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:20px;max-width:420px;width:100%;box-shadow:0 12px 40px rgba(0,0,0,.35)}.supModal h3{font-size:18px;margin-bottom:8px}.supRunHead{padding:6px 0 12px}.supMapBox{height:40vh;min-height:220px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--chip)}.supMapBox .leaflet-container{height:100%;width:100%;background:#e9edf1;font:inherit}@media (prefers-color-scheme:dark){.supMapBox .leaflet-container{background:#232830}.supMapBox .leaflet-tile{filter:brightness(.82) saturate(.9)}}.supPin{width:28px;height:28px;border-radius:50%;justify-content:center;color:#fff;font-size:13px;font-weight:700;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}.supPin,.supStopRow{display:flex;align-items:center}.supStopRow{gap:12px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}.supStopRow.current{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-1px}.supStopSeq{flex:none;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--chip);color:var(--muted);font-weight:700;font-size:15px}.supStopSeq.cDone{background:var(--ok-soft);color:var(--ok)}.supStopSeq.cCurrent{background:var(--accent);color:var(--accent-ink)}.supStopMain{flex:1 1 auto;min-width:0;cursor:pointer}.supStopName{font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supStopMeta{font-size:13px;color:var(--muted);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.supStopSide{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.supSheetBack{position:fixed;inset:0;z-index:2500;background:rgba(10,14,20,.55)}.supSheet{position:fixed;z-index:2600;left:0;right:0;bottom:0;top:6dvh;background:var(--bg);color:var(--text);border-radius:18px 18px 0 0;border:1px solid var(--border);border-bottom:0;overflow-y:auto;padding:16px 14px 40px;box-shadow:0 -8px 40px rgba(0,0,0,.35)}@media (min-width:700px){.supSheet{left:50%;right:auto;transform:translateX(-50%);width:620px;top:5dvh;bottom:5dvh;border-radius:18px;border-bottom:1px solid var(--border)}}.supSheetHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}.supChoiceGrid{display:grid;grid-template-columns:1fr;gap:8px}.supRoot button.supChoice{min-height:52px;padding:12px 14px;text-align:left;border:1.5px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:16px;font-weight:600;font-family:inherit;cursor:pointer}.supRoot button.supChoice.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.supThumbGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin-top:10px}.supThumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--chip)}.supThumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.supThumbSeq{top:4px;left:4px;background:rgba(10,14,20,.65);font-size:11.5px;font-weight:700;padding:1px 7px;border-radius:999px}.supThumbSeq,.supThumbState{position:absolute;color:#fff}.supThumbState{inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:rgba(10,14,20,.55);font-size:12px;font-weight:600;text-align:center;padding:4px}.supRoot button.supThumbRetry{min-height:30px;padding:4px 10px;font-size:12px;border-radius:8px;border:0;background:var(--danger);color:#fff;font-weight:700;cursor:pointer;font-family:inherit}.supPhotoCount{font-size:14px;font-weight:600;color:var(--muted)}.supPhotoCount.ok{color:var(--ok)}.supFileBtn{position:relative;overflow:hidden}.supFileBtn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.supSpin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:supSpin .8s linear infinite}@keyframes supSpin{to{transform:rotate(1turn)}}.supEmpty{padding:36px 12px;text-align:center;color:var(--muted);font-size:15px}