:root {
  --rep-navy:#06253c; --rep-navy-2:#0b3854; --rep-blue:#0d5278;
  --rep-ink:#09254a; --rep-cream:#f4efe6; --rep-paper:#fffdf8;
  --rep-gold:#c97a12; --rep-gold-2:#e5a53f; --rep-green:#176b3a;
  --rep-muted:#667085; --rep-line:rgba(10,43,73,.14);
}
.app.repact-mode .main{background:#f4efe6}
.app.repact-mode .content{padding:22px 28px 34px;max-width:none;background:
  radial-gradient(circle at 14% 12%,rgba(255,255,255,.75),transparent 34%),
  repeating-linear-gradient(118deg,rgba(118,91,56,.018) 0,rgba(118,91,56,.018) 1px,transparent 1px,transparent 7px),#f4efe6}
.app.repact-mode .topbar{background:rgba(250,247,240,.91);border-bottom:1px solid rgba(12,46,74,.1);backdrop-filter:blur(16px)}
.app.repact-mode .sidebar{background:
  radial-gradient(circle at 35% 4%,rgba(27,102,141,.42),transparent 35%),
  linear-gradient(165deg,#082c45 0%,#041c30 62%,#031525 100%);box-shadow:8px 0 28px rgba(1,18,31,.2);border-right:1px solid rgba(217,177,104,.23)}
.app.repact-mode .sidebar:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background:repeating-radial-gradient(ellipse at 22% 8%,transparent 0 28px,rgba(122,200,229,.45) 29px 30px,transparent 31px 52px)}
.app.repact-mode .brand,.app.repact-mode .navwrap,.app.repact-mode .navfoot{position:relative;z-index:1}
.rep-brand{padding:4px 2px 14px}.rep-brand strong{font:700 25px/1.05 Sora,sans-serif;color:#fff;letter-spacing:-.7px}.rep-brand span{color:#e9a634}.rep-brand small{display:block;color:#efb448;font:700 10px/1 Inter,sans-serif;letter-spacing:2px;margin-top:7px}
.app.repact-mode .navlabel{color:rgba(255,255,255,.45);letter-spacing:1.5px}
.app.repact-mode .navitem{min-height:58px;margin:7px 12px;padding:0 14px;border-radius:12px;color:rgba(255,255,255,.86);border:1px solid rgba(190,220,235,.2);background:linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 9px 18px rgba(0,7,15,.18),inset 0 1px rgba(255,255,255,.07);transition:.2s ease}
.app.repact-mode .navitem svg{width:23px;height:23px;color:#dbeef6;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3))}
.app.repact-mode .navitem:hover{transform:translateY(-2px);background:rgba(255,255,255,.11);border-color:rgba(228,182,98,.45)}
.app.repact-mode .navitem.active{color:#fff4d6;border-color:rgba(244,194,99,.62);background:linear-gradient(135deg,rgba(21,87,119,.95),rgba(6,42,66,.96));box-shadow:-4px 0 #f0ba51,0 12px 24px rgba(0,9,18,.3),inset 0 1px rgba(255,255,255,.15)}
.app.repact-mode .navitem.active svg{color:#f5bd55}
.app.repact-mode .navfoot .navitem{min-height:46px;border-color:transparent;background:transparent;box-shadow:none;margin-block:2px}
.repact-shell{max-width:1500px;margin:0 auto;color:var(--rep-ink)}
.repact-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 24px}.repact-title{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.repact-title h1{font:700 30px/1.1 Sora,sans-serif;margin:0;letter-spacing:-1px}.repact-title p{margin:0;padding-left:18px;border-left:1px solid rgba(9,37,74,.18);color:#536275}.rep-period{border:1px solid var(--rep-line);background:rgba(255,253,248,.75);padding:10px 14px;border-radius:11px;font-weight:700;box-shadow:0 7px 18px rgba(43,34,22,.07)}
.rep-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.rep-kpi{position:relative;min-height:132px;padding:18px;border:1px solid var(--rep-line);border-top:3px solid var(--accent,#153c72);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(252,248,240,.96));box-shadow:0 10px 24px rgba(54,43,27,.09),inset 0 1px #fff;overflow:hidden;transition:.2s}.rep-kpi:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(31,39,46,.13)}.rep-kpi span{display:block;font-size:12px;font-weight:700}.rep-kpi b{display:block;margin-top:24px;font:700 25px/1 Sora,sans-serif;color:var(--accent,#153c72);letter-spacing:-.8px}.rep-kpi small{display:block;margin-top:6px;color:#526173}.rep-kpi .rep-icon{position:absolute;right:14px;bottom:15px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,white);border:1px solid color-mix(in srgb,var(--accent) 18%,white)}.rep-kpi .rep-icon svg{width:20px}
.rep-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:14px 0}.rep-grid.wide{grid-template-columns:1.35fr 1fr}.rep-cardx{position:relative;border:1px solid var(--rep-line);border-top:2px solid var(--accent,#173e70);border-radius:13px;background:rgba(255,253,249,.96);box-shadow:0 10px 22px rgba(56,43,24,.08);padding:20px;min-height:176px;overflow:hidden}.rep-cardx h3{margin:0;font:700 17px/1.3 Sora,sans-serif}.rep-cardx p{margin:5px 0;color:#5a687a;font-size:12px}.rep-cardx .big{font:700 29px/1 Sora,sans-serif;color:var(--accent,#153c72);margin:20px 0 3px}.rep-link{position:absolute;left:20px;bottom:16px;border:0;background:none;padding:0;color:#092c5b;font-weight:750;cursor:pointer}.rep-link:hover{text-decoration:underline}.rep-mini-bars{position:absolute;right:20px;bottom:28px;height:70px;display:flex;align-items:end;gap:6px}.rep-mini-bars i{display:block;width:8px;border-radius:4px 4px 1px 1px;background:linear-gradient(#f1c987,#c8740b)}
.rep-list{margin:14px 0 34px;padding:0;list-style:none}.rep-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed rgba(10,43,73,.12);font-size:12px}.rep-list b{color:#b75e00}.rep-spark{margin-top:10px;height:78px;width:100%}.rep-spark polyline{fill:none;stroke:#1681b5;stroke-width:2}.rep-spark circle{fill:#0a2e58}.rep-chart{height:175px;margin-top:10px}.rep-chart svg{width:100%;height:100%;overflow:visible}.rep-chart .grid{stroke:rgba(9,43,74,.12);stroke-width:1}.rep-chart .area{fill:url(#repArea)}.rep-chart .line{fill:none;stroke:#17663a;stroke-width:3}.rep-chart .dot{fill:#fff;stroke:#17663a;stroke-width:3}.rep-report-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:80px}.rep-report-cta .btn{min-width:170px}
.rep-toolbarx{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.rep-toolbarx input,.rep-toolbarx select{height:42px;padding:0 12px;border:1px solid var(--rep-line);border-radius:10px;background:#fffdf9;color:var(--rep-ink)}.rep-toolbarx input{min-width:270px;flex:1}.rep-tablewrap{overflow:auto;border:1px solid var(--rep-line);border-radius:13px;background:#fffdf9;box-shadow:0 10px 24px rgba(54,43,27,.08)}.rep-data-table{width:100%;border-collapse:collapse;min-width:1120px}.rep-data-table th{position:sticky;top:0;background:#eef2f0;color:#27425e;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:12px}.rep-data-table td{padding:12px;border-top:1px solid rgba(9,43,74,.09);font-size:12px;vertical-align:top}.rep-data-table tr{cursor:pointer}.rep-data-table tbody tr:hover{background:#fff6e5}.rep-data-table .money{font-variant-numeric:tabular-nums;font-weight:700}.rep-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:750;background:#e9f4ec;color:#17633a}.rep-pill.warn{background:#fff1dc;color:#9a5200}.rep-year-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px}.rep-year{padding:18px;border-radius:13px;background:#fffdf9;border:1px solid var(--rep-line);box-shadow:0 8px 20px rgba(52,42,27,.07);cursor:pointer}.rep-year.on{border-color:#c67a13;box-shadow:0 0 0 2px rgba(198,122,19,.13),0 10px 24px rgba(52,42,27,.1)}.rep-year b{font:700 24px Sora;color:#0a355c}.rep-year span{display:block;color:#667085;margin-top:6px}.rep-timeline{position:relative;padding-left:30px}.rep-timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(#d39028,#0e628f)}.rep-event{position:relative;margin:0 0 12px;padding:15px 18px;border:1px solid var(--rep-line);border-radius:12px;background:#fffdf9}.rep-event:before{content:"";position:absolute;left:-28px;top:22px;width:11px;height:11px;border-radius:50%;background:#d38a20;border:3px solid #f4efe6}.rep-event time{font-weight:800;color:#a95b05}.rep-event b{display:block;margin-top:4px}.rep-event span{color:#667085;font-size:12px}.rep-sim-grid{display:grid;grid-template-columns:minmax(300px,.8fr) 1.4fr;gap:16px}.rep-form-card,.rep-results{border:1px solid var(--rep-line);border-radius:14px;background:#fffdf9;padding:22px;box-shadow:0 10px 24px rgba(54,43,27,.08)}.rep-form-card label{display:block;margin:15px 0 6px;font-weight:700;font-size:12px}.rep-form-card input,.rep-form-card select{width:100%;height:44px;border:1px solid var(--rep-line);border-radius:10px;padding:0 12px;background:#fff}.rep-range{accent-color:#c67810}.rep-scenarios{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.rep-scenario{border:1px solid var(--rep-line);border-radius:12px;padding:16px;background:#fbfaf6}.rep-scenario.recommended{border-color:#c77b14;background:#fff8e9;box-shadow:0 8px 20px rgba(197,119,15,.12)}.rep-scenario span{font-size:11px;color:#667085}.rep-scenario b{display:block;font:700 20px Sora;color:#0a355c;margin:8px 0}.rep-scenario strong{color:#17663a}.rep-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rep-detail-grid div{padding:12px;border-radius:10px;background:#f7f4ed}.rep-detail-grid span{display:block;font-size:10px;text-transform:uppercase;color:#6b7280}.rep-detail-grid b{display:block;margin-top:5px}.rep-empty{padding:40px;text-align:center;color:#667085}
@media(max-width:1250px){.rep-kpis{grid-template-columns:repeat(3,1fr)}.rep-grid{grid-template-columns:1fr 1fr}.rep-grid .rep-cardx:last-child{grid-column:1/-1}}
@media(max-width:850px){.app.repact-mode .content{padding:16px}.repact-head{align-items:flex-start;flex-direction:column}.rep-kpis,.rep-grid,.rep-grid.wide,.rep-year-strip,.rep-sim-grid,.rep-scenarios{grid-template-columns:1fr}.rep-kpi{min-height:112px}.rep-detail-grid{grid-template-columns:1fr 1fr}}
@media print{.app.repact-mode .sidebar,.app.repact-mode .topbar,.rep-link,.rep-toolbarx{display:none!important}.app.repact-mode .content{padding:0;background:#fff}.rep-cardx,.rep-kpi,.rep-tablewrap{box-shadow:none;break-inside:avoid}.repact-shell{max-width:none}}
.rep-kpi .rep-icon{background:rgba(18,64,96,.07);border-color:rgba(18,64,96,.13)}

/* ===== Acompanhamento da negociação =================================
   Blocos novos dentro do dossiê e das telas que já existem. Reaproveitam
   as mesmas variáveis, raios e sombras do restante da folha para não
   abrir uma segunda linguagem visual dentro da mesma tela. */
.rep-wf{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 16px}
.rep-wf-btn{padding:7px 13px;border-radius:999px;border:1px solid var(--rep-line);background:#fffdf9;color:#41546b;font-size:12px;font-weight:700;cursor:pointer;transition:.16s}
.rep-wf-btn:hover{border-color:var(--estado);color:var(--estado);transform:translateY(-1px)}
.rep-wf-btn.on{background:var(--estado);border-color:var(--estado);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--estado) 32%,transparent)}
.rep-acomp-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.rep-acomp-campos .fld label{display:block;margin-bottom:6px;font-size:12px;font-weight:700}
.rep-acomp-campos .fld input{width:100%;height:42px;border:1px solid var(--rep-line);border-radius:10px;padding:0 12px;background:#fff;color:var(--rep-ink)}
.rep-obs-add{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}
.rep-obs-add textarea{flex:1;min-height:60px;resize:vertical;border:1px solid var(--rep-line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--rep-ink);font:inherit}
.rep-obs-add textarea:focus{outline:none;border-color:var(--rep-gold);box-shadow:0 0 0 3px rgba(201,122,18,.12)}
.rep-tl{display:flex;flex-direction:column;gap:9px;max-height:320px;overflow-y:auto}
.rep-obs{border:1px solid var(--rep-line);border-left:3px solid var(--rep-gold);border-radius:0 11px 11px 0;background:#fffdf9;padding:10px 13px}
.rep-obs header{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:750;letter-spacing:.4px;text-transform:uppercase;color:#6b7280;margin-bottom:5px}
.rep-obs p{margin:0;font-size:13px;line-height:1.55;white-space:pre-wrap}
.rep-obs-del{border:0;background:none;color:#b4453f;font-size:16px;line-height:1;cursor:pointer;opacity:.5;padding:0 2px}
.rep-obs-del:hover{opacity:1}
.rep-estado{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:750;color:#fff;background:var(--estado,#6b7785);white-space:nowrap}

/* Aviso prévio: a data-limite para comunicar, e o alerta de quem já passou dela */
.rep-atraso{color:#b4453f;font-weight:750}
.rep-aviso{display:block;margin-top:5px;font-size:11px;font-weight:700;color:#8a6a3f}
.rep-aviso.vencido{color:#b4453f}
.rep-event time small{margin-left:7px;font-size:10px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}

/* ===== Exportação da carteira ===================================== */
.rep-exp-filtros{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.rep-exp-filtros .fld span{display:block;margin-bottom:6px;font-size:12px;font-weight:700}
.rep-exp-filtros select{width:100%;height:42px;border:1px solid var(--rep-line);border-radius:10px;padding:0 12px;background:#fff;color:var(--rep-ink)}
.rep-exp-cols{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.rep-chk{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--rep-line);border-radius:9px;background:#fffdf9;font-size:12px;cursor:pointer;user-select:none;transition:.16s}
.rep-chk:hover{border-color:var(--rep-gold)}
.rep-chk:has(input:checked){background:#fff6e5;border-color:var(--rep-gold);color:#8a5200;font-weight:700}
.rep-chk input{accent-color:var(--rep-gold)}
.rep-exp-acoes{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.rep-exp-acoes .rep-pill{margin-right:auto;background:#eef2f0;color:#27425e}
@media(max-width:850px){.rep-acomp-campos,.rep-exp-filtros{grid-template-columns:1fr}}
