@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');
:root{--ink:#0d0d0d;--paper:#f7f3ed;--white:#fff;--muted:#696661;--line:#d8d2c9;--pink:#ea1868;--orange:#ee511d;--success:#197a4b;--danger:#b42318;--radius:14px;--shadow:0 18px 45px rgba(13,13,13,.09);--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 Poppins,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{min-height:78px;padding:12px max(24px,calc((100vw - 1220px)/2));display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:var(--ink);color:var(--white);border-bottom:4px solid var(--pink)}.brand img{display:block;width:150px;max-height:48px;object-fit:contain}.topbar>div{display:flex;gap:12px;align-items:center}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.13em;color:var(--pink)}.shell{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:var(--space-6) 0 80px}.intro{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6);align-items:end;margin-bottom:var(--space-5)}h1,h2,h3,p{margin-top:0}.intro h1{max-width:800px;margin:.5rem 0 .75rem;font-size:clamp(2rem,4vw,4.25rem);line-height:1.03;letter-spacing:-.05em}.intro p{max-width:720px;color:var(--muted);font-size:1.05rem}.contract-id{padding:var(--space-4);background:var(--white);border-left:5px solid var(--orange);box-shadow:var(--shadow)}.contract-id span,.contract-id small{display:block;color:var(--muted);font-size:.78rem}.contract-id strong{display:block;margin:.4rem 0;font-size:1.25rem}.steps{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border:1px solid var(--line);box-shadow:0 8px 20px rgba(13,13,13,.05)}.steps button{min-height:68px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-weight:600}.steps button:last-child{border-right:0}.steps span{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:8px;border-radius:50%;background:#e8e4de}.steps button.active{background:var(--ink);color:var(--white)}.steps button.active span,.steps button.done span{background:var(--pink);color:var(--white)}.stage{padding-top:var(--space-6)}.stage-header{display:flex;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-4)}.stage-header>span{color:var(--pink);font-size:1.2rem;font-weight:800}.stage-header h2{margin:0;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.1}.stage-header p{margin:.4rem 0 0;color:var(--muted)}.panel{margin-bottom:var(--space-4);padding:clamp(20px,3vw,34px);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}.panel h3{margin-bottom:var(--space-4)}.lookup-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:end;max-width:760px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-4)}label{display:block}label>span{display:block;margin-bottom:.4rem;font-size:.8rem;font-weight:700}label.wide{grid-column:1/-1}input,select,textarea{width:100%;min-height:50px;border:1px solid #b9b3aa;border-radius:8px;background:var(--white);padding:.75rem .9rem;color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(234,24,104,.18);border-color:var(--pink)}input:invalid:not(:placeholder-shown){border-color:var(--danger)}.field-status{min-height:1.4em;margin:.6rem 0 1rem;color:var(--success);font-size:.85rem}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border-radius:999px;padding:.7rem 1.25rem;border:1px solid transparent;font-weight:700;text-decoration:none}.button-primary{background:var(--pink);color:var(--white)}.button-primary:hover{background:#c90f57}.button-secondary{background:var(--white);border-color:var(--ink);color:var(--ink)}.button-secondary:hover,.button-quiet:hover{background:#ece7e0}.button-quiet{background:transparent;border-color:var(--line);color:inherit}.actions{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5)}.panel-heading,.selection-heading{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center}.panel-heading h3,.selection-heading h3{margin:0}.panel-heading p,.selection-heading p{margin:.25rem 0 0;color:var(--muted)}.empty-state{padding:var(--space-6);text-align:center;border:1px dashed #aaa39a;background:#fbfaf8}.empty-state span{display:block;font-size:2rem;color:var(--pink)}.empty-state b{display:block}.empty-state p{margin:.35rem 0 0;color:var(--muted)}.equipment-list{display:grid;gap:var(--space-2)}.equipment-item{display:grid;grid-template-columns:50px 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--line);border-left:4px solid var(--orange)}.equipment-item>span{font-weight:800;text-align:center}.equipment-item p{margin:0;color:var(--muted);font-size:.85rem}.equipment-item button{border:0;background:transparent;color:var(--pink);font-weight:700}.upload input{position:absolute;opacity:0;pointer-events:none}.photo-list{display:flex;gap:8px;flex-wrap:wrap;margin:var(--space-3) 0 0;padding:0;list-style:none}.photo-list li{padding:.5rem .75rem;background:var(--paper);border-radius:99px;font-size:.78rem}.benefit-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:var(--space-3);margin-bottom:var(--space-4);background:var(--ink);color:var(--white)}.selection-heading{margin-bottom:var(--space-3)}.selection-heading label{width:min(360px,100%)}.points-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.point-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);min-height:135px;padding:var(--space-4);background:var(--white);border:2px solid transparent;box-shadow:var(--shadow);cursor:pointer}.point-card input{width:22px;height:22px;min-height:0;accent-color:var(--pink)}.point-card b,.point-card small,.point-card em{display:block}.point-card small{color:var(--muted)}.point-card em{margin-top:.6rem;color:var(--orange);font-size:.75rem;font-style:normal;font-weight:700}.point-card.selected{border-color:var(--pink)}.point-card.unavailable{opacity:.58;cursor:not-allowed;box-shadow:none}.point-card.unavailable em{color:var(--danger)}.compact{padding:var(--space-4)}.check{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:.75rem 0}.check input{width:22px;height:22px;min-height:0;accent-color:var(--pink)}.check span{font-size:.9rem;font-weight:500}.legal-note{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--line);color:var(--muted);font-size:.83rem}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.review-grid article{padding:var(--space-4);background:var(--white);border-top:4px solid var(--orange);box-shadow:var(--shadow)}.review-grid span{font-size:.75rem;color:var(--muted);font-weight:700}.review-grid strong{display:block;margin:.5rem 0}.review-grid p{color:var(--muted);font-size:.84rem}.review-grid button{border:0;padding:0;background:transparent;color:var(--pink);font-weight:700}.form-alert{position:sticky;top:76px;z-index:9;padding:var(--space-3);background:#fee4e2;color:var(--danger);border:1px solid #fda29b}.document-actions{position:sticky;top:12px;z-index:12;display:flex;justify-content:flex-end;gap:10px;margin:var(--space-4) 0}.contract{width:min(210mm,100%);margin:auto;padding:18mm;background:white;box-shadow:var(--shadow);font:11pt/1.5 Arial,sans-serif;color:#111}.contract h1{font-size:16pt;text-align:center;letter-spacing:0;line-height:1.3}.contract h2{margin:22px 0 8px;font-size:12pt}.contract p{margin:0 0 9px;text-align:justify}.contract .doc-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding-bottom:14px;border-bottom:3px solid #111}.contract .doc-head img{width:135px}.contract .doc-number{text-align:right;font-size:9pt}.contract table{width:100%;border-collapse:collapse;margin:10px 0;font-size:9pt}.contract th,.contract td{padding:6px;border:1px solid #555;text-align:left;vertical-align:top}.contract .signatures{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:50px}.contract .signature{padding-top:8px;border-top:1px solid #111;text-align:center}.contract .page-break{break-before:page;page-break-before:always}.contract .annex-title{border-bottom:2px solid #111;padding-bottom:8px}dialog{width:min(760px,calc(100% - 24px));border:0;border-radius:var(--radius);padding:0;box-shadow:0 30px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(13,13,13,.72)}dialog form{padding:var(--space-4)}dialog header,dialog footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}dialog header{margin-bottom:var(--space-4)}dialog header h2{margin:.25rem 0 0}dialog header button{border:0;background:transparent;font-size:2rem}dialog footer{margin-top:var(--space-4)}
@media(max-width:800px){.topbar{grid-template-columns:1fr auto}.topbar>div{display:none}.intro{grid-template-columns:1fr;gap:var(--space-3)}.steps button{font-size:0}.steps button span{font-size:.8rem;margin:0}.field-grid,.points-grid,.review-grid{grid-template-columns:1fr}.selection-heading,.panel-heading{align-items:stretch;flex-direction:column}.selection-heading label{width:100%}.shell{width:min(100% - 20px,1220px);padding-top:30px}.panel{padding:20px}.lookup-row{grid-template-columns:1fr}.actions{position:static;margin-left:0;margin-right:0;padding:10px 0;background:transparent}.actions .button{flex:1}.contract{padding:10mm}.contract .signatures{grid-template-columns:1fr}.document-actions{display:grid;grid-template-columns:1fr 1fr}.document-actions .button-primary{grid-column:1/-1}.equipment-item{grid-template-columns:40px 1fr}.equipment-item button{grid-column:2}.intro h1{font-size:2.25rem}}
@media print{body{background:#fff}.topbar,.intro,.steps,form,.document-actions{display:none!important}.shell{width:100%;padding:0}.document-view{display:block!important}.contract{width:100%;padding:12mm 14mm;box-shadow:none;font-size:10pt}.contract h2{break-after:avoid}.contract table,.contract .signature{break-inside:avoid}@page{size:A4;margin:0}}
.contract{overflow-wrap:anywhere}.contract .doc-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contract .doc-head img{max-width:100%}.contract table{table-layout:fixed}.contract th,.contract td{overflow-wrap:anywhere}
/* Detector-backed accessibility refinements */
:root{--muted:#45423e}
.eyebrow{font-size:.75rem;letter-spacing:.05em;color:#bd0045}.topbar .eyebrow{color:#ff76aa}
.topbar{margin-bottom:8px}form[data-form]{margin-top:8px}
.contract-id{display:grid;gap:8px}.contract-id strong{margin:0}
label:not(.point-card):not(.check):not(.upload){display:flex;flex-direction:column;gap:8px}label>span{margin-bottom:0}
.stage-header>div{display:grid;gap:8px}.stage-header p{margin:0}
.steps button.active span,.steps button.done span{background:#bd0045}
.contract .doc-head{grid-template-columns:135px minmax(0,1fr) auto}.doc-type{display:grid;gap:2px;font-size:8pt}.doc-type span{color:#555}.print-footer{display:none}
@media(max-width:800px){.contract .doc-head{grid-template-columns:1fr}.contract .doc-number{text-align:left}}
@media print{
  @page{size:A4;margin:13mm 14mm 17mm}
  html,body{background:#fff;color:#111}
  .topbar,.intro,.steps,form,.document-actions{display:none!important}
  .shell,.document-view{display:block!important;width:100%;margin:0;padding:0}
  .contract{width:100%;margin:0;padding:0;box-shadow:none;font:8.7pt/1.42 Arial,sans-serif;overflow:visible}
  .contract .doc-head{grid-template-columns:32mm minmax(0,1fr) auto;gap:5mm;min-height:13mm;margin:0 0 6mm;padding:0 0 3mm;border-bottom:1.4mm solid #0d0d0d;align-items:center;break-inside:avoid}
  .contract .doc-head img{width:30mm;max-height:12mm;object-fit:contain}
  .contract .doc-type{padding-left:4mm;border-left:.7mm solid #ea1868;font-size:7.3pt;line-height:1.25;text-transform:uppercase;letter-spacing:.03em}
  .contract .doc-type span{color:#555;font-size:6.8pt;letter-spacing:0}
  .contract .doc-number{font-size:7.2pt;line-height:1.35;white-space:nowrap}
  .contract>h1{max-width:165mm;margin:0 0 5mm;font-size:14pt;line-height:1.16;text-align:left;letter-spacing:-.01em;text-transform:uppercase}
  .contract>p{margin:0 0 2.4mm;text-align:justify;orphans:3;widows:3}
  .contract-clause{position:relative;margin:0 0 3mm;padding:0 0 0 4mm;border-left:.65mm solid #ea1868;break-inside:avoid-page;page-break-inside:avoid}
  .contract-clause:nth-of-type(even){border-left-color:#ee511d}
  .contract-clause h2{margin:0 0 1.2mm;font-size:9.2pt;line-height:1.2;letter-spacing:.015em;break-after:avoid;page-break-after:avoid}
  .contract-clause p{margin:0 0 1.2mm;text-align:justify;orphans:3;widows:3}
  .contract .signatures{grid-template-columns:1fr 1fr;gap:11mm 14mm;margin-top:13mm;break-inside:avoid;page-break-inside:avoid}
  .contract .signature{min-height:13mm;padding-top:2mm;border-top:.3mm solid #111;font-size:7.8pt;line-height:1.35;text-align:center;break-inside:avoid}
  .contract .page-break{break-before:page;page-break-before:always;padding-top:1mm}
  .contract .annex-title{margin:0 0 6mm;padding:0 0 3mm;border-bottom:1mm solid #0d0d0d;font-size:14pt;line-height:1.15;text-align:left}
  .contract .page-break>p{margin:0 0 2.5mm;text-align:left;orphans:3;widows:3}
  .contract table{width:100%;margin:4mm 0 5mm;table-layout:fixed;border-collapse:collapse;font-size:7.4pt;break-inside:avoid;page-break-inside:avoid}
  .contract thead{display:table-header-group}.contract tr{break-inside:avoid;page-break-inside:avoid}
  .contract th{background:#0d0d0d;color:#fff;font-weight:700}
  .contract th,.contract td{padding:2.2mm;border:.25mm solid #777;line-height:1.3;vertical-align:top}
  .contract th:first-child,.contract td:first-child{width:18%}.contract th:nth-child(2),.contract td:nth-child(2){width:25%}
  .print-footer{position:fixed;left:0;right:0;bottom:-11mm;display:flex;justify-content:space-between;gap:8mm;padding-top:2mm;border-top:.25mm solid #aaa;color:#555;font-size:6.5pt;letter-spacing:.025em}
}

/* Folhas corporativas do contrato de Ponto Parceiro */
.contract:has(.partner-print-sheet){width:min(210mm,100%);padding:0;background:transparent;box-shadow:none}
.partner-print-sheet{position:relative;width:min(210mm,100%);min-height:297mm;margin:0 auto 32px;padding:14mm;background:#fff;box-shadow:var(--shadow);color:#111}
.partner-sheet-heading{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:center;margin:0 0 22px;padding:18px 0;border-bottom:5px solid var(--pink)}
.partner-sheet-heading>span{display:grid;place-items:center;width:44px;height:44px;background:var(--ink);color:#fff;font-size:12px;font-weight:800}
.partner-sheet-heading small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.partner-sheet-heading h1{margin:3px 0 0;text-align:left;font-size:22px;text-transform:uppercase}
.partner-print-footer{position:absolute;left:14mm;right:14mm;bottom:10mm;display:flex;justify-content:space-between;gap:16px;padding-top:10px;border-top:1px solid #aaa;color:#666;font-size:9px;text-transform:uppercase}
@media(max-width:800px){.partner-print-sheet{min-height:0;padding:24px 18px 70px}.partner-print-footer{left:18px;right:18px;bottom:20px;display:grid}.partner-sheet-heading{grid-template-columns:40px 1fr}.partner-sheet-heading>span{width:38px;height:38px}.partner-sheet-heading h1{font-size:18px}}

@media print{
  @page{size:A4 portrait;margin:0}
  html,body{width:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
  body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .shell,.document-view{display:block!important;width:210mm!important;margin:0!important;padding:0!important}
  .contract:has(.partner-print-sheet){display:block!important;width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;font:8.15pt/1.48 Arial,sans-serif;overflow:visible!important}
  .partner-print-sheet{position:relative!important;display:flex!important;flex-direction:column!important;width:209.5mm!important;height:290mm!important;min-height:0!important;margin:0!important;padding:10mm 12mm 9mm!important;overflow:hidden!important;box-sizing:border-box!important;box-shadow:none!important;break-inside:avoid-page!important;page-break-inside:avoid!important;break-before:auto!important;page-break-before:auto!important;break-after:auto!important;page-break-after:auto!important}
  .partner-print-sheet+.partner-print-sheet{break-before:page!important;page-break-before:always!important}
  .partner-print-sheet .doc-head{grid-template-columns:28mm minmax(0,1fr) auto!important;gap:5mm!important;min-height:10mm!important;margin:0 0 4mm!important;padding:0 0 2.5mm!important;border-bottom:.35mm solid #111!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .partner-print-sheet .doc-head img{width:25mm!important;height:10mm!important;object-fit:contain!important;padding:1mm;background:#050505}
  .partner-print-sheet .doc-type{padding-left:3mm!important;border-left:.7mm solid var(--pink);font-size:6.8pt!important;line-height:1.25!important;letter-spacing:.02em!important}
  .partner-print-sheet .doc-type span{font-size:6.3pt!important}.partner-print-sheet .doc-number{font-size:6.6pt!important;line-height:1.35!important}
  .partner-print-sheet>h1{margin:0 0 4mm!important;font-size:13.5pt!important;line-height:1.15!important;text-align:left!important;text-transform:uppercase}
  .partner-print-sheet>p{margin:0 0 2.2mm!important;text-align:justify!important;orphans:3;widows:3}
  .partner-sheet-heading{display:grid!important;grid-template-columns:10mm 1fr;gap:3mm;align-items:center;margin:0 0 3mm;padding:2mm 0 3mm;border-bottom:1mm solid var(--pink);break-inside:avoid;page-break-inside:avoid}
  .partner-sheet-heading>span{width:9mm;height:9mm;font-size:7pt}.partner-sheet-heading small{font-size:6.3pt}.partner-sheet-heading h1{margin:.5mm 0 0!important;font-size:13pt!important;line-height:1.15!important}
  .partner-print-sheet .contract-clause{position:relative;margin:0 0 2.6mm;padding:2.2mm 3mm 2.2mm 4mm;border-left:.65mm solid var(--pink);background:#f4f2ee;break-inside:avoid-page!important;page-break-inside:avoid!important}
  .partner-print-sheet .contract-clause:nth-of-type(even){border-left-color:var(--orange)}
  .partner-print-sheet .contract-clause h2{margin:0 0 1.2mm!important;font-size:8.8pt!important;line-height:1.2!important;letter-spacing:.01em!important;break-after:avoid!important;page-break-after:avoid!important}
  .partner-print-sheet .contract-clause p{margin:0 0 1.2mm!important;font-size:8.15pt!important;line-height:1.48!important;text-align:justify!important;orphans:3;widows:3}.partner-print-sheet .contract-clause p:last-child{margin-bottom:0!important}
  .partner-print-sheet .signatures{grid-template-columns:1fr 1fr!important;gap:10mm 14mm!important;margin-top:10mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .partner-print-sheet .signature{min-height:12mm!important;padding-top:2mm!important;border-top:.3mm solid #111!important;font-size:7.3pt!important;line-height:1.35!important}
  .partner-print-sheet .page-break{display:block!important;padding:0!important;break-before:auto!important;page-break-before:auto!important}
  .partner-print-sheet .annex-title{margin:0 0 5mm!important;padding:0 0 3mm!important;border-bottom:1mm solid #111!important;font-size:14pt!important;line-height:1.15!important;text-align:left!important}
  .partner-print-sheet .page-break>p{margin:0 0 2.5mm!important;font-size:8.5pt!important;line-height:1.5!important;text-align:left!important;orphans:3;widows:3}
  .partner-print-sheet table{width:100%!important;margin:4mm 0 5mm!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:7.4pt!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .partner-print-sheet thead{display:table-header-group}.partner-print-sheet tr{break-inside:avoid!important;page-break-inside:avoid!important}.partner-print-sheet th{background:#111!important;color:#fff!important}.partner-print-sheet th,.partner-print-sheet td{padding:2mm!important;border:.25mm solid #777!important;line-height:1.3!important}
  .partner-print-footer{position:static!important;display:flex!important;justify-content:space-between;gap:5mm;margin-top:auto;padding-top:2.5mm;border-top:.25mm solid #aaa;color:#666;font-size:6.5pt;letter-spacing:.02em;text-transform:uppercase;break-before:avoid;page-break-before:avoid}
  .print-footer{display:none!important}
}
