/* Shared proposal typography: readable on screen, consistent in the A4 export. */
:root{--ink:#17212f;--muted:#505c6b;--border:#d7dde5;--red:#b82030}
body{font-size:15px;line-height:1.5;color:var(--ink)}
.workspace,.editor,.previewpane,.grid>*,.previewday>*,.quote-client>*{min-width:0}
.nav{color:#394556;font-size:14px}.crumb,.saved,.eyebrow,.sectiontitle p,.mini,.tip,.upload,.previewhint,.previewbar,.library small,.service-count{color:#4b5869;font-size:13px}
label{font-size:14px;color:#344154;font-weight:600}input,select,textarea{font-size:16px;color:#17212f;border-color:#b9c3cf;min-height:44px}textarea{line-height:1.65}
button{min-height:42px;font-size:14px}.card h3{font-size:17px}.dayhead b{font-size:15px}.dayhead button{font-size:15px;min-width:36px}.daynum{font-size:12px}
.sectiontitle h2{font-size:23px}.badge{color:#684610;background:#fff0c2;font-size:12px}
.proposal-chooser label{font-size:11px;color:#455263}.proposal-chooser select{font-size:14px;color:#202c3c}
.service-catalog button{font-size:13px;color:#253448;min-height:50px}.service-catalog button b{color:#596879}.checkrow span,.service-price,.service-upload,.service-attachments>div,.quote-total p{font-size:13px;color:#445365}.quote-total small{font-size:12px;color:#762331}
.paper{color:#17212f;font-family:Arial,'DM Sans',sans-serif;font-size:15px;line-height:1.65;overflow-wrap:anywhere;background:#fff}
.paper .brand{font-family:Arial,sans-serif;font-size:24px;line-height:1.2;letter-spacing:-.7px;color:#b82030}.paper .brand small{font-size:10px;letter-spacing:1px;color:#344154;line-height:1.5}
.paperhead{gap:16px;border-bottom:3px solid #b82030;align-items:center}.paperhead .ref{font-size:12px;color:#344154;line-height:1.6;flex-shrink:0}
.paper h3{font-family:Arial,sans-serif;font-size:19px;font-weight:700;color:#17212f;margin:26px 0 14px;line-height:1.4}.paper h4,.previewday h4{font-size:16px;font-weight:700;line-height:1.5;color:#17212f;margin:0 0 9px}
.previewday{grid-template-columns:34px minmax(0,1fr);gap:12px;margin-bottom:24px}.previewday .num{width:32px;height:32px;font-size:13px;font-weight:700;border-color:#b82030;color:#a01827;background:#fff5f5}
.previewday p,.paper p.body{font-size:15px;line-height:1.75;color:#263448;white-space:pre-line}.previewday small{font-size:13px;line-height:1.6;color:#51412a;font-weight:600;margin-top:12px}
.tripstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-size:14px;background:#f1f4f7;padding:17px;margin-bottom:25px;color:#17212f}.tripstrip small{font-size:11px;color:#445365;font-weight:700;letter-spacing:.5px;line-height:1.5}
.hero{height:220px}.hero:after{background:linear-gradient(transparent,#07101ad9)}.herotext{left:20px;right:20px;bottom:20px}.herotext h2{font-size:32px;color:white}.herotext p{font-size:15px;line-height:1.5;color:white}.herotext small{font-size:10px;letter-spacing:1px;color:white}
.pricebox{border-left:4px solid #b82030;background:#fff1f2;gap:16px;flex-wrap:wrap;padding:19px}.pricebox strong{font-size:27px;color:#a01827;line-height:1.3}.pricebox span{font-size:14px;font-weight:700;color:#253448}.pricebox small{font-size:12px;color:#445365;font-weight:400}
.paperfoot{border-top:1px solid #9eabba;font-size:12px;line-height:1.65;color:#344154;gap:18px;flex-wrap:wrap;margin-top:32px;padding-top:17px}.paperfoot span{min-width:0}
.service-cover{padding:26px 0 22px}.service-cover small{font-size:11px;color:#762331;letter-spacing:.7px;font-weight:700}.service-cover h2{font:700 30px/1.3 Arial,sans-serif;color:#17212f;margin:12px 0}.service-cover p{font-size:15px;color:#344154;line-height:1.65}
.quote-client{background:#f1f4f7;padding:19px;gap:20px}.quote-client small{font-size:11px;font-weight:700;color:#445365;letter-spacing:.5px}.quote-client b{font-size:15px;color:#17212f}.quote-client p{font-size:14px;color:#344154;line-height:1.65;margin:8px 0 0}
.service-heading{flex-wrap:wrap;border-bottom:1px solid #aeb9c7;gap:10px;padding-bottom:13px}.service-heading h3{font-size:18px;margin:0}.service-heading>span{font-size:13px;font-weight:700;color:#a01827}.service-heading small{font-size:10px;color:#344154;font-weight:700;letter-spacing:.4px}
.customer-service{margin-bottom:30px}.customer-service dl>div{font-size:14px;grid-template-columns:minmax(100px,35%) minmax(0,1fr);line-height:1.7;padding:7px 0;border-bottom:1px solid #e4e8ed;gap:12px}.customer-service dt{color:#344154;font-weight:700}.customer-service dd{color:#17212f}.customer-service figcaption{font-size:12px;color:#445365}.service-line-price{font-size:14px;gap:14px;flex-wrap:wrap;padding:14px;color:#17212f}.service-line-price span{color:#344154}
.quote-table{font-size:14px;line-height:1.6;table-layout:fixed}.quote-table th{color:#253448;background:#edf1f5;font-weight:700;padding:12px 8px}.quote-table td{color:#17212f;padding:14px 8px;border-color:#c6d0dc}.quote-table th:first-child{width:50%}.quote-table th:nth-child(2){width:12%}.quote-table th:last-child{width:38%}.attachment-note button{font-size:13px;padding:7px 10px}
dialog{width:94%;max-width:850px;padding:25px;max-height:94dvh}dialog>button{float:none!important;display:block;margin-left:auto;position:sticky;top:0;z-index:3;background:white;color:#17212f;border-color:#8c9aad;font-weight:700}
@media screen{body:has(dialog[open]){overflow:hidden}}
@media screen and (max-width:1100px){.workspace{grid-template-columns:175px minmax(0,1fr)}.previewpane{display:block;grid-column:1/-1;max-height:none;padding:28px max(20px,calc((100vw - 800px)/2));overflow:visible}.editor{max-height:none;overflow:visible}.previewpane .paper{max-width:800px;margin:auto}.previewbar{max-width:800px;margin:0 auto 18px}}
@media screen and (max-width:650px){
 header{display:block;padding:17px 16px}.headleft{justify-content:center}.headleft .brand{font-size:25px}.headleft .brand small{font-size:9px}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}.actions button{font-size:13px;padding:10px 5px;min-height:44px}.actions button.share{display:none}.subhead{padding:18px 16px}.subhead h1{font-size:21px;line-height:1.5}.crumb{font-size:12px}.badge{margin-left:5px}
 .workspace{display:block}aside{display:flex;padding:12px;gap:7px;align-items:center}.proposal-chooser{min-width:180px;flex:0 0 180px}.nav{flex-shrink:0;font-size:14px;min-height:44px;padding:10px 13px}.editor{padding:22px 14px}.sectiontitle{align-items:flex-start;gap:10px}.sectiontitle h2{font-size:22px}.sectiontitle p{font-size:14px}.grid{grid-template-columns:minmax(0,1fr);gap:18px}.card{padding:18px 15px}.dayhead{flex-wrap:wrap;gap:7px}.dayhead b{min-width:100px}.library{grid-template-columns:1fr}.service-catalog{grid-template-columns:minmax(0,1fr)}.service-catalog button{font-size:15px;padding:13px}.checkrow{gap:10px}.checkrow input{min-height:20px;width:20px;height:20px}.checkrow span{width:100%;margin-left:0}.quote-total{gap:12px;flex-wrap:wrap}.quote-total strong{font-size:25px}
 .previewpane{display:block;padding:24px 12px;background:#e4e9ef;max-height:none;overflow:visible}.previewbar{font-size:12px;gap:10px}.previewbar span:last-child{display:none}.paper{padding:22px 17px;min-height:0;width:100%}.paperhead{align-items:flex-start;flex-wrap:wrap;gap:12px}.paperhead .ref{text-align:left;font-size:12px}.paper .brand{font-size:23px}.paper .brand small{font-size:10px}.tripstrip{grid-template-columns:minmax(0,1fr);gap:16px;font-size:15px}.tripstrip small{font-size:12px}.hero{height:230px}.herotext h2{font-size:30px}.previewday{grid-template-columns:30px minmax(0,1fr);gap:9px}.previewday .num{width:28px;height:28px;font-size:12px}.previewday p,.paper p.body{font-size:16px;line-height:1.75}.paper h3{font-size:20px}.paper h4{font-size:17px}.previewday small{font-size:14px}.quote-client{grid-template-columns:minmax(0,1fr);padding:17px}.quote-client b,.quote-client p{font-size:16px}.quote-client small{font-size:12px}.service-cover h2{font-size:28px}.service-cover p{font-size:16px}.customer-service dl>div{grid-template-columns:minmax(0,1fr);gap:3px;font-size:16px;padding:11px 0}.customer-service dt{font-size:14px}.service-heading h3{font-size:19px}.service-heading small{font-size:11px}.service-line-price,.quote-table{font-size:14px}.quote-table th,.quote-table td{padding:11px 5px}.pricebox strong{font-size:27px}.paperfoot{font-size:13px}.brandimage{max-width:100%;height:auto}
 dialog{width:100%;height:100dvh;max-height:100dvh;max-width:none;margin:0;border-radius:0;padding:15px;inset:0;overflow-y:auto}dialog .paper{padding:18px 0}dialog>button{min-height:44px;margin-bottom:15px!important}.service-attachments>div{flex-wrap:wrap}#toast{width:calc(100% - 24px);font-size:14px;text-align:center}
}
@page{size:A4;margin:16mm}
@media print{
 /* Screen preview controls must never enter the exported document. */
 body>dialog[open]>button,dialog .no-print{display:none!important}
 body>dialog[open]{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important}
 .paper,.luxury .paper{font:11pt/1.6 Arial,sans-serif;color:#111827;background:white;padding:0;overflow-wrap:anywhere}.paper .brand{font-size:21pt}.paper .brand small{font-size:8.5pt;color:#263448}.paperhead .ref{font-size:9pt;color:#263448}.paper h3,.service-heading h3{font-size:14pt;color:#111827;margin-top:20pt}.paper h4,.previewday h4{font-size:12pt;color:#111827}.paper p.body,.previewday p,.service-cover p{font-size:11pt;line-height:1.6;color:#17212f}.previewday small{font-size:9.5pt;color:#384455}.tripstrip,.quote-client b,.quote-client p{font-size:10.5pt}.tripstrip small,.quote-client small{font-size:8.5pt;color:#263448}.tripstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.quote-client{grid-template-columns:1.2fr 1fr}.customer-service dl>div{font-size:10.5pt;grid-template-columns:135px minmax(0,1fr);padding:5pt 0}.customer-service dt,.customer-service dd{color:#17212f}.service-heading small{font-size:8pt;color:#263448}.service-heading>span,.previewday .num{font-size:9pt}.service-cover h2{font-size:23pt}.service-cover small,.herotext small{font-size:8pt}.quote-table,.service-line-price{font-size:10pt}.quote-table th{color:#17212f}.pricebox span{font-size:10.5pt}.pricebox strong{font-size:21pt;color:#9e1727}.pricebox small{font-size:9pt}.paperfoot{font-size:9pt;color:#263448}.hero{height:190px}.herotext p{font-size:11pt}.paper h3,.paper h4,.service-heading{break-after:avoid}.paperhead,.tripstrip,.quote-client,.pricebox,.customer-service figure,.previewday,.quote-table tr{break-inside:avoid}.customer-service{break-inside:auto}.paperfoot{position:static}.previewday p,.paper p.body{orphans:3;widows:3}
}
