.luggage-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1050;display:flex;justify-content:center;align-items:center;padding:16px;animation:luggageFadeIn var(--transition-fast) ease-out}@keyframes luggageFadeIn{0%{opacity:0}to{opacity:1}}.luggage-modal-card{background-color:var(--surface);width:100%;max-width:620px;max-height:90vh;border-radius:var(--radius-card);border:1px solid var(--decorative-border);box-shadow:0 16px 40px #00000059;display:flex;flex-direction:column;overflow:hidden;animation:luggageZoomIn var(--transition-fast) ease-out}@keyframes luggageZoomIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.luggage-modal-header{padding:18px 24px 14px;border-bottom:1px solid var(--decorative-border);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.luggage-modal-title{margin:0 0 4px;font-size:19px;font-weight:800;color:var(--text-primary);line-height:1.2}.luggage-modal-subtitle{margin:0;font-size:13px;color:var(--text-secondary)}.luggage-close-btn{background:var(--canvas);border:1px solid var(--decorative-border);font-size:14px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.luggage-close-btn:hover{background-color:var(--surface-raised);color:var(--text-primary)}.luggage-modal-body{flex:1;overflow-y:auto;padding:18px 24px;display:flex;flex-direction:column;gap:18px}.standard-allowance-banner{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-card);background:linear-gradient(135deg,#10b9811f,#10b9810d);border:1px solid rgba(16,185,129,.3)}.allowance-icon{font-size:32px;flex-shrink:0}.allowance-title{margin:0 0 2px;font-size:14px;font-weight:800;color:#10b981}.allowance-desc{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.4}.luggage-calc-section{background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:14px}.calc-title{margin:0;font-size:15px;font-weight:700;color:var(--text-primary)}.calc-field-group{display:flex;flex-direction:column;gap:8px}.calc-label{font-size:12px;font-weight:700;color:var(--text-secondary)}.vehicle-pills{display:flex;gap:8px;overflow-x:auto}.vehicle-trunk-desc{margin:4px 0 0;font-size:11px;color:var(--text-secondary);line-height:1.4}.vehicle-pill{flex:1;padding:8px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-control);background-color:var(--surface);border:1px solid var(--decorative-border);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all var(--transition-fast)}.vehicle-pill:hover{background-color:var(--surface-raised);color:var(--text-primary)}.vehicle-pill.active{background-color:var(--brand-amber);color:#000;border-color:var(--brand-amber);font-weight:700}.pill-capacity{font-size:11px;opacity:.8}.luggage-steppers-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stepper-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background-color:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-control)}.stepper-label-block{min-width:0;flex:1}.stepper-item-title{font-size:12px;font-weight:600;color:var(--text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stepper-controls{display:flex;align-items:center;gap:8px;margin-left:8px}.btn-stepper{width:26px;height:26px;border-radius:50%;border:1px solid var(--decorative-border);background-color:var(--canvas);color:var(--text-primary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-stepper:hover:not(:disabled){background-color:var(--brand-amber);color:#000;border-color:var(--brand-amber)}.stepper-value{font-size:13px;font-weight:700;min-width:16px;text-align:center;color:var(--text-primary)}.fit-result-card{padding:12px 14px;border-radius:var(--radius-control);display:flex;flex-direction:column;gap:8px;border:1px solid transparent;transition:all var(--transition-fast)}.fit-result-card.comfortable{background-color:#10b9811a;border-color:#10b9814d}.fit-result-card.tight{background-color:#f59e0b1a;border-color:#f59e0b4d}.fit-result-card.exceeded{background-color:#ef44441a;border-color:#ef44444d}.fit-result-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.fit-verdict-badge{font-size:13px;font-weight:800}.fit-result-card.comfortable .fit-verdict-badge{color:#10b981}.fit-result-card.tight .fit-verdict-badge{color:#f59e0b}.fit-result-card.exceeded .fit-verdict-badge{color:#ef4444}.fit-capacity-nums{font-size:12px;font-weight:700;color:var(--text-secondary)}.fit-progress-track{height:6px;background-color:var(--surface);border-radius:9999px;overflow:hidden}.fit-progress-fill{height:100%;border-radius:9999px;transition:width var(--transition-fast) ease-out}.fit-result-card.comfortable .fit-progress-fill{background-color:#10b981}.fit-result-card.tight .fit-progress-fill{background-color:#f59e0b}.fit-result-card.exceeded .fit-progress-fill{background-color:#ef4444}.fit-recommendation{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.4}.luggage-guidelines-section{display:flex;flex-direction:column;gap:8px}.guidelines-title{margin:0;font-size:13px;font-weight:700;color:var(--text-primary)}.guidelines-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.guideline-item{font-size:12px;color:var(--text-secondary);line-height:1.4}.luggage-modal-footer{padding:14px 24px;border-top:1px solid var(--decorative-border);display:flex;justify-content:flex-end;background-color:var(--canvas)}.btn-luggage-confirm{padding:9px 20px;font-size:13px;font-weight:700;background-color:var(--brand-amber);color:#000;border:none;border-radius:var(--radius-control);cursor:pointer;box-shadow:var(--shadow-subtle);transition:opacity var(--transition-fast)}.btn-luggage-confirm:hover{opacity:.9}@media (max-width: 640px){.luggage-modal-backdrop{padding:0;align-items:flex-end}.luggage-modal-card{max-width:100%;max-height:88vh;border-radius:20px 20px 0 0;border-bottom:none}.luggage-steppers-grid{grid-template-columns:1fr}}.create-request-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease-out}.create-request-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 16px 40px #00000040;padding:20px 24px;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header-bar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;border-bottom:1px solid var(--color-border);padding-bottom:12px}.modal-title-lockup{display:flex;align-items:center;gap:12px}.modal-icon-badge{font-size:1.6rem;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}.modal-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--color-text)}.modal-subtitle{margin:2px 0 0;font-size:.8rem;color:var(--color-text-secondary)}.btn-modal-close{background:transparent;border:none;font-size:1.2rem;color:var(--color-text-secondary);cursor:pointer;padding:4px;line-height:1}.create-request-form{display:flex;flex-direction:column;gap:14px}.label-with-action{display:flex;align-items:center;justify-content:space-between}.form-label{font-size:.84rem;font-weight:600;color:var(--color-text)}.req-star{color:#ef4444}.btn-gps-inline{background:transparent;border:none;color:var(--color-primary-dark);font-size:.78rem;font-weight:600;cursor:pointer;padding:0}.btn-gps-inline:hover{text-decoration:underline}.form-input,.form-textarea{width:100%;padding:10px 14px;font-size:.92rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);outline:none;transition:border-color var(--transition-fast);box-sizing:border-box}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b26}.quick-hub-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.hub-chip{background:var(--color-surface-hover);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.74rem;padding:3px 8px;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.hub-chip:hover{background:#f59e0b1f;border-color:var(--color-primary);color:var(--color-text)}.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seat-stepper-control{display:flex;align-items:center;gap:10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:4px 8px;justify-content:space-between}.btn-step{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.btn-step:disabled{opacity:.4;cursor:not-allowed}.btn-step:not(:disabled):hover{background:var(--color-primary);color:#000;border-color:var(--color-primary)}.step-val{font-weight:700;font-size:.95rem;color:var(--color-text)}.amenities-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.amenity-pill{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500;padding:8px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left}.amenity-pill.active{background:#f59e0b1f;border-color:var(--color-primary);color:var(--color-text);font-weight:600}.pill-check{font-size:.85rem;font-weight:700;color:var(--color-primary)}.form-error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.84rem;padding:8px 12px;border-radius:var(--radius-md)}.form-submit-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:12px;border-top:1px solid var(--color-border)}.btn-cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:10px 18px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.btn-submit-request{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#000;border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #f59e0b40;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-submit-request:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b59}.request-success-alert{text-align:center;padding:30px 20px}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#10b981;color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:12px}.request-success-alert h4{margin:0 0 6px;font-size:1.2rem;color:var(--color-text)}.request-success-alert p{margin:0;font-size:.88rem;color:var(--color-text-secondary)}@media (max-width: 480px){.form-row-split,.amenities-grid{grid-template-columns:1fr}}.estimator-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#050810c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2100;padding:16px;animation:estimatorFadeIn .22s ease-out}@keyframes estimatorFadeIn{0%{opacity:0}to{opacity:1}}.estimator-modal-container{position:relative;width:100%;max-width:480px;max-height:94vh;overflow-y:auto;background:var(--color-surface, #ffffff);border-radius:20px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));box-shadow:0 16px 36px -8px #00000047;padding:24px;display:flex;flex-direction:column;gap:18px;animation:estimatorSlideUp .26s cubic-bezier(.16,1,.3,1)}@keyframes estimatorSlideUp{0%{transform:translateY(18px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.estimator-close-btn{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;background:var(--color-surface-hover, #f3f4f6);border:1px solid var(--color-border, rgba(0, 0, 0, .08));color:var(--color-text-main, #111827);font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.estimator-close-btn:hover{transform:scale(1.08);background:var(--color-surface-hover, #e5e7eb)}.estimator-header{padding-right:36px}.estimator-title-lockup{display:flex;align-items:flex-start;gap:12px}.estimator-header-icon{font-size:1.8rem;line-height:1}.estimator-title{margin:0 0 4px;font-size:1.25rem;font-weight:800;color:var(--color-text-main, #111827)}.estimator-subtitle{margin:0;font-size:.82rem;color:var(--color-text-muted, #6b7280)}.estimator-corridors-bar{display:flex;flex-wrap:wrap;gap:8px}.corridor-chip-btn{padding:6px 12px;border-radius:9999px;background:var(--color-surface-hover, #f3f4f6);border:1px solid var(--color-border, rgba(0, 0, 0, .1));color:var(--color-text-main, #374151);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.corridor-chip-btn:hover{background:#f59e0b1a;border-color:#f59e0b}.corridor-chip-btn.active{background:#f59e0b;border-color:#f59e0b;color:#fff;font-weight:700;box-shadow:0 2px 8px #f59e0b59}.estimator-inputs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.estimator-input-field{display:flex;flex-direction:column;gap:4px}.estimator-field-label{font-size:.78rem;font-weight:700;color:var(--color-text-muted, #6b7280)}.estimator-text-input{width:100%;padding:10px 12px;border-radius:10px;background:var(--color-surface-hover, #f9fafb);border:1px solid var(--color-border, rgba(0, 0, 0, .12));color:var(--color-text-main, #111827);font-size:.92rem;font-weight:600;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.estimator-text-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e}.estimator-section{display:flex;flex-direction:column;gap:8px}.estimator-section-label{font-size:.8rem;font-weight:700;color:var(--color-text-muted, #6b7280)}.vehicle-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vehicle-card-btn{padding:12px 8px;border-radius:12px;background:var(--color-surface-hover, #f9fafb);border:1px solid var(--color-border, rgba(0, 0, 0, .1));display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;cursor:pointer;transition:all .18s ease}.vehicle-card-btn:hover{border-color:#f59e0b;background:#f59e0b0d}.vehicle-card-btn.active{background:#f59e0b1f;border:2px solid #f59e0b;box-shadow:0 4px 12px #f59e0b33}.vehicle-card-icon{font-size:1.4rem}.vehicle-card-title{font-size:.82rem;font-weight:700;color:var(--color-text-main, #111827)}.vehicle-card-cap{font-size:.7rem;color:var(--color-text-muted, #6b7280)}.estimator-seats-row{display:flex;align-items:center;justify-content:space-between}.seats-stepper-control{display:inline-flex;align-items:center;gap:12px;background:var(--color-surface-hover, #f3f4f6);padding:4px 10px;border-radius:12px;border:1px solid var(--color-border, rgba(0, 0, 0, .1))}.btn-stepper-change{width:32px;height:32px;border-radius:8px;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, rgba(0, 0, 0, .12));color:var(--color-text-main, #111827);font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease}.btn-stepper-change:disabled{opacity:.4;cursor:not-allowed}.btn-stepper-change:not(:disabled):hover{background:var(--color-surface-hover, #e5e7eb)}.stepper-value-display{font-size:.96rem;font-weight:800;color:var(--color-text-main, #111827);min-width:60px;text-align:center}.estimator-comparison-card{background:linear-gradient(135deg,#10b98114,#f59e0b0f);border:1px solid rgba(16,185,129,.25);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}.corridor-telemetry-pill{align-self:flex-start;padding:3px 10px;border-radius:9999px;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#d97706;font-size:.76rem;font-weight:800}.comparison-prices-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.price-item{display:flex;flex-direction:column;gap:2px}.price-item-label{font-size:.74rem;font-weight:700;color:var(--color-text-muted, #6b7280)}.price-item-value{font-size:1.35rem;font-weight:900;line-height:1.2}.highlight-green{color:#059669}.strikethrough{text-decoration:line-through;color:var(--color-text-muted, #9ca3af);font-size:1.15rem;font-weight:700}.price-per-seat-note{font-size:.74rem;color:var(--color-text-muted, #6b7280)}.price-comparison-divider{font-size:.86rem;font-weight:800;color:var(--color-text-muted, #9ca3af);text-transform:uppercase}.savings-highlight-banner{padding:8px 14px;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:.88rem;font-weight:800;text-align:center;box-shadow:0 4px 12px #10b98140}.estimator-toll-notice{margin:0;font-size:.75rem;color:var(--color-text-muted, #6b7280);line-height:1.35}.btn-estimator-search-cta{width:100%;padding:14px;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;font-size:.98rem;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #f59e0b59;transition:filter .15s ease,transform .15s ease}.btn-estimator-search-cta:hover{filter:brightness(1.06);transform:translateY(-1px)}[data-theme=midnight] .estimator-modal-overlay{background-color:#03050ae0}[data-theme=midnight] .estimator-modal-container{background:#111827;border-color:#ffffff1a}[data-theme=midnight] .estimator-close-btn{background:#1f2937;border-color:#ffffff1f;color:#f9fafb}[data-theme=midnight] .estimator-title{color:#f9fafb}[data-theme=midnight] .corridor-chip-btn{background:#1f2937;border-color:#ffffff1f;color:#e5e7eb}[data-theme=midnight] .corridor-chip-btn.active{background:#f59e0b;color:#fff}[data-theme=midnight] .estimator-text-input{background:#1f2937;border-color:#ffffff24;color:#f9fafb}[data-theme=midnight] .vehicle-card-btn{background:#1f2937;border-color:#ffffff1f}[data-theme=midnight] .vehicle-card-title{color:#f9fafb}[data-theme=midnight] .vehicle-card-btn.active{background:#f59e0b2e;border-color:#f59e0b}[data-theme=midnight] .seats-stepper-control{background:#1f2937;border-color:#ffffff1f}[data-theme=midnight] .btn-stepper-change{background:#111827;border-color:#ffffff24;color:#f9fafb}[data-theme=midnight] .stepper-value-display{color:#f9fafb}[data-theme=midnight] .estimator-comparison-card{background:linear-gradient(135deg,#10b9811f,#f59e0b14);border-color:#10b98159}[data-theme=midnight] .corridor-telemetry-pill{background:#f59e0b38;color:#fbbf24}[data-theme=midnight] .highlight-green{color:#34d399}.notif-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1050;display:flex;justify-content:flex-end;align-items:stretch;animation:notifFadeIn var(--transition-fast) ease-out}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}.notif-modal-sheet{background-color:var(--surface);width:100%;max-width:440px;height:100%;box-shadow:-8px 0 28px #00000047;display:flex;flex-direction:column;animation:notifSlideIn var(--transition-fast) ease-out;border-left:1px solid var(--decorative-border)}@keyframes notifSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.notif-modal-header{padding:16px 20px;border-bottom:1px solid var(--decorative-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.notif-header-title-row{display:flex;align-items:center;gap:8px}.notif-header-title{margin:0;font-size:18px;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:6px}.notif-unread-pill{font-size:11px;font-weight:700;background-color:#ef4444;color:#fff;padding:2px 7px;border-radius:9999px;line-height:1.2}.notif-header-actions{display:flex;align-items:center;gap:10px}.btn-mark-all-read{background:transparent;border:none;font-size:12px;font-weight:600;color:var(--brand-amber);cursor:pointer;padding:4px 6px;border-radius:var(--radius-control);transition:opacity var(--transition-fast)}.btn-mark-all-read:hover{opacity:.8;text-decoration:underline}.notif-close-btn{background:var(--canvas);border:1px solid var(--decorative-border);font-size:14px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.notif-close-btn:hover{background-color:var(--surface-raised);color:var(--text-primary)}.notif-filter-tabs{display:flex;padding:8px 16px;gap:8px;border-bottom:1px solid var(--decorative-border);background-color:var(--canvas)}.notif-tab-btn{flex:1;padding:8px 12px;font-size:13px;font-weight:600;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.notif-tab-btn:hover{color:var(--text-primary)}.notif-tab-btn.active{background-color:var(--surface);color:var(--text-primary);border-color:var(--decorative-border);box-shadow:var(--shadow-subtle);font-weight:700}.notif-modal-body{flex:1;overflow-y:auto;padding:12px 16px}.notif-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px}.notif-empty-icon{font-size:42px;margin-bottom:12px;opacity:.7}.notif-empty-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.notif-empty-subtitle{font-size:13px;color:var(--text-secondary);margin:0;max-width:260px;line-height:1.4}.notif-list{display:flex;flex-direction:column;gap:10px}.notif-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-card);cursor:pointer;transition:all var(--transition-fast);text-align:left}.notif-card:hover{background-color:var(--surface-raised);transform:translateY(-1px);box-shadow:var(--shadow-subtle)}.notif-card.is-unread{background-color:var(--surface);border-color:#f59e0b66;box-shadow:0 2px 8px #f59e0b14}.notif-category-icon-wrapper{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.notif-category-icon-wrapper.booking{background-color:#10b98126;color:#10b981}.notif-category-icon-wrapper.reminder{background-color:#f59e0b26;color:#f59e0b}.notif-category-icon-wrapper.offer{background-color:#3b82f626;color:#3b82f6}.notif-category-icon-wrapper.system{background-color:#8b5cf626;color:#8b5cf6}.notif-card-content{flex:1;min-width:0}.notif-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px}.notif-category-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary)}.notif-time{font-size:11px;color:var(--text-secondary)}.notif-unread-dot{width:7px;height:7px;border-radius:50%;background-color:var(--brand-amber);margin-left:auto;box-shadow:0 0 6px var(--brand-amber);animation:notifPulse 2s infinite}@keyframes notifPulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(.95);opacity:.8}}.notif-card-title{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3}.notif-card-message{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.4;word-break:break-word}.notif-modal-footer{padding:12px 16px;border-top:1px solid var(--decorative-border);display:flex;justify-content:flex-end;background-color:var(--canvas)}.btn-clear-all-notifs{background:transparent;border:none;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;padding:6px 10px;border-radius:var(--radius-control);transition:color var(--transition-fast)}.btn-clear-all-notifs:hover{color:var(--color-bad)}@media (max-width: 640px){.notif-modal-backdrop{justify-content:center;align-items:flex-end}.notif-modal-sheet{max-width:100%;height:85vh;border-radius:20px 20px 0 0;border-left:none;border-top:1px solid var(--decorative-border);animation:notifSlideUp var(--transition-fast) ease-out}@keyframes notifSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.help-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1050;display:flex;justify-content:center;align-items:center;padding:16px;animation:helpFadeIn var(--transition-fast) ease-out}@keyframes helpFadeIn{0%{opacity:0}to{opacity:1}}.help-modal-card{background-color:var(--surface);width:100%;max-width:620px;max-height:90vh;border-radius:var(--radius-card);border:1px solid var(--decorative-border);box-shadow:0 16px 40px #00000059;display:flex;flex-direction:column;overflow:hidden;animation:helpZoomIn var(--transition-fast) ease-out}@keyframes helpZoomIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.help-modal-header{padding:18px 24px 14px;border-bottom:1px solid var(--decorative-border);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.help-modal-title{margin:0 0 4px;font-size:19px;font-weight:800;color:var(--text-primary);line-height:1.2}.help-modal-subtitle{margin:0;font-size:13px;color:var(--text-secondary)}.help-close-btn{background:var(--canvas);border:1px solid var(--decorative-border);font-size:14px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.help-close-btn:hover{background-color:var(--surface-raised);color:var(--text-primary)}.help-search-container{padding:12px 24px 8px;position:relative;display:flex;align-items:center}.help-search-icon{position:absolute;left:36px;font-size:14px;opacity:.6}.help-search-input{width:100%;padding:10px 38px 10px 36px;font-size:13px;background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-control);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.help-search-input:focus{border-color:var(--brand-amber);box-shadow:0 0 0 2px #f59e0b33}.help-search-clear{position:absolute;right:34px;background:transparent;border:none;font-size:13px;color:var(--text-secondary);cursor:pointer;padding:4px}.help-category-chips{padding:6px 24px 12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.help-category-chips::-webkit-scrollbar{display:none}.help-category-chip{padding:6px 12px;font-size:12px;font-weight:600;border-radius:9999px;background-color:var(--canvas);border:1px solid var(--decorative-border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.help-category-chip:hover{background-color:var(--surface-raised);color:var(--text-primary)}.help-category-chip.active{background-color:var(--brand-amber);color:#000;border-color:var(--brand-amber);font-weight:700}.help-modal-body{flex:1;overflow-y:auto;padding:0 24px 16px}.help-empty-state{padding:40px 20px;text-align:center}.help-empty-icon{font-size:36px;display:block;margin-bottom:8px;opacity:.6}.help-empty-text{font-size:13px;color:var(--text-secondary);margin:0}.help-accordion-list{display:flex;flex-direction:column;gap:8px}.help-accordion-item{background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-card);overflow:hidden;transition:border-color var(--transition-fast)}.help-accordion-item.expanded{border-color:#f59e0b66}.help-accordion-trigger{width:100%;padding:14px 16px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left}.help-item-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;background-color:#f59e0b1f;color:var(--brand-amber);padding:2px 6px;border-radius:4px;flex-shrink:0}.help-item-question{flex:1;font-size:14px;font-weight:700;color:var(--text-primary);line-height:1.3}.help-chevron{font-size:16px;color:var(--text-secondary);transition:transform var(--transition-fast);transform-origin:center;flex-shrink:0}.help-chevron.open{transform:rotate(180deg)}.help-accordion-content{padding:10px 16px 14px;border-top:1px dashed var(--decorative-border);margin-top:2px}.help-item-answer{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.help-modal-footer{padding:14px 24px;background-color:var(--canvas);border-top:1px solid var(--decorative-border)}.help-support-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.help-support-prompt{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.help-support-actions{display:flex;gap:10px}.btn-support-hotline{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;border-radius:var(--radius-control);background-color:var(--brand-amber);color:#000;text-decoration:none;transition:opacity var(--transition-fast)}.btn-support-hotline:hover{opacity:.9}.btn-support-zalo{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;border-radius:var(--radius-control);background-color:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3);text-decoration:none;transition:all var(--transition-fast)}.btn-support-zalo:hover{background-color:#3b82f6;color:#fff}@media (max-width: 640px){.help-modal-backdrop{padding:0;align-items:flex-end}.help-modal-card{max-width:100%;max-height:88vh;border-radius:20px 20px 0 0;border-bottom:none}.help-modal-header{padding:16px 18px 12px}.help-search-container{padding:10px 18px 6px}.help-search-icon{left:28px}.help-category-chips{padding:6px 18px 10px}.help-modal-body{padding:0 18px 14px}.help-modal-footer{padding:12px 18px}.help-support-card{flex-direction:column;align-items:flex-start;gap:10px}.help-support-actions{width:100%}.btn-support-hotline,.btn-support-zalo{flex:1;justify-content:center}}.language-switch{display:inline-flex;align-items:center;background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-control);padding:2px;gap:2px;-webkit-user-select:none;user-select:none}.lang-switch-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:700;border-radius:calc(var(--radius-control) - 2px);cursor:pointer;transition:all .15s ease;line-height:1}.lang-switch-btn:hover{color:var(--text-primary);background-color:var(--surface-hover)}.lang-switch-btn.active{background-color:var(--surface);color:var(--brand-amber);box-shadow:0 1px 4px #00000026;border:1px solid rgba(245,158,11,.25)}.lang-flag{font-size:12px;line-height:1}.lang-code{font-family:inherit;letter-spacing:.5px}.language-switch.compact{padding:1px;gap:1px}.language-switch.compact .lang-switch-btn{padding:3px 6px;font-size:10px}.language-switch.compact .lang-flag{font-size:10px}[data-theme=midnight] .language-switch,.midnight .language-switch{background-color:#0f172a99;border-color:#ffffff1f}[data-theme=midnight] .lang-switch-btn.active,.midnight .lang-switch-btn.active{background-color:#1e293be6;color:#fbbf24;border-color:#fbbf244d}.app-header{height:var(--header-height-mobile);background-color:var(--surface);border-bottom:1px solid var(--decorative-border);position:sticky;top:0;z-index:100;display:flex;align-items:center;box-shadow:var(--shadow-subtle);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.header-container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.brand-identity{display:flex;align-items:center;gap:10px;text-decoration:none}.brand-logo-img{width:34px;height:34px;display:block;border-radius:var(--radius-card);object-fit:contain;flex-shrink:0}.brand-text-lockup{display:flex;align-items:center;gap:6px}.brand-wordmark{font-size:20px;font-weight:800;color:var(--text-primary);letter-spacing:-.4px;line-height:1}.micro-badge{font-size:11px;font-weight:700;background-color:var(--available-bg);color:var(--available-text);padding:2px 7px;border-radius:var(--radius-status-chip);letter-spacing:.1px;line-height:1.2}.header-actions{display:flex;align-items:center;gap:10px}.btn-header-estimator{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3);font-size:13px;font-weight:700;padding:7px 12px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-header-estimator:hover{background:#10b981;color:#fff;border-color:#10b981;transform:translateY(-1px);box-shadow:0 4px 12px #10b98140}@media (max-width: 540px){.btn-header-estimator{display:none}}.btn-header-post-req{background:linear-gradient(135deg,#f59e0b26,#f59e0b14);color:var(--brand-amber);border:1px solid rgba(245,158,11,.35);font-size:13px;font-weight:700;padding:7px 14px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-header-post-req:hover{background:var(--brand-amber);color:#000;border-color:var(--brand-amber);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b40}.btn-header-notif{position:relative;width:36px;height:36px;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;font-size:16px;background-color:var(--canvas);border:1px solid var(--decorative-border);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.btn-header-notif:hover{background-color:var(--surface-raised);transform:translateY(-1px)}.header-notif-badge{position:absolute;top:-4px;right:-4px;background-color:#ef4444;color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:9999px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;border:2px solid var(--surface);box-shadow:0 1px 4px #0003}.btn-header-help{width:36px;height:36px;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;font-size:16px;background-color:var(--canvas);border:1px solid var(--decorative-border);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.btn-header-help:hover{background-color:var(--surface-raised);transform:translateY(-1px)}.btn-theme-toggle{width:36px;height:36px;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;font-size:16px;background-color:var(--canvas);border:1px solid var(--decorative-border);cursor:pointer;transition:background-color var(--transition-fast)}.btn-theme-toggle:hover{background-color:var(--surface-raised)}.btn-pwa-install-mini{font-size:12px;font-weight:700;background-color:var(--brand-amber);color:var(--action-primary-text);padding:6px 10px;border-radius:var(--radius-control);box-shadow:var(--shadow-subtle);transition:opacity var(--transition-fast)}.btn-pwa-install-mini:hover{opacity:.9}.btn-header-login{font-size:13px;font-weight:700;background-color:var(--brand-amber);color:var(--action-primary-text);padding:8px 16px;border-radius:var(--radius-control);box-shadow:var(--shadow-subtle);transition:transform var(--transition-fast),opacity var(--transition-fast)}.btn-header-login:hover{opacity:.92;transform:translateY(-1px)}.btn-header-login:focus-visible{outline:2px solid var(--brand-amber);outline-offset:2px}.user-profile-menu{display:flex;align-items:center;gap:10px}.user-profile-link{text-decoration:none;display:flex;align-items:center;border-radius:var(--radius-control);transition:opacity var(--transition-fast)}.user-profile-link:hover{opacity:.85}.user-phone{font-size:13px;font-weight:600;color:var(--text-primary);background:var(--canvas);border:1px solid var(--decorative-border);padding:5px 10px;border-radius:var(--radius-control)}.btn-logout{font-size:13px;font-weight:600;color:var(--text-secondary);padding:4px 6px;transition:color var(--transition-fast)}.btn-logout:hover{color:var(--color-bad)}.desktop-nav{display:none}@media (min-width: 768px){.app-header{height:var(--header-height-desktop)}.header-container{padding:0 24px}.brand-logo-img{width:40px;height:40px}.brand-wordmark{font-size:22px}.desktop-nav{display:flex;align-items:center;gap:32px}.desktop-nav-link{font-size:15px;font-weight:600;color:var(--text-secondary);text-decoration:none;padding:6px 0;position:relative;transition:color var(--transition-fast)}.desktop-nav-link:hover{color:var(--supporting-pine)}.desktop-nav-btn-help{background:transparent;border:none;cursor:pointer;font-family:inherit;font-size:15px}.desktop-nav-link.active{color:var(--text-primary);font-weight:700}.desktop-nav-link.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background-color:var(--brand-amber);border-radius:2px}}.bottom-nav-bar{position:fixed;bottom:0;left:0;right:0;width:100%;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background-color:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--decorative-border);display:flex;justify-content:space-around;align-items:center;z-index:90;box-shadow:0 -2px 10px #1119180a;transition:background-color var(--transition-fast),border-color var(--transition-fast)}[data-theme=midnight] .bottom-nav-bar,.midnight .bottom-nav-bar{background-color:#141a1fe0}.bottom-tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-secondary);text-decoration:none;flex:1;height:var(--bottom-nav-height);padding:6px 0;cursor:pointer;transition:color var(--transition-fast)}.bottom-tab-icon{font-size:19px;line-height:1}.bottom-tab-label{font-size:11px;font-weight:600;letter-spacing:.1px}.bottom-tab-item.active{color:var(--supporting-pine);font-weight:700}[data-theme=midnight] .bottom-tab-item.active,.midnight .bottom-tab-item.active{color:var(--brand-amber)}.bottom-tab-item:hover{color:var(--text-primary)}.btn-tab-account.logged-in .bottom-tab-label{color:var(--supporting-pine)}[data-theme=midnight] .btn-tab-account.logged-in .bottom-tab-label,.midnight .btn-tab-account.logged-in .bottom-tab-label{color:var(--brand-amber)}@media (min-width: 768px){.bottom-nav-bar{display:none}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0a1814a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:modalFadeIn .18s ease}@media (min-width: 600px){.modal-backdrop{align-items:center}}.modal-content{background:var(--surface);width:100%;max-width:100%;border-radius:var(--radius-sheet-top) var(--radius-sheet-top) 0 0;padding:28px 24px;position:relative;box-shadow:var(--shadow-modal);border:1px solid var(--decorative-border);animation:modalSlideUp .22s cubic-bezier(.16,1,.3,1)}@media (min-width: 600px){.modal-content{max-width:440px;border-radius:var(--radius-dialog);margin:20px;animation:modalPopIn .2s cubic-bezier(.16,1,.3,1)}}.modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px;cursor:pointer;background:var(--canvas);border:1px solid var(--decorative-border);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--surface-raised);color:var(--text-primary)}.auth-brand-masthead{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:22px}.auth-logo-img{width:48px;height:48px;margin-bottom:12px;border-radius:var(--radius-card);object-fit:contain}.auth-brand-badge{font-size:11px;font-weight:700;background-color:var(--available-bg);color:var(--available-text);padding:3px 8px;border-radius:var(--radius-status-chip);letter-spacing:.2px;margin-bottom:8px}.auth-brand-masthead h2{font-size:22px;font-weight:800;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.4px}.auth-brand-masthead p{font-size:13px;color:var(--text-secondary);max-width:320px;line-height:1.4}.modal-error{background-color:var(--color-bad-bg);color:var(--color-bad);padding:10px 14px;border-radius:var(--radius-control);font-size:13px;font-weight:600;margin-bottom:16px;border:1px solid rgba(200,70,58,.2)}.modal-form{display:flex;flex-direction:column;gap:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:700;color:var(--text-primary)}.form-group input{padding:12px 14px;border-radius:var(--radius-control);border:1.5px solid var(--input-border);background-color:var(--input-bg);color:var(--text-primary);font-size:16px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input:focus{border-color:var(--brand-amber);box-shadow:0 0 0 2px #f4a34040}.otp-input-field{letter-spacing:8px;text-align:center;font-size:22px!important;font-weight:800}.btn-auth-primary{width:100%;padding:13px;background-color:var(--brand-amber);color:var(--action-primary-text);font-size:15px;font-weight:700;border-radius:var(--radius-control);cursor:pointer;box-shadow:var(--shadow-subtle);transition:opacity var(--transition-fast),transform var(--transition-fast)}.btn-auth-primary:hover:not(:disabled){opacity:.94;transform:translateY(-1px)}.btn-auth-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{width:100%;padding:10px;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:color var(--transition-fast)}.btn-secondary:hover{color:var(--text-primary)}.otp-resend-row{display:flex;justify-content:flex-end;font-size:13px}.resend-countdown{color:var(--text-muted)}.btn-link{color:var(--supporting-pine);font-weight:700;text-decoration:underline;cursor:pointer}[data-theme=midnight] .btn-link,.midnight .btn-link{color:var(--brand-amber)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modalPopIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.install-banner{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 12px);left:16px;right:16px;max-width:480px;margin:0 auto;background-color:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:95;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.install-info{display:flex;align-items:center;gap:12px;flex:1}.install-icon{width:40px;height:40px;border-radius:var(--radius-control);background-color:var(--supporting-pine);display:flex;align-items:center;justify-content:center;flex-shrink:0}[data-theme=midnight] .install-icon,.midnight .install-icon{background-color:var(--brand-amber)}.install-icon svg{width:22px;height:22px;color:#fff}[data-theme=midnight] .install-icon svg,.midnight .install-icon svg{color:var(--action-primary-text)}.install-text{display:flex;flex-direction:column}.install-title{font-size:14px;font-weight:700;color:var(--text-primary)}.install-desc{font-size:12px;color:var(--text-secondary);line-height:1.3}.install-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-install-cta{padding:8px 14px;background-color:var(--brand-amber);color:var(--action-primary-text);border:none;border-radius:var(--radius-control);font-size:13px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-subtle);transition:opacity var(--transition-fast)}.btn-install-cta:hover{opacity:.92}.btn-install-dismiss{padding:8px 6px;background:transparent;color:var(--text-secondary);border:none;font-size:12px;cursor:pointer}.btn-install-dismiss:hover{color:var(--text-primary)}.ios-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0a1814a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:flex-end;animation:fadeIn .2s ease}.ios-guide-sheet{background-color:var(--surface);width:100%;max-width:500px;margin:0 auto;border-top-left-radius:var(--radius-sheet-top);border-top-right-radius:var(--radius-sheet-top);padding:24px 20px calc(24px + env(safe-area-inset-bottom,16px));box-shadow:var(--shadow-modal);border:1px solid var(--decorative-border);display:flex;flex-direction:column;gap:16px;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.ios-guide-header{display:flex;justify-content:space-between;align-items:center}.ios-guide-header h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.ios-guide-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.ios-guide-steps li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-primary);background-color:var(--canvas);padding:10px 14px;border-radius:var(--radius-control);border:1px solid var(--decorative-border)}.ios-step-icon{font-size:18px;color:var(--brand-amber)}@media (min-width: 768px){.install-banner{bottom:24px;right:24px;left:auto;width:380px;margin:0}}.network-status-banner{position:sticky;top:56px;z-index:999;display:flex;justify-content:center;padding:8px 16px;animation:slideDownBanner .25s cubic-bezier(.16,1,.3,1)}@keyframes slideDownBanner{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.network-banner-content{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:9999px;font-size:13px;font-weight:600;box-shadow:0 4px 16px #00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);max-width:90vw;text-align:center}.network-status-banner.offline .network-banner-content{background:#f59e0bf2;color:#fff;border:1px solid rgba(217,119,6,.6);box-shadow:0 4px 16px #d9770659}.network-status-banner.reconnected .network-banner-content{background:#10b981f2;color:#fff;border:1px solid rgba(5,150,105,.6);box-shadow:0 4px 16px #10b98159}.network-status-icon{font-size:14px;flex-shrink:0}.network-status-text{line-height:1.3}[data-theme=midnight] .network-status-banner.offline .network-banner-content{background:#d97706e6;color:#fff;border-color:#f59e0b66}[data-theme=midnight] .network-status-banner.reconnected .network-banner-content{background:#10b981e6;color:#fff;border-color:#34d39966}.search-terminal-wrapper{background:var(--terminal-bg);border-radius:var(--radius-search-terminal);padding:16px;box-shadow:var(--shadow-card);margin-bottom:24px;border:1px solid rgba(255,255,255,.08);color:var(--terminal-text);transition:background-color var(--transition-fast)}.corridor-chips-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12);scrollbar-width:none}.corridor-chips-bar::-webkit-scrollbar{display:none}.corridor-chip{white-space:nowrap;font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius-full);background:#ffffff1a;color:var(--terminal-secondary-text);border:1px solid rgba(255,255,255,.16);transition:all var(--transition-fast);cursor:pointer}.corridor-chip:hover{background:#ffffff2e;color:#fff}.corridor-chip.active{background:var(--brand-amber);color:var(--action-primary-text);border-color:var(--brand-amber);font-weight:700}.recent-searches-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:12px;scrollbar-width:none}.recent-searches-bar::-webkit-scrollbar{display:none}.recent-label{font-size:11px;font-weight:700;color:var(--terminal-secondary-text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;display:flex;align-items:center;gap:4px}.recent-chips-list{display:flex;align-items:center;gap:6px}.recent-chip{display:inline-flex;align-items:center;gap:5px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-full);padding:3px 8px 3px 10px;font-size:12px;color:var(--terminal-text);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.recent-chip:hover{background:#ffffff26;border-color:var(--brand-amber)}.recent-chip-arrow{color:var(--brand-amber);font-size:10px}.btn-remove-recent{background:transparent;border:none;color:var(--terminal-secondary-text);font-size:11px;cursor:pointer;padding:0 2px;line-height:1;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.btn-remove-recent:hover{color:var(--color-bad)}.search-terminal-form{display:flex;flex-direction:column;gap:8px}.terminal-inputs-grid{display:flex;flex-direction:column;gap:10px}.terminal-field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--terminal-secondary-text);display:flex;align-items:center;gap:5px}.field-label .dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot-origin{background-color:var(--brand-amber)}.dot-dest{background-color:#48bb78}.dot-date{background-color:#63b3ed}.field-input-box{display:flex;align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-control);padding:0 4px 0 12px;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.field-input-box:focus-within{border-color:var(--brand-amber);background:#ffffff2e;box-shadow:0 0 0 2px #f4a34040}.terminal-input{flex:1;background:transparent;border:none;outline:none;padding:10px 0;font-size:14px;font-weight:500;color:#fff}.terminal-input::placeholder{color:#ffffff8c}.btn-gps-locate{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:var(--radius-control);font-size:14px;cursor:pointer;opacity:.8;transition:opacity var(--transition-fast),transform var(--transition-fast)}.btn-gps-locate:hover{opacity:1;transform:scale(1.1)}.btn-gps-locate.locating{animation:gpsPulse .8s infinite alternate}@keyframes gpsPulse{0%{opacity:.4;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}.terminal-swap-cell{display:flex;align-items:center;justify-content:center}.btn-terminal-swap{width:34px;height:34px;border-radius:var(--radius-full);background:#ffffff24;color:var(--terminal-secondary-text);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.btn-terminal-swap:hover{background:var(--brand-amber);color:var(--action-primary-text);border-color:var(--brand-amber);transform:rotate(180deg)}.date-input{color-scheme:dark}.terminal-submit-cell{display:flex;margin-top:4px}.btn-terminal-submit{width:100%;padding:12px 24px;background-color:var(--brand-amber);color:var(--action-primary-text);font-size:15px;font-weight:700;border-radius:var(--radius-control);cursor:pointer;box-shadow:0 2px 8px #0003;transition:transform var(--transition-fast),opacity var(--transition-fast),box-shadow var(--transition-fast)}.btn-terminal-submit:hover{opacity:.94;transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.btn-terminal-submit:active{transform:translateY(0)}.terminal-validation-msg{font-size:12px;font-weight:600;color:#ffa494;background:#c8463a40;padding:6px 12px;border-radius:var(--radius-control);margin-top:6px}@media (min-width: 768px){.search-terminal-wrapper{padding:20px 24px;margin-bottom:32px}.corridor-chips-bar{gap:10px;padding-bottom:14px;margin-bottom:18px}.corridor-chip{font-size:13px;padding:7px 16px}.terminal-inputs-grid{flex-direction:row;align-items:flex-end;gap:12px}.origin-field{flex:2.2}.terminal-swap-cell{padding-bottom:6px}.dest-field{flex:2.2}.date-field{flex:1.6}.terminal-submit-cell{flex:1.4;margin-top:0}.btn-terminal-submit{height:44px;padding:0 20px}.field-input-box{height:44px}}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background-color:var(--surface);border:1px solid var(--decorative-border);color:var(--text-secondary);border-radius:var(--radius-control);padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.share-btn:hover{background-color:var(--canvas);color:var(--text-primary);border-color:var(--brand-amber)}.share-btn.icon-only{width:36px;height:36px;padding:0;border-radius:var(--radius-control)}.share-btn svg{width:16px;height:16px}.share-toast{position:fixed;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 20px);left:50%;transform:translate(-50%);background-color:#0a1814f0;color:#fff;padding:10px 20px;border-radius:var(--radius-full);font-size:13px;font-weight:600;box-shadow:var(--shadow-modal);z-index:1000;pointer-events:none;animation:fadeInOut 2s ease forwards}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,10px)}15%{opacity:1;transform:translate(-50%)}85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.trust-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease-out}.trust-modal-card{background-color:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-modal);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #0006;animation:scaleUp .25s cubic-bezier(.16,1,.3,1)}.trust-modal-header{padding:16px 20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--decorative-border);background-color:var(--canvas)}.trust-header-lockup{display:flex;align-items:center;gap:12px}.trust-shield-icon{font-size:28px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#10b9811f;border:1px solid rgba(16,185,129,.3);border-radius:12px}.trust-modal-title{margin:0;font-size:16px;font-weight:800;color:var(--text-primary)}.trust-modal-subtitle{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.trust-close-btn{background:none;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.trust-close-btn:hover{background-color:var(--surface-hover);color:var(--text-primary)}.trust-modal-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.trust-vehicle-card{background:linear-gradient(135deg,#f59e0b14,#10b98114);border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-card);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.vehicle-card-left{display:flex;align-items:center;gap:12px}.vehicle-type-icon{font-size:32px}.vehicle-name{margin:0;font-size:15px;font-weight:800;color:var(--text-primary)}.vehicle-driver{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.vehicle-card-badges{display:flex;flex-wrap:wrap;gap:8px}.trust-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 8px;border-radius:9999px}.trust-badge.verified{background-color:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.trust-badge.year{background-color:#f59e0b26;color:var(--brand-amber);border:1px solid rgba(245,158,11,.3)}.section-title{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text-primary)}.amenities-pills-row{display:flex;flex-wrap:wrap;gap:8px}.amenity-pill-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-control);font-size:12px;font-weight:600;color:var(--text-primary)}.amenity-icon{font-size:14px}.pillars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pillar-item{background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:10px 12px;display:flex;flex-direction:column;gap:4px}.pillar-header{display:flex;align-items:center;gap:6px}.pillar-icon{font-size:14px}.pillar-name{margin:0;font-size:12px;font-weight:800;color:var(--text-primary)}.pillar-desc{margin:0;font-size:11px;color:var(--text-secondary);line-height:1.4}.highlights-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.highlight-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-secondary);line-height:1.4}.check-bullet{color:#10b981;font-weight:800}.trust-modal-footer{padding:12px 20px;border-top:1px solid var(--decorative-border);background-color:var(--canvas);display:flex;justify-content:flex-end}.btn-trust-confirm{width:100%;padding:10px 16px;background-color:var(--brand-amber);color:#000;border:none;border-radius:var(--radius-control);font-size:13px;font-weight:800;cursor:pointer;transition:opacity .15s ease}.btn-trust-confirm:hover{opacity:.9}@media (max-width: 480px){.pillars-grid{grid-template-columns:1fr}}.trip-card{background:var(--surface);border-radius:var(--radius-card);padding:18px 20px;border:1px solid var(--decorative-border);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);position:relative}.trip-card:hover{box-shadow:var(--shadow-hover);border-color:var(--input-border);transform:translateY(-2px)}.trip-card.sold-out{opacity:.72;background:var(--canvas)}.trip-card-top-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.departure-time-badge{display:flex;align-items:baseline;gap:6px}.depart-clock-icon{font-size:16px;color:var(--text-secondary)}.depart-time{font-size:26px;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-.5px}.depart-date{font-size:13px;font-weight:600;color:var(--text-secondary)}.depart-relative-tag{background:#f59e0b26;color:var(--brand-amber);font-size:11px;padding:2px 7px;border-radius:var(--radius-control);font-weight:700;display:inline-flex;align-items:center;border:1px solid rgba(245,158,11,.3);margin-left:4px}.seat-status-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-status-chip);letter-spacing:.2px}.seat-status-chip.available{background-color:var(--available-bg);color:var(--available-text)}.seat-status-chip.full{background-color:var(--full-bg);color:var(--full-text)}.pulse-dot{width:7px;height:7px;border-radius:50%;background-color:var(--available-text);display:inline-block;animation:subtlePulse 2s infinite ease-in-out}@keyframes subtlePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}}.trip-route-timeline{display:flex;align-items:center;gap:10px;padding:4px 0}.route-node{display:flex;align-items:center;gap:8px;flex-shrink:0;max-width:42%}.route-marker{width:10px;height:10px;border-radius:50%;flex-shrink:0}.route-marker.origin{background-color:var(--brand-amber);box-shadow:0 0 0 3px #f4a34033}.route-marker.destination{background-color:var(--supporting-pine);box-shadow:0 0 0 3px #0a382c26}.route-point-text{font-size:16px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-connector-line{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.route-connector-line:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--decorative-border);z-index:0}.route-arrow-icon{font-size:13px;color:var(--text-secondary);background:var(--surface);padding:0 4px;position:relative;z-index:1}.trip-card-meta-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary)}.meta-tag{display:flex;align-items:center;gap:5px}.meta-tag.corridor-tag{background:#f59e0b14;border:1px solid rgba(245,158,11,.22);color:var(--brand-amber);font-weight:600;font-size:11px;padding:2px 7px;border-radius:var(--radius-control);letter-spacing:.1px}button.meta-tag.vehicle-trust-tag{background:#10b98114;border:1px solid rgba(16,185,129,.22);color:var(--text-primary);font-weight:600;font-size:11px;padding:2px 7px;border-radius:var(--radius-control);cursor:pointer;transition:all .15s ease}button.meta-tag.vehicle-trust-tag:hover{background:#10b98126;border-color:#10b98166}.trust-mini-check{color:#10b981;font-size:10px;font-weight:800}[data-theme=midnight] .meta-tag.corridor-tag,.midnight .meta-tag.corridor-tag{background:#f59e0b26;border-color:#f59e0b59;color:#fbbf24}.meta-tag.rating-tag{color:#d9822b;font-weight:600}.star-icon{color:var(--brand-amber)}.trip-note-quote{font-size:12px;color:var(--text-secondary);background:var(--canvas);border-left:3px solid var(--brand-amber);padding:6px 10px;border-radius:0 var(--radius-control) var(--radius-control) 0}.trip-note-quote .note-label{font-weight:700;color:var(--text-primary)}.trip-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--decorative-border)}.fare-container{display:flex;align-items:baseline;gap:4px}.fare-amount{font-size:24px;font-weight:800;color:var(--supporting-pine);line-height:1}[data-theme=midnight] .fare-amount,.midnight .fare-amount{color:var(--brand-amber)}.fare-suffix{font-size:13px;font-weight:600;color:var(--text-secondary)}.trip-actions-cluster{display:flex;align-items:center;gap:10px}.btn-quick-book{padding:10px 14px;background:linear-gradient(135deg,var(--brand-amber),#b45309);color:#000;font-size:13px;font-weight:700;border-radius:var(--radius-control);border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 2px 8px #f59e0b40;transition:transform var(--transition-fast),filter var(--transition-fast)}.btn-quick-book:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-quick-book:active{transform:translateY(0)}.btn-trip-action{padding:10px 18px;background-color:var(--brand-amber);color:var(--action-primary-text);font-size:13px;font-weight:700;border-radius:var(--radius-control);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-subtle);transition:opacity var(--transition-fast),transform var(--transition-fast)}.btn-trip-action:hover{opacity:.92;transform:translateY(-1px)}.btn-trip-action.disabled{background-color:var(--full-bg);color:var(--full-text);cursor:not-allowed;box-shadow:none;transform:none}.quick-book-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease-out}.quick-book-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 16px 40px #00000040;padding:20px 24px;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}.quick-book-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--color-border);padding-bottom:12px;margin-bottom:16px}.header-lockup{display:flex;align-items:center;gap:12px}.badge-icon{font-size:1.5rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--brand-amber)}.title{margin:0;font-size:1.15rem;font-weight:700;color:var(--color-text)}.subtitle{margin:2px 0 0;font-size:.8rem;color:var(--color-text-secondary)}.btn-close{background:transparent;border:none;font-size:1.2rem;color:var(--color-text-secondary);cursor:pointer;padding:4px;line-height:1}.quick-book-body{display:flex;flex-direction:column;gap:14px}.trip-summary-box{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.summary-route{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:700;color:var(--color-text)}.summary-route .arrow{color:var(--brand-amber);font-size:.85rem}.summary-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--color-text-secondary)}.authoritative-price{color:var(--brand-amber);font-weight:700}.form-row-group{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.84rem;font-weight:600;color:var(--color-text)}.stepper-cluster{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:4px 10px}.btn-stepper{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.btn-stepper:disabled{opacity:.4;cursor:not-allowed}.btn-stepper:not(:disabled):hover{background:var(--color-primary);color:#000;border-color:var(--color-primary)}.seats-display{font-size:1rem;font-weight:700;color:var(--color-text)}.text-input{width:100%;padding:10px 14px;font-size:.9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);outline:none;box-sizing:border-box}.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #f59e0b26}.total-calculation-box{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.calc-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:var(--color-text)}.total-amount{font-size:1.25rem;color:var(--brand-amber);font-weight:800}.privacy-pill-note{margin:4px 0 0;font-size:.74rem;color:var(--color-text-secondary)}.modal-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:12px;border-top:1px solid var(--color-border)}.btn-cancel{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:10px 18px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer}.btn-cancel:hover{background:var(--color-surface-hover)}.btn-submit-book{background:linear-gradient(135deg,var(--brand-amber),#b45309);color:#000;border:none;padding:10px 20px;border-radius:var(--radius-md);font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #f59e0b40;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-submit-book:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b59}.btn-submit-book:disabled{opacity:.6;cursor:not-allowed}.error-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.84rem;padding:8px 12px;border-radius:var(--radius-md)}.booked-success-view{text-align:center;padding:24px 10px;display:flex;flex-direction:column;align-items:center;gap:10px}.success-icon-badge{width:52px;height:52px;border-radius:50%;background:#10b981;color:#fff;font-size:1.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}.booked-success-view h4{margin:0;font-size:1.25rem;color:var(--color-text)}.booked-success-view p{margin:0;font-size:.86rem;color:var(--color-text-secondary);line-height:1.4;max-width:360px}.success-action-cluster{display:flex;gap:10px;margin-top:14px}.btn-done{padding:9px 18px;background:var(--color-surface-hover);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-md);font-size:.88rem;font-weight:600;cursor:pointer}.btn-view-bookings{padding:9px 18px;background:var(--brand-amber);color:#000;text-decoration:none;border-radius:var(--radius-md);font-size:.88rem;font-weight:700;display:inline-flex;align-items:center}.btn-luggage-guide-link{background:none;border:none;color:var(--brand-amber);font-size:.8rem;font-weight:500;cursor:pointer;padding:2px 4px;text-decoration:underline;transition:opacity .15s ease}.btn-luggage-guide-link:hover{opacity:.85}.alert-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1050;display:flex;justify-content:center;align-items:center;padding:16px;animation:alertFadeIn var(--transition-fast) ease-out}@keyframes alertFadeIn{0%{opacity:0}to{opacity:1}}.alert-modal-card{background-color:var(--surface);width:100%;max-width:600px;max-height:90vh;border-radius:var(--radius-card);border:1px solid var(--decorative-border);box-shadow:0 16px 40px #00000059;display:flex;flex-direction:column;overflow:hidden;animation:alertZoomIn var(--transition-fast) ease-out}@keyframes alertZoomIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.alert-modal-header{padding:18px 24px 14px;border-bottom:1px solid var(--decorative-border);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.alert-modal-title{margin:0 0 4px;font-size:19px;font-weight:800;color:var(--text-primary);line-height:1.2}.alert-modal-subtitle{margin:0;font-size:13px;color:var(--text-secondary)}.alert-close-btn{background:var(--canvas);border:1px solid var(--decorative-border);font-size:14px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0}.alert-close-btn:hover{background-color:var(--surface-raised);color:var(--text-primary)}.alert-modal-form{padding:18px 24px;border-bottom:1px solid var(--decorative-border);background-color:var(--canvas);display:flex;flex-direction:column;gap:14px}.alert-form-error{padding:8px 12px;background-color:#ef44441f;color:#ef4444;border-radius:var(--radius-control);font-size:13px;font-weight:600}.alert-form-success{padding:8px 12px;background-color:#10b98126;color:#10b981;border-radius:var(--radius-control);font-size:13px;font-weight:600}.alert-inputs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alert-form-field{display:flex;flex-direction:column;gap:6px}.alert-field-label{font-size:12px;font-weight:700;color:var(--text-primary)}.alert-text-input{padding:9px 12px;font-size:13px;background-color:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-control);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.alert-text-input:focus{border-color:var(--brand-amber);box-shadow:0 0 0 2px #f59e0b33}.alert-price-chips{display:flex;gap:6px;flex-wrap:wrap}.alert-price-chip{padding:6px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-control);background-color:var(--surface);border:1px solid var(--decorative-border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.alert-price-chip:hover{background-color:var(--surface-raised);color:var(--text-primary)}.alert-price-chip.active{background-color:var(--brand-amber);color:#000;border-color:var(--brand-amber);font-weight:700}.btn-create-alert-submit{padding:10px 16px;font-size:14px;font-weight:700;background:var(--brand-amber);color:#000;border:none;border-radius:var(--radius-control);cursor:pointer;box-shadow:var(--shadow-subtle);transition:opacity var(--transition-fast),transform var(--transition-fast);margin-top:4px}.btn-create-alert-submit:hover{opacity:.92;transform:translateY(-1px)}.alert-active-section{flex:1;overflow-y:auto;padding:16px 24px}.alert-active-title{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--text-primary)}.alert-empty-text{font-size:13px;color:var(--text-secondary);margin:16px 0;text-align:center}.alert-active-list{display:flex;flex-direction:column;gap:10px}.alert-active-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background-color:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-card);transition:all var(--transition-fast)}.alert-active-card.disabled{opacity:.6;background-color:#0000000a}.alert-card-details{flex:1;min-width:0}.alert-route-lockup{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.alert-route-arrow{color:var(--brand-amber)}.alert-meta-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alert-meta-tag{font-size:11px;font-weight:600;color:var(--text-secondary);background-color:var(--surface);border:1px solid var(--decorative-border);padding:2px 7px;border-radius:4px}.alert-status-badge{font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px}.alert-status-badge.active{background-color:#10b98126;color:#10b981}.alert-status-badge.paused{background-color:#9ca3af33;color:var(--text-secondary)}.alert-card-actions{display:flex;gap:6px}.btn-toggle-alert,.btn-delete-alert{background:var(--surface);border:1px solid var(--decorative-border);width:32px;height:32px;border-radius:var(--radius-control);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.btn-toggle-alert:hover{background-color:var(--surface-raised);color:var(--text-primary)}.btn-delete-alert:hover{background-color:#ef444426;color:#ef4444;border-color:#ef44444d}@media (max-width: 640px){.alert-modal-backdrop{padding:0;align-items:flex-end}.alert-modal-card{max-width:100%;max-height:88vh;border-radius:20px 20px 0 0;border-bottom:none}.alert-inputs-grid{grid-template-columns:1fr}}.feed-filters-wrapper{margin-bottom:14px}.filters-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.btn-filters-toggle{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--decorative-border);color:var(--text-primary);font-size:13px;font-weight:600;padding:6px 14px;border-radius:var(--radius-control);cursor:pointer;box-shadow:var(--shadow-subtle);transition:all var(--transition-fast)}.btn-filters-toggle:hover{border-color:var(--input-border);background:var(--canvas)}.btn-filters-toggle.has-active{border-color:var(--brand-amber);background:#f59e0b14;color:var(--brand-amber);font-weight:700}[data-theme=midnight] .btn-filters-toggle.has-active,.midnight .btn-filters-toggle.has-active{background:#f59e0b26;border-color:var(--brand-amber)}.filter-badge-counter{background:var(--brand-amber);color:#000;font-size:11px;font-weight:800;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1}.btn-clear-filters-mini{background:transparent;border:none;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline;padding:4px 6px;transition:color var(--transition-fast)}.btn-clear-filters-mini:hover{color:var(--color-bad)}.filters-drawer{background:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:16px 18px;margin-top:10px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;animation:slideDown .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group-title{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.filter-chips-row{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{background:var(--canvas);border:1px solid var(--decorative-border);color:var(--text-secondary);font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:4px}.filter-chip:hover{border-color:var(--input-border);color:var(--text-primary)}.filter-chip.active{background:#f59e0b26;border-color:var(--brand-amber);color:var(--brand-amber);font-weight:700}.toggle-checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-primary);-webkit-user-select:none;user-select:none;padding:4px 0}.toggle-checkbox-row input[type=checkbox]{accent-color:var(--brand-amber);width:16px;height:16px;cursor:pointer}.filters-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--decorative-border);padding-top:10px;font-size:12px;color:var(--text-secondary)}.btn-close-drawer{background:var(--canvas);border:1px solid var(--decorative-border);color:var(--text-primary);font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast)}.btn-close-drawer:hover{background:var(--surface)}.filters-empty-feed{background:var(--surface);border:1px dashed var(--decorative-border);border-radius:var(--radius-card);padding:32px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:12px}.filters-empty-feed p{color:var(--text-secondary);font-size:14px;margin:0}.btn-reset-filters-cta{background:var(--brand-amber);color:#000;border:none;font-size:13px;font-weight:700;padding:8px 18px;border-radius:var(--radius-control);cursor:pointer;box-shadow:var(--shadow-subtle);transition:transform var(--transition-fast)}.btn-reset-filters-cta:hover{transform:translateY(-1px)}.home-page-container{max-width:var(--container-max-width);margin:0 auto;padding:16px;display:flex;flex-direction:column}.home-hero{margin-bottom:20px}.home-hero h1{font-size:24px;font-weight:800;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.4px}.home-hero p{font-size:14px;color:var(--text-secondary);line-height:1.4}.trip-list{display:flex;flex-direction:column;gap:16px}.feed-status{text-align:center;padding:50px 20px;color:var(--text-secondary);font-size:14px}.feed-status.error{color:var(--color-bad)}.btn-retry{margin-top:12px;padding:10px 20px;background:var(--brand-amber);color:var(--action-primary-text);border-radius:var(--radius-control);font-size:14px;font-weight:700;cursor:pointer;transition:opacity var(--transition-fast)}.btn-retry:hover{opacity:.92}.feed-empty{text-align:center;padding:56px 24px;background:var(--surface);border-radius:var(--radius-card);border:1px dashed var(--decorative-border);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--shadow-subtle)}.empty-icon{font-size:36px}.btn-empty-request-cta{background:linear-gradient(135deg,var(--brand-amber),#b45309);color:#000;border:none;font-size:14px;font-weight:700;padding:10px 22px;border-radius:var(--radius-control);cursor:pointer;box-shadow:0 4px 12px #f59e0b40;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-empty-request-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b59}.feed-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.btn-empty-alert-cta{background:var(--surface);color:var(--text-primary);border:1px solid var(--decorative-border);font-size:14px;font-weight:700;padding:10px 18px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast)}.btn-empty-alert-cta:hover{background:var(--surface-raised);border-color:var(--brand-amber);color:var(--brand-amber);transform:translateY(-1px)}.request-teaser-banner{background:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:12px 16px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;box-shadow:0 2px 8px #00000008}.teaser-content{display:flex;align-items:center;gap:12px}.teaser-icon{font-size:1.4rem;background:#f59e0b1f;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-control);flex-shrink:0}.teaser-text strong{display:block;font-size:13px;color:var(--text-primary)}.teaser-text p{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.btn-teaser-action{background:var(--canvas);border:1px solid var(--decorative-border);color:var(--brand-amber);font-size:13px;font-weight:700;padding:8px 16px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-teaser-action:hover{background:var(--brand-amber);color:#000;border-color:var(--brand-amber)}.feed-sort-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;padding:6px 0}.sort-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.sort-pills{display:flex;gap:6px;flex-wrap:wrap}.sort-pill{background:var(--surface);border:1px solid var(--decorative-border);color:var(--text-secondary);font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast)}.sort-pill:hover{background:var(--canvas);color:var(--text-primary)}.sort-pill.active{background:#f59e0b26;color:var(--brand-amber);border-color:var(--brand-amber);font-weight:700}.btn-feed-alert-trigger{background:#f59e0b1a;color:var(--brand-amber);border:1px solid rgba(245,158,11,.3);font-size:12px;font-weight:700;padding:5px 12px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast);margin-left:auto}.btn-feed-alert-trigger:hover{background:var(--brand-amber);color:#000;transform:translateY(-1px)}@media (min-width: 768px){.home-page-container{padding:24px 0}.home-hero{margin-bottom:28px}.home-hero h1{font-size:32px;letter-spacing:-.6px}.home-hero p{font-size:16px}.trip-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}}@media (min-width: 1100px){.trip-list{gap:24px}}.feed-cached-notice-pill{display:inline-flex;align-items:center;gap:8px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.35);color:#b45309;font-size:12px;font-weight:600;padding:6px 14px;border-radius:9999px;margin-bottom:8px;animation:fadeInModal .2s ease}.feed-cached-notice-pill .cached-icon{font-size:13px}[data-theme=midnight] .feed-cached-notice-pill{background:#f59e0b2e;border-color:#f59e0b66;color:#fbbf24}.route-corridor-map{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;margin:16px 0;box-shadow:0 4px 16px #0000000a;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.route-corridor-map:hover{border-color:#f59e0b4d;box-shadow:0 6px 20px #f59e0b14}.corridor-telemetry-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.telemetry-title-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.corridor-type-badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:var(--radius-sm);background:#f59e0b1f;color:var(--color-primary-dark);border:1px solid rgba(245,158,11,.25)}.corridor-title{margin:0;font-size:.95rem;font-weight:700;color:var(--color-text)}.telemetry-metrics{display:flex;align-items:center;gap:8px}.metric-pill{display:inline-flex;align-items:center;gap:4px;background:var(--color-surface-hover);border:1px solid var(--color-border);padding:4px 8px;border-radius:var(--radius-full);font-size:.78rem;color:var(--color-text-secondary)}.metric-val{font-weight:600;color:var(--color-text)}.corridor-schematic-canvas{width:100%;background:radial-gradient(ellipse at 50% 50%,rgba(245,158,11,.05),transparent 70%),var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 0;overflow:hidden;position:relative}.corridor-svg{width:100%;height:90px;display:block}.corridor-pulse-path{stroke-dasharray:8 4;animation:corridorFlow 20s linear infinite}@keyframes corridorFlow{to{stroke-dashoffset:-100}}.node-halo{animation:haloPulse 2s ease-in-out infinite alternate}@keyframes haloPulse{0%{transform:scale(.9);opacity:.2}to{transform:scale(1.2);opacity:.45}}.corridor-vehicle-glyph{transform-origin:center;animation:drivePath 8s ease-in-out infinite}@keyframes drivePath{0%{transform:translate(50px,60px)}30%{transform:translate(190px,38px)}70%{transform:translate(340px,74px)}to{transform:translate(490px,60px)}}.corridor-actions-bar{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:8px}.btn-toggle-milestones{background:transparent;border:none;font-size:.8rem;font-weight:600;color:var(--color-primary-dark);cursor:pointer;padding:4px 0;transition:opacity var(--transition-fast)}.btn-toggle-milestones:hover{opacity:.8;text-decoration:underline}.btn-google-maps{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--color-text-secondary);text-decoration:none;padding:4px 10px;border-radius:var(--radius-sm);background:var(--color-surface-hover);border:1px solid var(--color-border);transition:all var(--transition-fast)}.btn-google-maps:hover{color:var(--color-primary);border-color:var(--color-primary);background:#f59e0b14}.corridor-milestones-list{margin-top:14px;padding-top:12px;border-top:1px dashed var(--color-border);display:flex;flex-direction:column;gap:8px}.milestone-item{display:flex;align-items:flex-start;gap:10px;font-size:.82rem;padding:6px 8px;border-radius:var(--radius-sm);background:var(--color-surface-hover)}.milestone-item.major{background:#f59e0b0f;border-left:3px solid var(--color-primary)}.milestone-badge{font-size:.95rem;line-height:1}.milestone-info{display:flex;flex-direction:column;gap:2px}.milestone-label{font-weight:600;color:var(--color-text)}.milestone-detail{font-size:.76rem;color:var(--color-text-secondary)}.safety-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000c7;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1060;padding:16px;animation:safetyFadeIn .2s ease-out}@keyframes safetyFadeIn{0%{opacity:0}to{opacity:1}}.safety-modal-content{background-color:var(--surface-card, #161922);border:1px solid rgba(16,185,129,.25);border-radius:18px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px #0009,0 0 24px #10b9811a;padding:24px;color:var(--text-primary, #ffffff);display:flex;flex-direction:column;gap:20px;animation:safetySlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes safetySlideUp{0%{transform:translateY(24px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.safety-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.safety-title-group{display:flex;align-items:flex-start;gap:12px}.safety-shield-icon{font-size:2rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(16,185,129,.4))}.safety-title-group h3{margin:0;font-size:1.25rem;font-weight:800;color:#34d399;letter-spacing:-.3px}.safety-modal-desc{margin:4px 0 0;font-size:.85rem;color:var(--text-muted, #9ca3af);line-height:1.4}.btn-close-safety{background:transparent;border:none;color:var(--text-muted, #9ca3af);font-size:1.25rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.btn-close-safety:hover{background:#ffffff14;color:#fff}.safety-section{display:flex;flex-direction:column;gap:10px}.safety-section-title{margin:0;font-size:.92rem;font-weight:700;color:var(--text-secondary, #e5e7eb);display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px}.emergency-hotline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.hotline-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;text-decoration:none;color:#fff;transition:all .2s ease;box-shadow:0 4px 12px #0003}.hotline-card:hover{transform:translateY(-2px);filter:brightness(1.1)}.hotline-card:active{transform:translateY(0)}.hotline-police{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);border:1px solid rgba(96,165,250,.3)}.hotline-ambulance{background:linear-gradient(135deg,#991b1b,#dc2626);border:1px solid rgba(248,113,113,.3)}.hotline-moncar{background:linear-gradient(135deg,#065f46,#059669);border:1px solid rgba(52,211,153,.3)}.hotline-icon{font-size:1.4rem}.hotline-info{display:flex;flex-direction:column}.hotline-info strong{font-size:1.05rem;font-weight:800;line-height:1.1}.hotline-info span{font-size:.72rem;opacity:.9;line-height:1.2}.safety-share-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.share-trip-preview{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.85rem;color:var(--text-secondary, #d1d5db)}.preview-route{font-weight:700;color:#34d399}.preview-time,.preview-driver,.preview-phone{background:#ffffff0f;padding:2px 8px;border-radius:6px;font-size:.8rem}.btn-share-journey-action{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:.92rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #10b9814d;transition:all .2s ease}.btn-share-journey-action:hover{background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-1px);box-shadow:0 6px 18px #10b98173}.safety-toast-feedback{background:#10b98133;border:1px solid #10b981;color:#6ee7b7;padding:8px 12px;border-radius:8px;font-size:.82rem;font-weight:600;text-align:center;animation:safetyFadeIn .2s ease-out}.safety-tips-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.safety-tip-item{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;line-height:1.4;color:var(--text-secondary, #d1d5db)}.tip-check-icon{color:#10b981;font-weight:800;font-size:.9rem}.safety-modal-footer{display:flex;justify-content:flex-end;margin-top:4px}.btn-safety-dismiss{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-primary, #ffffff);padding:10px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-safety-dismiss:hover{background:#ffffff26}.trip-detail-page-wrapper{max-width:760px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.detail-navigation-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.detail-header-actions{display:flex;align-items:center;gap:8px}.btn-safety-shield-trigger{font-size:13px;font-weight:700;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.3);padding:6px 12px;border-radius:var(--radius-control);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--transition-fast)}.btn-safety-shield-trigger:hover{background:#10b98133;border-color:#10b981}[data-theme=midnight] .btn-safety-shield-trigger,.midnight .btn-safety-shield-trigger{color:#34d399;background:#10b98126;border-color:#34d39959}.btn-back-link{font-size:14px;font-weight:700;color:var(--text-primary);text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-control);background:var(--surface);border:1px solid var(--decorative-border);transition:all var(--transition-fast)}.btn-back-link:hover{background:var(--canvas)}.detail-main-card{background:var(--surface);border-radius:var(--radius-sheet-top);border:1px solid var(--decorative-border);box-shadow:var(--shadow-card);padding:20px;display:flex;flex-direction:column;gap:20px}.detail-route-banner{background:var(--canvas);border-radius:var(--radius-card);padding:16px 20px;border:1px solid var(--decorative-border)}.expanded-route-timeline{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-stop{display:flex;align-items:flex-start;gap:10px;flex:1}.stop-marker{width:12px;height:12px;border-radius:50%;margin-top:4px;flex-shrink:0}.origin-marker{background-color:var(--brand-amber);box-shadow:0 0 0 3px #f4a34040}.dest-marker{background-color:var(--supporting-pine);box-shadow:0 0 0 3px #0a382c33}.stop-text{display:flex;flex-direction:column}.stop-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stop-title{font-size:18px;font-weight:800;color:var(--text-primary);margin-top:2px}.route-connector-track{display:flex;align-items:center;justify-content:center;flex:0 0 40px}.track-arrow{color:var(--text-secondary);font-size:14px}.detail-metadata-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.meta-cell{background:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-control);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.cell-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.cell-value{font-size:14px;font-weight:700;color:var(--text-primary)}.btn-trust-badge{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#10b981;font-size:11px;font-weight:700;padding:2px 7px;border-radius:9999px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.btn-trust-badge:hover{background:#10b98138;border-color:#10b98180}.status-available{color:var(--available-text)}.status-soldout{color:var(--color-bad)}.rating-badge{display:inline-flex;align-items:center;background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.3);padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:700;margin-left:6px}.driver-pickup-guidance{font-size:13px;background:var(--canvas);border-left:3px solid var(--brand-amber);padding:10px 14px;border-radius:0 var(--radius-control) var(--radius-control) 0;color:var(--text-secondary)}.privacy-guarantee-card{display:flex;align-items:flex-start;gap:10px;background:#0a382c0d;border:1px solid rgba(10,56,44,.15);border-radius:var(--radius-control);padding:12px 14px}[data-theme=midnight] .privacy-guarantee-card,.midnight .privacy-guarantee-card{background:#f4a34014;border-color:#f4a34033}.privacy-shield-icon{font-size:18px;flex-shrink:0}.privacy-text{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.4;margin:0}.privacy-content-col{display:flex;flex-direction:column;gap:6px}.btn-open-safety-link{background:transparent;border:none;color:#10b981;font-size:12px;font-weight:700;cursor:pointer;padding:0;text-align:left;transition:opacity var(--transition-fast)}.btn-open-safety-link:hover{text-decoration:underline;opacity:.85}[data-theme=midnight] .btn-open-safety-link,.midnight .btn-open-safety-link{color:#34d399}.booking-confirmed-card{display:flex;align-items:center;gap:12px;background:var(--available-bg);border:1px solid var(--available-text);border-radius:var(--radius-control);padding:16px;color:var(--available-text)}.confirm-icon{font-size:24px;font-weight:800}.reservation-section{display:flex;flex-direction:column;gap:16px;padding-top:10px;border-top:1px dashed var(--decorative-border)}.section-title{font-size:16px;font-weight:800;color:var(--text-primary)}.reservation-stepper-row{display:flex;justify-content:space-between;align-items:center}.stepper-label{font-size:14px;font-weight:700;color:var(--text-primary)}.stepper-control{display:flex;align-items:center;border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--surface);overflow:hidden}.btn-step{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--text-primary);background:var(--canvas);cursor:pointer;transition:background-color var(--transition-fast)}.btn-step:hover:not(:disabled){background:var(--surface-raised)}.btn-step:disabled{opacity:.35;cursor:not-allowed}.stepper-count{min-width:44px;text-align:center;font-size:16px;font-weight:800;color:var(--text-primary)}.reservation-field-group{display:flex;flex-direction:column;gap:6px}.field-title{font-size:13px;font-weight:700;color:var(--text-primary)}.note-text-input{width:100%;padding:12px 14px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-control);font-size:14px;color:var(--text-primary);outline:none;transition:border-color var(--transition-fast)}.note-text-input:focus{border-color:var(--brand-amber);box-shadow:0 0 0 2px #f4a34033}.input-helper-text{font-size:12px;color:var(--text-muted)}.fare-breakdown-card{background:var(--canvas);border:1px solid var(--decorative-border);border-radius:var(--radius-control);padding:12px 16px;display:flex;flex-direction:column;gap:8px}.fare-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-secondary)}.fare-row.total-row{font-size:15px;font-weight:700;color:var(--text-primary);padding-top:8px;border-top:1px dashed var(--decorative-border)}.authoritative-total{font-size:20px;font-weight:800;color:var(--supporting-pine)}[data-theme=midnight] .authoritative-total,.midnight .authoritative-total{color:var(--brand-amber)}.btn-primary-reserve{width:100%;padding:14px 20px;background-color:var(--brand-amber);color:var(--action-primary-text);font-size:16px;font-weight:800;border-radius:var(--radius-control);cursor:pointer;box-shadow:var(--shadow-subtle);transition:transform var(--transition-fast),opacity var(--transition-fast)}.btn-primary-reserve:hover:not(:disabled){opacity:.94;transform:translateY(-1px)}.btn-primary-reserve:disabled,.btn-primary-reserve.btn-disabled{background-color:var(--full-bg);color:var(--full-text);cursor:not-allowed;transform:none;box-shadow:none}.trip-detail-status-card{text-align:center;padding:60px 20px;background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--decorative-border);max-width:500px;margin:40px auto;display:flex;flex-direction:column;align-items:center;gap:12px}.btn-back-home{padding:8px 16px;background:var(--brand-amber);color:var(--action-primary-text);font-weight:700;border-radius:var(--radius-control);text-decoration:none;margin-top:8px}@media (min-width: 768px){.trip-detail-page-wrapper{padding:28px 0}.detail-main-card{border-radius:var(--radius-dialog);padding:28px}}.offers-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1dbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999;animation:fadeInModal .2s cubic-bezier(.16,1,.3,1)}.offers-modal-card{position:relative;background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;border-radius:20px;padding:24px;box-shadow:0 20px 45px -10px #0000004d,0 0 0 1px #ffffff1a;animation:scaleUpModal .22s cubic-bezier(.16,1,.3,1)}.offers-modal-close-btn{position:absolute;top:16px;right:16px;background:#94a3b826;border:none;color:var(--text-muted, #64748b);width:34px;height:34px;border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.offers-modal-close-btn:hover{background:#94a3b840;color:var(--text-primary, #0f172a)}.offers-modal-header{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border-color, #e2e8f0)}.offers-header-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px #d977064d;flex-shrink:0}.offers-modal-header h3{font-size:1.15rem;font-weight:700;margin:0 0 4px;color:var(--text-primary, #0f172a)}.offers-route-line{margin:0;font-size:.95rem;color:var(--amber-primary, #d97706)}.offers-meta-sub{margin:2px 0 0;font-size:.8rem;color:var(--text-muted, #64748b)}.offers-list-container{overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.offers-empty-state{text-align:center;padding:32px 16px;color:var(--text-muted, #64748b)}.offers-empty-state h4{font-size:1rem;font-weight:700;margin:12px 0 6px;color:var(--text-primary, #0f172a)}.driver-offer-card{background:var(--bg-surface, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s ease}.driver-offer-card:hover{border-color:#f59e0b66;box-shadow:0 4px 14px #0000000d}.driver-offer-card.status-accepted{border-color:#10b981;background:#10b9810f}.driver-offer-card.status-declined{opacity:.55}.offer-driver-row{display:flex;align-items:center;gap:12px}.offer-driver-avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0284c7,#38bdf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.offer-driver-meta{flex:1;min-width:0}.offer-driver-name{font-size:.95rem;font-weight:700;color:var(--text-primary, #0f172a);display:block}.offer-driver-subline{display:flex;align-items:center;gap:8px;margin-top:2px;font-size:.8rem;color:var(--text-muted, #64748b)}.offer-rating-pill{background:#f59e0b26;color:#d97706;font-weight:700;padding:1px 6px;border-radius:9999px;font-size:.75rem}.offer-fare-badge{text-align:right;flex-shrink:0}.offer-fare-amount{display:block;font-size:1.1rem;font-weight:800;color:#d97706}.offer-diff-pill{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 6px;border-radius:9999px;margin-top:2px}.offer-diff-pill.good{background:#10b9811f;color:#059669}.offer-diff-pill.warning{background:#f59e0b26;color:#b45309}.offer-details-row{font-size:.84rem;color:var(--text-secondary, #334155)}.offer-eta-info{display:block}.offer-driver-note{margin:4px 0 0;font-style:italic;font-size:.8rem;color:var(--text-muted, #64748b)}.offer-actions-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid var(--border-color, #e2e8f0)}.btn-decline-bid{background:none;border:1px solid var(--border-color, #cbd5e1);color:var(--text-muted, #64748b);padding:8px 14px;border-radius:10px;font-size:.82rem;font-weight:600;cursor:pointer;min-height:40px;transition:all .15s ease}.btn-decline-bid:hover{background:#ef444414;border-color:#ef44444d;color:#ef4444}.btn-accept-bid{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:8px 18px;border-radius:10px;font-size:.85rem;font-weight:700;cursor:pointer;min-height:40px;box-shadow:0 3px 10px #10b9814d;transition:all .15s ease}.btn-accept-bid:hover{transform:translateY(-1px);box-shadow:0 5px 14px #10b98166}.offer-status-badge{font-size:.82rem;font-weight:700;padding:4px 10px;border-radius:9999px}.offer-status-badge.accepted{background:#10b98126;color:#059669}.offer-status-badge.declined{background:#94a3b833;color:#64748b}[data-theme=midnight] .offers-modal-card{background:#111827;color:#f1f5f9;border:1px solid rgba(255,255,255,.12)}[data-theme=midnight] .offers-modal-header{border-bottom-color:#ffffff14}[data-theme=midnight] .driver-offer-card{background:#1e293b;border-color:#ffffff1a}[data-theme=midnight] .driver-offer-card.status-accepted{background:#10b9811f}[data-theme=midnight] .btn-decline-bid{border-color:#fff3;color:#94a3b8}[data-theme=midnight] .offer-actions-row{border-top-color:#ffffff14}.rate-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1dbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999;animation:fadeInModal .2s cubic-bezier(.16,1,.3,1)}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.rate-modal-card{position:relative;background:var(--bg-card, #ffffff);color:var(--text-primary, #0f172a);width:100%;max-width:460px;border-radius:20px;padding:24px;box-shadow:0 20px 45px -10px #0000004d,0 0 0 1px #ffffff1a;animation:scaleUpModal .22s cubic-bezier(.16,1,.3,1)}@keyframes scaleUpModal{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.rate-modal-close-btn{position:absolute;top:16px;right:16px;background:#94a3b826;border:none;color:var(--text-muted, #64748b);width:34px;height:34px;border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.rate-modal-close-btn:hover{background:#94a3b840;color:var(--text-primary, #0f172a)}.rate-modal-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color, #e2e8f0)}.rate-driver-avatar{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;box-shadow:0 4px 12px #d977064d;flex-shrink:0}.rate-header-meta h3{font-size:1.15rem;font-weight:700;margin:0 0 2px;color:var(--text-primary, #0f172a)}.rate-driver-name{margin:0;font-weight:600;font-size:.95rem;color:var(--amber-primary, #d97706)}.rate-route-line{margin:2px 0 0;font-size:.8rem;color:var(--text-muted, #64748b)}.rate-stars-section{text-align:center;margin-bottom:20px;background:#f59e0b0d;padding:16px 12px;border-radius:16px;border:1px dashed rgba(245,158,11,.3)}.rate-prompt-text{font-size:.9rem;font-weight:600;margin:0 0 8px;color:var(--text-secondary, #334155)}.stars-rating-bar{display:flex;justify-content:center;gap:8px;margin-bottom:6px}.star-pick-btn{background:none;border:none;font-size:34px;line-height:1;color:#cbd5e1;cursor:pointer;padding:4px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1),color .15s ease}.star-pick-btn:hover{transform:scale(1.22)}.star-pick-btn.lit{color:#f59e0b;text-shadow:0 0 12px rgba(245,158,11,.4)}.star-feedback-label{display:block;font-size:.85rem;font-weight:700;color:#d97706;min-height:18px}.rate-tags-section{margin-bottom:18px}.tags-section-label{font-size:.82rem;font-weight:600;color:var(--text-muted, #64748b);margin:0 0 8px}.rate-tags-cloud{display:flex;flex-wrap:wrap;gap:8px}.rate-tag-chip{background:var(--bg-surface, #f8fafc);border:1px solid var(--border-color, #e2e8f0);color:var(--text-secondary, #334155);font-size:.82rem;font-weight:500;padding:7px 12px;border-radius:9999px;cursor:pointer;min-height:36px;transition:all .15s ease;display:inline-flex;align-items:center}.rate-tag-chip:hover{border-color:var(--amber-primary, #d97706);background:#f59e0b14}.rate-tag-chip.selected{background:#f59e0b;border-color:#d97706;color:#fff;font-weight:600;box-shadow:0 2px 8px #f59e0b4d}.rate-comment-section{margin-bottom:18px}.rate-comment-textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1px solid var(--border-color, #cbd5e1);background:var(--bg-surface, #f8fafc);color:var(--text-primary, #0f172a);font-size:.88rem;font-family:inherit;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.rate-comment-textarea:focus{outline:none;border-color:var(--amber-primary, #d97706);box-shadow:0 0 0 3px #d9770626}.rate-error-notice{font-size:.82rem;color:#ef4444;margin:0 0 12px;text-align:center}.rate-modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel-rate{background:none;border:1px solid var(--border-color, #cbd5e1);color:var(--text-secondary, #475569);padding:10px 18px;border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;min-height:44px}.btn-cancel-rate:hover:not(:disabled){background:#94a3b81f}.btn-submit-rate{background:linear-gradient(135deg,#d97706,#f59e0b);border:none;color:#fff;padding:10px 22px;border-radius:12px;font-weight:700;font-size:.92rem;cursor:pointer;min-height:44px;box-shadow:0 4px 14px #d9770659;transition:transform .15s ease,box-shadow .15s ease}.btn-submit-rate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #d9770673}.btn-submit-rate:disabled{opacity:.55;cursor:not-allowed;transform:none}[data-theme=midnight] .rate-modal-card{background:#111827;color:#f1f5f9;border:1px solid rgba(255,255,255,.12)}[data-theme=midnight] .rate-modal-header{border-bottom-color:#ffffff14}[data-theme=midnight] .rate-stars-section{background:#f59e0b1a;border-color:#f59e0b40}[data-theme=midnight] .rate-tag-chip{background:#1f2937;border-color:#ffffff1a;color:#cbd5e1}[data-theme=midnight] .rate-tag-chip.selected{background:#f59e0b;color:#0f172a}[data-theme=midnight] .rate-comment-textarea{background:#1e293b;border-color:#ffffff26;color:#f1f5f9}[data-theme=midnight] .btn-cancel-rate{border-color:#fff3;color:#cbd5e1}.cancel-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1050;padding:16px;animation:cancelFadeIn .2s ease-out}@keyframes cancelFadeIn{0%{opacity:0}to{opacity:1}}.cancel-modal-content{background-color:var(--surface-card, #1c1f26);border:1px solid rgba(255,255,255,.12);border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 40px #00000080;padding:24px;color:var(--text-primary, #ffffff);display:flex;flex-direction:column;gap:18px;animation:cancelSlideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes cancelSlideUp{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.cancel-modal-header{display:flex;align-items:center;justify-content:space-between}.cancel-modal-header h3{margin:0;font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:8px;color:#ffb74d}.cancel-header-icon{font-size:1.25rem}.btn-close-cancel{background:transparent;border:none;color:var(--text-muted, #9e9e9e);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s}.btn-close-cancel:hover{background:#ffffff14;color:#fff}.cancel-trip-summary{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px}.summary-route{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1rem;margin-bottom:6px}.summary-arrow{color:#ff9800;font-size:.9rem}.summary-details{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-muted, #9e9e9e)}.summary-fare{font-weight:600;color:#ffb74d}.cancel-warning-box{background:#ef53501f;border:1px solid rgba(239,83,80,.3);border-radius:10px;padding:12px 14px}.cancel-warning-box p{margin:0;font-size:.88rem;line-height:1.45;color:#ef9a9a}.cancel-form{display:flex;flex-direction:column;gap:16px}.cancel-field-group{display:flex;flex-direction:column;gap:8px}.cancel-field-label{font-size:.88rem;font-weight:600;color:var(--text-secondary, #cccccc)}.cancel-reason-chips{display:flex;flex-wrap:wrap;gap:8px}.cancel-chip{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-primary, #ffffff);padding:8px 12px;border-radius:20px;font-size:.84rem;cursor:pointer;transition:all .2s ease;text-align:left}.cancel-chip:hover{background:#ffffff1f}.cancel-chip.active{background:#ef535033;border-color:#ef5350;color:#ff8a80;font-weight:600}.cancel-textarea{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:10px 12px;color:#fff;font-size:.88rem;font-family:inherit;resize:vertical;transition:border-color .2s}.cancel-textarea:focus{outline:none;border-color:#ef5350}.cancel-actions-row{display:flex;gap:12px;margin-top:6px}.btn-cancel-keep{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-primary, #ffffff);padding:12px;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-cancel-keep:hover:not(:disabled){background:#ffffff26}.btn-cancel-confirm-destructive{flex:1.2;background:linear-gradient(135deg,#d32f2f,#c62828);border:none;color:#fff;padding:12px;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 4px 14px #d32f2f66;transition:all .2s}.btn-cancel-confirm-destructive:hover:not(:disabled){background:linear-gradient(135deg,#e53935,#d32f2f);box-shadow:0 6px 18px #d32f2f99;transform:translateY(-1px)}.btn-cancel-confirm-destructive:disabled,.btn-cancel-keep:disabled{opacity:.5;cursor:not-allowed}.ticket-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#050810c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2100;padding:16px;animation:ticketFadeIn .22s ease-out}@keyframes ticketFadeIn{0%{opacity:0}to{opacity:1}}.ticket-modal-container{position:relative;width:100%;max-width:440px;max-height:94vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px;animation:ticketSlideUp .26s cubic-bezier(.16,1,.3,1)}@keyframes ticketSlideUp{0%{transform:translateY(18px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.ticket-close-btn{position:absolute;top:-12px;right:-8px;width:36px;height:36px;border-radius:50%;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, rgba(0, 0, 0, .12));color:var(--color-text-main, #111827);font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 4px 12px #00000040;transition:transform .15s ease,background-color .15s ease}.ticket-close-btn:hover{transform:scale(1.08);background:var(--color-surface-hover, #f3f4f6)}.ticket-toast-alert{padding:10px 16px;border-radius:10px;background:#10b981;color:#fff;font-size:.9rem;font-weight:600;text-align:center;box-shadow:0 4px 14px #10b98159;animation:ticketToastPop .2s ease-out}@keyframes ticketToastPop{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.boarding-pass-card{position:relative;background:var(--color-surface, #ffffff);border-radius:20px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));box-shadow:0 16px 36px -8px #00000047,0 0 0 1px #ffffff0d;overflow:hidden;display:flex;flex-direction:column}.pass-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 16px;background:linear-gradient(135deg,#f59e0b1f,#f59e0b08);border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .06))}.pass-brand-lockup{display:flex;align-items:center;gap:10px}.pass-brand-logo{font-size:1.6rem}.pass-brand-title{margin:0;font-size:1.05rem;font-weight:900;letter-spacing:.08em;color:var(--color-text-main, #111827)}.pass-brand-sub{display:block;font-size:.72rem;font-weight:600;color:var(--color-text-muted, #6b7280);letter-spacing:.05em}.pass-status-pill{padding:4px 10px;border-radius:9999px;background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#059669;font-size:.76rem;font-weight:800;letter-spacing:.03em}.pass-route-section{padding:20px 20px 16px}.pass-route-endpoints{display:flex;align-items:center;justify-content:space-between;gap:12px}.pass-endpoint{flex:1;display:flex;flex-direction:column}.pass-endpoint.align-right{text-align:right;align-items:flex-end}.endpoint-label{font-size:.72rem;font-weight:700;color:var(--color-text-muted, #6b7280);letter-spacing:.06em;margin-bottom:2px}.endpoint-city{font-size:1.25rem;font-weight:800;color:var(--color-text-main, #111827);line-height:1.2}.pass-route-arrow{display:flex;align-items:center;justify-content:center;color:#f59e0b;font-size:1.15rem;padding:0 4px}.pass-grid-details{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;padding:0 20px 18px}.pass-meta-cell{display:flex;flex-direction:column;gap:2px}.cell-label{font-size:.76rem;font-weight:600;color:var(--color-text-muted, #6b7280)}.cell-value{font-size:.96rem;font-weight:700;color:var(--color-text-main, #111827)}.cell-value.highlight-amber{color:#d97706}.cell-value.highlight-green{color:#059669}.pass-perforation-divider{position:relative;display:flex;align-items:center;margin:4px 0 16px;height:20px}.notch{position:absolute;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:var(--color-bg, #0b0f19);border:1px solid var(--color-border, rgba(0, 0, 0, .08));z-index:2}.notch-left{left:-9px}.notch-right{right:-9px}.dashed-line{width:100%;height:1px;border-bottom:2px dashed var(--color-border, rgba(0, 0, 0, .15));margin:0 12px}.pass-verification-section{display:flex;flex-direction:column;align-items:center;padding:0 20px 18px;gap:14px}.pass-qr-wrapper{padding:12px;background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.1);box-shadow:0 6px 16px #00000014;display:flex;align-items:center;justify-content:center}.pass-qr-svg{width:180px;height:180px;display:block}.pass-pin-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.pin-label{font-size:.74rem;font-weight:700;letter-spacing:.06em;color:var(--color-text-muted, #6b7280)}.pin-number-digits{display:flex;gap:8px}.pin-digit-box{width:38px;height:44px;border-radius:8px;background:var(--color-surface-hover, #f3f4f6);border:1px solid var(--color-border, rgba(0, 0, 0, .12));color:var(--color-text-main, #111827);font-size:1.4rem;font-weight:900;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 3px #00000014}.pass-ticket-code{font-size:.84rem;color:var(--color-text-muted, #6b7280)}.pass-ticket-code strong{color:var(--color-text-main, #111827);letter-spacing:.04em}.pass-qr-hint{margin:4px 0 0;font-size:.76rem;color:var(--color-text-muted, #6b7280);max-width:320px;line-height:1.35}.pass-footer-notice{display:flex;align-items:center;gap:8px;padding:12px 18px;background:var(--color-surface-hover, #f9fafb);border-top:1px solid var(--color-border, rgba(0, 0, 0, .06));font-size:.78rem;color:var(--color-text-muted, #6b7280)}.notice-icon{font-size:1rem}.ticket-actions-bar{display:flex;gap:12px}.btn-ticket-print,.btn-ticket-share{flex:1;padding:12px 16px;border-radius:12px;font-size:.92rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.btn-ticket-print{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, rgba(0, 0, 0, .15));color:var(--color-text-main, #111827)}.btn-ticket-print:hover{background:var(--color-surface-hover, #f3f4f6);transform:translateY(-1px)}.btn-ticket-share{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;box-shadow:0 4px 14px #f59e0b59}.btn-ticket-share:hover{filter:brightness(1.06);transform:translateY(-1px)}[data-theme=midnight] .ticket-modal-overlay{background-color:#03050ae0}[data-theme=midnight] .boarding-pass-card{background:#111827;border-color:#ffffff1a;box-shadow:0 20px 40px #0009,0 0 0 1px #ffffff14}[data-theme=midnight] .pass-header{background:linear-gradient(135deg,#f59e0b2e,#f59e0b0a);border-bottom-color:#ffffff14}[data-theme=midnight] .pass-brand-title,[data-theme=midnight] .endpoint-city{color:#f9fafb}[data-theme=midnight] .cell-value{color:#f3f4f6}[data-theme=midnight] .cell-value.highlight-amber{color:#fbbf24}[data-theme=midnight] .cell-value.highlight-green{color:#34d399}[data-theme=midnight] .notch{background:#070a12;border-color:#ffffff1a}[data-theme=midnight] .dashed-line{border-bottom-color:#ffffff2e}[data-theme=midnight] .pin-digit-box{background:#1f2937;border-color:#ffffff24;color:#f9fafb}[data-theme=midnight] .pass-ticket-code strong{color:#f3f4f6}[data-theme=midnight] .pass-footer-notice{background:#0d131f;border-top-color:#ffffff14;color:#9ca3af}[data-theme=midnight] .btn-ticket-print{background:#1f2937;border-color:#ffffff26;color:#f9fafb}[data-theme=midnight] .btn-ticket-print:hover{background:#374151}@media print{body *{visibility:hidden}.ticket-modal-overlay{position:static;background:transparent!important;padding:0}.ticket-modal-container{max-width:100%;margin:0}#printable-ticket,#printable-ticket *{visibility:visible}#printable-ticket{position:absolute;left:0;top:0;width:100%;max-width:420px;margin:20px auto;border:1px solid #000000;box-shadow:none;background:#fff!important;color:#000!important}.no-print{display:none!important}}.bookings-page-container{max-width:var(--container-max-width);margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.bookings-page-header h2{font-size:24px;font-weight:800;color:var(--text-primary);letter-spacing:-.4px}.bookings-tabs-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;border-bottom:1px solid var(--decorative-border);scrollbar-width:none}.bookings-tabs-bar::-webkit-scrollbar{display:none}.tab-btn{white-space:nowrap;font-size:13px;font-weight:600;padding:8px 16px;border-radius:var(--radius-control);background:var(--surface);color:var(--text-secondary);border:1px solid var(--decorative-border);cursor:pointer;transition:all var(--transition-fast)}.tab-btn:hover{background:var(--canvas);color:var(--text-primary)}.tab-btn.active{background:var(--supporting-pine);color:#fff;border-color:var(--supporting-pine);font-weight:700}[data-theme=midnight] .tab-btn.active,.midnight .tab-btn.active{background:var(--brand-amber);color:var(--action-primary-text);border-color:var(--brand-amber)}.bookings-unauth-card,.bookings-empty-state{text-align:center;padding:56px 24px;background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--decorative-border);box-shadow:var(--shadow-card);display:flex;flex-direction:column;align-items:center;gap:12px;max-width:520px;margin:32px auto}.unauth-icon-badge,.empty-icon-art{font-size:40px}.bookings-unauth-card h3,.bookings-empty-state h3{font-size:18px;font-weight:800;color:var(--text-primary)}.bookings-unauth-card p,.bookings-empty-state p{font-size:14px;color:var(--text-secondary);line-height:1.5}.btn-unauth-login,.btn-find-trips-now{padding:12px 24px;background-color:var(--brand-amber);color:var(--action-primary-text);font-size:14px;font-weight:700;border-radius:var(--radius-control);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-subtle);margin-top:8px;transition:opacity var(--transition-fast)}.btn-unauth-login:hover,.btn-find-trips-now:hover{opacity:.92}.bookings-feed-list{display:flex;flex-direction:column;gap:16px}.booking-item-card{background:var(--surface);border-radius:var(--radius-card);padding:18px 20px;border:1px solid var(--decorative-border);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.booking-item-card:hover{box-shadow:var(--shadow-hover)}.booking-card-top-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.booking-route-display{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--text-primary)}.booking-route-display .route-arrow{color:var(--brand-amber);font-size:13px}.status-badge-chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--radius-status-chip);letter-spacing:.2px}.pill-pending{background-color:#fef3c7;color:#92400e}[data-theme=midnight] .pill-pending,.midnight .pill-pending{background-color:#3f2c0e;color:#fcd34d}.pill-accepted{background-color:var(--available-bg);color:var(--available-text)}.pill-declined,.pill-cancelled{background-color:var(--full-bg);color:var(--full-text)}.booking-card-meta-row{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--text-secondary)}.meta-info{display:flex;align-items:center;gap:4px}.driver-authorized-box{background-color:#0a382c0d;border:1px solid rgba(10,56,44,.18);border-radius:var(--radius-control);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}[data-theme=midnight] .driver-authorized-box,.midnight .driver-authorized-box{background-color:#f4a34014;border-color:#f4a34033}.driver-profile-info{display:flex;flex-direction:column;gap:2px}.driver-role-title{font-size:11px;font-weight:700;color:var(--supporting-pine);text-transform:uppercase;letter-spacing:.5px}[data-theme=midnight] .driver-role-title,.midnight .driver-role-title{color:var(--brand-amber)}.driver-name-text{font-size:15px;font-weight:700;color:var(--text-primary)}.driver-phone-text{font-size:14px;font-weight:700;color:var(--supporting-pine)}[data-theme=midnight] .driver-phone-text,.midnight .driver-phone-text{color:var(--brand-amber)}.btn-call-driver-action{background-color:var(--supporting-pine);color:#fff;padding:10px 18px;border-radius:var(--radius-control);font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;box-shadow:var(--shadow-subtle);transition:opacity var(--transition-fast)}[data-theme=midnight] .btn-call-driver-action,.midnight .btn-call-driver-action{background-color:var(--brand-amber);color:var(--action-primary-text)}.btn-call-driver-action:hover{opacity:.92}.calm-waiting-box{display:flex;align-items:center;gap:12px;background:var(--canvas);border:1px solid var(--decorative-border);padding:12px 16px;border-radius:var(--radius-control)}.waiting-spinner{width:18px;height:18px;border:2px solid var(--brand-amber);border-top-color:transparent;border-radius:50%;animation:waitingSpin 1.2s linear infinite;flex-shrink:0}@keyframes waitingSpin{to{transform:rotate(360deg)}}.waiting-text strong{font-size:13px;color:var(--text-primary);display:block}.waiting-text p{font-size:12px;color:var(--text-secondary);margin-top:2px}.history-notice-box{font-size:13px;color:var(--text-secondary);background:var(--canvas);padding:8px 12px;border-radius:var(--radius-control)}.bookings-status-card{text-align:center;padding:40px;color:var(--text-secondary)}@media (min-width: 768px){.bookings-page-container{padding:24px 0}.bookings-page-header h2{font-size:28px;margin-bottom:8px}.bookings-feed-list,.requests-feed-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}}.title-and-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.btn-create-request-cta{background:linear-gradient(135deg,var(--brand-amber),#b45309);color:#000;border:none;font-size:13px;font-weight:700;padding:8px 16px;border-radius:var(--radius-control);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-create-request-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b4d}.section-switch-control{display:flex;gap:8px;background:var(--canvas);padding:4px;border-radius:var(--radius-card);border:1px solid var(--decorative-border)}.btn-section-toggle{flex:1;background:transparent;border:none;font-size:13px;font-weight:600;color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-control);cursor:pointer;transition:all var(--transition-fast)}.btn-section-toggle.active{background:var(--surface);color:var(--text-primary);box-shadow:0 2px 6px #00000014;font-weight:700}.driver-contact-actions{display:flex;gap:8px;margin-top:10px}.btn-zalo-contact-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#0068ff;color:#fff;text-decoration:none;font-size:13px;font-weight:700;padding:8px 12px;border-radius:var(--radius-control);transition:opacity var(--transition-fast)}.btn-zalo-contact-action:hover{opacity:.9}.requests-feed-list{display:flex;flex-direction:column;gap:12px}.custom-req-card{background:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px #0000000a}.req-card-top-row{display:flex;align-items:center;justify-content:space-between}.req-card-meta-row{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-secondary)}.req-amenities-row{display:flex;flex-wrap:wrap;gap:6px}.amenity-tag{font-size:11px;font-weight:600;background:#f59e0b1a;color:var(--brand-amber);border:1px solid rgba(245,158,11,.2);padding:2px 8px;border-radius:var(--radius-control)}.req-note-box{font-size:12px;background:var(--canvas);padding:8px 12px;border-radius:var(--radius-control);color:var(--text-secondary);border-left:2px solid var(--brand-amber)}.req-actions-row{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--decorative-border);padding-top:8px}.btn-action-cancel{background:transparent;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:12px;font-weight:600;padding:6px 12px;border-radius:var(--radius-control);cursor:pointer}.btn-action-cancel:hover{background:#ef44441a}.btn-action-remove{background:transparent;border:1px solid var(--decorative-border);color:var(--text-secondary);font-size:12px;font-weight:500;padding:6px 12px;border-radius:var(--radius-control);cursor:pointer}.req-offers-notification-box{margin-top:10px}.btn-view-offers-action{width:100%;background:linear-gradient(135deg,#d97706,#f59e0b);border:none;color:#fff;font-size:13px;font-weight:700;padding:10px 16px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #d9770640;transition:all .15s ease}.btn-view-offers-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d9770659}.matched-driver-box{background:#10b98114;border:1px solid rgba(16,185,129,.3);border-radius:14px;padding:12px 14px;margin-top:10px;display:flex;flex-direction:column;gap:10px}.matched-driver-header{display:flex;align-items:center;gap:12px}.matched-driver-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.matched-driver-info{display:flex;flex-direction:column;gap:2px;min-width:0}.matched-role-label{font-size:11px;font-weight:700;color:#059669;text-transform:uppercase}.matched-driver-name{font-size:14px;font-weight:700;color:var(--text-primary)}.matched-vehicle-text{font-size:12px;color:var(--text-secondary)}.matched-phone-text{font-size:13px;font-weight:700;color:#059669}.matched-contact-actions{display:flex;gap:8px;padding-top:8px;border-top:1px dashed rgba(16,185,129,.25)}.booking-review-interaction-box{margin-top:12px;padding-top:12px;border-top:1px dashed var(--decorative-border)}.booking-unrated-box{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f59e0b0f;border:1px dashed rgba(245,158,11,.35);border-radius:12px;padding:10px 14px}.unrated-prompt-text{font-size:13px;font-weight:600;color:var(--text-secondary)}.btn-open-rate-modal{background:linear-gradient(135deg,#d97706,#f59e0b);border:none;color:#fff;font-size:13px;font-weight:700;padding:8px 16px;border-radius:9999px;cursor:pointer;box-shadow:0 2px 8px #d9770640;transition:all .15s ease;white-space:nowrap}.btn-open-rate-modal:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d9770659}.booking-rated-summary-box{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.rated-header-row{display:flex;align-items:center;justify-content:space-between}.rated-stars-badge{font-size:13px;font-weight:700;color:#d97706}.btn-re-rate-action{background:none;border:none;font-size:12px;font-weight:600;color:var(--text-secondary);cursor:pointer;text-decoration:underline;padding:0}.btn-re-rate-action:hover{color:var(--text-primary)}.rated-tags-preview{display:flex;flex-wrap:wrap;gap:6px}.rated-tag-mini-chip{background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#b45309;font-size:11px;font-weight:600;padding:3px 8px;border-radius:9999px}.rated-comment-preview{font-size:12px;font-style:italic;color:var(--text-secondary);margin:0}.history-rated-badge{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;color:#d97706}[data-theme=midnight] .booking-unrated-box{background:#f59e0b1a;border-color:#f59e0b4d}[data-theme=midnight] .booking-rated-summary-box{background:#f59e0b1f;border-color:#f59e0b4d}[data-theme=midnight] .rated-tag-mini-chip{background:#f59e0b33;color:#fbbf24}.booking-card-footer-actions,.booking-cancel-action-container{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--decorative-border, rgba(255, 255, 255, .08))}.btn-booking-ticket-trigger{background:#f59e0b1f;border:1px solid rgba(245,158,11,.45);color:#d97706;font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.btn-booking-ticket-trigger:hover{background:#f59e0b38;border-color:#f59e0b;transform:translateY(-1px)}[data-theme=midnight] .btn-booking-ticket-trigger{background:#f59e0b2e;border-color:#f59e0b80;color:#fbbf24}.btn-booking-safety-trigger{background:transparent;border:1px solid rgba(16,185,129,.35);color:#10b981;font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.btn-booking-safety-trigger:hover{background:#10b9811f;border-color:#10b981}[data-theme=midnight] .btn-booking-safety-trigger{color:#34d399;border-color:#34d39966}.btn-booking-cancel-trigger{background:transparent;border:1px solid rgba(239,83,80,.3);color:#ef5350;font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.btn-booking-cancel-trigger:hover{background:#ef53501f;border-color:#ef5350}.history-notice-box.cancelled{background:#ef535014;border-color:#ef535033}.history-cancel-label{color:#ef9a9a;font-weight:600;font-size:13px}.profile-page-container{max-width:760px;margin:0 auto;padding:20px 16px 40px;display:flex;flex-direction:column;gap:24px;animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.profile-hero-card{background:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:24px;box-shadow:var(--shadow-card);display:flex;align-items:center;gap:20px;position:relative;overflow:hidden}.profile-hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-amber),#b45309)}.profile-avatar-lockup{position:relative;flex-shrink:0}.profile-avatar-circle{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#f4a34033,#0a382c26);border:2px solid var(--brand-amber);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--text-primary);font-weight:800;box-shadow:var(--shadow-subtle)}.profile-verified-badge{position:absolute;bottom:-2px;right:-2px;background:var(--color-ok);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:2px solid var(--surface)}.profile-user-info{flex:1;display:flex;flex-direction:column;gap:4px}.profile-user-name{font-size:20px;font-weight:800;color:var(--text-primary);line-height:1.2}.profile-user-phone{font-size:15px;color:var(--text-secondary);font-weight:600}.profile-badges-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.pill-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--radius-control);letter-spacing:.1px;display:inline-flex;align-items:center;gap:4px}.pill-badge.role{background:#0a382c1a;color:var(--supporting-pine);border:1px solid rgba(10,56,44,.2)}[data-theme=midnight] .pill-badge.role,.midnight .pill-badge.role{background:#f4a34026;color:var(--brand-amber);border-color:#f4a3404d}.pill-badge.verified{background:var(--available-bg);color:var(--available-text);border:1px solid rgba(20,83,45,.2)}.profile-guest-hero{background:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:28px 24px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:16px;text-align:center;align-items:center;position:relative;overflow:hidden}.profile-guest-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-amber),var(--supporting-pine))}.guest-icon-badge{width:60px;height:60px;border-radius:50%;background:#f4a3401f;border:1px solid rgba(244,163,64,.3);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--brand-amber)}.guest-headline{font-size:20px;font-weight:800;color:var(--text-primary)}.guest-subtext{font-size:14px;color:var(--text-secondary);max-width:480px;line-height:1.5;margin:0 auto}.btn-guest-login{background:linear-gradient(135deg,var(--brand-amber),#b45309);color:#000;font-size:15px;font-weight:700;padding:12px 28px;border-radius:var(--radius-control);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px #f59e0b4d;transition:transform var(--transition-fast),filter var(--transition-fast)}.btn-guest-login:hover{filter:brightness(1.08);transform:translateY(-1px)}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{background:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:4px;text-align:center;box-shadow:var(--shadow-subtle);transition:transform var(--transition-fast)}.stat-card:hover{transform:translateY(-2px);border-color:var(--input-border)}.stat-num{font-size:24px;font-weight:800;color:var(--brand-amber);line-height:1.1}.stat-label{font-size:12px;color:var(--text-secondary);font-weight:600}.profile-section-card{background:var(--surface);border:1px solid var(--decorative-border);border-radius:var(--radius-card);padding:20px 22px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:16px}.section-header-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--decorative-border);padding-bottom:10px}.section-title-lockup{display:flex;align-items:center;gap:8px}.section-icon{font-size:18px}.section-title{font-size:16px;font-weight:700;color:var(--text-primary)}.theme-switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-switch-btn{background:var(--canvas);border:2px solid var(--decorative-border);border-radius:var(--radius-card);padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;text-align:left;transition:all var(--transition-fast)}.theme-switch-btn:hover{border-color:var(--input-border)}.theme-switch-btn.active{border-color:var(--brand-amber);background:#f59e0b14}.theme-icon-circle{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--surface);border:1px solid var(--decorative-border);flex-shrink:0}.theme-info{flex:1;display:flex;flex-direction:column}.theme-name{font-size:14px;font-weight:700;color:var(--text-primary)}.theme-desc{font-size:11px;color:var(--text-secondary)}.theme-check-icon{font-size:16px;color:var(--brand-amber);font-weight:800}.profile-links-list{display:flex;flex-direction:column;gap:2px}.profile-link-row{display:flex;align-items:center;justify-content:space-between;padding:12px 8px;text-decoration:none;color:var(--text-primary);border-radius:var(--radius-control);transition:background-color var(--transition-fast);font-size:14px;font-weight:600}.profile-link-row:hover{background-color:var(--canvas)}button.profile-link-row{background:transparent;border:none;width:100%;cursor:pointer;font-family:inherit;text-align:left}.link-left{display:flex;align-items:center;gap:12px}.link-icon{font-size:18px;width:24px;text-align:center}.link-right{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.link-value-tag{color:var(--brand-amber);font-weight:700}.link-arrow{font-size:14px;color:var(--text-muted)}.btn-logout-danger{width:100%;padding:12px;background:transparent;color:var(--color-bad);border:1px solid rgba(200,70,58,.4);border-radius:var(--radius-control);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition-fast)}.btn-logout-danger:hover{background:var(--color-bad-bg);border-color:var(--color-bad)}.app-meta-footer{text-align:center;font-size:12px;color:var(--text-muted);padding:8px 0;display:flex;flex-direction:column;gap:4px}@media (max-width: 580px){.profile-stats-grid{grid-template-columns:1fr;gap:8px}.theme-switch-grid{grid-template-columns:1fr}.profile-hero-card{flex-direction:column;text-align:center}.profile-badges-row{justify-content:center}}:root{--brand-amber: #F4A340;--action-primary-bg: #F4A340;--action-primary-text: #111918;--supporting-pine: #0A382C;--supporting-pine-dark: #07261E;--supporting-pine-light: #164E3E;--canvas: #F8F9F6;--surface: #FFFFFF;--surface-raised: #FFFFFF;--text-primary: #111918;--text-secondary: #425650;--text-muted: #6B8077;--decorative-border: #D6DDD8;--input-border: #BCC7C1;--input-bg: #FFFFFF;--available-bg: #E6F4EA;--available-text: #14532D;--full-bg: #F1F3F4;--full-text: #40464A;--terminal-bg: #0A382C;--terminal-text: #FFFFFF;--terminal-secondary-text: #D4E8DE;--terminal-input-bg: rgba(255, 255, 255, .12);--terminal-input-border: rgba(255, 255, 255, .24);--color-ok: #1E9E6A;--color-ok-bg: #E6F4EA;--color-bad: #C8463A;--color-info: #1A73E8;--color-info-bg: #E8F0FE;--brand-primary: var(--supporting-pine);--brand-primary-dark: var(--supporting-pine-dark);--brand-accent: var(--brand-amber);--brand-accent-dark: #D9822B;--brand-accent-light: #FBECD9;--bg-canvas: var(--canvas);--bg-card: var(--surface);--bg-input: var(--input-bg);--text-ink: var(--text-primary);--line-border: var(--decorative-border);--color-ok-bg: var(--available-bg);--color-bad-bg: #FCE8E6;--radius-control: 6px;--radius-card: 8px;--radius-search-terminal: 8px;--radius-dialog: 12px;--radius-sheet-top: 16px;--radius-status-chip: 4px;--radius-full: 9999px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-subtle: 0 1px 3px rgba(17, 25, 24, .05);--shadow-card: 0 2px 8px rgba(17, 25, 24, .06), 0 1px 2px rgba(17, 25, 24, .04);--shadow-hover: 0 4px 16px rgba(17, 25, 24, .1), 0 2px 4px rgba(17, 25, 24, .06);--shadow-modal: 0 12px 32px rgba(10, 56, 44, .2), 0 4px 12px rgba(17, 25, 24, .1);--shadow-sm: var(--shadow-subtle);--shadow-md: var(--shadow-card);--shadow-lg: var(--shadow-hover);--transition-fast: .16s cubic-bezier(.4, 0, .2, 1);--transition-normal: .22s cubic-bezier(.4, 0, .2, 1);--container-max-width: 1140px;--app-max-width: 1140px;--header-height: 60px;--header-height-mobile: 56px;--header-height-desktop: 68px;--bottom-nav-height: 64px}[data-theme=midnight],.midnight{--brand-amber: #F4A340;--action-primary-bg: #F4A340;--action-primary-text: #111918;--supporting-pine: #0A382C;--supporting-pine-dark: #051A14;--supporting-pine-light: #164E3E;--canvas: #0B0F12;--surface: #141A1F;--surface-raised: #1C242B;--text-primary: #F4F6F3;--text-secondary: #BCCBC4;--text-muted: #83978E;--decorative-border: #46534F;--input-border: #52635E;--input-bg: #1A2228;--available-bg: #173C2B;--available-text: #B7EFC8;--full-bg: #232B32;--full-text: #9EABB4;--terminal-bg: #0E1815;--terminal-text: #FFFFFF;--terminal-secondary-text: #D4E8DE;--terminal-input-bg: rgba(255, 255, 255, .08);--terminal-input-border: rgba(255, 255, 255, .18);--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .3);--shadow-card: 0 2px 8px rgba(0, 0, 0, .4);--shadow-hover: 0 4px 16px rgba(0, 0, 0, .5);--shadow-modal: 0 12px 32px rgba(0, 0, 0, .6)}@media (min-width: 768px){:root{--header-height: var(--header-height-desktop);--bottom-nav-height: 0px}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:Be Vietnam Pro,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--canvas);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;color:inherit}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-layout{display:flex;flex-direction:column;min-height:100vh;position:relative;overflow-x:hidden;background-color:var(--canvas)}.app-main-content{flex:1;width:100%;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 32px)}@media (min-width: 768px){.app-main-content{padding-bottom:64px;padding-top:16px}}
