
/* RESERVA DO VALE — refinamento visual geral | preview 19/10/2026
   Referência de densidade, ritmo e hierarquia: Fazenda São Gabriel Manejo.
   Identidade, conteúdo, cálculos, acessos e dados do Reserva permanecem intactos. */
:root {
  --rv-green: #12643c;
  --rv-green2: #297b52;
  --rv-green-soft: #eaf3eb;
  --rv-bg: #f6f6f3;
  --rv-card: #fffefd;
  --rv-line: #e5e9e2;
  --rv-text: #233329;
  --rv-muted: #718077;
  --rv-red: #b3433d;
  --rv-red-soft: #fcf2ef;
  --rv-yellow: #996d21;
  --rv-paper: #fffefd;
  --rv-shadow: 0 9px 27px rgba(38,55,40,.045);
  --rv-shadow-hover: 0 13px 32px rgba(32,65,41,.075);
}
body {
  background: radial-gradient(ellipse 1100px 740px at 0 0,#fff 0%,#f7f8f5 43%,var(--rv-bg) 90%);
  color:var(--rv-text);
  -webkit-font-smoothing:antialiased;
}
button,input,textarea,select {font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid #36865c;
  outline-offset:3px;
}
button {transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}

/* Navegação mais leve, na proporção da Fazenda; logo preservado */
.robust-app {grid-template-columns:252px minmax(0,1fr)}
.robust-side {
  background:linear-gradient(170deg,#fff 0%,#fcfdfb 48%,#f7faf7 100%);
  border-right:1px solid #e5e8e1;
  box-shadow:none;
  padding:22px 16px 20px;
}
.rv-side-brand {
  min-height:165px;
  padding:4px 6px 17px;
  margin-bottom:18px;
  border-bottom:1px solid #e9ede6;
}
.rv-side-logo {width:214px;max-width:100%;height:132px;background-position:center;background-size:contain}
.rv-side-heading {font-size:9.5px;letter-spacing:.16em;color:#9ca89f;padding:0 12px 12px;font-weight:800}
.robust-side nav {gap:5px}
.robust-side .robust-nav {
  width:100%;
  min-height:46px;
  border:1px solid transparent;
  padding:11px 13px;
  display:flex;
  align-items:center;
  gap:11px;
  border-radius:12px;
  background:transparent;
  color:#657168;
  font-size:12.5px;
  font-weight:650;
  letter-spacing:-.008em;
}
.robust-side .robust-nav:hover {
  color:#21583a;
  background:#f0f6f0;
  border-color:#e3ebe3;
}
.robust-side .robust-nav.active {
  color:#145b37;
  background:#e9f2e9;
  border-color:#dae9dc;
  box-shadow:inset 3px 0 0 #268253;
  font-weight:800;
}
.robust-side .rv-nav-icon {
  height:20px;width:20px;flex:none;color:#8a9b90;
}
.robust-side .robust-nav .rv-nav-icon svg {width:18px;height:18px;stroke-width:1.85}
.robust-side .robust-nav.active .rv-nav-icon {color:#207249}
.robust-side .robust-nav[data-page][hidden]{display:none!important}

/* Cabeçalho redundante deixa de ocupar uma faixa branca.
   O acesso/sair permanece acessível no canto superior direito. */
@media(min-width:1210px) {
  .robust-main {position:relative}
  .robust-header {
    height:0!important;min-height:0!important;
    position:relative;top:auto;z-index:16;
    overflow:visible;border:0;
    padding:0;background:transparent;backdrop-filter:none;
    box-shadow:none;
  }
  .robust-header .rv-header-page {display:none}
  .robust-header .rv-mobile-logo {display:none!important}
  .robust-header .rv-user-bar {
    position:absolute;
    top:37px;right:max(39px,calc((100% - 1480px)/2 + 39px));
    margin:0;z-index:16;
  }
}
.rv-user-bar {
  display:flex;align-items:center;gap:11px;
  border-radius:999px;border:1px solid #e4e9e2;
  background:rgba(255,254,253,.94);
  padding:6px 6px 6px 14px;
  box-shadow:0 5px 18px #26442d09;
  white-space:nowrap;
}
.rv-user-bar span {font-size:11px;color:#53665a;font-weight:750;letter-spacing:-.01em}
.rv-user-bar button {
  background:#f3f7f2;border:1px solid #e0eadf;
  border-radius:999px;
  min-height:31px;padding:7px 13px;
  color:#286043;font-size:11px;
}
.rv-user-bar button:hover {background:#e5f1e6;color:#155533}

/* Título único da tela, dentro do conteúdo, como na Fazenda */
.robust-content {
  max-width:1550px;
  margin:0 auto;
  padding:38px 42px 58px;
}
.section-title {
  align-items:flex-end;
  margin-bottom:24px;
  gap:16px;
}
@media(min-width:1210px){
  .section-title{padding-right:270px;min-height:93px}
  #home .section-title{padding-right:270px}
  #home .section-title .asof{padding-left:0}
}
.section-title small {
  color:#2e7b50;
  font-size:10px;
  font-weight:850;
  letter-spacing:.155em;
}
.section-title h1 {
  color:#25382b;
  font-size:clamp(27px,2.4vw,36px);
  line-height:1.1;
  font-weight:810;
  letter-spacing:-.045em;
  margin:8px 0 7px;
}
.section-title p {
  color:#839087;
  font-size:13px;
  line-height:1.55;
  max-width:660px;
}
/* Fechamento: metadado discreto junto à introdução, não mais um cartão isolado. */
#home #asOfLabel {
  display:block;
  width:auto;
  max-width:none;
  margin:10px 0 0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:#9aa69c;
  font-size:10.5px;
  font-weight:550;
  line-height:1.4;
  letter-spacing:.005em;
  text-align:left;
}
#home .section-title {align-items:flex-end}

/* Indicadores com contraste, ar e hierarquia da Fazenda */
.hero-kpis {gap:15px;margin-bottom:20px}
.hero-kpi {
  position:relative;
  isolation:isolate;
  padding:19px 19px 18px;
  min-height:142px;
  background:var(--rv-paper);
  border:1px solid #e8e9e3;
  border-radius:17px;
  box-shadow:var(--rv-shadow);
  overflow:hidden;
}
.hero-kpi:before {
  content:"";
  position:absolute;
  right:-25px;top:-32px;
  width:112px;height:112px;
  border-radius:50%;
  background:radial-gradient(circle,#edf5ed 4%,rgba(237,245,237,0) 72%);
  z-index:-1;
}
.hero-kpi span {color:#7a877e;font-size:11px;font-weight:770;line-height:1.4}
.hero-kpi strong {
  color:#2a3b2f;
  font-size:clamp(19px,1.85vw,27px);
  margin:13px 0 8px;
  letter-spacing:-.045em;
  line-height:1.1;
  font-weight:810;
  font-variant-numeric:tabular-nums;
}
.hero-kpi em {font-size:10px;line-height:1.5;color:#93a098}
.hero-kpi:nth-child(1) strong {color:#205e40}
.hero-kpi:nth-child(2) strong {color:#28392e}
.hero-kpi.overdue {background:#fffafa;border-color:#f0e0db}
.hero-kpi.overdue:before{background:radial-gradient(circle,#fae8e4,transparent 72%)}
.hero-kpi.overdue.credit {background:#f4faf5;border-color:#dfece1}
.hero-kpi.overdue.credit:before{background:radial-gradient(circle,#e6f4e8,transparent 72%)}

/* Painéis, blocos e microtipografia consistentes */
.robust-panel,
#recebimentos .rv-forecast-panel,
#recebimentos .rv-forecast-card,
.rule-card,
.closing-panel,
.incc-entry,
.incc-history-panel {
  border-color:#e8eae5;
  border-radius:17px;
  background:var(--rv-paper);
  box-shadow:var(--rv-shadow);
}
.robust-panel {overflow:hidden}
.home-grid {gap:15px}
.panel-title {padding:19px 21px;border-bottom:1px solid #eeefe9;gap:16px}
.panel-title b {font-size:14px;font-weight:800;color:#2d3e31;letter-spacing:-.023em}
.panel-title span {font-size:11px;color:#939c94;line-height:1.45;margin-top:5px}
.primary,.secondary,.pdf-export-button,
#recebimentos .rv-forecast-land,
#recebimentos .rv-forecast-month {
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.primary,.pdf-export-button {
  border-radius:11px;background:#17693f;border-color:#17693f;
  box-shadow:0 5px 12px #17693f18;
}
.primary:hover,.pdf-export-button:hover:not(:disabled) {background:#0e5934;border-color:#0e5934}
.secondary {
  background:#fff;border:1px solid #e5e9e2;
  color:#276345;border-radius:10px;
  font-size:11px;padding:9px 12px;
  white-space:nowrap;
}
.secondary:hover{background:#eef6ee;border-color:#d3e5d6}
.attention-item {padding:15px 19px;border-top:1px solid #f0f1ec;gap:15px;background:transparent}
.attention-item:hover {background:#f7faf7}
.attention-main b {font-size:12px;color:#354a3a;font-weight:800}
.attention-main small {font-size:10.5px;color:#909e92;margin-top:4px}
.attention-meta b {font-size:12px}
.attention-meta small {font-size:9.5px;color:#9ba39b;margin-top:5px}
.attention-empty{padding:35px 20px}
.portfolio-summary>div {padding:20px 21px;border-top:1px solid #eff0eb}
.portfolio-summary>div:nth-child(odd){border-right:1px solid #eff0eb}
.portfolio-summary span {color:#89958b;font-size:10px}
.portfolio-summary strong {font-size:22px;margin-top:8px;letter-spacing:-.035em;color:#2b4032}
.home-kpis {margin-bottom:18px}

/* Tabela de terrenos: estrutura de produto final */
.list-toolbar {margin:0 0 17px;gap:14px}
.search-box {
  min-height:44px;max-width:540px;
  border:1px solid #e5e9e3;
  border-radius:11px;
  background:var(--rv-paper);
  box-shadow:0 4px 15px rgba(34,59,39,.025);
  padding:0 14px;
}
.search-box span {font-size:20px;color:#9bab9e}
.search-box input {padding:12px 0;font-size:12.5px;color:#34493a}
.search-box:focus-within {border-color:#92c6a4;box-shadow:0 0 0 3px #e8f4e9}
.result-count {font-size:11px;font-weight:650;color:#859187}
.data-table {font-size:12px}
.data-table th {
  background:#fafbf9;color:#89978a;
  padding:14px 15px;
  font-size:10px;
  letter-spacing:.075em;
  border-bottom:1px solid #edf0ea;
}
.data-table td {
  border-top:1px solid #f0f1ed;
  padding:16px 15px;
  color:#435046;
  line-height:1.45;
}
.data-table tr.clickable:hover {background:#f5f9f5}
.data-table td b{color:#2f4236}
.data-table .chev{color:#82a78b}
.sort-button {border-radius:6px;padding:3px 0;color:#879488;font-weight:750}
.sort-button:hover{background:transparent;color:#23633f}
.sort-button.active{color:#12643c}
.terrain-client b{color:#2b4232;font-size:12px}
.terrain-client small{color:#99a59a;font-size:10px;line-height:1.45;margin-top:4px}
.rv-land-pagination {
  padding:17px 4px 5px;
}
.rv-pagination-info{font-size:10.5px;color:#919d92}
.rv-pagination-controls button {border-color:#e4eae1;border-radius:9px;color:#467159;background:#fff}
.rv-pagination-controls button.active{background:#176c42;border-color:#176c42}
.status-pill {font-weight:800;letter-spacing:-.01em}
.status-pill.ok{background:#edf7ee;color:#236f44}
.status-pill.late{background:#fcf0ee;color:#b3433d}
.status-pill.warn{background:#fbf2dd;color:#8f6a25}

/* Ficha do terreno: valorização do conteúdo, não da moldura */
.robust-backdrop.open {background:rgba(15,31,18,.45);backdrop-filter:blur(4px)}
.land-modal {
  width:min(1200px,96vw);
  max-height:min(94vh,980px);
  background:#fdfefa;
  border:1px solid #e5e9e2;
  border-radius:20px;
  box-shadow:0 32px 95px #14271c32;
}
.land-modal-head {
  background:linear-gradient(130deg,#fff,#fbfdf9);
  border-bottom:1px solid #e9eee7;
  padding:23px 27px;
}
.land-modal-head small {font-size:10px;letter-spacing:.15em;color:#3d7954}
.land-modal-head h2 {font-size:27px;letter-spacing:-.04em;color:#263a2d}
.land-modal-head span {color:#879489;line-height:1.5}
.land-modal-body {padding:23px 27px 30px}
.contract-cards {gap:12px}
.contract-cards article,.detail-kpis article,.break-card {
  border:1px solid #e8ece5;
  background:#fff;
  border-radius:13px;
  padding:16px 16px;
  box-shadow:0 3px 13px rgba(35,62,38,.025);
}
.contract-cards article span,.detail-kpis article span,.break-card span {font-size:10px;color:#839185;line-height:1.4}
.contract-cards article strong{font-size:20px;letter-spacing:-.035em;margin:10px 0 6px;color:#2e4134}
.contract-cards article em{font-size:9.5px;color:#94a096;line-height:1.45}
.detail-kpis{gap:10px;margin-top:12px}
.detail-kpis article strong{font-size:17px;margin-top:7px}
.contract-cards article.accent,.break-card.wide{background:#eff7f0;border-color:#dceadd}
.contract-cards article.danger{background:#fff8f7;border-color:#efdfdb}
.summary-breakdown{gap:12px}
.break-card strong{font-size:18px;color:#2d4836;margin:8px 0}
.land-modal-actions{gap:8px;align-items:center}
.pdf-export-button {height:40px;padding:0 15px}
.close {background:#fff;border:1px solid #e4e9e2;border-radius:11px;color:#667568}
.close:hover{background:#eff5ee}
.special-payment-card{background:#f2f8f2;border-color:#d9e9dc;border-radius:12px}
.overdue-row{background:#fffafa}
.table-tools{margin:11px 0}
.toggle-overdue{font-size:11px}
.toggle-overdue input{accent-color:#176c42}

/* Regras, conferências, processamento e controles */
.rule-card {padding:18px;gap:13px}
.rule-card>span {width:32px;height:32px;background:#eff6ef;color:#337750}
.rule-card b{font-size:12.5px;color:#304534}
.rule-card p{font-size:11px;line-height:1.55;color:#859186;margin-top:5px}
.rules-grid{gap:13px}
.conference-list {gap:13px}
.conference-card {padding:20px 22px}
.conference-card b {font-size:13px}
.conference-card p {font-size:11.5px;line-height:1.65}
.closing-panel,.form-panel,.flow-panel{padding:24px}
.closing-head h2,.form-panel h2,.flow-panel h2{font-size:19px;letter-spacing:-.03em}
.closing-head p,.form-panel>p {color:#849389;line-height:1.55}
.form-grid input,.incc-field input,.incc-field textarea {
  background:#fff;border:1px solid #dfe8df;border-radius:10px;
}
.form-grid input:focus,.incc-field input:focus,.incc-field textarea:focus {border-color:#95cbaa;box-shadow:0 0 0 3px #eaf6eb}
.incc-history-panel .incc-history-row{border-color:#eff2ed}
.incc-history-panel .incc-period b{color:#2b4331}

/* Recebimentos previstos com o mesmo padrão visual */
#recebimentos .rv-forecast-controls {margin-bottom:19px;gap:15px}
#recebimentos .rv-forecast-control {font-size:11px}
#recebimentos .rv-forecast-control input {
  padding:13px 15px;
  background:#fff;
  border:1px solid #e3e9e2;
  border-radius:11px;color:#2d4b35;
}
#recebimentos .rv-forecast-status {
  background:#eff6ef;color:#4a7758;
  border-left:3px solid #7fb58a;
  border-radius:9px;padding:11px 14px;
  margin:2px 0 18px;
}
#recebimentos .rv-forecast-metrics {gap:14px;margin-bottom:20px}
#recebimentos .rv-forecast-card {padding:22px 23px}
#recebimentos .rv-forecast-card.main{background:#204c35;border-color:#204c35}
#recebimentos .rv-forecast-card.main strong{color:#fff}
#recebimentos .rv-forecast-card.main span{color:#d7e7db}
#recebimentos .rv-forecast-card span{font-size:10px;letter-spacing:.07em}
#recebimentos .rv-forecast-card strong{margin-top:12px;line-height:1.14}
#recebimentos .rv-forecast-layout{gap:15px}
#recebimentos .rv-forecast-panel-head{padding:19px 20px;border-color:#edf1ea}
#recebimentos .rv-forecast-panel-head h2{color:#2a4131;font-size:15px;font-weight:800}
#recebimentos .rv-forecast-table th{background:#fafcf9;color:#879588}
#recebimentos .rv-forecast-table td{border-color:#edf1ea;padding:14px 13px}
#recebimentos .rv-forecast-table tr:hover{background:#f6faf6}
#recebimentos .rv-forecast-history{margin-top:16px}
#recebimentos .rv-forecast-footnote{font-size:11px;line-height:1.7;color:#87948a}

/* Autenticação refinada, identidade original do Reserva mantida */
#rvAuthShell {
  background:radial-gradient(ellipse 900px 620px at 30% 0%,#fff 0%,#f5f8f4 62%,#eef3ee 100%);
}
.rv-auth-logo {margin-bottom:18px}
.rv-auth-card {
  border-radius:20px;
  padding:36px;
  background:#fffefc;
  border-color:#e4eae4;
  box-shadow:0 22px 66px rgba(29,59,36,.085);
}
.rv-auth-kicker {color:#2e8052}
.rv-auth-card h1 {font-size:27px;color:#283c2c;letter-spacing:-.042em}
.rv-auth-card p {font-size:12.5px;color:#849185;line-height:1.7}
.rv-auth-field {font-size:11.5px;color:#56705a}
.rv-auth-field input {
  padding:14px 15px;
  background:#fff;border-radius:11px;
}
.rv-auth-field input:focus{outline-color:#a6d1b3}
.rv-auth-submit{
  min-height:45px;border-radius:11px;
  background:#176a42;box-shadow:0 7px 18px #176a421a;
}
.rv-auth-submit:hover{background:#0e5735}

/* Telas intermediárias: menos espaço morto que a barra branca antiga */
@media (min-width:781px) and (max-width:1209px){
  .robust-app{grid-template-columns:220px minmax(0,1fr)}
  .rv-side-brand {min-height:148px;padding-bottom:12px}
  .rv-side-logo {width:189px;height:121px}
  .robust-side {padding:16px 12px}
  .robust-side .robust-nav{min-height:44px;padding:10px 11px;font-size:12px}
  .robust-header {
    height:51px!important;min-height:51px!important;
    background:transparent;border:none;box-shadow:none;
    backdrop-filter:none;
    padding:9px 24px 0;
  }
  .robust-header .rv-header-page{display:none}
  .robust-content{padding:12px 27px 44px}
  .section-title{margin-bottom:19px}
  .section-title h1{font-size:30px}
  #home .section-title{align-items:flex-start}
  .rv-user-bar{margin-left:auto}
  .hero-kpi{min-height:135px}
}
@media(max-width:1030px) {
  .hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  body{background:#f7f8f5}
  .robust-app {display:block}
  .robust-header{
    position:sticky;top:0;
    height:60px!important;min-height:60px!important;
    display:flex;
    background:rgba(255,254,252,.97);
    backdrop-filter:blur(12px);
    padding:0 15px;border-bottom:1px solid #e9eee7;
    box-shadow:0 2px 12px rgba(33,63,38,.025);
  }
  .robust-header .rv-header-page{display:none}
  .robust-header > .rv-mobile-logo{display:block!important;width:119px;height:51px;flex:0 0 119px;margin-right:auto}
  .robust-header .rv-user-bar {
    position:static;border:0;box-shadow:none;background:transparent;
    padding:0;gap:4px;margin-left:auto;
  }
  .rv-user-bar button{padding:8px 11px}
  .robust-content{padding:25px 15px 95px}
  .section-title{margin-bottom:21px;gap:10px}
  .section-title h1{font-size:27px}
  .section-title p{font-size:12px}
  .hero-kpis {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .hero-kpi {min-height:128px;padding:14px 13px}
  .hero-kpi strong{font-size:20px;white-space:normal;overflow-wrap:anywhere}
  .hero-kpi em{font-size:9.5px}
  .panel-title{padding:16px}
  .attention-item{padding:13px 15px}
  .portfolio-summary>div{padding:17px}
  .portfolio-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portfolio-summary>div:nth-child(odd){border-right:1px solid #eff0eb}
  .data-table th{padding:12px 13px}
  .data-table td{padding:13px}
  .land-modal {width:100%;max-height:96dvh;border-radius:16px}
  .land-modal-head{padding:17px 16px}
  .land-modal-body{padding:17px 14px 25px}
  .land-modal-head h2{font-size:23px}
  .contract-cards article,.detail-kpis article{padding:12px}
  .contract-cards article strong{font-size:18px}
  .mobile-bottom{background:#fffefc;border-color:#e5e9e2;border-radius:15px;box-shadow:0 13px 37px #274e2d1a}
  .mobile-bottom button.active{background:#ebf5ec;color:#17683d}
  #recebimentos .rv-forecast-panel-head{padding:16px 14px}
  #recebimentos .rv-forecast-card{padding:17px 15px}
  .rv-auth-card{padding:28px 22px}
}
@media(max-width:480px){
  .robust-header > .rv-mobile-logo{width:104px;flex-basis:104px;height:47px}
  .hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-kpi strong{font-size:17px}
  .hero-kpi span{font-size:10px}
  .hero-kpi em{font-size:9px}
  .section-title h1{font-size:26px}
  .portfolio-summary{grid-template-columns:1fr 1fr}
  .land-modal-head{align-items:flex-start}
  .contract-cards,.detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .summary-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Usuários com preferências de movimento reduzido não recebem animações */
@media(prefers-reduced-motion:reduce){button,input{transition:none!important}}
