*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f6fa;color:#182b3c}header{position:fixed;top:0;left:0;right:0;height:62px;background:linear-gradient(135deg,#0759df,#0789ee);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 26px;z-index:10}.brand{font-size:21px;font-weight:700}.user{font-size:13px}.user a{color:#fff}aside{position:fixed;top:62px;bottom:0;left:0;width:205px;background:#fff;border-right:1px solid #dde5ee;padding:18px 10px}aside a,aside .section{display:block;padding:11px 13px;border-radius:8px;color:#405366;text-decoration:none;font-weight:600;font-size:14px}aside a:hover,aside a.active{background:#eaf2ff;color:#0866df}.section{font-size:11px!important;text-transform:uppercase;color:#8a99a8!important}.sep{height:1px;background:#e8edf2;margin:12px 8px}main{margin-left:205px;padding:88px 30px 35px}.top{margin-bottom:22px}.top h1{margin:0;font-size:30px}.top p{color:#66788b;margin:7px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.card,.panel{background:#fff;border:1px solid #e1e8f0;border-radius:14px;box-shadow:0 5px 18px rgba(35,71,110,.06)}.card{padding:22px}.card span{display:block;color:#708197;font-size:13px}.card strong{display:block;margin-top:9px;font-size:27px;color:#14385f}.panel{padding:22px;margin-bottom:22px}.panel h2{margin:0 0 16px;font-size:19px}.panel-head{display:flex;justify-content:space-between;align-items:center}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf1f5;font-size:14px}th{color:#63758a;font-size:12px;text-transform:uppercase}.empty{text-align:center;color:#8a98a8;padding:28px}.tag{display:inline-block;background:#eef4fb;border-radius:999px;padding:5px 9px;font-size:12px}.btn,button{border:0;border-radius:8px;background:#0868df;color:#fff;padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none}.linkbtn{background:none;color:#0868df;padding:0}.grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-form input,.grid-form select,.login-card input{width:100%;padding:11px 12px;border:1px solid #ccd8e4;border-radius:8px;background:#fff}.grid-form button{width:max-content}.flash{padding:12px 15px;border-radius:8px;margin-bottom:16px}.flash.ok{background:#e8f7ee;color:#19623a}.flash.erro{background:#fdecec;color:#9b2d2d}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071a2f,#0b5f9f)}.login-card{width:min(420px,92vw);background:rgba(255,255,255,.98);padding:38px;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.25)}.logo{width:58px;height:58px;border-radius:15px;background:#0868df;color:#fff;display:grid;place-items:center;font-size:30px;margin:0 auto 16px}.login-card h1{text-align:center;margin:0}.login-card p{text-align:center;color:#718096;margin:8px 0 25px}.login-card label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}.login-card button{width:100%;margin-top:18px}.setup{display:block;text-align:center;margin-top:18px;color:#0868df;font-size:13px;text-decoration:none}@media(max-width:900px){aside{width:170px}.cards{grid-template-columns:repeat(2,1fr)}main{margin-left:170px}.grid-form{grid-template-columns:1fr}}@media(max-width:600px){aside{display:none}main{margin-left:0;padding:82px 14px}.cards{grid-template-columns:1fr}}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.button{border:1px solid #cbd8e6;border-radius:8px;padding:9px 13px;text-decoration:none;color:#145da0;font-weight:700;background:#fff}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{padding:9px 10px;border:1px solid #ccd8e4;border-radius:8px;background:#fff}.inline-form .primary{padding:9px 12px}.muted{color:#66788b}.card h2{margin-top:0}small{color:#7a8999}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button.small{padding:7px 10px;font-size:12px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.detail-grid div{background:#f7f9fc;border:1px solid #e3e9f0;border-radius:10px;padding:14px}.detail-grid span{display:block;color:#718096;font-size:12px;margin-bottom:6px}.detail-grid strong{font-size:14px}@media(max-width:900px){.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.detail-grid{grid-template-columns:1fr}}

/* Conciliação bancária */
.recon-summary{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:14px;align-items:stretch;margin-bottom:20px}.recon-kpi{background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:16px 18px;box-shadow:0 5px 18px rgba(35,71,110,.05)}.recon-kpi span{display:block;color:#718096;font-size:12px;text-transform:uppercase;font-weight:700}.recon-kpi strong{display:block;font-size:25px;margin:6px 0;color:#14385f}.recon-kpi small{color:#8a98a8}.recon-summary>.btn{align-self:center;white-space:nowrap;text-align:center}.recon-panel{padding:20px}.recon-row{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1.15fr);gap:14px;padding:18px 0;border-top:1px solid #edf1f5}.recon-row:first-of-type{border-top:0}.recon-bank,.recon-launch{border:1px solid #dfe7ef;border-radius:13px;padding:18px;background:#fff}.recon-bank{background:#f8fafc}.recon-label{font-size:11px;font-weight:800;color:#75879a;letter-spacing:.06em;margin-bottom:8px}.recon-date{font-size:12px;color:#6b7c8f}.recon-desc{font-size:16px;font-weight:700;margin:7px 0}.recon-meta,.recon-source{font-size:12px;color:#7a8999}.recon-amount{font-size:24px;font-weight:800;margin:14px 0 5px}.recon-amount.positive{color:#14834b}.recon-amount.negative{color:#bd3b3b}.recon-arrow{display:grid;place-items:center;font-size:25px;color:#4d80b5;font-weight:700}.recon-form{display:grid;gap:11px}.form-line{display:grid;gap:10px}.form-line.two{grid-template-columns:1fr 1fr}.recon-form label,.edit-form label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#627489;text-transform:uppercase}.recon-form input,.recon-form select,.edit-form input,.edit-form select{width:100%;padding:9px 10px;border:1px solid #ccd8e4;border-radius:8px;background:#fff;color:#253b50;font-size:13px;text-transform:none;font-weight:400}.recon-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.tag.warning{background:#fff5df;color:#8a5a00}.tag.entrada{background:#e8f7ee;color:#19623a}.tag.saida{background:#fdecec;color:#9b2d2d}.table-wrap{overflow-x:auto}.edit-details{position:relative}.edit-details summary{display:inline-block;cursor:pointer;list-style:none}.edit-details summary::-webkit-details-marker{display:none}.edit-form{position:absolute;right:0;top:38px;z-index:5;width:330px;background:#fff;border:1px solid #d8e1ea;border-radius:12px;box-shadow:0 14px 35px rgba(28,55,82,.16);padding:14px;display:grid;gap:9px}.recon-empty{padding:35px}.button.small{cursor:pointer}@media(max-width:1050px){.recon-row{grid-template-columns:1fr}.recon-arrow{transform:rotate(90deg);height:20px}.recon-summary{grid-template-columns:1fr 1fr}.recon-summary>.btn{grid-column:1/-1}}@media(max-width:700px){.recon-summary{grid-template-columns:1fr}.form-line.two{grid-template-columns:1fr}.edit-form{position:fixed;left:15px;right:15px;top:120px;width:auto}.recon-actions{align-items:stretch;flex-direction:column}}


.history-list{display:grid;gap:14px}.history-entry{border:1px solid #dfe7ef;border-radius:12px;padding:16px;background:#fbfcfe}.history-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.history-head span{font-size:12px;color:#7a8999}.history-grid{display:grid;grid-template-columns:1fr 45px 1fr;gap:10px;align-items:center}.history-grid>div:not(.history-arrow){background:#fff;border:1px solid #e4eaf0;border-radius:10px;padding:12px}.history-grid span,.history-fields span{display:block;color:#7a8999;font-size:11px;text-transform:uppercase;font-weight:800;margin-bottom:5px}.history-grid strong{display:block;font-size:15px}.history-grid small{display:block;color:#7a8999;margin-top:3px}.history-arrow{text-align:center;color:#4d80b5;font-size:22px}.history-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.history-fields>div{background:#fff;border:1px solid #e7edf3;border-radius:8px;padding:10px;font-size:13px}.history-fields b{font-weight:700}.history-fields em{font-style:normal;color:#7a8999;margin:0 5px}@media(max-width:700px){.history-head{align-items:flex-start;flex-direction:column}.history-grid{grid-template-columns:1fr}.history-arrow{transform:rotate(90deg)}.history-fields{grid-template-columns:1fr}}

/* V8 - Conciliação por etapas */
.recon-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.v8-summary{grid-template-columns:repeat(5,1fr)}.approval-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eef8f2;border:1px solid #cfe9d9;border-radius:14px;padding:16px 18px;margin-bottom:20px;color:#1c5f3b}.approval-banner span{color:#5f7669;font-size:13px}.approve-btn{white-space:nowrap}.suggestion{background:#f5f9fd;border:1px dashed #b9ccdf;border-radius:9px;padding:10px 12px}.suggestion span,.suggestion small{display:block;color:#73859a;font-size:11px}.suggestion strong{display:block;margin:3px 0;color:#145da0}.approved{background:#e8f7ee;color:#19623a}.classification-info{background:#edf5ff;border:1px solid #cfe0f4;border-radius:12px;padding:14px 16px;margin-bottom:20px;color:#456176}.classification-info b{color:#145da0}.classification-row{display:grid;grid-template-columns:minmax(230px,.8fr) 45px minmax(0,1.7fr);gap:15px;padding:18px 0;border-top:1px solid #edf1f5;align-items:center}.classification-row:first-of-type{border-top:0}.classification-original{border:1px solid #dfe7ef;border-radius:12px;background:#f8fafc;padding:16px}.classification-original>strong{display:block;font-size:16px;margin:5px 0}.classification-original small{display:block;color:#7a8999}.classification-original .recon-amount{margin:12px 0 0}.classification-arrow{text-align:center;font-size:24px;color:#4d80b5;font-weight:700}.classification-form{border:1px solid #dfe7ef;border-radius:12px;padding:16px;background:#fff;display:grid;gap:10px}.reason-input{flex:1;min-width:180px;padding:10px;border:1px solid #ccd8e4;border-radius:8px}.report-cards{grid-template-columns:repeat(4,1fr)}.export-panel{padding:24px}.export-actions{display:flex;gap:10px;flex-wrap:wrap}.flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#35566f}.flow span{background:#f5f8fb;border:1px solid #dce6ef;border-radius:10px;padding:10px 13px;font-weight:700}.flow b{color:#4d80b5}@media(max-width:1100px){.v8-summary{grid-template-columns:repeat(3,1fr)}.classification-row{grid-template-columns:1fr}.classification-arrow{transform:rotate(90deg);height:20px}.recon-title{flex-direction:column}}@media(max-width:700px){.v8-summary,.report-cards{grid-template-columns:1fr}.approval-banner{align-items:stretch;flex-direction:column}.export-actions{flex-direction:column}.export-actions>*{text-align:center}.reason-input{width:100%}}
.status-timeline{display:grid;gap:10px}.status-event{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#f8fafc;border:1px solid #e1e8f0;border-radius:10px;padding:12px 14px}.status-event span{display:block;color:#7a8999;font-size:11px}.status-event strong{display:block;margin-top:4px}.status-event small{color:#63758a;text-align:right}@media(max-width:700px){.status-event{align-items:flex-start;flex-direction:column}.status-event small{text-align:left}}

/* V9: produtividade e conferência */
.positive{color:#14834b!important}.negative{color:#bd3b3b!important}
.progress-panel{display:grid;grid-template-columns:auto minmax(140px,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid #dce7f2;border-radius:12px;padding:14px 18px;margin:0 0 16px}.progress{height:10px;background:#e8eef5;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,#0789ee,#29b875);border-radius:999px}.filter-bar,.batch-bar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #dfe7ef;border-radius:12px;padding:12px 14px;margin-bottom:16px}.filter-bar input,.filter-bar select,.batch-bar input,.batch-bar select{padding:9px;border:1px solid #ccd8e4;border-radius:8px}.batch-bar{border-left:4px solid #4d80b5}.has-divergence .recon-bank{border-color:#e3a4a4;background:#fff8f8}.tag.danger{background:#fde8e8;color:#9b2d2d}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin:14px 0 24px}.fechamento.ok{border-left:5px solid #25965a}.fechamento.alert{border-left:5px solid #d25757}.fechamento h2{margin-bottom:4px}@media(max-width:700px){.progress-panel{grid-template-columns:1fr}.filter-bar,.batch-bar{align-items:stretch;flex-direction:column}.pagination{flex-wrap:wrap}}
/* V10 - conciliação limpa e parâmetros de taxas */
.quick-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.quick-filter{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d6e1ec;border-radius:999px;background:#fff;color:#405b73;text-decoration:none;font-weight:700;font-size:13px}.quick-filter b{font-size:11px;background:#eef3f8;border-radius:999px;padding:3px 7px}.quick-filter.active{background:#eaf2ff;border-color:#a9c9ee;color:#0866df}.shortcut-help{margin-left:auto;color:#718096;font-size:12px}.shortcut-help b{color:#145da0}.recon-stage-note{font-size:12px;color:#718096;background:#f7f9fc;border:1px dashed #d6e1ec;border-radius:8px;padding:9px}.date-filter{display:grid;gap:4px;font-size:11px;font-weight:800;text-transform:uppercase;color:#627489}.date-filter input{padding:9px;border:1px solid #ccd8e4;border-radius:8px}.fechamento.neutral{border-left:5px solid #9aaabd}.closing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.closing-head h2{margin:0 0 4px}.closing-head p{margin:0;color:#718096}.closing-account{font-size:11px;text-transform:uppercase;font-weight:800;color:#7a8999;background:#f5f8fb;border:1px solid #dce6ef;padding:7px 9px;border-radius:999px}.equation{margin-top:14px;padding:12px 14px;border-radius:9px;background:#f7f9fc;border:1px solid #e1e8f0;color:#526a80;font-size:13px}.rate-divergence td{background:#fff8f8}.rate-divergence td:first-child{border-left:3px solid #d25757}.tag.entrada{background:#e8f7ee;color:#19623a}.tag.warning{background:#fff5df;color:#8a5a00}@media(max-width:850px){.shortcut-help{width:100%;margin-left:0}.closing-head{flex-direction:column}.date-filter{width:100%}}

/* V10 - reconhecimento e rastreabilidade */
.recognition-row{display:grid;grid-template-columns:minmax(280px,1fr) 48px minmax(420px,1.25fr);gap:18px;padding:22px 0;border-top:1px solid var(--border,#dfe6ef)}
.recognition-panel{display:flex;flex-direction:column;gap:10px}
.candidate-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--border,#dfe6ef);border-radius:12px;background:var(--panel,#fff)}
.candidate-card small,.suggestion small{display:block;color:#6b7280;margin-top:4px}
.recognition-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:start;margin-top:6px}
.new-contact-form{display:grid;grid-template-columns:1fr 1fr auto;gap:6px}
.new-contact-form input{min-width:0}
.compact{padding:10px}
@media(max-width:900px){.recognition-row{grid-template-columns:1fr}.recon-arrow{display:none}.recognition-actions{grid-template-columns:1fr}.new-contact-form{grid-template-columns:1fr}}
.recognition-badge{display:inline-flex;align-items:center;width:max-content;margin-top:7px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#e8f7ee;color:#147a43}.recognition-badge.neutral{background:#eef2f7;color:#667085}

/* V10 - Funcionários: crédito recorrente e gastos */
.employee-credit-form{display:flex;gap:5px;align-items:center}.employee-credit-form input{width:105px;padding:8px;border:1px solid #ccd8e4;border-radius:8px}.employee-credit-form input[type=number]{width:58px}.employee-credit-form .button{white-space:nowrap}.employee-rule{margin-top:16px;background:#f7faff;border-color:#cfe0f4}.employee-cards{grid-template-columns:repeat(4,1fr)}.employee-cards .card strong{font-size:25px}.employee-cards .negative{color:#bd3b3b!important}@media(max-width:1000px){.employee-cards{grid-template-columns:repeat(2,1fr)}.employee-credit-form{flex-wrap:wrap}}@media(max-width:700px){.employee-cards{grid-template-columns:1fr}.employee-credit-form{display:grid;grid-template-columns:1fr 70px auto}}


/* V4 - identidade FVL validada */
.fvl-brand{width:205px;height:54px;object-fit:contain;object-position:left center;display:block}
header .brand{display:flex;align-items:center;height:58px}
@media(max-width:700px){.fvl-brand{width:175px;height:48px}}
