.offline-banner{z-index:1001;animation:.3s ease-out slideIn;position:fixed;left:0;right:0}.offline-banner.top{top:0}.offline-banner.bottom{bottom:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-banner.bottom{animation-name:slideInBottom}@keyframes slideInBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.offline-banner-content{color:#92400e;background:#fef3c7;border-bottom:1px solid #fbbf24;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.offline-banner.bottom .offline-banner-content{border-top:1px solid #fbbf24;border-bottom:none}.offline-banner.reconnected .offline-banner-content{color:#065f46;background:#d1fae5;border-color:#34d399}.offline-icon{flex-shrink:0}.offline-icon.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.offline-message{white-space:nowrap}.sync-status{background:#0000001a;border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.retry-button{border-radius:var(--radius);width:28px;height:28px;color:inherit;cursor:pointer;background:#0000001a;border:none;justify-content:center;align-items:center;margin-left:.25rem;padding:0;transition:background .2s;display:inline-flex}.retry-button:hover{background:#00000026}.retry-button:disabled{opacity:.6;cursor:not-allowed}.retry-button .spinning{animation:1s linear infinite spin}.offline-indicator{color:#f59e0b;justify-content:center;align-items:center;padding:.375rem;animation:2s ease-in-out infinite pulse;display:inline-flex}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (width<=480px){.offline-banner-content{gap:.375rem;padding:.375rem .75rem;font-size:.8125rem}.sync-status{display:none}}@media (prefers-color-scheme:dark){.offline-banner-content{color:#fde68a;background:#422006;border-color:#854d0e}.offline-banner.reconnected .offline-banner-content{color:#a7f3d0;background:#064e3b;border-color:#047857}.sync-status,.retry-button{background:#ffffff1a}.retry-button:hover{background:#ffffff26}}.nav-links-desktop>li>.ai-status-pill{height:32px}.ai-status-pill{color:#2c3242;letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:#0000000a;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,transform 50ms;display:inline-flex}.ai-status-pill:hover{background:#00000014}.ai-status-pill:active{transform:scale(.97)}.ai-status-pill:focus-visible{outline-offset:2px;outline:2px solid #4858d9}.ai-status-pill--compact{height:24px;padding:0 8px;font-size:.7rem}.ai-status-pill__icon{flex:none}.ai-status-pill__icon--spin{animation:.9s linear infinite ai-status-pill-spin}.ai-status-pill__label{white-space:nowrap}.ai-status-pill--off{color:#5a5d6b;background:#a0a0a02e;border-color:#a0a0a04d}.ai-status-pill--local{color:#137a4b;background:#10a8601f;border-color:#10a86040}.ai-status-pill--cloud{color:#2454a8;background:#2e74d91f;border-color:#2e74d940}.ai-status-pill--smart{color:#5d3aa4;background:#7a46c81f;border-color:#7a46c840}@keyframes ai-status-pill-spin{to{transform:rotate(360deg)}}.offline-mode-indicator{z-index:1002;animation:.3s ease-out slideDown;position:fixed;top:0;left:0;right:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-mode-content{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-bottom:1px solid #fbbf24;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.offline-mode-info{align-items:center;gap:.5rem;display:flex}.offline-mode-icon{color:#d97706;flex-shrink:0}.offline-mode-text{white-space:nowrap}.offline-mode-actions{align-items:center;gap:.5rem;display:flex}.offline-mode-btn{border-radius:var(--radius,6px);cursor:pointer;border:none;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex}.offline-mode-btn-primary{color:#fff;background:#059669}.offline-mode-btn-primary:hover{background:#047857}.offline-mode-btn-secondary{color:#92400e;background:#0000001a}.offline-mode-btn-secondary:hover{background:#00000026}@media (width<=600px){.offline-mode-content{flex-direction:column;gap:.5rem;padding:.5rem .75rem}.offline-mode-text{font-size:.8125rem}.offline-mode-actions{justify-content:flex-end;width:100%}.offline-mode-btn{padding:.25rem .5rem;font-size:.75rem}.offline-mode-btn span{display:none}.offline-mode-btn-primary span,.offline-mode-btn-secondary span{display:inline}}@media (width<=400px){.offline-mode-btn span{display:none}}@media (prefers-color-scheme:dark){.offline-mode-content{color:#fde68a;background:linear-gradient(135deg,#422006 0%,#451a03 100%);border-color:#854d0e}.offline-mode-icon{color:#fbbf24}.offline-mode-btn-primary{color:#fff;background:#059669}.offline-mode-btn-primary:hover{background:#10b981}.offline-mode-btn-secondary{color:#fde68a;background:#ffffff1a}.offline-mode-btn-secondary:hover{background:#ffffff26}}.install-prompt{z-index:1000;width:calc(100% - 2rem);max-width:480px;animation:.3s ease-out slideUp;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.install-prompt-content{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex;box-shadow:0 4px 20px #00000026}.install-prompt-icon{background:var(--primary-light);border-radius:var(--radius);width:40px;height:40px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.install-prompt-text{flex:1;min-width:0}.install-prompt-text h4{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.875rem;font-weight:600;overflow:hidden}.install-prompt-text p{color:var(--text-secondary);margin:0;font-size:.75rem;line-height:1.4}.install-prompt-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.install-prompt-button{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex}.install-prompt-button.install{background:var(--primary);color:#fff}.install-prompt-button.install:hover{background:var(--primary-dark)}.install-prompt-button.install:disabled{opacity:.6;cursor:not-allowed}.install-prompt-button.dismiss{width:32px;height:32px;color:var(--text-secondary);background:0 0;padding:0}.install-prompt-button.dismiss:hover{background:var(--background);color:var(--text-primary)}@media (width<=480px){.install-prompt{width:calc(100% - 1rem);bottom:.5rem}.install-prompt-content{flex-wrap:wrap;padding:.75rem}.install-prompt-text{flex:auto}.install-prompt-text p{display:none}.install-prompt-actions{margin-left:auto}}@media (prefers-color-scheme:dark){.install-prompt-content{background:#1e293b;border-color:#334155}.install-prompt-text h4{color:#f8fafc}.install-prompt-text p{color:#94a3b8}.install-prompt-button.dismiss:hover{background:#334155}}.new-version-toast{z-index:9000;border-radius:var(--radius,.5rem);background-color:var(--brand-teal,#0d9488);color:#fff;align-items:center;gap:.75rem;width:max-content;max-width:calc(100vw - 2rem);padding:.625rem .875rem;font-size:.875rem;line-height:1.3;animation:.22s ease-out new-version-toast-in;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0d948852}@keyframes new-version-toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.new-version-toast__icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.new-version-toast__copy{flex-direction:column;gap:.125rem;min-width:0;display:flex}.new-version-toast__copy strong{font-weight:700}.new-version-toast__copy span{opacity:.92;font-weight:400}.new-version-toast__actions{align-items:center;gap:.375rem;margin-left:.5rem;display:inline-flex}.new-version-toast__reload{appearance:none;color:#fff;border-radius:calc(var(--radius,.5rem) - 2px);cursor:pointer;background-color:#ffffff26;border:1px solid #fff9;padding:.3125rem .75rem;font-size:.8125rem;font-weight:700;transition:background-color .18s,transform .18s}.new-version-toast__reload:hover{background-color:#ffffff47;transform:translateY(-1px)}.new-version-toast__reload:disabled{opacity:.55;cursor:progress;transform:none}.new-version-toast__dismiss{appearance:none;color:#fff;cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:opacity .18s,background-color .18s;display:inline-flex}.new-version-toast__dismiss:hover{opacity:1;background-color:#ffffff2e}.new-version-toast__dismiss:disabled{opacity:.4;cursor:not-allowed}@media (width<=480px){.new-version-toast{flex-wrap:wrap;justify-content:space-between;width:calc(100vw - 1.5rem)}.new-version-toast__actions{margin-left:0}}:root{--brand-teal:#0f766e;--brand-teal-dark:#115e59;--brand-teal-light:#eef7f6;--brand-navy:#0f172a;--brand-navy-soft:#334155;--brand-coral:#ef7465;--brand-coral-dark:#b9382b;--brand-coral-light:#fff1ef;--primary:var(--brand-teal);--primary-dark:var(--brand-teal-dark);--primary-light:var(--brand-teal-light);--secondary:#64748b;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--background:#f7faf9;--surface:#fff;--text-primary:var(--brand-navy);--text-secondary:#475569;--border:#0f172a1f;--border-strong:#0f172a2e;--shadow-sm:0 2px 8px #0f172a12;--shadow:0 12px 32px #0f172a0f;--shadow-lg:0 20px 56px #0f172a1c;--shadow-teal:0 14px 32px #0f766e38;--radius:8px;--radius-lg:8px;--space-section:1.5rem}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow-x:hidden}body{background-color:var(--background);color:var(--text-primary);width:100%;max-width:100vw;min-height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;overflow-x:hidden}.app{flex-direction:column;width:100%;max-width:100vw;min-height:100dvh;display:flex;overflow-x:hidden}.container{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.btn{border-radius:var(--radius);cursor:pointer;min-height:40px;color:var(--text-primary);overflow-wrap:anywhere;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:800;line-height:1.2;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s,color .18s;display:inline-flex}.btn:focus-visible,.route-shell__action-link:focus-visible,.documents-icon-button:focus-visible,.booking-list-item__icon-button:focus-visible,.checklist-toggle:focus-visible,.packing-toggle:focus-visible,.trip-event-action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background-color:var(--brand-teal);border-color:var(--brand-teal);color:#fff;box-shadow:var(--shadow-teal)}.btn-primary:hover{background-color:var(--brand-teal-dark);border-color:var(--brand-teal-dark);transform:translateY(-1px);box-shadow:0 18px 36px #0f766e42}.btn-secondary{background-color:var(--surface);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover{background-color:var(--brand-teal-light);border-color:var(--brand-teal);color:var(--brand-teal-dark)}.btn-danger{background-color:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{transform:none}.card{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);padding:1.5rem}.input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text-primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;padding:.625rem .875rem;font-size:.875rem;transition:border-color .2s}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0f766e1f}.input:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:1;background:#f1f5f9}.ui-kicker{width:fit-content;color:var(--brand-teal);text-transform:uppercase;background:#0f766e1a;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.78rem;font-weight:800;line-height:1.1;display:inline-flex}.ui-kicker--coral{color:var(--brand-coral-dark);background:#ef74651f}.ui-icon-square{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--brand-teal), #2563eb);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;box-shadow:0 14px 28px #0f766e2e}.ui-icon-square--navy{background:linear-gradient(135deg, var(--brand-navy), #475569);box-shadow:0 14px 28px #0f172a29}.ui-icon-square--coral{background:linear-gradient(135deg, var(--brand-coral), var(--warning));box-shadow:0 14px 28px #ef74652e}.app-panel,.app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.app-cta-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.label{color:var(--text-primary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group{margin-bottom:1rem}.header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:100;background-color:#ffffffe6;padding:.75rem 0;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;display:flex}.nav-brand{color:var(--brand-teal);align-items:center;gap:.5rem;font-size:1.125rem;font-weight:800;text-decoration:none;display:flex}.nav-brand-icon{flex-shrink:0}.nav-brand-text{white-space:nowrap}.nav-links-desktop{align-items:center;gap:.35rem;list-style:none;display:none}.nav-link{color:var(--text-secondary);border-radius:var(--radius);border:1px solid #0000;align-items:center;gap:.35rem;min-height:40px;padding:.5rem .7rem;font-size:.875rem;font-weight:800;text-decoration:none;transition:color .2s;display:flex}.nav-link-button{cursor:pointer;background:0 0;border:0;font-family:inherit}.nav-link:hover,.nav-link.active{color:var(--brand-teal-dark);background:#0f766e14}.nav-link.active{border-color:#0f766e29}.nav-link-button{color:var(--brand-navy)}.nav-link-button:hover{color:var(--brand-teal-dark)}.nav-link-icon{align-items:center;display:flex}.nav-logout-btn{padding:.5rem .75rem}.nav-mobile-actions{align-items:center;gap:.75rem;display:flex}.nav-menu-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:44px;height:44px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;transition:background-color .2s;display:flex}.nav-menu-toggle:hover{background-color:var(--brand-teal-light);color:var(--brand-teal-dark)}.nav-menu-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.nav-mobile-overlay{opacity:0;visibility:hidden;z-index:150;background-color:#0f172a85;transition:opacity .3s,visibility .3s;position:fixed;inset:0}.nav-mobile-overlay.open{opacity:1;visibility:visible}.nav-mobile-menu{background-color:var(--surface);border-left:1px solid var(--border);width:280px;max-width:calc(100vw - 56px);box-shadow:var(--shadow-lg);visibility:hidden;z-index:200;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-right:env(safe-area-inset-right);flex-direction:column;transition:transform .3s,visibility 0s linear .3s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.nav-mobile-menu.open{visibility:visible;transition:transform .3s,visibility;transform:translate(0)}.nav-mobile-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.nav-mobile-title{color:var(--text-primary);font-size:1.125rem;font-weight:800}.nav-mobile-close{border-radius:var(--radius);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:-.5rem;transition:background-color .2s,color .2s;display:flex}.nav-mobile-close:hover{background-color:var(--background);color:var(--text-primary)}.nav-mobile-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.nav-mobile-links{padding:.5rem 0;list-style:none}.nav-mobile-link{color:var(--text-primary);align-items:center;gap:.75rem;min-height:48px;padding:.875rem 1.25rem;font-size:1rem;font-weight:800;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.nav-mobile-link-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;font-family:inherit}.nav-mobile-link:hover{background-color:var(--brand-teal-light)}.nav-mobile-link:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.nav-mobile-link.active{color:var(--brand-teal-dark);background-color:var(--brand-teal-light)}.nav-mobile-link-icon{width:24px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.nav-mobile-link.active .nav-mobile-link-icon{color:var(--primary)}.nav-mobile-divider{background-color:var(--border);height:1px;margin:.5rem 1.25rem}.nav-mobile-footer{border-top:1px solid var(--border);margin-top:auto;padding:1rem 1.25rem}.nav-mobile-logout{justify-content:center;gap:.5rem;width:100%}@media (width>=768px){.header{padding:1rem 0}.header .nav-brand{font-size:1.25rem}.header .nav-links-desktop{display:flex!important}.header .nav-mobile-actions,.header .nav-mobile-overlay,.header .nav-mobile-menu{display:none!important}.header .nav-link{font-size:.875rem}}@media (width>=1024px){.nav-links-desktop{gap:1.5rem}}.main{flex:1;padding:2rem 0 3rem}.page-title{color:var(--brand-navy);margin-bottom:1.5rem;font-size:clamp(1.65rem,2.3vw,2.25rem);font-weight:900;line-height:1.08}.grid{gap:1.5rem;display:grid}.route-shell{gap:var(--space-section);flex-direction:column;display:flex}.route-shell__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.route-shell__eyebrow{width:fit-content;color:var(--brand-teal);text-transform:uppercase;background:#0f766e1a;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:.65rem;padding:.35rem .65rem;font-size:.78rem;font-weight:800;line-height:1.1;display:inline-flex}.route-shell__lede{color:var(--text-secondary);max-width:720px;font-size:1rem;line-height:1.6}.route-shell__icon{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--brand-teal), #2563eb);flex-shrink:0;width:48px;height:48px;padding:.75rem;box-shadow:0 14px 28px #0f766e2e}.route-shell__panel,.route-shell__card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.route-shell__panel{justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:1.35rem;display:flex}.route-shell__panel h2,.route-shell__card h2{color:var(--brand-navy);margin-bottom:.35rem;font-size:1.08rem}.route-shell__panel p,.route-shell__card p{color:var(--text-secondary)}.route-shell__actions,.route-shell__card-links{flex-wrap:wrap;gap:.75rem;display:flex}.route-shell__status{min-height:40px;color:var(--brand-teal-dark);align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.route-shell__action-link{border:1px solid var(--border-strong);border-radius:var(--radius);min-height:40px;color:var(--text-primary);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;gap:.5rem;padding:.55rem .8rem;font-weight:800;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}button.route-shell__action-link{background:var(--surface);font:inherit;cursor:pointer}.route-shell__action-link:hover{border-color:var(--brand-teal);background:var(--brand-teal-light);color:var(--brand-teal-dark);transform:translateY(-1px)}.route-shell__notice{margin:0}.mobile-hub__prep-progress{color:var(--text-secondary);margin-left:.45rem;font-weight:800;display:inline-flex}.route-shell__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.route-shell__grid--wide{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.route-shell__tile,.route-shell__card{padding:1.25rem}.route-shell__tile{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);min-height:76px;color:var(--text-primary);box-shadow:var(--shadow);align-items:center;gap:.65rem;font-weight:800;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s,background-color .18s,color .18s;display:flex}.route-shell__tile svg{color:var(--brand-teal);flex-shrink:0}.route-shell__tile-icon{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--brand-teal), #2563eb);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;box-shadow:0 10px 22px #0f766e29}.route-shell__tile-icon svg,.route-shell__tile:hover .route-shell__tile-icon svg{color:currentColor}.route-shell__tile-icon--warning{background:linear-gradient(135deg, var(--brand-coral), var(--warning));box-shadow:0 10px 22px #ef746529}.route-shell__tile-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.route-shell__tile-copy span,.route-shell__tile-copy small{overflow-wrap:anywhere}.route-shell__tile-copy small{color:var(--text-secondary);font-size:.78rem;font-weight:700;line-height:1.25}.route-shell__tile-button{cursor:pointer;font:inherit;text-align:left}.route-shell__tile:hover,.route-shell__card-links a:hover{color:var(--brand-teal-dark)}.route-shell__tile:hover{border-color:var(--brand-teal);background:var(--brand-teal-light);transform:translateY(-1px)}.route-shell__tile.disabled,.route-shell__tile:disabled{color:var(--text-secondary);opacity:.65;pointer-events:none}.route-shell__card{flex-direction:column;gap:.75rem;min-width:0;display:flex}.route-shell__card--compact{box-shadow:var(--shadow-sm)}.route-shell__card-title{align-items:flex-start;gap:.5rem;min-width:0;display:flex}.route-shell__card-title h2{overflow-wrap:anywhere;margin:0}.route-shell__card-icon{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--brand-teal), #2563eb);justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;box-shadow:0 14px 28px #0f766e2e}.route-shell__grid>.route-shell__card:nth-child(3n+2) .route-shell__card-icon{background:linear-gradient(135deg, var(--brand-coral), var(--warning));box-shadow:0 14px 28px #ef74652e}.route-shell__grid>.route-shell__card:nth-child(3n+3) .route-shell__card-icon{background:linear-gradient(135deg, var(--brand-navy), #475569);box-shadow:0 14px 28px #0f172a29}.route-shell__card-links a{color:var(--brand-teal-dark);overflow-wrap:anywhere;font-weight:800;text-decoration:none}.documents-page .page-title{margin-bottom:.4rem}.documents-context-panel{align-items:flex-start}.documents-context-panel .ui-kicker{margin-bottom:.55rem}.documents-readiness-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.documents-privacy-notice{box-shadow:var(--shadow-sm);border-color:#0f766e2e;align-items:flex-start;gap:.85rem;margin:0;display:flex}.documents-privacy-notice__icon{width:40px;height:40px}.vault-recovery-panel{flex-direction:column;gap:.75rem;margin:1rem 0 0;display:flex}.vault-recovery-panel__title{margin:0;font-size:1rem;font-weight:700}.vault-recovery-panel__copy,.vault-recovery-panel__status,.vault-recovery-panel__hint{color:var(--text-primary,#1e293b);margin:0;font-size:.82rem;line-height:1.45}.vault-recovery-panel__form{flex-direction:column;gap:.75rem;display:flex}.vault-recovery-panel__actions{flex-wrap:wrap;gap:.75rem;display:flex}.vault-recovery-panel__actions .btn{min-height:44px}.documents-empty-card{padding:1.5rem}.documents-sections{flex-direction:column;gap:1.25rem;display:flex}.documents-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:1.2rem}.documents-section__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.documents-section__header h2{color:var(--brand-navy);margin:0;font-size:1rem;font-weight:900}.documents-list{flex-direction:column;gap:.65rem;display:flex}.documents-list-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.85rem;display:flex}.documents-list-item__main{align-items:center;gap:.85rem;min-width:0;display:flex}.documents-list-item__icon{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--brand-teal-dark);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.documents-list-item__copy{min-width:0}.documents-list-item__copy strong,.documents-list-item__meta,.documents-list-item__notes{overflow-wrap:anywhere}.documents-list-item__copy strong{color:var(--brand-navy);display:block}.documents-list-item__meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.875rem;display:flex}.documents-list-item__badges{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.45rem;display:flex}.documents-status-pill{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:24px;color:var(--text-secondary);align-items:center;padding:.2rem .5rem;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.documents-status-pill--file{background:var(--brand-teal-light);color:var(--brand-teal-dark);border-color:#0f766e3d}.documents-status-pill--available{color:var(--brand-navy);background:#f8fafc;border-color:#1f293729}.documents-status-pill--offline{color:#166534;background:#f0fdf4;border-color:#16a34a3d}.documents-status-pill--muted{background:var(--background)}.documents-list-item__notes{color:var(--text-secondary);margin-top:.15rem;font-size:.875rem}.documents-list-item__cache-note{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:.45rem;font-size:.78rem;font-weight:700}.documents-list-item__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.documents-icon-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:36px;min-width:36px;height:36px;color:var(--brand-teal-dark);cursor:pointer;justify-content:center;align-items:center;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.documents-icon-button:hover{border-color:var(--brand-teal);background:var(--brand-teal-light)}.documents-icon-button:disabled{cursor:wait;opacity:.55}.documents-icon-button--danger{color:var(--danger)}.documents-icon-button--danger:hover{background:#fef2f2;border-color:#ef444459}.documents-upload-target{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:0 0;padding:1.5rem;transition:background-color .2s,border-color .2s}.documents-upload-target--selected{border-color:var(--brand-teal);background:var(--brand-teal-light)}.documents-upload-target__selected{justify-content:center;align-items:center;gap:.75rem;min-width:0;display:flex}.file-preview{z-index:1000;background:#0f172ad1;flex-direction:column;display:flex;position:fixed;inset:0}.file-preview__header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.file-preview__title,.file-preview__actions{align-items:center;gap:.65rem;min-width:0;display:flex}.file-preview__title{color:var(--brand-navy);font-weight:800}.file-preview__title span:last-child{overflow-wrap:anywhere}.file-preview__title-icon{width:36px;height:36px;box-shadow:0 10px 22px #0f766e1f}.file-preview__title-icon svg{width:18px;height:18px}.file-preview__body{background:var(--background);flex:1;overflow:auto}.file-preview__state{min-height:min(60vh,520px);color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.file-preview__state--danger{color:var(--danger)}.file-preview__pdf{flex-direction:column;min-height:calc(100dvh - 72px);display:flex}.file-preview__iframe{background:#fff;border:none;flex:auto;width:100%;height:calc(100dvh - 132px);min-height:70vh;display:block}.file-preview__pdf-fallback{border-top:1px solid var(--border);background:var(--surface);color:var(--text-secondary);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:700;display:flex}.file-preview__image-wrap{justify-content:center;align-items:center;height:100%;min-height:70vh;padding:1rem;display:flex;overflow:auto}.file-preview__image{object-fit:contain;border-radius:var(--radius);max-width:100%;max-height:100%}.document-link-picker{min-width:0}.document-link-picker.empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text-secondary);text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:1.5rem;display:flex}.document-link-picker.empty p{margin:0;font-size:.875rem}.document-link-picker.empty .help-text{font-size:.75rem}.document-link-picker__empty-icon{width:40px;height:40px}.document-link-picker__vault-link{min-height:36px;padding:.45rem .7rem;font-size:.8rem}.superuser-control-section{scroll-margin-top:5rem}.superuser-control-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.superuser-control-grid h3{margin:0 0 .75rem;font-size:1rem}.superuser-household-controls{scroll-margin-top:5rem}.profile-page{max-width:760px}.profile-page .page-title{margin-bottom:.35rem}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:1rem;padding:1.35rem;display:flex}.profile-card__title{color:var(--brand-navy);align-items:center;gap:.55rem;margin:0;font-size:1.08rem;font-weight:800;display:flex}.profile-card__title svg{color:var(--brand-teal);flex-shrink:0}.profile-card__copy{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.55}.profile-card--meta{box-shadow:var(--shadow-sm);text-align:center}.profile-card--meta p{color:var(--text-secondary);margin:0;font-size:.875rem}@media (width<=640px){.route-shell__header,.route-shell__panel{flex-direction:column;align-items:stretch}.route-shell__actions,.file-preview__actions{flex-direction:column}.route-shell__actions .btn,.route-shell__action-link,.route-shell__tile,.route-shell__tile-button{width:100%}.documents-section,.documents-empty-card{padding:1rem}.booking-list-item{flex-direction:column;align-items:stretch}.booking-list-item__main{align-items:flex-start}.booking-list-item__actions{justify-content:flex-end}.documents-section__header,.documents-list-item,.trip-command-nav__handoff,.file-preview__header{flex-direction:column;align-items:stretch}.documents-list-item__main{align-items:flex-start}.documents-list-item__actions{justify-content:flex-start;width:100%}.documents-upload-target__selected{flex-direction:column;align-items:flex-start}.trip-command-nav__handoff span{text-align:left}.file-preview__actions .btn,.file-preview__actions .documents-icon-button,.profile-page__header .btn{width:100%}.profile-card .app-cta-row{flex-direction:column;align-items:stretch}.profile-card .app-cta-row .btn,.superuser-control-grid>*{width:100%}.superuser-control-grid{grid-template-columns:1fr}}@media (width>=641px) and (width<=768px){.app:has(.route-shell):not(:has(.trip-command-page)) .emergency-btn{top:calc(10.25rem + env(safe-area-inset-top));width:48px;height:48px;position:absolute;bottom:auto;right:1rem}}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=768px){.grid-2,.grid-3{grid-template-columns:1fr}}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:500px;max-height:90vh;padding:1.5rem;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:800;display:inline-flex}.badge-primary{color:var(--brand-teal-dark);background-color:#0f766e1a}.badge-success{color:#15803d;background-color:#dcfce7}.badge-warning{background-color:var(--brand-coral-light);color:var(--brand-coral-dark)}.badge-danger{color:#b91c1c;background-color:#fee2e2}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem}.empty-state-icon{margin-bottom:1rem;font-size:3rem}.dashboard-page{gap:var(--space-section);flex-direction:column;display:flex}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dashboard-header__subtitle{color:var(--text-secondary);max-width:42rem;margin-top:.35rem;line-height:1.6}.dashboard-header__chat-link{background:var(--brand-teal-light,#eef7f6);color:var(--brand-teal-dark,#0b5b55);border:1px solid #0f766e40;border-radius:.65rem;flex-shrink:0;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s,transform .15s;display:inline-flex}.dashboard-header__chat-link:hover{background:#0f766e2e;transform:translateY(-1px)}.dashboard-header__chat-link:focus-visible{outline:2px solid var(--brand-teal,#0f766e);outline-offset:2px}.dashboard-capture{border-radius:var(--radius);background:linear-gradient(135deg, #0f766e1a, #2563eb0f), var(--surface);box-shadow:var(--shadow);border:1px solid #0f766e33;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.15rem;padding:1.35rem;display:grid}.dashboard-capture__icon{border-radius:var(--radius);background:linear-gradient(135deg, var(--brand-teal), #2563eb);color:#fff;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex;box-shadow:0 14px 28px #0f766e2e}.dashboard-capture__copy{min-width:0}.dashboard-capture__eyebrow{width:fit-content;color:var(--brand-teal);text-transform:uppercase;background:#0f766e1a;border-radius:999px;margin-bottom:.35rem;padding:.3rem .55rem;font-size:.78rem;font-weight:800;line-height:1.1;display:inline-flex}.dashboard-capture h2{color:var(--brand-navy);margin:0;font-size:1.35rem;line-height:1.2}.dashboard-capture p{color:var(--text-secondary);margin:.35rem 0 0}.dashboard-capture__meta{color:var(--brand-teal-dark);margin-top:.55rem;font-size:.85rem;font-weight:800}.dashboard-capture__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.dashboard-trip-card{flex-direction:column;gap:.45rem;min-width:0;display:flex}.dashboard-trip-card__label{color:var(--brand-teal-dark);text-transform:uppercase;background:#0f766e14;border:1px solid #0f766e33;border-radius:999px;align-self:flex-start;padding:.25rem .5rem;font-size:.75rem;font-weight:800;line-height:1.1;display:inline-flex}.dashboard-readiness{border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-sm);border:1px solid #0f172a1a;flex-direction:column;gap:.2rem;padding:.65rem .75rem;font-size:.82rem;line-height:1.35;display:flex}.dashboard-readiness span{color:var(--text-primary);font-weight:800}.dashboard-readiness small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.78rem;font-weight:700}.dashboard-readiness--warning{background:#fffbebd1;border-color:#d977063d}.dashboard-readiness--success{background:#f0fdfad1;border-color:#0f766e2e}.dashboard-empty{border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-sm);border:1px dashed #0f766e47;padding:1.25rem}.dashboard-empty h2{color:var(--text-primary);margin:0 0 .35rem;font-size:1.1rem}.dashboard-empty p{margin:0}.dashboard-past-trips{opacity:.82}.list{flex-direction:column;gap:.75rem;display:flex}.list-item{background-color:var(--surface);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:1rem;padding:1rem;display:flex}.booking-list-item{justify-content:space-between;min-width:0}.booking-list-item__main,.booking-list-item__heading,.booking-list-item__actions{align-items:center;display:flex}.booking-list-item__main{gap:1rem;min-width:0}.booking-list-item__heading{flex-wrap:wrap;gap:.5rem}.booking-list-item__meta{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.875rem}.booking-list-item__meta--small{margin-top:.25rem;font-size:.75rem}.booking-list-item__actions{flex-shrink:0;gap:.25rem}.tabs{border-bottom:1px solid var(--border);margin-bottom:1.5rem;display:flex}.tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.alert-info{color:#1d4ed8;background-color:#dbeafe}.alert-success{color:#15803d;background-color:#dcfce7}.alert-warning{color:#b45309;background-color:#fef3c7}.alert-danger{color:#b91c1c;background-color:#fee2e2}.cloud-request-disclosure{border-radius:var(--radius);color:#1e40af;background-color:#eff6ff;border:1px solid #bfdbfe;flex-direction:column;gap:.625rem;padding:.875rem;display:flex}.cloud-request-disclosure__header{align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.cloud-request-disclosure p{margin:0;font-size:.8125rem;line-height:1.45}.cloud-request-disclosure__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.email-parser-route-choice{border:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;margin:0 0 .75rem;padding:0;display:grid}.email-parser-route-choice legend{color:var(--text-primary);grid-column:1/-1;margin-bottom:.125rem;font-size:.875rem;font-weight:600}.email-parser-route-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.5rem;min-height:78px;padding:.625rem;transition:border-color .2s,background-color .2s;display:grid}.email-parser-route-option:hover,.email-parser-route-option.selected{border-color:var(--primary);background:var(--primary-light)}.email-parser-route-option input{margin-top:.125rem}.email-parser-route-option svg{color:var(--primary)}.email-parser-route-option span{flex-direction:column;gap:.125rem;min-width:0;display:flex}.email-parser-route-option strong{font-size:.8125rem;line-height:1.25}.email-parser-route-option small{color:var(--text-secondary);font-size:.75rem;line-height:1.3}.emergency-btn{background-color:var(--danger);color:#fff;cursor:pointer;width:60px;height:60px;box-shadow:var(--shadow-lg);z-index:50;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:fixed;bottom:2rem;right:2rem}.emergency-btn:hover{background-color:#dc2626}.app:has(.trip-command-page) .emergency-btn{top:calc(5.25rem + env(safe-area-inset-top));width:52px;height:52px;position:absolute;bottom:auto;right:1.25rem;box-shadow:0 12px 28px #ef44443d}.chat-container{flex-direction:column;height:calc(100vh - 200px);min-height:520px;padding:0;display:flex;overflow:hidden}.ai-assistant-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.ai-assistant-title{align-items:center;gap:.5rem;display:flex}.ai-assistant-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.ai-assistant-mode-badge{color:#fff;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.ai-assistant-active-trip{overflow-wrap:anywhere;white-space:normal;max-width:min(22rem,100%);line-height:1.25}.ai-assistant-saved-content{margin-bottom:1rem}.ai-assistant-saved-content__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.chat-message{border-radius:var(--radius);max-width:80%;padding:.75rem 1rem}.chat-message.user{background-color:var(--primary);color:#fff;align-self:flex-end}.chat-message.assistant{background-color:var(--background);align-self:flex-start}.chat-input-container{border-top:1px solid var(--border);gap:.5rem;padding:1rem;display:flex}.chat-input{flex:1}@media (width<=640px){.ai-assistant-header{flex-direction:column;align-items:stretch}.ai-assistant-toolbar{justify-content:flex-start}.chat-container{height:auto;min-height:560px}.chat-message{max-width:100%}.chat-input-container{flex-direction:column}.chat-input-container .btn{width:100%}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}.checkbox-group{flex-wrap:wrap;gap:.75rem;display:flex}.checkbox-label{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;transition:all .2s;display:flex}.checkbox-label:hover{border-color:var(--primary)}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary)}.checkbox-label input[type=checkbox]:checked+span{color:var(--primary);font-weight:500}.tag-group{flex-wrap:wrap;gap:.5rem;display:flex}.tag-chip{background-color:var(--background);border:1px solid var(--border);cursor:pointer;color:var(--text-primary);border-radius:9999px;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.813rem;transition:all .2s;display:inline-flex}.tag-chip:hover{border-color:var(--primary);background-color:var(--primary-light)}.tag-chip.selected{background-color:var(--primary);border-color:var(--primary);color:#fff}.fieldset{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.legend{color:var(--text-secondary);padding:0 .5rem;font-size:.875rem;font-weight:500}.traveler-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:1rem;display:flex}.traveler-info{flex-direction:column;gap:.25rem;display:flex}.traveler-name{color:var(--text-primary);font-weight:500}.traveler-meta{color:var(--text-secondary);font-size:.813rem}.traveler-actions{gap:.5rem;display:flex}.budget-input-group{align-items:flex-end;gap:.5rem;display:flex}.budget-input-group .input{flex:1}.budget-categories{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.budget-category-row{grid-template-columns:1fr 2fr auto;align-items:center;gap:.75rem;display:grid}.budget-category-label{font-size:.875rem;font-weight:500}.budget-slider{width:100%;height:.5rem;accent-color:var(--primary)}.budget-amount{color:var(--text-secondary);text-align:right;min-width:80px;font-size:.875rem}.budget-summary{background-color:var(--primary-light);border-radius:var(--radius);justify-content:space-between;margin-top:1rem;padding:1rem;display:flex}.budget-per-day{color:var(--text-secondary);font-size:.875rem}.budget-total{color:var(--primary);font-weight:600}.preference-section{margin-bottom:1.5rem}.preference-section-title{color:var(--text-primary);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.radio-group{gap:.5rem;display:flex}.radio-option{text-align:center;background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex:1;padding:.75rem;transition:all .2s}.radio-option:hover{border-color:var(--primary)}.radio-option.selected{background-color:var(--primary-light);border-color:var(--primary)}.radio-option input{display:none}.radio-option-label{font-size:.875rem;font-weight:500}.radio-option-desc{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.section-divider{border-top:1px solid var(--border);margin:1.5rem 0;padding-top:1.5rem}.section-title{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;font-weight:600}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.detail-value{color:var(--text-primary);font-size:.875rem}.travelers-list{flex-direction:column;gap:.75rem;display:flex}.traveler-detail-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem}.traveler-detail-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.traveler-avatar{border-radius:var(--radius);background:linear-gradient(135deg, var(--brand-teal), #2563eb);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex}.traveler-detail-name{font-weight:500}.traveler-detail-age{color:var(--text-secondary);font-size:.813rem}.traveler-tags{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.traveler-tag{background-color:var(--brand-teal-light);border-radius:var(--radius);color:var(--brand-teal-dark);padding:.25rem .5rem;font-size:.75rem;font-weight:700}.trip-command-page{flex-direction:column;gap:1.25rem;display:flex}.trip-back-button{border-radius:var(--radius);width:fit-content;min-height:40px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.45rem .65rem;font-weight:800;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.trip-back-button:hover,.trip-back-button:focus-visible{border-color:var(--border-strong);background:var(--surface);color:var(--brand-teal-dark)}.trip-command-header{margin-bottom:0}.trip-command-header__content{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.trip-command-header__copy{min-width:0}.trip-command-header__copy h1{color:var(--brand-navy);overflow-wrap:anywhere;margin:0 0 .75rem;font-size:clamp(1.65rem,2.3vw,2.2rem);font-weight:900;line-height:1.08}.trip-command-header__meta,.trip-command-header__meta div,.trip-command-header__badges,.trip-command-header__actions{align-items:center;display:flex}.trip-command-header__meta{color:var(--text-secondary);flex-wrap:wrap;gap:1rem;font-weight:700}.trip-command-header__meta div,.trip-command-header__badges,.trip-command-header__actions{gap:.5rem}.trip-command-header__meta div{min-width:0}.trip-command-header__meta span,.trip-command-header__notes{overflow-wrap:anywhere}.trip-command-header__badges{flex-wrap:wrap;margin-top:1rem}.trip-command-header__actions{flex-wrap:wrap;justify-content:flex-end;position:relative}.trip-command-header__actions .btn{white-space:normal}.trip-command-header__secondary{position:relative}.trip-command-header__more{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:2.75rem;color:var(--text-secondary);font:inherit;cursor:pointer;align-items:center;gap:.45rem;padding:.625rem .875rem;font-weight:800;list-style:none;display:inline-flex}.trip-command-header__more:hover,.trip-command-header__more:focus-visible,.trip-command-header__more[aria-expanded=true]{border-color:var(--brand-teal);background:var(--brand-teal-light);color:var(--brand-teal-dark)}.trip-command-header__more:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.trip-command-header__menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:10rem;box-shadow:var(--shadow-lg);margin-top:.45rem;padding:.4rem;display:grid;position:absolute;right:0}.trip-command-header__menu button{border-radius:calc(var(--radius) - 2px);min-height:2.35rem;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.5rem .65rem;font-weight:700;display:inline-flex}.trip-command-header__menu button:hover,.trip-command-header__menu button:focus-visible{background:var(--brand-teal-light);color:var(--brand-teal-dark)}.trip-command-header__notes{color:var(--text-secondary);margin-top:1rem}.trip-next-up,.trip-command-nav{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.trip-next-up{background:linear-gradient(135deg, #0f766e14, #ef74650d), var(--surface);border-color:#0f766e33;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:1rem;padding:1.25rem;display:grid}.trip-next-up__main{min-width:0}.trip-next-up__eyebrow,.trip-command-nav__eyebrow{width:fit-content;color:var(--brand-teal);text-transform:uppercase;background:#0f766e1a;border-radius:999px;margin-bottom:.45rem;padding:.3rem .55rem;font-size:.78rem;font-weight:800;line-height:1.1;display:inline-flex}.trip-next-up h2,.trip-command-nav h2{color:var(--brand-navy);overflow-wrap:anywhere;margin:0;font-size:1.25rem;line-height:1.25}.trip-next-up p,.trip-command-nav p{color:var(--text-secondary);overflow-wrap:anywhere;margin:.45rem 0 0}.trip-next-up__actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.trip-next-up__actions .btn{white-space:normal;min-width:0}.trip-next-up__status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.trip-next-up__status{border-radius:var(--radius);min-width:0;min-height:5.75rem;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:#ffffffc7;border:1px solid #0f172a1a;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.trip-next-up__status:hover{border-color:var(--brand-teal);background:var(--surface);color:var(--text-primary)}.trip-next-up__status--warning{background:#fffbebd1;border-color:#d977063d}.trip-next-up__status--success{background:#f0fdfad1;border-color:#0f766e2e}.trip-next-up__status-label{color:var(--brand-teal-dark);letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1}.trip-next-up__status--warning .trip-next-up__status-label{color:#92400e}.trip-next-up__status-title{color:var(--text-primary);overflow-wrap:anywhere;font-size:.88rem;font-weight:800;line-height:1.25}.trip-next-up__status-meta{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.78rem;font-weight:700}.trip-next-up__status:last-child:nth-child(odd){grid-column:1/-1}.trip-command-nav{padding:1rem}.trip-command-nav__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.trip-command-nav__header p{text-align:right;max-width:24rem;font-size:.88rem}.trip-command-groups{flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem;display:flex}.trip-command-group{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:2.4rem;color:var(--text-secondary);font:inherit;cursor:pointer;overflow-wrap:anywhere;padding:.55rem .85rem;font-size:.86rem;font-weight:800}.trip-command-group:hover,.trip-command-group.active{border-color:var(--brand-teal);background:var(--brand-teal-light);color:var(--brand-teal-dark)}.trip-tabs-wrapper--command{margin-bottom:0}.trip-tabs-wrapper--command .trip-tab{min-width:7rem}.trip-tabs-wrapper--command .trip-tab-label{overflow-wrap:anywhere;display:inline}.trip-command-nav__handoff{border-radius:var(--radius);background:var(--brand-teal-light);border:1px solid #0f766e29;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;padding:.8rem;display:flex}.trip-command-nav__handoff span{color:var(--text-secondary);text-align:right;font-size:.86rem;font-weight:700}.trip-tab-content{min-height:300px}.trip-tab-content>div,.trip-tab-content>section,.trip-tab-content .trip-detail-card{min-width:0}.trip-detail-card{margin-bottom:1.25rem}.trip-detail-card:last-child{margin-bottom:0}.trip-section-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.trip-section-header__title-block{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.trip-section-header__icon{width:40px;height:40px;box-shadow:0 10px 22px #0f766e26}.trip-section-header h2{color:var(--brand-navy);margin:0;font-size:1.18rem;font-weight:900;line-height:1.2}.trip-section-header .ui-kicker{margin-bottom:.45rem}.trip-section-header__description{color:var(--text-secondary);margin:.3rem 0 0;font-size:.9rem;line-height:1.5}.trip-section-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.trip-section-header__actions .btn{white-space:normal}.trip-bookings-panel{flex-direction:column;gap:1rem;display:flex}.trip-event-badge{text-transform:uppercase;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.7rem;font-weight:800;line-height:1.2;display:inline-flex}.trip-event-badge svg{width:.85rem;height:.85rem}.trip-event-badge--muted{background:var(--brand-teal-light);color:var(--brand-teal-dark)}.trip-event-badge--pin-manual{color:#1d4ed8;background:#dbeafe}.trip-event-badge--pin-auto{color:#166534;background:#dcfce7}.trip-event-action{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:36px;color:var(--text-secondary);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:800;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.trip-event-action:hover{border-color:var(--brand-teal);background:var(--brand-teal-light);color:var(--brand-teal-dark)}.trip-event-action--danger{color:var(--danger)}.trip-event-action--danger:hover{color:#b91c1c;background:#fee2e2;border-color:#ef444452}.trip-empty-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.trip-tabs-wrapper{margin-bottom:1.5rem;position:relative}.trip-tabs-wrapper.has-overflow{padding:0 2.75rem}.trip-tabs-fade{pointer-events:none;opacity:0;z-index:2;width:32px;transition:opacity .2s;position:absolute;top:0;bottom:0}.trip-tabs-fade.visible{opacity:1}.trip-tabs-fade-left{background:linear-gradient(to right, var(--background) 0%, transparent 100%);left:2.75rem}.trip-tabs-fade-right{background:linear-gradient(to left, var(--background) 0%, transparent 100%);right:2.75rem}.trip-tabs-scroll-button{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);width:2.25rem;height:2.25rem;color:var(--text-secondary);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;pointer-events:none;z-index:3;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s,opacity .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.trip-tabs-scroll-button.visible{opacity:1;pointer-events:auto}.trip-tabs-scroll-button-left{left:0}.trip-tabs-scroll-button-right{right:0}.trip-tabs-scroll-button:hover:not(:disabled){background-color:var(--background);border-color:var(--primary);color:var(--primary)}.trip-tabs-scroll-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.trip-tabs-scroll-button:disabled{cursor:default}.trip-tabs{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:.25rem;padding:.25rem;display:flex;overflow-x:auto}.trip-tabs::-webkit-scrollbar{display:none}.trip-tab{border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;font-size:.875rem;font-weight:800;transition:all .15s;display:flex;position:relative}.trip-tab:hover:not(:disabled){background-color:var(--brand-teal-light);color:var(--text-primary)}.trip-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.trip-tab.active{background-color:var(--brand-teal);color:#fff;box-shadow:0 8px 18px #0f766e3d}.trip-tab.disabled{opacity:.5;cursor:not-allowed}.trip-tab-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.trip-tab-label{display:none}.tab-badge{background-color:var(--primary-light);min-width:18px;height:18px;color:var(--primary);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:.688rem;font-weight:600;line-height:1;display:inline-flex}.trip-tab.active .tab-badge{color:#fff;background-color:#ffffff40}.trip-tab:not(.active):hover .tab-badge{background-color:var(--primary-light);color:var(--primary)}.discovery-tab{flex-direction:column;gap:1rem;display:flex}.discovery-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.discovery-header h2{margin-bottom:.375rem;font-size:1.25rem;font-weight:600}.discovery-header p{color:var(--text-secondary);max-width:680px;font-size:.875rem}.discovery-header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.discovery-empty-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.discovery-controls{max-width:280px}.discovery-controls .form-group{margin-bottom:0}.discovery-groups,.discovery-entry-list{flex-direction:column;gap:1rem;display:flex}.discovery-group{flex-direction:column;gap:.75rem;display:flex}.discovery-group h3{color:var(--text-primary);font-size:1rem;font-weight:600}.discovery-entry-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.discovery-entry-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.discovery-entry-title-row{align-items:center;gap:.5rem;min-width:0;display:flex}.discovery-entry-title-row svg{color:var(--text-secondary);flex-shrink:0}.discovery-entry-title-row h4{overflow-wrap:anywhere;font-size:1rem;font-weight:600}.discovery-entry-actions{flex-shrink:0;gap:.5rem;display:flex}.discovery-entry-category{width:fit-content;margin-bottom:.75rem;display:inline-flex}.discovery-entry-body{color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9375rem}.discovery-source-text{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:.875rem;padding-top:.875rem;font-size:.8125rem}.discovery-source-text summary{cursor:pointer;font-weight:600}.discovery-source-text p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.625rem}.discovery-entry-source{color:var(--text-secondary);overflow-wrap:anywhere;align-items:center;gap:.375rem;margin-top:.875rem;font-size:.8125rem;display:flex}.discovery-entry-source a{color:var(--primary);align-items:center;gap:.25rem;min-width:0;text-decoration:none;display:inline-flex}.discovery-entry-source a:hover{text-decoration:underline}.discovery-modal{max-width:720px}.discovery-organizer-modal{max-width:840px}.discovery-body-input{resize:vertical;min-height:180px;font-family:inherit;line-height:1.5}.discovery-organizer{flex-direction:column;gap:1rem;display:flex}.discovery-guardrail-copy,.discovery-draft-review p{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.discovery-organizer-status{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--background);flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem;display:flex}.discovery-organizer-status p{color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.discovery-draft-review{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:1rem;display:flex}.discovery-draft-review h3{font-size:1rem;font-weight:600}.discovery-draft-list{flex-direction:column;gap:1rem;display:flex}.discovery-draft-card{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--background);padding:1rem}.discovery-draft-card-header{justify-content:flex-start;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.discovery-draft-card-header h4{margin-right:auto;font-size:.9375rem;font-weight:600}.discovery-draft-warnings{border-left:3px solid #f59e0b;margin-bottom:.875rem;padding-left:.75rem}.discovery-draft-warnings p{color:var(--text-secondary);font-size:.8125rem;line-height:1.45}.discovery-draft-body-input{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.discovery-form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=640px){.discovery-header,.discovery-header-actions,.discovery-entry-header,.discovery-draft-card-header,.discovery-form-actions{flex-direction:column;align-items:stretch}.discovery-controls{max-width:none}.discovery-entry-actions{flex-wrap:wrap;justify-content:flex-end;align-self:stretch}.discovery-entry-actions .btn-primary{flex:100%}.discovery-tab,.discovery-group,.discovery-entry-card,.discovery-draft-card{min-width:0;max-width:100%}.discovery-controls,.discovery-controls .form-group,.discovery-controls .input{width:100%}.trip-command-header__content,.trip-command-nav__header,.trip-next-up{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.trip-command-header__actions,.trip-next-up__actions{justify-content:stretch}.trip-command-header__actions .btn,.trip-next-up__actions .btn{flex:100%}.trip-command-header__secondary,.trip-command-header__more{width:100%}.trip-command-header__more{justify-content:center}.trip-command-header__menu{width:100%;position:static}.trip-command-nav__header p{text-align:left;max-width:none}.trip-command-groups{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.trip-command-group{width:100%}.trip-next-up__status-grid{grid-template-columns:1fr}.trip-section-header,.trip-section-header__title-block{flex-direction:column;align-items:stretch}.trip-section-header__actions{justify-content:stretch}.trip-section-header__actions .btn,.trip-empty-actions .btn{flex:100%}.emergency-btn{top:calc(4.75rem + env(safe-area-inset-top));width:48px;height:48px;bottom:auto;right:1rem;box-shadow:0 12px 28px #ef444447}.emergency-btn svg{width:22px;height:22px}.app:has(.route-shell):not(:has(.trip-command-page)) .emergency-btn{top:auto;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom))}}@media (width>=640px){.trip-tab-label{display:inline}.trip-tab{padding:.75rem 1.25rem}.tab-badge{border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:.75rem}}@media (width>=1024px){.trip-tabs{gap:.375rem;padding:.375rem}.trip-tab{gap:.625rem;padding:.875rem 1.5rem}}.overview-stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;display:grid}.overview-stat{background-color:var(--brand-teal-light);border-radius:var(--radius);border:1px solid #0f766e1f;flex-direction:column;align-items:center;padding:1rem;display:flex}.overview-stat-value{color:var(--brand-teal-dark);font-size:1.5rem;font-weight:900;line-height:1}.overview-stat-label{color:var(--text-secondary);text-transform:uppercase;margin-top:.25rem;font-size:.75rem;font-weight:800}.wishlist-container{flex-direction:column;gap:1rem;display:flex}.wishlist-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.wishlist-filters{align-items:center;gap:.5rem;display:flex}.wishlist-section{margin-bottom:1.5rem}.wishlist-section-title{color:var(--text-primary);margin-bottom:.75rem;font-size:.875rem;font-weight:600}.wishlist-list{flex-direction:column;gap:.5rem;display:flex}.wishlist-item{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:flex-start;gap:.75rem;padding:1rem;display:flex;position:relative}.wishlist-item.moved{opacity:.6}.wishlist-item-icon{background-color:var(--primary-light);width:32px;height:32px;color:var(--primary);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;display:flex}.wishlist-item-content{flex:1;min-width:0}.wishlist-item-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.wishlist-item-name{color:var(--text-primary);overflow-wrap:anywhere;font-weight:500}.wishlist-item-priority{flex-shrink:0;gap:2px;display:flex}.wishlist-item-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.wishlist-item-notes{color:var(--text-secondary);overflow-wrap:anywhere;font-size:.813rem}.wishlist-item-link{color:var(--primary);align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;text-decoration:none;display:inline-flex}.wishlist-item-link:hover{text-decoration:underline}.wishlist-item-actions{flex-shrink:0;gap:.25rem;display:flex}.wishlist-item-moved-badge{background-color:var(--success);color:#fff;border-radius:var(--radius);text-transform:uppercase;padding:.25rem .5rem;font-size:.625rem;font-weight:600;position:absolute;top:.5rem;right:.5rem}.checklist-container{flex-direction:column;gap:1rem;display:flex}.checklist-progress{background-color:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1rem}.checklist-progress-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.checklist-progress-text{color:var(--text-secondary);font-size:.875rem}.checklist-progress-percent{color:var(--brand-teal-dark);font-size:.875rem;font-weight:800}.checklist-progress-bar{background-color:var(--brand-teal-light);border-radius:4px;height:8px;overflow:hidden}.checklist-progress-fill{background-color:var(--brand-teal);border-radius:4px;height:100%;transition:width .3s}.checklist-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.checklist-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.checklist-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.checklist-list{flex-direction:column;gap:.5rem;display:flex}.checklist-section{margin-bottom:1rem}.checklist-section-title{text-transform:uppercase;font-size:.813rem;font-weight:800}.checklist-item{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.checklist-item.completed{background-color:var(--brand-teal-light);box-shadow:none}.checklist-item.overdue{border-color:var(--danger)}.checklist-toggle{cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:0;display:inline-flex}.checklist-item-content{flex:1;min-width:0}.checklist-item-text{color:var(--text-primary);overflow-wrap:anywhere;font-size:.875rem}.checklist-item-text.completed-text{color:var(--text-secondary);text-decoration:line-through}.checklist-item-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.checklist-category-badge{background-color:var(--brand-teal-light);border-radius:var(--radius);color:var(--brand-teal-dark);align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:800;display:inline-flex}.checklist-due-date{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.checklist-due-date.overdue{color:var(--danger);font-weight:500}.checklist-template-badge{background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius);text-transform:uppercase;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.checklist-item-actions{flex-shrink:0;gap:.25rem;display:flex}.packing-list-container{flex-direction:column;gap:1rem;display:flex}.packing-progress{background-color:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:1rem}.packing-progress-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.packing-progress-text{color:var(--text-secondary);font-size:.875rem}.packing-progress-percent{color:var(--brand-teal-dark);font-size:.875rem;font-weight:800}.packing-progress-bar{background-color:var(--brand-teal-light);border-radius:4px;height:8px;overflow:hidden}.packing-progress-fill{background-color:var(--brand-teal);border-radius:4px;height:100%;transition:width .3s}.packing-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.packing-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.packing-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.packing-categories{flex-direction:column;gap:1.5rem;display:flex}.packing-category-section{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.packing-category-header{background-color:var(--brand-teal-light);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.packing-category-icon{background-color:var(--surface);width:24px;height:24px;color:var(--brand-teal-dark);border-radius:var(--radius);justify-content:center;align-items:center;display:flex}.packing-category-title{flex:1;font-size:.875rem;font-weight:800}.packing-category-count{color:var(--text-secondary);font-size:.75rem}.packing-category-items{padding:.5rem}.packing-item{border-radius:var(--radius);align-items:center;gap:.75rem;padding:.5rem;display:flex}.packing-item:hover{background-color:var(--brand-teal-light)}.packing-item.packed{opacity:.6}.packing-toggle{cursor:pointer;border-radius:var(--radius);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:0;display:inline-flex}.packing-item-content{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.packing-item-name{color:var(--text-primary);overflow-wrap:anywhere;font-size:.875rem}.packing-item-name.packed-text{color:var(--text-secondary);text-decoration:line-through}.packing-quantity{color:var(--text-secondary);margin-left:.35rem;font-size:.75rem;font-weight:500}.packing-item-meta{align-items:center;gap:.5rem;display:flex}.packing-ai-badge{color:#b45309;border-radius:var(--radius);background-color:#fef3c7;align-items:center;gap:.125rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;display:inline-flex}.packing-item-actions{opacity:0;flex-shrink:0;gap:.25rem;transition:opacity .2s;display:flex}.packing-item:hover .packing-item-actions,.packing-item:focus-within .packing-item-actions{opacity:1}.daily-itinerary-container{flex-direction:column;gap:1rem;display:flex}.day-navigation{justify-content:center;align-items:center;gap:.5rem;display:flex}.day-nav-btn{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;transition:all .2s;display:flex}.day-nav-btn:hover:not(:disabled){background-color:var(--background);color:var(--text-primary)}.day-nav-btn:disabled{opacity:.4;cursor:not-allowed}.day-selector{min-width:240px}.day-header{background-color:var(--surface);border-radius:var(--radius);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.day-info{flex-direction:column;gap:.25rem;display:flex}.day-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}.day-date{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.875rem;display:flex}.day-actions{gap:.5rem;display:flex}.day-notes-display{border-radius:var(--radius);color:#92400e;background-color:#fef3c7;padding:.75rem 1rem;font-size:.875rem}.day-bookings{background-color:var(--primary-light);border-radius:var(--radius);padding:.75rem 1rem}.day-bookings-title{color:var(--primary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.813rem;font-weight:600;display:flex}.day-bookings-list{flex-direction:column;gap:.25rem;display:flex}.day-booking-item{align-items:center;gap:.5rem;font-size:.813rem;display:flex}.day-booking-location{color:var(--text-secondary)}.day-booking-time{color:var(--text-secondary);font-variant-numeric:tabular-nums}.time-slots-container{flex-direction:column;gap:1rem;display:flex}.time-slot-section{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.time-slot-header{background-color:var(--background);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.time-slot-icon{background-color:var(--primary-light);width:24px;height:24px;color:var(--primary);border-radius:var(--radius);justify-content:center;align-items:center;display:flex}.time-slot-title{flex:1;font-size:.875rem;font-weight:600}.time-slot-add-btn{border:1px dashed var(--border);border-radius:var(--radius);cursor:pointer;width:24px;height:24px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex}.time-slot-add-btn:hover{border-color:var(--primary);color:var(--primary)}.time-slot-items{min-height:60px;padding:.5rem}.time-slot-empty{height:40px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:.813rem;font-style:italic;display:flex}.itinerary-item-card{background-color:var(--background);border-radius:var(--radius);align-items:flex-start;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:flex}.itinerary-item-card:last-child{margin-bottom:0}.itinerary-item-time{flex-direction:column;flex-shrink:0;align-items:flex-end;min-width:50px;display:flex}.itinerary-time-value{color:var(--primary);font-size:.813rem;font-weight:600}.itinerary-duration{color:var(--text-secondary);font-size:.625rem}.itinerary-item-icon{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:28px;height:28px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.itinerary-item-content{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.itinerary-item-title{color:var(--text-primary);font-size:.875rem;font-weight:500}.itinerary-item-description{color:var(--text-secondary);font-size:.813rem}.itinerary-item-location{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.itinerary-item-notes{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem;font-style:italic}.itinerary-item-actions{opacity:0;flex-shrink:0;gap:.25rem;transition:opacity .2s;display:flex}.itinerary-item-card:hover .itinerary-item-actions{opacity:1}.day-summary{text-align:center;background-color:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:.75rem}.day-summary-text{color:var(--text-secondary);font-size:.813rem}.btn-sm{padding:.375rem .5rem;font-size:.75rem}.health-score-container{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem}.health-score-header{margin-bottom:1.5rem}.health-score-main{align-items:center;gap:1.5rem;display:flex}.health-score-circle{border:4px solid;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.health-score-value{font-size:1.75rem;font-weight:700;line-height:1}.health-score-max{color:var(--text-secondary);font-size:.75rem}.health-score-info{flex:1}.health-score-title{margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.health-score-grade{color:#fff;border-radius:9999px;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:600;display:inline-block}.health-score-subtitle{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.875rem;display:flex}.health-score-breakdown{border-top:1px solid var(--border);margin-bottom:1.5rem;padding-top:1rem}.health-breakdown-title{margin-bottom:.75rem;font-size:.875rem;font-weight:600}.health-breakdown-grid{flex-direction:column;gap:.5rem;display:flex}.health-breakdown-item{align-items:center;gap:.75rem;display:flex}.health-breakdown-icon{width:24px;height:24px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.health-breakdown-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.health-breakdown-label{color:var(--text-secondary);font-size:.813rem}.health-breakdown-bar{background-color:var(--border);border-radius:3px;height:6px;overflow:hidden}.health-breakdown-fill{border-radius:3px;height:100%;transition:width .3s}.health-breakdown-score{color:var(--text-secondary);text-align:right;min-width:45px;font-size:.75rem;font-weight:600}.health-issues-section{border-top:1px solid var(--border);padding-top:1rem}.health-issues-title{margin-bottom:.75rem;font-size:.875rem;font-weight:600}.health-issues-list{flex-direction:column;gap:.75rem;display:flex}.health-issue-card{background-color:var(--background);border-radius:var(--radius);border-left:3px solid;gap:.75rem;padding:1rem;display:flex}.health-issue-card.health-issue-missing{border-left-color:var(--danger)}.health-issue-card.health-issue-warning{border-left-color:var(--warning)}.health-issue-card.health-issue-suggestion{border-left-color:var(--primary)}.health-issue-icon{color:var(--text-secondary);flex-shrink:0}.health-issue-content{flex:1;min-width:0}.health-issue-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.health-issue-header .badge{align-items:center;gap:.25rem;display:inline-flex}.health-issue-impact{color:var(--text-secondary);font-size:.75rem}.health-issue-title{margin-bottom:.25rem;font-size:.875rem;font-weight:500}.health-issue-description{color:var(--text-secondary);margin-bottom:.5rem;font-size:.813rem}.health-issue-actions{gap:.5rem;display:flex}.health-score-compact{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.75rem}.health-score-compact-header{align-items:center;gap:.75rem;display:flex}.health-score-circle-sm{border:3px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.health-score-value-sm{font-size:.875rem;font-weight:700}.health-score-compact-info{flex-direction:column;flex:1;display:flex}.health-score-compact-label{color:var(--text-secondary);font-size:.75rem}.health-score-compact-grade{font-size:.875rem;font-weight:600}.health-score-compact-content{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.health-issue-mini{align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.health-issue-mini-title{font-size:.813rem}.health-issues-more{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.conflict-detector-container{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem}.conflict-detector-empty{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.conflict-empty-icon{opacity:.5;margin-bottom:.5rem}.conflict-header{margin-bottom:1rem}.conflict-header-info{align-items:center;gap:.5rem;display:flex}.conflict-title{flex:1;font-size:1.125rem;font-weight:600}.conflict-count-badges{gap:.5rem;display:flex}.conflict-list{flex-direction:column;gap:.75rem;display:flex}.conflict-card{background-color:var(--background);border-radius:var(--radius);border-left:3px solid;padding:1rem}.conflict-card-header{gap:.75rem;display:flex}.conflict-card-icon{flex-shrink:0}.conflict-card-info{flex:1;min-width:0}.conflict-card-top{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.conflict-card-date{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.conflict-card-title{margin-bottom:.25rem;font-size:.875rem;font-weight:500}.conflict-card-description{color:var(--text-secondary);font-size:.813rem}.conflict-dismiss-btn{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius);background:0 0;border:none;padding:.25rem}.conflict-dismiss-btn:hover{background-color:var(--border);color:var(--text-primary)}.conflict-items{background-color:var(--surface);border-radius:var(--radius);margin-top:.75rem;padding:.5rem}.conflict-item{align-items:center;gap:.5rem;padding:.25rem 0;font-size:.813rem;display:flex}.conflict-item-time{color:var(--text-secondary);min-width:80px;font-weight:500}.conflict-item-name{color:var(--text-primary)}.conflict-suggestion{border-radius:var(--radius);background-color:#fef3c7;margin-top:.75rem;padding:.5rem .75rem;font-size:.813rem}.conflict-suggestion-label{color:#92400e;margin-right:.25rem;font-weight:600}.conflict-suggestion-text{color:#78350f}.conflict-detector-compact{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.75rem}.conflict-compact-header{align-items:center;gap:.5rem;display:flex}.conflict-compact-title{flex:1;font-size:.875rem;font-weight:500}.conflict-severity-badges{gap:.25rem;display:flex}.conflict-compact-content{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}.conflict-mini{align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.conflict-mini-info{flex-direction:column;display:flex}.conflict-mini-title{font-size:.813rem}.conflict-mini-date{color:var(--text-secondary);font-size:.75rem}.conflict-more{color:var(--text-secondary);margin-top:.25rem;font-size:.75rem}.alternative-itinerary-container{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem}.alternative-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.alternative-header-icon{color:var(--primary)}.alternative-header-text h3{font-size:1.125rem;font-weight:600}.alternative-header-text p{color:var(--text-secondary);font-size:.875rem}.alternative-error{color:#b91c1c;border-radius:var(--radius);background-color:#fee2e2;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.alternative-error button{color:inherit;cursor:pointer;background:0 0;border:none;margin-left:auto;text-decoration:underline}.alternative-options-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.alternative-option-card{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.alternative-option-card:hover:not(:disabled),.alternative-option-card.selected{border-color:var(--primary);background-color:var(--primary-light)}.alternative-option-card:disabled{opacity:.6;cursor:not-allowed}.alternative-option-icon{background-color:var(--surface);border-radius:var(--radius);width:40px;height:40px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.alternative-option-info{flex-direction:column;display:flex}.alternative-option-label{font-size:.875rem;font-weight:500}.alternative-option-description{color:var(--text-secondary);font-size:.75rem}.alternative-custom-section{background-color:var(--background);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.alternative-custom-label{margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.alternative-custom-input{border:1px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;margin-bottom:.75rem;padding:.75rem;font-size:.875rem}.alternative-custom-input:focus{border-color:var(--primary);outline:none}.alternative-tips{background-color:var(--primary-light);border-radius:var(--radius);padding:1rem}.alternative-tips h4{color:var(--primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.alternative-tips ul{margin:0;padding:0;list-style:none}.alternative-tips li{color:var(--text-secondary);padding:.25rem 0;font-size:.813rem}.alternative-compare-container{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem}.alternative-compare-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.alternative-back-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.alternative-back-btn:hover{color:var(--primary)}.alternative-compare-title{flex:1;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;display:flex}.alternative-compare-actions{gap:.5rem;display:flex}.alternative-compare-view{grid-template-columns:1fr auto 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.alternative-panel{background-color:var(--background);border-radius:var(--radius);overflow:hidden}.alternative-panel-header{background-color:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.alternative-panel-header h4{font-size:.875rem;font-weight:600}.alternative-panel-content{max-height:500px;padding:1rem;font-size:.875rem;line-height:1.6;overflow-y:auto}.alternative-panel-content h2,.alternative-panel-content h3{margin-top:1rem;margin-bottom:.5rem}.alternative-panel-content h2:first-child,.alternative-panel-content h3:first-child{margin-top:0}.alternative-panel-content ul{padding-left:1.25rem}.alternative-panel-divider{color:var(--text-secondary);align-items:center;display:flex}.alternative-apply-section{border-top:1px solid var(--border);text-align:center;padding-top:1rem}.alternative-apply-note{color:var(--text-secondary);margin-bottom:.75rem;font-size:.813rem}.weather-forecast-container{background-color:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem}.weather-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.weather-header-info{align-items:center;gap:.75rem;display:flex}.weather-header-info svg{color:var(--warning)}.weather-title{font-size:1.125rem;font-weight:600}.weather-updated{color:var(--text-secondary);font-size:.75rem}.weather-refresh-btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;display:flex}.weather-refresh-btn:hover:not(:disabled){background-color:var(--background);color:var(--primary)}.weather-error{color:#92400e;border-radius:var(--radius);background-color:#fef3c7;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.weather-alerts{border-radius:var(--radius);background-color:#fef3c7;margin-bottom:1.5rem;padding:1rem}.weather-alerts-title{color:#92400e;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:flex}.weather-alerts-list{flex-direction:column;gap:.5rem;display:flex}.weather-alert-item{border-radius:var(--radius);background-color:#fff;gap:.75rem;padding:.5rem;display:flex}.weather-alert-icon{color:var(--warning)}.weather-alert-content{flex:1}.weather-alert-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.weather-alert-date{font-size:.813rem;font-weight:500}.weather-alert-location{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.weather-alert-suggestion{color:var(--text-secondary);margin:0;font-size:.813rem}.weather-destination{margin-bottom:1.5rem}.weather-destination:last-child{margin-bottom:0}.weather-destination-header{margin-bottom:.75rem}.weather-destination-name{align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.weather-no-data{color:var(--text-secondary);font-size:.875rem;font-style:italic}.weather-days-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;display:grid}.weather-day-card{background-color:var(--background);border-radius:var(--radius);text-align:center;padding:.75rem}.weather-day-card.weather-day-alert{background-color:#fef3c7}.weather-day-date{color:var(--text-secondary);margin-bottom:.5rem;font-size:.75rem;font-weight:500}.weather-day-icon{color:var(--warning);justify-content:center;margin-bottom:.5rem;display:flex}.weather-day-temps{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.weather-temp-high{align-items:center;gap:.125rem;font-size:.875rem;font-weight:600;display:flex}.weather-temp-low{color:var(--text-secondary);font-size:.813rem}.weather-day-description{color:var(--text-secondary);margin-bottom:.25rem;font-size:.75rem}.weather-day-rain{color:var(--primary);justify-content:center;align-items:center;gap:.25rem;font-size:.75rem;display:flex}.weather-disclaimer{color:var(--text-secondary);text-align:center;margin-top:1rem;font-size:.75rem}.weather-compact{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.weather-compact.weather-loading,.weather-compact.weather-unavailable{color:var(--text-secondary)}.weather-compact-icon{color:var(--warning)}.weather-compact-info{flex-direction:column;display:flex}.weather-compact-temp{font-weight:500}.weather-compact-desc{color:var(--text-secondary);font-size:.75rem}.ai-intelligence-section{margin-bottom:1.5rem}.ai-intelligence-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}@media (width<=768px){.health-score-main{text-align:center;flex-direction:column}.health-score-info{text-align:center}.alternative-options-grid,.alternative-compare-view{grid-template-columns:1fr}.alternative-panel-divider{display:none}.weather-days-grid{grid-template-columns:repeat(3,1fr)}.ai-intelligence-grid{grid-template-columns:1fr}}.recommendation-list-container{flex-direction:column;gap:1rem;padding:.5rem 0;display:flex}.recommendation-summary{color:var(--text-secondary);background-color:var(--primary-light);border-radius:var(--radius);border-left:3px solid var(--primary);padding:.75rem;font-size:.875rem}.recommendation-bulk-actions{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.recommendation-select-all{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.813rem;transition:all .2s;display:flex}.recommendation-select-all:hover:not(:disabled){background-color:var(--background);color:var(--text-primary)}.recommendation-select-all:disabled{opacity:.5;cursor:not-allowed}.recommendation-select-all:focus-visible,.recommendation-action-btn:focus-visible,.itinerary-modal-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.recommendation-cards{flex-direction:column;gap:.75rem;display:flex}.recommendation-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:flex-start;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.recommendation-card:hover{box-shadow:var(--shadow)}.recommendation-card.selected{border-color:var(--primary);background-color:var(--primary-light)}.recommendation-card.added{opacity:.7}.recommendation-checkbox{align-items:flex-start;padding-top:.125rem;display:flex}.recommendation-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary)}.recommendation-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.recommendation-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.recommendation-content{flex:1;min-width:0}.recommendation-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.recommendation-name{color:var(--text-primary);margin:0;font-size:.938rem;font-weight:600}.recommendation-category-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.688rem;font-weight:500;display:inline-flex}.recommendation-description{color:var(--text-secondary);margin:0 0 .5rem;font-size:.813rem;line-height:1.4}.recommendation-meta{flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;display:flex}.recommendation-meta-item{color:var(--text-secondary);align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.recommendation-rating{align-items:center;gap:.25rem;display:inline-flex}.recommendation-rating span{font-weight:500}.recommendation-best-time{color:var(--primary);align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;display:inline-flex}.recommendation-tips{color:var(--warning);border-radius:var(--radius);background-color:#fef3c7;align-items:flex-start;gap:.375rem;padding:.5rem;font-size:.75rem;display:flex}.recommendation-tips svg{flex-shrink:0;margin-top:1px}.recommendation-actions{flex-direction:column;flex-shrink:0;gap:.375rem;display:flex}.recommendation-action-btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.recommendation-action-btn.wishlist{background-color:var(--primary-light);color:var(--primary)}.recommendation-action-btn.wishlist:hover{background-color:var(--primary);color:#fff}.recommendation-action-btn.itinerary{color:#15803d;background-color:#dcfce7}.recommendation-action-btn.itinerary:hover{color:#fff;background-color:#22c55e}.recommendation-added-badge{background-color:var(--success);color:#fff;border-radius:var(--radius);align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;display:flex}.recommendation-empty{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.itinerary-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.itinerary-modal{width:90%;max-width:400px}.itinerary-modal .modal-header{margin-bottom:0}.itinerary-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.itinerary-modal-header h4{margin:0;font-size:1.125rem;font-weight:600}.itinerary-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.itinerary-modal-close:hover{color:var(--text-primary)}.itinerary-modal-content{padding-top:1rem}.itinerary-modal-item-name{background-color:var(--primary-light);border-radius:var(--radius);margin-bottom:1rem;padding:.75rem;font-size:.875rem}.itinerary-modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=640px){.recommendation-bulk-actions{flex-direction:column;align-items:stretch}.recommendation-card{flex-direction:column}.recommendation-actions{flex-direction:row;width:100%}.recommendation-action-btn{flex:1;justify-content:center}.itinerary-modal-actions{flex-direction:column-reverse}.itinerary-modal-actions .btn{width:100%}}.email-parser-container{flex-direction:column;gap:1rem;display:flex}.email-parser-description{color:var(--text-secondary);margin:0 0 .5rem;font-size:.875rem}.email-parser-textarea{resize:vertical;min-height:200px;font-family:monospace;font-size:.813rem}.email-parser-hint{color:var(--text-secondary);background-color:var(--background);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.email-parser-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.email-parser-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.email-parser-loading p{margin-top:1rem;font-size:.875rem}.email-parser-results-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.email-parser-results-summary{flex-direction:column;gap:.375rem;display:flex}.email-parser-results-header h4{margin:0;font-size:1rem;font-weight:600}.email-parser-provider-result{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.813rem;display:inline-flex}.email-parser-provider-result strong{color:var(--text-primary);font-weight:600}.email-parser-bookings{flex-direction:column;gap:.75rem;max-height:400px;padding:.25rem;display:flex;overflow-y:auto}.email-parser-empty{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.parsed-booking-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:flex-start;gap:.75rem;padding:1rem;transition:all .2s;display:flex}.parsed-booking-card:hover{box-shadow:var(--shadow)}.parsed-booking-card.selected{border-color:var(--primary);background-color:var(--primary-light)}.parsed-booking-card.needs-review{border-color:var(--warning);box-shadow:0 0 0 1px #d9770629}.parsed-booking-card.editing{padding:1.25rem}.parsed-booking-checkbox{align-items:flex-start;padding-top:.125rem;display:flex}.parsed-booking-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary)}.parsed-booking-icon{background-color:var(--primary-light);width:40px;height:40px;color:var(--primary);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;display:flex}.parsed-booking-content{flex:1;min-width:0}.parsed-booking-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.parsed-booking-type{color:var(--primary);letter-spacing:.05em;font-size:.688rem;font-weight:600}.parsed-booking-provider{color:var(--text-primary);font-size:.938rem;font-weight:600}.parsed-booking-missing-value{color:var(--danger);font-weight:700}.parsed-booking-details{color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.813rem;display:flex}.parsed-booking-detail{gap:.25rem;display:flex}.parsed-booking-detail strong{color:var(--text-primary);font-weight:500}.parsed-booking-detail.notes{font-style:italic}.parsed-booking-confidence{border-radius:9999px;align-items:center;gap:.375rem;margin-top:.5rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.parsed-booking-review-inline{border-radius:var(--radius);color:#92400e;background-color:#fffbeb;border:1px solid #f59e0b;align-items:flex-start;gap:.375rem;margin-top:.5rem;padding:.5rem .625rem;font-size:.75rem;font-weight:600;display:flex}.parsed-booking-review-inline.resolved{color:#166534;background-color:#f0fdf4;border-color:#86efac}.parsed-booking-review-inline.original{color:#854d0e;background-color:#fffbeb;border-color:#fde68a}.parsed-booking-review-inline svg{flex-shrink:0;margin-top:.063rem}.parsed-booking-actions{flex-direction:column;flex-shrink:0;gap:.25rem;display:flex}.parsed-booking-action-btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex}.parsed-booking-action-btn:hover{background-color:var(--background);color:var(--text-primary)}.parsed-booking-action-btn.danger:hover{border-color:var(--danger);color:var(--danger);background-color:#fee2e2}.parsed-booking-edit-form{width:100%}.parsed-booking-review-alert{border-radius:var(--radius);color:#92400e;background-color:#fffbeb;border:1px solid #f59e0b;margin-bottom:1rem;padding:.875rem}.parsed-booking-review-alert-title{align-items:center;gap:.5rem;margin-bottom:.25rem;font-weight:700;display:flex}.parsed-booking-review-alert-copy{font-size:.875rem}.parsed-booking-review-section{margin-top:.65rem}.parsed-booking-review-section.resolved{color:#166534}.parsed-booking-review-section.original{color:#854d0e}.parsed-booking-review-section-title{text-transform:uppercase;font-size:.78rem;font-weight:800}.parsed-booking-review-list{margin:.25rem 0 0;padding-left:1.25rem;font-size:.875rem;font-weight:600}.parsed-booking-edit-form .form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.parsed-booking-edit-form .form-group{margin-bottom:.75rem}.parsed-booking-edit-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}@media (width<=640px){.parsed-booking-card{flex-direction:column}.parsed-booking-actions{flex-direction:row;justify-content:flex-end;width:100%}.parsed-booking-edit-form .form-row{grid-template-columns:1fr}}@media (width<=768px){.trip-tabs-wrapper.has-overflow{padding:0 2.375rem}.trip-tabs-fade-left{left:2.375rem}.trip-tabs-fade-right{right:2.375rem}.trip-tabs-scroll-button{width:2rem;height:2rem}.trip-tabs{padding:.125rem}.trip-tab{padding:.5rem .75rem;font-size:.75rem}.trip-tab .trip-tab-label{display:none}.trip-tabs-wrapper--command .trip-tab .trip-tab-label{display:inline}.trip-tabs-wrapper--command .trip-tab{min-width:7.25rem;padding:.55rem .75rem}.overview-stats{grid-template-columns:repeat(3,1fr)}.wishlist-header,.checklist-header,.packing-header,.day-header{flex-direction:column;align-items:stretch;gap:.75rem}.day-actions,.checklist-actions,.packing-actions{justify-content:stretch}.checklist-actions .btn,.packing-actions .btn{flex:100%}.wishlist-item,.checklist-item,.packing-item{flex-wrap:wrap}.wishlist-item-icon,.checklist-toggle,.packing-toggle{align-self:flex-start}.wishlist-item-content,.checklist-item-content,.packing-item-content{flex:calc(100% - 56px)}.wishlist-item-header,.packing-item-content{flex-wrap:wrap;align-items:flex-start}.wishlist-item-actions,.checklist-item-actions,.packing-item-actions{opacity:1;justify-content:flex-end;width:100%}.wishlist-item-moved-badge{text-align:center;width:100%;position:static}.day-navigation{flex-wrap:wrap}.day-selector{order:-1;min-width:100%}}img,video,iframe,embed,object{max-width:100%;height:auto}.file-preview .file-preview__iframe{height:calc(100dvh - 132px)}table{max-width:100%;display:block;overflow-x:auto}.card,.modal,.booking-card,.itinerary-item{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (display-mode:standalone){html{overscroll-behavior-y:none}body{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.header{padding-top:max(1rem, env(safe-area-inset-top))}.app{min-height:100dvh;min-height:-webkit-fill-available}}@media (width<=480px){.container{padding:0 .75rem}.nav-brand-text{display:none}.nav-brand{font-size:1rem}.page-title{font-size:1.5rem}.card{padding:1rem}.dashboard-capture{grid-template-columns:1fr;align-items:stretch}.dashboard-capture__actions{justify-content:stretch}.dashboard-capture__actions .btn{flex:100%}.btn{padding:.5rem 1rem;font-size:.813rem}}
