:root{color-scheme:light;--accent: #0b5fbf;--accent-dark: #0a52a6;--ink: #15181f;--muted: #737a87;--line: #e7eaef;--soft: #eaf1fc;--bg: #f7f8fa;--card: #ffffff;--dark: #0c1b33;--ok: #1f8a5b;--warn: #e4572e;--radius-card: 16px;--radius-ctrl: 13px;--shadow-card: 0 8px 20px -12px rgba(18, 31, 59, .22);--shadow-btn: 0 10px 22px -10px rgba(11, 95, 191, .8)}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Lato,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}button{font-family:inherit;-webkit-tap-highlight-color:transparent}#app{max-width:30rem;margin:0 auto;min-height:100vh;padding:0 22px 28px;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;gap:12px;padding:20px 0 10px}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-btn)}.wordmark{margin:0;font-size:18px;font-weight:800;letter-spacing:-.3px}.wordmark-sub{margin:1px 0 0;font-size:12.5px;font-weight:700;color:var(--muted)}.paired-pill{display:inline-flex;align-items:center;gap:7px;background:var(--soft);color:var(--accent);font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:999px;white-space:nowrap}.paired-pill:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--ok)}.site-footer{margin-top:auto;padding-top:22px;font-size:12px;color:var(--muted);line-height:1.5}.site-footer p{margin:.3rem 0}.site-footer a{color:var(--accent);font-weight:700}h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.5px;line-height:1.12}h2{margin:0 0 10px;font-size:12.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.lead{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--muted)}.hint{margin:12px 0 0;font-size:12.5px;font-weight:600;line-height:1.5;color:var(--muted)}.muted{color:var(--muted);font-size:14px}.panel{margin-top:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin:0}.chip-pill{font-size:12.5px;font-weight:800;color:var(--accent);background:var(--soft);padding:7px 12px;border-radius:999px;white-space:nowrap;flex-shrink:0}.btn{width:100%;border:none;cursor:pointer;border-radius:14px;padding:16px 20px;font-size:16.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);transition:background .15s,box-shadow .15s}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:active{background:var(--accent-dark)}.btn:disabled{background:#c7ccd6;color:#fff;box-shadow:none;cursor:default}.btn-sm{width:auto;padding:9px 14px;font-size:13.5px;border-radius:11px}.btn-add{width:100%;background:transparent;border:2px dashed var(--line);border-radius:var(--radius-card);cursor:pointer;color:var(--accent);font-size:15px;font-weight:800;padding:18px;display:flex;align-items:center;justify-content:center;gap:9px}.btn-row{display:flex;gap:10px}.btn-row .btn{flex:1}.icon-btn{width:38px;height:38px;border-radius:12px;background:var(--card);border:1px solid var(--line);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0}.topnav{display:flex;align-items:center;gap:14px;padding:4px 0 18px}.rail{display:flex;align-items:center;flex:1}.rail-dot{width:11px;height:11px;border-radius:999px;flex-shrink:0;border:3px solid var(--line);background:var(--card)}.rail-dot.done,.rail-dot.current{border-color:var(--accent);background:var(--accent)}.rail-dot.current{width:14px;height:14px}.rail-link{flex:1;height:4px;background:var(--line)}.rail-link.done{background:var(--accent)}.rail-count{font-size:13px;font-weight:800;color:var(--muted);min-width:28px;text-align:right}.step-body{margin-top:18px;display:flex;flex-direction:column;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:17px}.search-field{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:var(--radius-ctrl);padding:4px 14px;border:2px solid var(--line);transition:border-color .15s}.search-field:focus-within{border-color:var(--accent)}.search-field svg{flex-shrink:0}.search-field input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:16px;font-weight:700;color:var(--ink);padding:12px 0;min-width:0}.search-field input::placeholder{color:var(--muted);font-weight:600}.results{margin:6px 0 0;padding:0;list-style:none}.list-label{font-size:11.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:11px 2px 4px}.result{width:100%;text-align:left;display:flex;align-items:center;gap:12px;padding:13px 4px;background:transparent;border:none;border-top:1px solid var(--line);cursor:pointer}.results li:first-child .result{border-top:none}.result-icon{width:38px;height:38px;border-radius:10px;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted)}.result[aria-selected=true] .result-icon{background:var(--soft);border-color:transparent;color:var(--accent)}.result-text{flex:1;min-width:0}.result-name{font-size:15px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{font-size:12.5px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-check{width:24px;height:24px;border-radius:999px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chosen-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px 16px}.chosen-row .result-text{flex:1}.option-list{display:flex;flex-direction:column;gap:12px}.option{width:100%;text-align:left;display:flex;align-items:center;gap:14px;background:var(--card);border-radius:var(--radius-card);padding:16px 17px;cursor:pointer;border:2px solid var(--line);transition:border-color .15s,box-shadow .15s}.option-on{border-color:var(--accent);box-shadow:0 8px 20px -10px #0b5fbf66}.option-glyph{width:44px;height:44px;border-radius:13px;background:var(--soft);color:var(--accent);flex-shrink:0;display:flex;align-items:center;justify-content:center}.option-on .option-glyph{background:var(--accent);color:#fff}.option-text{flex:1;min-width:0}.option-label{font-size:17px;font-weight:800;color:var(--ink)}.option-sub{font-size:13px;color:var(--muted);font-weight:600;margin-top:1px}.option-radio{width:24px;height:24px;border-radius:999px;flex-shrink:0;border:2px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;color:#fff}.option-on .option-radio{border-color:var(--accent);background:var(--accent)}.route-badge{min-width:42px;height:32px;padding:0 8px;border-radius:9px;background:var(--accent);color:#fff;font-weight:900;font-size:15px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-variant-numeric:tabular-nums}.route-badge.sm{min-width:34px;height:24px;font-size:13px;border-radius:7px}.toggle-row{display:flex;align-items:center;gap:13px;background:var(--card);border-radius:14px;padding:12px 15px;border:1px solid var(--line)}.toggle-row.accent{background:var(--soft);border-color:transparent}.toggle-row .row-label{flex:1;font-size:14.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toggle-row.accent .row-label{color:var(--accent);font-weight:800}.toggle{width:50px;height:30px;border-radius:999px;border:none;cursor:pointer;background:#cdd3dd;position:relative;flex-shrink:0;padding:0;transition:background .15s}.toggle[aria-checked=true]{background:var(--accent)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0003;transition:left .15s}.toggle[aria-checked=true]:after{left:23px}.stepper{display:flex;align-items:center;gap:16px}.stepper-btn{width:46px;height:46px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;font-size:24px;font-weight:700;color:var(--accent);display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.stepper-value{flex:1;text-align:center}.stepper-value .num{font-size:38px;font-weight:800;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stepper-value .unit{font-size:16px;font-weight:700;color:var(--muted);margin-left:6px}.card-eyebrow{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--accent);font-weight:800;font-size:12.5px;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.segmented{display:flex;background:var(--bg);border-radius:12px;padding:4px;gap:4px;border:1px solid var(--line)}.segmented button{flex:1;border:none;cursor:pointer;border-radius:9px;padding:11px 8px;background:transparent;text-align:center}.segmented button[aria-pressed=true]{background:var(--card);box-shadow:0 1px 3px #121f3b1f}.seg-label{font-size:14.5px;font-weight:800;color:var(--muted)}.segmented button[aria-pressed=true] .seg-label{color:var(--ink)}.seg-sub{font-size:11px;font-weight:600;color:var(--muted);margin-top:2px}.segmented button[aria-pressed=true] .seg-sub{color:var(--accent)}.day-pills{display:flex;gap:6px}.day-pill{flex:1;height:40px;border-radius:11px;border:1px solid var(--line);cursor:pointer;font-size:14px;font-weight:800;background:var(--card);color:var(--muted);padding:0}.day-pill[aria-pressed=true]{border-color:transparent;background:var(--accent);color:#fff}.window-times{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.window-times input[type=time],.field-row input[type=time]{border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-family:inherit;font-size:17px;font-weight:800;padding:8px 10px}.window-times .to{font-size:15px;color:var(--muted);font-weight:700}.window-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.window-meta label{font-size:13.5px;font-weight:700;color:var(--ink)}.num-input{width:4.6rem;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-family:inherit;font-size:16px;font-weight:700;padding:9px 10px;text-align:center}.eyebrow-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.eyebrow{display:flex;align-items:center;gap:8px;color:var(--accent);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.tag{font-size:10.5px;font-weight:800;color:var(--accent);background:var(--soft);padding:4px 9px;border-radius:7px;white-space:nowrap}.field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 0}.field-row label{font-size:14px;font-weight:700}.text-input{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font-family:inherit;font-size:16px;font-weight:600;padding:13px 14px}.text-input:focus,.num-input:focus,.window-times input:focus,.field-row input:focus{outline:none;border-color:var(--accent)}.trip-card{width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);padding:15px 16px 14px}.trip-card-head{display:flex;align-items:center;gap:9px;margin-bottom:9px}.badge-primary{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:900;letter-spacing:.6px;padding:4px 9px;border-radius:999px;white-space:nowrap}.trip-name{font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-sub{font-size:13px;font-weight:700;color:var(--muted);margin-top:1px}.trip-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.trip-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.review-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.review-head{background:var(--dark);color:#fff;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.review-head .tp{font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase}.review-body{padding:2px 16px 12px}.review-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.review-row:first-child{border-top:none}.review-row .k{font-size:13px;color:var(--muted);font-weight:700}.review-row .v{font-size:14px;font-weight:800;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-strip{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;font-weight:600;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.info-strip.accent{background:var(--soft);border-color:transparent;color:var(--ink)}.info-strip svg{flex-shrink:0}.error-bar{background:var(--warn);color:#fff;border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:700}.notice{margin-top:28px;display:flex;flex-direction:column;gap:14px}.notice h1{font-size:24px}.notice p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.success{text-align:center;margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:14px}.success-check{width:80px;height:80px;border-radius:999px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 11px #0b5fbf33}.save-row{margin-top:24px;display:flex;flex-direction:column;gap:10px}.cta-row{margin-top:18px;display:flex;flex-direction:column;gap:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
