/* Recanto de Carolina · prévia (14/11/2026). Por cima de base.css, que é a tela do modelo Senlux de 12/11. */
:root{
  --cor:#1F3F24;--cor2:#2F5D34;--cor-suave:#E4EEE0;--destaque:#6FA33A;
  --fundo:#F6F3EC;--linha:#E2DDCF;--linha-forte:#D3CDBD;
  --azul:#2D5368;--azul-fundo:#DDE8EE;--ouro:#7A5A12;--ouro-fundo:#F4EAD2;
}
.faixa{position:sticky;top:0;z-index:30;background:var(--cor);color:#E9F0E4;font-size:12.5px;text-align:center;padding:9px 16px;letter-spacing:.01em}
.casca{min-height:calc(100vh - 36px)}
.lateral{top:36px;height:calc(100vh - 36px)}
.marca-logo{width:52px;height:28px;object-fit:contain;flex:none}

/* status dos flats */
.chip.ocupado{background:var(--ok-fundo);color:var(--ok)}
.chip.vago{background:var(--ouro-fundo);color:var(--ouro)}
.chip.reservado{background:var(--azul-fundo);color:var(--azul)}
.chip.manutencao{background:var(--erro-fundo);color:var(--erro)}
.chip.atrasado{background:var(--erro-fundo);color:var(--erro)}
.chip.pago{background:var(--ok-fundo);color:var(--ok)}
.chip.avencer{background:#EFEDE6;color:var(--suave)}
.chip.aviso{background:var(--aviso-fundo);color:var(--aviso)}

/* início */
.kpi .barra-h{margin-top:2px}
.kpi strong small{font-size:15px;color:var(--suave);font-weight:600;letter-spacing:0}
.funil{display:flex;flex-direction:column;gap:12px;padding:14px 18px 18px}
.funil-linha{display:grid;grid-template-columns:110px 1fr 44px;gap:10px;align-items:center;font-size:13px}
.funil-linha .barra-h{margin:0;height:12px;border-radius:6px}
.funil-linha .barra-h i{border-radius:6px}
.funil-linha b{text-align:right;font-variant-numeric:tabular-nums}

/* mapa de flats */
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.filtros .campo{min-width:200px;flex:1;max-width:320px}
.andar{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);margin:18px 0 10px}
.mapa{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.flat{position:relative;text-align:left;background:var(--superficie);border:1px solid var(--linha);border-radius:12px;padding:12px 13px 11px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--sombra);transition:border-color .15s,transform .1s;overflow:hidden}
.flat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ok)}
.flat[data-st="vago"]::before{background:#C9A44A}
.flat[data-st="reservado"]::before{background:var(--azul)}
.flat[data-st="manutencao"]::before{background:var(--erro)}
.flat:hover{border-color:var(--cor)}
.flat-topo{display:flex;justify-content:space-between;align-items:center;gap:6px}
.flat-num{font-size:20px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.flat small{color:var(--suave);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flat .pg{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--suave)}
.bolinha{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none}
.bolinha.atrasado{background:var(--erro)}
.bolinha.avencer{background:var(--fraco)}
.legenda-mapa{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--suave);margin-top:4px}
.legenda-mapa span{display:inline-flex;align-items:center;gap:6px}
.legenda-mapa i{width:10px;height:10px;border-radius:3px;display:inline-block}

/* listas tipo tabela */
.linha-tab{display:grid;grid-template-columns:64px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--linha);font-size:14px}
.linha-tab:first-child{border-top:0}
.linha-tab .n{font-weight:700;font-variant-numeric:tabular-nums}
.linha-tab small{display:block;color:var(--suave);font-size:12px}
.linha-tab .valor{font-variant-numeric:tabular-nums;font-weight:600}
.cab-tab{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fraco);border-top:0;padding:10px 0 6px}

/* gaveta de detalhe */
.fundo-gaveta{position:fixed;inset:0;background:rgba(20,30,20,.35);z-index:40}
.gaveta{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:var(--fundo);z-index:41;box-shadow:-10px 0 40px rgba(0,0,0,.15);overflow:auto;padding:20px 22px 40px;display:flex;flex-direction:column;gap:16px}
.gaveta-cabeca{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.gaveta-cabeca h2{margin:0;font-size:24px;letter-spacing:-.02em}
.gaveta-cabeca p{margin:4px 0 0;color:var(--suave);font-size:13px}
.ficha{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--raio);padding:4px 16px}
.ficha div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--linha);font-size:14px}
.ficha div:first-child{border-top:0}
.ficha span{color:var(--suave)}
.ficha b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.progresso{height:8px;border-radius:4px;background:#E9E5D9;overflow:hidden}
.progresso i{display:block;height:100%;background:var(--cor2);border-radius:4px}
.meses{display:flex;gap:6px;flex-wrap:wrap}
.mes{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--superficie);border:1px solid var(--linha);border-radius:10px;padding:7px 9px;font-size:11px;color:var(--suave);min-width:52px}
.mes .bolinha{width:10px;height:10px}
.titulo-bloco{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--suave);margin:4px 0 -6px}
.regra{font-size:12px;color:var(--suave);background:var(--superficie);border:1px dashed var(--linha-forte);border-radius:10px;padding:10px 12px}

/* visitas */
.origem{font-size:11px;font-weight:600;color:var(--suave);background:#EFEDE6;border-radius:6px;padding:2px 7px}

@media (max-width:1100px){.linha-tab{grid-template-columns:56px minmax(0,1.4fr) minmax(0,1fr) auto}.linha-tab .so-largo{display:none}}
@media (max-width:820px){
  .faixa{font-size:11.5px}
  .mapa{grid-template-columns:repeat(2,minmax(0,1fr))}
  .linha-tab{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}
  .linha-tab .so-medio{display:none}
  .gaveta{top:auto;width:100vw;max-height:88vh;border-radius:18px 18px 0 0;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
  .filtros .campo{max-width:none;flex-basis:100%}
  .funil-linha{grid-template-columns:92px 1fr 36px}
}

/* classes no lugar de estilo em linha (a CSP da página não permite style="") */
.gaveta[hidden],.fundo-gaveta[hidden]{display:none}
.espaco{height:16px}
.grade.topo{align-content:start}
.btn.nome-link{padding:0;font-weight:600;color:var(--texto)}
.btn.nome-link:hover{background:transparent;text-decoration:underline}
.nota-peq{color:var(--suave);font-size:12px}
.regra-solta{margin-top:14px}
.legenda-mapa .l-ocupado{background:var(--ok)}
.legenda-mapa .l-vago{background:#C9A44A}
.legenda-mapa .l-reservado{background:var(--azul)}
.legenda-mapa .l-manutencao{background:var(--erro)}
.vazio.vazio-peq{padding:12px}
.cartao.cartao-btn{text-align:left;font:inherit;color:inherit}
.cabeca .data{text-transform:none}
.cabeca .data::first-letter{text-transform:uppercase}
.cabeca .data{display:inline-block}
.segmento{max-width:100%;overflow-x:auto;scrollbar-width:none}
.segmento::-webkit-scrollbar{display:none}
.segmento button{white-space:nowrap;flex:none}
.gaveta > *{flex-shrink:0}
.mes{min-width:46px;padding:7px 6px}
.toast{z-index:60}
@media (max-width:820px){
  .item.quebra{flex-wrap:wrap;row-gap:8px}
  .item.quebra .txt{flex:1 1 62%}
  .item.quebra .txt strong{white-space:normal}
  .item.quebra .acoes{margin-left:auto;justify-content:flex-end}
}
@media (max-width:820px){.item.quebra .hora + .avatar{display:none}}
