.mode-chooser h1{margin-bottom:var(--space-4)}.mode-chooser .choices{display:grid;gap:var(--space-3)}.mode-chooser .choice{display:flex;align-items:center;gap:var(--space-4);width:100%;text-align:left;min-height:96px;padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);font-size:var(--text-body)}.mode-chooser .choice strong{font-size:var(--text-h2);display:block}.mode-chooser .choice:hover{border-color:var(--brand-primary)}.choice-icon{flex:0 0 auto;color:var(--brand-primary)}.mode-chooser .track-link{margin-top:var(--space-5);text-align:center}@media(min-width:560px){.mode-chooser .choices{grid-template-columns:1fr 1fr}.mode-chooser .choice{flex-direction:column;align-items:flex-start;min-height:168px}}.parcel-home{display:grid;gap:var(--space-4)}.parcel-hero h1{margin:var(--space-2) 0}.parcel-hero .primary{margin-top:var(--space-3);min-height:var(--target-primary)}.switch-mode{text-align:center}.track-form{display:grid;gap:var(--space-3)}.track-form .field{margin:0}.track-form button{min-height:var(--target)}@media(min-width:560px){.track-form{grid-template-columns:1fr 1fr auto;align-items:end}.track-form button{height:var(--target);min-height:0}}.tracked{margin-top:var(--space-4)}.parcel-send .progress{margin:0 0 var(--space-4)}.parcel-send .stack{display:grid;gap:var(--space-3)}.swap-towns{justify-self:start;min-height:var(--target)}.wizard-actions{margin-top:var(--space-5)}.wizard-actions button{min-height:var(--target-primary);min-width:128px}.size-cards,.offer-cards{border:0;margin:0 0 var(--space-4);padding:0;display:grid;gap:var(--space-2)}.size-cards legend{font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.size-card,.offer-card{display:flex;gap:var(--space-3);align-items:flex-start;min-height:var(--target);padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer}.size-card input,.offer-card input{margin-top:4px;flex:0 0 auto;width:20px;height:20px}.size-card.chosen,.offer-card.chosen{border:2px solid var(--brand-primary);padding:11px 13px;background:var(--brand-sky-soft)}.offer-body{flex:1;display:grid;gap:2px}.offer-body .money{font-size:var(--text-h2)}.offer-tags{gap:var(--space-2);margin-top:var(--space-1)}.prohibited ul{list-style:none;padding:0;margin:0 0 var(--space-3);display:grid;gap:6px}.prohibited li span{color:var(--state-danger-text);font-weight:var(--weight-bold)}.strong-check{padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);align-items:flex-start}.review{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4)}.review dt{color:var(--text-muted)}.review dd{margin:0}.waybill-card{text-align:center;display:grid;gap:var(--space-2);justify-items:center}.waybill-card p{margin:0}.waybill{font-size:var(--text-display);font-weight:var(--weight-bold);letter-spacing:.04em;color:var(--text-strong)}.pay-line{font-size:var(--text-h2)}.next-steps{display:grid;gap:var(--space-3);padding-left:var(--space-5);margin:var(--space-5) 0}.parcel-booked .actions{gap:var(--space-2)}.my-parcels>.row{margin-bottom:var(--space-3)}.tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.tabs [role=tab]{min-height:var(--target);border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--text-muted);padding:0 var(--space-3)}.tabs [role=tab][aria-selected=true]{color:var(--text-strong);border-bottom-color:var(--brand-primary);font-weight:var(--weight-bold)}.tab-count{margin-left:var(--space-2)}.parcel-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-3)}button.parcel-summary,button.parcel-summary:hover:not(:disabled){display:grid;justify-content:stretch;gap:4px;width:100%;text-align:left;background:none;border:0;border-radius:0;padding:0;color:var(--text);min-height:var(--target);font-weight:var(--weight-regular)}button.parcel-summary:hover:not(:disabled) .mono{text-decoration:underline}.collect-now{margin:var(--space-3) 0 0}.parcel-detail{margin-top:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-3)}.compact-dl{display:grid;grid-template-columns:auto 1fr;gap:4px var(--space-4);margin:var(--space-3) 0}.compact-dl dt{color:var(--text-muted)}.compact-dl dd{margin:0}.parcel-timeline{list-style:none;padding:0;margin:var(--space-3) 0}.parcel-timeline li{display:flex;gap:var(--space-3);position:relative;padding-bottom:var(--space-4)}.parcel-timeline li:last-child{padding-bottom:0}.parcel-timeline li:not(:last-child):after{content:"";position:absolute;left:11px;top:26px;bottom:2px;width:2px;background:var(--border)}.parcel-timeline li.done:not(:last-child):after{background:var(--brand-primary)}.parcel-timeline .dot{flex:0 0 24px;height:24px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;font-size:13px;font-weight:var(--weight-bold);color:var(--text-inverse)}.parcel-timeline li.done .dot{background:var(--brand-primary);border-color:var(--brand-primary)}.parcel-timeline li.now .dot{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--ink)}.parcel-timeline li.todo .what strong{color:var(--text-muted);font-weight:var(--weight-regular)}.luggage-line{margin:0}.luggage-card{margin-top:var(--space-4)}.luggage-card h2{margin-top:0}.tag{display:inline-block;margin:2px 6px 2px 0;padding:2px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.parcel-send .progress{overflow-x:visible;gap:0;padding-inline:var(--space-2)}.parcel-send .progress li{padding:0 2px}.parcel-send .progress li+li:after{width:8px}.carriers{border-top:1px solid var(--border);padding-top:var(--space-3)}.carriers p{margin:0 0 var(--space-2)}.carrier-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:grid;gap:var(--space-2)}.carrier-list li{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-BqRLTx4X.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ocean-950: #0b1e31;--ocean-900: #0d2c46;--ocean-800: #123b5d;--ocean-700: #1a4e7a;--sky-700: #1c6e9c;--sky-500: #55b8e8;--sky-100: #e3f3fb;--gold-700: #8a6212;--gold-800: #6b4c0e;--gold-500: #d6a63a;--gold-100: #fff4d6;--white: #ffffff;--mist: #f3f7fa;--ink: #243746;--slate-600: #52657a;--slate-500: #6e8296;--slate-200: #d5e0e9;--slate-100: #e9eff4;--brand-primary: var(--ocean-800);--brand-primary-hover: var(--ocean-700);--brand-primary-dark: var(--ocean-900);--brand-accent: var(--gold-500);--brand-accent-soft: var(--gold-100);--brand-accent-text: var(--gold-700);--brand-sky: var(--sky-500);--brand-sky-soft: var(--sky-100);--bg: var(--mist);--surface: var(--white);--surface-raised: var(--white);--surface-sunken: var(--slate-100);--surface-inverse: var(--ocean-800);--text: var(--ink);--text-strong: var(--ocean-900);--text-muted: var(--slate-600);--text-inverse: var(--white);--text-inverse-muted: #c5d3e0;--text-link: var(--sky-700);--border: var(--slate-200);--row-hover: #f6fafd;--row-selected: #eef7fc;--border-strong: var(--slate-500);--focus-ring: var(--sky-700);--focus-ring-inverse: var(--sky-500);--state-success: #11a66b;--state-success-text: #0b7a4d;--state-success-bg: #e6f4ec;--state-warning: #b06a00;--state-warning-text: #8a5300;--state-warning-bg: #fdf1dc;--state-danger: #b42318;--state-danger-text: #b42318;--state-danger-bg: #fcebea;--state-info: var(--sky-700);--state-info-text: var(--sky-700);--state-info-bg: var(--sky-100);--state-pending: #2a5da8;--state-pending-text: #2a5da8;--state-pending-bg: #e8effa;--state-neutral-text: var(--slate-600);--state-neutral-bg: var(--slate-100);--seat-available-bg: var(--white);--seat-available-border: var(--ocean-800);--seat-selected-bg: var(--ocean-800);--seat-selected-text: var(--white);--seat-unavailable-bg: var(--slate-200);--seat-unavailable-text: #46586b;--seat-blocked-pattern: repeating-linear-gradient(45deg, transparent 0 5px, rgba(36, 55, 70, .28) 5px 6px);--font: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--weight-regular: 400;--weight-medium: 600;--weight-bold: 700;--text-caption: 13px;--text-label: 14px;--text-body: 15px;--text-h3: 17px;--text-h2: 20px;--text-h1: 26px;--text-display: 34px;--leading-body: 1.5;--leading-tight: 1.2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--target: 40px;--target-primary: 44px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(18, 59, 93, .06), 0 1px 1px rgba(18, 59, 93, .04);--shadow-2: 0 4px 12px rgba(18, 59, 93, .08), 0 1px 3px rgba(18, 59, 93, .06);--shadow-3: 0 12px 32px rgba(13, 44, 70, .16);--duration-fast: .12s;--duration: .18s;--ease: cubic-bezier(.2, 0, 0, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{color:var(--text-strong);line-height:var(--leading-tight);font-weight:var(--weight-bold);margin:0 0 var(--space-2)}h1{font-size:var(--text-h1);letter-spacing:-.015em}h2{font-size:var(--text-h2);letter-spacing:-.01em}h3{font-size:var(--text-h3)}p{margin:0 0 var(--space-3)}a{color:var(--text-link);text-underline-offset:2px}img,svg{max-width:100%}.money,.num{font-variant-numeric:tabular-nums lining-nums}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;letter-spacing:.01em}.money{font-weight:var(--weight-medium)}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:2px}.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}.skip-link{position:absolute;left:var(--space-2);top:-100px;z-index:1000;padding:var(--space-2) var(--space-4);background:var(--brand-primary);color:var(--text-inverse);border-radius:var(--radius)}.skip-link:focus{top:var(--space-2)}::selection{background:var(--brand-accent-soft);color:var(--text-strong)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff}#masafa-demo-bar,.no-print{display:none!important}}.row{display:flex;gap:var(--space-2);align-items:center}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.stack>*+*{margin-top:var(--space-3)}.subtitle,.lede,.muted{color:var(--text-muted)}.lede{max-width:68ch;margin-bottom:var(--space-6)}.small,.caption{font-size:var(--text-caption)}.empty{color:var(--text-muted);padding:var(--space-6) 0;text-align:center}button,.button{font:inherit;font-weight:var(--weight-medium);min-height:var(--target);padding:0 var(--space-4);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);text-decoration:none;line-height:1.2}button:hover:not(:disabled),.button:hover{transition:background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease);background:var(--brand-sky-soft);border-color:var(--brand-primary)}button[aria-pressed]:hover,button.seat:hover{transition:none}button.primary,.button.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-inverse);min-height:var(--target-primary)}button.primary:hover:not(:disabled),.button.primary:hover{background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}button.primary:active:not(:disabled){background:var(--brand-primary-dark)}button.accent,.button.accent{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--ocean-900);min-height:var(--target-primary)}button.accent:hover:not(:disabled){background:#e2b54e;border-color:#e2b54e}button.danger,.button.danger{background:var(--state-danger);border-color:var(--state-danger);color:var(--white)}button.danger:hover:not(:disabled){background:#8f1c13;border-color:#8f1c13}button.ghost,button.link{background:transparent;border-color:transparent}button.link{color:var(--text-link);text-decoration:underline;text-underline-offset:2px;padding:0;min-height:0;font-weight:var(--weight-medium)}button.link:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--brand-primary)}button:disabled{cursor:not-allowed;opacity:1;background:var(--surface-sunken);border-color:var(--border);color:var(--text-muted)}button.full,.full{width:100%}button[aria-pressed=true]{background:var(--brand-sky-soft);border-color:var(--brand-primary);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--brand-primary)}label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--text-strong)}input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;width:100%;min-height:var(--target);padding:var(--space-2) var(--space-3);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);transition:border-color var(--duration-fast) var(--ease)}input::placeholder,textarea::placeholder{color:var(--slate-500);opacity:1}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--brand-primary)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:0;border-color:var(--brand-primary)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--state-danger)}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--brand-primary);margin:0}fieldset{border:0;padding:0;margin:0 0 var(--space-4);min-width:0}legend{font-size:var(--text-label);font-weight:var(--weight-bold);color:var(--text-strong);padding:0;margin-bottom:var(--space-2)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}label.check{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-regular);min-height:32px}.problems{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-8);border-radius:var(--radius);border-left:4px solid var(--state-danger);background:var(--state-danger-bg);color:var(--state-danger-text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-1)}.card+.card{margin-top:var(--space-4)}.skeleton{min-height:112px;background:linear-gradient(90deg,var(--surface-sunken) 0%,var(--surface) 50%,var(--surface-sunken) 100%) 0 0 / 200% 100%;animation:masafa-shimmer 1.4s linear infinite;border-color:var(--border);box-shadow:none}.skeleton.tall{min-height:320px}@keyframes masafa-shimmer{to{background-position:-200% 0}}.chip,.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:1.5;white-space:nowrap;border:1px solid var(--border);background:var(--surface-sunken);color:var(--text)}button.chip{min-height:36px;padding:0 var(--space-4);font-size:var(--text-label);background:var(--surface);border-color:var(--border-strong);color:var(--text-strong)}.chip.ok,.badge.ok{background:var(--state-success-bg);border-color:transparent;color:var(--state-success-text)}.chip.high,.chip.warning,.badge.warn,.badge.warning{background:var(--state-warning-bg);border-color:transparent;color:var(--state-warning-text)}.chip.critical,.chip.danger,.badge.danger{background:var(--state-danger-bg);border-color:transparent;color:var(--state-danger-text)}.chip.pending,.badge.pending{background:var(--state-pending-bg);border-color:transparent;color:var(--state-pending-text)}.chip.info,.badge.info{background:var(--state-info-bg);border-color:transparent;color:var(--state-info-text)}.chip.muted,.badge.muted{background:var(--state-neutral-bg);border-color:transparent;color:var(--state-neutral-text)}.chip.brand{background:var(--brand-accent-soft);border-color:transparent;color:var(--gold-800)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);border-left:4px solid var(--state-info);background:var(--state-info-bg);color:var(--text);margin-bottom:var(--space-4)}.notice>:last-child{margin-bottom:0}.notice.ok{border-color:transparent;border-left-color:var(--state-success);background:var(--state-success-bg)}.notice.warning,.notice.warn{border-color:transparent;border-left-color:var(--state-warning);background:var(--state-warning-bg)}.notice.error,.notice.danger{border-color:transparent;border-left-color:var(--state-danger);background:var(--state-danger-bg)}.notice.pending{border-color:transparent;border-left-color:var(--state-pending);background:var(--state-pending-bg)}.notice.compact{padding:var(--space-2) var(--space-3)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-strong);white-space:nowrap}td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:top}tbody tr:hover td{background:var(--row-hover)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.pager{display:flex;gap:var(--space-2);align-items:center;justify-content:flex-end;margin-top:var(--space-4)}dialog.dialog{border:0;border-radius:var(--radius-lg);padding:var(--space-6);max-width:min(480px,calc(100vw - 32px));box-shadow:var(--shadow-3);color:var(--text)}dialog.dialog::backdrop{background:#0b1e317a}dialog.dialog .record{padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius)}.wordmark{font-weight:var(--weight-bold);letter-spacing:-.01em;color:var(--text-strong);position:relative;padding-bottom:3px;background:linear-gradient(90deg,var(--brand-accent),var(--brand-accent)) 0 100% / 1.4em 3px no-repeat}.on-navy .wordmark{color:var(--text-inverse)}.tagline{font-size:var(--text-caption);color:var(--text-muted);letter-spacing:.02em}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);padding:var(--space-5) var(--space-3)}body:has(#masafa-demo-bar) .sidebar{top:28px;height:calc(100vh - 28px)}.sidebar .brand{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-2);margin-bottom:var(--space-5)}.sidebar .brand .wordmark{font-size:22px;align-self:flex-start}.sidebar .who{font-size:var(--text-caption);color:var(--text-muted);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--brand-accent-soft);border:1px solid rgba(214,166,58,.35);overflow-wrap:anywhere}.sidebar .who strong{color:var(--text-strong)}.nav{display:flex;flex-direction:column;gap:2px}.nav button{justify-content:flex-start;width:100%;min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-weight:var(--weight-medium);text-align:left;position:relative}.nav button:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-strong)}.nav button[aria-current=page],.nav button[aria-current=page]:hover:not(:disabled){background:var(--brand-sky-soft);color:var(--text-strong);font-weight:var(--weight-bold)}.nav button[aria-current=page]:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:2px;background:var(--brand-accent)}.sidebar .signout{margin-top:auto}.sidebar .nav+.signout,.sidebar .who+.signout{margin-top:var(--space-6)}.main{padding:var(--space-6) var(--space-8) var(--space-12);max-width:1280px;min-width:0;width:100%}.main h1{font-size:var(--text-h1);margin:0 0 var(--space-1)}@media(max-width:900px){.shell{display:block}.sidebar,body:has(#masafa-demo-bar) .sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);border-right:0;border-bottom:1px solid var(--border)}.sidebar .brand{margin:0;flex-direction:row;align-items:baseline;gap:var(--space-2)}.sidebar .brand{flex:1}.sidebar .who{order:4;flex-basis:100%;margin:0;padding:var(--space-1) var(--space-2)}.sidebar .who br{display:none}.sidebar .who strong:after{content:" · ";font-weight:var(--weight-regular)}.sidebar .signout,.sidebar .nav+.signout,.sidebar .who+.signout{margin:0;width:auto}.nav{order:5;flex-basis:100%;flex-direction:row;overflow-x:auto;gap:var(--space-1);padding-bottom:2px;scrollbar-width:thin}.nav button{width:auto;white-space:nowrap;flex:0 0 auto}.nav button[aria-current=page]:before{left:10px;right:10px;top:auto;bottom:0;width:auto;height:3px}.main{padding:var(--space-4) var(--space-4) var(--space-10)}}button.small{min-height:30px;padding:0 var(--space-3);font-size:var(--text-label)}button.tile,button.card,button.trip-row{align-items:stretch;justify-content:flex-start;text-align:left;min-height:0}button.tile:hover:not(:disabled),button.card:hover:not(:disabled){background:var(--surface);border-color:var(--brand-primary);box-shadow:var(--shadow-2)}tr.selectable{cursor:pointer}tr.selected td,tr.selected:hover td{background:var(--row-selected)}tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--brand-accent)}.shell{background:linear-gradient(90deg,var(--sidebar-bg, var(--surface)) 0 232px,transparent 232px)}@media(max-width:900px){.shell{background:none}}:root{--text-body: 17px;--text-label: 15px;--text-caption: 14px;--text-h1: 27px;--text-h2: 21px;--text-display: 36px;--target: 48px;--target-primary: 52px;--page: 640px}.app{min-height:100vh;display:flex;flex-direction:column}main{width:100%;max-width:var(--page);margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-12);flex:1}.topbar{background:var(--brand-primary);color:var(--text-inverse);padding:var(--space-2) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.topbar :focus-visible{outline-color:var(--focus-ring-inverse)}.topbar .brand,.topbar .brand:hover:not(:disabled){background:transparent;border:0;padding:0 var(--space-1);min-height:44px}.topbar .wordmark{color:var(--text-inverse);font-size:22px}.topbar nav{display:flex;gap:var(--space-1);flex-wrap:wrap}.topbar nav button{background:transparent;border:1px solid transparent;color:var(--text-inverse);min-height:44px;padding:0 var(--space-3);font-size:16px}.topbar nav button:hover:not(:disabled){background:#ffffff1a;border-color:transparent}.topbar nav button[aria-current=page]{box-shadow:inset 0 -3px 0 var(--brand-accent);border-radius:var(--radius) var(--radius) 0 0}.progress{list-style:none;margin:0;padding:var(--space-3) var(--space-4);display:flex;justify-content:center;gap:var(--space-1);background:var(--surface);border-bottom:1px solid var(--border);counter-reset:step;overflow-x:auto}.progress li{counter-increment:step;display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted);white-space:nowrap;padding:0 var(--space-1)}.progress li:before{content:counter(step);width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;font-weight:var(--weight-bold);border:1.5px solid var(--border-strong);color:var(--text-muted);background:var(--surface)}.progress li+li:after{order:-1;content:"";width:12px;height:1.5px;background:var(--border-strong)}.progress li.done:before{content:"✓";background:var(--state-success-bg);border-color:var(--state-success);color:var(--state-success-text)}.progress li.on{color:var(--text-strong);font-weight:var(--weight-bold)}.progress li.on:before{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-inverse);box-shadow:0 0 0 3px var(--brand-accent-soft),0 0 0 4px var(--brand-accent)}@media(max-width:479px){.progress li:not(.on){font-size:0;gap:0}.progress li:not(.on):before{font-size:13px}.progress li+li:after{margin-right:4px}}main h1{margin-bottom:var(--space-1)}main h1+.muted{margin-bottom:var(--space-5)}.small-h{font-size:13px;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:var(--space-6) 0 var(--space-2)}.back,.back:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--text-link);padding:0;min-height:40px;margin-bottom:var(--space-2)}.back:hover:not(:disabled){text-decoration:underline}.warn{color:var(--state-warning-text);font-weight:var(--weight-medium)}.hero{background:var(--brand-primary);color:var(--text-inverse);padding:var(--space-4) var(--space-4) 72px}.hero .tagline{max-width:var(--page);margin:0 auto;color:var(--text-inverse-muted);font-size:15px}.hero .tagline strong{color:var(--brand-accent);font-weight:var(--weight-medium)}.search-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);border:1px solid var(--border);padding:var(--space-5);position:relative}main.home .search-card{margin-top:-76px}.search-card h1{margin-bottom:var(--space-4)}.pair{position:relative;display:grid;margin-bottom:var(--space-2)}.pair .field{margin-bottom:var(--space-3)}.pair .swap{position:absolute;right:var(--space-3);top:calc(50% - 4px);transform:translateY(-50%);width:44px;min-height:44px;padding:0;border-radius:50%;background:var(--surface);z-index:2;font-size:18px;box-shadow:var(--shadow-1)}.town{position:relative}.town input{padding-right:60px}.options{position:absolute;z-index:20;left:0;right:0;top:100%;margin:4px 0 0;padding:var(--space-1);list-style:none;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-3)}.options button{width:100%;justify-content:flex-start;border:0;background:transparent;font-weight:var(--weight-regular);text-align:left}.options [aria-selected=true] button{background:var(--brand-sky-soft)}.dates .row{flex-wrap:wrap}.dates .row input{flex:1 1 160px;width:auto}.dates .check{margin-top:var(--space-3)}.search-card>.row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-items:start}.search-card>.row .stepper{grid-column:1 / -1}.stepper>span:first-child{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--text-strong)}.stepper .row{gap:0;width:max-content;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.stepper .row button{border:0;border-radius:0;width:52px;font-size:22px}.stepper output{min-width:52px;text-align:center;font-weight:var(--weight-bold);font-size:19px;font-variant-numeric:tabular-nums}.search-card button[type=submit]{margin-top:var(--space-2);font-size:18px}.search-card section{margin-top:var(--space-2)}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.filters summary{cursor:pointer;padding:var(--space-3) var(--space-4);min-height:48px;font-weight:var(--weight-medium);color:var(--text-strong)}.filters[open]{padding-bottom:var(--space-3)}.filters[open] summary{border-bottom:1px solid var(--border);margin-bottom:var(--space-3)}.filters>:not(summary){margin-left:var(--space-4);margin-right:var(--space-4)}.results{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.results .card+.card{margin-top:0}.result{display:grid;gap:var(--space-2);padding:var(--space-4) var(--space-5)}.result p{margin:0}.result .operator{font-size:18px;color:var(--text-strong)}.times{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.times .big{font-size:28px;font-weight:var(--weight-bold);color:var(--text-strong)}.times .mono:not(.big){font-size:20px;color:var(--text-strong)}.result .money{font-size:22px;color:var(--text-strong);font-weight:var(--weight-bold)}.result>.row.between:last-of-type{border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-1);flex-wrap:wrap}.legend{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:15px}.legend li{display:flex;align-items:center;gap:var(--space-2)}.seat-swatch{width:26px;height:26px;border-radius:var(--radius-sm);display:inline-grid;place-items:center;font-size:13px;font-weight:var(--weight-bold)}.seat-swatch.available{background:var(--seat-available-bg);border:2px solid var(--seat-available-border)}.seat-swatch.selected{background:var(--seat-selected-bg);color:var(--seat-selected-text)}.seat-swatch.taken{background:var(--seat-blocked-pattern),var(--seat-unavailable-bg);color:var(--seat-unavailable-text)}.seatmap{background:var(--surface);border:1px solid var(--border);border-radius:28px 28px var(--radius-lg) var(--radius-lg);padding:var(--space-4) var(--space-3) var(--space-5);display:grid;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-4)}.seatmap .front{text-align:center;font-size:13px;font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px dashed var(--border-strong);padding-bottom:var(--space-2);margin-bottom:var(--space-2)}.seatrow{display:flex;gap:var(--space-2);justify-content:center}.seat{width:56px;min-height:52px;padding:0;border-radius:var(--radius) var(--radius) var(--radius-sm) var(--radius-sm);font-family:var(--font-mono);font-size:15px;font-weight:var(--weight-bold)}.seat.available{background:var(--seat-available-bg);border:2px solid var(--seat-available-border);color:var(--text-strong)}.seat.available:hover:not(:disabled){background:var(--brand-sky-soft)}.seat.selected,.seat.selected:hover:not(:disabled){background:var(--seat-selected-bg);border:2px solid var(--seat-selected-bg);color:var(--seat-selected-text);box-shadow:0 0 0 3px var(--brand-accent)}.seat.taken,.seat.taken:disabled{background:var(--seat-blocked-pattern),var(--seat-unavailable-bg);border:2px solid transparent;color:var(--seat-unavailable-text)}.seat.available:disabled{background:var(--seat-available-bg);border-color:var(--border-strong);color:var(--text-muted)}.sticky-summary{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 16px #123b5d14;margin:0 calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));z-index:10}.sticky-summary p{margin-bottom:var(--space-2)}.timer{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--brand-sky-soft);color:var(--text-strong);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;margin-bottom:var(--space-4)}.timer.warn{background:var(--state-warning-bg);color:var(--state-warning-text)}form>fieldset.card{margin-bottom:var(--space-3)}fieldset.card legend{float:left;width:100%;font-size:17px;margin-bottom:var(--space-3)}fieldset.card legend+*{clear:both}.summary h2{font-size:18px}.summary p{margin-bottom:var(--space-1)}.money-lines{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4);margin:var(--space-4) 0;padding-top:var(--space-3);border-top:1px solid var(--border)}.money-lines dt{color:var(--text-muted)}.money-lines dd{margin:0;text-align:right}.money-lines .total{font-size:22px;font-weight:var(--weight-bold);color:var(--text-strong);padding-top:var(--space-2);border-top:1px solid var(--border)}form>.summary{margin:var(--space-4) 0}.demo-banner{background:var(--brand-accent-soft);border:1px dashed var(--brand-accent);color:var(--gold-800);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:15px}.total-line{display:flex;align-items:baseline;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);color:var(--text-muted)}.total-line .money{font-size:var(--text-display);font-weight:var(--weight-bold);color:var(--text-strong);letter-spacing:-.01em}.demo-numbers{margin:0 0 var(--space-4);font-size:15px}.demo-numbers summary{cursor:pointer;color:var(--text-link);min-height:40px;display:flex;align-items:center}.demo-numbers ul{margin:var(--space-2) 0;padding-left:var(--space-5)}.confirmed{display:flex;align-items:center;gap:var(--space-2);background:var(--state-success-bg);color:var(--state-success-text);font-weight:var(--weight-bold);font-size:19px;padding:var(--space-3) var(--space-4);border-radius:var(--radius)}.ticket{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;margin-bottom:var(--space-4)}.ticket header{background:var(--brand-primary);color:var(--text-inverse);padding:var(--space-4) var(--space-5);border-bottom:4px solid var(--brand-accent)}.ticket header h1{color:var(--text-inverse);margin:0;font-size:20px}.ticket .reference{font-size:34px;font-weight:var(--weight-bold);color:var(--text-strong);text-align:center;letter-spacing:.08em;margin:var(--space-5) var(--space-5) var(--space-3)}.ticket .demo-code{margin:0 auto var(--space-4);max-width:220px;text-align:center}.ticket .demo-code svg{width:160px;height:160px;fill:var(--ocean-950);padding:8px;border:1px solid var(--border);border-radius:var(--radius)}.ticket .demo-code figcaption{font-size:13px;color:var(--text-muted)}.ticket dl,dl.card{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-4)}.ticket dl{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px dashed var(--border-strong);margin:0}.ticket dt,dl.card dt{color:var(--text-muted);font-size:15px}.ticket dd,dl.card dd{margin:0;font-weight:var(--weight-medium)}.ticket>p.muted{padding:0 var(--space-5) var(--space-4)}.ticket.void header{background:var(--state-danger);border-bottom-color:var(--state-danger)}.ticket.void .void-reason{margin:var(--space-1) 0 0;color:var(--white);font-weight:var(--weight-medium)}.ticket.void .reference{text-decoration:line-through;text-decoration-thickness:3px;color:var(--text-muted)}.ticket.void dl{background:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(180,35,24,.06) 14px 28px)}.trips{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.trip-row{width:100%;display:grid;gap:var(--space-1);text-align:left;justify-content:stretch;font-weight:var(--weight-regular);padding:var(--space-4)}.trip-row:hover:not(:disabled){background:var(--surface);border-color:var(--brand-primary)}.confirm-box{border:2px solid var(--state-danger);border-radius:var(--radius);padding:var(--space-4);background:var(--state-danger-bg)}@media(min-width:768px){:root{--page: 720px}.topbar{padding:var(--space-2) var(--space-8)}.hero{padding:var(--space-6) var(--space-8) 96px}main.home .search-card{margin-top:-96px}.search-card{padding:var(--space-8)}.pair{grid-template-columns:1fr auto 1fr;gap:var(--space-3);align-items:end}.pair .swap{position:static;transform:none;margin-bottom:var(--space-3)}.search-card>.row{grid-template-columns:auto 1fr 1fr}.search-card>.row .stepper{grid-column:auto}.sticky-summary{border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0}}@media(min-width:1024px){:root{--page: 880px}.results{grid-template-columns:1fr 1fr}}@media print{.topbar,.progress,.actions,.demo-banner{display:none!important}.ticket{box-shadow:none;border:2px solid #000}}.trip-details{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.trip-details h3{font-size:1rem;margin:0 0 8px}.trip-details .stops{margin:0 0 8px;padding-left:20px}.trip-details .stops li.yours{font-weight:600}.trip-details table.compact td,.trip-details table.compact th{padding:2px 12px 2px 0;text-align:left}.block{display:block}.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.stars{border:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}.stars legend{margin-bottom:6px}.report-choices{display:grid;gap:var(--space-2)}.report-choice{display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;min-height:var(--target);padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text)}.report-choice:hover{border-color:var(--brand-primary)}.report-options,.yesno{border:0;margin:0 0 var(--space-4);padding:0;display:grid;gap:6px}.report-options legend,.yesno legend{font-weight:600;margin-bottom:6px}.yesno{grid-template-columns:repeat(2,minmax(0,1fr))}.yesno legend{grid-column:1 / -1}.report-option{display:flex;gap:10px;align-items:flex-start;min-height:var(--target);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer}.report-option input{margin-top:3px;flex:0 0 auto;width:20px;height:20px}.report-option.chosen{border:2px solid var(--brand-primary);padding:9px 11px;background:var(--surface-sunken)}.reports .reply{margin-top:4px;padding-left:8px;border-left:3px solid var(--border-strong)}.topbar nav .nav-report{font-weight:700}.report-card{margin-top:var(--space-4)}.report-card h2{margin-top:0}.report-link{margin-top:var(--space-4)}.report-jump{margin-top:var(--space-2)}.report-hub .journeys{margin-top:var(--space-4)}button.link{border:0;background:none;padding:0 2px;min-height:0;color:var(--text-link);text-decoration:underline;font:inherit;font-weight:600;cursor:pointer}.report-link button.link{min-height:44px}.report-choices .report-choice{text-align:left;align-items:flex-start}.report-choices .report-choice strong{font-size:18px}
