@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#163d42;--teal:#00686e;--aqua:#09bfc0;--pale:#e5f5f3;--muted:#667d80;--line:#dce7e7;--paper:#f4f7f7;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px 'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--teal)}.hidden{display:none!important}.muted{color:var(--muted);line-height:1.6}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--teal)}.badge{display:inline-block;font-size:11px;letter-spacing:1px;color:#326d71;border:1px solid #c5dddd;padding:7px 10px;border-radius:6px;font-weight:700}.primary,.secondary{border:0;border-radius:9px;padding:14px 20px;font-weight:700;transition:background .2s,transform .2s}.primary{color:#fff;background:var(--teal)}.primary:hover{background:#004e54;transform:translateY(-1px)}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}.wide{width:100%}.text-button{border:0;background:none;color:var(--teal);padding:8px 0;font-weight:600}.login{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.login-photo{position:relative;background:url('assets/caribe.jpg') center/cover;min-height:100vh}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,53,62,.06),rgba(0,49,57,.9))}.photo-copy{position:absolute;bottom:8%;left:11%;right:8%;color:#fff}.photo-copy .light{color:#b0f3eb}.photo-copy h1{font-size:clamp(36px,4vw,64px);letter-spacing:-2px;line-height:1.12;margin:24px 0}.photo-copy p{color:#d1edeb;line-height:1.7;font-size:18px}.photo-location{font-size:11px;letter-spacing:2px;display:block;margin-top:50px}.login-panel{display:grid;place-items:center;background:#fff;padding:44px}.login-inner{max-width:390px;width:100%}.login-logo{display:block;width:122px;margin:0 0 36px}.login-inner h2{font-size:34px;letter-spacing:-1px;margin:23px 0 8px}.login-inner form{margin-top:30px}.login-inner label{margin-bottom:20px}.password-row{position:relative}.password-row input{padding-right:95px}.password-row button{position:absolute;right:14px;top:8px;font-size:14px}.demo-note{font-size:13px;line-height:1.6;color:var(--muted);margin:20px 0 34px}.login-footer{padding-top:24px;border-top:1px solid var(--line);font-size:13px;line-height:1.8}.login-footer span{color:var(--muted)}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cfdddd;background:#fff;color:var(--ink);padding:12px 13px;border-radius:8px;min-height:46px;line-height:1.4}input:focus,select:focus,textarea:focus{border-color:var(--aqua);outline:2px solid #b5edeb}textarea{resize:vertical}label small{font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}.app{display:flex;min-height:100vh}.sidebar{width:225px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:30px 20px;display:flex;flex-direction:column}.sidebar>a img{width:99px;margin:0 0 38px 21px}.workspace-label{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:700;padding:0 12px;margin-bottom:16px}.nav-button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;color:var(--muted);padding:14px 12px;text-align:left;border-radius:8px;font-size:14px;font-weight:600;margin-bottom:7px}.nav-button span{font-size:20px;width:20px;text-align:center}.nav-button.active{background:var(--pale);color:var(--teal)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.profile-line{display:flex;align-items:center;gap:10px}.profile-line strong,.profile-line small{display:block;font-size:13px;line-height:1.5}.profile-line small{font-size:12px;color:var(--muted)}.avatar{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#d9f0ed;color:var(--teal);font-size:13px;font-weight:800;flex-shrink:0}.avatar.small{width:35px;height:35px}.sidebar-bottom>.text-button{font-size:12px;margin-top:10px}.main{margin-left:225px;width:calc(100% - 225px)}.topbar{height:75px;display:flex;justify-content:space-between;align-items:center;padding:0 40px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.85);gap:15px;font-size:13px;color:var(--muted)}.top-slash{margin:0 14px;color:#bdcccc}.topbar strong{color:var(--ink);font-weight:500}.workspace{max-width:1390px;margin:auto;padding:38px 40px 60px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.page-heading h1{font-size:30px;letter-spacing:-1px;margin:10px 0}.page-heading p{font-size:14px;margin:0}.quote-id{font-size:11px;letter-spacing:1px;color:var(--muted);white-space:nowrap}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:26px;align-items:start}.form-stack{display:flex;flex-direction:column;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:26px}.section-heading{display:flex;gap:14px;margin-bottom:24px;align-items:center}.step-number{color:var(--teal);font-size:13px;font-weight:800;background:var(--pale);height:38px;width:38px;display:grid;place-items:center;border-radius:10px;flex-shrink:0}.section-heading h2{font-size:18px;margin:0 0 5px;letter-spacing:-.4px}.section-heading p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.span2{grid-column:1/-1}.optional{display:inline;font-weight:400;font-size:12px;color:var(--muted)}.photo-upload{padding:16px;border:1px dashed #a9cdcd;border-radius:8px;background:#fbfdfd}.photo-upload input{font-size:12px;border:0;padding:5px 0;min-height:35px;background:transparent}.photo-upload>span:last-child{font-size:12px;color:var(--muted);font-weight:400}#photo-preview img{max-height:160px;max-width:100%;border-radius:8px}.check-label{flex-direction:row;align-items:center;gap:9px;line-height:1.5}.check-label input{width:18px;height:18px;min-height:0;accent-color:var(--teal)}.flight-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.small-link{font-size:12px;font-weight:700;text-underline-offset:4px}.help{font-size:12px;color:var(--muted);line-height:1.6;margin:18px 0 0}#flight-fields{margin-top:24px}.error{font-size:14px;color:#ad3434;line-height:1.6}.error:empty{display:none}.summary{position:sticky;top:24px;border:1px solid #bfd9d8;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 28px #073e4410}.summary-top{padding:26px 24px;background:#def3ef;position:relative}.summary-top .eyebrow{font-size:10px}.summary-top h2{font-size:27px;letter-spacing:-1px;margin:15px 0 6px}.summary-top p{font-size:13px;color:#4a797a;margin:0}.summary-plane{position:absolute;right:25px;top:23px;font-size:25px;color:#53a7a4}.trip-chips{display:flex;gap:8px;margin-top:18px}.trip-chips span{background:#ffffff9c;padding:6px 8px;border-radius:5px;color:var(--teal);font-size:11px;font-weight:600}.summary-body{padding:25px 22px}.cost-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;line-height:1.5;margin-bottom:17px}.cost-row span{color:var(--muted)}.cost-row strong{white-space:nowrap}.total-block{margin-top:22px;border-top:1px solid var(--line);padding-top:22px}.total-block>span{font-size:12px;color:var(--muted)}.total-block strong{display:block;font:800 31px Manrope,sans-serif;letter-spacing:-1px;color:var(--teal);margin:7px 0}.total-block small{font-size:12px;color:var(--muted)}.summary-note{font-size:12px;line-height:1.7;background:#f5f8f8;padding:12px;border-radius:7px;color:var(--muted);margin:22px 0}.prepared-by{display:flex;gap:10px;align-items:center;margin:22px 0}.prepared-by small,.prepared-by strong{display:block;font-size:12px;line-height:1.6}.prepared-by small{color:var(--muted)}.generate{margin-top:5px}.team-note{border-left:3px solid var(--aqua);padding:14px 18px;background:var(--pale);font-size:14px;margin-bottom:25px}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-bottom:26px}.team-card .avatar{width:54px;height:54px;margin-bottom:20px;font-size:18px}.team-card h2{font-size:19px;margin:0 0 8px}.team-card p{font-size:14px;color:var(--muted)}.team-card small{font-size:12px;color:var(--teal)}.team-add{max-width:730px}.team-add>h2{font-size:19px}.team-add .primary{margin-top:20px}.proposal-wrap{max-width:1060px;margin:auto;padding:28px 35px 65px}.proposal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.proposal-toolbar span{font-size:12px;color:var(--muted)}.proposal-toolbar button{font-size:13px}.proposal{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 10px 40px #184b4510}.proposal-brand{padding:25px 38px;display:flex;justify-content:space-between;align-items:center}.proposal-brand img{width:95px}.proposal-brand>div{text-align:right;font-size:12px;line-height:1.9;color:var(--muted)}.proposal-hero{padding:35px 40px;background:var(--teal);color:#fff}.proposal-hero .eyebrow{color:#92e5df;font-size:11px}.proposal-hero h1{font-size:47px;letter-spacing:-2px;margin:10px 0 12px}.proposal-hero p{font-size:15px;color:#d5eeea;margin:0;line-height:1.7}.proposal-content{padding:30px 38px}.client-strip{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:18px;padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:26px}.client-strip small,.client-strip strong{display:block;font-size:13px;line-height:1.8}.client-strip small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.quote-advisor{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f3f8f7;padding:16px 18px;border-radius:9px;margin-bottom:30px}.quote-advisor .prepared-by{margin:0}.quote-advisor a{font-size:12px;font-weight:700;text-decoration:none}.proposal-section{margin:26px 0}.proposal-section h2{font-size:22px;letter-spacing:-.6px;margin:9px 0 20px}.proposal-section h3{font-size:15px;margin:21px 0 8px}.hotel-photo{width:100%;height:260px;object-fit:cover;border-radius:10px;margin-bottom:18px}.hotel-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid var(--line);padding:20px;border-radius:10px}.hotel-facts small{display:block;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.hotel-facts strong{font-size:14px;font-weight:600}.prose{font-size:14px;line-height:1.75;color:#587276;white-space:pre-line}.flight-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}.flight-card-title{background:#eef7f5;padding:14px 20px;font-size:14px;font-weight:700}.flight-leg{padding:19px 20px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;align-items:center;border-top:1px solid var(--line);font-size:14px}.flight-leg>span:nth-child(2){text-align:center;color:var(--muted);font-size:12px}.flight-leg>span:last-child{text-align:right}.flight-leg strong{font-size:19px;display:block;margin-top:4px}.quote-prices{background:#e8f5f2;padding:24px;border-radius:11px;margin:28px 0}.quote-prices>h2{font-size:18px;margin-bottom:18px}.price-line{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:14px;padding:12px 0}.price-line.total{border-top:1px solid #b8dcd7;margin-top:8px;padding-top:20px}.price-line.total strong{font-size:29px;letter-spacing:-1px;color:var(--teal)}.price-foot{font-size:12px;color:var(--muted);text-align:right;line-height:1.8;margin:4px 0 0}.client-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0}.client-cta h3{margin:0 0 7px;font-size:21px}.client-cta p{margin:0;color:var(--muted);font-size:13px}.client-cta a{text-decoration:none;white-space:nowrap;font-size:14px}.conditions{border-top:1px solid var(--line);padding-top:24px}.conditions h3{font-size:14px}.conditions p{font-size:12px;line-height:1.8;color:var(--muted)}.proposal-footer{background:#f1f6f5;border-top:1px solid var(--line);padding:22px 38px;display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.9;color:var(--muted)}.proposal-footer a{text-decoration:none}.sample-mark{font-size:11px;color:#a16f31;margin-bottom:20px;letter-spacing:.4px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:14px 23px;border-radius:8px;z-index:5;font-size:14px;box-shadow:0 5px 20px #1233}
@media(min-width:1500px){.editor-grid{grid-template-columns:minmax(0,1fr) 350px}.workspace{padding-top:48px}.card{padding:30px}}
@media(max-width:1100px){.sidebar{width:185px;padding:25px 12px}.main{margin-left:185px;width:calc(100% - 185px)}.workspace{padding:30px 24px}.editor-grid{grid-template-columns:minmax(0,1fr) 275px;gap:18px}.card{padding:20px}.topbar{padding:0 24px}.page-heading h1{font-size:27px}.quote-id{display:none}.nav-button{font-size:13px}.proposal-wrap{padding:24px}.total-block strong{font-size:27px}}
@media(max-width:900px){.editor-grid{grid-template-columns:1fr}.summary{position:static;grid-row:1}.summary-top{padding:20px 23px}.summary-top h2{font-size:25px}.summary-body{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.summary-body .summary-note,.summary-body .prepared-by,.summary-body>.primary{display:none}.summary-body .cost-row{grid-column:1;margin-bottom:10px}.summary-body .total-block{grid-column:2;grid-row:1/4;border:0;border-left:1px solid var(--line);padding:0 0 0 20px;margin:0}.page-heading h1{font-size:25px}.topbar>.badge{font-size:9px}.topbar>span:first-child{font-size:12px}.top-slash{margin:0 8px}.proposal-hero h1{font-size:39px}.client-cta{flex-wrap:wrap}}
@media(max-width:650px){.login{grid-template-columns:1fr}.login-photo{min-height:230px}.photo-copy{bottom:25px;left:26px}.photo-copy h1{font-size:33px;margin:12px 0 0;letter-spacing:-1px}.photo-copy p,.photo-location{display:none}.photo-copy .eyebrow{font-size:10px}.login-panel{padding:30px 26px}.login-logo{width:90px;margin-bottom:22px}.login-inner h2{font-size:28px}.app{display:block}.sidebar{position:static;width:100%;height:auto;padding:13px 16px;display:grid;grid-template-columns:65px 1fr;gap:10px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>a img{width:56px;margin:0}.workspace-label{display:none}.sidebar nav{display:flex;align-items:center;justify-content:flex-end;gap:4px}.nav-button{width:auto;font-size:11px;padding:10px 8px;margin:0;gap:4px}.nav-button span{display:none}.sidebar-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:10px;margin:0}.sidebar-bottom>.text-button{margin:0}.profile-line .avatar{width:28px;height:28px;font-size:10px}.profile-line small{display:none}.main{margin:0;width:100%}.topbar{height:auto;min-height:51px;padding:12px 18px}.topbar>span:first-child{display:none}.workspace{padding:25px 16px 40px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:25px;line-height:1.3}.page-heading .eyebrow{font-size:10px}.page-heading p{font-size:13px}.summary-body{padding:20px 16px;gap:0 12px}.summary-body .cost-row{font-size:10px}.summary-body .total-block{padding-left:12px}.total-block strong{font-size:23px}.total-block small{font-size:10px}.card{padding:21px 17px}.fields{gap:18px 12px}label{font-size:12px}input,select,textarea{font-size:16px;padding:10px;min-width:0}label small{font-size:11px}.section-heading{gap:11px}.section-heading h2{font-size:17px}.section-heading p{font-size:12px}.proposal-wrap{padding:18px 10px 40px}.proposal-toolbar{flex-wrap:wrap}.proposal-toolbar>span{order:-1;width:100%;text-align:center}.proposal-toolbar button{font-size:12px;padding:12px}.proposal-brand{padding:20px}.proposal-brand img{width:74px}.proposal-brand>div{font-size:10px}.proposal-hero{padding:28px 22px}.proposal-hero h1{font-size:36px}.proposal-content{padding:22px}.client-strip{grid-template-columns:1fr 1fr}.client-strip>div:first-child{grid-column:1/-1}.quote-advisor{padding:13px;flex-wrap:wrap}.hotel-facts{padding:15px;gap:18px 10px}.hotel-facts strong{font-size:13px}.price-line{font-size:12px}.price-line.total strong{font-size:23px}.quote-prices{padding:18px}.proposal-footer{padding:20px;flex-direction:column}.flight-leg{padding:16px 12px;gap:6px;font-size:12px}.flight-leg strong{font-size:16px}.team-add .fields{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:12mm}body{background:#fff;font-size:12px}.login,.sidebar,.topbar,.proposal-toolbar,#editor-view,#team-view,.toast{display:none!important}.app,.main,#proposal-view{display:block!important;width:100%;margin:0;padding:0}.proposal{border:0;box-shadow:none;border-radius:0}.proposal-brand{padding:0 0 16px}.proposal-brand img{width:75px}.proposal-hero{padding:22px 25px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.proposal-hero h1{font-size:34px}.proposal-content{padding:22px 0}.proposal-section,.quote-prices,.flight-card,.client-strip,.quote-advisor,.conditions,.client-cta{break-inside:avoid}.proposal-section h2{font-size:20px}.quote-prices,.quote-advisor{print-color-adjust:exact;-webkit-print-color-adjust:exact}.hotel-photo{height:170px}.proposal-footer{padding:15px 0}.client-cta{display:none}.prose{font-size:12px}.proposal-section{margin:20px 0}.quote-prices{padding:18px}.sample-mark{font-size:10px}.proposal-footer{break-inside:avoid}}

.flight-path{display:inline-block;position:relative;width:80%;margin-top:7px;color:var(--teal)}.flight-path:before,.flight-path:after{content:"";position:absolute;top:50%;width:35%;border-top:1px solid #b5ceca}.flight-path:before{left:0}.flight-path:after{right:0}

/* Destination plans and the client-facing travel story */
.destination-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:28px 0}.destination-tab{text-align:left;border:1px solid #bcd8d6;background:#fff;color:var(--ink);padding:18px;border-radius:15px;min-height:94px;box-shadow:0 6px 20px #174b4210}.destination-tab strong,.destination-tab span{display:block}.destination-tab strong{font:800 16px Manrope,sans-serif;margin-bottom:8px}.destination-tab span{font-size:12px;color:var(--muted);line-height:1.4}.destination-tab.selected{background:#075f65;color:#fff;border-color:#075f65;box-shadow:0 12px 26px #075f6530}.destination-tab.selected span{color:#c9edeb}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan-card{background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 10px 24px #123c4210;display:flex;flex-direction:column}.plan-art{min-height:127px;background:linear-gradient(115deg,#0b626a,#129e9e 60%,#82d5ca);color:white;display:flex;align-items:flex-end;justify-content:space-between;padding:20px;font-weight:700;letter-spacing:.3px}.plan-index{font:800 40px Manrope,sans-serif;opacity:.4;line-height:1}.plan-detail{padding:20px;display:flex;flex-direction:column;flex:1}.plan-detail small{font-size:12px;color:var(--teal);font-weight:700}.plan-detail h2{font-size:19px;line-height:1.35;margin:10px 0;letter-spacing:-.4px}.plan-detail p{font-size:13px;line-height:1.6;color:var(--muted);margin-bottom:20px}.plan-detail button{margin-top:auto}.plans-note{color:var(--muted);font-size:13px;line-height:1.6;margin:20px 0}.photo-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-preview:empty{display:none}.photo-tile{position:relative;min-width:0}.photo-tile img{width:100%;height:115px;object-fit:cover;border-radius:9px}.photo-tile button{position:absolute;right:6px;top:6px;width:29px;height:29px;border:0;border-radius:50%;background:#fff;color:#204447;font-size:22px;line-height:1;box-shadow:0 2px 9px #0004}.proposal-hero{min-height:265px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(90deg,rgba(0,46,51,.86),rgba(0,84,90,.25)),url('assets/caribe.jpg') center 54%/cover;padding:42px}.proposal-hero h1{font-size:clamp(40px,6vw,70px);line-height:1.06;margin:14px 0}.proposal-hero p{max-width:570px}.proposal-content{padding-top:35px}.hotel-gallery{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:repeat(2,150px);gap:9px;margin-bottom:20px;border-radius:12px;overflow:hidden}.hotel-gallery img{width:100%;height:100%;object-fit:cover}.hotel-gallery img:first-child{grid-row:span 2}.hotel-gallery img:nth-child(n+4){height:150px}.hotel-gallery:has(img:nth-child(4)){grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,150px)}.hotel-gallery:has(img:nth-child(4)) img:first-child{grid-column:span 2}.hotel-gallery.single{display:block}.hotel-gallery.single img{height:300px}.quote-prices{background:linear-gradient(135deg,#ecf8f5,#d8f0ed);border:1px solid #cbe9e4}.client-cta{padding:23px;border-radius:12px;background:#f1f8f6}.proposal-section h2{color:#134b50}
@media(max-width:1100px){.destination-tabs{grid-template-columns:repeat(2,1fr)}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sidebar{grid-template-columns:55px 1fr}.sidebar nav{flex-wrap:wrap;justify-content:flex-end}.nav-button{font-size:10px;padding:8px 6px}.destination-tabs{gap:8px}.destination-tab{min-height:75px;padding:12px}.destination-tab strong{font-size:13px}.destination-tab span{font-size:10px}.plan-grid{grid-template-columns:1fr}.plan-art{min-height:96px}.photo-preview{grid-template-columns:repeat(2,1fr)}.proposal-hero{min-height:255px;padding:28px 23px}.proposal-hero h1{font-size:42px}.hotel-gallery,.hotel-gallery:has(img:nth-child(4)){grid-template-rows:repeat(2,105px)}.hotel-gallery img:nth-child(n+4){height:105px}}
@media print{.proposal-hero{min-height:160px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.proposal-hero h1{font-size:38px}.hotel-gallery,.hotel-gallery:has(img:nth-child(4)){grid-template-rows:repeat(2,90px);break-inside:avoid}.hotel-gallery img:nth-child(n+4){height:90px}.hotel-gallery.single img{height:180px}}
.plan-art{background-size:cover;background-position:center;min-height:155px}.plan-index{color:#fff;opacity:.85;text-shadow:0 2px 14px #062b35a8}.plan-art>span:last-child{text-shadow:0 2px 10px #062b35}.auto-line{display:flex;align-items:center;gap:7px;margin:3px 0 5px;color:var(--teal);font-size:12px;font-weight:700}.auto-line input{width:17px;height:17px;min-height:0;accent-color:var(--teal)}textarea[readonly]{background:#f5faf9;color:#244b4f}.photo-preview:not(:empty){margin-top:4px}
@media print{@page{size:A4;margin:9mm}body{font-size:11px}.proposal-brand{padding-bottom:9px}.proposal-hero{min-height:125px;padding:17px 22px}.proposal-hero h1{font-size:32px;margin:6px 0}.proposal-hero p{font-size:11px;line-height:1.4}.proposal-content{padding:13px 0}.sample-mark{margin-bottom:7px}.client-strip{padding-bottom:9px;margin-bottom:10px}.quote-advisor{padding:7px;margin-bottom:9px}.proposal-section{margin:9px 0}.proposal-section h2{font-size:16px;margin:3px 0 8px}.proposal-section h3{margin:8px 0 3px}.hotel-gallery,.hotel-gallery:has(img:nth-child(4)){grid-template-rows:repeat(2,92px);gap:4px;margin-bottom:8px}.hotel-gallery:has(img:nth-child(4)) img:first-child{grid-column:auto;grid-row:auto}.hotel-gallery img:nth-child(n+4){height:92px}.hotel-facts{padding:10px;gap:7px}.hotel-facts small{margin-bottom:2px}.prose{font-size:11px;line-height:1.4}.flight-leg{padding:8px}.flight-card-title{padding:7px}.flight-leg strong{font-size:14px}.quote-prices{padding:10px;margin:9px 0}.quote-prices>h2{margin-bottom:4px}.price-line{padding:5px 0;font-size:11px}.price-line.total{padding-top:8px}.price-line.total strong{font-size:20px}.price-foot{font-size:10px}.client-cta{display:none}.conditions{padding-top:8px}.conditions h3{margin:0 0 4px}.conditions p{font-size:10px;line-height:1.4}.proposal-footer{padding:8px 0;line-height:1.4}}
.itinerary-upload{margin-top:22px}.flight-option{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f8fbfa}.flight-option-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.flight-option-heading strong{font-size:15px}.flight-option-total{font-size:12px;color:var(--teal);font-weight:700;margin:14px 0 0}.itinerary-preview{display:flex;align-items:center;gap:15px;margin-top:12px}.itinerary-preview:empty{display:none}.itinerary-preview img{max-width:220px;max-height:120px;object-fit:contain;border-radius:7px;border:1px solid var(--line)}.flight-alternative{display:flex;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:8px;padding:13px 16px;margin:9px 0;font-size:13px}.flight-alternative span{color:var(--muted)}.itinerary-image{display:block;max-width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:8px;margin:10px auto}.purchase-option{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #bfded9;padding:15px 0}.purchase-option>div>strong,.purchase-option small{display:block}.purchase-option small{font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}.purchase-option>strong{color:var(--teal);font:800 22px Manrope,sans-serif;white-space:nowrap}.purchase-option:first-of-type{border-top:0}@media(max-width:650px){.flight-alternative,.purchase-option{align-items:flex-start;flex-direction:column;gap:7px}.purchase-option>strong{font-size:20px}}@media print{.itinerary-image{max-height:130px}.flight-alternative{padding:5px 8px;margin:4px 0;font-size:10px;break-inside:avoid}.purchase-option{padding:5px 0;break-inside:avoid}.purchase-option small{font-size:9px;margin-top:1px}.purchase-option>strong{font-size:17px}.quote-prices>h2{font-size:14px}}

.flight-option-display{break-inside:avoid}.flight-option-display+.flight-option-display{margin-top:13px}@media print{.flight-option-display+.flight-option-display{margin-top:6px}.itinerary-image{max-height:115px;margin:4px auto}}
.component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.component-toggle{display:block;cursor:pointer}.component-toggle input{position:absolute;opacity:0;width:1px;height:1px}.component-toggle span{display:block;text-align:center;border:1px solid #a9d4d2;border-radius:9px;color:var(--teal);padding:13px 8px;font-size:13px;font-weight:700;background:#fff}.component-toggle.selected span{background:var(--teal);color:#fff;border-color:var(--teal)}.component-toggle input:focus-visible+span{outline:3px solid #6ddbd5;outline-offset:2px}.component-panel{border:1px solid var(--line);border-radius:11px;background:#fbfdfd;padding:19px;margin-top:16px}.component-panel h3{font-size:16px;margin:0 0 16px}.component-panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.component-panel-title h3{margin:0}.component-panel .itinerary-upload{margin-top:14px}.service-image-preview{display:flex;align-items:center;gap:14px}.service-image-preview:empty{display:none}.service-image-preview img{max-width:220px;max-height:120px;object-fit:contain;border-radius:8px}.service-display{border:1px solid var(--line);border-radius:9px;padding:13px 16px;margin:9px 0;break-inside:avoid}.service-display h3{margin:0 0 6px}.service-display p{font-size:12px;color:var(--muted);margin:5px 0}.service-photo{display:block;max-width:100%;max-height:180px;object-fit:contain;margin:8px 0;border-radius:7px}@media(max-width:650px){.component-grid{grid-template-columns:1fr 1fr}.component-toggle span{font-size:11px;padding:11px 5px}}@media print{.service-display{padding:5px 8px;margin:4px 0}.service-photo{max-height:80px}.service-display p{font-size:10px;margin:2px 0}}
.summary-options{border-top:1px solid var(--line);padding-top:14px;margin-top:15px}.summary-option{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;font-size:12px;padding:7px 0}.summary-option span{color:var(--muted)}.summary-option small{display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#7e9597;margin-top:3px}.summary-option strong{color:var(--teal);white-space:nowrap}
.offer-settings{border:1px solid #d2e6e2;border-radius:10px;background:#f8fcfb;padding:18px}.offer-settings>strong{display:block;font:800 15px Manrope,sans-serif}.offer-settings>p{font-size:12px;color:var(--muted);margin:5px 0 16px}.offer-settings .fields{gap:14px}.offer-settings .check-label{font-size:13px;color:var(--teal)}.summary-offer{font-size:11px;line-height:1.5;color:#806124;background:#fff8e9;border:1px solid #f1e1bd;padding:10px;border-radius:8px;margin-top:12px}.offer-callout{background:#fff9ed;border:1px solid #eeddb9;border-radius:10px;padding:17px 20px;margin:0 0 12px;color:#594719}.offer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.offer-kicker{font-size:11px;font-weight:800;letter-spacing:1.2px;color:#8b6121}.offer-heading strong{font:800 17px Manrope,sans-serif;color:#77501a}.offer-savings{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:13px;font-size:13px}.offer-savings strong{font-size:19px;color:#176f63}.offer-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.offer-meta span{font-size:11px;font-weight:700;background:#fff;border-radius:6px;padding:7px 9px;color:#73541f}.trust-section{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:center;background:#f4faf9;border:1px solid #d5e8e4;border-radius:11px;padding:23px;margin:20px 0 26px;break-inside:avoid}.trust-section h2{font-size:19px;line-height:1.35;margin:8px 0}.trust-section p{font-size:12px;color:#587276;line-height:1.6;margin-bottom:8px}.trust-section small{font-size:10px;color:var(--muted);line-height:1.5}.trust-links{display:flex;flex-direction:column;gap:7px}.trust-links a{display:block;padding:10px 12px;border:1px solid #cae3df;border-radius:7px;background:#fff;text-decoration:none;font-size:11px;font-weight:700}.trust-links a:hover{background:#e7f6f3}@media(max-width:650px){.trust-section{grid-template-columns:1fr}.offer-settings .fields{grid-template-columns:1fr}.offer-settings .fields>*{grid-column:1/-1}}@media print{.offer-callout{padding:8px 10px;margin-bottom:6px}.offer-heading strong{font-size:12px}.offer-savings{padding-top:5px;font-size:10px}.offer-savings strong{font-size:13px}.offer-meta{margin-top:5px}.offer-meta span{font-size:9px;padding:3px 6px}.trust-section{grid-template-columns:1.5fr 1fr;padding:9px 12px;margin:8px 0}.trust-section h2{font-size:13px;margin:3px 0}.trust-section p{font-size:9px;line-height:1.35;margin:0 0 3px}.trust-section small,.trust-links a{font-size:8px}.trust-links a{padding:4px 6px}.trust-links{gap:3px}}
.hotel-dropzone{transition:background .2s,border-color .2s,box-shadow .2s;cursor:pointer}.hotel-dropzone.drag-over,.photo-tile.drag-over{border-color:var(--aqua);background:#e2f8f5;box-shadow:0 0 0 3px #09bfc02b}.photo-tile{cursor:grab}.photo-tile:active{cursor:grabbing}.conversion-panel{border:1px solid #bdded8;border-radius:12px;background:linear-gradient(135deg,#edf9f6,#f8fcfb);padding:22px;margin:22px 0 16px;break-inside:avoid}.conversion-heading{text-align:center;margin-bottom:16px}.conversion-heading h2{font-size:23px;margin:7px 0 4px}.conversion-heading p{font-size:13px;color:var(--muted);margin:0}.conversion-grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:13px}.consult-card,.payment-card{border:1px solid #d5e9e5;background:#fff;border-radius:10px;padding:16px}.consult-card h3,.payment-card h3{font-size:16px;margin:0 0 8px}.consult-card p,.payment-card p{font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 13px}.consult-card a{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;padding:10px 13px;border-radius:7px;font-size:12px;font-weight:700}.bank-accounts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0}.bank-accounts>div{background:#f2f8f7;border-radius:7px;padding:9px 10px}.bank-accounts span,.bank-accounts strong{display:block}.bank-accounts span{font-size:10px;color:#587276;margin-bottom:5px}.bank-accounts strong{font-size:13px;color:var(--ink);white-space:nowrap}.payment-card small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}.trust-section{background:linear-gradient(135deg,#064e59,#092f47);border-color:#064e59;color:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}.trust-section .eyebrow{color:#7be1d9}.trust-section p,.trust-section small{color:#d2e8e7}.trust-links a{background:#ffffff14;border-color:#78b7bb;color:#fff}.trust-links a:hover{background:#ffffff2b}@media(max-width:650px){.conversion-grid{grid-template-columns:1fr}.bank-accounts{grid-template-columns:1fr 1fr}.bank-accounts strong{font-size:11px}}@media print{.conversion-panel{padding:8px 10px;margin:8px 0}.conversion-heading{margin-bottom:6px}.conversion-heading h2{font-size:14px;margin:2px 0}.conversion-heading p{font-size:9px}.conversion-grid{grid-template-columns:.85fr 1.4fr;gap:7px}.consult-card,.payment-card{padding:7px 8px}.consult-card h3,.payment-card h3{font-size:11px;margin-bottom:3px}.consult-card p,.payment-card p{font-size:9px;line-height:1.25;margin-bottom:4px}.consult-card a{padding:5px 7px;font-size:9px}.bank-accounts{gap:5px;margin:3px 0}.bank-accounts>div{padding:4px 5px}.bank-accounts span,.payment-card small{font-size:8px}.bank-accounts strong{font-size:10px}.trust-section{margin:7px 0}}
.account-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:30px;text-align:center}.account-loading img{width:130px}.account-loading p{max-width:520px}.account-loading a{text-decoration:none}.history-search{display:flex;gap:12px;max-width:650px;margin:25px 0}.history-search input{flex:1}.history-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}.history-table{width:100%;border-collapse:collapse;min-width:850px}.history-table th,.history-table td{padding:17px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}.history-table th{background:#edf8f6;font-size:12px;color:var(--teal)}.history-table td small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.history-money{white-space:nowrap}.history-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:20px}button:disabled{opacity:.55;cursor:wait}#save-status{font-size:12px;color:var(--teal)}.proposal-toolbar{flex-wrap:wrap}@media print{#history-view,#plans-view,#team-view,.account-loading{display:none!important}}
.hotel-location-panel{border:1px solid #cce1dd;background:#f6fbfa;border-radius:10px;padding:18px;margin-top:10px}.hotel-location-panel .muted{font-size:13px;line-height:1.5;margin:8px 0 14px}.hotel-location-panel .check-label{font-weight:700;font-size:14px}.hotel-location-panel .check-label input{width:auto}.hotel-location-search{display:flex;gap:10px;align-items:center}.hotel-location-search input{flex:1;min-width:0}.hotel-location-search button{white-space:nowrap}#location-search-status{font-size:13px;color:var(--muted);margin:12px 0}.location-provider-credit,.location-empty{font-size:12px;color:var(--muted)}.location-result{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:13px;margin:8px 0}.location-result strong{font-size:14px}.location-result p,.location-result a{font-size:12px;margin:5px 0}.location-map-list{display:grid;gap:12px;margin:12px 0}.location-map-list.multiple{grid-template-columns:1fr 1fr}.hotel-map{border:1px solid #c9dfda;border-radius:10px;overflow:hidden;background:#fff;break-inside:avoid}.hotel-map-figure{min-width:0}.map-viewport{position:relative;width:100%;aspect-ratio:640/220;overflow:hidden;background:#e5eee8;isolation:isolate}.map-viewport .map-tile{position:absolute;max-width:none;object-fit:fill;border:0;border-radius:0;margin:0}.map-marker{position:absolute;left:50%;top:50%;width:30px;height:40px;transform:translate(-50%,-100%);z-index:2;filter:drop-shadow(0 2px 2px #0004)}.map-marker svg{display:block;width:100%;height:100%}.map-attribution{display:block;padding:4px 7px;background:#fff;font-size:10px;color:#42645f;line-height:1.4}.map-attribution a{color:inherit}.hotel-map-details{padding:12px 14px}.hotel-map-details strong{font-size:14px}.hotel-map-details p{font-size:12px;color:var(--muted);margin:5px 0}.hotel-map-details a{font-size:12px;font-weight:700;color:var(--teal)}.map-fallback{display:none}.map-unavailable .map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#edf4f1;font-size:13px;z-index:3}.proposal-hotel-location{margin:14px 0}.proposal-hotel-location .location-map-list:not(.multiple) .hotel-map{display:grid;grid-template-columns:1.6fr 1fr;align-items:center}@media(max-width:650px){.hotel-location-search{flex-direction:column;align-items:stretch}.location-map-list.multiple{grid-template-columns:1fr}.location-result{flex-direction:column;align-items:flex-start}.proposal-hotel-location .location-map-list:not(.multiple) .hotel-map{display:block}}@media print{.proposal-hotel-location{margin:7px 0;break-inside:avoid}.location-map-list{margin:4px 0;gap:6px}.location-map-list.multiple{grid-template-columns:1fr 1fr}.proposal-hotel-location .location-map-list:not(.multiple) .hotel-map{display:grid;grid-template-columns:1.7fr 1fr}.hotel-map-details{padding:6px 8px}.hotel-map-details strong{font-size:10px}.hotel-map-details p,.hotel-map-details a{font-size:9px;margin:3px 0}.map-attribution{font-size:7px;padding:2px 4px}.map-marker{width:21px;height:28px}.map-viewport{print-color-adjust:exact;-webkit-print-color-adjust:exact}.map-fallback{font-size:10px}}
.flight-payment-notice{margin-top:9px;border-left:3px solid #b66a08;border-radius:5px;background:#fff2d7;padding:8px 11px;color:#704000;print-color-adjust:exact;-webkit-print-color-adjust:exact}.flight-payment-notice span{display:block;font-size:14px;font-weight:800}.flight-payment-notice p{margin:3px 0 0;font-size:13px;line-height:1.4;color:#704000}@media print{.flight-payment-notice{margin-top:3px;padding:3px 6px}.flight-payment-notice span{font-size:10px}.flight-payment-notice p{font-size:9px;line-height:1.25;margin-top:1px}}
.hotel-gallery:has(img:nth-child(4)) img:first-child{grid-column:auto;grid-row:auto}
.noq-hotel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.noq-hotel-choice{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.noq-hotel-choice img{width:100%;height:110px;object-fit:cover;display:block}.noq-hotel-choice>span{display:flex;gap:9px;align-items:flex-start;padding:12px;font-size:14px}.noq-hotel-choice input{width:auto;margin-top:3px;accent-color:var(--teal)}.noq-review-note{border-left:3px solid #b66a08;background:#fff2d7;color:#704000;font-size:14px;line-height:1.5;padding:10px 12px}.noq-guarantee{border:1px solid #afd8d2;background:#eaf8f5;border-radius:12px;padding:18px;color:var(--ink)}.noq-guarantee strong{color:var(--teal);font-size:17px}.noq-guarantee p{font-size:14px;line-height:1.6;margin:8px 0 0}.noq-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.noq-payment-grid>div{background:#fff;border:1px solid #bcded6;border-radius:9px;padding:15px}.noq-payment-grid h3{font-size:15px;margin:0 0 9px}.noq-payment-grid strong{display:block;color:var(--teal);font-size:25px}.noq-payment-grid p{font-size:13px;line-height:1.5}.noq-hotel-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.noq-hotel-gallery figure{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.noq-hotel-gallery img{display:block;width:100%;height:115px;object-fit:cover}.noq-hotel-gallery figcaption{padding:7px;font-size:12px;line-height:1.35}.noq-terms{font-size:14px;line-height:1.65;padding-left:21px}.noq-terms li{margin:6px 0}@media(max-width:650px){.noq-payment-grid{grid-template-columns:1fr}.noq-hotel-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{#noq-view{display:none!important}.noq-payment-grid{gap:7px;grid-template-columns:1fr 1fr;break-inside:avoid}.noq-payment-grid>div{padding:7px}.noq-payment-grid h3{font-size:11px;margin-bottom:4px}.noq-payment-grid strong{font-size:18px}.noq-payment-grid p{font-size:10px;margin:5px 0}.noq-hotel-gallery{gap:5px;grid-template-columns:repeat(3,minmax(0,1fr));break-inside:avoid}.noq-hotel-gallery img{height:75px}.noq-hotel-gallery figcaption{font-size:9px;padding:4px}.noq-guarantee{padding:9px;break-inside:avoid}.noq-guarantee strong{font-size:13px}.noq-guarantee p,.noq-terms{font-size:10px;line-height:1.4}.noq-terms li{margin:3px 0}.proposal-noq .proposal-hero{min-height:105px}.proposal-noq .conditions p{font-size:9px}}
.quote-summary{position:sticky;top:24px}.quote-summary .summary-option{flex-direction:column;border-top:1px solid var(--line);padding:14px 0;font-size:14px}.quote-summary .summary-option strong{font-size:20px;white-space:normal;overflow-wrap:anywhere}.quote-summary h2{font-size:28px;color:var(--teal)}#noq-error{color:#9e3333;font-size:14px}.noq-payment-grid strong{overflow-wrap:anywhere}@media(max-width:1000px){.quote-summary{position:static}}@media print{.noq-payment-grid strong{font-size:18px}}
.noq-included{padding-left:22px;font-size:15px;line-height:1.6}.noq-included li{margin:5px 0}.noq-included li::marker{color:var(--teal)}@media print{.noq-included{font-size:11px;line-height:1.4;margin:5px 0}.noq-included li{margin:2px 0}}

/* Keep the standard proposal's closing terms from being orphaned by large
   galleries and grouped services. Individual images/cards remain unbroken. */
@media print {
  .proposal:not(.proposal-noq) .proposal-hero { min-height:95px; padding:12px 20px; }
  .proposal:not(.proposal-noq) .proposal-content { padding:9px 0 4px; }
  .proposal:not(.proposal-noq) .proposal-section { break-inside:auto; margin:7px 0; }
  .proposal-section > h2, .proposal-section > h3, .proposal-section > .eyebrow { break-after:avoid; }
  .proposal:not(.proposal-noq) .hotel-gallery,
  .proposal:not(.proposal-noq) .hotel-gallery:has(img:nth-child(4)) { grid-template-rows:repeat(2,70px); }
  .proposal:not(.proposal-noq) .hotel-gallery img { height:100%; min-height:0; }
  .proposal:not(.proposal-noq) .hotel-gallery.single { grid-template-rows:140px; }
  .proposal:not(.proposal-noq) .hotel-gallery.single img { height:140px; }
  .proposal:not(.proposal-noq) .service-display:has(.service-photo) { display:flow-root; }
  .proposal:not(.proposal-noq) .service-display:has(.service-photo) h3 { float:left; max-width:75%; }
  .proposal:not(.proposal-noq) .service-photo { float:right; max-width:23%; max-height:60px; margin:0 0 3px 8px; }
  .proposal:not(.proposal-noq) .service-display p { clear:left; }
  .proposal:not(.proposal-noq) .help { font-size:10px; line-height:1.35; margin:4px 0; }
  .proposal:not(.proposal-noq) .hotel-facts { padding:7px; }
  .proposal:not(.proposal-noq) .conditions { padding-top:5px; }
  .proposal:not(.proposal-noq) .conditions p { margin:0; }
  .consult-card a { color:#075a62; background:#e7f6f3; border:1px solid #82bcb5; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}

.access-form{display:grid;gap:16px;width:min(100%,420px);margin:20px auto;text-align:left}.access-form label{display:grid;gap:8px}.access-form input{width:100%;min-height:44px;font-size:16px}.account-loading{padding:32px 20px}.account-loading p{max-width:540px;margin:12px auto}.team-card .access-form{margin:20px 0}.team-card small{display:block;overflow-wrap:anywhere}.team-card input{min-width:0}.team-card{min-width:0}
