/* Joel's branded EWF document (quote v5 template), scoped under .doc so it never touches the app. */
@font-face{font-family:'Inter';src:url(/fonts/inter-400.woff2) format('woff2');font-weight:400}
@font-face{font-family:'Inter';src:url(/fonts/inter-500.woff2) format('woff2');font-weight:500}
@font-face{font-family:'Inter';src:url(/fonts/inter-600.woff2) format('woff2');font-weight:600}
@font-face{font-family:'Inter';src:url(/fonts/inter-700.woff2) format('woff2');font-weight:700 800}
@font-face{font-family:'Montserrat';src:url(/fonts/montserrat-var.woff2) format('woff2');font-weight:100 900}
.doc * { box-sizing:border-box; }
.doc { margin:0; font-family:'Inter'; color:rgb(16,57,68); font-size:9.6pt; }
.doc .page { width:8.5in; height:11in; background:rgb(250,248,243); padding:0.36in 0.6in 0.4in; position:relative; }
.doc .topbar { position:absolute; top:0; left:0; right:0; height:0.12in; background:rgb(16,57,68); }
.doc .topbar2 { position:absolute; top:0.12in; left:0; right:0; height:1.5pt; background:rgb(201,169,110); }
.doc .head { display:flex; justify-content:space-between; align-items:center; margin-top:0.05in; }
.doc .brand { display:flex; align-items:center; }
.doc .brand img { width:0.95in; margin-right:16pt; }
.doc .bname { font-family:'Cormorant Garamond'; font-weight:600; font-size:18.5pt; letter-spacing:2.2pt; line-height:1.05; text-transform:uppercase; }
.doc .baddr { font-size:8pt; line-height:1.45; margin-top:6pt; color:rgb(60,90,98); }
.doc .qt { text-align:right; }
.doc .qt h1 { font-family:'Cormorant Garamond'; font-weight:500; font-size:34pt; letter-spacing:8pt; margin:0 -8pt 0 0; line-height:1; }
.doc .qt .gl { width:1.1in; height:1.2pt; background:rgb(201,169,110); margin:7pt 0 7pt auto; }
.doc .meta { font-size:8.6pt; line-height:1.75; }
.doc .meta span { font-family:'Montserrat'; font-size:6.8pt; letter-spacing:1.6pt; color:rgb(201,169,110); text-transform:uppercase; font-weight:600; margin-right:6pt; }
.doc .rule { height:0.8pt; background:rgb(201,169,110); margin:11pt 0 10pt; }
.doc .info { display:flex; }
.doc .info > div { flex:1; padding-right:10pt; }
.doc .info > div + div { border-left:0.6pt solid rgba(201,169,110,.7); padding-left:14pt; }
.doc .lbl { font-family:'Montserrat'; font-size:6.8pt; letter-spacing:1.8pt; color:rgb(201,169,110); text-transform:uppercase; font-weight:600; margin-bottom:4pt; }
.doc .val { font-size:9.6pt; line-height:1.35; }
.doc .val b { font-family:'Cormorant Garamond'; font-size:14pt; font-weight:600; }
.doc table { width:100%; border-collapse:collapse; margin-top:11pt; font-variant-numeric:tabular-nums; }
.doc thead tr { background:rgb(16,57,68); }
.doc th { background:transparent; color:rgb(250,248,243); font-family:'Montserrat'; font-weight:600; font-size:7pt; letter-spacing:1.6pt; text-transform:uppercase; padding:6pt 7pt; text-align:left; }
.doc th.num { text-align:right; }
.doc th.qty { text-align:center; }
.doc td { padding:2.9pt 7pt; font-size:8.9pt; border-bottom:0.4pt solid rgba(201,169,110,.45); }
.doc tbody tr:nth-child(even) td { background:rgba(201,169,110,.10); }
.doc tbody tr:nth-child(odd) td { background:#fff; }
.doc td.qty { text-align:center; width:0.45in; }
.doc td.loc { font-weight:600; width:1.62in; white-space:nowrap; }
.doc td.desc { color:rgb(55,85,93); }
.doc td.num { text-align:right; white-space:nowrap; width:0.95in; }
.doc td.tot { font-weight:600; }
.doc tbody tr:last-child td { border-bottom:1.2pt solid rgb(201,169,110); }
.doc .bottom { display:flex; justify-content:space-between; margin-top:11pt; }
.doc .notes { flex:1; font-size:7.9pt; line-height:1.5; color:rgb(55,85,93); padding-top:2pt; padding-right:24pt; }
.doc .thanks { font-family:'Cormorant Garamond'; font-style:italic; font-size:15.5pt; color:rgb(16,57,68); margin-bottom:5pt; font-weight:500; }
.doc .notes p { margin:0 0 1.5pt; }
.doc .notes .em { color:rgb(16,57,68); font-weight:600; }
.doc .totals { width:2.85in; font-variant-numeric:tabular-nums; }
.doc .tl { display:flex; justify-content:space-between; padding:3.8pt 2pt; font-size:9.2pt; border-bottom:0.4pt solid rgba(201,169,110,.5); }
.doc .tl .k { font-family:'Montserrat'; font-size:7pt; letter-spacing:1.5pt; text-transform:uppercase; font-weight:600; padding-top:1.5pt; }
.doc .disc { color:rgb(150,110,50); }
.doc .grand { background:rgb(16,57,68); color:rgb(250,248,243); margin-top:7pt; padding:8.5pt 12pt; display:flex; justify-content:space-between; align-items:center; border-top:2.5pt solid rgb(201,169,110); }
.doc .grand .k { font-family:'Cormorant Garamond'; font-size:15pt; letter-spacing:3.5pt; font-weight:600; }
.doc .grand .v { font-size:16pt; font-weight:700; color:#fff; }
.doc .tax { text-align:right; font-size:7.6pt; color:rgb(90,115,120); margin-top:5pt; }
.doc .foot { position:absolute; left:0.6in; right:0.6in; bottom:0.34in; text-align:center; }
.doc .foot .gl { height:0.8pt; background:rgb(201,169,110); margin-bottom:8pt; }
.doc .foot .f1 { font-family:'Montserrat'; font-size:7.2pt; letter-spacing:1.2pt; color:rgb(16,57,68); font-weight:500; }
.doc .foot .dot { color:rgb(201,169,110); padding:0 7pt; }
.doc .trk { font-size:7.1pt; color:rgb(160,125,65); font-style:italic; margin-top:0.6pt; letter-spacing:.2pt; }
.doc td { line-height:1.16; }
.doc td { padding:7.6pt 7pt; font-size:9.2pt; }
.doc .totals .tl.sub { font-size:9.6pt; font-weight:600; color:rgb(16,57,68); padding:4pt 2pt; }
.doc .totals .tl.disc .sv { color:rgb(16,57,68); font-weight:600; }
.doc .totals .tl.after { border-top:0.9pt solid rgb(201,169,110); }
.doc .totals .tl.after .sv { font-size:10.6pt; font-weight:700; }
.doc .totals .tl.taxrow { align-items:center; padding:5pt 2pt; border-bottom:none; color:rgb(16,57,68); }
.doc .totals .fill { display:block; width:1.45in; height:20pt; background:#fff; border:0.9pt solid rgb(16,57,68); border-radius:1.5pt; }
.doc .grand { padding:6pt 7pt 6pt 12pt; margin-top:3pt; }
.doc .grand .gfill { border:1pt solid rgb(201,169,110); height:24pt; width:1.45in; }
.doc thead { display: table-header-group; }
.doc tr { page-break-inside: avoid; }
.doc .bottom { page-break-inside: avoid; }
.doc .tl.disc { background:rgba(30,125,60,.09); color:rgb(30,125,60); border-radius:3pt; }
.doc .tl.disc .k, .doc .tl.disc .sv { color:rgb(30,125,60) !important; font-weight:700; }
.doc .tsum { font-size:9.2pt; line-height:1.45; }
.doc .tsum .r { display:flex; justify-content:space-between; gap:8pt; }
.doc .tsum .r.d { color:rgb(30,125,60); font-weight:700; }
.doc .tsum .r.f { border-top:0.7pt solid rgb(201,169,110); margin-top:2pt; padding-top:2pt; font-weight:700; font-size:10.4pt; }
.doc .tsum .nt { font-size:7pt; opacity:.7; }
.doc .brand img { height:0.95in !important; width:auto !important; }
.doc .brand.lock { display:block !important; width:3.55in; }
.doc .brand.lock .lmark { width:2.55in !important; height:auto !important; margin:0 !important; display:block; }
.doc .brand.lock .lrule { width:2.55in; height:0; border-top:0.8pt solid rgb(201,169,110); margin:7pt 0 5pt; }
.doc .brand.lock .laddr { font-family:'Montserrat'; font-size:7.6pt; letter-spacing:1.1pt; text-transform:uppercase; color:rgb(16,57,68); font-weight:600; white-space:nowrap; }
.doc .brand.lock .lcont { font-family:'Inter'; font-size:8pt; color:rgb(16,57,68); margin-top:2.5pt; white-space:nowrap; letter-spacing:.2pt; }
.doc .brand.lock .ld { color:rgb(201,169,110); padding:0 3pt; }
.doc .brand.lock5 { display:block !important; width:2.75in; text-align:center; }
.doc .brand.lock5 .lmark { width:2.3in !important; height:auto !important; margin:0 auto !important; display:block; }
.doc .brand.lock5 .lrule { width:2.3in; border-top:0.8pt solid rgb(201,169,110); margin:5pt auto 4pt; }
.doc .brand.lock5 .laddr { font-family:'Montserrat'; font-size:6.9pt; letter-spacing:.6pt; text-transform:uppercase; color:rgb(16,57,68); font-weight:600; white-space:nowrap; }
.doc .brand.lock5 .lcont { font-family:'Inter'; font-size:8pt; color:rgb(16,57,68); margin-top:3pt; white-space:nowrap; }
.doc .brand.lock5 .lcont span { display:inline-block; margin:0 5pt; }
.doc .brand.lock5 .ic { width:8.5pt; height:8.5pt; vertical-align:-1.2pt; margin-right:3pt; }
.doc .brand.lock5 .lweb { font-family:'Inter'; font-size:8pt; font-weight:600; color:rgb(160,125,65); letter-spacing:.3pt; margin-top:2pt; }
.doc .brand.lock5 .laddr { font-size:6.25pt !important; letter-spacing:.25pt !important; }
.doc .brand.lock5 .lcont { font-size:7.6pt !important; }
.doc .brand.lock5 .lcont span { margin:0 3.5pt !important; }
.doc .brand.lock5 .lweb { font-size:7.6pt !important; }
.doc .brand.lock5 { width:2.3in !important; }
.doc .brand.lock5 .laddr { font-size:5.85pt !important; letter-spacing:.2pt !important; }
.doc .brand.lock5 .lcont, .doc .brand.lock5 .lweb { font-size:7.2pt !important; }
.doc .brand.lock5 .lcont span { margin:0 2.5pt !important; }
/* app additions: multi-page, screen scaling, work order + extras (same palette) */
.doc { background:#d9d2c3; }
.doc .page { overflow:hidden; margin:0 auto 18px; box-shadow:0 2px 14px rgba(0,0,0,.18); }
.doc .page.cont .head { display:none; }
.doc .contline { font-family:'Montserrat'; font-size:7pt; letter-spacing:1.6pt; text-transform:uppercase; color:rgb(201,169,110); font-weight:600; margin:2pt 0 0; display:flex; justify-content:space-between; }
.doc .pgno { position:absolute; right:0.6in; bottom:0.16in; font-family:'Montserrat'; font-size:6.5pt; letter-spacing:1pt; color:rgb(150,140,120); }
.doc td.desc .spec { font-size:7.8pt; color:rgb(120,130,130); margin-top:1.5pt; }
.doc .esnote { position:absolute; left:0.6in; right:0.6in; bottom:0.72in; font-family:'Montserrat'; font-size:6.4pt; letter-spacing:.5pt; text-transform:uppercase; color:rgb(90,110,115); text-align:center; line-height:1.5; }
.doc .depo { display:flex; justify-content:space-between; padding:5pt 2pt 3pt; font-size:9.2pt; color:rgb(16,57,68); }
.doc .depo .k { font-family:'Montserrat'; font-size:7pt; letter-spacing:1.5pt; text-transform:uppercase; font-weight:600; padding-top:1.5pt; }
.doc .depo.bal { border-top:0.9pt solid rgb(201,169,110); font-weight:700; font-size:10.4pt; }
.doc .grand .v { font-size:14pt; }
.doc td.tot { display:table-cell; }
/* work order */
.doc table.wo td { padding:6pt 6pt; font-size:9.4pt; }
.doc table.wo td.sz { font-weight:700; white-space:nowrap; text-align:center; font-size:10pt; }
.doc table.wo th.c { text-align:center; }
.doc .smbox { font-family:'Cormorant Garamond'; font-size:19pt; font-weight:600; line-height:1.1; }
.doc .specbox { margin-top:10pt; border:0.8pt solid rgb(201,169,110); background:#fff; border-radius:2pt; padding:8pt 10pt; display:grid; grid-template-columns:1.25in 1fr; gap:3pt 10pt; font-size:9.4pt; }
.doc .specbox .k { font-family:'Montserrat'; font-size:6.8pt; letter-spacing:1.4pt; text-transform:uppercase; color:rgb(160,125,65); font-weight:600; padding-top:2pt; }
.doc .acc { margin-top:10pt; }
.doc .acc .r { display:flex; gap:10pt; padding:3pt 0; border-bottom:0.4pt solid rgba(201,169,110,.45); font-size:9.4pt; }
.doc .acc .q { width:0.45in; text-align:center; font-weight:700; }
.doc .roomh td { background:rgba(16,57,68,.07) !important; font-family:'Montserrat'; font-size:7pt; letter-spacing:1.4pt; text-transform:uppercase; font-weight:700; color:rgb(16,57,68); padding:4pt 7pt; }
.doc .woinst { margin-top:12pt; font-size:8.4pt; color:rgb(55,85,93); line-height:1.5; }
.doc .sigl { margin-top:18pt; display:flex; gap:24pt; font-size:8pt; color:rgb(90,110,115); }
.doc .sigl div { flex:1; border-top:0.7pt solid rgb(16,57,68); padding-top:3pt; }
.docbar { position:sticky; top:0; z-index:25; display:flex; gap:8px; align-items:center; padding:10px 12px; background:var(--teal); color:var(--cream); flex-wrap:wrap; }
.docbar .grow { font-weight:700; }
.docscroll { padding:14px 0 40px; overflow:hidden; }
.docscale { transform-origin:top left; }
@media print {
  @page { size: letter; margin: 0; }
  html, body { background:#fff !important; }
  .docbar, .noprint { display:none !important; }
  .docscroll { padding:0 !important; overflow:visible !important; }
  .docscale { transform:none !important; width:auto !important; height:auto !important; margin:0 !important; }
  .doc { background:none !important; }
  .doc .page { margin:0 !important; box-shadow:none !important; page-break-after:always; break-after:page; }
  .doc .page:last-child { page-break-after:auto; break-after:auto; }
}

/* v2.1.3 fabric photo next to the line on the work order */
.doc .wofab{display:flex;align-items:center;gap:5pt;margin-bottom:3pt;font-size:7.8pt;color:rgb(120,130,130)}
.doc .wofab img{width:26pt;height:26pt;object-fit:cover;border-radius:3pt;border:0.5pt solid rgb(200,200,195);background:#eee;flex:none}

/* v476: drapery opening + free flow with arrows; window number under the room */
.cdirs{display:flex;flex-wrap:wrap;gap:4pt 12pt;margin:0 0 3pt}
.cdir{display:inline-flex;align-items:center;gap:5pt;white-space:nowrap}
.cdir .arw{width:30pt;height:12pt;fill:none;stroke:#0a2b31;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cdir .arw .arw-d{stroke:#b0965e;fill:#b0965e}
.wonum{display:block;font-size:7.5pt;color:#6b7b7d;font-weight:700}

.wo td.wosz1{white-space:nowrap;font-weight:700;font-size:11pt}
.wo td.wosz1{font-feature-settings:'calt' 0,'case' 0;font-variant-ligatures:none}

@media print{ html,body{height:auto !important;margin:0 !important;padding:0 !important} .doc .page{height:10.94in !important;overflow:hidden !important} .doc .page:last-child{page-break-after:avoid !important;break-after:avoid !important} .doc{margin:0 !important;padding:0 !important} }
