/* KEYSTONE — deal packs (packs.js). The MPS "BRRR to SA" deal pack as twelve editable A4 pages.
   Everything is prefixed dp- because ui.css owns .band, .kick, .card, .tag and friends.
   The pages carry their own colours and fonts: the app body is dark with light text, and an
   inherited colour on a white page is the invoice-9037 bug (text near-white on white). */

:root{--dp-navy:#0f2240;--dp-deep:#0b1a32;--dp-fog:#f5f6f8;--dp-fog2:#eceef2;--dp-blue:#3b82f6;--dp-ink-blue:#1e63d6;
  --dp-lite:#9ecbff;--dp-line:#e0e5ed;--dp-line2:#cfd7e3;--dp-muted:#657285;--dp-bad:#e11d48}

/* ── editor chrome (never printed) ── */
.dp-bar{position:sticky;top:78px;z-index:20;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px}
.dp-bar .dp-back{color:var(--fog-60,#cbd5e1);text-decoration:none;font-size:13px;white-space:nowrap}
.dp-bar .dp-title{font-weight:700;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 180px}
.dp-bar .dp-title small{display:block;font-weight:500;font-size:11.5px;opacity:.65}
.dp-bar select{background:rgba(255,255,255,.06);color:inherit;border:1px solid rgba(255,255,255,.16);border-radius:9px;padding:6px 9px;font:inherit;font-size:12.5px}
html[data-theme="light"] .dp-bar select{background:#fff;border-color:#cbd5e1}
.dp-state{font-size:12px;opacity:.75;white-space:nowrap}
.dp-state.bad{color:var(--bad,#fb7185);opacity:1;font-weight:600}
.dp-fill{font-size:12px;white-space:nowrap;opacity:.8}
.dp-note{margin:0 0 12px;padding:10px 14px;border-radius:12px;font-size:13px;border:1px solid rgba(251,113,133,.45);background:rgba(251,113,133,.1)}
.dp-note b{font-weight:700}
.dp-note button{margin-left:8px}
.dp-docwrap{overflow-x:auto;padding:0 0 30px}
.dp-doc{width:210mm;margin:0 auto;display:flex;flex-direction:column;gap:9mm;zoom:var(--dp-zoom,1)}
.dp-ed{outline:none;border-radius:2px;cursor:text;transition:background .15s}
.dp-ed:hover{background:rgba(59,130,246,.07)}
.dp-ed:focus{background:rgba(59,130,246,.09);box-shadow:inset 0 0 0 1.5px rgba(59,130,246,.55)}
.dp-ed[data-empty]:before{content:attr(data-ph);color:var(--dp-muted);pointer-events:none}
.dp-dark .dp-ed[data-empty]:before,.dp-figs .dp-ed[data-empty]:before,.dp-meta .dp-ed[data-empty]:before,.dp-bpill .dp-ed[data-empty]:before{color:rgba(234,241,251,.45)}
.dp-dark .dp-ed:hover,.dp-figs .dp-ed:hover,.dp-meta .dp-ed:hover,.dp-bpill .dp-ed:hover{background:rgba(255,255,255,.08)}
.dp-over{box-shadow:inset 0 0 0 2px var(--dp-bad)!important;background:rgba(225,29,72,.06)!important}
.dp-slot{position:relative;cursor:pointer;overflow:hidden}
.dp-slot img.dp-img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.dp-slot.doc img.dp-img{object-fit:contain;background:#fff}
.dp-slot.has .dp-empty{visibility:hidden}
.dp-tools{position:absolute;right:6px;top:6px;display:none;gap:5px;z-index:3}
.dp-slot.has:hover .dp-tools,.dp-slot.has.tools-on .dp-tools{display:flex}
.dp-slot:focus-visible{outline:2px solid var(--dp-blue);outline-offset:2px}
.dp-tools button{border:0;border-radius:7px;padding:5px 9px;font:600 11px/1 Inter,Arial,sans-serif;background:rgba(11,26,50,.86);color:#fff;cursor:pointer}
.dp-tools button.rm{background:rgba(225,29,72,.9)}
.dp-busy{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(245,246,248,.82);
  font:600 12px Inter,Arial,sans-serif;color:var(--dp-navy);z-index:4}
.dp-slot.busy .dp-busy{display:flex}

/* ── the page ── */
.dp-pg{position:relative;width:210mm;height:297mm;overflow:hidden;background:#fff;color:var(--dp-navy);
  font-family:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;font-size:9pt;line-height:1.5;text-align:left;
  border-radius:3px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.dp-pg h1,.dp-pg .dp-kick,.dp-pg .dp-kk,.dp-pg .dp-tag,.dp-pg .dp-pill{font-family:'Poppins','Helvetica Neue',Arial,sans-serif}
.dp-pg h1{letter-spacing:-.02em;text-transform:none}
.dp-logo{display:block;height:4.4mm}
.dp-cover .dp-logo{height:6.2mm}
.dp-bigfoot .dp-logo{height:5mm}
.dp-slotline{display:inline-block;height:3.4mm;border-bottom:1px solid rgba(255,255,255,.45)}
.dp-nowrap{white-space:nowrap}

/* photo header band — the Maine Couriers rate-card header in the MPS palette */
.dp-band{position:relative;height:30mm;padding:6mm 12mm 0;color:#fff;background-color:var(--dp-deep);background-size:cover;background-position:center}
.dp-top{display:flex;align-items:center;justify-content:space-between}
.dp-tag{font-weight:600;font-size:6.3pt;letter-spacing:.22em;text-transform:uppercase;color:var(--dp-lite);white-space:nowrap}
.dp-band h1{position:absolute;left:12mm;bottom:4.6mm;margin:0;font-weight:600;font-size:18pt;line-height:1.1;color:#fff;white-space:nowrap}
.dp-bpill{position:absolute;right:12mm;bottom:4.4mm;display:flex;align-items:center;gap:2mm;padding:1.5mm 3.8mm;border-radius:20mm;
  background:#13284a;border:1px solid #2d4670;font-size:7.4pt;color:#dfe8f6;white-space:nowrap}
.dp-bpill b{font-family:'Poppins';font-weight:600;font-size:9pt;color:var(--dp-lite)}
.dp-bpill .dp-ed{display:inline-block;min-width:28mm;max-width:40mm;overflow:hidden;font-family:'Poppins';font-weight:600;font-size:9pt;
  color:#fff;border-bottom:1px solid rgba(255,255,255,.55);white-space:nowrap}
.dp-rule{height:1mm;background:var(--dp-blue)}

/* cover */
.dp-cover{position:relative;height:64mm;padding:8mm 12mm 0;color:#fff;background-color:var(--dp-deep);background-size:cover;background-position:center 55%}
.dp-row{position:absolute;left:12mm;right:12mm;bottom:6.5mm;display:flex;justify-content:space-between;align-items:flex-end;gap:8mm}
.dp-kick{display:flex;align-items:center;gap:2.6mm;margin:0 0 2.2mm;font-weight:600;font-size:7pt;letter-spacing:.22em;text-transform:uppercase;color:var(--dp-lite);white-space:nowrap}
.dp-kick:before{content:"";display:block;width:6.4mm;height:.5mm;background:var(--dp-blue)}
.dp-cover h1{margin:0;font-weight:600;font-size:30pt;letter-spacing:-.025em;line-height:1;color:#fff}
.dp-from{text-align:right;font-size:8.4pt;line-height:1.6;color:rgba(234,241,251,.86)}
.dp-from b{font-family:'Poppins';font-weight:600;font-size:9pt;color:#fff}
.dp-meta{display:flex;align-items:center;gap:7mm;height:9mm;padding:0 12mm;background:var(--dp-deep);color:#c3cfe3;font-size:7.6pt;border-top:1px solid #1d3257}
.dp-meta>span{white-space:nowrap;display:flex;align-items:center}
.dp-meta b{color:#fff;font-weight:600;margin-right:1.4mm}
.dp-meta .dp-ed{display:inline-block;min-width:25mm;max-width:40mm;overflow:hidden;white-space:nowrap;color:#fff;border-bottom:1px solid rgba(255,255,255,.45)}
.dp-pill{margin-left:auto;padding:1.2mm 3.4mm;border-radius:20mm;background:var(--dp-blue);color:#fff;font-weight:600;font-size:6.4pt;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}

/* body */
.dp-content{padding:6mm 12mm 0}
.dp-kk{display:flex;align-items:center;gap:2.6mm;margin:0 0 2.4mm;font-weight:600;font-size:7.4pt;letter-spacing:.16em;text-transform:uppercase;color:var(--dp-navy);white-space:nowrap}
.dp-kk:before{content:"";display:block;width:6.4mm;height:.5mm;background:var(--dp-blue)}
.dp-strong{font-weight:600;color:var(--dp-navy)}
.dp-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--dp-line);border-radius:3mm}
.dp-hd{flex:none;padding:2.2mm 4mm;background:var(--dp-navy);color:#fff;font-family:'Poppins';font-weight:600;font-size:9.4pt}
.dp-bd{flex:1;padding:2.4mm 4mm;background:var(--dp-fog);font-size:8.8pt;min-height:0}
.dp-bd.flush{display:flex;flex-direction:column;padding:0}
.dp-two{display:grid;grid-template-columns:1fr 1fr;gap:5mm;height:60mm}
.dp-irow{display:flex;align-items:center;gap:3.2mm;padding:1.6mm 0;border-bottom:1px solid var(--dp-line)}
.dp-irow:last-child{border-bottom:0}
.dp-irow .dp-ed{flex:1;min-width:0;white-space:nowrap;overflow:hidden;padding:.6mm 1mm}
.dp-ic{display:flex;align-items:center;justify-content:center;flex:none;width:7.6mm;height:7.6mm;border-radius:2mm;background:#fff;border:1px solid var(--dp-line);color:var(--dp-navy)}
.dp-ic svg{width:4.4mm;height:4.4mm}
.dp-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4mm;padding:0 6mm;background:var(--dp-fog);
  color:var(--dp-muted);font-size:8.2pt;line-height:1.45;text-align:center}
.dp-card .dp-photo,.dp-cb .dp-photo{flex:1;min-height:0}
.dp-photo.boxed{border:1px dashed var(--dp-line2);border-radius:3mm}
.dp-photo.boxed.has{border-style:solid;border-color:var(--dp-line)}
.dp-cam{display:flex;align-items:center;justify-content:center;width:12mm;height:12mm;border-radius:50%;background:#fff;border:1px solid var(--dp-line2);color:#8a96a8}
.dp-cam svg{width:5.6mm;height:5.6mm}
.dp-photo.sm{gap:1.6mm;font-size:7.6pt}
.dp-photo.sm .dp-cam{width:9.5mm;height:9.5mm}
.dp-photo.sm .dp-cam svg{width:4.4mm;height:4.4mm}
.dp-empty{display:flex;flex-direction:column;align-items:center;gap:inherit}
.dp-link{flex:none;display:flex;align-items:center;gap:2mm;padding:2.2mm 4mm;background:var(--dp-fog2);border-top:1px solid var(--dp-line);
  color:var(--dp-ink-blue);font-size:7.8pt;font-weight:500}
.dp-link svg{flex:none;width:3.4mm;height:3.4mm;color:var(--dp-blue)}
.dp-link .dp-ed{flex:1;min-width:0;white-space:nowrap;overflow:hidden}
.dp-tbox{overflow:hidden;padding:3mm 4mm;background:var(--dp-fog);border:1px solid var(--dp-line);border-radius:3mm;font-size:8.6pt;line-height:1.55}
.dp-tbox>.dp-ed{display:block;height:100%;white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden}
.dp-ml{white-space:pre-wrap;overflow-wrap:anywhere}

/* headline deal figures: data on a dark photo panel */
.dp-figs{margin-top:5mm;padding:4.2mm 6mm 2.4mm;border-radius:3mm;overflow:hidden;color:#fff;background-color:var(--dp-deep);background-size:cover;background-position:center}
.dp-figs .dp-kick{margin-bottom:1.2mm}
.dp-fgrid{display:grid;grid-template-columns:1fr 1fr;column-gap:10mm}
.dp-fig{display:flex;align-items:center;gap:3mm;height:11.4mm;border-bottom:1px solid rgba(255,255,255,.14)}
.dp-fig:nth-last-child(-n+2){border-bottom:0}
.dp-fi{display:flex;align-items:center;justify-content:center;flex:none;width:7.4mm;height:7.4mm;border-radius:2mm;background:#15294a;border:1px solid #2a4168;color:var(--dp-lite)}
.dp-fi svg{width:4mm;height:4mm}
.dp-fl{flex:1;font-family:'Poppins';font-weight:500;font-size:8.8pt;color:#eef3fb;white-space:nowrap}
.dp-fv{display:flex;align-items:baseline;gap:1.4mm;width:33mm;font-family:'Poppins';font-weight:600;font-size:11pt;color:var(--dp-lite)}
.dp-fv .dp-ed{flex:1;min-width:0;overflow:hidden;white-space:nowrap;color:#fff;border-bottom:1px solid rgba(255,255,255,.42);text-align:right;padding:0 .8mm}
.dp-brief{margin-top:5mm;height:66mm}
.dp-brief .dp-bd{padding:3mm 4mm}
.dp-brief .dp-ed{display:block;height:100%;overflow:hidden}

/* label / field rows */
.dp-fields{padding:4mm 4.5mm;background:var(--dp-fog);border:1px solid var(--dp-line);border-radius:3mm}
.dp-frow{display:grid;grid-template-columns:40mm 1fr;gap:3mm;align-items:center}
.dp-frow+.dp-frow{margin-top:2.4mm}
.dp-frow.top{align-items:start}
.dp-frow.top .dp-lab{padding-top:1.8mm}
.dp-lab{font-family:'Poppins';font-weight:500;font-size:9.2pt;color:var(--dp-navy);white-space:nowrap}
.dp-fbox{display:flex;align-items:center;height:8.6mm;padding:0 3mm;background:#fff;border:1px solid var(--dp-line2);border-radius:2mm;font-size:8.8pt;min-width:0}
.dp-fbox .dp-ed{flex:1;min-width:0;white-space:nowrap;overflow:hidden}
.dp-fbox.tall{height:17mm;align-items:stretch;padding:1.6mm 3mm}
.dp-fbox.tall .dp-ed{white-space:pre-wrap;overflow-wrap:anywhere}
.dp-fin{margin-top:5.5mm;height:128mm}

/* refurb quotation */
.dp-qgrid{display:grid;grid-template-columns:1fr 1fr;gap:3.6mm 5mm}
.dp-qbox{overflow:hidden;background:#fff;border:1px solid var(--dp-line2);border-radius:2.6mm}
.dp-qh{padding:1.8mm 3.2mm;background:var(--dp-navy);color:#fff;font-family:'Poppins';font-weight:600;font-size:8.2pt;white-space:nowrap}
.dp-qb{height:21mm;padding:1.6mm 3.2mm;font-size:8.2pt;line-height:1.45}
.dp-qb .dp-ed{display:block;height:100%;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}
.dp-qbox.full{margin-top:3.6mm}

/* furnishing tables — ten rows each, totals derived on screen */
table.dp-tab{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8.2pt}
table.dp-tab col.q{width:18mm}
table.dp-tab col.t{width:34mm}
table.dp-tab th.dp-room{padding:2.2mm 3.2mm;background:var(--dp-navy);border:1px solid var(--dp-navy);color:#fff;text-align:left;font-family:'Poppins';font-weight:600;font-size:8.8pt}
table.dp-tab tr.dp-cols th{padding:1.8mm 3.2mm;background:var(--dp-fog2);border:1px solid var(--dp-line2);color:var(--dp-navy);text-align:left;
  font-family:'Poppins';font-weight:600;font-size:6.8pt;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
table.dp-tab tr.dp-cols th.c{text-align:center}
table.dp-tab td{height:8mm;padding:0 3.2mm;border:1px solid var(--dp-line);color:var(--dp-navy)}
table.dp-tab td .dp-ed{display:block;white-space:nowrap;overflow:hidden;line-height:7.6mm}
table.dp-tab td.c .dp-ed{text-align:center}
table.dp-tab tr.dp-tot td{height:8.6mm;background:var(--dp-navy);border:1px solid var(--dp-navy);color:#fff;font-family:'Poppins';font-weight:600;font-size:8.4pt}
table.dp-tab tr.dp-tot td.dp-tlab{text-align:right}
table.dp-tab tr.dp-tot td.dp-amt{color:var(--dp-lite)}
.dp-tgap{height:7mm}
.dp-grand{display:flex;align-items:center;justify-content:space-between;height:13mm;padding:0 5mm;background:var(--dp-navy);border-left:1.4mm solid var(--dp-blue);border-radius:3mm;color:#fff}
.dp-gl{font-family:'Poppins';font-weight:600;font-size:10pt}
.dp-gv{font-family:'Poppins';font-weight:600;font-size:12pt;color:var(--dp-lite)}

/* comparables */
.dp-comps{margin-top:6mm}
.dp-comp{display:grid;grid-template-columns:11mm 1fr;gap:3mm;height:44mm}
.dp-comp+.dp-comp{margin-top:3.5mm}
.dp-num{display:flex;align-items:center;justify-content:center;font-family:'Poppins';font-weight:700;font-size:26pt;line-height:1;color:var(--dp-navy)}
.dp-cb{display:flex;flex-direction:column;overflow:hidden;background:var(--dp-fog);border:1px solid var(--dp-line);border-radius:3mm;min-height:0}
.dp-rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4.5mm;margin-top:5mm}
.dp-rc{min-width:0}
.dp-rc .dp-num{height:11mm;margin-bottom:1.5mm;font-size:22pt}
.dp-rc .dp-cb{height:60mm}

/* running footer (MPS letterhead) and the closing photo footer (Maine Couriers rate card) */
.dp-foot{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;height:10mm;padding:0 12mm;
  background:var(--dp-fog);border-top:1px solid var(--dp-line);color:var(--dp-muted);font-size:6.9pt;white-space:nowrap}
.dp-foot .l{display:flex;align-items:center;gap:1.8mm}
.dp-foot svg{width:3.4mm;height:3.4mm;color:var(--dp-navy)}
.dp-foot b{color:var(--dp-navy);font-weight:600}
.dp-bigfoot{position:absolute;left:0;right:0;bottom:0;height:47mm;padding:7mm 12mm 0;color:rgba(234,241,251,.74);background-color:var(--dp-deep);
  background-size:cover;background-position:center;border-top:1mm solid var(--dp-blue)}
.dp-pn{position:absolute;top:7.6mm;right:12mm;font-size:6.9pt;color:rgba(234,241,251,.62)}
.dp-fr{margin-top:4mm;font-size:8.6pt;color:#fff;white-space:nowrap}
.dp-fr a{color:#fff;text-decoration:none}
.dp-k{margin-right:1.4mm;color:var(--dp-lite);font-family:'Poppins';font-weight:600}
.dp-sep{margin:0 2.6mm;color:rgba(255,255,255,.32)}
.dp-lg{margin-top:2.6mm;font-size:7pt;line-height:1.6}
.dp-lg.cred{margin-top:0}
.dp-lg.disc{margin-top:1.4mm;color:rgba(234,241,251,.58)}

/* photography (static brand crops in images/packs/mps/, made by the MPS template's prep_images.py) */
.dp-bg-cover{background-image:linear-gradient(0deg,rgba(9,20,38,.72) 0%,rgba(9,20,38,0) 58%),linear-gradient(90deg,rgba(9,20,38,.95) 0%,rgba(9,20,38,.66) 52%,rgba(9,20,38,.42) 100%),url(images/packs/mps/cover.jpg)}
.dp-bg-figures{background-image:linear-gradient(rgba(9,20,38,.85),rgba(9,20,38,.9)),url(images/packs/mps/figures.jpg)}
.dp-bg-footer{background-image:linear-gradient(90deg,rgba(9,20,38,.95) 0%,rgba(9,20,38,.82) 50%,rgba(9,20,38,.62) 100%),url(images/packs/mps/footer.jpg)}
.dp-band{background-image:linear-gradient(180deg,rgba(9,20,38,.55) 0%,rgba(9,20,38,0) 45%),linear-gradient(90deg,rgba(9,20,38,.96) 0%,rgba(9,20,38,.84) 42%,rgba(9,20,38,.5) 100%),var(--dp-photo)}

/* ── print: only the pages, exactly A4, nothing of the app ── */
@media print{
  html.dp-open,html.dp-open body{background:#fff!important}
  html.dp-open #ambient,html.dp-open #film,html.dp-open #rail,html.dp-open #topbar,html.dp-open #toasts,html.dp-open #palette,
  html.dp-open #modal-root,html.dp-open #login,html.dp-open .dp-bar,html.dp-open .dp-note,html.dp-open .dp-tools,html.dp-open .dp-busy{display:none!important}
  html.dp-open #app,html.dp-open #main,html.dp-open #view,html.dp-open .dp-docwrap{display:block!important;position:static!important;margin:0!important;
    padding:0!important;overflow:visible!important;background:none!important;min-height:0!important;width:auto!important;max-width:none!important;animation:none!important}
  html.dp-open .dp-doc{zoom:1!important;margin:0!important;gap:0!important;width:210mm!important}
  html.dp-open .dp-pg{border-radius:0;break-after:page;page-break-after:always}
  html.dp-open .dp-pg:last-child{break-after:auto;page-break-after:auto}
  html.dp-open .dp-ed{background:none!important;box-shadow:none!important}
  html.dp-open .dp-ed[data-empty]:before{content:none}
  html.dp-open .dp-over{box-shadow:none!important;background:none!important}
  html.dp-open .dp-slot:not(.has) .dp-empty{visibility:hidden}
  html.dp-open .dp-photo.boxed:not(.has){border-style:solid;border-color:var(--dp-line)}
}
