/* Fontes hospedadas aqui mesmo: nada sai para servidor de terceiro, e a
   política de segurança (CSP default-src 'self') continua fechada.
   Subconjunto latino — cobre todos os acentos do português. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(fontes/grotesk.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(fontes/inter.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ===========================================================================
   Sistema do consultório — Pablo Mendes
   Paleta e tipografia tiradas do manual de identidade da marca:
   verde #A2DF11 · preto #0F0F0F · off-white #F3F3F3
   A fonte da marca é Termina. O arquivo disponível é a versão Test (67 glifos,
   sem acentos), então os títulos usam Space Grotesk, a mais próxima da
   geometria da Termina entre as livres. A Termina segue viva na logo.
   =========================================================================== */
:root{
  --verde:#A2DF11; --verde-esc:#7aa80d; --verde-f:#f0f8dc; --preto:#0F0F0F; --off:#F3F3F3;

  --d0:#0F0F0F; --d1:#171717; --d2:#1f1f1f; --d3:#2b2b2b;
  --d-ink:#F3F3F3; --d-mut:#8c8c8c; --d-fraco:#6e6e6c;

  --bg:#f5f5f3; --sup:#ffffff; --sup2:#fafaf8; --line:#e6e6e2; --line2:#f0f0ed;
  --ink:#151515; --ink2:#3c3c3a; --mut:#73736e;

  --ok:#3f7d14; --ok-f:#eef7dd;
  --aten:#8a5a00; --aten-f:#fbf0d8;
  --grave:#9b2f27; --grave-f:#f9e7e5;

  --disp:'Space Grotesk',system-ui,-apple-system,sans-serif;
  --ui:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;
  --num:'Space Grotesk',ui-monospace,monospace;

  --r:12px; --r-lg:14px;
  --lat:248px;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:14.5px;line-height:1.5;
     -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--disp);font-weight:700;letter-spacing:-.03em;line-height:1.2}
h1{font-size:26px} h2{font-size:17px} h3{font-size:16px}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--verde-esc);outline-offset:2px}
[hidden]{display:none!important}
.ic{flex:0 0 auto}
.n,.num{font-family:var(--num);font-variant-numeric:tabular-nums}
.rot{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.sub{color:var(--mut);font-size:13px}
.esconde{display:none!important}

/* ---------- estrutura ---------- */
.app{display:grid;grid-template-columns:var(--lat) minmax(0,1fr);min-height:100vh;background:var(--d0)}

/* ---------- lateral ---------- */
.lat{background:var(--d0);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.lat .marca{padding:24px 20px 20px}
.lat .marca img{width:154px;display:block}
.lat .marca .et{margin-top:12px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#6e6e6e;font-weight:600}
.nav{padding:6px 12px;flex:1;overflow-y:auto;scrollbar-width:thin}
.nav .gr{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#5c5c5c;padding:16px 10px 7px}
.nav a{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;color:#a8a8a4;text-decoration:none;
       font-size:14px;font-weight:500;position:relative;transition:background .12s,color .12s}
.nav a .ic{color:#6e6e6c;transition:color .12s}
.nav a:hover{background:var(--d1);color:var(--d-ink)}
.nav a.on{background:var(--d2);color:#fff;font-weight:600}
.nav a.on .ic{color:var(--verde)}
.nav a.on::before{content:'';position:absolute;left:-12px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--verde)}
.nav a .cnt{margin-left:auto;font-family:var(--num);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;
            background:#3a2c08;color:#d9ac3f}
.lat .eu{padding:14px 16px;border-top:1px solid var(--d2);display:flex;align-items:center;gap:11px}
.av{width:34px;height:34px;border-radius:9px;background:var(--verde);color:var(--preto);display:grid;place-items:center;
    font-family:var(--disp);font-weight:700;font-size:15px;flex:0 0 auto}
.lat .eu .q{min-width:0}
.lat .eu .q b{display:block;font-size:13.5px;color:var(--d-ink);font-weight:600;line-height:1.2;
               white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lat .eu .q span{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#6e6e6c;font-weight:600}
.lat .eu a{margin-left:auto;color:#6e6e6c;text-decoration:none;flex:0 0 auto}
.lat .eu a:hover{color:var(--d-ink)}

/* ---------- topo e página ---------- */
.main{min-width:0;display:flex;flex-direction:column;background:var(--bg)}
.cab{background:var(--sup);border-bottom:1px solid var(--line);padding:18px 30px;display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}
.cab .sub{font-size:13.5px;margin-top:3px}
.cab .dir{margin-left:auto;display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.cab .quando{text-align:right}
.cab .quando .d{font-family:var(--num);font-size:13px;color:var(--ink2);font-weight:500}
.cab .quando .s{font-size:11.5px;color:var(--mut)}
.pg{padding:20px 30px 60px;display:flex;flex-direction:column;gap:16px;flex:1}

/* ---------- filtros ---------- */
.filtros{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.busca{flex:1 1 250px;max-width:360px;display:flex;align-items:center;gap:9px;background:var(--sup);
       border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--mut)}
.busca input{border:0;outline:0;background:none;flex:1;min-width:0}
.chips{display:flex;gap:3px;background:var(--sup);border:1px solid var(--line);border-radius:10px;padding:3px}
.chips a,.chips button{border:0;background:none;font-size:13px;font-weight:600;color:var(--mut);padding:6px 13px;
       border-radius:7px;cursor:pointer;text-decoration:none}
.chips a.on,.chips button.on{background:var(--preto);color:#fff}
select.sl,input.sl{background:var(--sup);border:1px solid var(--line);border-radius:10px;padding:8px 12px;
       font-size:13.5px;font-weight:500;color:var(--ink2)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--sup);color:var(--ink);
     padding:10px 16px;border-radius:9px;font-size:13.5px;font-weight:600;text-decoration:none;cursor:pointer;
     transition:border-color .12s,background .12s}
.btn:hover{border-color:#cfcfc9}
.btn.pri{background:var(--preto);border-color:var(--preto);color:#fff}
.btn.pri:hover{background:#242424;border-color:#242424}
.btn.vd{background:var(--verde);border-color:var(--verde);color:var(--preto);font-weight:700}
.btn.vd:hover{background:#b0ee16;border-color:#b0ee16}
.btn.gh{background:transparent;border-color:#333;color:#fff}
.btn.gh:hover{background:var(--d2);border-color:#3f3f3f}
.btn.peq{padding:6px 11px;font-size:12.5px;border-radius:7px}
.btn.perigo{color:var(--grave);border-color:#e9cfcc}
.btn[disabled],.btn.ocupado{opacity:.55;pointer-events:none}

/* ---------- cartões ---------- */
.cartao{background:var(--sup);border:1px solid var(--line);border-radius:var(--r-lg);padding:19px 21px}
.cartao>h2{margin-bottom:4px}
.ct{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.ct .mais{margin-left:auto;font-size:12.5px;color:var(--ink2);text-decoration:none;font-weight:600;
          display:inline-flex;align-items:center;gap:5px}
.ct .mais:hover{color:var(--ink)}
.cnt2{font-family:var(--num);font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:5px;background:var(--aten-f);color:var(--aten)}

/* ---------- blocos de contraste ---------- */
.faixa{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.escuro{background:var(--d0);border-radius:var(--r-lg);color:var(--d-ink);position:relative;overflow:hidden}
.escuro .brilho{position:absolute;right:-120px;top:-130px;width:430px;height:430px;border-radius:50%;
   background:radial-gradient(circle,rgba(162,223,17,.15),transparent 64%);pointer-events:none}
.hero{padding:26px 28px}
.hero .rot{color:var(--verde);position:relative}
.hero h2{font-size:26px;color:#fff;margin:11px 0 0;position:relative}
.hero h2 em{font-style:normal;color:var(--d-mut);font-weight:500}
.hero .ag{position:relative;display:flex;align-items:flex-end;gap:16px;margin-top:16px;flex-wrap:wrap}
.hero .hh{font-family:var(--num);font-size:44px;font-weight:700;line-height:.95;color:var(--verde);letter-spacing:-.04em}
.hero .qq b{display:block;font-family:var(--disp);font-size:17px;color:#fff;font-weight:700;letter-spacing:-.02em}
.hero .qq span{font-size:13px;color:var(--d-mut)}
.hero .btns{position:relative;display:flex;gap:9px;margin-top:24px;flex-wrap:wrap}
.hero .nada{position:relative;color:var(--d-mut);font-size:14px;margin-top:14px}

/* precisa de atenção */
.aten .cb{display:flex;align-items:flex-start;gap:12px}
.aten .cb p{color:var(--mut);font-size:12.5px;margin-top:2px}
.aten .mk{margin-left:auto;width:32px;height:32px;border-radius:9px;background:var(--aten-f);color:var(--aten);
          display:grid;place-items:center;flex:0 0 auto}
.aten ul{list-style:none;padding:0;margin:13px 0 0}
.aten li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.aten li:last-child{border-bottom:0;padding-bottom:0}
.aten li a{flex:1;color:var(--ink2);text-decoration:none}
.aten li a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.aten li b{font-family:var(--num);font-size:16px;font-weight:700}
.aten li.al b{color:var(--aten)} .aten li.gr b{color:var(--grave)} .aten li.zero b{color:var(--mut)}

/* ---------- indicadores ---------- */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.kpi{background:var(--sup);border:1px solid var(--line);border-radius:var(--r);padding:15px 17px}
.kpi.mk{border-top:2px solid var(--verde)}
.kpi b{display:block;font-family:var(--num);font-size:25px;font-weight:700;letter-spacing:-.035em;margin:7px 0 3px}
.kpi.din b{color:var(--ok)} .kpi.alt b{color:var(--aten)} .kpi.gr b{color:var(--grave)}
.kpi small{color:var(--mut);font-size:12px;display:block}
.linhas{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.lrow{background:var(--sup);border:1px solid var(--line);border-radius:11px;padding:12px 17px;display:flex;align-items:center;gap:12px}
.lrow span{color:var(--ink2);font-size:13.5px}
.lrow b{margin-left:auto;font-family:var(--num);font-size:16px;font-weight:700}
.lrow b.neg{color:var(--grave)}

/* ---------- listas ---------- */
.duo{display:grid;grid-template-columns:1.12fr 1fr;gap:16px;align-items:start}
.lista{display:flex;flex-direction:column}
.item{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line2)}
.item:last-child{border-bottom:0;padding-bottom:0}
.item .hr{font-family:var(--num);font-size:13.5px;font-weight:700;color:var(--ink2);width:46px;flex:0 0 auto}
.item .principal{flex:1;min-width:0}
.item .nome{font-weight:600;font-size:14px}
.item .nome a{text-decoration:none}
.item .nome a:hover{text-decoration:underline;text-underline-offset:3px}
.item .det{color:var(--mut);font-size:12.5px;margin-top:1px}
.item .acoes{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.item.saindo{opacity:0;transform:translateX(10px);transition:opacity .22s,transform .22s}
.vazio{padding:26px 6px;text-align:center;color:var(--mut);font-size:13.5px}

/* ---------- etiquetas ---------- */
.tag{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap}
.tag.ok{background:var(--ok-f);color:var(--ok)}
.tag.espera{background:#f2f2ee;color:var(--ink2)}
.tag.atencao{background:var(--aten-f);color:var(--aten)}
.tag.grave{background:var(--grave-f);color:var(--grave)}
.tag.neutra{background:#f2f2ee;color:var(--mut)}

/* ---------- dinheiro ---------- */
.money{display:grid;grid-template-columns:298px 1fr}
.money .esq{padding:23px 25px;border-right:1px solid var(--d2);position:relative;overflow:hidden}
.money .esq .brilho{right:auto;left:-70px;top:auto;bottom:-140px;width:310px;height:310px}
.money .rot{color:var(--d-fraco);position:relative}
.money .big{font-family:var(--num);font-size:33px;font-weight:700;letter-spacing:-.04em;color:#fff;margin:8px 0 3px;position:relative}
.money .big i{font-style:normal;font-size:17px;color:var(--verde);margin-right:5px}
.money .esq small{color:var(--d-mut);font-size:12px;position:relative;display:block}
.money .dir{padding:21px 25px;display:grid;grid-template-columns:repeat(3,1fr);gap:17px 20px}
.money .dir div span{display:block;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--d-fraco)}
.money .dir div b{font-family:var(--num);font-size:17px;font-weight:700;color:var(--d-ink);letter-spacing:-.02em}
.money .dir div b.v{color:var(--verde)}
.money .dir div b.neg{color:#e59a93}

/* ---------- formulários ---------- */
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:13px}
.campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.campo.largo{grid-column:1/-1}
.campo.linha{flex-direction:row;align-items:center;gap:9px}
.campo>span{font-size:12.5px;color:var(--mut);font-weight:500}
.campo>span b{color:var(--grave)}
.inp{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--sup);transition:border-color .12s}
.inp:hover{border-color:#d6d6d0}
textarea.inp{min-height:90px;resize:vertical}
.dica{font-size:12.5px;color:var(--mut);margin-top:8px}
.acoes-form{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}

/* ---------- tabelas ---------- */
.tab{width:100%;border-collapse:collapse;font-size:14px}
.tab th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);
        padding:9px 10px;border-bottom:1px solid var(--line)}
.tab td{padding:10px 10px;border-bottom:1px solid var(--line2)}
.tab tr:last-child td{border-bottom:0}
.tab .n{text-align:right;font-family:var(--num);font-variant-numeric:tabular-nums}
.rolagem{overflow-x:auto;margin:0 -4px;padding:0 4px}

/* ---------- avisos e toasts ---------- */
.aviso{padding:11px 14px;border-radius:10px;font-size:14px;border:1px solid;display:flex;align-items:center;gap:9px}
.aviso.ok{background:var(--ok-f);border-color:#cfe4b4;color:var(--ok)}
.aviso.erro{background:var(--grave-f);border-color:#edc9c5;color:var(--grave)}
.aviso.atencao{background:var(--aten-f);border-color:#ecd9a9;color:var(--aten)}
#toasts{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:8px;max-width:330px}
.toast{background:var(--preto);color:#fff;padding:12px 15px;border-radius:10px;font-size:13.5px;font-weight:500;
       box-shadow:0 10px 30px rgba(15,15,15,.22);display:flex;align-items:center;gap:9px;
       animation:sobe .18s ease-out}
.toast.ok .ic{color:var(--verde)} .toast.erro .ic{color:#e59a93}
.toast.saindo{opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
@keyframes sobe{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- entrada ---------- */
.entrada{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.entrada .lado{background:var(--d0);color:var(--d-ink);padding:48px 44px;display:flex;flex-direction:column;
               justify-content:space-between;position:relative;overflow:hidden}
.entrada .lado img{width:190px;position:relative}
.entrada .lado .frase{position:relative;max-width:360px}
.entrada .lado .frase h2{font-size:27px;color:#fff;letter-spacing:-.03em}
.entrada .lado .frase p{color:var(--d-mut);margin-top:10px;font-size:14.5px}
.entrada .lado .pe{position:relative;font-size:12px;color:var(--d-fraco)}
.entrada .form{display:grid;place-items:center;padding:40px 24px}
.entrada .form .cx{width:100%;max-width:356px}
.entrada .form h1{font-size:28px}

/* ---------- gráfico simples de evolução ---------- */
.spark{display:block;width:100%;height:54px;overflow:visible}
.spark path{fill:none;stroke:var(--verde-esc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.spark circle{fill:var(--verde-esc)}
.spark .area{fill:rgba(162,223,17,.14);stroke:none}

@media(max-width:1180px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .faixa,.duo{grid-template-columns:1fr}
  .money{grid-template-columns:1fr}
  .money .esq{border-right:0;border-bottom:1px solid var(--d2)}
}
@media(max-width:860px){
  .app{grid-template-columns:1fr;background:var(--d0)}
  .lat{position:sticky;top:0;z-index:30;height:auto;flex-direction:row;align-items:center;gap:12px;padding:10px 14px}
  .lat .marca{padding:0}.lat .marca img{width:116px}.lat .marca .et{display:none}
  .nav{display:none}
  .lat .eu{border:0;padding:0;margin-left:auto}
  .lat .eu .q{display:none}
  .cab,.pg{padding-left:16px;padding-right:16px}
  .cab{padding-top:14px;padding-bottom:14px}
  .linhas{grid-template-columns:1fr}
  .money .dir{grid-template-columns:repeat(2,1fr)}
  .entrada{grid-template-columns:1fr}
  .entrada .lado{display:none}
  #toasts{left:14px;right:14px;max-width:none;bottom:14px}
}
/* barra inferior de navegação no celular */
.tabbar{display:none}
@media(max-width:860px){
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--d0);
          border-top:1px solid var(--d2);padding:6px 4px env(safe-area-inset-bottom,6px)}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;
            color:#8c8c8a;text-decoration:none;font-size:10px;font-weight:600}
  .tabbar a.on{color:var(--verde)}
  .pg{padding-bottom:84px}
}

/* ---------- confirmação em dois cliques ---------- */
.btn.armado{background:var(--grave-f);border-color:#e6bdb8;color:var(--grave);font-weight:700}

/* ---------- sugestões de paciente enquanto digita ---------- */
.acha{position:relative}
.sug{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 5px);background:var(--sup);
     border:1px solid var(--line);border-radius:11px;padding:5px;box-shadow:0 14px 34px rgba(15,15,15,.1);
     max-height:306px;overflow-y:auto}
.sug a{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:7px;text-decoration:none;font-size:13.5px}
.sug a:hover,.sug a:focus{background:var(--sup2)}
.sug a .nm{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sug .nada{padding:12px;color:var(--mut);font-size:13px}

/* valor dentro de uma linha de lista */
.item .acoes b.n{font-family:var(--num);font-size:14px;font-weight:700;letter-spacing:-.02em}

/* linha escondida por filtro não deve deixar borda órfã */
.item[hidden]{display:none}

/* o bloco do mês ganha o gráfico embaixo do número */
.money .esq .spark{margin-top:14px;position:relative}
.money .esq .spark path{stroke:var(--verde)}
.money .esq .spark .area{fill:rgba(162,223,17,.12)}
.money .esq .spark circle{fill:var(--verde)}

/* a lateral do login reusa o brilho verde do painel */
.entrada .lado .brilho{position:absolute;right:-150px;top:-160px;width:470px;height:470px;border-radius:50%;
  background:radial-gradient(circle,rgba(162,223,17,.17),transparent 64%);pointer-events:none}
.entrada .form .rot{margin-bottom:9px}

/* ---------- tira de dias da agenda ---------- */
.tira{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.dd{flex:0 0 auto;width:84px;background:var(--sup);border:1px solid var(--line);border-radius:11px;
    padding:10px 10px 12px;text-decoration:none;position:relative;overflow:hidden;transition:border-color .12s}
.dd:hover{border-color:#cfcfc9}
.dd .s{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.dd b{display:block;font-family:var(--num);font-size:22px;font-weight:700;letter-spacing:-.04em;margin:2px 0 1px}
.dd .c{display:block;font-size:11px;color:var(--mut)}
.dd i{position:absolute;left:0;bottom:0;height:3px;background:var(--verde)}
.dd.on{background:var(--preto);border-color:var(--preto);color:#fff}
.dd.on .s,.dd.on .c{color:#9a9a96}
.dd.fechado{opacity:.5}

/* ---------- vagas livres ---------- */
.vagas{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.vaga{font-family:var(--num);font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px;
      background:var(--verde-f);border:1px solid #dcefb0;color:var(--ok);text-decoration:none;transition:background .12s}
.vaga:hover{background:#e6f5c4}

/* ---------- barras de evolução ---------- */
.barras{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;align-items:end;height:168px;margin-top:14px}
.barra{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;height:100%;
       text-decoration:none;border-radius:9px;padding:6px 4px;transition:background .12s}
.barra:hover{background:var(--sup2)}
.barra .v{font-family:var(--num);font-size:11.5px;font-weight:600;color:var(--mut);white-space:nowrap}
.barra i{display:block;width:100%;max-width:62px;background:#e8e8e3;border-radius:6px 6px 3px 3px;min-height:3px}
.barra .m{font-size:11px;font-weight:600;color:var(--mut);text-transform:capitalize}
.barra.on i{background:var(--verde)}
.barra.on .v{color:var(--ink)}
.barra.on .m{color:var(--ink)}

/* ---------- inicial do paciente na lista ---------- */
.av.min{width:30px;height:30px;border-radius:8px;font-size:12px;background:#eceade;color:#4a5a1c}

/* ---------- linhas de tabela escondidas pelo filtro ---------- */
tr.item[hidden]{display:none}
.tab tr.item td{border-bottom:1px solid var(--line2)}

/* contagem dentro do chip */
.chips a small,.chips button small{font-family:var(--num);opacity:.6;margin-left:4px}
.chips a.on small,.chips button.on small{opacity:.75}

/* lista dentro do painel de atenção com duas linhas */
.aten li a small.sub{display:block;font-size:11.5px;margin-top:1px}

@media(max-width:860px){
  .barras{height:140px;gap:6px}
  .barra .v{font-size:10px}
}

/* ---------- valor alinhado à direita dentro da linha ---------- */
.item .valores{text-align:right;flex:0 0 auto;min-width:112px}
.item .valores b{display:block;font-family:var(--num);font-size:15px;font-weight:700;letter-spacing:-.02em}
.item .valores small{display:block;font-size:11.5px;color:var(--mut);margin-top:1px}

/* barras: as que não são o mês escolhido ficam legíveis, não apagadas */
.barra i{background:#d4d4cd}
.barra:hover i{background:#c4c4bc}
