/* Client documents (quote + contract). Also embedded in Word/HTML downloads by QuoteDoc, so layout uses tables
   (Word ignores flex/grid) and every rule is scoped under .paper .doc. Paper stays white in dark mode. */
.paper .doc{--acc:#1d7f47;--ink:#1a1c1b;--mute:#6b736f;--rule:#1a1c1b;--hair:#dfe3e1;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12.5px;line-height:1.5;color:var(--ink)}
.paper:has(> .doc){padding:44px 52px 30px}
.paper .doc p{margin:4px 0}
.paper .doc .mute{color:var(--mute)}
.paper .doc .ph{background:#fff1b8;color:#7a5b00;border-radius:3px;padding:0 3px}
.paper .doc b{font-weight:700}

/* layout tables: no borders */
.paper .doc table{width:100%;border-collapse:collapse;margin:0}
.paper .doc table.lay td{border:0;padding:0;vertical-align:top;background:none;font-size:12.5px;color:var(--ink)}

/* wordmark */
.paper .doc .wm{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800;font-size:46px;line-height:1;letter-spacing:-.045em;color:#111;white-space:nowrap}
.paper .doc img.d-logo-img{display:inline-block;max-width:100%;border:0}
.paper .doc .d-logo{text-align:right;padding-bottom:26px}

/* quote header */
.paper .doc .d-title{font-size:34px;font-weight:300;letter-spacing:.01em;line-height:1.1;margin:0 0 4px;text-transform:uppercase;text-align:left;color:var(--ink)}
.paper .doc .d-sub{color:var(--mute);font-size:12px;margin-bottom:14px}
.paper .doc .d-to{padding-left:0;font-size:12.5px}
.paper .doc .d-to b{font-size:13px}
.paper .doc .d-meta{width:150px;padding-right:14px}
.paper .doc .d-meta .k{display:block;font-weight:700;font-size:11.5px;margin-top:8px}
.paper .doc .d-meta .k:first-child{margin-top:0}
.paper .doc .d-from{width:190px;font-size:12px}
.paper .doc .d-tour{margin:26px 0 0;padding:10px 14px;background:#f5f7f6;border-left:3px solid var(--acc);font-size:12px}
.paper .doc .d-tour b{font-size:12.5px}
.paper .doc .d-intro{margin:22px 0 4px}

/* line items */
.paper .doc table.d-lines{margin-top:18px}
.paper .doc table.d-lines th,.paper .doc table.d-lines td{border:0;background:none;color:var(--ink);text-transform:none;letter-spacing:0;position:static;font-size:12.5px;padding:9px 6px;vertical-align:top}
.paper .doc table.d-lines th{font-weight:700;border-bottom:1px solid var(--rule);text-align:left;white-space:nowrap}
.paper .doc table.d-lines tbody td{border-bottom:1px solid var(--hair)}
.paper .doc table.d-lines tbody tr:last-child td{border-bottom:1px solid var(--rule)}
.paper .doc table.d-lines .r{text-align:right;white-space:nowrap}
.paper .doc table.d-lines .n{color:var(--mute);width:22px}
.paper .doc table.d-lines td:first-child,.paper .doc table.d-lines th:first-child{padding-left:0}
.paper .doc table.d-lines td:last-child,.paper .doc table.d-lines th:last-child{padding-right:0}

/* totals */
.paper .doc table.d-tot{width:56%;margin:0 0 0 auto}
.paper .doc table.d-tot td{border:0;background:none;padding:8px 0 8px 6px;font-size:12.5px;color:var(--ink);text-align:right;vertical-align:top}
.paper .doc table.d-tot td.v{width:130px;white-space:nowrap}
.paper .doc table.d-tot tr.sum td{border-bottom:1px solid var(--rule)}
.paper .doc table.d-tot tr.grand td{font-weight:700;font-size:13.5px;border-bottom:1px solid var(--rule);padding:10px 0 10px 6px}
.paper .doc table.d-tot i{color:var(--mute)}
.paper .doc .d-words{text-align:right;font-style:italic;color:var(--mute);margin-top:8px}

/* sections (terms, payment) */
.paper .doc .d-sec{margin-top:34px;break-inside:avoid}
.paper .doc .d-sec > h3{font-size:12.5px;font-weight:700;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--rule);color:var(--ink)}
.paper .doc .d-tg{margin:0 0 10px}
.paper .doc .d-th{margin:0}
.paper .doc ul{margin:0;padding:0;list-style:none}
.paper .doc ul li{padding-left:10px;text-indent:-10px}
.paper .doc ul li::before{content:"•";display:inline-block;width:10px;text-indent:0}
.paper .doc .d-pay td{padding:2px 0}
.paper .doc .d-pay td:first-child{width:150px;color:var(--mute)}

.paper .doc .d-sign{margin-top:36px}
.paper .doc .d-sign td{text-align:center;width:50%}
.paper .doc .d-sign .line{margin:70px auto 6px;width:72%;border-top:1px solid var(--ink)}
.paper .doc .d-foot{margin-top:46px;padding-top:10px;border-top:1px solid var(--hair);font-size:10.5px;color:var(--mute);text-align:center}

/* ---- contract ---- */
.paper .doc.ct{font-size:13px;line-height:1.6}
.paper .doc.ct table.lay td{font-size:13px}
.paper .doc.ct .wm{font-size:30px}
.paper .doc.ct .d-ref{text-align:right;font-size:11.5px;color:var(--mute);vertical-align:bottom}
.paper .doc.ct .d-ref b{color:var(--ink)}
.paper .doc.ct .d-band{border-bottom:2px solid var(--acc);padding-bottom:10px}
.paper .doc.ct .nat{text-align:center;margin:22px 0 0;font-weight:700;line-height:1.5}
.paper .doc.ct .nat span{display:block;font-weight:700}
.paper .doc.ct .nat i{display:block;width:150px;margin:4px auto 0;border-top:1px solid var(--ink)}
.paper .doc.ct h1{font-size:20px;font-weight:700;text-align:center;letter-spacing:.04em;margin:26px 0 2px;color:var(--ink);text-transform:uppercase}
.paper .doc.ct .no{text-align:center;color:var(--mute);margin:0 0 20px}
.paper .doc.ct .basis{font-style:italic;margin:0 0 12px}
.paper .doc.ct .basis p{margin:2px 0}
.paper .doc.ct .party{margin:14px 0 4px;break-inside:avoid}
.paper .doc.ct .party h4{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--ink)}
.paper .doc.ct table.kv td{border:0;background:none;padding:2px 0;font-size:13px;color:var(--ink);vertical-align:top}
.paper .doc.ct table.kv td.k{width:150px;color:var(--mute)}
.paper .doc.ct table.kv td.k::after{content:":"}
.paper .doc.ct h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--acc);margin:24px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--hair)}
.paper .doc.ct .cl{padding-left:30px;text-indent:-30px;margin:5px 0;text-align:justify}
.paper .doc.ct .cl .n{display:inline-block;width:30px;text-indent:0}
.paper .doc.ct table.d-spec{margin:8px 0 4px}
.paper .doc.ct table.d-spec td{border:0;border-bottom:1px solid var(--hair);background:none;padding:6px 0;font-size:13px;color:var(--ink)}
.paper .doc.ct table.d-spec td.k{width:190px;color:var(--mute)}
.paper .doc.ct table.d-lines{margin-top:10px}
.paper .doc.ct table.d-lines th,.paper .doc.ct table.d-lines td{font-size:12.5px}
.paper .doc.ct table.d-tot{width:60%}
.paper .doc.ct .d-sign{margin-top:40px;break-inside:avoid}
.paper .doc.ct .d-sign b{display:block;font-size:13px}
.paper .doc.ct .d-sign .line{margin-top:84px}

@media print{
  @page{size:A4;margin:16mm 14mm}
  .paper:has(> .doc){padding:0}
  .paper .doc .d-sec,.paper .doc .party,.paper .doc .d-sign,.paper .doc table.d-tot{break-inside:avoid}
  .paper .doc.ct h2{break-after:avoid}
}
@media (max-width:860px){.paper:has(> .doc){padding:26px 20px}.paper .doc .wm{font-size:34px}.paper .doc img.d-logo-img{height:34px!important}.paper .doc .d-title{font-size:26px}}

/* ---- payslip ---- */
.paper .doc.slip .d-band{border-bottom:2px solid var(--acc);padding-bottom:12px}
.paper .doc.slip .d-ref{text-align:right;font-size:12px;color:var(--mute);vertical-align:top}
.paper .doc.slip .d-ref b{color:var(--ink)}
.paper .doc.slip table.slip-emp{margin:18px 0 6px}
.paper .doc.slip table.slip-emp td{border:0;border-bottom:1px solid var(--hair);background:none;padding:6px 8px 6px 0;font-size:12.5px;color:var(--ink);vertical-align:top}
.paper .doc.slip table.slip-emp td.k{width:120px;color:var(--mute)}
.paper .doc.slip table.d-tot{width:60%}
.paper .doc.slip table.d-tot tr.grand td{font-size:15px}
.paper .doc.slip .d-sign .line{margin-top:60px}
