*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:system-ui,-apple-system,sans-serif;background:#0a0a0f;color:#e8e4dc;line-height:1.5}a{color:inherit;text-decoration:none}.app{min-height:100vh;contain:layout}.nav{position:sticky;top:0;background:#0a0a0f;border-bottom:1px solid rgba(212,175,55,.15);z-index:10}.nav-inner{max-width:1000px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between}.nav-brand{display:flex;align-items:center;gap:8px}.compass{color:#d4af37;font-size:1.25rem}.brand-text{font-size:1.25rem;color:#f5f0e6}.brand-year{font-size:.65rem;color:#d4af37;background:#d4af3726;padding:2px 6px;border-radius:3px}.nav-links{display:flex;gap:4px}.nav-links a{padding:6px 12px;font-size:.85rem;color:#9a9590;border-radius:4px}.nav-links a:hover{color:#e8e4dc}.nav-links a.active{color:#d4af37;background:#d4af371a}.main{max-width:1000px;margin:0 auto;padding:32px 16px}.dashboard{max-width:900px;margin:0 auto}.hero{text-align:center;padding:24px 0 40px}.hero-badge{display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#d4af37;background:#d4af371a;border:1px solid rgba(212,175,55,.2);padding:4px 12px;border-radius:12px;margin-bottom:12px}.hero h1{font-size:clamp(2rem,5vw,3rem);color:#f5f0e6;font-weight:400}.gold{color:#d4af37}.hero-sub{margin-top:8px;color:#9a9590}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:40px}.metric{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:8px;padding:16px;text-align:center}.metric.accent{border-color:#3b82f6;background:#3b82f614}.metric-value{font-size:1.75rem;color:#d4af37;font-weight:500}.metric.accent .metric-value{color:#3b82f6}.metric-label{font-size:.8rem;color:#e8e4dc;margin-top:4px}.metric-sub{font-size:.7rem;color:#5a5550;margin-top:2px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{font-size:1.25rem;color:#f5f0e6;font-weight:500}.trips{display:flex;flex-direction:column;gap:8px}.trip{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-left:3px solid;border-radius:6px}.trip-flag{font-size:1.5rem}.trip-info{flex:1}.trip-dest{font-weight:500;color:#f5f0e6}.trip-dates{font-size:.8rem;color:#9a9590}.trip-days{font-size:1.1rem;color:#d4af37}.page{max-width:900px;margin:0 auto}.page-header{margin-bottom:24px}.page-header h1{font-size:1.75rem;color:#f5f0e6;font-weight:400;display:flex;align-items:center;gap:12px}.page-header .icon{color:#d4af37}.page-header p{margin-top:4px;color:#9a9590;font-size:.9rem}.section-description{color:#9a9590;font-size:.85rem;margin-bottom:16px}.settings-page .section-header h2{font-size:1.1rem;color:#f5f0e6;font-weight:500}.settings-section{margin-bottom:32px}.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.dest-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:10px;padding:16px}.dest-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dest-flag{font-size:2rem}.dest-title h3{font-size:1.2rem;color:#f5f0e6;font-weight:500}.dest-sub{font-size:.8rem;color:#9a9590}.dest-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0;border-top:1px solid rgba(212,175,55,.1)}.dest-stat{text-align:center}.stat-val{display:block;font-weight:600;color:#d4af37;font-size:.85rem}.stat-label{font-size:.65rem;color:#5a5550;text-transform:uppercase}.loyalty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.loyalty-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:10px;padding:16px}.loyalty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.loyalty-header h3{font-size:1.2rem;color:#f5f0e6}.loyalty-status{font-weight:600;font-size:.8rem}.loyalty-nights{font-size:1.1rem;color:#e8e4dc;margin-bottom:8px}.progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;border-radius:2px}.loyalty-footer{font-size:.75rem;color:#9a9590}.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.calc-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:10px;padding:24px;text-align:center}.calc-icon{font-size:2rem;color:#d4af37;display:block;margin-bottom:12px}.calc-card h3{font-size:1.2rem;color:#f5f0e6;margin-bottom:4px}.calc-card p{color:#9a9590;font-size:.85rem}.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cal-month{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:8px;padding:12px}.cal-name{font-size:1rem;font-weight:600;color:#d4af37;margin-bottom:4px}.cal-dest{font-size:.95rem;color:#f5f0e6}.cal-days{font-size:.75rem;color:#5a5550}.actions-list{display:flex;flex-direction:column;gap:8px}.action-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:6px}.action-row.urgent{border-left:3px solid #f59e0b}.action-check{font-size:1.1rem;color:#5a5550}.action-text{flex:1;color:#e8e4dc}.action-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;color:#f59e0b;background:#f59e0b26;padding:3px 8px;border-radius:3px}.insights-section{margin-bottom:36px}.insights-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.insight-panel h3{font-size:.95rem;color:#d4af37;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.insight-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.insight-title{font-size:1rem;color:#f5f0e6;font-weight:600}.insight-intent{font-size:.85rem;color:#9a9590}.insight-list{list-style:disc;padding-left:18px;color:#e8e4dc;font-size:.82rem;display:flex;flex-direction:column;gap:6px}.insight-meta{display:flex;flex-direction:column;gap:6px}.insight-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#5a5550}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:.7rem;color:#d4af37;border:1px solid rgba(212,175,55,.2);padding:2px 8px;border-radius:999px;background:#d4af3714}.insight-watchouts{border-top:1px solid rgba(212,175,55,.1);padding-top:8px}.insight-watchouts ul{list-style:disc;padding-left:18px;color:#f59e0b;font-size:.75rem;display:flex;flex-direction:column;gap:4px}.rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.rule-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px}.rule-title{font-weight:600;color:#f5f0e6}.rule-row{display:flex;gap:8px;font-size:.82rem;color:#e8e4dc}.rule-label{font-size:.7rem;text-transform:uppercase;color:#5a5550;min-width:40px}.rule-text{color:#e8e4dc}.rule-why{font-size:.8rem;color:#9a9590}.rule-meta{display:flex;flex-direction:column;gap:6px}.rule-confidence{font-size:.75rem;color:#d4af37}.table-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:10px;padding:12px;overflow:auto}.insight-table{width:100%;border-collapse:collapse;font-size:.82rem}.insight-table th,.insight-table td{padding:10px 8px;text-align:left;border-bottom:1px solid rgba(212,175,55,.1)}.insight-table th{color:#d4af37;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.insight-table td{color:#e8e4dc}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:#9a9590}.gotcha-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.gotcha-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px}.gotcha-program{font-size:.7rem;text-transform:uppercase;color:#d4af37;letter-spacing:.08em}.gotcha-issue{font-size:.85rem;color:#f5f0e6}.gotcha-impact{font-size:.75rem;color:#9a9590}.tooling-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.tool-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:8px;padding:14px}.tool-title{font-size:.9rem;color:#f5f0e6;font-weight:600;margin-bottom:4px}.tool-card p{font-size:.78rem;color:#9a9590}.tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.tip-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px}.tip-title{font-size:.9rem;color:#f5f0e6;font-weight:600}.tip-detail{font-size:.78rem;color:#9a9590}@media(max-width:768px){.nav-inner{flex-direction:column;height:auto;padding:12px;gap:8px}.nav-links{flex-wrap:wrap;justify-content:center}.metrics,.cal-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.metrics,.cal-grid{grid-template-columns:1fr}}.optimizer-results .page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:24px}.optimizer-results .header-main h1{display:flex;align-items:center;gap:8px}.optimizer-results .header-main p{color:#9a9590;font-size:.85rem;margin-top:4px}.optimizer-results .metrics-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#0e0e14;border-radius:8px;border:1px solid rgba(212,175,55,.15)}.optimizer-results .bar-item{display:flex;align-items:baseline;gap:4px}.optimizer-results .bar-value{font-size:1rem;font-weight:600;color:#d4af37}.optimizer-results .bar-label{font-size:.7rem;color:#9a9590}.optimizer-results .bar-sep{color:#d4af374d}.results-nav{display:flex;gap:6px;padding:12px 16px;background:#0b0b10;border:1px solid rgba(212,175,55,.2);border-radius:12px;margin-bottom:24px;flex-wrap:wrap;position:sticky;top:60px;z-index:50}.results-nav .nav-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid transparent;border-radius:8px;color:#9a9590;font-size:.8rem;cursor:pointer;transition:all .15s ease}.results-nav .nav-btn:hover{color:#e8e4dc;background:#d4af3714}.results-nav .nav-btn.active{color:#d4af37;background:#d4af3726;border-color:#d4af374d}.results-nav .nav-icon{font-size:1rem}.results-nav .nav-label{font-size:.8rem}.collapsible-section{margin-bottom:16px;border-radius:12px;overflow:hidden}.collapsible-section .section-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#0d0d13;border:1px solid rgba(212,175,55,.15);border-radius:12px;cursor:pointer;transition:all .15s ease}.collapsible-section.open .section-header{border-radius:12px 12px 0 0;border-bottom-color:transparent}.collapsible-section .section-header:hover{background:#d4af370f}.collapsible-section .section-title{display:flex;align-items:center;gap:10px}.collapsible-section .section-title h3{color:#f5f0e6;font-size:.95rem;font-weight:500;margin:0}.collapsible-section .section-icon{font-size:1.1rem}.collapsible-section .section-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;font-weight:500}.collapsible-section .section-badge.gold{background:#d4af3726;color:#d4af37}.collapsible-section .section-badge.success{background:#10b98126;color:#10b981}.collapsible-section .section-badge.warning{background:#f59e0b26;color:#f59e0b}.collapsible-section .toggle-icon{color:#d4af37;font-size:.75rem;transition:transform .2s ease}.collapsible-section .section-content{padding:20px;background:#0f0f16;border:1px solid rgba(212,175,55,.1);border-top:none;border-radius:0 0 12px 12px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.metric-card{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:10px;padding:14px;text-align:center}.metric-card.primary{border-color:#d4af374d;background:linear-gradient(135deg,#d4af371a,#0e0e14)}.metric-card.success{border-color:#10b98166;background:#10b98114}.metric-card .metric-label{display:block;font-size:.7rem;color:#9a9590;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.metric-card .metric-value{display:block;font-size:1.4rem;font-weight:600;color:#d4af37}.metric-card.success .metric-value{color:#10b981}.metric-card .metric-sub{display:block;font-size:.7rem;color:#6b6560;margin-top:2px}.timeline{display:flex;flex-direction:column;gap:8px}.timeline-segment{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-left:3px solid #d4af37;border-radius:8px;transition:all .15s ease}.timeline-segment.hyatt{border-left-color:#c9a227}.timeline-segment.marriott{border-left-color:#8b5cf6}.timeline-segment.event{border-left-color:#6b7280;border-left-style:dashed;background:#0c0c12}.timeline-segment:hover{background:#d4af370a}.segment-order{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#d4af3726;border-radius:50%;font-size:.8rem;font-weight:600;color:#d4af37}.timeline-segment.event .segment-order{background:#6b728033;color:#9ca3af}.segment-content{flex:1;min-width:0}.segment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.segment-dest{font-weight:500;color:#f5f0e6}.segment-dest.event{color:#e8e4dc}.segment-dates{font-size:.8rem;color:#9a9590}.segment-details{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.8rem}.segment-hotel{color:#e8e4dc}.segment-nights{color:#d4af37;font-weight:500}.segment-cost,.segment-arrival{color:#9a9590}.segment-program{font-size:.7rem;padding:2px 8px;border-radius:4px;font-weight:500}.segment-program.hyatt{background:#c9a22726;color:#c9a227}.segment-program.marriott{background:#8b5cf626;color:#a78bfa}.segment-notes{margin-top:4px;font-size:.75rem;color:#9a9590}.segment-actions{display:flex;gap:6px}.segment-btn{background:transparent;border:none;font-size:1rem;cursor:pointer;padding:4px;opacity:.6;transition:opacity .15s}.segment-btn:hover{opacity:1}.loyalty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.loyalty-card{background:#0f0f16;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:16px}.loyalty-card.achieved{border-color:#10b98166;background:linear-gradient(135deg,#10b98114,#0f0f16)}.loyalty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.loyalty-header h4{font-size:1rem;color:#f5f0e6;font-weight:500}.loyalty-status{font-size:.7rem;padding:2px 8px;border-radius:10px;background:#8b5cf626;color:#a78bfa}.loyalty-status.achieved{background:#10b98126;color:#10b981}.loyalty-card .progress-bar{height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;margin-bottom:8px}.loyalty-card .progress-fill{height:100%;border-radius:4px;transition:width .4s ease}.loyalty-progress{font-size:.8rem;color:#9a9590;margin-bottom:12px}.loyalty-perks{display:flex;flex-wrap:wrap;gap:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.loyalty-perks .perk{font-size:.7rem;color:#10b981;background:#10b9811a;padding:3px 8px;border-radius:4px}.compliance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.compliance-item{background:#0f0f16;border:1px solid rgba(255,255,255,.05);border-radius:10px;padding:14px}.compliance-item.ok{border-left:3px solid #10b981}.compliance-item.warning{border-left:3px solid #f59e0b}.compliance-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.compliance-icon{font-size:1.3rem}.compliance-label{font-size:.85rem;color:#e8e4dc;flex:1}.compliance-status{font-size:1rem}.compliance-item .progress-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:8px}.compliance-item .progress-fill{height:100%;border-radius:3px;transition:width .4s ease}.compliance-item .progress-fill.ok{background:#10b981}.compliance-item .progress-fill.warning{background:#f59e0b}.compliance-detail{display:flex;justify-content:space-between;font-size:.75rem}.detail-current{color:#e8e4dc;font-weight:500}.detail-desc{color:#6b6560}.savings-content{background:linear-gradient(135deg,#10b9810a,#d4af370a)}.savings-header{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(212,175,55,.1)}.savings-total{display:flex;flex-direction:column;gap:4px}.savings-label{font-size:.75rem;color:#9a9590}.savings-value{font-size:1.6rem;font-weight:700;color:#10b981}.savings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.savings-item{background:#101017;border-radius:8px;padding:12px;border-left:3px solid #10b981;display:flex;flex-direction:column;gap:4px}.savings-item.estimated{border-left-color:#9a9590}.savings-item-label{font-size:.8rem;color:#e8e4dc}.savings-item-value{font-size:1rem;font-weight:600;color:#10b981}.savings-item.estimated .savings-item-value{color:#d4af37}.savings-item-desc{font-size:.7rem;color:#6b6560}.recommendations-list{display:flex;flex-direction:column;gap:8px}.recommendation{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:6px;font-size:.85rem}.recommendation.achieved{background:#10b9811a;color:#10b981;border-left:3px solid #10b981}.recommendation.tip{background:#f59e0b1a;color:#f59e0b;border-left:3px solid #f59e0b}.rec-icon{font-size:1.1rem}.rec-text{flex:1}.export-section{display:flex;gap:12px;padding:20px 0;margin-top:24px;border-top:1px solid rgba(212,175,55,.1)}.export-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#0e0e14;border:1px solid rgba(212,175,55,.2);border-radius:8px;color:#e8e4dc;font-size:.85rem;cursor:pointer;transition:all .15s ease}.export-btn:hover{background:#d4af371a;border-color:#d4af374d}.export-icon{font-size:1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#9a9590}.loading-spinner{width:32px;height:32px;border:3px solid rgba(212,175,55,.2);border-top-color:#d4af37;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.85rem;margin-top:16px}.empty-state{padding:40px 20px;text-align:center;color:#9a9590}.empty-state p{margin:0}.optimizer-controls{display:flex;gap:12px;align-items:center;margin-top:16px}.scenario-select{padding:10px 16px;background:#0d0d13;border:1px solid rgba(212,175,55,.2);border-radius:8px;color:#e8e4dc;font-size:.85rem;min-width:200px;cursor:pointer}.scenario-select:focus{outline:none;border-color:#d4af37}.scenario-select option{background:#0a0a0f;color:#e8e4dc}.optimize-btn{padding:10px 20px;background:linear-gradient(135deg,#d4af3726,#d4af3740);border:1px solid rgba(212,175,55,.4);border-radius:8px;color:#d4af37;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.optimize-btn:hover:not(:disabled){background:linear-gradient(135deg,#d4af3740,#d4af3759);border-color:#d4af37}.optimize-btn:disabled{opacity:.5;cursor:not-allowed}.segment-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;font-weight:600}.segment-badge.sua{background:#d4af3726;color:#d4af37}.segment-badge.free{background:#10b98126;color:#10b981}.segment-badge.locked{background:#ef444426;color:#ef4444}.metric-card.warning{border-color:#f59e0b;background:#f59e0b14}.metric-card.warning .metric-sub{color:#f59e0b}.compliance-item.warning .progress-fill.warning{background:#f59e0b}.recommendation.warning{background:#ef44441a;color:#ef4444;border-left:3px solid #ef4444}.export-btn:disabled{opacity:.4;cursor:not-allowed}.export-btn:disabled:hover{background:#0e0e14;border-color:#d4af3733}.optimizer-layout{display:grid;grid-template-columns:300px 1fr;gap:24px;margin-top:24px}.optimizer-sidebar{display:flex;flex-direction:column;gap:16px;align-self:start}.optimizer-main{min-width:0}.sidebar-panel{background:#0d0d13;border:1px solid rgba(212,175,55,.15);border-radius:12px;overflow:hidden}.sidebar-header{display:flex;align-items:center;gap:8px;padding:14px 16px;background:#d4af370d;border-bottom:1px solid rgba(212,175,55,.1);cursor:pointer}.sidebar-header h4{font-size:.85rem;color:#f5f0e6;font-weight:500;flex:1;margin:0}.sidebar-header .icon{color:#d4af37;font-size:1rem}.sidebar-toggle{color:#d4af37;font-size:.7rem;transition:transform .2s}.sidebar-panel.collapsed .sidebar-toggle{transform:rotate(-90deg)}.sidebar-content{padding:16px;display:flex;flex-direction:column;gap:14px}.sidebar-panel.collapsed .sidebar-content{display:none}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.7rem;color:#9a9590;text-transform:uppercase;letter-spacing:.05em}.input-group input,.input-group select{padding:8px 10px;background:#0e0e14;border:1px solid rgba(212,175,55,.15);border-radius:8px;color:#e8e4dc;font-size:.8rem}.input-group input:focus,.input-group select:focus{outline:none;border-color:#d4af37}.input-group select option{background:#0e0e14;color:#e8e4dc}.input-hint{font-size:.7rem;color:#6b6560}.input-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.inline-row{display:flex;gap:8px;align-items:center}.inline-row input{flex:1}.muted-text{font-size:.75rem;color:#6b6560;text-align:center;padding:6px}.toggle-row{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#e8e4dc}.toggle-row input{accent-color:#d4af37}.secondary-btn{padding:8px 12px;background:#d4af371f;border:1px solid rgba(212,175,55,.25);border-radius:8px;color:#d4af37;font-size:.75rem;cursor:pointer}.secondary-btn:hover{background:#d4af3733;border-color:#d4af37}.ghost-btn{padding:8px 10px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#9a9590;font-size:.75rem;cursor:pointer}.ghost-btn:hover{border-color:#fff3;color:#e8e4dc}.danger-btn{padding:8px 10px;background:#ef44441f;border:1px solid rgba(239,68,68,.4);border-radius:8px;color:#ef4444;font-size:.75rem;cursor:pointer}.danger-btn:hover{background:#ef444433}.homebase-fallback{display:flex;flex-direction:column;gap:10px;padding-top:6px;border-top:1px solid rgba(212,175,55,.1)}.homebase-list{display:flex;flex-direction:column;gap:10px}.homebase-item{background:#0e0e14;border:1px solid rgba(212,175,55,.1);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.homebase-item.active{border-color:#d4af3759}.homebase-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.homebase-toggle{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#e8e4dc}.homebase-type{font-size:.6rem;text-transform:uppercase;color:#d4af37;background:#d4af371f;padding:2px 6px;border-radius:6px}.homebase-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.7rem;color:#9a9590}.homebase-actions{display:flex;gap:6px}.homebase-editor{margin-top:6px;padding:10px;border:1px dashed rgba(212,175,55,.2);border-radius:8px;background:#0b0b12;display:flex;flex-direction:column;gap:10px}.panel-intro{font-size:.75rem;color:#9a9590;line-height:1.4}.auth-banner{margin-bottom:16px;padding:10px 14px;border-radius:8px;background:#d4af371f;border:1px solid rgba(212,175,55,.25);color:#d4af37;font-size:.8rem}.auth-banner a{text-decoration:underline}.auth-banner.success{background:#10b9811a;border-color:#10b98140;color:#10b981}.info-banner{margin-bottom:16px;padding:10px 14px;border-radius:8px;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);color:#93c5fd;font-size:.8rem}.presets-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset-btn{padding:12px 6px;background:#0e0e14;border:1px solid rgba(212,175,55,.15);border-radius:8px;color:#9a9590;font-size:.75rem;cursor:pointer;transition:all .15s;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:80px}.preset-btn:hover{background:#d4af3714;color:#e8e4dc}.preset-btn.active{background:#d4af3726;border-color:#d4af37;color:#d4af37}.preset-emoji{font-size:1.5rem;margin-bottom:6px}.preset-label{font-weight:600;font-size:.8rem;display:block}.preset-sub{font-size:.7rem;color:#6b6560;margin-top:4px;display:block}.budget-display{text-align:center;padding:12px;background:#0e0e14;border-radius:8px;border:1px solid rgba(212,175,55,.1)}.budget-value{font-size:1.5rem;font-weight:700;color:#d4af37}.budget-label{font-size:.7rem;color:#9a9590;margin-top:2px}.budget-slider{width:100%;margin-top:12px;-webkit-appearance:none;height:6px;background:#d4af3733;border-radius:3px;outline:none}.budget-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#d4af37;border-radius:50%;cursor:pointer}.priority-row{display:flex;flex-direction:column;gap:6px}.priority-header{display:flex;justify-content:space-between;align-items:center}.priority-label{font-size:.8rem;color:#e8e4dc}.priority-value{font-size:.75rem;color:#d4af37;font-weight:600}.priority-slider{width:100%;-webkit-appearance:none;height:4px;border-radius:2px;outline:none}.priority-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#d4af37;border-radius:50%;cursor:pointer}.priority-slider.budget{background:linear-gradient(to right,#10b98166,#d4af3766)}.priority-slider.weather{background:linear-gradient(to right,#6b728066,#3b82f666)}.priority-slider.loyalty{background:linear-gradient(to right,#6b728066,#8b5cf666)}.priority-slider.perks{background:linear-gradient(to right,#6b728066,#d4af3766)}.priority-slider.fatigue{background:linear-gradient(to right,#6b728066,#ef444466)}.goal-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#0e0e14;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.goal-row.active{border-color:#8b5cf64d;background:#8b5cf614}.goal-checkbox{width:18px;height:18px;accent-color:#a78bfa;cursor:pointer}.goal-info{flex:1}.goal-name{font-size:.8rem;color:#e8e4dc}.goal-desc{font-size:.65rem;color:#6b6560}.goal-badge{font-size:.65rem;padding:2px 8px;border-radius:10px}.goal-badge.hyatt{background:#c9a22726;color:#c9a227}.goal-badge.marriott{background:#8b5cf626;color:#a78bfa}.dest-list{display:flex;flex-direction:column;gap:6px}.dest-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0e0e14;border-radius:6px;font-size:.75rem}.dest-item.preferred{border-left:3px solid #10b981}.dest-item.excluded{border-left:3px solid #ef4444}.dest-flag{font-size:1rem}.dest-name{color:#e8e4dc;flex:1}.dest-remove{background:none;border:none;color:#ef4444;opacity:.6;cursor:pointer;font-size:1rem;padding:0;line-height:1}.dest-remove:hover{opacity:1}.dest-select{width:100%;padding:10px;background:#0e0e14;border:1px dashed rgba(212,175,55,.3);border-radius:8px;color:#d4af37;font-size:.75rem;cursor:pointer;margin-top:8px}.dest-select:hover{background:#d4af370d;border-color:#d4af37}.dest-select option{background:#0e0e14;color:#e8e4dc}.locks-list{display:flex;flex-direction:column;gap:6px}.lock-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0e0e14;border-radius:6px;border-left:3px solid #d4af37;font-size:.75rem}.lock-item .lock-dates{color:#e8e4dc;flex:1}.lock-item .lock-dest{color:#9a9590}.lock-remove{background:none;border:none;color:#ef4444;opacity:.6;cursor:pointer;font-size:1rem}.lock-remove:hover{opacity:1}.add-lock-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:transparent;border:1px dashed rgba(212,175,55,.3);border-radius:8px;color:#d4af37;font-size:.75rem;cursor:pointer}.add-lock-btn:hover{background:#d4af370d;border-color:#d4af37}.locked-indicator{padding:10px 14px;background:#d4af371a;border:1px solid rgba(212,175,55,.2);border-radius:8px;color:#d4af37;font-size:.8rem;text-align:center}.segment-btn.locked{color:#ef4444;opacity:1}.segment-btn.unlocked{color:#10b981;opacity:.85}.segment-btn.unlocked:hover{opacity:1}.sidebar-run-btn{width:100%;padding:14px;background:linear-gradient(135deg,#d4af3726,#d4af3740);border:1px solid rgba(212,175,55,.4);border-radius:10px;color:#d4af37;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.sidebar-run-btn:hover:not(:disabled){background:linear-gradient(135deg,#d4af3740,#d4af3759);border-color:#d4af37}.sidebar-run-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-run-btn .spinner{width:16px;height:16px;border:2px solid rgba(212,175,55,.3);border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}.cost-estimate{text-align:center;padding:10px;background:#10b98114;border-radius:8px;border:1px solid rgba(16,185,129,.2)}.cost-estimate-label{font-size:.65rem;color:#6b6560;text-transform:uppercase;letter-spacing:.05em}.cost-estimate-value{font-size:1.1rem;font-weight:600;color:#10b981;margin-top:2px}.cost-estimate.over-budget{background:#ef444414;border-color:#ef444433}.cost-estimate.over-budget .cost-estimate-value{color:#ef4444}@media(max-width:900px){.optimizer-layout{grid-template-columns:1fr}.optimizer-sidebar{flex-direction:row;flex-wrap:wrap;gap:12px}.sidebar-panel{flex:1;min-width:280px}}@media(max-width:768px){.results-nav{position:relative;top:0;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.results-nav .nav-label{display:none}.results-nav .nav-icon{font-size:1.25rem}.optimizer-results .page-header{flex-direction:column}.optimizer-results .metrics-bar{width:100%}.metrics-grid{grid-template-columns:repeat(2,1fr)}.timeline-segment{flex-wrap:wrap}.segment-actions{width:100%;justify-content:flex-end;padding-top:8px}.export-section{flex-direction:column}}.optimizer-results{--panel-bg:#111827;--panel-soft:#0f172a;--panel-border:rgba(148,163,184,.2);--panel-text:#e2e8f0;--panel-muted:#94a3b8;--accent:#f5c542}.optimizer-results .page-header h1{color:var(--panel-text)}.optimizer-results .header-main p{color:var(--panel-muted)}.optimizer-results .metrics-bar{background:var(--panel-bg);border-color:var(--panel-border);box-shadow:0 8px 20px #0003}.optimizer-results .bar-value{color:var(--accent)}.optimizer-results .results-nav{background:var(--panel-soft);border-color:var(--panel-border);box-shadow:0 8px 20px #0000002e}.optimizer-results .collapsible-section .section-header{background:var(--panel-soft);border-color:var(--panel-border)}.optimizer-results .collapsible-section .section-content,.optimizer-results .metric-card,.optimizer-results .timeline-segment{background:var(--panel-bg);border-color:var(--panel-border)}.optimizer-results .timeline-segment.event{background:#0f172ae6}.optimizer-results .segment-dest{color:var(--panel-text)}.optimizer-results .segment-dates{color:var(--panel-muted)}.optimizer-results .optimizer-sidebar .sidebar-panel{background:var(--panel-bg);border-color:var(--panel-border);box-shadow:0 8px 18px #00000029}.optimizer-results .sidebar-header{background:#0f172ad9}.optimizer-results .input-group input,.optimizer-results .input-group select{background:#0b1220;border-color:#94a3b840;color:var(--panel-text)}.optimizer-results .input-group label,.optimizer-results .input-hint,.optimizer-results .muted-text,.optimizer-results .panel-intro{color:var(--panel-muted)}.optimizer-results .secondary-btn{background:#f5c5421f;border-color:#f5c5424d;color:var(--accent)}.optimizer-results .secondary-btn:hover{background:#f5c54233;border-color:var(--accent)}.optimizer-results .optimize-btn,.optimizer-results .sidebar-run-btn{border-color:#f5c54273;color:var(--accent)}.optimizer-results .segment-order{background:#f5c5422e;color:var(--accent)}.optimizer-results .segment-btn.unlocked{color:#34d399}.optimizer-results .segment-btn.locked{color:#f87171}
