:root{--color-surface-base: #f6f4ee;--color-surface-raised: #ffffff;--color-surface-sunken: #efece4;--color-surface-glass: rgba(255, 255, 255, .82);--color-ink-strong: #1f2a3a;--color-ink-muted: #6b7384;--color-outbound: #ea6a4d;--color-outbound-soft: #fce5dd;--color-inbound: #168a63;--color-inbound-soft: #dcf1e7;--color-accent: #0a84ff;--color-accent-soft: #dcecff;--color-warm: #e6b450;--color-warm-soft: #faecc8;--color-danger: #c2413a;--color-border: #d8d2c4;--color-border-soft: #e7e2d6;--color-outline: #1f2a3a;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--radius-card: 22px;--radius-input: 16px;--radius-pebble: 999px;--shadow-card: 0 1px 2px rgba(31, 42, 58, .05), 0 14px 34px rgba(31, 42, 58, .09);--shadow-hero: 0 1px 2px rgba(31, 42, 58, .05), 0 22px 55px rgba(31, 42, 58, .14);--shadow-fab: 0 14px 30px rgba(31, 42, 58, .26);--motion-quick: .12s;--motion-normal: .24s;--motion-relaxed: .48s;--ease-entrance: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--tap-sm: 40px;--tap-md: 48px;--tap-hero: 56px;--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;color:var(--color-ink-strong);background:var(--color-surface-base);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility}@media(prefers-reduced-motion:reduce){:root{--motion-quick: 0ms;--motion-normal: 0ms;--motion-relaxed: 0ms}}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 18% -8%,rgba(230,180,80,.22),transparent 36%),radial-gradient(circle at 96% 6%,rgba(22,138,99,.12),transparent 30%),var(--color-surface-base)}button,input,select,textarea{font:inherit;min-width:0}button{min-height:var(--tap-md);border:0;border-radius:var(--radius-pebble);padding:0 var(--space-lg);background:var(--color-ink-strong);color:#fff;font-weight:700;cursor:pointer;transition:transform var(--motion-quick) var(--ease-entrance),box-shadow var(--motion-quick) var(--ease-entrance),background-color var(--motion-quick) var(--ease-entrance)}button:hover:not(:disabled){box-shadow:var(--shadow-card);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.5}button.secondary{background:var(--color-surface-raised);color:var(--color-ink-strong);box-shadow:inset 0 0 0 1.5px var(--color-border)}button.ghost{background:transparent;color:var(--color-ink-muted)}button.danger{background:var(--color-danger);color:#fff}button.accent{background:var(--color-accent);color:#fff}.icon-button{display:inline-grid;place-items:center;width:var(--tap-sm);min-height:var(--tap-sm);height:var(--tap-sm);padding:0;border-radius:14px;background:var(--color-surface-sunken);color:var(--color-ink-strong);box-shadow:inset 0 0 0 1px var(--color-border-soft)}.icon-button:hover:not(:disabled){background:var(--color-surface-raised)}.icon-button.danger-icon{color:var(--color-danger)}.link-button{min-height:var(--tap-sm);padding:0 var(--space-sm);background:transparent;color:var(--color-accent);font-weight:650;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.link-button:hover:not(:disabled){box-shadow:none}.compact-button{min-height:34px;padding:0 var(--space-md);font-size:.85rem}input,select,textarea{width:100%;min-height:var(--tap-md);border:1.5px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface-raised);color:var(--color-ink-strong);padding:0 var(--space-md);font-family:var(--font-body)}textarea{min-height:92px;padding:var(--space-sm) var(--space-md);resize:vertical;line-height:1.5}input[type=time],input[type=date]{font-variant-numeric:tabular-nums}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 34%,transparent);outline-offset:2px}label{display:grid;gap:var(--space-xs);font-size:.92rem;font-weight:650;color:var(--color-ink-strong)}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:780;color:var(--color-ink-strong);letter-spacing:-.01em}h1{font-size:1.7rem;line-height:1.14}h2{font-size:1.3rem;line-height:1.18}h3{font-size:1.06rem}p{margin:0;line-height:1.5}.muted{color:var(--color-ink-muted)}.hint{font-size:.86rem;color:var(--color-ink-muted)}.app-shell{width:min(640px,100%);margin:0 auto;padding:0 var(--space-md) calc(var(--space-2xl) + var(--space-2xl) + var(--tap-hero));min-height:100vh}.appbar{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);margin:0 calc(-1 * var(--space-md)) var(--space-md);padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--color-surface-base) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border-soft)}.appbar-lead{display:flex;align-items:center;min-width:0;gap:var(--space-sm)}.appbar-back{background:transparent;box-shadow:none}.appbar-back:hover:not(:disabled){background:var(--color-surface-sunken)}.appbar-brand{display:inline-flex;align-items:baseline;min-width:0;font-family:var(--font-display);font-size:1.08rem;font-weight:900;letter-spacing:0;line-height:1}.appbar-brand span{min-width:0}.appbar-brand span:last-child{color:var(--color-accent)}.brand-dot{width:14px;height:14px;border-radius:50%;background:var(--color-warm);box-shadow:inset 0 0 0 2px var(--color-outline)}.segmented{display:inline-flex;padding:3px;border-radius:var(--radius-pebble);background:var(--color-surface-sunken);box-shadow:inset 0 0 0 1px var(--color-border-soft)}.segmented button{min-height:32px;padding:0 var(--space-sm);background:transparent;color:var(--color-ink-muted);font-size:.82rem;font-weight:700;border-radius:var(--radius-pebble)}.segmented button:hover:not(:disabled){box-shadow:none;transform:none}.segmented button.active{background:var(--color-surface-raised);color:var(--color-ink-strong);box-shadow:0 1px 3px #1f2a3a24}.card,.panel{background:var(--color-surface-glass);border:1px solid var(--color-border-soft);border-radius:var(--radius-card);padding:var(--space-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.feedback{margin:var(--space-sm) 0;padding:var(--space-md);border-radius:var(--radius-input);background:var(--color-inbound-soft);color:var(--color-inbound);font-size:.92rem}.feedback.error{background:var(--color-outbound-soft);color:var(--color-danger)}.landing{display:grid;justify-items:center;gap:var(--space-lg);padding:var(--space-md) 0 var(--space-lg);text-align:center}.landing-lockup{display:grid;justify-items:center;gap:var(--space-sm);width:100%}.hero-cars{display:flex;justify-content:center;gap:var(--space-xs);width:100%;max-width:360px}.hero-cars svg{width:33%;height:auto}.landing-brand{display:flex;flex-wrap:wrap;justify-content:center;gap:.04em;margin:0;color:var(--color-ink-strong);font-family:var(--font-display);font-size:clamp(2.7rem,13vw,4.7rem);font-weight:900;letter-spacing:0;line-height:.88;text-wrap:balance}.landing-brand span:last-child{color:var(--color-accent)}.landing-tagline{display:inline-flex;align-items:center;min-height:30px;padding:0 var(--space-md);border-radius:var(--radius-pebble);background:var(--color-warm-soft);color:var(--color-outline);font-size:.88rem;font-weight:800}.landing-explainer{display:grid;gap:var(--space-xs);max-width:38ch;color:var(--color-ink-muted);font-size:.98rem;font-weight:560;line-height:1.42}.join-card{display:grid;gap:var(--space-md);width:100%;max-width:360px;margin-top:var(--space-sm);padding:var(--space-lg);background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);text-align:left}.join-field input{margin-top:var(--space-xs);font-size:1.4rem;font-weight:750;letter-spacing:.16em;text-align:center;text-transform:uppercase;font-family:var(--font-display)}.join-card button{width:100%;min-height:var(--tap-hero);font-size:1.02rem}.create-room{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);justify-items:center}.create-room .wizard-step{width:100%}.wizard-actions{display:flex;justify-content:space-between;gap:var(--space-sm)}.wizard-actions.single{justify-content:stretch}.wizard-actions button{flex:1}.wizard-actions.single button{min-height:var(--tap-hero)}.wizard{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg)}.wizard-step{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.wiz-header{display:flex;align-items:center;gap:var(--space-sm)}.wiz-back{flex:0 0 auto;display:grid;place-items:center;width:var(--tap-sm);height:var(--tap-sm);border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-muted);border:none;cursor:pointer;transition:background var(--motion-quick) var(--ease-entrance),color var(--motion-quick) var(--ease-entrance)}.wiz-back:hover{background:var(--color-surface-sunken);color:var(--color-ink-strong)}.wiz-progress{flex:1;min-width:0}.wiz-progress-track{display:flex;gap:5px}.wiz-progress-seg{flex:1;height:4px;border-radius:999px;background:var(--color-border);transition:background .25s ease}.wiz-progress-seg.on{background:var(--color-warm)}.wizard-prompt{font-size:1.3rem;font-weight:700;color:var(--color-ink-strong);line-height:1.3;margin:0;padding:var(--space-xs) 0}.wiz-nav{display:flex;justify-content:flex-end}.wiz-advance{display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:var(--color-ink-strong);color:var(--color-surface-base);border:none;cursor:pointer;transition:opacity var(--motion-quick) var(--ease-entrance),transform var(--motion-quick) var(--ease-entrance)}.wiz-advance.accent{background:var(--color-accent);color:#fff}.wiz-advance:disabled{opacity:.3;cursor:not-allowed}.wiz-advance:not(:disabled):hover{transform:scale(1.06)}.wiz-advance:not(:disabled):active{transform:scale(.94)}.dir-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:3px var(--space-sm);border-radius:999px;font-size:.78rem;font-weight:700}.dir-pill.outbound{background:var(--color-outbound-soft);color:var(--color-outbound)}.dir-pill.inbound{background:var(--color-inbound-soft);color:var(--color-inbound)}.dir-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:var(--space-sm)}.dir-choice{position:relative;display:grid;justify-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm) var(--space-sm);background:var(--color-surface-raised);color:var(--color-ink-strong);border-radius:var(--radius-card);box-shadow:inset 0 0 0 1.5px var(--color-border)}.dir-choice.on.outbound{box-shadow:inset 0 0 0 2.5px var(--color-outbound);background:var(--color-outbound-soft)}.dir-choice.on.inbound{box-shadow:inset 0 0 0 2.5px var(--color-inbound);background:var(--color-inbound-soft)}.dir-choice-car{width:76px;height:auto}.dir-choice-label{font-family:var(--font-display);font-weight:750}.dir-choice-tick{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--color-surface-raised);box-shadow:inset 0 0 0 1.5px var(--color-border);color:#fff}.dir-choice.on .dir-choice-tick{background:var(--color-ink-strong);box-shadow:none}.checkbox-row{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.visual-choice-grid{display:grid;grid-template-columns:1fr}.checkbox-row label{display:flex;align-items:center;gap:var(--space-sm);min-width:0;min-height:var(--tap-md);padding:var(--space-sm) var(--space-md);border:1.5px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface-raised);font-weight:600}.checkbox-row label:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.checkbox-row input{width:20px;min-height:20px;height:20px;flex:0 0 20px;accent-color:var(--color-accent)}.seat-car{position:relative;width:100%;max-width:480px;min-width:0;margin:var(--space-sm) auto 0;padding:0 22px 22px}.seat-car-body{position:relative;padding:var(--space-md) var(--space-md) 34px;background:linear-gradient(180deg,#fffdf8,#fbf6ea);border:3px solid var(--color-outline);border-radius:44px 44px 30px 30px;box-shadow:0 16px 30px #1f2a3a29}.seat-car-body:before{content:"";position:absolute;bottom:12px;width:30px;height:44px;background:linear-gradient(180deg,#fffdf8,#fbf6ea);border:3px solid var(--color-outline);z-index:0}.seat-car.outbound .seat-car-body:before{right:-20px;border-radius:4px 20px 16px 4px}.seat-car.inbound .seat-car-body:before{left:-20px;border-radius:20px 4px 4px 16px}.seat-car-body:after{content:"";position:absolute;bottom:34px;width:10px;height:10px;border-radius:50%;background:var(--color-warm);box-shadow:0 0 0 2px var(--color-outline);z-index:1}.seat-car.outbound .seat-car-body:after{right:-13px}.seat-car.inbound .seat-car-body:after{left:-13px}.seat-car-window{position:absolute;inset:var(--space-md) var(--space-md) 60px;border-radius:24px 24px 14px 14px;background:linear-gradient(180deg,#0a84ff42,#ffffff26);box-shadow:inset 0 0 0 2px #1f2a3a29}.seat-car-wheel{position:absolute;bottom:0;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#5b6473 0 30%,var(--color-outline) 31% 100%);box-shadow:inset 0 0 0 3px var(--color-outline)}.seat-car-wheel.rear{left:10%}.seat-car-wheel.front{right:10%}.seat-row{position:relative;z-index:2;display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:nowrap}.seat{position:relative;flex:1 1 0;min-width:0;max-width:76px;height:56px;border-radius:16px;border:2px solid var(--color-border);background:linear-gradient(180deg,#fff,#f3efe6);display:grid;place-items:center;font-size:.82rem;font-weight:800;color:var(--color-ink-muted);cursor:default;box-shadow:inset 0 1px #ffffffe6,0 5px 12px #1f2a3a1a;transition:transform var(--motion-quick) var(--ease-entrance),box-shadow var(--motion-quick) var(--ease-entrance)}.seat.tappable{cursor:pointer}.seat.tappable:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffffe6,0 10px 20px #1f2a3a29}.seat.available{border-color:var(--color-inbound);background:linear-gradient(180deg,#ffffff,var(--color-inbound-soft));color:var(--color-inbound);font-size:1.3rem}.seat.unavailable{border-color:var(--color-border);background:#e9e5da;color:var(--color-ink-muted);opacity:.5}.seat.reserved,.seat.assigned{border-color:color-mix(in srgb,var(--color-warm) 70%,var(--color-outline));background:linear-gradient(180deg,#fff3d2,var(--color-warm));color:var(--color-ink-strong);box-shadow:inset 0 1px #ffffffb3,0 8px 18px #e6b45057}.seat-mark{line-height:1}.seat-label{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);font-size:.74rem;font-weight:750;color:var(--color-ink-strong);white-space:nowrap;max-width:84px;overflow:hidden;text-overflow:ellipsis}.seat-preview{display:flex;justify-content:center}.board-head{display:grid;gap:var(--space-sm);margin-bottom:var(--space-md)}.board-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.board-head-top h1{flex:1;min-width:0}.board-head-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.board-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);align-items:center}.board-meta-item{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:.86rem;font-weight:650;color:var(--color-ink-muted)}.board-meta-item.dir{padding:3px var(--space-sm);border-radius:999px}.board-meta-item.dir.outbound{background:var(--color-outbound-soft);color:var(--color-outbound)}.board-meta-item.dir.inbound{background:var(--color-inbound-soft);color:var(--color-inbound)}.board-desc{font-size:.9rem}.board-direction-note{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);background:var(--color-surface-sunken);color:var(--color-ink-muted);font-size:.88rem;font-weight:600}.board-map{display:inline-flex;align-items:center;gap:var(--space-xs);width:fit-content;font-size:.88rem;font-weight:700;color:var(--color-accent);text-decoration:none}.board-map:hover{text-decoration:underline}.dir-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-md)}.dir-toggle-btn{display:grid;justify-items:center;gap:2px;padding:var(--space-sm) var(--space-sm) var(--space-md);background:var(--color-surface-raised);color:var(--color-ink-muted);border-radius:var(--radius-card);box-shadow:inset 0 0 0 1.5px var(--color-border-soft)}.dir-toggle-car{width:84px;height:auto;opacity:.6;transition:opacity var(--motion-quick) var(--ease-entrance)}.dir-toggle-btn.active .dir-toggle-car{opacity:1}.dir-toggle-btn.active.outbound{background:var(--color-outbound-soft);color:var(--color-outbound);box-shadow:inset 0 0 0 2.5px var(--color-outbound)}.dir-toggle-btn.active.inbound{background:var(--color-inbound-soft);color:var(--color-inbound);box-shadow:inset 0 0 0 2.5px var(--color-inbound)}.dir-toggle-label{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-size:1.04rem;font-weight:780;color:var(--color-ink-strong)}.dir-toggle-count{font-size:.78rem;font-weight:650}.queue{display:grid;gap:var(--space-sm);margin-bottom:var(--space-lg)}.queue-head{display:flex;align-items:baseline;gap:var(--space-sm);font-family:var(--font-display);font-size:1.04rem;font-weight:780}.queue-head-dir{font-size:.82rem;font-weight:700;color:var(--color-ink-muted)}.queue-empty{padding:var(--space-md);border-radius:var(--radius-input);background:var(--color-surface-sunken);font-size:.9rem}.queue-list{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.queue-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm) var(--space-xs) var(--space-xs);background:var(--color-surface-raised);border:1.5px solid var(--color-border-soft);border-radius:var(--radius-card)}.queue-row.armed{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent)}.queue-row-name{flex:1;display:flex;align-items:center;gap:var(--space-sm);min-height:var(--tap-md);min-width:0;padding:0 var(--space-xs);background:transparent;color:var(--color-ink-strong);text-align:left}.queue-row-name:hover:not(:disabled){box-shadow:none;transform:none}.queue-avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:999px;background:var(--color-warm-soft);box-shadow:inset 0 0 0 2px var(--color-warm);font-family:var(--font-display);font-size:1rem;font-weight:800}.queue-row.armed .queue-avatar{background:var(--color-accent);color:#fff;box-shadow:none}.queue-row-text{display:grid;min-width:0;font-weight:700}.queue-row-text>:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-row-cue{font-size:.76rem;font-weight:650;color:var(--color-accent);white-space:normal;overflow-wrap:anywhere}.queue-row-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.car-board{display:grid;gap:var(--space-lg);min-width:0}.car-card{display:grid;gap:var(--space-sm);min-width:0;padding:var(--space-md);background:var(--color-surface-glass);border:1px solid var(--color-border-soft);border-radius:26px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.car-card-head{display:flex;align-items:center;gap:var(--space-sm)}.car-driver{font-family:var(--font-display);font-size:1.1rem;font-weight:780}.car-extras{flex:1;min-width:0;font-size:.78rem;font-weight:650;color:var(--color-ink-muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.car-card-actions{display:flex;gap:var(--space-xs);flex-shrink:0;margin-left:auto}.confirm-row{display:grid;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);background:var(--color-outbound-soft);font-size:.86rem}.seat-action-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-border-soft);border-radius:20px;background:var(--color-surface-sunken)}.seat-action-card p{margin-top:var(--space-xs)}.seat-action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.seat-action-buttons button{flex:1}.board-inline-message{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-input);background:var(--color-outbound-soft);color:var(--color-danger);font-weight:650;font-size:.88rem}.board-empty{display:grid;justify-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-lg);text-align:center;background:var(--color-surface-glass);border:1px dashed var(--color-border);border-radius:26px;color:var(--color-ink-strong)}.board-empty .muted{font-size:.9rem}.inactive-car-list{display:grid;gap:var(--space-sm)}.inactive-car{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--tap-md);padding:0 var(--space-md);background:var(--color-surface-sunken);color:var(--color-ink-muted);font-weight:600;font-size:.86rem;text-align:left}.sheet-backdrop{position:fixed;inset:0;background:#1f2a3a61;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-md);z-index:30;animation:fade-in var(--motion-normal) var(--ease-entrance)}.sheet{width:min(480px,100%);min-width:0;background:var(--color-surface-raised);border-radius:var(--radius-card);box-shadow:var(--shadow-hero);animation:slide-up var(--motion-normal) var(--ease-entrance)}.form-sheet{max-height:min(88vh,780px);overflow:auto}.form-sheet>.panel{min-width:0;border:0;border-radius:0;box-shadow:none;padding:var(--space-lg)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.seat-count-picker{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border:1.5px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-raised)}.field-title{font-weight:750;font-family:var(--font-display)}.stepper-control{display:inline-flex;align-items:center;gap:var(--space-sm)}.stepper-control button{display:grid;place-items:center;width:var(--tap-md);height:var(--tap-md);min-height:var(--tap-md);padding:0;border-radius:999px}.stepper-control strong{min-width:2ch;text-align:center;font-family:var(--font-display);font-size:1.5rem}.reserved-names{display:grid;gap:var(--space-sm)}.child-preview-layout{display:grid;gap:var(--space-md)}.child-preview-card,.review-card,.details-code-card{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1.5px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface-sunken)}.child-preview-card{justify-items:center;text-align:center}.child-avatar{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:999px;background:var(--color-warm);color:var(--color-ink-strong);font-family:var(--font-display);font-size:1.4rem;font-weight:800;box-shadow:inset 0 0 0 2.5px var(--color-outline)}.child-review-head{display:flex;align-items:center;gap:var(--space-sm)}.room-code-pill{display:inline-flex;align-items:center;gap:var(--space-sm);width:fit-content;padding:var(--space-xs) var(--space-md);background:var(--color-warm-soft);border-radius:999px;font-family:var(--font-display);font-weight:750;letter-spacing:.1em}.return-setup-panel{display:grid;gap:var(--space-sm);padding:var(--space-md);border:1.5px solid var(--color-accent);border-radius:var(--radius-card);background:var(--color-accent-soft)}.return-setup-options{display:grid;gap:var(--space-sm)}.return-setup-options label{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0;min-height:var(--tap-md);padding:var(--space-sm);border:1.5px solid var(--color-border-soft);border-radius:var(--radius-input);background:var(--color-surface-raised);overflow-wrap:anywhere}.return-setup-options input{flex:0 0 20px;width:20px;min-height:20px;height:20px;margin-top:.15em;accent-color:var(--color-accent)}.trip-timing-panel{display:grid;gap:var(--space-sm);min-width:0}.direction-timing-card{display:grid;gap:var(--space-sm);min-width:0;padding:var(--space-md);border:1.5px solid var(--color-border-soft);border-radius:var(--radius-card);background:var(--color-surface-sunken)}.direction-timing-card.outbound{border-color:color-mix(in srgb,var(--color-outbound) 34%,var(--color-border-soft))}.direction-timing-card.inbound{border-color:color-mix(in srgb,var(--color-inbound) 34%,var(--color-border-soft))}.direction-timing-card.disabled{opacity:.58}.direction-timing-card h3{font-size:1rem}.direction-timing-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-sm);min-width:0}.trip-details-sheet{display:grid;gap:var(--space-md);min-width:0}.fab-scrim{position:fixed;inset:0;z-index:18;background:#1f2a3a38;animation:fade-in var(--motion-quick) var(--ease-entrance)}.fab-dock{position:fixed;right:calc(env(safe-area-inset-right,0px) + var(--space-sm));bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-lg));z-index:20;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm)}@media(max-width:420px){.direction-timing-grid{grid-template-columns:1fr}.queue-row{align-items:flex-start}.queue-row-name{align-items:flex-start;padding-top:5px}.queue-row-actions{padding-top:1px}.seat-car{padding-inline:28px}.seat-car.outbound .seat-car-body:before{right:-17px}.seat-car.inbound .seat-car-body:before{left:-17px}.seat-car.outbound .seat-car-body:after{right:-10px}.seat-car.inbound .seat-car-body:after{left:-10px}}.fab-actions{display:grid;gap:var(--space-sm);animation:slide-up var(--motion-normal) var(--ease-spring)}.fab-action{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-xs) 0 var(--space-md);min-height:var(--tap-md);background:var(--color-surface-raised);color:var(--color-ink-strong);box-shadow:var(--shadow-card);font-weight:700}.fab-action-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:var(--color-warm-soft);color:var(--color-ink-strong)}.fab{display:grid;place-items:center;width:var(--tap-hero);height:var(--tap-hero);min-height:var(--tap-hero);padding:0;border-radius:999px;background:var(--color-accent);color:#fff;box-shadow:var(--shadow-fab);transition:transform var(--motion-normal) var(--ease-spring),box-shadow var(--motion-quick) var(--ease-entrance)}.fab-dock.open .fab{transform:rotate(135deg);background:var(--color-ink-strong)}.row{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
