/* Documento do orçamento: o mesmo HTML na prévia, no PDF e na página do cliente. Fundo branco, marca do prestador. */
.doc{
  --doc-ink:#12110E;
  --doc-muted:#5F5C4E;
  --doc-line:#E4E1CF;
  --doc-soft:#F6F5EC;
  --doc-accent:#FB4F14;
  container-type:inline-size;
  background:#fff;
  color:var(--doc-ink);
  font-family:var(--f-body);
  font-size:15px;
  line-height:1.45;
  padding:0 20px 24px;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.doc::before{content:"";display:block;height:4px;margin:0 -20px 22px;background:var(--doc-accent)}
.doc p,.doc dl,.doc dd{margin:0}
.doc a{color:inherit}

.doc-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--doc-line)}
.doc-provider{display:flex;gap:14px;align-items:flex-start;min-width:0;flex:1 1 260px}
.doc-logo{width:auto;height:auto;max-width:120px;max-height:64px;object-fit:contain}
.doc-provider-name{font-family:var(--f-display);font-weight:600;font-size:1.25em;letter-spacing:-.02em;line-height:1.15;margin-bottom:4px;overflow-wrap:anywhere}
.doc-meta{color:var(--doc-muted);font-size:.86em;overflow-wrap:anywhere}

.doc-title{text-align:right;flex:0 0 auto}
.doc-kicker{font-size:.78em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--doc-muted)}
.doc-number{font-family:var(--f-display);font-weight:600;font-size:1.25em;letter-spacing:-.02em;margin:2px 0 8px}
.doc-dates{display:grid;gap:2px;font-size:.86em}
.doc-dates div{display:flex;justify-content:flex-end;gap:8px}
.doc-dates dt{color:var(--doc-muted)}
.doc-dates dd{font-variant-numeric:tabular-nums;font-weight:500}

.doc-client{padding-block:18px}
.doc-label{font-size:.78em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--doc-muted);margin-bottom:2px}
.doc-client-name{font-weight:600;font-size:1.1em;overflow-wrap:anywhere}

.doc-items{width:100%;border-collapse:collapse;font-size:.92em}
.doc-items th{font-size:.84em;font-weight:600;text-align:left;color:var(--doc-muted);padding:8px 6px;border-bottom:1.5px solid var(--doc-ink)}
.doc-items td{padding:9px 6px;border-bottom:1px solid var(--doc-line);vertical-align:top}
.doc-items th:first-child,.doc-items td:first-child{padding-left:0}
.doc-items th:last-child,.doc-items td:last-child{padding-right:0}
.doc-desc{overflow-wrap:anywhere}
.doc-num{text-align:right !important;white-space:nowrap;font-variant-numeric:tabular-nums}
.doc-line{font-weight:500}
.doc-empty{color:var(--doc-muted);text-align:center}

.doc .doc-summary{display:grid;gap:4px;margin:14px 0 0 auto;max-width:300px;font-variant-numeric:tabular-nums}
.doc-summary div{display:flex;justify-content:space-between;gap:16px}
.doc-summary dt{color:var(--doc-muted)}
.doc-total{margin-top:6px;padding:10px 0 0;border-top:1.5px solid var(--doc-ink);align-items:baseline}
.doc-total dt{color:var(--doc-ink) !important;font-weight:600}
.doc-total dd{font-family:var(--f-display);font-weight:600;font-size:1.45em;letter-spacing:-.02em}
.doc-deposit{margin-top:4px}
.doc-deposit dt,.doc-deposit dd{color:var(--doc-ink) !important;font-weight:600}

.doc-terms{display:grid;gap:14px;margin-top:22px;padding:14px 16px;background:var(--doc-soft);border-radius:6px;font-size:.9em}
.doc-terms-list{display:grid;gap:8px}
.doc-terms-list dt{font-size:.86em;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--doc-muted)}
.doc-terms-list dd{white-space:pre-line;overflow-wrap:anywhere}
.doc-notes p:last-child{white-space:pre-line;overflow-wrap:anywhere}

.doc-pix{display:flex;gap:16px;align-items:flex-start;margin-top:18px;padding:14px 16px;border:1px solid var(--doc-line);border-left:3px solid var(--doc-accent);border-radius:6px}
.doc-pix-qr{flex:none;width:30mm;aspect-ratio:1}
.doc-pix-qr .qr{width:100%;height:auto}
.doc-pix--no-qr .doc-pix-qr{display:none}
.doc-pix-info{display:grid;gap:3px;min-width:0}
.doc-pix-amount{font-family:var(--f-display);font-weight:600;font-size:1.2em;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.doc-pix-code{margin-top:4px !important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68em;line-height:1.35;color:var(--doc-muted);word-break:break-all}

.doc-receipt-text{margin-top:22px !important;font-size:1.05em;line-height:1.6;overflow-wrap:anywhere}
.doc-receipt .doc-summary{margin-top:18px}
.doc-sign{display:grid;justify-items:center;gap:4px;margin-top:56px;text-align:center}
.doc-sign .doc-meta:first-child{margin-bottom:36px}
.doc-sign-line{width:min(80mm,100%);border-top:1px solid var(--doc-ink)}
.doc-sign-name{font-weight:600;overflow-wrap:anywhere}
.doc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:24px;padding-top:12px;border-top:1px solid var(--doc-line);font-size:.75em;color:var(--doc-muted)}
.doc-badge{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:var(--doc-muted)}
.doc-badge img{height:.95em;width:auto}

@container (max-width:520px){
  .doc-title{text-align:left}
  .doc-dates div{justify-content:flex-start}
  .doc-items thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .doc-items tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--doc-line)}
  .doc-items td{display:block;padding:0 !important;border:0}
  .doc-desc{grid-column:1 / -1;font-weight:500}
  .doc-qty{display:none !important}
  .doc-unit{text-align:left !important;color:var(--doc-muted)}
  .doc-unit::before{content:attr(data-qty) " × "}
  .doc .doc-summary{max-width:none}
  .doc-pix{flex-wrap:wrap}
}

/* A4 fiel: a prévia usa as mesmas medidas da página impressa */
.doc--a4{
  width:210mm;
  min-height:297mm;
  padding:14mm 16mm;
  font-size:10pt;
}
.doc--a4::before{height:3pt;margin:0 0 12pt}
.doc--a4 .doc-logo{max-width:42mm;max-height:22mm}

.paper-frame{overflow:hidden;border-radius:4px}
.paper-frame .doc--a4{transform-origin:top left;box-shadow:0 1px 0 rgba(0,0,0,.2),var(--shadow)}

@page{size:A4;margin:14mm 16mm}

@media print{
  html,body{background:#fff !important;color:#12110E !important;padding:0 !important;min-height:0 !important}
  .no-print,.skip-link,#toast{display:none !important}
  main,.wrap,.view{padding:0 !important;margin:0 !important;max-width:none !important;border:0 !important}
  .paper-frame{height:auto !important;overflow:visible;border-radius:0}
  .doc{width:auto !important;min-height:0 !important;padding:0 !important;transform:none !important;box-shadow:none !important;font-size:10pt}
  .doc::before{height:3pt;margin:0 0 12pt}
  .doc a{text-decoration:none}
  .doc-items thead{display:table-header-group}
  .doc-items tr,.doc-summary,.doc-terms,.doc-pix,.doc-foot,.doc-head,.doc-sign{break-inside:avoid}
}
