*{box-sizing:border-box}:root{--primary:#171717;--line:#e2e8f0;--muted:#64748b;--danger:#dc2626;--ok:#16a34a}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f4f6;color:#1f2937}a{text-decoration:none;color:#2563eb}.topbar{min-height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 24px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand img{height:34px;max-width:140px;object-fit:contain}.brand small{display:block;color:var(--muted);font-size:12px}.layout{max-width:1200px;margin:28px auto;padding:0 18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 10px 28px rgba(15,23,42,.06);margin-bottom:18px}h1,h2,h3{margin-top:0}.muted{color:var(--muted)}.nav-btn{border:0;border-radius:999px;background:#eef2f7;padding:9px 13px;font-weight:800;cursor:pointer;margin:3px}.nav-btn.active{background:var(--primary);color:#fff}.btn{border:0;border-radius:10px;padding:10px 14px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer;display:inline-block}.btn.secondary{background:#475569}.btn.light{background:#e2e8f0;color:#111827}.btn.danger{background:var(--danger)}.btn.small{padding:7px 9px;font-size:12px}.btn.full{width:100%}.toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{margin-bottom:13px}label{font-weight:800;font-size:14px;display:block;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 11px;font-size:15px;background:#fff}textarea{min-height:85px;resize:vertical}.message{padding:12px 14px;border-radius:10px;margin-bottom:12px}.message.error{background:#fee2e2;color:#991b1b}.message.success{background:#dcfce7;color:#166534}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px}.login-box{max-width:430px;width:100%}.login-logo{height:55px;max-width:220px;object-fit:contain;display:block;margin:0 auto 18px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.kpi strong{display:block;font-size:28px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#111827;color:#fff;font-size:12px;text-transform:uppercase}.badge{padding:5px 9px;border-radius:999px;background:#eef2f7;font-weight:800;font-size:12px}.box-card{border:1px solid var(--line);background:#fbfdff;border-radius:14px;padding:14px;margin-bottom:12px}.item-row{display:grid;grid-template-columns:2fr 1.4fr .6fr .8fr 1fr auto;gap:10px;align-items:end;margin-bottom:8px}.model-box-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.model-box-check{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.print-actions{max-width:210mm;margin:20px auto;display:flex;gap:10px}

/* ORÇAMENTO IMPRESSO COM WATERMARK ÚNICA NO TAMANHO DA PÁGINA */
.quote-page{width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:14mm;color:#2d3748;box-shadow:0 10px 30px rgba(0,0,0,.08);position:relative;overflow:hidden;isolation:isolate}.quote-page>*:not(.full-page-watermark){position:relative;z-index:2}.full-page-watermark{position:absolute;top:50%;left:50%;width:165%;height:auto;max-width:none;max-height:none;object-fit:contain;opacity:.045;z-index:0;transform:translate(-50%,-50%) rotate(-32deg);transform-origin:center;pointer-events:none;user-select:none;filter:grayscale(1)}.quote-page::after{content:"VALIDAÇÃO DE ORÇAMENTO";position:absolute;left:50%;top:50%;z-index:1;color:#111827;opacity:.035;font-size:30px;font-weight:900;letter-spacing:.20em;transform:translate(-50%,-50%) rotate(-32deg);pointer-events:none;white-space:nowrap}.quote-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #dbe3ee;border-left:7px solid var(--primary);border-bottom:4px solid var(--primary);border-radius:16px;padding:17px 20px 16px;background:linear-gradient(135deg,rgba(255,255,255,.97) 0%,rgba(248,250,252,.97) 58%,rgba(238,242,247,.97) 100%);margin-bottom:24px;box-shadow:0 12px 30px rgba(15,23,42,.08)}.quote-logo{display:flex;align-items:center;gap:14px;min-width:45%}.quote-logo img{max-width:230px;max-height:92px;object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;box-shadow:0 8px 18px rgba(15,23,42,.08)}.quote-brand-caption{display:flex;flex-direction:column;gap:4px;border-left:1px solid #dbe3ee;padding-left:14px}.quote-brand-caption strong{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#111827}.quote-brand-caption span{font-size:12px;color:#64748b}.quote-title{text-align:right}.quote-title h1{font-size:38px;line-height:1;margin:0 0 12px;color:#111;letter-spacing:.04em}.quote-title .quote-meta{display:inline-block;text-align:left;background:rgba(255,255,255,.96);border:1px solid #e2e8f0;border-radius:13px;padding:10px 13px;box-shadow:0 4px 12px rgba(15,23,42,.05)}.quote-title .quote-meta div{margin:4px 0;color:#334155}.quote-status-seal{display:inline-flex;margin-top:8px;border:1px solid var(--primary);background:var(--primary);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.quote-section-grid,.quote-bottom{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-bottom:25px}.quote-section h2,.box-title{color:#718096;font-size:16px;margin-bottom:10px;border-bottom:1px solid #e2e8f0;padding-bottom:8px;letter-spacing:.04em}.quote-section p{margin:7px 0;line-height:1.35}.quote-table{width:100%;border-collapse:collapse;margin:12px 0 24px;background:rgba(255,255,255,.94)}.quote-table th{background:var(--primary);color:white;text-transform:uppercase;padding:12px;font-size:13px;text-align:left}.quote-table td{padding:13px 12px;border-bottom:1px solid #e2e8f0;vertical-align:top}.quote-table tbody tr:nth-child(even) td{background:rgba(247,250,252,.94)}.desc strong{display:block;color:#171717}.desc span{display:block;color:#718096;font-size:13px}.terms-box{background:rgba(247,250,252,.95);border-left:4px solid var(--primary);padding:14px 16px;font-size:13px;line-height:1.35}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:16px}.summary-row.discount span:last-child{color:var(--danger)}.summary-total{border-top:3px solid var(--primary);border-bottom:3px solid var(--primary);margin-top:8px;padding:14px 0;font-size:22px;font-weight:900}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:64px;text-align:center;color:#718096}.signature-line{border-top:1px solid #9ca3af;padding-top:10px}.page-number{text-align:right;color:#9ca3af;font-size:12px;margin-top:70px}@media(max-width:900px){.topbar,.toolbar{flex-direction:column;align-items:stretch}.grid,.grid3,.kpis,.quote-section-grid,.quote-bottom,.signatures,.item-row,.model-box-list{grid-template-columns:1fr}.quote-page{width:100%;padding:22px}.full-page-watermark{width:190%}.quote-top{flex-direction:column;align-items:flex-start}.quote-logo{min-width:100%;flex-direction:column;align-items:flex-start}.quote-title{text-align:left}.quote-title h1{font-size:31px}}@media print{body{background:#fff}.topbar,.print-actions{display:none!important}.quote-page{box-shadow:none;margin:0;width:210mm;min-height:297mm;padding:14mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}.full-page-watermark{opacity:.04}.quote-page::after{opacity:.03}@page{size:A4;margin:0}}

/* AJUSTE DE IMPRESSÃO: aplica escala visual de 80% automaticamente.
   Assim o usuário pode imprimir em escala 100% no navegador e o layout sai como se estivesse em 80%. */
@media print {
  html,
  body {
    width: 210mm !important;
    height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  #printQuote {
    width: 210mm !important;
    height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .quote-page {
    --print-scale: .80;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 210mm !important;
    height: 371.25mm !important; /* 297mm / 0.80 */
    min-height: 371.25mm !important;
    margin: 0 !important;
    padding: 14mm !important;
    transform: translateX(-50%) scale(var(--print-scale)) !important;
    transform-origin: top center !important;
    box-shadow: none !important;
    page-break-before: avoid !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .full-page-watermark {
    opacity: .04 !important;
  }

  .quote-page::after {
    opacity: .03 !important;
  }

  @page {
    size: A4 portrait;
    margin: 0;
  }
}
