.composer-panel{margin:1.5rem 0 2rem;padding:clamp(1rem,3vw,2rem);border:1px solid #bad2d3;border-radius:20px;background:linear-gradient(145deg,#f6fbf6,#eaf4f3);color:#17364a}
.composer-intro h2{margin:.25rem 0;font-size:clamp(1.45rem,3vw,2.1rem)}
.composer-intro p{margin:.3rem 0 1.2rem;max-width:68ch}
.composer-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:end}
.composer-controls label{display:flex;flex-direction:column;gap:.4rem;font-weight:700;font-size:.88rem}
.composer-controls select,.composer-controls input{width:100%;min-height:2.7rem;border:1px solid #9ab8bc;border-radius:9px;background:white;color:#17364a;padding:.45rem}
.composer-controls input[type=range]{padding:.3rem;accent-color:#0b766d}
.composer-budget-note,.composer-status,.composer-summary{font-size:.9rem;line-height:1.5}
.composer-budget-note{margin:1rem 0 .4rem}.composer-status{margin:.3rem 0}.composer-summary{font-weight:700}
.composer-featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:.8rem}
.composer-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.composer-card{min-width:0;padding:1rem;border:1px solid #b8d0cf;border-radius:15px;background:white;box-shadow:0 5px 18px #123a4820}
.composer-card .eyebrow{display:block;margin-bottom:.5rem;color:#0b766d;font-weight:800;letter-spacing:.08em}
.composer-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}
.composer-card-head h3{margin:0;font-size:1.12rem}.composer-card-head strong{white-space:nowrap;font-size:1.1rem}
.composer-airfare-label{margin:.1rem 0 .8rem;font-size:.76rem;color:#4b626a}
.composer-timeline{position:relative;height:1.65rem;margin:.5rem 0 1rem;border-radius:99px;background:#dce9e7;overflow:hidden}
.composer-timeline-trip{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;border-radius:99px;background:#0b766d;color:white;font-size:.75rem;font-weight:800;min-width:1.4rem}
.composer-timeline-trip:nth-child(2){background:#d26136}
.composer-getaway{display:flex;flex-direction:column;gap:.15rem;padding:.65rem 0;border-top:1px solid #d8e5e4;font-size:.83rem}
.composer-getaway>div:first-child{display:flex;gap:.35rem;align-items:baseline;flex-wrap:wrap}
.composer-getaway strong{font-size:1rem}.composer-getaway .text-button{align-self:flex-start;padding:.2rem 0}
.composer-locked{padding:.1rem .35rem;border-radius:5px;background:#f7dcae;font-size:.7rem;text-transform:uppercase}
.composer-metrics{margin:.6rem 0 0;font-size:.78rem;line-height:1.5;color:#3e5962}
.composer-empty{padding:1rem;border:1px dashed #9ab8bc;border-radius:10px}
body.composer-view #worthALook,body.composer-view #fareCalendar,body.composer-view #resultsHeading,body.composer-view #rankingPanel,body.composer-view #discoveryStatus,body.composer-view #searchFeedback,body.composer-view .workspace,body.composer-view .disclosure{display:none!important}
body.composer-view #shortlistTray,body.composer-view #shortlistBack{display:none!important}
@media(max-width:950px){.composer-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-featured-grid{grid-template-columns:1fr}.composer-results{grid-template-columns:1fr}}
@media(max-width:600px){.composer-controls{grid-template-columns:1fr}.composer-card-head{flex-wrap:wrap}}
@media(max-width:600px){header{gap:10px}.brand .logo-horizontal{display:none}.brand .logo-icon{display:block}nav{min-width:0;flex:1;gap:8px;overflow-x:auto}.nav{flex:0 0 auto;white-space:nowrap;font-size:11px}#savedCount{padding:1px 4px;margin-left:2px}}
