@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";
:root{--bg:#f8f6f2;--bg-strong:#f5f7fb;--ink:#1b2b40;--muted:#516076;--accent:#d59b32;--accent-strong:#c48828;--leaf:#9e6f1f;--sky:#f3f7ff;--card:#fff;--surface:#fbfaf7;--border:#1b2b401f;--shadow:0 24px 48px #101a2826;--radius:12px}*{box-sizing:border-box}body{color:var(--ink);background:radial-gradient(circle at top,var(--sky)0%,var(--bg)48%,#fbfaf7 100%);-webkit-font-smoothing:antialiased;min-height:100vh;text-rendering:optimizeLegibility;margin:0;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-weight:500;line-height:1.6}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:220px 1fr;gap:0;min-height:100vh;display:grid}.app-shell.login-splash{grid-template-columns:1fr}.auth-gate{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-gate-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);text-align:center;padding:28px}.auth-gate-loader{padding:36px 24px}.auth-loader{justify-content:center;align-items:center;gap:8px;height:32px;display:inline-flex}.auth-loader span{background:var(--accent);opacity:.4;border-radius:999px;width:10px;height:10px;animation:1.2s ease-in-out infinite auth-bounce}.auth-loader span:nth-child(2){animation-delay:.2s}.auth-loader span:nth-child(3){animation-delay:.4s}.auth-gate-card h2{margin:0 0 8px;font-size:22px}.auth-gate-card p{color:var(--muted);margin:0}.auth-gate-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.auth-gate-actions.icon-only{gap:10px;margin-top:16px}.icon-button{border:1px solid var(--border);cursor:pointer;background:#1b2b400f;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:transform .15s,border-color .15s;display:inline-flex}.icon-button svg{fill:none;width:18px;height:18px;stroke:var(--ink);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{border-color:#1b2b4059;transform:translateY(-1px)}.icon-button:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.auth-loader span{opacity:.7;animation:none}}@keyframes auth-bounce{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}.sidebar{color:var(--ink);border-right:1px solid var(--border);background:#fdfcf9f5;flex-direction:column;height:100vh;padding:24px 20px;display:flex;position:sticky;top:0;box-shadow:0 18px 36px #101a2814}.sidebar h1{text-indent:-9999px;white-space:nowrap;background:url(/logo.png) 0/contain no-repeat;width:160px;height:36px;margin:0 0 8px;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-size:20px;font-weight:700;overflow:hidden}.sidebar p{color:var(--muted);margin-bottom:24px;font-size:12px;line-height:1.5}.sidebar-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sidebar-content{flex-direction:column;flex:1;display:flex}.menu-toggle{border:1px solid var(--border);cursor:pointer;background:#1b2b400f;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:none;position:relative}.menu-toggle span{background:var(--ink);width:18px;height:2px;display:block;position:absolute;left:50%;transform:translate(-50%)}.menu-toggle span:first-child{top:12px}.menu-toggle span:nth-child(2){top:19px}.menu-toggle span:nth-child(3){top:26px}.toggle-row{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex;position:relative}.toggle-row input{opacity:0;width:0;height:0;position:absolute}.toggle-switch{background:#1b2b401f;border:1px solid #1b2b4033;border-radius:999px;width:44px;height:24px;transition:background .2s,border-color .2s,box-shadow .2s;position:relative;box-shadow:inset 0 0 0 1px #0000000a}.toggle-switch:after{content:"";background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 4px 8px -6px #0009}.toggle-row input:checked+.toggle-switch{background:linear-gradient(135deg,#e6b356,#d59a36);border-color:#1b2b4033;box-shadow:0 6px 12px -8px #d59b3299}.toggle-row input:checked+.toggle-switch:after{transform:translate(20px)}.toggle-row input:focus-visible+.toggle-switch{box-shadow:0 0 0 3px #d59b3240}.nav{flex-direction:column;gap:6px;display:flex}.nav-link{color:var(--muted);border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.nav-link.active,.nav-link:hover{color:var(--ink);background:#d59b321f;border-color:#d59b3233}.content{padding:30px clamp(22px,3.5vw,52px)}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.topbar-content{flex:1}.topbar h2{margin:0;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-size:24px;font-weight:700}.page-alert{margin-bottom:18px}.page-alert .notice.alert-banner{width:calc(100% + 2*clamp(22px,3.5vw,52px));margin-top:-30px;margin-left:calc(-1*clamp(22px,3.5vw,52px));margin-right:calc(-1*clamp(22px,3.5vw,52px))}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #1b2b4014;padding:18px 20px}.card.tight{padding:14px 16px}.card+.card{margin-top:16px}.grid{gap:14px;display:grid}.grid .span-two{grid-column:span 2}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.one{grid-template-columns:minmax(0,1fr)}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.info-item{background:var(--surface);border:1px solid #1b2b401f;border-radius:10px;padding:10px 12px}.info-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.info-value{color:var(--ink);margin-top:6px;font-size:15px;font-weight:600}.subscription-status{align-items:center;gap:8px;display:flex}.subscription-card{position:relative}.subscription-refresh{position:absolute;top:8px;right:14px}.subscription-refresh .icon-button{border-radius:999px;width:32px;height:32px;margin-top:0}.subscription-refresh .refresh-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.subscription-refresh .refresh-icon svg{width:18px;height:18px}.subscription-refresh .refresh-icon.spinning{animation:.9s linear infinite ai-spin}.stack{flex-direction:column;gap:12px;display:flex}.badge{color:var(--muted);background:#1b2b4014;border:1px solid #1b2b4029;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.new{color:var(--accent-strong);background:#d59b3229}.pill{color:var(--muted);background:#1b2b4014;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.button{color:#fff;cursor:pointer;background:linear-gradient(#e6b356 0%,#d59a36 100%);border:none;border-radius:10px;padding:10px 16px;font-size:16px;font-weight:600;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 12px 24px -18px #d59b3280}.button.secondary{color:var(--muted);box-shadow:none;background:#1b2b401f}.button.ghost{color:var(--muted);background:0 0;border:1px solid #1b2b4033}.button:disabled{opacity:.5;cursor:not-allowed}.button:not(:disabled):hover{background:linear-gradient(#d59a36 0%,#c48828 100%);transform:translateY(-1px);box-shadow:0 16px 28px -20px #d59b3299}.gsi-material-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-appearance:none;box-sizing:border-box;color:#1f1f1f;cursor:pointer;letter-spacing:.25px;text-align:center;vertical-align:middle;white-space:nowrap;background-color:#fff;background-image:none;border:1px solid #747775;border-radius:4px;outline:none;width:auto;min-width:min-content;max-width:400px;height:40px;padding:0 12px;font-family:Roboto,Arial,sans-serif;font-size:14px;transition:background-color .218s,border-color .218s,box-shadow .218s;position:relative;overflow:hidden}.gsi-material-button .gsi-material-button-icon{width:20px;min-width:20px;height:20px;margin-right:10px}.gsi-material-button .gsi-material-button-content-wrapper{flex-flow:row;justify-content:space-between;align-items:center;width:100%;height:100%;display:flex;position:relative}.gsi-material-button .gsi-material-button-contents{text-overflow:ellipsis;vertical-align:top;flex-grow:1;font-family:Roboto,Arial,sans-serif;font-weight:500;overflow:hidden}.gsi-material-button .gsi-material-button-state{opacity:0;transition:opacity .218s;position:absolute;inset:0}.gsi-material-button:disabled{cursor:default;background-color:#ffffff61;border-color:#1f1f1f1f}.gsi-material-button:disabled .gsi-material-button-contents,.gsi-material-button:disabled .gsi-material-button-icon{opacity:.38}.gsi-material-button:not(:disabled):active .gsi-material-button-state,.gsi-material-button:not(:disabled):focus .gsi-material-button-state{opacity:.12;background-color:#303030}.gsi-material-button:not(:disabled):hover{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-material-button:not(:disabled):hover .gsi-material-button-state{opacity:.08;background-color:#303030}.login-content{justify-content:center;align-items:center;padding:48px 24px;display:flex}.login-panel{flex-direction:column;gap:16px;width:min(560px,100%);display:flex}.login-card{padding:20px 22px}.login-card h2,.login-card h3{margin-top:0}.login-section+.login-section{border-top:1px solid #1b2b401f;margin-top:28px;padding-top:24px}.login-section:first-of-type+.login-section{border-top:none;margin-top:20px;padding-top:0}.login-form{flex-direction:column;gap:10px;display:flex}input,select,textarea{background:var(--surface);width:100%;color:var(--ink);border:1px solid #1b2b4033;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}input[type=range]{height:24px;accent-color:var(--leaf);background:0 0;border:none;padding:0}input[type=range]:focus{outline:none;box-shadow:0 0 0 3px #d59b322e}input:focus,select:focus,textarea:focus{border-color:#d59b3299;outline:none;box-shadow:0 0 0 3px #d59b322e}.autocomplete-panel{z-index:20;background:#fff;border:1px solid #1b2b402e;border-radius:12px;gap:4px;width:100%;margin-top:4px;padding:6px;display:grid;position:absolute;box-shadow:0 18px 36px -26px #1b2b4059}.autocomplete-item{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.autocomplete-item:hover{background:#d59b321f}.autocomplete-code{letter-spacing:.04em;font-weight:700}.autocomplete-label{color:var(--muted);font-size:12px}.destination-picker{gap:12px;display:grid}.destination-search{position:relative}.destination-toggle{flex-wrap:wrap;gap:8px;display:inline-flex}label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.section-title{margin:0 0 6px;font-size:16px;font-weight:700}.period-item{background:var(--card);box-shadow:var(--shadow);border:1px solid #1b2b4014;border-radius:12px;padding:14px 16px;position:relative}.period-item:before{content:"";background:linear-gradient(180deg,var(--accent)0%,var(--accent-strong)100%);opacity:.9;border-radius:12px 0 0 12px;width:6px;position:absolute;inset:0 auto 0 0}.period-item+.period-item{margin-top:14px}.period-row{grid-template-columns:minmax(140px,1.1fr) minmax(220px,1.6fr) minmax(220px,1fr) auto;align-items:start;gap:16px;display:grid}.stack.compact{gap:6px}.date-range{background:var(--surface);border:1px solid #1b2b4033;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:2px 6px;display:flex}.date-range:focus-within{border-color:#d59b3299;box-shadow:0 0 0 3px #d59b322e}.date-range input[type=date]{text-align:left;background:0 0;border:none;flex:1;width:100%;min-width:0;padding:8px 10px}.date-range input[type=date]:focus{outline:none}.date-range input[type=date]::-webkit-date-and-time-value{text-align:left}.date-range-sep{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.icon-button{color:var(--muted);cursor:pointer;background:#fff;border:1px solid #1b2b4033;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-top:18px;font-weight:700;display:inline-flex}.icon-button:hover{color:var(--accent-strong);background:#d59b3224;border-color:#d59b3266}.icon-button:disabled{opacity:.5;cursor:not-allowed;background:#fff;border-color:#1b2b4033}.minmax-row{flex-wrap:wrap;gap:10px;display:flex}.minmax-field{align-items:center;gap:8px;display:flex}.minmax-field input,.minmax-field select{width:90px}.minmax-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.period-header{border-bottom:1px solid #1b2b4024;padding:8px 4px 12px}.period-group+.period-group{margin-top:20px}.period-title{letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:600}.period-meta{color:var(--muted);font-size:13px}.table{border-collapse:collapse;width:100%;font-size:14px}.table.compact{font-size:12px}.table th,.table td{text-align:left;border-bottom:1px solid #1b2b401f;padding:10px 8px}.table.compact th,.table.compact td{padding:8px 6px}.table th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:12px}.table.compact th{font-size:11px}.date-meta{color:var(--ink);font-size:12px;line-height:1.4}.range-field{gap:6px;display:grid}.range-meta{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.range-meta .range-value{color:var(--ink);font-weight:600}.notice{color:var(--muted);background:#1b2b4014;border:1px dashed #1b2b4040;border-radius:12px;padding:16px;font-size:16px}.notice.alert-banner{color:var(--ink);background:0 0;border:none;border-radius:0;margin:0;padding:6px clamp(22px,3.5vw,52px);font-size:14px}.notice.success{color:#2b5e38;background:#2e7d3d1f;border:1px solid #2e7d3d59}.notice.alert-banner.success{color:#2b5e38;background:#2e7d3d1f;border:none}.notice.error{color:#8f1d2b;background:#bf20321f;border:1px solid #bf203259}.notice.alert-banner.error{color:#8f1d2b;background:#bf20321f;border:none}.text-link{color:var(--ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.text-link:hover{color:var(--ink)}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stats-compact{background:var(--surface);color:var(--ink);border:1px solid #1b2b401f;border-radius:999px;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 14px;font-size:13px;display:inline-flex}.stats-compact-item{align-items:baseline;gap:6px;display:inline-flex}.stats-compact-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.stats-compact-value{font-size:14px;font-weight:700}.stats-compact-plus{color:var(--muted);font-weight:600}.stat-card{background:var(--surface);border:1px solid #1b2b401f;border-radius:12px;padding:16px}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px}.stat-value{margin-top:6px;font-size:22px;font-weight:700}.filter-panel{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);border:1px solid #1b2b401f;overflow:hidden}.filter-panel+.filter-panel{margin-top:12px}.filter-summary{cursor:pointer;color:var(--ink);grid-template-columns:auto 1fr 22px;align-items:flex-start;gap:12px;padding:12px 16px;font-weight:600;list-style:none;display:grid}.filter-summary::-webkit-details-marker{display:none}.filter-title{white-space:nowrap;font-weight:700}.filter-summary-text{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:2px;font-size:12px;font-weight:500;display:flex}.filter-chevron{width:22px;height:22px;color:var(--muted);justify-content:center;place-self:flex-start end;align-items:center;margin-top:2px;transition:transform .2s,color .2s;display:inline-flex}.filter-chevron svg{width:18px;height:18px}.filter-panel[open] .filter-chevron{color:var(--ink);transform:rotate(180deg)}.filter-body{background:var(--card);border-top:1px solid #1b2b401f;padding:16px}.inline-controls{grid-template-columns:minmax(220px,2fr) auto auto;align-items:end;gap:16px;display:grid}.inline-check{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.accordion{background:var(--card);box-shadow:none;border:1px solid #1b2b401f;border-radius:12px;overflow:hidden}.accordion+.accordion{margin-top:12px}.accordion-summary{cursor:pointer;color:var(--ink);background:var(--surface);grid-template-columns:18px auto 1fr 22px;align-items:center;gap:12px;padding:12px 16px;font-weight:600;list-style:none;display:grid}.accordion-summary::-webkit-details-marker{display:none}.accordion-title{font-weight:700}.accordion-meta{color:var(--muted);justify-self:end;font-size:13px}.accordion-chevron{width:22px;height:22px;color:var(--muted);justify-content:center;align-items:center;transition:transform .2s,color .2s;display:inline-flex}.accordion-chevron svg{width:18px;height:18px}.accordion[open] .accordion-chevron{color:var(--ink);transform:rotate(180deg)}.accordion-body{background:#fff;border-top:1px solid #1b2b401f;padding:16px;position:relative}.accordion-refresh{z-index:2;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:12px;right:12px}.accordion-refresh .icon-button{border-radius:999px;width:32px;height:32px;margin-top:0}.accordion-refresh .refresh-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.accordion-refresh .refresh-icon svg{width:18px;height:18px}.accordion-refresh .refresh-icon.spinning{animation:.9s linear infinite ai-spin}.status-dot{background:#1b2b4059;border-radius:50%;width:10px;height:10px}.status-dot.active{background:var(--accent);box-shadow:0 0 10px #d59b3273}.date-chip-row,.chip-grid{flex-wrap:wrap;gap:8px;display:flex}.onboarding-progress{gap:12px;display:grid}.onboarding-progress-track{background:#1b2b401f;border-radius:999px;height:6px;overflow:hidden}.onboarding-progress-bar{background:linear-gradient(90deg,#e6b356,#d59a36);width:0;height:100%;transition:width .3s}.onboarding-steps{flex-wrap:wrap;gap:8px;display:flex}.onboarding-step{background:var(--surface);color:var(--muted);cursor:pointer;border:1px solid #1b2b402e;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.onboarding-step.complete{color:var(--accent-strong);background:#d59b321f;border-color:#d59b3266}.onboarding-step.active{color:#fff;background:linear-gradient(135deg,#e6b356,#d59a36);border-color:#d59b3299}.onboarding-step.locked{opacity:.5;cursor:not-allowed}.step-hide{display:none}.step-index{width:20px;height:20px;color:inherit;background:#1b2b401f;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.onboarding-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.ai-actions{justify-content:flex-start;align-items:center;gap:18px;margin-top:8px;display:flex}.ai-buttons{align-items:center;gap:12px;display:flex}.ai-status-inline{background:var(--surface);border:1px solid #1b2b401f;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.ai-status-main{align-items:center;gap:12px;min-width:0;display:flex}.ai-status-text{gap:4px;min-width:0;display:grid}.ai-status-title{color:var(--ink);font-size:14px;font-weight:600}.ai-status-detail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:520px;font-size:12px;overflow:hidden}.ai-status-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ai-progress{border:2px solid #1b2b4033;border-top-color:#1b2b4099;border-radius:999px;width:18px;height:18px}.ai-progress.active{animation:.9s linear infinite ai-spin}.ai-response-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-response-pill{color:var(--muted);background:#fdfcf9e6;border:1px solid #1b2b402e;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.ai-response-pill .ai-progress{border-width:2px;width:12px;height:12px}.ai-response-text{color:var(--ink);margin:0;font-size:14px;line-height:1.55}.page-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.page-title-row .icon-button{width:32px;height:32px;margin-top:0}.ai-recommendation-accordion .accordion-meta{white-space:nowrap}.ai-response-text+.ai-suggestion{margin-top:16px}.ai-response-text.draft{color:var(--muted)}.muted{color:var(--muted);font-size:13px}.welcome-note{font-size:16px}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.ai-suggestion-header h3{margin:0}.ai-leg{background:#fff;border:1px solid #1b2b401f;border-radius:12px;gap:8px;padding:12px;display:grid}.ai-leg-header{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;display:grid}.ai-leg-header strong{min-width:0}.ai-leg-header span{white-space:nowrap;text-align:right;justify-self:end}.ai-leg-meta{color:var(--muted);font-size:12px}.ai-route-list{gap:8px;display:grid}.ai-recommendation-placeholder .accordion-body{justify-content:center;align-items:center;min-height:120px;display:flex}.ai-suggestion+.ai-suggestion{margin-top:20px}.ai-route-item{background:var(--surface);border:1px solid #1b2b401f;border-radius:10px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;font-size:12px;display:grid}.route-primary{flex-direction:column;gap:2px;min-width:0;display:flex}.route-time-row,.route-flight-row{align-items:baseline;gap:8px;display:flex}.route-flight{color:var(--ink);font-weight:500}.route-time{color:var(--ink);font-weight:600}.route-stops{color:var(--muted)}.route-stops-mobile{display:none}.route-meta{text-align:center;flex-direction:column;place-self:center;align-items:center;gap:2px;width:100%;display:flex}.route-duration{order:1}.route-seats{color:var(--muted);order:0}.route-seats.success{color:#1f7a3a;font-weight:600}.route-seats.error{color:#b23b2b;font-weight:600}.route-actions{flex-direction:column;place-self:center end;align-items:flex-end;gap:4px;display:flex}.points-label{font-weight:600}.ai-warning{color:#7a5a12;background:#ffc10726;border:1px solid #ffc10759;border-radius:10px;padding:8px 10px;font-size:12px}@media (max-width:980px){.ai-actions,.ai-buttons{justify-content:flex-start}.ai-route-item{grid-template-columns:1fr;justify-items:start}.route-primary{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.route-time-row{flex-wrap:wrap}.route-stops-desktop{display:none}.route-stops-mobile{display:inline}.route-flight,.route-time{white-space:nowrap}.route-meta{text-align:left;flex-direction:row;justify-content:flex-start;justify-self:start;align-items:center;gap:6px}.route-duration{order:0}.route-seats{order:1}.route-actions{flex-direction:row;justify-content:flex-start;justify-self:start;align-items:center;gap:12px}}.chip-toggle{background:var(--surface);color:var(--muted);cursor:pointer;border:1px solid #1b2b4033;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600}.chip-toggle.active{background:var(--accent);color:#fff;border-color:#d59b3266}.chip-toggle.suggestion{color:#9e6f1f;background:#d59b321f;border-color:#d59b324d}.chip-toggle.ghost{color:var(--muted);background:0 0;border-style:dashed}.region-group{margin-top:14px}.region-group:first-child{margin-top:0}.region-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700}.region-details{background:var(--surface);border:1px solid #1b2b401f;border-radius:12px;padding:10px 12px}.region-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.region-summary-meta{align-items:center;gap:8px;display:inline-flex}.region-summary::-webkit-details-marker{display:none}.region-summary::marker{display:none}.region-details[open]{background:#fff}.region-details[open] .region-chevron{color:var(--ink);transform:rotate(180deg)}.region-details[open] .region-selected{display:none}.region-details .region-title{margin-bottom:0}.region-summary-text{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.region-selected{text-transform:none;letter-spacing:normal;color:var(--muted);font-size:12px;font-weight:500}.region-count{color:var(--muted);font-size:12px;font-weight:600}.region-details .chip-grid{margin-top:10px}.period-details{background:var(--surface);border:1px solid #1b2b401f;border-radius:12px;margin-top:12px;padding:10px 12px}.period-details:first-child{margin-top:0}.period-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.period-summary::-webkit-details-marker{display:none}.period-summary::marker{display:none}.period-summary-text{color:var(--muted);font-size:12px;font-weight:600}.period-summary-meta{align-items:center;gap:10px;display:inline-flex}.period-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px;font-weight:700;line-height:1}.period-remove:hover{color:var(--accent-strong)}.period-details[open]{background:#fff}.period-details[open] .period-chevron{color:var(--ink);transform:rotate(180deg)}.period-body{margin-top:12px}.date-chip{background:var(--surface);cursor:pointer;border:1px solid #1b2b402e;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.date-chip:hover{color:var(--accent-strong);border-color:#d59b3280}@media (max-width:980px){.app-shell{grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start}.sidebar{border-radius:0;align-self:start;height:auto;min-height:0;padding:12px 16px;position:relative}.sidebar-top{align-items:center}.menu-toggle{display:inline-flex}.sidebar-content{flex:none;margin-top:16px;display:none}.sidebar-content.open{display:flex}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}.inline-controls{grid-template-columns:1fr;align-items:stretch}.inline-check{justify-content:space-between}.period-row{grid-template-columns:1fr}.icon-button{justify-self:end;margin-top:0;position:absolute;top:12px;right:12px}.period-details .period-row{position:relative}.page-title-row .icon-button{justify-self:auto;position:static;top:auto;right:auto}.period-item{padding-right:52px}}@media (max-width:640px){.stats-row{grid-template-columns:1fr}}@keyframes ai-spin{to{transform:rotate(360deg)}}
