:root{--blue:#063d8c;--blue2:#0d8edb;--green:#58b600;--light:#eaf4fc;--line:#b8d4eb;--ink:#10213c}*{box-sizing:border-box}body{margin:0;background:#eef2f6;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.app-bg{min-height:100vh;display:grid;place-items:center}.upload-shell{width:min(760px,94vw);padding:30px}.upload-card{background:white;border-radius:20px;padding:38px;box-shadow:0 18px 60px #17375e22;text-align:center}.upload-logo{width:300px;max-width:75%;height:auto}.upload-card h1{color:var(--blue);font-size:30px;margin:10px 0}.upload-card p{color:#526273;line-height:1.5}.dropzone{display:flex;flex-direction:column;gap:7px;border:2px dashed #9bc5e7;background:#f7fbff;padding:28px;border-radius:14px;margin:24px 0;cursor:pointer}.dropzone input{margin:12px auto 0}.upload-card button,.screen-actions button,.screen-actions a{border:0;border-radius:9px;padding:12px 18px;background:var(--blue);color:white;font-weight:700;text-decoration:none;cursor:pointer}.alert{padding:12px;background:#fff1f1;color:#9c2020;border-radius:8px}.screen-actions{width:210mm;margin:16px auto 8px;display:flex;justify-content:flex-end;gap:10px}.a4{width:210mm;min-height:297mm;margin:0 auto 30px;background:white;padding:9mm 8mm 7mm;box-shadow:0 4px 25px #0002;position:relative;overflow:hidden}.a4:before,.a4:after{content:"";position:absolute;left:-5%;width:110%;height:12mm;z-index:0}.a4:before{top:-7mm;background:linear-gradient(8deg,var(--blue) 0 48%,var(--blue2) 49% 70%,var(--green) 71%)}.a4:after{bottom:-7mm;background:linear-gradient(-6deg,var(--blue) 0 50%,var(--blue2) 51% 73%,var(--green) 74%)}.a4>*{position:relative;z-index:1}.brand-head{height:30mm;display:grid;grid-template-columns:30% 34% 36%;align-items:center;border-bottom:1px solid var(--line);padding-top:3mm}.brand-head img{width:100%;max-height:27mm;object-fit:contain}.slogan{font-size:14px;font-weight:700;font-style:italic;color:var(--blue);border-left:1px solid var(--blue2);padding-left:9mm;line-height:1.35}.benefits{display:flex;justify-content:space-around;text-align:center;color:var(--blue);font-size:16px}.benefits span{display:flex;flex-direction:column;gap:2px}.benefits b{font-size:7.5px}.receipt-title{display:flex;align-items:center;justify-content:space-between;height:24mm}.receipt-title h1{font-size:35px;color:var(--blue);margin:0}.receipt-title>div{background:#f1f5f9;border-radius:5px;padding:3mm 10mm;text-align:center}.receipt-title strong{display:block;font-size:18px;color:var(--blue)}.receipt-title small{display:block;margin-top:2mm;font-size:10px}.box{border:1px solid var(--line);border-radius:4px;margin-bottom:3mm;overflow:hidden}.box h2,.items h2{font-size:11px;margin:0;padding:2mm 3mm;background:linear-gradient(90deg,#dcecf8,#eef6fc);color:var(--blue)}.box-body{padding:2.5mm 3mm;font-size:9.5px}.box-body strong{font-size:10.5px}.box-body p{margin:1.3mm 0}.info-grid{display:grid;grid-template-columns:1.15fr 1fr 1.2fr .85fr;gap:2mm;padding:2mm}.info-grid>div{border:1px solid #d4e3ef;border-radius:3px;padding:2.5mm;min-height:16mm}.info-grid label{display:block;font-size:7.5px;color:var(--blue);font-weight:700;margin-bottom:3mm}.info-grid span{font-size:11px}.client{margin:2mm;padding:2.5mm;border:1px solid #d4e3ef;border-radius:3px;font-size:10.5px;font-weight:700}.items{border:1px solid var(--line);border-radius:4px;overflow:hidden}.items h2{border-bottom:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:8.5px}th,td{border-right:1px solid #c8d9e8;border-bottom:1px solid #c8d9e8;padding:2.1mm 2.5mm}th{background:#eff7fd;color:var(--blue);text-align:left;font-size:8px}th:nth-child(n+2),td:nth-child(n+2){text-align:center}th:first-child{width:55%}tfoot td{font-size:13px;font-weight:700;background:#eaf4fc;color:var(--blue)}tfoot td:first-child{text-align:right}tfoot td:last-child{background:var(--blue);color:white}footer{display:grid;grid-template-columns:1fr 1fr;gap:8mm;border-top:1px solid var(--blue2);margin-top:5mm;padding:5mm 4mm 0;font-size:8px;line-height:1.5}.thanks{border-left:1px solid var(--blue2);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:20px;font-family:cursive;font-style:italic;text-align:center}@page{size:A4;margin:0}
@media print{
  :root{--blue:#000;--blue2:#000;--green:#000;--light:#fff;--line:#000;--ink:#000}
  *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}
  html,body{background:#fff !important;color:#000 !important}
  .screen-actions{display:none !important}
  .a4{margin:0;box-shadow:none;width:210mm;height:297mm;min-height:297mm;page-break-after:avoid;color:#000 !important}

  /* No papel/PDF, todas as cores da marca viram preto e branco. */
  .a4:before{background:#000 !important;height:5mm !important;top:0 !important;left:0 !important;width:100% !important;transform:none !important}
  .a4:after{background:#000 !important;height:5mm !important;bottom:0 !important;left:0 !important;width:100% !important;transform:none !important}
  .brand-head{border-color:#000 !important}
  .brand-head img{filter:grayscale(100%) contrast(125%)}
  .slogan,.benefits,.receipt-title h1,.receipt-title strong,.box h2,.items h2,.info-grid label,.thanks{color:#000 !important;border-color:#000 !important}
  .receipt-title>div{background:#fff !important;border:1px solid #000 !important}
  .box,.items,.info-grid>div,.client,th,td,footer{border-color:#000 !important}
  .box h2,.items h2,th{background:#fff !important;color:#000 !important}
  table{color:#000 !important}
  tfoot td{background:#fff !important;color:#000 !important;border-top:2px solid #000 !important}
  tfoot td:last-child{background:#000 !important;color:#fff !important;border:2px solid #000 !important;font-weight:800 !important}
  footer{border-top:1px solid #000 !important}

  /* Reforço do barrado para impressoras que clareiam fundos. */
  .a4{border-top:5mm solid #000 !important;border-bottom:5mm solid #000 !important;padding-top:4mm !important;padding-bottom:2mm !important}
  .a4:before,.a4:after{display:none !important}
}
