﻿*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f4f6fb;color:#1a1a2e;min-height:100vh}
.header{background:#002749;padding:18px 24px;display:flex;align-items:center;gap:14px}
.header h1{color:#fff;font-size:17px;font-weight:700;line-height:1.2}
.header p{color:#A4D7F4;font-size:12px}
.badge-modo{background:#DC1C2E;color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;margin-left:10px;vertical-align:middle}
.progress-bar{height:4px;background:#e2e8f0}.progress-fill{height:100%;background:#DC1C2E;transition:width .4s}
.container{max-width:680px;margin:28px auto;padding:0 16px 60px}
.intro{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;border-left:4px solid #DC1C2E}
.intro p{font-size:13px;color:#444;line-height:1.6}
.section{background:#fff;border-radius:12px;padding:24px;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.section-title{font-size:14px;font-weight:700;color:#002749;margin-bottom:18px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e8edf3;padding-bottom:10px}
.section-title .num{background:#DC1C2E;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.field{margin-bottom:16px}
.field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;gap:8px;flex-wrap:wrap}
label{font-size:12px;font-weight:600;color:#374151}
.badge-obrig{font-size:10px;color:#DC1C2E;font-weight:600}
.badge-preen{font-size:10px;color:#16a34a;font-weight:600}
.badge-opc{font-size:10px;color:#6b7280}
.nao-tenho{display:flex;align-items:center;gap:5px;cursor:pointer;user-select:none;flex-shrink:0}
.nao-tenho input[type=checkbox]{width:13px;height:13px;cursor:pointer;accent-color:#002749}
.nao-tenho span{font-size:11px;color:#6b7280;white-space:nowrap}
input[type=text],input[type=email],input[type=tel],input[type=date],select,textarea{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;color:#111;background:#fff;transition:border-color .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:#002749}
input:disabled,select:disabled{background:#f5f7fa;color:#9ca3af;cursor:not-allowed}
.pendente-tag{font-size:11px;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:3px 8px;display:inline-block;margin-top:4px}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.row-2{grid-template-columns:1fr}}
.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:480px){.docs-grid{grid-template-columns:1fr}}
.doc-wrapper{display:flex;flex-direction:column;gap:6px}
/* Impressão (botão "Baixar PDF" do Hub): documento nunca sai cortado entre páginas.
   O grid vira fluxo vertical (quebra de página não funciona bem dentro de grid);
   cada documento/página renderizada fica inteira — se não couber, desce pra próxima. */
@media print{
  .docs-grid{display:block}
  .docs-grid .doc-wrapper{break-inside:avoid;page-break-inside:avoid;margin-bottom:14px}
  .doc-wrapper img,.doc-wrapper canvas{break-inside:avoid;page-break-inside:avoid;max-height:23cm;object-fit:contain}
}
.doc-area{border:2px dashed #d1d5db;border-radius:10px;padding:12px;transition:border-color .2s}
.doc-area.tem-arquivo{border-color:#16a34a;border-style:solid;background:#f0fdf4}
.doc-area.pendente-doc{border-color:#d97706;border-style:solid;background:#fffbeb}
.doc-clickable{cursor:pointer;text-align:center;padding:8px 0;border-radius:8px;transition:background .15s}
.doc-clickable:hover{background:#f0f4ff}
.doc-icon{font-size:22px;margin-bottom:4px}
.doc-label{font-size:12px;font-weight:600;color:#374151}
.doc-status{font-size:11px;color:#6b7280;margin-top:2px}
.doc-nao-tenho{justify-content:center;font-size:12px;padding:4px 0}
.btn-submit{width:100%;padding:14px;background:#DC1C2E;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;margin-top:24px;transition:background .2s}
.btn-submit:hover:not(:disabled){background:#c0151f}
.btn-submit:disabled{background:#9ca3af;cursor:not-allowed}
.corretor-bar{background:#002749;color:#fff;padding:10px 24px;font-size:13px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.corretor-bar strong{font-size:14px}
.corretor-acoes{display:flex;gap:8px;flex-wrap:wrap}
.btn-corretor{padding:7px 16px;border:none;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}
.btn-aprovar{background:#16a34a;color:#fff}
.btn-solicitar{background:#d97706;color:#fff}
.resumo-pendencias{background:#fef3c7;border:1px solid #fde68a;border-radius:10px;padding:14px;margin-bottom:16px}
.resumo-pendencias h4{font-size:13px;font-weight:700;color:#92400e;margin-bottom:6px}
.resumo-pendencias ul{padding-left:16px;font-size:12px;color:#78350f}
textarea{resize:vertical;min-height:80px}
/* Blocos dinâmicos / rádios / sub-blocos (fichas reconstruídas) */
.btn-add-bloco{margin-top:6px;width:100%;background:#fff;color:#002749;border:1.5px dashed #A4D7F4;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}
.btn-add-bloco:hover{background:#f0f7fc}
.btn-remover-bloco{background:none;border:none;color:#9F1622;font-size:12px;font-weight:700;cursor:pointer;padding:0;margin-left:auto}
.sub-bloco{margin-top:14px;padding-top:14px;border-top:1px dashed #e2e8f0}
.sub-bloco-titulo{font-size:12px;font-weight:700;color:#003DA5;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.prop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.prop-head .num{background:#DC1C2E;color:#fff;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-right:8px}
.prop-head strong{font-size:14px;color:#002749}
.radio-group{display:flex;gap:8px;flex-wrap:wrap}
.radio-btn{padding:9px 16px;border-radius:8px;border:1.5px solid #d1d5db;background:#fff;color:#374151;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}
.radio-btn.ativo{background:#002749;color:#fff;border-color:#002749}
.nao-existe span{color:#6b7280}
.nao-existe input[type=checkbox]{accent-color:#6B7480}
