:root{--ink:#143d35;--ink-2:#2a4c45;--muted:#72817d;--line:#e4ebe8;--paper:#fff;--wash:#f6f8f7;--green:#11856b;--green-dark:#076d58;--mint:#e7f5ef;--amber:#a56b12;--amber-bg:#fff5df;--red:#bd4b42;--red-bg:#fff0ed;--shadow:0 20px 55px rgba(20,61,53,.07)}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:14px}.topbar{height:76px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1240px)/2),32px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand-mark{width:35px;height:35px;border-radius:12px;background:var(--green);display:grid;place-items:center;color:#fff;font-family:Manrope,sans-serif;font-size:24px;font-weight:800;font-style:italic}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-family:Manrope,sans-serif;font-size:16px;font-weight:800;letter-spacing:-.4px}.brand-copy small{font-size:10px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin-top:3px}.topbar-right{display:flex;align-items:center;gap:9px;color:#58706a;font-size:12px}.privacy-dot{width:8px;height:8px;background:#35ab7e;border-radius:50%;box-shadow:0 0 0 4px #e6f5ed}.help-button{border:1px solid #d5e3dc;background:white;border-radius:50%;width:23px;height:23px;color:var(--ink);font-weight:700;cursor:pointer;margin-left:6px}main{max-width:1240px;margin:0 auto;padding:54px 32px 80px}.intro{max-width:620px;margin:0 auto 38px;text-align:center}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--green);font-weight:700;display:flex;gap:9px;align-items:center}.intro .eyebrow,.results-title .eyebrow{justify-content:center}.eyebrow-line{width:22px;height:1px;background:#78bca5;display:inline-block}.intro h1{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:-2px;line-height:1.05;font-size:46px;margin:17px 0 13px;color:#173e36}.intro h1 em{font-weight:500;color:#308b71}.intro p{font-size:15px;line-height:1.65;color:#71817d;margin:0 auto;max-width:520px}.workspace-card{max-width:920px;margin:0 auto;background:var(--paper);border:1px solid #e8eeeb;border-radius:18px;padding:27px 30px 29px;box-shadow:var(--shadow)}.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}.step-number{font-family:Manrope,sans-serif;font-size:11px;font-weight:800;letter-spacing:.7px;color:var(--green);background:#eaf5f0;border-radius:8px;padding:8px 9px}.section-heading h2{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.3px;margin:0 0 4px}.section-heading p{margin:0;color:var(--muted);font-size:12px}.dropzone{height:176px;border:1.5px dashed #bfd7cc;border-radius:12px;background:#fbfdfc;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;cursor:pointer;transition:.18s}.dropzone:hover,.dropzone.dragging{background:#f0f8f4;border-color:#4da98c}.dropzone input{display:none}.upload-icon{width:34px;height:34px;border-radius:11px;background:#e8f5ee;display:grid;place-items:center;margin-bottom:2px}.upload-icon svg{width:19px;stroke:var(--green);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.dropzone strong{font-size:13px}.dropzone span:not(.upload-icon){color:var(--muted);font-size:12px}.dropzone u{color:var(--green-dark);text-underline-offset:2px}.dropzone small{font-size:10px;color:#8a9994;margin-top:5px}.file-list{margin-top:15px;display:grid;gap:7px}.file-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:12px}.file-item span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{color:var(--muted);white-space:nowrap;margin-left:12px}.mapping-area{margin-top:17px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.mapping-title{padding:12px 14px;background:#f8fbf9;display:flex;justify-content:space-between;align-items:center}.mapping-title strong{font-size:12px}.mapping-title span{color:var(--muted);font-size:11px}.mapping-file{padding:12px 14px 14px;border-top:1px solid var(--line)}.mapping-file>strong{font-size:12px}.mapping-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.mapping-fields label{display:grid;gap:5px;color:#637570;font-size:10px;font-weight:600}.mapping-fields select{height:34px;border:1px solid #dfe8e3;border-radius:6px;background:white;padding:0 8px;color:var(--ink);font:inherit;font-size:11px}.setup-row{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.date-reference{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted)}.date-reference input{border:1px solid var(--line);border-radius:7px;padding:7px 9px;font:inherit;color:var(--ink)}button{font-family:inherit}.button-primary{border:0;border-radius:8px;background:var(--green);color:white;padding:11px 16px;font-weight:700;font-size:12px;cursor:pointer;box-shadow:0 5px 12px #11856b26}.button-primary:hover{background:var(--green-dark)}.button-primary span{font-size:16px;margin-left:8px}.error-banner{margin-top:12px;background:var(--red-bg);color:var(--red);padding:10px 12px;border-radius:7px;font-size:12px}.results-title{display:flex;justify-content:space-between;align-items:end;margin:46px 0 18px}.results-title .eyebrow{justify-content:flex-start}.results-title h2{font:700 24px Manrope,sans-serif;letter-spacing:-.7px;margin:9px 0 0}.button-quiet{background:transparent;border:0;color:#668079;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:11px;padding:8px}.summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.summary-card{padding:17px 17px 15px;background:white;border:1px solid var(--line);border-radius:12px;text-align:left;cursor:pointer;transition:.15s;min-height:105px}.summary-card:hover,.summary-card.selected{border-color:#70b99f;box-shadow:0 4px 15px #167e5d14}.summary-label{font-size:10px;color:var(--muted);font-weight:600}.summary-value{display:block;font:700 26px Manrope,sans-serif;letter-spacing:-1px;margin:6px 0 3px;color:var(--ink)}.summary-caption{font-size:10px;color:#91a09b}.summary-card[data-tone="green"] .summary-value{color:var(--green)}.summary-card[data-tone="amber"] .summary-value{color:var(--amber)}.summary-card[data-tone="red"] .summary-value{color:var(--red)}.progress-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:12px}.progress-panel>div:first-child{display:flex;justify-content:space-between;font-size:11px}.progress-panel strong{font-weight:700}.progress-panel>div:first-child span{color:var(--muted)}.progress-track{height:5px;background:#edf2ef;border-radius:4px;margin-top:10px;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:var(--green);border-radius:4px;transition:width .2s}.table-panel{margin-top:18px;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-toolbar{padding:18px 18px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.table-toolbar h2{font:700 15px Manrope,sans-serif;margin:0 0 4px}.table-toolbar p{margin:0;color:var(--muted);font-size:10px}.toolbar-actions{display:flex;align-items:center;gap:7px}.search-box{height:34px;width:210px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;padding:0 9px;gap:6px;color:#93a19c}.search-box span{font-size:20px;line-height:1;transform:rotate(-20deg)}.search-box input{border:0;outline:0;min-width:0;width:100%;font:inherit;font-size:10px;color:var(--ink)}.toolbar-actions select{height:34px;border:1px solid var(--line);border-radius:7px;background:white;padding:0 8px;font:inherit;color:#526b64;font-size:10px;max-width:140px}.button-outline{height:34px;border:1px solid #b9d6ca;background:white;color:var(--green-dark);border-radius:7px;padding:0 11px;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}.button-outline:hover{background:#f0f8f4}.button-outline span{font-size:14px;margin-left:5px}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1060px}thead{background:#f8faf9}th{font-size:9px;letter-spacing:.55px;color:#788984;text-align:left;padding:11px 12px;font-weight:700;white-space:nowrap}td{padding:11px 12px;border-top:1px solid #edf1ef;font-size:10px;color:#435a54;white-space:nowrap}tr:hover td{background:#fbfdfc}.beneficiary-name{font-weight:700;color:#294b42;font-size:10px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.beneficiary-sub{font-size:9px;color:#91a09b;margin-top:3px}.pill{display:inline-flex;border-radius:20px;padding:4px 7px;font-size:9px;font-weight:700;background:#eef2f0;color:#637570}.pill.green{color:#14775e;background:#e8f5ee}.pill.amber{color:#95620e;background:#fff4df}.pill.red{color:#b24a41;background:#fff0ed}.pill.blue{color:#4d6e9d;background:#edf3fb}.decision-select{border:1px solid #dce6e1;border-radius:6px;height:28px;max-width:120px;background:#fff;padding:0 6px;font:inherit;color:#405b53;font-size:9px}.copy-button{border:0;background:transparent;color:#679184;cursor:pointer;font-size:13px}.table-footer{padding:12px 16px;border-top:1px solid #edf1ef;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.page-button{width:27px;height:27px;border:1px solid var(--line);background:#fff;border-radius:6px;color:#46685e;cursor:pointer;margin-left:4px}.page-button:disabled{opacity:.35;cursor:default}.bulk-row{display:flex;align-items:center;justify-content:space-between;background:#eaf5ef;border:1px solid #d8ebe1;border-radius:10px;padding:13px 16px;margin-top:12px}.bulk-row div{display:grid;gap:4px}.bulk-row strong{font-size:11px}.bulk-row span{color:#668079;font-size:10px}footer{border-top:1px solid var(--line);padding:20px max(calc((100% - 1240px)/2),32px);display:flex;justify-content:space-between;color:#879590;font-size:10px}footer span:last-child{display:flex;gap:7px;align-items:center}footer i{width:6px;height:6px;border-radius:50%;background:#35ab7e}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);opacity:0;background:#173e36;color:white;padding:11px 16px;border-radius:8px;font-size:12px;box-shadow:0 8px 24px #102e2740;transition:.2s;pointer-events:none;z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{max-width:430px;border:1px solid var(--line);border-radius:14px;padding:21px 23px;box-shadow:var(--shadow);color:var(--ink)}dialog::backdrop{background:#102e2766}.dialog-head{display:flex;justify-content:space-between;align-items:center;font:700 16px Manrope,sans-serif}.dialog-head button{border:0;background:transparent;font-size:22px;color:var(--muted);cursor:pointer}.dialog-head+p{font-size:13px;color:#647770;line-height:1.65;margin:14px 0 20px} @media(max-width:920px){.summary-grid{grid-template-columns:repeat(3,1fr)}.table-toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{width:100%;flex-wrap:wrap}.search-box{flex:1;min-width:180px}.toolbar-actions select{flex:1}.mapping-fields{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{height:64px;padding:0 18px}.topbar-right{font-size:10px}main{padding:36px 16px 55px}.intro h1{font-size:37px}.intro p{font-size:13px}.workspace-card{padding:20px 16px}.section-heading p{line-height:1.45}.dropzone{height:165px}.mapping-fields{grid-template-columns:1fr 1fr}.setup-row{align-items:stretch;flex-direction:column;gap:12px}.date-reference{justify-content:space-between}.setup-row .button-primary{width:100%}.results-title{align-items:flex-start;gap:12px}.results-title h2{font-size:21px}.summary-grid{grid-template-columns:repeat(2,1fr);gap:8px}.summary-card{padding:13px;min-height:95px}.summary-value{font-size:23px}.toolbar-actions select{max-width:none}.toolbar-actions .button-outline{width:100%}.bulk-row{gap:12px;align-items:flex-start}.bulk-row span{line-height:1.4}footer{padding:17px 16px;gap:12px;flex-direction:column}}

/* Identidade visual Hapvida: Guia de Marca, páginas 54–56 */
:root{--ink:#1539AA;--ink-2:#1539AA;--muted:#6575a4;--line:#e2e7f2;--paper:#fff;--wash:#f7f8fc;--green:#1539AA;--green-dark:#102d89;--mint:#edf2ff;--amber:#a45b00;--amber-bg:#fff3e8;--red:#e5232b;--red-bg:#fff0ef;--blue:#1539AA;--orange:#FF4E05;--pumpkin:#FF8800;--yellow:#FFC023;--shadow:0 20px 55px rgba(21,57,170,.08)}
body{color:var(--ink);background:var(--wash)}
.topbar{border-color:#e2e7f2;background:rgba(255,255,255,.94)}
.brand-logo{display:block;width:148px;height:auto;object-fit:contain}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1}
.brand-lockup small{font-size:8px;font-weight:700;letter-spacing:1.2px;color:#1539AA}
.topbar-right{color:#596b9e}
.privacy-dot{background:#1539AA;box-shadow:0 0 0 4px #edf2ff}
.help-button{border-color:#d8dff1;color:#1539AA}
.intro h1{color:#1539AA}
.intro h1 em{color:#FF4E05}
.intro .eyebrow,.results-title .eyebrow{color:#1539AA}
.eyebrow-line{background:#FF8800}
.step-number{color:#1539AA;background:#edf2ff}
.dropzone{border-color:#c6d0ef;background:#fcfcff}
.dropzone:hover,.dropzone.dragging{background:#f0f3ff;border-color:#1539AA}
.upload-icon{background:#edf2ff}
.upload-icon svg{stroke:#1539AA}
.dropzone u{color:#1539AA}
.button-primary{background:#1539AA;box-shadow:0 5px 12px rgba(21,57,170,.17)}
.button-primary:hover{background:#102d89}
.results-title h2,.table-toolbar h2{color:#1539AA}
.summary-card:hover,.summary-card.selected{border-color:#879bd7;box-shadow:0 4px 15px rgba(21,57,170,.10)}
.summary-card[data-tone="green"] .summary-value{color:#1539AA}
.summary-card[data-tone="amber"] .summary-value{color:#a45b00}
.summary-card[data-tone="red"] .summary-value{color:#e5232b}
.progress-track span{background:#1539AA}
.button-outline{border-color:#bdc9eb;color:#1539AA}
.button-outline:hover{background:#f0f3ff}
.pill.green{color:#1539AA;background:#edf2ff}
.pill.amber{color:#a45b00;background:#fff3e8}
.pill.red{color:#d51e28;background:#fff0ef}
.pill.blue{color:#1539AA;background:#edf2ff}
.beneficiary-name{color:#263d87}
.decision-select{color:#344b8c}
.copy-button{color:#1539AA}
.page-button{color:#1539AA}
.bulk-row{background:#f0f3ff;border-color:#dce4fa}
.bulk-row span{color:#6575a4}
footer i{background:#1539AA}
.toast{background:#1539AA;box-shadow:0 8px 24px rgba(21,57,170,.25)}
.dialog-head+p{color:#64739b}
@media(max-width:600px){.brand-logo{width:132px}.brand-lockup small{font-size:7px;letter-spacing:1px}}

[hidden]{display:none!important}
.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:6px}
.source-block{min-width:0;border:1px solid var(--line);border-radius:11px;padding:14px;background:#fff}
.source-heading{display:grid;gap:4px;min-height:112px}
.source-heading>span{font-size:9px;letter-spacing:1.25px;color:#1539AA;font-weight:800}
.source-heading>strong{font:700 16px Manrope,sans-serif;color:#1539AA}
.source-heading p{font-size:11px;color:var(--muted);line-height:1.45;margin:0}
.source-heading small{font-size:10px;color:#6675a4;line-height:1.4}
.source-heading small b{color:#1539AA}
.source-block .dropzone{height:146px}
.mapping-source-title{padding:10px 14px;background:#f3f5fc;color:#1539AA;font-size:11px;font-weight:800;letter-spacing:.3px}
@media(max-width:700px){.source-grid{grid-template-columns:1fr}.source-heading{min-height:unset;margin-bottom:12px}.source-block .dropzone{height:145px}}

.dropzone{position:relative}.dropzone input{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dropzone:focus-within{outline:3px solid #9badf0;outline-offset:3px}

