/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#15241f;--muted:#68756f;--line:#dce4df;--paper:#fffdf8;--canvas:#e9f0ec;--app:#f7f5ef;--green:#0f7752;--green-dark:#095c43;--mint:#dff0c8;--mint-soft:#eef7e4;--coral:#ee7048;--amber:#f5cf58;--sand:#f3eee2;--shadow:0 24px 70px #1a3f302b}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;min-height:100%}body{background:var(--canvas);min-width:320px;min-height:100dvh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}#root{min-height:100dvh}button,input,select,textarea{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #0f775238}.prototype-stage{background:var(--canvas);place-items:center;min-height:100dvh;padding:0;display:grid}.phone-shell{background:var(--app);width:100%;max-width:430px;height:100dvh;min-height:640px;position:relative;overflow:hidden}.app-frame{background:var(--app);position:absolute;inset:0 0 72px;overflow:hidden}.auth-loading{height:100%;color:var(--muted);place-items:center;font-size:14px;display:grid}.view{overscroll-behavior:contain;scrollbar-width:none;height:100%;padding:20px 18px 32px;overflow-y:auto}.view::-webkit-scrollbar{display:none}.auth-view{height:100%;padding:max(56px, env(safe-area-inset-top)) 24px 40px;background:linear-gradient(180deg, #edf6df 0, var(--paper) 44%);overflow-y:auto}.auth-logo{border-radius:22px;width:72px;height:72px;display:block;box-shadow:0 12px 28px #0f775238}.auth-kicker{color:var(--coral);letter-spacing:.12em;margin:24px 0 8px;font-size:12px;font-weight:800}.auth-view h2{letter-spacing:-.055em;margin:0;font-size:32px}.auth-subtitle{margin:8px 0 0;font-size:16px;font-weight:700}.auth-copy{color:var(--muted);margin:12px 0 26px;font-size:13px;line-height:1.7}.auth-form{gap:15px;display:grid}.auth-form label{gap:7px;display:grid}.auth-form input{border:1px solid var(--line);width:100%;height:50px;color:var(--ink);background:#fff;border-radius:14px;padding:0 14px;font-size:16px}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #0f775214}.auth-form>button[type=submit]{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:14px;min-height:50px;margin-top:2px;font-size:15px;font-weight:800}.auth-form>button[type=submit]:disabled{opacity:.62;cursor:wait}.password-visibility-button{min-width:72px;min-height:44px;color:var(--green);cursor:pointer;background:0 0;border:0;justify-self:end;margin:-8px 0 -4px;padding:4px 0;font-size:13px;font-weight:700}.auth-error{color:#a43f28;background:#fff1ed;border-radius:11px;margin:-3px 0 0;padding:11px 12px;font-size:13px;line-height:1.5}.test-credentials{background:var(--mint-soft);color:var(--muted);border:1px dashed #bed5cc;border-radius:14px;margin-top:22px;padding:13px 14px;font-size:12px}.test-credentials summary{min-height:32px;color:var(--green-dark);cursor:pointer;font-weight:800}.test-credentials p{margin:8px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.test-credentials small{margin-top:8px;line-height:1.5;display:block}.change-password-view{padding-top:max(30px, env(safe-area-inset-top))}.auth-back{min-height:44px;color:var(--green);cursor:pointer;background:0 0;border:0;margin:0 0 16px;padding:0 8px 0 0;font-size:14px;font-weight:800}.app-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.app-header p{color:var(--muted);letter-spacing:.06em;margin:0 0 5px;font-size:12px;font-weight:700}.app-header h2{letter-spacing:-.045em;margin:0;font-size:28px}.home-kicker{justify-content:space-between;align-items:center;gap:10px;min-height:32px;display:flex}.home-kicker p{color:var(--coral);letter-spacing:.13em;margin:0;font-size:11px;font-weight:800}.home-kicker span{color:#a8442c;background:#fff0e9;border-radius:8px;flex:none;padding:4px 7px;font-size:10px;font-weight:800}.home-brand-row{grid-template-columns:minmax(0,1fr) 76px;align-items:end;gap:16px;display:grid}.home-brand-row h1{letter-spacing:-.075em;margin:2px 0 0;font-size:38px;font-style:italic;line-height:1.05}.home-brand-row>div:first-child p{color:var(--muted);margin:10px 0 0;font-size:12px}.home-logo-cluster{flex-direction:column;align-items:center;gap:6px;display:flex}.home-logo-cluster img{border:2px solid #fff;border-radius:19px;width:58px;height:58px;display:block;box-shadow:0 8px 18px #0f77522e}.home-logo-cluster span{color:var(--muted);white-space:nowrap;font-size:10px}.fixed-route-board{background:var(--mint);border-radius:20px;margin-bottom:12px;padding:16px 15px 12px;position:relative;overflow:hidden;box-shadow:0 7px 18px #24543d12}.fixed-route-board:after{content:"FIXED ROUTE";color:#0f775213;letter-spacing:.04em;font-size:24px;font-weight:900;position:absolute;bottom:-4px;right:-17px;transform:rotate(-8deg)}.fixed-route-copy{z-index:2;grid-template-columns:minmax(0,1fr) 48px minmax(0,1.15fr);align-items:center;gap:7px;display:grid;position:relative}.route-place{flex-direction:column;gap:3px;min-width:0;display:flex}.route-place:last-child{text-align:right;align-items:flex-end}.route-place strong{font-size:14px;line-height:1.3}.route-place small{color:#4f685d;font-size:11px}.fixed-route-line{color:var(--green);grid-template-columns:6px 1fr 6px;align-items:center;gap:4px;display:grid;position:relative}.fixed-route-line:before{content:"";z-index:-1;background:#0f775266;height:1px;position:absolute;left:2px;right:2px}.fixed-route-line i{background:var(--green);border-radius:50%;width:6px;height:6px}.fixed-route-line i:last-child{background:var(--coral);border-radius:2px}.fixed-route-line b{background:var(--mint);text-align:center;padding:2px;font-size:18px}.route-foot{z-index:2;color:var(--green);border-top:1px dashed #0f77524d;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:10px;font-size:10px;display:flex;position:relative}.route-foot strong{font-weight:800}.route-count{flex:none;font-weight:800}.route-switch{grid-template-columns:1fr 1fr;gap:7px;margin:0 0 12px;display:grid}.route-switch button{border:1px solid var(--line);min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:15px;flex-direction:column;justify-content:center;gap:3px;padding:8px 11px;display:flex}.route-switch strong{font-size:14px}.route-switch small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.route-switch button.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 6px 14px #0f77522e}.route-switch button.active.outbound{border-color:var(--coral);background:var(--coral)}.mode-switch,.form-mode{border:1px solid var(--line);background:#efeee8;border-radius:17px;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 14px;padding:4px;display:grid}.mode-switch button,.form-mode button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;gap:3px;min-height:54px;padding:8px 11px;display:flex}.mode-switch strong,.form-mode strong{font-size:14px}.mode-switch small,.form-mode small{color:inherit;opacity:.75;font-size:11px}.mode-switch button.active,.form-mode button.active{background:var(--green);color:#fff;box-shadow:0 6px 14px #0f77522e}.mode-switch button.active.instant,.form-mode button:nth-child(2).active{background:var(--coral);color:#fff}.upcoming-trip{background:var(--ink);color:#fff;text-align:left;cursor:pointer;border:0;border-radius:16px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;margin:0 0 15px;padding:13px;display:grid}.upcoming-trip span{flex-direction:column;gap:3px;min-width:0;display:flex}.upcoming-trip small{color:#bed0c9;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.upcoming-trip .trip-time{color:var(--mint);font-size:14px;font-weight:800}.upcoming-trip .trip-time small{background:var(--green);color:#fff;border-radius:5px;width:fit-content;padding:3px 5px;font-size:9px}.upcoming-trip strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.upcoming-trip b{font-size:22px;font-weight:400}.section-heading{justify-content:space-between;align-items:end;gap:12px;margin:16px 1px 10px;display:flex}.section-heading p{color:var(--green);letter-spacing:.05em;margin:0 0 3px;font-size:10px;font-weight:800}.section-heading h3{letter-spacing:-.03em;margin:0;font-size:19px;font-style:italic}.section-heading>span{color:var(--muted);flex:none;padding-bottom:2px;font-size:10px}.ride-list{flex-direction:column;gap:10px;display:flex}.empty-state{color:var(--muted);text-align:center;background:#ffffffa6;border:1px dashed #c6d2cc;border-radius:16px;padding:22px 16px;font-size:13px;line-height:1.6}.ride-card{border:1px solid var(--line);background:var(--paper);width:100%;min-height:82px;color:var(--ink);text-align:left;cursor:pointer;border-radius:18px;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 12px;display:grid;box-shadow:0 7px 18px #162d250b}.depart-time{flex-direction:column;justify-content:center;gap:3px;min-width:0;display:flex}.depart-time strong{letter-spacing:-.05em;font-size:25px}.depart-time small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.ride-primary{border-left:1px dashed #cbd4ce;min-width:0;padding-left:11px}.ride-driver-line{align-items:center;gap:5px;min-width:0;display:flex}.driver-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.recommend-tag{color:#a66f00;flex:none;font-size:9px;font-weight:800}.ride-primary>small,.ride-primary>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ride-primary>small{margin-top:3px;font-size:11px}.ride-primary>span{margin-top:5px;font-size:10px}.seat-pill{background:var(--coral);color:#fff;white-space:nowrap;border-radius:12px;place-items:center;min-width:56px;min-height:34px;padding:0 8px;font-size:11px;font-weight:800;display:grid}.publish-fab{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:50px;margin:14px 0 0;font-size:14px;font-weight:800;display:flex;box-shadow:0 9px 22px #0f775233}.publish-fab span{font-size:20px;line-height:1}.home-create-actions{gap:9px;margin-top:14px;display:grid}.home-create-actions .publish-fab{margin-top:0}.demand-fab{color:#9b3f2a;cursor:pointer;background:#fff6f2;border:1px solid #d58f7d;border-radius:15px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:50px;font-size:14px;font-weight:800;display:flex}.demand-fab span{font-size:20px;line-height:1}.bottom-nav{z-index:35;height:calc(72px + env(safe-area-inset-bottom));padding:7px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f7;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.bottom-nav button{color:#7e8a84;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;padding:3px;font-size:11px;font-weight:700;display:flex;position:relative}.bottom-nav button span{font-size:20px;line-height:20px}.bottom-nav button.active{color:var(--green)}.bottom-nav button.active:before{content:"";background:var(--green);border-radius:3px;width:26px;height:3px;position:absolute;top:-7px}.bottom-nav button i{background:var(--coral);color:#fff;border-radius:10px;place-items:center;min-width:15px;height:15px;padding:0 4px;font-size:8px;font-style:normal;display:grid;position:absolute;top:1px;right:calc(50% - 23px)}.top-bar{grid-template-columns:44px 1fr 44px;align-items:center;min-height:48px;margin:-6px 0 15px;display:grid}.top-bar button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;place-items:center;width:44px;height:44px;font-size:28px;line-height:1;display:grid;box-shadow:0 3px 12px #192d260f}.top-bar h2{text-align:center;margin:0;font-size:19px}.detail-summary{justify-content:space-between;align-items:center;padding:17px 2px 13px;display:flex}.detail-time{align-items:baseline;gap:9px;display:flex}.detail-time small{color:var(--muted);font-size:12px}.detail-time strong{letter-spacing:-.04em;font-size:32px}.match-score{background:var(--mint-soft);color:var(--green);border-radius:8px;padding:5px 8px;font-size:11px;font-weight:800}.match-score.large{font-size:12px}.point{border:3px solid var(--green);background:#fff;border-radius:50%;flex:none;width:11px;height:11px;display:inline-block}.point.end{border-color:var(--coral);border-radius:3px}.detail-route,.driver-panel,.note-panel,.form-card{border:1px solid var(--line);background:#fff;border-radius:17px}.detail-route{padding:16px}.detail-route>div{align-items:center;gap:12px;display:flex}.detail-route div span,.driver-identity{flex-direction:column;gap:3px;display:flex}.detail-route small,.car-panel small,.note-panel small,.driver-panel small{color:var(--muted);font-size:11px}.detail-route strong,.driver-panel strong{font-size:14px}.detail-line{border-left:1px dashed #b5c3bd;height:20px;margin-left:5px;display:block}.driver-panel{grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:12px;padding:14px;display:grid}.verified-badge{background:var(--mint-soft);color:var(--green);border-radius:8px;padding:5px 7px;font-size:11px;font-weight:800}.car-panel{background:var(--sand);border-radius:17px;grid-template-columns:1.5fr 1fr .75fr;gap:8px;margin-top:12px;padding:14px;display:grid}.car-panel div{flex-direction:column;gap:4px;min-width:0;display:flex}.car-panel strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.note-panel{margin-top:12px;padding:14px}.note-panel p{margin:7px 0 0;font-size:13px;line-height:1.6}.privacy-note{color:var(--muted);padding:0 5px;font-size:11px;line-height:1.6}.sticky-action{z-index:30;padding:12px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;grid-template-columns:minmax(0,1fr) 1.25fr;align-items:center;gap:12px;display:grid;position:absolute;bottom:0;left:0;right:0}.sticky-action div{flex-direction:column;gap:2px;min-width:0;display:flex}.sticky-action small{color:var(--muted);font-size:10px}.sticky-action strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sticky-action button,.primary-submit{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:14px;min-height:48px;font-size:14px;font-weight:800}.sticky-action button:disabled{cursor:default;background:#9eaaa5}.sticky-action button.secondary-action{color:#9b3f2a;background:#fff5f2;border:1px solid #d58f7d}.publish-view form{flex-direction:column;gap:12px;display:flex}.form-mode,.publish-view .route-switch{margin-bottom:0}.route-form-card{padding:3px 14px;position:relative}.route-form-card label{grid-template-columns:112px minmax(0,1fr);align-items:center;min-height:58px;padding:10px 0;display:grid}.route-form-card label:first-child{border-bottom:1px solid var(--line)}.route-form-card label span{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.route-form-card input,.form-grid input,.form-grid select{width:100%;min-width:0;min-height:44px;color:var(--ink);background:0 0;border:0;outline:none;font-size:16px;font-weight:700}.form-grid{grid-template-columns:1fr 1fr;padding:3px 14px;display:grid}.form-grid label{flex-direction:column;gap:7px;min-width:0;padding:13px 8px 13px 0;display:flex}.form-grid label:nth-child(odd){border-right:1px solid var(--line)}.form-grid label:nth-child(2n){padding-left:14px}.form-grid label:nth-child(-n+2){border-bottom:1px solid var(--line)}.form-grid span,.note-input span{color:var(--muted);font-size:12px}.note-input{flex-direction:column;gap:8px;padding:14px;display:flex}.note-input textarea{resize:vertical;min-height:76px;color:var(--ink);border:0;outline:0;padding:0;font-size:16px;line-height:1.55}.publish-tip{background:var(--mint-soft);color:var(--green-dark);border-radius:14px;align-items:center;gap:10px;padding:12px 13px;display:flex}.publish-tip>span{background:var(--green);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.publish-tip p{flex-direction:column;gap:2px;margin:0;display:flex}.publish-tip strong{font-size:13px}.publish-tip small{color:#5c776d;font-size:11px}.primary-submit{width:100%;margin-top:2px}.demand-intro{color:#71311f;background:#fff1eb;border-radius:17px;align-items:center;gap:11px;margin-bottom:13px;padding:14px;display:flex}.demand-intro>span{background:var(--coral);color:#fff;border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:12px;font-weight:900;display:grid}.demand-intro>div{flex-direction:column;gap:4px;min-width:0;display:flex}.demand-intro strong{font-size:14px}.demand-intro small{color:#8d5a4a;font-size:11px;line-height:1.5}.demand-publish-view .form-grid label{border-bottom:0}.list-view{padding-bottom:34px}.segmented{background:#e9eeeb;border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px;font-size:13px;font-weight:800}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #14282112}.active-trip-card{background:var(--green-dark);color:#fff;text-align:left;cursor:pointer;border:0;border-radius:20px;width:100%;margin-top:15px;padding:17px}.status-chip{background:var(--sand);color:#725e31;border-radius:7px;width:fit-content;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.status-chip.confirmed{background:var(--mint);color:var(--green-dark)}.active-trip-card h3{margin:15px 0;font-size:16px;line-height:1.45}.active-trip-card h3 b{color:#8bc9b5;padding:0 5px}.active-trip-card p{align-items:baseline;gap:12px;margin:0 0 15px;display:flex}.active-trip-card p strong{font-size:28px}.active-trip-card p span{color:#bdd1ca;font-size:12px}.active-trip-card>div{border-top:1px solid #ffffff24;justify-content:space-between;gap:10px;padding-top:12px;font-size:12px;display:flex}.simple-trip-card{border:1px solid var(--line);width:100%;min-height:74px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:17px;flex-direction:column;gap:7px;margin-top:10px;padding:14px;display:flex}.simple-trip-card strong{font-size:13px;line-height:1.5}.simple-trip-card small{color:var(--muted);font-size:11px;line-height:1.5}.history-trip-list,.secondary-trip-list{gap:10px;display:grid}.history-trip-list .simple-trip-card,.secondary-trip-list .simple-trip-card{margin-top:0}.history-trip-list{margin-top:15px}.history-trip-list .simple-trip-card{justify-content:center;min-height:112px}.outline-action{border:1px solid var(--green);width:100%;min-height:48px;color:var(--green);cursor:pointer;background:#fff;border-radius:14px;margin-top:14px;padding:10px;font-size:14px;font-weight:800}.list-create-actions{gap:9px;margin-top:14px;display:grid}.list-create-actions .outline-action{margin-top:0}.outline-action.demand-outline{color:#9b3f2a;border-color:#d58f7d}.my-demand-section{margin:0 0 16px}.my-demand-card{background:#fffaf7;border:1px solid #ead8cf;border-radius:17px;margin-top:9px;padding:14px}.my-demand-card.claimed{background:var(--mint-soft);border-color:#c8e0d5}.my-demand-card.withdrawn{border-color:var(--line);background:#f5f6f5}.my-demand-card header{justify-content:space-between;align-items:center;gap:10px;display:flex}.my-demand-card header span{color:#9b3f2a;background:#ffe4da;border-radius:7px;padding:4px 7px;font-size:10px;font-weight:800}.my-demand-card.claimed header span{background:var(--mint);color:var(--green-dark)}.my-demand-card.withdrawn header span{color:var(--muted);background:#e7ebe9}.my-demand-card time{color:var(--muted);font-size:10px}.my-demand-card>strong,.my-demand-card>small{display:block}.my-demand-card>strong{margin-top:11px;font-size:13px;line-height:1.5}.my-demand-card>small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5}.my-demand-card>button{color:#9b3f2a;cursor:pointer;background:#fff;border:1px solid #d58f7d;border-radius:11px;width:100%;min-height:44px;margin-top:11px;font-size:12px;font-weight:800}.my-demand-card.claimed>button{border-color:var(--green);color:var(--green)}.request-card{background:#fffaf8;border:1px solid #f0d7ce;border-radius:19px;margin-top:9px;padding:15px}.request-card.accepted{background:var(--mint-soft);border-color:#cfe6da}.request-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.request-head>span{flex-direction:column;gap:3px;min-width:0;display:flex}.request-head strong{font-size:14px}.request-head small,.request-head time{color:var(--muted);font-size:11px}.pickup-request{background:#fff;border-radius:11px;flex-direction:column;gap:4px;margin:13px 0;padding:11px;display:flex}.pickup-request small{color:var(--muted);font-size:11px}.pickup-request strong{font-size:13px}.request-actions{grid-template-columns:.8fr 1.2fr;gap:8px;display:grid}.request-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;min-height:44px;padding:9px;font-size:13px;font-weight:800}.request-actions button:last-child{border-color:var(--green);background:var(--green);color:#fff}.accepted-message{color:var(--green);font-size:13px;font-weight:800}.accepted-message small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:600;display:block}.driver-demand-section,.incoming-request-section{margin-bottom:18px}.driver-demand-card{background:#fffaf7;border:1px solid #ead8cf;border-radius:19px;margin-top:9px;padding:15px}.driver-demand-card header{justify-content:space-between;align-items:start;gap:10px;display:flex}.driver-demand-card header>span{flex-direction:column;gap:3px;min-width:0;display:flex}.driver-demand-card header strong{font-size:14px}.driver-demand-card header small{color:var(--muted);font-size:11px}.driver-demand-card header time{color:#9b3f2a;background:#ffe4da;border-radius:7px;flex:none;padding:4px 7px;font-size:10px;font-weight:800}.driver-demand-card>p{margin:13px 0 7px;font-size:13px;font-weight:800;line-height:1.5}.driver-demand-card .demand-note{color:var(--muted);font-size:11px;line-height:1.5;display:block}.demand-claim-action{grid-template-columns:minmax(0,1fr) 1.1fr;align-items:end;gap:8px;margin-top:13px;display:grid}.demand-claim-action label{flex-direction:column;gap:5px;min-width:0;display:flex}.demand-claim-action label span{color:var(--muted);font-size:10px}.demand-claim-action select,.demand-claim-action button{border-radius:11px;width:100%;min-height:44px;font-size:12px;font-weight:800}.demand-claim-action select{border:1px solid var(--line);color:var(--ink);background:#fff;padding:0 9px}.demand-claim-action button{background:var(--green);color:#fff;cursor:pointer;border:0;padding:8px}.driver-demand-card .seat-explain{color:var(--muted);margin-top:8px;font-size:10px;line-height:1.5;display:block}.privacy-strip{background:var(--mint-soft);color:var(--green);justify-content:center;align-items:center;gap:6px;margin:-4px -18px 10px;padding:9px;font-size:11px;font-weight:800;display:flex}.privacy-strip span{font-size:8px}.status-view .fixed-route-board{margin:0}.status-sheet{background:#fff;border-radius:22px;margin-top:12px;padding:17px;position:relative;box-shadow:0 8px 22px #1b322a0f}.status-driver>span{flex-direction:column;gap:2px;display:flex}.status-driver strong{font-size:14px}.status-driver small{color:var(--green);font-size:11px}.current-stage-card{background:var(--green-dark);color:#fff;border-radius:15px;margin:15px 0;padding:15px}.current-stage-card span{color:#b9d3c9;font-size:11px}.current-stage-card strong{margin:5px 0 2px;font-size:22px;display:block}.current-stage-card p{color:#d4e5df;margin:0;font-size:12px}.stage-timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.stage-timeline li{color:#909c96;grid-template-columns:32px 1fr;gap:11px;min-height:54px;display:grid;position:relative}.stage-timeline li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:31px;bottom:0;left:15px}.stage-timeline li.done:not(:last-child):after{background:#8dc8b4}.stage-timeline li>i{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-style:normal;font-weight:900;display:grid}.stage-timeline li.done>i{border-color:var(--green);background:var(--mint);color:var(--green)}.stage-timeline li[aria-current=step]>i{background:var(--green);color:#fff}.stage-timeline li>span{flex-direction:column;gap:3px;padding-top:2px;display:flex}.stage-timeline strong{font-size:13px}.stage-timeline small{font-size:11px}.stage-timeline li.done strong{color:var(--ink)}.stage-timeline li[aria-current=step] small{color:var(--green)}.driver-stage-actions{background:var(--sand);border-radius:15px;margin:6px 0 15px;padding:13px}.driver-stage-actions>p{flex-direction:column;gap:2px;margin:0 0 9px;display:flex}.driver-stage-actions strong{font-size:13px}.driver-stage-actions small{color:var(--muted);font-size:11px}.driver-stage-actions>div{grid-template-columns:1fr;gap:6px;display:grid}.driver-stage-actions button{min-height:44px;color:var(--muted);cursor:pointer;background:#fff;border:1px solid #d8dedb;border-radius:10px;padding:8px 5px;font-size:11px;font-weight:800}.driver-stage-actions button.active{border-color:var(--green);background:var(--green);color:#fff}.cancel-ride-button,.exception-report-button,.complete-ride-button,.contact-actions button{cursor:pointer;border-radius:11px;width:100%;min-height:44px;padding:9px;font-size:12px;font-weight:800}.cancel-ride-button{color:#a43f28;background:#fff8f6;border:1px solid #e3b2a6;margin:-5px 0 14px}.exception-report-button{color:#735a1b;background:#fffaf0;border:1px solid #d8c48e;margin:-5px 0 14px}.meeting-point{align-items:center;gap:10px;display:flex}.meeting-point span{flex-direction:column;gap:3px;display:flex}.meeting-point small{color:var(--muted);font-size:11px}.meeting-point strong{font-size:13px}.completion-progress{border:1px solid var(--line);background:#f8fbf9;border-radius:13px;margin-top:14px;padding:12px}.completion-progress>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.completion-progress strong{font-size:13px}.completion-progress span{color:var(--green);font-size:11px;font-weight:800}.completion-progress p{color:var(--muted);margin:6px 0 0;font-size:11px}.contact-actions{margin-top:14px}.contact-actions button{border:1px solid var(--green);background:var(--green);color:#fff}.passenger-contact-list{background:var(--mint-soft);border:1px solid #cfe3da;border-radius:14px;gap:8px;margin-top:14px;padding:13px;display:grid}.passenger-contact-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.passenger-contact-heading strong{font-size:13px}.passenger-contact-heading small{color:var(--muted);font-size:10px}.passenger-contact-list article{background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:9px 10px;display:flex}.passenger-contact-list article>span{flex-direction:column;gap:3px;min-width:0;display:flex}.passenger-contact-list article strong{font-size:13px}.passenger-contact-list article small{color:var(--muted);font-size:12px}.passenger-contact-list article a{background:var(--green);color:#fff;border-radius:9px;flex:none;padding:7px 12px;font-size:11px;font-weight:800;text-decoration:none}.complete-ride-button{border:1px solid var(--green);background:var(--mint-soft);color:var(--green-dark);margin-top:10px}.completion-confirmed,.cancellation-confirmed{border-radius:13px;align-items:center;gap:10px;margin-top:10px;padding:12px;display:flex}.completion-confirmed{background:var(--mint-soft);color:var(--green-dark)}.cancellation-confirmed{color:#8d3521;background:#fff1ed}.completion-confirmed>span,.cancellation-confirmed>span{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:grid}.completion-confirmed>span{background:var(--green)}.completion-confirmed.pending>span{background:var(--amber);color:var(--ink)}.cancellation-confirmed>span{background:#c75a40}.completion-confirmed div,.cancellation-confirmed div{flex-direction:column;gap:2px;display:flex}.completion-confirmed strong,.cancellation-confirmed strong{font-size:13px}.completion-confirmed small,.cancellation-confirmed small{color:var(--muted);font-size:11px}.exception-records{gap:8px;margin-top:14px;display:grid}.exception-records>h3{margin:0;font-size:14px}.exception-records article{background:#fffbf2;border:1px solid #eadcb8;border-radius:13px;padding:12px}.exception-record-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.exception-record-head strong{font-size:13px}.exception-response{color:#71664c;background:#eee9dc;border-radius:6px;padding:3px 6px;font-size:10px;font-weight:800}.exception-response.confirmed{background:var(--mint);color:var(--green-dark)}.exception-response.disputed{color:#a43f28;background:#fff0ec}.exception-records article>p{color:var(--ink);margin:7px 0 3px;font-size:12px}.exception-records article>small{color:var(--muted);font-size:11px;line-height:1.5}.exception-response-actions{grid-template-columns:1fr 1.2fr;gap:7px;margin-top:9px;display:grid}.exception-response-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-height:44px;padding:8px;font-size:12px;font-weight:800}.exception-response-actions button:last-child{border-color:var(--green);background:var(--green);color:#fff}.status-note{color:var(--muted);margin:12px 0 0;font-size:11px;line-height:1.55}.contact-dialog-backdrop{z-index:100;background:#07181280;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.contact-dialog{text-align:center;background:#fff;border-radius:22px;width:min(360px,100%);max-height:calc(100dvh - 40px);padding:21px;overflow-y:auto;box-shadow:0 24px 70px #07181247}.contact-dialog>small{color:var(--green);font-size:11px;font-weight:800}.contact-dialog h3{margin:7px 0 14px;font-size:19px}.contact-dialog>strong{letter-spacing:.03em;font-size:25px;display:block}.contact-dialog p{color:var(--muted);margin:10px 0 18px;font-size:12px;line-height:1.6}.contact-dialog div{grid-template-columns:1fr 1.35fr;gap:8px;display:grid}.contact-dialog button,.contact-dialog a{border-radius:12px;place-items:center;min-height:46px;font-size:13px;font-weight:800;text-decoration:none;display:grid}.contact-dialog button{border:1px solid var(--line);cursor:pointer;background:#fff}.contact-dialog a{background:var(--green);color:#fff}.cancel-dialog label,.exception-dialog label{text-align:left;flex-direction:column;gap:6px;margin-bottom:13px;display:flex}.cancel-dialog label span,.exception-dialog label span{color:var(--muted);font-size:12px;font-weight:700}.cancel-dialog select,.exception-dialog select,.exception-dialog input,.exception-dialog textarea{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:11px;padding:11px;font-size:16px}.exception-dialog textarea{resize:vertical;min-height:80px}.exception-dialog>p{color:var(--muted);margin:-3px 0 15px;font-size:11px;line-height:1.5}.contact-dialog .danger-confirm{color:#fff;background:#b94c34;border:0}.contact-dialog .danger-confirm:disabled{opacity:.45;cursor:default}.vehicle-required-dialog>div{gap:10px}.vehicle-required-dialog>div button{min-height:44px}.vehicle-editor-view{background:var(--app)}.vehicle-editor-intro{background:var(--mint-soft);border:1px solid #cfe3da;border-radius:18px;align-items:center;gap:12px;margin-bottom:16px;padding:15px;display:flex}.vehicle-editor-intro>span{background:var(--green);color:#fff;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:14px;font-weight:900;display:grid}.vehicle-editor-intro>div{flex-direction:column;gap:4px;min-width:0;display:flex}.vehicle-editor-intro strong{font-size:14px}.vehicle-editor-intro small{color:var(--muted);font-size:11px}.vehicle-editor-form{gap:14px;display:grid}.vehicle-editor-form>label{gap:7px;display:grid}.vehicle-editor-form>label>span{color:var(--muted);font-size:12px;font-weight:650}.vehicle-editor-form input,.vehicle-editor-form select{border:1px solid var(--line);width:100%;height:52px;color:var(--ink);background:#fff;border-radius:14px;outline:0;padding:0 14px;font-size:15px}.vehicle-editor-form input:focus,.vehicle-editor-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px #0f775214}.vehicle-editor-form .primary-submit{min-height:50px;margin-top:2px}.profile-view{padding-top:max(20px, env(safe-area-inset-top))}.points-summary{background:var(--green-dark);color:#fff;border-radius:21px;grid-template-columns:1fr auto;gap:14px 24px;padding:19px;display:grid}.points-summary>div{flex-direction:column;gap:4px;min-width:0;display:flex}.points-summary>div:nth-child(2){text-align:right;align-items:flex-end}.points-summary small{color:#c8e1d7;font-size:11px}.points-summary strong{font-size:38px;line-height:1}.points-summary>div:nth-child(2) strong{font-size:21px}.points-summary strong span{margin-left:5px;font-size:12px;font-weight:600}.points-summary p{color:#d8ebe3;border-top:1px solid #fff3;grid-column:1/-1;margin:0;padding-top:12px;font-size:11px}.profile-section-title{justify-content:space-between;align-items:center;gap:12px;margin:22px 0 10px;display:flex}.profile-section-title h3{margin:0;font-size:17px}.profile-section-title span{color:var(--muted);font-size:11px}.vehicle-profile-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;display:grid}.vehicle-profile-card.complete{background:var(--mint-soft);border-color:#c8e0d5}.vehicle-profile-icon{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:44px;height:44px;font-size:14px;font-weight:900;display:grid}.vehicle-profile-card>div:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.vehicle-profile-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.vehicle-profile-card span{color:var(--ink);font-size:12px;font-weight:700}.vehicle-profile-card small{color:var(--muted);font-size:10px;line-height:1.45}.vehicle-profile-card>button{border:1px solid var(--green);min-width:48px;min-height:36px;color:var(--green);cursor:pointer;background:#fff;border-radius:10px;padding:7px 10px;font-size:11px;font-weight:800}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.reward-card{border:1px solid var(--line);background:#fff;border-radius:17px;min-width:0;padding:14px}.reward-card>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.reward-card>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.reward-card>div span{color:#bd4b2e;background:#fff0e9;border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:grid}.reward-card>small{color:var(--muted);margin:12px 0 9px;font-size:11px;display:block}.reward-card button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;min-height:42px;font-size:12px;font-weight:800}.reward-card button:disabled{color:#84918b;cursor:default;background:#edf1ee}.redemption-list,.pickup-records{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.redemption-list button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:60px;padding:11px 14px;display:flex}.redemption-list button:last-child{border-bottom:0}.redemption-list button>span{min-width:0}.redemption-list strong,.redemption-list small{display:block}.redemption-list strong{margin-bottom:4px;font-size:13px}.redemption-list small{color:var(--muted);letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.redemption-list b,.admin-redemption-result header span{color:#ae452a;background:#fff0e9;border-radius:999px;flex:none;padding:5px 8px;font-size:10px}.redemption-list b.fulfilled,.admin-redemption-result header span.fulfilled{background:var(--mint-soft);color:var(--green)}.pickup-records article{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;display:grid}.pickup-records article:last-child{border-bottom:0}.pickup-records time,.pickup-records article>span{min-width:0}.pickup-records time strong,.pickup-records time small,.pickup-records article>span strong,.pickup-records article>span small{display:block}.pickup-records time strong{font-size:12px;line-height:1.35}.pickup-records time small,.pickup-records article>span small{color:var(--muted);margin-top:3px;font-size:10px}.pickup-records article>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pickup-records article>b{color:var(--green);font-size:13px}.empty-records{color:var(--muted);text-align:center;margin:0;padding:20px 16px;font-size:12px;line-height:1.6}.menu-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:11px;padding:0 14px}.menu-card button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:32px auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:58px;padding:9px 0;display:grid}.menu-card button:last-child{border-bottom:0}.menu-card button>span{background:var(--mint-soft);width:28px;height:28px;color:var(--green);border-radius:8px;place-items:center;font-size:12px;display:grid}.menu-card strong{font-size:13px}.menu-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;justify-self:end;font-size:10px;overflow:hidden}.menu-card b{color:#a1aaa6;font-weight:400}.menu-card .logout-button{color:#a43f28}.menu-card .logout-button>span{color:#a43f28;background:#fff1ed}.admin-entry-card{margin-top:22px}.points-dialog .reward-confirm-button,.voucher-dialog .voucher-close{background:var(--green);color:#fff;border:0}.voucher-dialog{position:relative}.voucher-status{color:#ae452a;background:#fff0e9;border-radius:999px;margin:-6px 0 13px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-block}.voucher-status.fulfilled{background:var(--mint-soft);color:var(--green)}.contact-dialog>.voucher-code,.admin-redemption-result>.voucher-code{color:var(--green-dark);letter-spacing:.055em;margin:3px 0 15px;font-size:21px;display:block}.voucher-dialog dl,.admin-redemption-result dl{border:1px solid var(--line);background:var(--app);border-radius:13px;margin:0 0 15px;padding:12px 13px}.voucher-dialog dl div,.admin-redemption-result dl div{text-align:left;grid-template-columns:auto 1fr;gap:12px;margin:0;padding:4px 0;font-size:11px;display:grid}.voucher-dialog dt,.admin-redemption-result dt{color:var(--muted)}.voucher-dialog dd,.admin-redemption-result dd{text-align:right;margin:0;font-weight:700}.voucher-dialog>.voucher-close{width:100%;min-height:46px}.admin-redemption-view{padding-top:max(20px, env(safe-area-inset-top))}.admin-redemption-lead{color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.65}.admin-code-form{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.admin-code-form label{margin-bottom:8px;font-size:12px;font-weight:800;display:block}.admin-code-form>div{grid-template-columns:minmax(0,1fr) 82px;gap:8px;display:grid}.admin-code-form input{border:1px solid var(--line);background:var(--app);min-width:0;height:46px;color:var(--ink);text-transform:uppercase;border-radius:12px;padding:0 12px;font-size:13px}.admin-code-form button,.admin-redemption-result>button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:46px;font-size:12px;font-weight:800}.admin-code-form button:disabled,.admin-redemption-result>button:disabled{color:#84918b;cursor:default;background:#edf1ee}.admin-redemption-result{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:13px;padding:16px}.admin-redemption-result header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.admin-redemption-result header h3{margin:0;font-size:16px}.admin-reward-name{margin-bottom:6px;font-size:15px;display:block}.admin-redemption-result>button{width:100%}.admin-redemption-result>p{color:var(--muted);text-align:center;margin:10px 0 0;font-size:11px;line-height:1.5}.test-void-notice{color:#9e432d;text-align:center;background:#fff5f0;border:1px solid #efc7ba;border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:12px;font-weight:800}.admin-test-void-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;display:flex}.admin-test-void-heading strong{font-size:14px}.admin-test-void-heading button{color:var(--green);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:800}.admin-test-void-heading button:disabled{color:var(--muted);cursor:default}.admin-test-void-empty{color:var(--muted);text-align:center;margin:0;padding:24px 12px;font-size:12px}.admin-test-void-list{gap:10px;display:grid}.admin-test-void-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px}.admin-test-void-card header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-test-void-card header div{min-width:0}.admin-test-void-card header strong,.admin-test-void-card header small{display:block}.admin-test-void-card header strong{font-size:13px}.admin-test-void-card header small,.admin-test-void-card>p,.admin-test-void-audit{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.5}.admin-test-void-card header span{color:#ae452a;background:#fff0e9;border-radius:999px;flex:none;padding:5px 8px;font-size:10px;font-weight:800}.admin-test-void-card header span.fulfilled{background:var(--mint-soft);color:var(--green)}.admin-test-void-card>p{margin-bottom:11px}.admin-test-void-audit{color:var(--green);font-weight:800;display:block}.admin-test-void-select,.admin-test-void-form>button{border:1px solid var(--green);width:100%;min-height:42px;color:var(--green);cursor:pointer;background:#fff;border-radius:11px;font-size:12px;font-weight:800}.admin-test-void-select:disabled,.admin-test-void-form>button:disabled{border-color:var(--line);color:var(--muted);cursor:default}.admin-test-void-form{margin-top:4px}.admin-test-void-form label{margin-bottom:7px;font-size:12px;font-weight:800;display:block}.admin-test-void-form textarea{box-sizing:border-box;border:1px solid var(--line);background:var(--app);width:100%;min-height:76px;color:var(--ink);font:inherit;resize:vertical;border-radius:11px;margin-bottom:10px;padding:10px 11px;font-size:12px;line-height:1.5;display:block}.admin-test-void-form>p{color:var(--muted);margin:0 0 10px;font-size:11px;line-height:1.55}.admin-test-void-form>div{grid-template-columns:1fr 1.25fr;gap:8px;display:grid}.admin-test-void-form>div button{min-height:42px;color:var(--green-dark);cursor:pointer;background:#eef2ef;border:0;border-radius:11px;font-size:12px;font-weight:800}.admin-test-void-form>div .danger-confirm{color:#fff;background:#a43f28}.admin-test-void-form>div button:disabled{color:#84918b;cursor:default;background:#edf1ee}.prototype-label{color:#909b96;text-align:center;margin-top:22px;font-size:10px}.toast{z-index:120;bottom:calc(24px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:#14231ff2;border-radius:12px;width:max-content;max-width:calc(100% - 40px);padding:11px 16px;font-size:13px;font-weight:800;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #0000002e}@media (width>=700px){.prototype-stage{padding:16px}.phone-shell{height:calc(100dvh - 32px);min-height:680px;max-height:900px;box-shadow:var(--shadow);border:1px solid #cbd7d1;border-radius:32px}}@media (width<=359px){.view{padding-left:14px;padding-right:14px}.home-brand-row h1{font-size:34px}.fixed-route-board{padding-left:12px;padding-right:12px}.fixed-route-copy{grid-template-columns:minmax(0,1fr) 38px minmax(0,1.1fr)}.route-place strong{font-size:13px}.ride-card{grid-template-columns:66px minmax(0,1fr) auto;gap:8px;padding-left:9px;padding-right:9px}.depart-time strong{font-size:22px}.seat-pill{min-width:50px;padding:0 6px}.driver-stage-actions>div{grid-template-columns:1fr}.car-panel{grid-template-columns:1fr 1fr}.car-panel div:last-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--ink:#13271f;--muted:#6e7d76;--line:#dce5e0;--paper:#fff;--canvas:#eef2ef;--app:#f3f6f4;--green:#0d7254;--green-dark:#0b5944;--mint:#dcefe7;--mint-soft:#edf6f2;--coral:#ef704a;--sand:#f7f1e6;--shadow:0 20px 55px #13271f21}body,.prototype-stage,.phone-shell,.app-frame{background:var(--app)}.view{padding:24px 19px 36px}.auth-view{padding:max(48px, env(safe-area-inset-top)) 24px 40px;background:linear-gradient(180deg, var(--mint-soft) 0, var(--app) 42%)}.auth-logo{object-fit:cover;border:2px solid #ffffffe0;border-radius:22px;width:72px;height:72px;box-shadow:0 12px 25px #0d725430}.auth-logo+h2{margin-top:23px}.auth-kicker{letter-spacing:.11em;margin:23px 0 7px;font-size:11px;font-weight:600}.auth-view h2{letter-spacing:-.04em;font-size:31px;font-weight:650}.auth-subtitle{margin-top:7px;font-size:14px;font-weight:600}.auth-copy{margin:9px 0 22px;font-size:12px;line-height:1.65}.auth-form{gap:13px}.auth-form label span{color:var(--muted);font-size:12px;font-weight:600}.auth-form input{background:var(--paper);border-radius:14px;font-size:15px}.auth-form>button[type=submit]{border-radius:14px;font-size:14px;font-weight:700;box-shadow:0 8px 18px #0d725426}.password-visibility-button{font-size:12px;font-weight:600}.test-credentials{background:#ffffffa6;border-style:solid}.app-header{margin-bottom:18px}.app-header p{letter-spacing:.045em;margin-bottom:6px;font-size:11px;font-weight:600}.app-header h2{letter-spacing:-.035em;font-size:28px;font-weight:650}.home-view{padding-top:max(24px, env(safe-area-inset-top))}.home-masthead{margin-bottom:18px}.home-kicker{min-height:24px}.home-kicker p{color:var(--muted);letter-spacing:.035em;font-size:11px;font-weight:600}.home-brand-row{grid-template-columns:minmax(0,1fr) 58px;align-items:center;gap:14px}.home-brand-row h1{letter-spacing:-.04em;margin:5px 0 0;font-size:28px;font-style:normal;font-weight:650}.home-brand-row>div:first-child p{margin-top:8px;font-size:11px}.home-logo-cluster{display:block}.home-logo-cluster img{object-fit:cover;border:2px solid #fff;border-radius:19px;width:58px;height:58px;box-shadow:0 8px 18px #0d725426}.route-switch,.mode-switch,.form-mode,.segmented{background:#e9eeeb;border:0;border-radius:16px;gap:4px;padding:4px}.route-switch{margin-bottom:0}.route-switch button,.mode-switch button,.form-mode button{min-height:50px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:12px;padding:7px 10px}.route-switch strong,.mode-switch strong,.form-mode strong{font-size:13px;font-weight:650}.route-switch button.active,.route-switch button.active.outbound,.mode-switch button.active,.mode-switch button.active.instant,.form-mode button.active,.form-mode button:nth-child(2).active,.segmented button.active{background:var(--paper);color:var(--green);border:0;box-shadow:0 4px 12px #13271f12}.route-switch button.active small{color:var(--muted);opacity:1}.route-caption{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin:11px 2px 12px;font-size:11px;display:flex}.route-caption strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.route-caption span{flex:none}.fixed-route-board{border:1px solid var(--line);background:var(--paper);border-radius:20px;margin-bottom:14px;padding:15px;box-shadow:0 8px 20px #13271f0b}.fixed-route-board:after{display:none}.fixed-route-line b{background:var(--paper)}.route-foot{color:var(--muted)}.mode-switch{margin-bottom:14px}.upcoming-trip{background:var(--green-dark);border-radius:19px;box-shadow:0 8px 20px #0b594421}.section-heading{align-items:center;margin:22px 1px 11px}.section-heading p{color:var(--muted);letter-spacing:.02em;font-weight:600}.section-heading h3{letter-spacing:-.015em;font-size:17px;font-style:normal;font-weight:650}.ride-list{gap:11px}.ride-card{background:var(--paper);border-radius:22px;grid-template-columns:67px minmax(0,1fr) auto;gap:12px;min-height:94px;padding:17px 15px;box-shadow:0 8px 20px #13271f0d}.ride-card:first-child{border-color:#9bc7b8}.depart-time{gap:5px}.depart-time strong{font-size:27px;font-weight:650}.ride-primary{border-left-color:var(--line);padding-left:12px}.driver-name{font-weight:650}.recommend-tag{color:var(--coral)}.ride-primary>small{margin-top:5px}.ride-primary>span{margin-top:6px}.seat-pill{background:var(--sand);color:#74613c;border-radius:12px;min-width:58px;min-height:38px;font-size:12px}.home-create-actions{margin-top:16px}.publish-fab,.demand-fab,.outline-action,.primary-submit{border-radius:14px;min-height:48px;font-weight:700}.publish-fab{box-shadow:0 8px 18px #0d725426}.demand-fab,.outline-action.demand-outline{border-color:var(--line);background:var(--paper);color:var(--ink)}.bottom-nav{border-color:var(--line);background:#fffffff5}.bottom-nav button{color:#809089;font-weight:600}.bottom-nav button.active:before{display:none}.top-bar{margin-bottom:18px}.top-bar button{box-shadow:none;border-radius:13px}.top-bar h2{font-weight:650}.detail-view,.publish-view,.status-view{padding-bottom:112px}.detail-summary{background:var(--green-dark);color:#fff;border-radius:21px;margin-bottom:12px;padding:18px}.detail-time{flex-direction:column;align-items:flex-start;gap:5px}.detail-time small{color:#c8e1d7}.match-score.large{color:#fff;background:#ffffff21}.detail-route,.driver-panel,.note-panel,.form-card,.admin-code-form,.admin-redemption-result{background:var(--paper);border-radius:19px}.car-panel{border:1px solid #eee5d4;border-radius:19px}.sticky-action{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff7}.sticky-action button,.primary-submit{font-weight:700}.publish-view form{gap:13px}.publish-view .route-switch{margin-bottom:0}.route-form-card,.form-grid,.note-input{box-shadow:0 6px 16px #13271f06}.route-form-card input,.form-grid input,.form-grid select{font-size:15px;font-weight:600}.publish-tip{border:1px solid #d8e9e2}.demand-intro{border:1px solid #f1d9d0;border-radius:19px}.segmented button{font-weight:650}.active-trip-card,.simple-trip-card,.my-demand-card,.request-card,.driver-demand-card{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:20px;box-shadow:0 7px 18px #13271f09}.active-trip-card h3 b{color:var(--green)}.active-trip-card p span{color:var(--muted)}.active-trip-card>div{border-top-color:var(--line)}.simple-trip-card{border-radius:18px}.my-demand-card.claimed,.request-card.accepted{background:var(--mint-soft);border-color:#c8e0d5}.my-demand-card.withdrawn{background:#f5f6f5}.request-card,.driver-demand-card{border-radius:19px}.driver-demand-card header time{background:var(--orange-soft,#fff1eb);color:#a94631}.privacy-strip{background:var(--mint-soft);margin-left:-19px;margin-right:-19px;font-weight:650}.status-view{background:var(--app)}.status-sheet{border:1px solid var(--line);box-shadow:0 8px 20px #13271f0b}.current-stage-card{border-radius:18px}.driver-stage-actions{border:1px solid #eee5d4}.points-summary{border-radius:22px;box-shadow:0 10px 24px #0b59441f}.reward-card,.redemption-list,.pickup-records,.menu-card{border-radius:19px;box-shadow:0 6px 16px #13271f06}.reward-card button{font-weight:700}.reward-card>div span{color:var(--coral);background:#fff1eb}.contact-dialog{border:1px solid #dce5e0e6}.contact-dialog button,.contact-dialog a{font-weight:700}.prototype-label{color:#94a19b}@media (width>=700px){.prototype-stage{background:var(--canvas);padding:16px}.phone-shell{background:var(--app)}}@media (width<=359px){.view{padding-left:14px;padding-right:14px}.home-brand-row h1{font-size:26px}.route-caption{font-size:10px}.ride-card{grid-template-columns:62px minmax(0,1fr) auto;gap:8px;padding-left:11px;padding-right:11px}.depart-time strong{font-size:24px}}.auth-register-view{padding-top:max(26px, env(safe-area-inset-top))}.auth-register-view .auth-logo,.vehicle-setup-view .auth-logo{border-radius:20px;width:64px;height:64px}.auth-form select{border:1px solid var(--line);background:var(--paper);width:100%;height:50px;color:var(--ink);border-radius:14px;padding:0 14px;font-size:15px}.auth-form select:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px #0f775214}.auth-choice-group{border:0;gap:8px;margin:0;padding:0;display:grid}.auth-choice-group legend{color:var(--muted);margin-bottom:1px;padding:0;font-size:12px;font-weight:600}.auth-choice-option{cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px!important;display:grid!important}.auth-choice-option input[type=radio]{width:18px;min-width:18px;height:18px;min-height:0;accent-color:var(--green);margin:0;padding:0}.auth-choice-option>span{border:1px solid var(--line);background:var(--paper);border-radius:14px;flex-direction:column;justify-content:center;gap:3px;min-height:58px;padding:10px 12px;display:flex;color:var(--ink)!important}.auth-choice-option strong{font-size:13px;font-weight:700}.auth-choice-option small{color:var(--muted);font-size:11px;line-height:1.45}.auth-choice-option input:checked+span{border-color:var(--green);background:var(--mint-soft);box-shadow:0 0 0 2px #0d725412}.auth-choice-option input:focus-visible+span{outline-offset:2px;outline:3px solid #0f775238}.auth-privacy-copy{color:var(--muted);margin:-1px 1px 0;font-size:11px;line-height:1.6}.auth-link{width:100%;min-height:44px;color:var(--green);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;margin-top:12px;padding:8px;font-size:13px;font-weight:700;display:flex}.auth-link span{font-size:20px;line-height:1}.auth-setup-note{background:var(--mint-soft);color:var(--green-dark);border:1px solid #d8e9e2;border-radius:13px;align-items:flex-start;gap:7px;margin:-1px 0 0;padding:11px 12px;font-size:12px;line-height:1.55;display:flex}.auth-setup-note span{background:var(--green);color:#fff;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:11px;font-style:italic;font-weight:800;display:grid}.auth-register-view .auth-form{gap:18px}.auth-register-view .auth-choice-group{gap:12px}.auth-register-view .auth-choice-option{gap:12px!important}.auth-register-view .auth-choice-option>span{min-height:62px;padding:12px 14px}.auth-register-view .auth-privacy-copy{margin-top:0}.auth-register-view .auth-form>button[type=submit]{margin-top:6px}@media (width<=359px){.auth-register-view{padding-left:18px;padding-right:18px}.auth-choice-option>span{padding-left:10px;padding-right:10px}}
