
:root {
  
  --ocu-900: #063238;
  --ocu-700: #0E5A62;
  --ocu-500: #17828C;
  --ocu-300: #30B5AD;
  --ocu-50:  #E7F3F4;

  --esp-900: #05452F;
  --esp-700: #0B7A5B;
  --esp-500: #14B981;
  --esp-300: #35EDA2;
  --esp-50:  #E4FAF0;

  --ground:     #F3F7F8;
  --surface:    #FFFFFF;
  --surface-2:  #EDF3F4;
  --line:       #E1EAEB;
  --line-forte: #CFDDDF;

  --ink:   #0B1F22;
  --ink-2: #344B4E;
  --muted: #6B8386;

  --st-wait: #9C6412;  --st-wait-bg: #FDF3E3;
  --st-run:  #0F6E78;  --st-run-bg:  #E1F1F3;
  --st-done: #2F7048;  --st-done-bg: #E4F2E9;
  --st-miss: #A03B31;  --st-miss-bg: #FAE8E5;
  
  --faixa-velha: #A03B31;
  
  --st-crit: #6B21A8;  --st-crit-bg: #F2E9FC;

  --bola-espera: #2563EB;   
  --bola-agora:  #E0A800;   
  --bola-feito:  #16A34A;   
  --bola-falta:  #DC2626;   

  --seg-900: var(--ocu-900);
  --seg-700: var(--ocu-700);
  --seg-500: var(--ocu-500);
  --seg-300: var(--ocu-300);
  --seg-50:  var(--ocu-50);

  --font: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", sans-serif;
  --mono: ui-monospace, "Cascadia Mono", Consolas, monospace;

  --r-sm: 10px;
  --r:    14px;
  --r-lg: 20px;

  --sombra:    0 1px 2px rgba(11, 31, 34, .04), 0 4px 16px rgba(11, 31, 34, .05);
  --sombra-md: 0 2px 6px rgba(11, 31, 34, .06), 0 12px 32px rgba(11, 31, 34, .08);

  --barra:        var(--ocu-900);   
  --sobre-barra:  #FFFFFF;          
  --sobre-marca:  #FFFFFF;          
  --sobre-tom:    #FFFFFF;          
  --mistura:      #FFFFFF;          
  --calmo:        #5E777A;          
  --lateral:      var(--surface);
  --lateral-linha: var(--line);
  --realce:       rgba(255, 255, 255, .12);  
}

[data-tema="escuro"] {
  --ocu-900: #04181B; --ocu-700: #46C3BA; --ocu-500: #2E9AA0;
  --ocu-300: #5FD6CE; --ocu-50: #123239;
  --esp-900: #04241A; --esp-700: #1E9B72; --esp-500: #35EDA2;
  --esp-300: #6BF3BE; --esp-50: #12301F;

  --ground:     #081A1D;
  --surface:    #0E2529;
  --surface-2:  #14343A;
  --line:       #1E434A;
  --line-forte: #2A5761;

  --ink:   #E8F2F2;
  --ink-2: #B6CCCE;
  --muted: #88A5A8;

  --st-wait: #E7AC5A;  --st-wait-bg: #3A2C14;
  --st-run:  #62C6CE;  --st-run-bg:  #123239;
  --st-done: #74C592;  --st-done-bg: #12301F;
  --st-miss: #E38B80;  --st-miss-bg: #3A1D19;
  
  --faixa-velha: #B8483C;
  --st-crit: #C79BF0;  --st-crit-bg: #2A1B3D;

  --bola-espera: #6098FF;
  --bola-agora:  #F0BE2E;
  --bola-feito:  #3FC46A;
  --bola-falta:  #F0685E;

  --barra:        #05161A;
  --sobre-barra:  #E8F2F2;
  --sobre-marca:  #04262A;
  --sobre-tom:    #0B1F22;
  --mistura:      #0E2529;
  --calmo:        #7E9497;
  --lateral:      #0B2024;
  --lateral-linha: #17383E;
  --realce:       rgba(255, 255, 255, .08);

  --sombra:    0 1px 2px rgba(0, 0, 0, .30), 0 4px 16px rgba(0, 0, 0, .22);
  --sombra-md: 0 2px 6px rgba(0, 0, 0, .34), 0 12px 32px rgba(0, 0, 0, .30);

  color-scheme: dark;
}

[data-seg="ocupacional"] {
  --seg-900: var(--ocu-900); --seg-700: var(--ocu-700);
  --seg-500: var(--ocu-500); --seg-300: var(--ocu-300); --seg-50: var(--ocu-50);
}
[data-seg="especialidades"] {
  --seg-900: var(--esp-900); --seg-700: var(--esp-700);
  --seg-500: var(--esp-500); --seg-300: var(--esp-300); --seg-50: var(--esp-50);
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--font);
  font-size: 15.5px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.app { display: flex; min-height: 100vh; align-items: stretch; }
.area { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.lateral {
  width: 248px; flex: none;
  position: sticky; top: 0; align-self: flex-start;
  height: 100vh;
  background: var(--lateral);
  border-right: 1px solid var(--lateral-linha);
  display: flex; flex-direction: column;
  z-index: 40;
  transition: width .18s ease;
}
[data-menu="compacto"] .lateral { width: 76px; }

[data-menu="compacto"] .so-largo { display: none !important; }

.lateral .marca {
  display: flex; align-items: center; gap: .7rem;
  padding: 1.05rem 1.1rem; min-height: 84px;
  border-bottom: 1px solid var(--lateral-linha);
  text-decoration: none; color: inherit;
}
.lateral .marca .sinete {
  flex: none; display: flex; align-items: center; justify-content: center;
  background: var(--ocu-900); border-radius: 11px;
  padding: .5rem .55rem; min-width: 44px; min-height: 44px;
}
.lateral .marca img { height: 26px; width: auto; display: block; }
.lateral .marca span { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.lateral .marca b { font-size: .96rem; letter-spacing: -.015em; line-height: 1.15; }
.lateral .marca small {
  font-size: .6rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--muted);
}
[data-menu="compacto"] .lateral .marca { justify-content: center; padding: 1.05rem .5rem; }

.modulos {
  display: flex; flex-direction: column; gap: .2rem;
  padding: 1rem .7rem; flex: 1; overflow-y: auto;
}
.modulos .titulo {
  font-size: .62rem; font-weight: 700; letter-spacing: .15em;
  text-transform: uppercase; color: var(--muted); padding: 0 .5rem .45rem;
}

.modulo {
  display: flex; align-items: center; gap: .7rem;
  padding: .62rem .7rem; min-height: 44px;
  border-radius: 10px;
  border-left: 3px solid transparent;
  text-decoration: none; color: var(--ink-2);
  font-size: .92rem; font-weight: 600;
  transition: background .15s, color .15s;
}
.modulo:hover { background: var(--surface-2); color: var(--ink); }
.modulo .icone { flex: none; display: flex; }
.modulo .nome { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.modulo.aqui {
  color: var(--ocu-700); background: var(--ocu-50);
  border-left-color: var(--ocu-700); font-weight: 700;
}
[data-menu="compacto"] .modulo { justify-content: center; padding: .62rem .4rem; }
[data-menu="compacto"] .modulo.aqui { border-left-color: transparent; }

.abrir-grupo {
  flex: none; width: 26px; height: 26px; padding: 0;
  display: flex; align-items: center; justify-content: center;
  background: transparent; color: var(--muted);
  border: 1px solid var(--line); border-radius: 8px;
  font-family: var(--mono); font-size: .95rem; line-height: 1;
  cursor: pointer;
}
.abrir-grupo:hover { background: var(--surface-2); color: var(--ink); filter: none; }

.modulo.filho {
  padding-left: 1.9rem; font-size: .87rem; min-height: 38px;
}
.modulo.filho .icone svg { width: 18px; height: 18px; }

.rotulo-grupo {
  display: flex; align-items: center; gap: .7rem;
  padding: .62rem .7rem; min-height: 38px;
  color: var(--muted); font-size: .92rem; font-weight: 700;
  cursor: pointer; user-select: none;
}
.rotulo-grupo:hover { color: var(--ink); }
.rotulo-grupo .icone { flex: none; display: flex; opacity: .7; }
.rotulo-grupo .nome { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; }

[data-menu="compacto"] .abrir-grupo { display: none; }
[data-menu="compacto"] .filhos { display: block !important; }
[data-menu="compacto"] .modulo.filho { padding-left: .4rem; }
[data-menu="compacto"] .rotulo-grupo { display: none; }

.linha-grupo { display: flex; align-items: center; gap: .3rem; }
.linha-grupo > .modulo { flex: 1; min-width: 0; }
.linha-grupo > .abrir-grupo { margin-right: .35rem; }
.secao-lateral {
  display: block;
  padding: .42rem .7rem .42rem 3.05rem; border-radius: 10px;
  border-left: 3px solid transparent;
  text-decoration: none; color: var(--ink-2);
  font-size: .84rem; font-weight: 500; line-height: 1.3;
}
.secao-lateral:hover { background: var(--surface-2); color: var(--ink); }
.secao-lateral.aqui {
  color: var(--ocu-700); background: var(--ocu-50);
  border-left-color: var(--ocu-700); font-weight: 700;
}

.secao-lateral.secao-grupo {
  display: flex; align-items: center; gap: .4rem;
  cursor: pointer; user-select: none; padding-right: .35rem;
}
.secao-lateral.secao-grupo .nome { flex: 1; min-width: 0; }
.secao-lateral.secao-grupo .abrir-grupo { width: 22px; height: 22px; font-size: .85rem; }
.secao-lateral.neto { padding-left: 4rem; font-size: .82rem; }

[data-menu="compacto"] .grupo-config .filhos { display: none !important; }

.modulo.em-breve { color: var(--muted); cursor: default; }
.modulo.em-breve:hover { background: transparent; color: var(--muted); }
.modulo.em-breve .icone { opacity: .55; }
[data-menu="compacto"] .modulo.em-breve { display: none; }

.modulo .selo {
  flex: none; font-family: var(--mono); font-size: .74rem; font-weight: 700;
  padding: .1em .5em; border-radius: 999px;
  background: var(--surface-2); color: var(--ink-2); letter-spacing: 0;
}
.modulo .selo[hidden] { display: none; }
.modulo .selo[data-tom="ok"]      { background: var(--st-done-bg); color: var(--st-done); }
.modulo .selo[data-tom="atencao"] { background: var(--st-wait-bg); color: var(--st-wait); }
.modulo .selo[data-tom="alto"]    { background: var(--st-miss);    color: var(--sobre-tom); }
.modulo .selo.em-breve {
  font-family: var(--font); font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  background: transparent; color: var(--muted);
  border: 1px dashed var(--line-forte);
}

.lateral .pe {
  border-top: 1px solid var(--lateral-linha);
  padding: .8rem .8rem .85rem;
  display: flex; flex-direction: column; gap: .5rem;
}
.pessoa { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.pessoa .avatar {
  width: 32px; height: 32px; flex: none; border-radius: 50%;
  background: var(--ocu-50); color: var(--ocu-700);
  display: flex; align-items: center; justify-content: center;
  font-size: .76rem; font-weight: 700; letter-spacing: .02em;
}
.pessoa .avatar.sem { background: var(--surface-2); color: var(--muted); }
.pessoa .dados { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.pessoa .dados b {
  font-size: .84rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pessoa .dados small { font-size: .7rem; color: var(--muted); }
[data-menu="compacto"] .pessoa { justify-content: center; }

button.encolher {
  background: transparent; color: var(--muted);
  border: 1px solid transparent;
  font-size: .76rem; font-weight: 600;
  padding: .4rem .5rem; border-radius: 8px;
  display: flex; align-items: center; gap: .5rem; justify-content: flex-start;
}
button.encolher:hover { background: var(--surface-2); color: var(--ink-2); filter: none; }
button.encolher svg { transition: transform .18s; flex: none; }
[data-menu="compacto"] button.encolher { justify-content: center; }
[data-menu="compacto"] button.encolher svg { transform: rotate(180deg); }

.app .topo {
  padding: 0 clamp(1rem, 2.6vw, 1.6rem);
  min-height: 56px;
  gap: 1.2rem;
}
.topo .contexto { display: flex; flex-direction: column; gap: .05rem; line-height: 1.2; min-width: 0; }
.topo .contexto b { font-size: 1.02rem; font-weight: 700; letter-spacing: -.01em; }
.topo .contexto small {
  font-size: .62rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; opacity: .5;
}

.tema {
  display: flex; align-items: center; gap: .2rem;
  padding: .2rem; border-radius: 999px;
  background: color-mix(in srgb, var(--sobre-barra) 10%, transparent);
}
button.tema-op {
  display: flex; align-items: center; gap: .3rem;
  padding: .3rem .7rem; border-radius: 999px;
  background: transparent; border: none;
  color: var(--sobre-barra); opacity: .6;
  font-size: .74rem; font-weight: 600;
}
button.tema-op:hover { opacity: .85; filter: none; background: var(--realce); }
button.tema-op[aria-pressed="true"] {
  background: var(--sobre-barra); color: var(--barra);
  opacity: 1; font-weight: 700;
}
button.tema-op[aria-pressed="true"]:hover { background: var(--sobre-barra); }

@media (max-width: 700px) {
  button.tema-op span { display: none; }
  .topo .contexto small { display: none; }
}

[data-carregando] .topo::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--ocu-300), transparent);
  background-size: 40% 100%;
  background-repeat: no-repeat;
  animation: corre 1.1s linear infinite;
}
@keyframes corre {
  from { background-position: -40% 0; }
  to   { background-position: 140% 0; }
}
.aviso-banco {
  font-size: .78rem; font-weight: 600;
  background: var(--st-miss); color: #fff;
  padding: .25rem .7rem; border-radius: 999px;
  max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.aviso-banco[hidden] { display: none; }

.aviso-versao {
  display: flex; align-items: center; justify-content: center;
  gap: .9rem; flex-wrap: wrap;
  padding: .6rem 1rem;
  background: var(--faixa-velha); color: #fff;
  font-size: .86rem; line-height: 1.35; text-align: center;
}
.aviso-versao strong { font-weight: 700; }
.aviso-versao button {
  background: #fff; color: var(--faixa-velha);
  border: 0; border-radius: 999px;
  padding: .35rem .95rem;
  font-weight: 700; font-size: .82rem; cursor: pointer;
  white-space: nowrap;
}
.aviso-versao button:hover { filter: brightness(.94); }

.marca-versao {
  font-variant-numeric: tabular-nums;
  opacity: .75;
}

.versao-lateral {
  display: flex; align-items: center; gap: .5rem;
  width: 100%; padding: .4rem .55rem; margin-top: .15rem;
  background: none; border: 0; border-radius: 8px;
  color: var(--muted); font-size: .72rem; font-family: inherit;
  text-align: left; cursor: default;
  font-variant-numeric: tabular-nums;
}
.versao-lateral .ponto {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--st-done); flex: 0 0 auto;
}
.versao-lateral .so-largo { display: flex; flex-direction: column; line-height: 1.25; }
.versao-lateral small { font-size: .68rem; opacity: .85; }

.versao-lateral.velha {
  color: #fff; background: var(--faixa-velha); cursor: pointer;
}
.versao-lateral.velha .ponto { background: #fff; animation: bater 2.2s ease-in-out infinite; }
.versao-lateral.velha:hover { filter: brightness(1.08); }
.versao-lateral[hidden] { display: none; }

.topo {
  background: var(--barra);
  color: var(--sobre-barra);
  padding: .85rem clamp(1rem, 3vw, 2rem);
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
  position: sticky;
  top: 0;
  z-index: 30;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--sobre-barra) 8%, transparent), 0 6px 20px rgba(4, 24, 27, .18);
}
.topo .marca { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.topo .marca img { height: 46px; width: auto; display: block; }
.topo .marca::after {
  content: ""; width: 1px; height: 30px;
  background: color-mix(in srgb, var(--sobre-barra) 22%, transparent);
}
.topo h1 {
  font-size: 1.28rem; margin: 0; font-weight: 700; letter-spacing: -.015em;
  display: flex; flex-direction: column; gap: .1rem; white-space: nowrap;
}
.topo h1 small {
  font-weight: 700; opacity: .55; font-size: .64rem;
  text-transform: uppercase; letter-spacing: .18em;
}
.topo .espaco { flex: 1; }
.topo a {
  color: var(--sobre-barra); text-decoration: none; font-size: .82rem;
  opacity: .7; padding: .3rem .7rem; border-radius: 999px;
}
.topo a:hover { opacity: 1; background: var(--realce); }
.topo .relogio {
  font-family: var(--mono); font-size: 1.15rem;
  font-variant-numeric: tabular-nums; opacity: .85;
}

.conteudo {
  
  max-width: none;
  width: 100%;
  margin-inline: auto;
  
  padding: clamp(.9rem, 1.2vw, 1.35rem);
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  
  flex: 1;
  min-height: 0;
}

.bloco.enche {
  flex: 1;
  min-height: 12rem;   
}
.bloco.enche .fila,
.bloco.enche .rolagem {
  flex: 1; min-height: 0;
  overflow-y: auto;
  
  padding-right: .25rem;
}

.bloco.enche .fila .vazio,
.bloco.enche > .vazio {
  flex: 1; display: flex; align-items: center; justify-content: center;
}

.duas.enche { flex: 1; min-height: 0; align-items: stretch; }
.duas.enche > .bloco { height: 100%; }
@media (max-width: 999px) {
  
  .duas.enche { display: block; }
  .duas.enche > .bloco { height: auto; margin-bottom: 1.15rem; }
}

.linha > .col.cresce { max-width: 560px; }
.linha > .col.cresce.livre { max-width: none; }

.bloco > p,
.aviso,
.rodape-nota { max-width: 120ch; }

.bloco {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 1.15rem 1.3rem 1.3rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  box-shadow: var(--sombra);
}
.bloco > h2 {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--muted);
  margin: 0;
  font-weight: 700;
  display: flex; align-items: center; gap: .5rem;
}
.bloco > h2 .conta {
  font-family: var(--mono); background: var(--surface-2);
  color: var(--ink-2); border-radius: 999px; padding: .1em .6em;
  letter-spacing: 0; font-size: .78rem;
}

.cartoes {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
}
.cartao {
  --tom: var(--ink-2);
  --tom-bg: var(--surface-2);
  display: flex;
  flex-direction: column;
  min-height: 122px;
  padding: .9rem 1rem 1rem;
  border: 1px solid color-mix(in srgb, var(--tom) 24%, transparent);
  border-radius: var(--r);
  background: var(--tom-bg);
  transition: background .25s, border-color .25s, color .25s;
}
.cartao .rotulo {
  font-size: .67rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .11em;
  color: color-mix(in srgb, var(--tom) 72%, var(--ink));
  display: flex; align-items: center; gap: .45rem; line-height: 1.35;
}
.cartao .rotulo::before {
  content: ""; width: .5em; height: .5em; border-radius: 50%;
  background: var(--tom); flex: none;
}
.cartao .valor {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: 2.3rem; font-weight: 700; line-height: 1.05;
  color: var(--tom); margin-top: .4rem;
}
.cartao .nota { font-size: .73rem; color: var(--muted); margin-top: auto; padding-top: .5rem; }

.destaque {
  --tom: var(--st-done);
  --tom-bg: var(--st-done-bg);
  display: flex; align-items: center; gap: 1.4rem 1.8rem; flex-wrap: wrap;
  padding: 1.1rem 1.3rem;
  border: 1px solid color-mix(in srgb, var(--tom) 34%, transparent);
  border-radius: var(--r);
  background: linear-gradient(180deg, var(--tom-bg), var(--surface));
  transition: background .25s, border-color .25s;
}
.destaque .principal { display: flex; flex-direction: column; gap: .1rem; min-width: 200px; }
.destaque .rotulo {
  font-size: .67rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .11em; color: var(--ink-2);
}
.destaque .valor {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: 3rem; font-weight: 700; line-height: 1.05; color: var(--tom);
}
.destaque .valor .un { font-size: 1.1rem; font-weight: 600; margin-left: .15em; }
.destaque .lado { display: flex; flex-direction: column; gap: .45rem; }
.destaque .selo {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .76rem; font-weight: 700;
  padding: .3em .85em; border-radius: 999px;
  color: var(--sobre-tom); background: var(--tom); white-space: nowrap;
}
.destaque .agora { font-size: .82rem; color: var(--ink-2); display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.destaque .metaEdit { display: flex; align-items: center; gap: .45rem; font-size: .76rem; color: var(--muted); }
.destaque .metaEdit input { width: 4.2rem; padding: .3rem .45rem; font-size: .85rem; text-align: center; }
.destaque .escala { display: flex; gap: .35rem; flex-wrap: wrap; margin-left: auto; }
.destaque .degrau {
  font-size: .68rem; font-weight: 700; white-space: nowrap;
  padding: .25em .7em; border-radius: 999px;
  border: 1px solid var(--line-forte); color: var(--muted); background: var(--surface);
  opacity: .55;
}
.destaque .degrau[aria-current="true"] { opacity: 1; border-color: transparent; }
.degrau-ok      { --d: var(--st-done); }
.degrau-atencao { --d: var(--st-wait); }
.degrau-alto    { --d: var(--st-miss); }
.degrau-critico { --d: var(--st-crit); }
.destaque .degrau[aria-current="true"] { color: var(--d); background: color-mix(in srgb, var(--d) 14%, var(--mistura)); }

.cartao[data-tom="marca"],   .destaque[data-tom="marca"]   { --tom: var(--ocu-700); --tom-bg: var(--ocu-50); }
.cartao[data-tom="calmo"],   .destaque[data-tom="calmo"]   { --tom: var(--calmo);   --tom-bg: var(--surface-2); }
.cartao[data-tom="ok"],      .destaque[data-tom="ok"]      { --tom: var(--st-done); --tom-bg: var(--st-done-bg); }
.cartao[data-tom="andamento"], .destaque[data-tom="andamento"] { --tom: var(--st-run); --tom-bg: var(--st-run-bg); }
.cartao[data-tom="atencao"], .destaque[data-tom="atencao"] { --tom: var(--st-wait); --tom-bg: var(--st-wait-bg); }
.cartao[data-tom="alto"],    .destaque[data-tom="alto"]    { --tom: var(--st-miss); --tom-bg: var(--st-miss-bg); }
.cartao[data-tom="critico"], .destaque[data-tom="critico"] { --tom: var(--st-crit); --tom-bg: var(--st-crit-bg); }

.cartao[data-tom="alto"], .cartao[data-tom="critico"],
.destaque[data-tom="alto"], .destaque[data-tom="critico"] { animation: bater 2.6s ease-in-out infinite; }
@keyframes bater {
  0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--tom) 0%, transparent); }
  50%      { box-shadow: 0 0 0 5px color-mix(in srgb, var(--tom) 15%, transparent); }
}

.linha { display: flex; gap: .8rem; flex-wrap: wrap; align-items: flex-end; }
.col { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.cresce { flex: 1; min-width: 200px; }

label {
  font-size: .68rem; text-transform: uppercase; letter-spacing: .11em;
  font-weight: 700; color: var(--muted);
}

input[type="text"], input[type="number"], input[type="date"], select {
  font-family: inherit; font-size: .98rem;
  padding: .62rem .75rem;
  border: 1px solid var(--line-forte);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--ink);
  width: 100%;
  transition: border-color .15s, box-shadow .15s;
}
input[type="text"]:hover, input[type="number"]:hover, input[type="date"]:hover, select:hover { border-color: var(--seg-500); }
input[type="text"]:focus, input[type="number"]:focus, input[type="date"]:focus, select:focus {
  outline: none;
  border-color: var(--seg-500);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--seg-500) 18%, transparent);
}
input.grande { font-size: 1.1rem; padding: .8rem .85rem; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--seg-500); outline-offset: 2px; }

button {
  font-family: inherit; font-size: .89rem; font-weight: 600;
  padding: .6rem 1.1rem;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--seg-700);
  color: var(--sobre-marca);
  cursor: pointer;
  transition: filter .15s, background .15s, border-color .15s;
  white-space: nowrap;
}
button:hover { filter: brightness(1.1); }
button:disabled { opacity: .35; cursor: not-allowed; filter: none; }
button.fantasma { background: transparent; color: var(--ink-2); border-color: var(--line-forte); }
button.fantasma:hover { background: var(--surface-2); filter: none; }
button.perigo {
  background: transparent; color: var(--st-miss);
  border-color: color-mix(in srgb, var(--st-miss) 40%, transparent);
}
button.perigo:hover { background: var(--st-miss-bg); filter: none; }
button.ok { background: var(--st-done); }
button.grande { font-size: .98rem; padding: .72rem 1.5rem; }
button.pequeno { font-size: .8rem; padding: .38rem .85rem; }

.escolhas { display: flex; gap: .45rem; flex-wrap: wrap; }
.escolha {
  border: 1px solid var(--line-forte);
  background: var(--surface);
  color: var(--ink-2);
  border-radius: var(--r-sm);
  padding: .55rem 1rem;
  font-weight: 600;
  cursor: pointer;
  font-size: .9rem;
  transition: background .15s, border-color .15s, color .15s;
}
.escolha:hover { border-color: var(--seg-500); background: var(--surface-2); filter: none; }
.escolha[aria-pressed="true"] {
  border-color: var(--seg-700);
  background: var(--seg-700);
  color: var(--sobre-marca);
}

.escolha[data-seg="ocupacional"][aria-pressed="true"]    { background: var(--ocu-700); border-color: var(--ocu-700); }
.escolha[data-seg="especialidades"][aria-pressed="true"] { background: var(--esp-700); border-color: var(--esp-700); }

.linha.alinha-topo { align-items: flex-start; }
.linha.alinha-topo > .col > label {
  min-height: 1.15rem;
  display: flex; align-items: flex-end; gap: .3rem;
}

.linha.alinha-topo input[type="text"],
.linha.alinha-topo input[type="date"],
.linha.alinha-topo select { height: 44px; }
.linha.alinha-topo .escolha { min-height: 44px; }
.linha.alinha-topo .escolhas { min-height: 44px; }

.combo-rodape {
  display: flex; align-items: baseline; flex-wrap: wrap;
  gap: .35rem .6rem; margin-top: .15rem;
}
.combo-rodape .combo-nota { flex: 0 1 auto; min-width: 0; }
.combo-rodape .mini { flex: none; }

button.mini {
  font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  padding: .22rem .6rem;
  background: transparent; color: var(--seg-700);
  border-color: color-mix(in srgb, var(--seg-500) 45%, transparent);
}
button.mini:hover { background: var(--seg-50); filter: none; }
button.mini:disabled { color: var(--muted); border-color: var(--line); }

.combo { position: relative; }
.combo[hidden] { display: none; }
.combo input.escolhida {
  font-weight: 600;
  padding-right: 2.2rem;
  border-color: var(--seg-500);
  background: var(--seg-50);
  cursor: default;
}
.combo-x {
  position: absolute; right: .4rem; top: 50%; transform: translateY(-50%);
  width: 1.55rem; height: 1.55rem; padding: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.05rem; line-height: 1;
  background: transparent; color: var(--ink-2);
  border-color: transparent;
}
.combo-x:hover { background: var(--surface); filter: none; }

.combo-lista {
  position: absolute; z-index: 40; top: calc(100% + .3rem); left: 0; right: 0;
  
  min-width: min(28rem, 88vw);
  max-height: 17rem; overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--line-forte);
  border-radius: var(--r-sm);
  box-shadow: var(--sombra-md);
}
.combo-lista[hidden] { display: none; }

.combo-item {
  display: flex; flex-direction: column; gap: .05rem;
  padding: .45rem .7rem;
  cursor: pointer;
  border-bottom: 1px solid var(--line);
}
.combo-item:last-child { border-bottom: none; }
.combo-item b { font-size: .9rem; font-weight: 600; }
.combo-item small { font-size: .72rem; color: var(--muted); font-family: var(--mono); }
.combo-item:hover, .combo-item.sob { background: var(--seg-50); }

.combo-item.inativa b { color: var(--muted); font-weight: 500; }
.combo-item.inativa { background: var(--surface-2); }

.combo-particular { border-bottom: 2px solid var(--line-forte); }
.combo-particular b { color: var(--st-wait); }

.combo-vazio { padding: .7rem; font-size: .85rem; color: var(--muted); }

.combo-nota { font-size: .73rem; color: var(--muted); line-height: 1.35; }
.combo-nota.ruim { color: var(--st-miss); font-weight: 600; }
.combo-nota.bom  { color: var(--st-done); font-weight: 600; }

.bloco.alerta-bloco {
  border-color: color-mix(in srgb, var(--st-miss) 45%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--st-miss) 8%, transparent), var(--sombra);
}

.bloco > h3.sub-titulo {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ink-2);
  font-weight: 700;
  margin: .5rem 0 0;
  padding-top: .9rem;
  border-top: 1px solid var(--line);
}
.bloco > h3.sub-titulo:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }

.grupo-perm {
  display: flex;
  align-items: baseline;
  gap: .6rem;
  width: 100%;
  text-align: left;
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink);
  padding: .7rem .9rem;
  border-radius: var(--r-sm);
  cursor: pointer;
  font: inherit;
}
.grupo-perm:hover { background: var(--surface-2); filter: brightness(.98); }
.grupo-perm .grupo-seta { color: var(--muted); font-size: .8rem; }
.grupo-perm .grupo-nome { font-weight: 600; }
.grupo-perm .grupo-resumo {
  color: var(--muted); font-size: .82rem; margin-left: auto; text-align: right;
}
@media (max-width: 620px) {
  .grupo-perm { flex-wrap: wrap; }
  .grupo-perm .grupo-resumo { margin-left: 0; width: 100%; text-align: left; }
}

.fora-da-secao { display: none !important; }

.secao-topo {
  display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
}
.secao-topo label {
  font-size: .7rem; font-weight: 700; letter-spacing: .15em;
  text-transform: uppercase; color: var(--muted);
}
.secao-topo select { width: auto; min-width: 280px; max-width: 100%; }

.bloco.alerta-bloco > h2 { color: var(--st-miss); }
.bloco.alerta-bloco > h2 .conta { background: var(--st-miss); color: var(--sobre-tom); }

.item .explica { color: var(--muted); font-size: .8rem; }

a.tela-link {
  font-family: inherit; font-size: .89rem; font-weight: 600;
  padding: .6rem 1.1rem; border-radius: 999px;
  background: var(--seg-700); color: var(--sobre-marca); text-decoration: none;
  white-space: nowrap; align-self: center;
}
a.tela-link:hover { filter: brightness(1.1); }

.chip {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .72rem; font-weight: 700;
  padding: .24em .7em;
  border-radius: 999px;
  border: 1px solid var(--line-forte);
  color: var(--ink-2);
  background: var(--surface);
  white-space: nowrap;
  letter-spacing: .02em;
}
.chip-ocupacional    { border-color: transparent; color: var(--ocu-700); background: var(--ocu-50); }
.chip-especialidades { border-color: transparent; color: var(--esp-700); background: var(--esp-50); }
.chip-vinculo {
  border-color: transparent; background: var(--ink);
  color: var(--surface); letter-spacing: .06em; font-size: .7rem;
}

.chip-tipo {
  border-color: transparent;
  background: color-mix(in srgb, var(--ink) 8%, var(--mistura));
  color: var(--ink-2); letter-spacing: .03em;
}

.chip-pref {
  border-color: transparent;
  background: var(--st-wait-bg); color: var(--st-wait);
  letter-spacing: .04em;
}
.chip-pref::before { content: "\25B2"; font-size: .62em; line-height: 1; }

.escolhas-quebra { flex-wrap: wrap; row-gap: .4rem; }

.quem-liberou { color: var(--muted); }
.quem-liberou b { color: var(--ink-2); font-weight: 700; }

.cat-linha {
  display: grid; grid-template-columns: 1fr; gap: .5rem;
  padding: .85rem 0; border-top: 1px solid var(--line);
}
.cat-linha:first-child { border-top: 0; }
@media (min-width: 900px) { .cat-linha { grid-template-columns: 230px 1fr; gap: 1.1rem; } }

.cat-quem { display: flex; flex-direction: column; gap: .15rem; }
.cat-quem b { font-size: .96rem; }
.cat-desc { font-size: .8rem; color: var(--ink-2); }
.cat-uso { font-size: .72rem; color: var(--muted); }

.cat-exames { display: flex; flex-wrap: wrap; gap: .4rem; align-content: flex-start; }
.cat-exame {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .82rem; color: var(--ink-2);
  padding: .3rem .6rem; border-radius: 999px;
  border: 1px solid var(--line-forte); background: var(--surface);
  cursor: pointer; text-transform: none; letter-spacing: 0; font-weight: 500;
}
.cat-exame input { width: 15px; height: 15px; accent-color: var(--seg-500); }
.cat-exame.marcado { border-color: var(--seg-500); color: var(--ink); font-weight: 600; }

.cat-exame.orfao:not(.marcado) { border-color: var(--st-wait); color: var(--st-wait); }

.sql-pronto {
  margin: .6rem 0 .2rem;
  padding: .7rem .85rem;
  border-radius: 10px;
  border: 1px solid var(--line-forte);
  background: color-mix(in srgb, var(--ink) 6%, var(--mistura));
  color: var(--ink);
  font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
  font-size: .82rem;
  line-height: 1.5;
  white-space: pre;
  overflow-x: auto;
  user-select: all;
}

.cat-exame input:disabled { cursor: default; }
.cat-exame:has(input:disabled) { cursor: default; opacity: .75; }

.caixa-marca {
  display: flex; align-items: center; gap: .5rem;
  text-transform: none; letter-spacing: 0; font-size: .92rem;
  color: var(--ink); cursor: pointer; font-weight: 400;
  min-height: 38px;
}
.caixa-marca input { width: 18px; height: 18px; flex: none; accent-color: var(--st-wait); }

.st {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .72rem; font-weight: 700;
  padding: .22em .65em; border-radius: 999px; white-space: nowrap;
}
.st::before { content: ""; width: .45em; height: .45em; border-radius: 50%; background: currentColor; }
.st-wait { color: var(--st-wait); background: var(--st-wait-bg); }
.st-run  { color: var(--st-run);  background: var(--st-run-bg); }
.st-done { color: var(--st-done); background: var(--st-done-bg); }
.st-miss { color: var(--st-miss); background: var(--st-miss-bg); }

.st-neutro { color: var(--muted); background: var(--surface-2); }

.st-cancel {
  color: var(--muted);
  background: var(--surface-2);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.fila { display: flex; flex-direction: column; gap: .5rem; }
.item {
  border: 1px solid var(--line);
  border-left: 3px solid var(--seg-500);
  border-radius: var(--r);
  padding: .8rem .95rem;
  display: flex;
  align-items: center;
  gap: .9rem;
  background: var(--surface);
  flex-wrap: wrap;
  transition: box-shadow .15s;
}
.item:hover { box-shadow: var(--sombra); }

.item.ocupado { border-left-color: var(--line-forte); background: var(--surface-2); }
.item.ocupado .quem, .item.ocupado .tempo { opacity: .62; }
.item.ocupado .detalhe { opacity: 1; }
.item .quem { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: .3rem; }
.item .nome { font-weight: 700; font-size: 1.02rem; letter-spacing: -.01em; }
.item .sub {
  font-size: .8rem; color: var(--muted);
  display: flex; gap: .45rem; align-items: center; flex-wrap: wrap;
}
.item .tempo {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: .85rem; color: var(--muted); white-space: nowrap;
}
.item .tempo.alerta { color: var(--st-miss); font-weight: 700; }

.item .tempo[data-tom="atencao"] { color: var(--st-wait); font-weight: 700; }
.item .tempo[data-tom="alto"]    { color: var(--st-miss); font-weight: 700; }
.item .tempo[data-tom="critico"] { color: var(--st-crit); font-weight: 800; }

.vazio {
  color: var(--muted); font-size: .88rem;
  padding: 1.5rem; text-align: center;
  border: 1px dashed var(--line-forte);
  border-radius: var(--r);
}

.a-caminho {
  display: block; margin-top: .5rem;
  color: var(--muted); font-size: .82rem;
}
.a-caminho-linha {
  color: var(--muted); font-size: .82rem;
  padding: .5rem .75rem; margin-bottom: .5rem;
  border: 1px dashed var(--line-forte);
  border-radius: var(--r);
  background: var(--surface);
}

.andamento {
  border: 1px solid color-mix(in srgb, var(--seg-500) 35%, transparent);
  background: linear-gradient(180deg, var(--seg-50), var(--surface));
  border-radius: var(--r-lg);
  padding: 1.1rem 1.25rem;
  display: flex; gap: 1rem; align-items: center; flex-wrap: wrap;
  box-shadow: var(--sombra);
}
.andamento .quem { flex: 1; min-width: 220px; display: flex; flex-direction: column; gap: .35rem; }
.andamento .nome { font-size: 1.4rem; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.andamento .sub {
  font-size: .82rem; color: var(--ink-2);
  display: flex; gap: .45rem; align-items: center; flex-wrap: wrap;
}
.andamento .cron {
  font-family: var(--mono); font-size: 1.5rem; font-weight: 700;
  font-variant-numeric: tabular-nums; color: var(--seg-700);
}
.andamento .cron.alerta { color: var(--st-miss); }

.exames { display: grid; grid-template-columns: 1fr; gap: .45rem; }
@media (min-width: 640px)  { .exames { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .exames { grid-template-columns: 1fr 1fr 1fr; } }
.exame {
  display: flex; align-items: center; gap: .65rem;
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: .6rem .75rem;
  cursor: pointer;
  background: var(--surface);
  transition: background .15s, border-color .15s, box-shadow .15s;
}
.exame:hover { border-color: var(--seg-500); background: var(--seg-50); }
.exame input { width: 18px; height: 18px; accent-color: var(--seg-700); cursor: pointer; flex: none; }
.exame .txt { display: flex; flex-direction: column; min-width: 0; }
.exame .txt b { font-size: .9rem; font-weight: 600; }
.exame .setor { font-size: .72rem; color: var(--muted); }
.exame.marcado { border-color: var(--seg-500); background: var(--seg-50); }
.exame.sugerido { box-shadow: inset 3px 0 0 var(--seg-300); }
.exame.sugerido .setor::after { content: " · sugerido"; color: var(--seg-700); font-weight: 700; }
.exame.travado { opacity: .8; cursor: not-allowed; background: var(--surface-2); border-style: dashed; }
.exame.travado input { cursor: not-allowed; }

.aviso {
  border-radius: var(--r);
  background: var(--surface-2);
  padding: .75rem .95rem;
  font-size: .85rem;
  color: var(--ink-2);
  border-left: 3px solid var(--seg-500);
}
.aviso.alerta { border-left-color: var(--st-miss); background: var(--st-miss-bg); }
.aviso.suave { background: transparent; border: 1px dashed var(--line-forte); border-left: 3px solid var(--seg-300); }

.fundo {
  position: fixed; inset: 0;
  background: rgba(6, 40, 44, .5);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem; z-index: 60;
}
.fundo[hidden] { display: none; }
.dialogo {
  background: var(--surface);
  border-radius: var(--r-lg);
  padding: 1.4rem;
  max-width: 480px; width: 100%;
  display: flex; flex-direction: column; gap: .9rem;
  box-shadow: var(--sombra-md);
}
.dialogo h3 { margin: 0; font-size: 1.12rem; letter-spacing: -.01em; }

.dialogo.largo { max-width: 640px; }
.dialogo .fila:empty { display: none; }
.dialogo p { margin: 0; color: var(--ink-2); font-size: .9rem; }

.toast {
  position: fixed;
  top: 5.6rem;
  left: 50%;
  transform: translateX(-50%) translateY(-12px);
  background: var(--seg-700);
  color: var(--sobre-marca);
  padding: .8rem 1.3rem;
  border-radius: 999px;
  font-size: .93rem;
  font-weight: 600;
  box-shadow: var(--sombra-md);
  z-index: 70;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
  display: flex; align-items: center; gap: .6rem;
  max-width: calc(100vw - 2rem);
}
.toast.aparece { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast .marca-ok {
  width: 1.15em; height: 1.15em; border-radius: 50%;
  background: color-mix(in srgb, var(--sobre-marca) 25%, transparent);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .8em; flex: none;
}

.trilha { display: flex; gap: .3rem; flex-wrap: wrap; align-items: center; }
.passo {
  font-size: .7rem; font-weight: 600;
  padding: .2em .6em; border-radius: 999px;
  border: 1px solid var(--line-forte); color: var(--muted);
  white-space: nowrap;
}
.passo.feito { background: var(--st-done-bg); color: var(--st-done); border-color: transparent; }
.passo.agora { background: var(--st-run-bg); color: var(--st-run); border-color: transparent; font-weight: 700; }

button.mais {
  width: 2.1rem; height: 2.1rem; padding: 0; flex: none;
  border-radius: 50%;
  background: transparent; color: var(--ink-2);
  border: 1px solid var(--line-forte);
  font-size: 1.25rem; font-weight: 700; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center;
}
button.mais:hover { background: var(--surface-2); filter: none; }
button.mais[aria-expanded="true"] {
  background: var(--seg-700); border-color: var(--seg-700); color: var(--sobre-marca);
}

.detalhe {
  flex-basis: 100%;
  margin-top: .5rem;
  padding-top: .7rem;
  border-top: 1px dashed var(--line-forte);
  display: flex; flex-direction: column; gap: .1rem;
}
.detalhe[hidden] { display: none; }
.detalhe .resumo {
  font-size: .72rem; font-weight: 700; color: var(--muted);
  text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: .35rem;
}

.etapa-linha {
  display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
  padding: .34rem .5rem;
  border-radius: var(--r-sm);
  font-size: .87rem;
}
.etapa-linha .bola {
  width: .72rem; height: .72rem; border-radius: 50%; flex: none;
  background: var(--bola);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bola) 18%, transparent);
}
.etapa-linha .exame-nome { font-weight: 600; }
.etapa-linha .quando { color: var(--muted); font-size: .8rem; }

.etapa-linha.da-origem { opacity: .72; padding-left: 1rem; }
.etapa-linha .aqui-marca {
  font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--seg-700); background: var(--seg-50);
  padding: .15em .55em; border-radius: 999px;
}

.etapa-linha[data-sit="aguardando"] { --bola: var(--bola-espera); }
.etapa-linha[data-sit="andamento"]  { --bola: var(--bola-agora); background: color-mix(in srgb, var(--bola-agora) 10%, transparent); }
.etapa-linha[data-sit="concluido"]  { --bola: var(--bola-feito); }
.etapa-linha[data-sit="ausente"]    { --bola: var(--bola-falta); }
.etapa-linha[data-sit="concluido"] .exame-nome { color: var(--muted); font-weight: 500; }

.etapa-linha.aqui { background: var(--seg-50); }
.etapa-linha.aqui .exame-nome { font-weight: 700; }

:root {
  
  --ritmo: #0E8C86;
  --ritmo-ink: #0A5D59;
}
[data-tema="escuro"] {
  
  --ritmo: #4FD1C5;
  --ritmo-ink: #BFEFE9;
}

.item[data-ritmo="expresso"] { background: color-mix(in srgb, var(--ritmo) 14%, var(--surface)); }
.item[data-ritmo="rapido"]   { background: color-mix(in srgb, var(--ritmo)  8%, var(--surface)); }
.item[data-ritmo="medio"]    { background: color-mix(in srgb, var(--ritmo)  4%, var(--surface)); }

[data-tema="escuro"] .item[data-ritmo="expresso"] { background: color-mix(in srgb, var(--ritmo) 22%, var(--surface)); }
[data-tema="escuro"] .item[data-ritmo="rapido"]   { background: color-mix(in srgb, var(--ritmo) 13%, var(--surface)); }
[data-tema="escuro"] .item[data-ritmo="medio"]    { background: color-mix(in srgb, var(--ritmo)  7%, var(--surface)); }

.item.ocupado[data-ritmo] { background: var(--surface-2); }

.chip-ritmo {
  font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--ritmo-ink);
  background: color-mix(in srgb, var(--ritmo) 16%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--ritmo) 34%, transparent);
  padding: .12em .55em; border-radius: 999px;
  white-space: nowrap;
}

.legenda.legenda-ritmo { margin-top: .35rem; }
.legenda.legenda-ritmo span::before { border-radius: 3px; background: var(--tarja); }
.legenda.legenda-ritmo .l-expresso { --tarja: color-mix(in srgb, var(--ritmo) 72%, var(--surface)); }
.legenda.legenda-ritmo .l-rapido   { --tarja: color-mix(in srgb, var(--ritmo) 42%, var(--surface)); }
.legenda.legenda-ritmo .l-medio    { --tarja: color-mix(in srgb, var(--ritmo) 22%, var(--surface)); }
.legenda.legenda-ritmo .l-nota { color: var(--muted); }
.legenda.legenda-ritmo .l-nota::before { display: none; }

.recado-sala {
  
  margin-top: .3rem;
  font-size: .84rem; line-height: 1.45;
  color: var(--st-wait);
}
.recado-sala strong { color: var(--st-wait); }

.correcao-sala {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  
  margin-top: .5rem; padding-top: .5rem;
  border-top: 1px dashed var(--line);
}
.correcao-sala .correcao-texto { font-size: .84rem; color: var(--ink-2); }
.correcao-forma { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }

.correcao-forma input { min-width: 18rem; flex: 1 1 18rem; }

.legenda { display: flex; gap: .9rem; flex-wrap: wrap; font-size: .74rem; color: var(--muted); }
.legenda span { display: inline-flex; align-items: center; gap: .35rem; }
.legenda span::before {
  content: ""; width: .6rem; height: .6rem; border-radius: 50%; background: var(--bola);
}
.legenda .l-espera { --bola: var(--bola-espera); }
.legenda .l-agora  { --bola: var(--bola-agora); }
.legenda .l-feito  { --bola: var(--bola-feito); }

.bloco-particular {
  border: 1px dashed var(--line-forte);
  border-left: 3px solid var(--st-wait);
  border-radius: var(--r);
  padding: .85rem .95rem;
  display: flex; flex-direction: column; gap: .55rem;
  background: color-mix(in srgb, var(--st-wait-bg) 45%, transparent);
}
.titulo-particular {
  display: flex; align-items: center; gap: .7rem; flex-wrap: wrap;
}
.titulo-particular b { font-size: .95rem; }
.bloco-particular .combo-nota.falta {
  color: var(--st-miss); font-weight: 600; font-size: .78rem;
}

.bloco-particular .linha.alinha-topo > .col > label { min-height: 2.35rem; }

.aviso-campo { text-transform: none; letter-spacing: 0; font-weight: 600; }
.aviso-campo.bom { color: var(--st-done); }
.aviso-campo.ruim { color: var(--st-miss); }

input[type="email"], input[type="date"], input[type="tel"], input[type="password"] {
  font-family: inherit; font-size: .98rem;
  padding: .62rem .75rem;
  border: 1px solid var(--line-forte);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--ink);
  width: 100%;
  transition: border-color .15s, box-shadow .15s;
}
input[type="email"]:hover, input[type="date"]:hover, input[type="tel"]:hover,
input[type="password"]:hover {
  border-color: var(--seg-500);
}
input[type="email"]:focus, input[type="date"]:focus, input[type="tel"]:focus,
input[type="password"]:focus {
  outline: none;
  border-color: var(--seg-500);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--seg-500) 18%, transparent);
}
.linha.alinha-topo input[type="email"],
.linha.alinha-topo input[type="date"],
.linha.alinha-topo input[type="tel"],
.linha.alinha-topo input[type="password"] { min-height: 44px; }

.cobranca {
  display: flex; flex-wrap: wrap; gap: 1rem;
  align-items: stretch;
  border-radius: var(--r);
  border: 1px solid var(--st-miss);
  background: var(--st-miss-bg);
  padding: .9rem 1rem;
}
.cobranca .conta {
  display: flex; flex-direction: column; gap: .1rem;
  min-width: 230px; flex: 1;
}
.cobranca .rotulo {
  font-size: .68rem; text-transform: uppercase; letter-spacing: .11em;
  font-weight: 700; color: var(--ink-2);
}
.cobranca .valor {
  font-size: 2.1rem; font-weight: 800; line-height: 1.05;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
.cobranca .itens { font-size: .78rem; color: var(--ink-2); }
.cobranca .lado {
  display: flex; flex-direction: column; gap: .45rem; justify-content: center;
  flex: 1.2; min-width: 260px;
}
.cobranca .pagar {
  display: flex; align-items: center; gap: .55rem;
  text-transform: none; letter-spacing: 0; font-size: .92rem;
  color: var(--ink); cursor: pointer; font-weight: 400;
}
.cobranca .pagar input { width: 18px; height: 18px; flex: none; accent-color: var(--st-done); }
.cobranca a.mini { align-self: flex-start; text-decoration: none; }

a.mini {
  display: inline-block;
  font-size: .68rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  padding: .22rem .6rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--seg-500) 45%, transparent);
  background: transparent; color: var(--seg-700);
}
a.mini:hover { background: var(--seg-50); }

.exame .preco {
  margin-left: auto; flex: none;
  font-size: .82rem; font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--st-done);
}
.exame .preco.vazio {
  color: var(--st-miss); font-weight: 600; font-size: .72rem;
  text-transform: uppercase; letter-spacing: .06em;
}

.tabela-precos { min-width: 640px; }
.tabela-precos td { vertical-align: middle; }
.tabela-precos tr:hover td { background: var(--surface-2); }
input.valor-venda {
  width: 8.5rem; text-align: right;
  font-variant-numeric: tabular-nums; font-weight: 600;
  padding: .42rem .6rem;
}
input.valor-venda::placeholder {
  font-weight: 400; font-style: italic; color: var(--st-miss);
  text-align: right;
}
input.valor-venda.ruim { border-color: var(--st-miss); }
.etiqueta-propria {
  margin-left: .45rem;
  font-size: .64rem; text-transform: uppercase; letter-spacing: .08em;
  font-weight: 700; color: var(--seg-700);
  background: var(--seg-50);
  border-radius: 999px; padding: .1rem .45rem;
}

.dialogo.largo { max-width: 780px; max-height: 88vh; overflow-y: auto; }

:root {
  --g-barra:  var(--ocu-500);
  --g-trilho: var(--surface-2);
  --g-grade:  var(--line);

  --serie-1: #2a78d6;  --serie-2: #eb6834;  --serie-3: #1baf7a;  --serie-4: #eda100;
  --serie-5: #e87ba4;  --serie-6: #008300;  --serie-7: #4a3aa7;  --serie-8: #e34948;
}
[data-tema="escuro"] {
  --g-barra: #46C3BA;

  --serie-1: #3987e5;  --serie-2: #d95926;  --serie-3: #199e70;  --serie-4: #c98500;
  --serie-5: #d55181;  --serie-6: #008300;  --serie-7: #9085e9;  --serie-8: #e66767;
}

.grafico { position: relative; width: 100%; }
.g-svg { display: block; width: 100%; height: auto; overflow: visible; }

.g-barra { fill: var(--g-barra); }
.g-barra.g-agrupado { fill: var(--calmo); }     
.g-trilho { fill: var(--g-trilho); }
.g-grade { stroke: var(--g-grade); stroke-width: 1; }
.g-eixo-linha { stroke: var(--line-forte); stroke-width: 1; }
.g-alvo { fill: transparent; }                  

.g-eixo   { fill: var(--muted); font-size: 11px; font-family: var(--font); }
.g-rotulo { fill: var(--ink-2); font-size: 12px; font-family: var(--font); }
.g-valor  {
  fill: var(--ink); font-size: 11.5px; font-weight: 700;
  font-family: var(--font); font-variant-numeric: tabular-nums;
}
.g-var { font-size: 10.5px; font-weight: 700; font-family: var(--font); }
.g-var.g-sobe  { fill: var(--st-done); }
.g-var.g-desce { fill: var(--st-miss); }
.g-var.g-igual { fill: var(--muted); }
.g-miolo {
  fill: var(--ink); font-size: 1.35rem; font-weight: 800;
  font-family: var(--font); font-variant-numeric: tabular-nums;
}

.g-marca:hover .g-barra { filter: brightness(1.12); }
.g-marca:hover .g-trilho { fill: color-mix(in srgb, var(--g-barra) 14%, var(--g-trilho)); }

.g-dica {
  position: absolute; z-index: 30;
  transform: translate(-50%, -100%);
  pointer-events: none;
  background: var(--barra); color: var(--sobre-barra);
  border-radius: var(--r-sm);
  padding: .4rem .6rem;
  font-size: .78rem; line-height: 1.35;
  box-shadow: var(--sombra-md);
  white-space: nowrap;
  display: flex; flex-direction: column;
}
.g-dica[hidden] { display: none; }
.g-dica b { font-size: .95rem; font-variant-numeric: tabular-nums; }
.g-dica span { opacity: .8; }

.g-rosca-caixa { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; }
.g-fatia {
  
  stroke: var(--surface); stroke-width: 2;
}
.g-fatia.g-agrupado { fill: var(--calmo); }
.g-fatia:hover { filter: brightness(1.1); }

.g-legenda { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 200px; }
.g-legenda li {
  display: flex; align-items: center; gap: .5rem;
  padding: .22rem 0; font-size: .84rem;
  border-bottom: 1px solid var(--line);
}
.g-legenda li:last-child { border-bottom: none; }
.g-legenda .g-ponto { width: .72rem; height: .72rem; border-radius: 3px; flex: none; }
.g-legenda .g-nome { flex: 1; min-width: 0; color: var(--ink-2); }
.g-legenda .g-num {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  color: var(--ink); font-size: .78rem; white-space: nowrap;
}

.serie-1 { fill: var(--serie-1); background: var(--serie-1); }
.serie-2 { fill: var(--serie-2); background: var(--serie-2); }
.serie-3 { fill: var(--serie-3); background: var(--serie-3); }
.serie-4 { fill: var(--serie-4); background: var(--serie-4); }
.serie-5 { fill: var(--serie-5); background: var(--serie-5); }
.serie-6 { fill: var(--serie-6); background: var(--serie-6); }
.serie-7 { fill: var(--serie-7); background: var(--serie-7); }
.serie-8 { fill: var(--serie-8); background: var(--serie-8); }

path.serie-1, path.serie-2, path.serie-3, path.serie-4,
path.serie-5, path.serie-6, path.serie-7, path.serie-8 { background: none; }

.dupla { display: grid; grid-template-columns: 1fr; gap: 1.15rem; align-items: start; }
@media (min-width: 1000px) { .dupla { grid-template-columns: 1fr 1fr; } }
.dupla.pesa-esquerda { grid-template-columns: 1fr; }
@media (min-width: 1000px) { .dupla.pesa-esquerda { grid-template-columns: 1.35fr 1fr; } }

.filtros { display: flex; flex-wrap: wrap; gap: .7rem; align-items: flex-end; }
.filtros .col { min-width: 150px; }
.filtros .col.estreita { min-width: 118px; }
.atalhos { display: flex; gap: .35rem; flex-wrap: wrap; }
.atalho {
  font-size: .78rem; font-weight: 600;
  padding: .42rem .8rem; border-radius: 999px;
  background: transparent; color: var(--ink-2);
  border: 1px solid var(--line-forte);
}
.atalho:hover { background: var(--surface-2); filter: none; }
.atalho[aria-pressed="true"] {
  background: var(--seg-700); color: var(--sobre-marca); border-color: transparent;
}
.filtro-nota {
  font-size: .8rem; color: var(--ink-2);
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
}

.rolagem { overflow-x: auto; }

.rolagem.alta { max-height: 62vh; overflow-y: auto; }
.tabela-rel { min-width: 900px; }
.tabela-rel th { position: sticky; top: 0; background: var(--surface); z-index: 2; }
.tabela-rel tbody tr:hover td { background: var(--surface-2); }
.tabela-rel td.mono { white-space: nowrap; }
.tabela-rel .linha-exames td {
  background: var(--surface-2);
  font-size: .8rem; color: var(--ink-2);
  padding: .6rem .8rem .8rem;
}
.tabela-rel .linha-exames[hidden] { display: none; }
.passos-exame { display: flex; flex-direction: column; gap: .25rem; }
.passos-exame .passo-linha {
  display: flex; gap: .6rem; flex-wrap: wrap; align-items: baseline;
}
.passos-exame b { font-weight: 600; color: var(--ink); min-width: 12rem; }
.passos-exame .mono {
  font-family: var(--mono); font-variant-numeric: tabular-nums; font-size: .78rem;
}

.comparacao { display: flex; flex-direction: column; gap: .45rem; margin-top: .3rem; }
.comparado {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .2rem .8rem;
  align-items: baseline;
  padding: .55rem 0;
  border-top: 1px solid var(--line);
}
.comparado:first-child { border-top: 0; }
@media (min-width: 620px) {
  .comparado { grid-template-columns: 11rem auto 1fr; }
}
.comparado b { font-weight: 600; color: var(--ink); font-size: .93rem; }
.comparado .agora {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: 1.02rem; font-weight: 700; color: var(--ink);
}
.comparado .antes {
  font-family: var(--mono); font-variant-numeric: tabular-nums;
  font-size: .78rem; color: var(--muted);
}
.comparado .veredito {
  font-size: .82rem; font-weight: 700; color: var(--tom, var(--muted));
  grid-column: 1 / -1;
}
@media (min-width: 620px) { .comparado .veredito { grid-column: auto; text-align: right; } }
.comparado[data-tom="ok"]      { --tom: var(--st-done); }
.comparado[data-tom="atencao"] { --tom: var(--st-wait); }
.comparado[data-tom="neutro"]  { --tom: var(--muted); }

button.abrir-linha {
  font-family: var(--mono); font-size: .9rem; line-height: 1;
  padding: .25rem .5rem; border-radius: var(--r-sm);
  background: transparent; color: var(--ink-2); border-color: var(--line-forte);
}
button.abrir-linha:hover { background: var(--surface-2); filter: none; }

.perfis { display: grid; grid-template-columns: 1fr; gap: .7rem; }
@media (min-width: 760px)  { .perfis { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1200px) { .perfis { grid-template-columns: repeat(4, 1fr); } }
.perfil {
  border: 1px solid var(--line);
  border-top: 3px solid var(--seg-500);
  border-radius: var(--r);
  padding: .8rem .9rem;
  background: var(--surface);
  display: flex; flex-direction: column; gap: .35rem;
}
.perfil b { font-size: .96rem; letter-spacing: -.01em; }
.perfil .desc { font-size: .82rem; color: var(--ink-2); line-height: 1.4; }
.perfil .modulos {
  font-size: .74rem; color: var(--muted);
  border-top: 1px dashed var(--line-forte); padding-top: .4rem; margin-top: .15rem;
}
.perfil .marca { margin-top: .1rem; }

label.troca {
  display: flex; align-items: center; gap: .55rem;
  text-transform: none; letter-spacing: 0; font-size: .9rem;
  color: var(--ink); font-weight: 400; cursor: pointer;
  min-height: 44px;
}
label.troca input { width: 18px; height: 18px; accent-color: var(--seg-700); flex: none; }

.celula-logo { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.celula-logo img {
  height: 34px; max-width: 120px; object-fit: contain;
  background: var(--surface-2); border-radius: var(--r-sm); padding: .2rem .35rem;
}

table { border-collapse: collapse; width: 100%; font-size: .86rem; }
th {
  text-align: left; font-size: .68rem; text-transform: uppercase; letter-spacing: .1em;
  color: var(--muted); padding: .5rem .6rem; border-bottom: 1px solid var(--line);
}
td { padding: .5rem .6rem; border-bottom: 1px solid var(--line); }
td.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }

.chip-acido {
  border-color: transparent;
  background: var(--st-crit-bg); color: var(--st-crit);
  letter-spacing: .03em;
}
.chip-acido.sem-acido {
  background: color-mix(in srgb, var(--ink) 8%, var(--mistura));
  color: var(--ink-2);
}

.bloco-sangue {
  border: 1px solid color-mix(in srgb, var(--st-crit) 22%, var(--line));
  border-radius: var(--r);
  background: color-mix(in srgb, var(--st-crit) 4%, var(--surface));
  padding: .9rem 1rem 1rem;
}

.sangue-grade {
  display: grid; grid-template-columns: 1fr; gap: .9rem; margin-top: .7rem;
}
@media (min-width: 980px) {
  .sangue-grade { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 1.5rem; }
}
.sangue-pane { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }

.sangue-pane .pane-titulo {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  font-size: .67rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .11em;
  color: var(--muted);
}
.pane-marcados .pane-titulo { color: var(--ink-2); }
.pane-titulo .conta {
  font-family: var(--mono); font-size: .74rem; letter-spacing: 0;
  background: var(--surface-2); color: var(--ink-2);
  border-radius: 999px; padding: .1em .55em;
}
.pane-titulo .pane-dica {
  text-transform: none; letter-spacing: .01em; font-size: .72rem;
  font-weight: 600; color: var(--muted);
}

@media (min-width: 980px) {
  .pane-sugestoes { border-left: 1px dashed var(--line-forte); padding-left: 1.4rem; }
}
@media (max-width: 979px) {
  .pane-sugestoes { border-top: 1px dashed var(--line-forte); padding-top: .85rem; }
}

.sangue-usuais-lista { display: flex; gap: .4rem; flex-wrap: wrap; align-content: flex-start; }
.sangue-sugestao {
  display: inline-flex; align-items: center; gap: .45rem;
  max-width: 100%;
  font-size: .8rem; font-weight: 600; white-space: normal; text-align: left;
  padding: .34em .75em;
  border-radius: var(--r-sm);
  border: 1px dashed var(--line-forte);
  background: transparent;
  color: var(--ink-2);
}
.sangue-sugestao:hover {
  filter: none;
  border-style: solid; border-color: var(--seg-500);
  background: var(--surface); color: var(--ink);
}
.sangue-sugestao .mais { font-family: var(--mono); font-weight: 700; color: var(--muted); }
.sangue-sugestao:hover .mais { color: var(--seg-700); }
.sangue-sugestao.acido { border-color: color-mix(in srgb, var(--st-crit) 40%, transparent); }
.sangue-sugestao .marca-acido {
  font-size: .64rem; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--st-crit);
}

.sangue-vazio {
  border: 1px dashed var(--line-forte); border-radius: var(--r-sm);
  padding: .7rem .8rem; font-size: .82rem; color: var(--muted);
}

.sangue-escolhidos { display: flex; flex-direction: column; gap: .3rem; }
.sangue-item {
  display: flex; align-items: center; gap: .6rem;
  padding: .38rem .5rem .38rem .7rem;
  border: 1px solid var(--line);
  border-left: 3px solid var(--line-forte);
  border-radius: var(--r-sm);
  background: var(--surface);
  font-size: .85rem;
}
.sangue-item.acido { border-left-color: var(--st-crit); }
.sangue-item .marca-ok { color: var(--st-done); font-weight: 700; line-height: 1; }
.sangue-item .nome { flex: 1; min-width: 0; font-weight: 600; color: var(--ink); }
.sangue-item .cod {
  font-family: var(--mono); font-size: .74rem; color: var(--muted);
}
.sangue-item .combo-x { position: static; }
.combo-item.item-acido b { color: var(--st-crit); }

.sangue-sala .sangue-lista {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .55rem;
}
.sangue-tag {
  display: inline-flex; align-items: baseline; gap: .45rem;
  padding: .3rem .6rem;
  border: 1px solid var(--line-forte);
  border-radius: var(--r-sm);
  background: var(--surface);
  font-size: .84rem; font-weight: 600;
}
.sangue-tag.acido {
  border-color: color-mix(in srgb, var(--st-crit) 55%, transparent);
  background: var(--st-crit-bg); color: var(--st-crit);
}
.sangue-tag small { font-family: var(--mono); font-size: .72rem; opacity: .7; font-weight: 400; }

button.cartao {
  text-align: left; font: inherit; cursor: pointer;
  width: 100%; appearance: none;
}
button.cartao:hover { border-color: color-mix(in srgb, var(--tom) 55%, transparent); }
button.cartao:focus-visible { outline: 2px solid var(--tom); outline-offset: 2px; }

.prazo {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .74rem; font-weight: 700; white-space: nowrap;
  padding: .26em .7em; border-radius: 999px;
  color: var(--tom); background: var(--tom-bg);
  --tom: var(--calmo); --tom-bg: var(--surface-2);
}
.prazo::before { content: ""; width: .45em; height: .45em; border-radius: 50%; background: currentColor; }
.prazo[data-tom="ok"]      { --tom: var(--st-done); --tom-bg: var(--st-done-bg); }
.prazo[data-tom="atencao"] { --tom: var(--st-wait); --tom-bg: var(--st-wait-bg); }
.prazo[data-tom="alto"]    { --tom: var(--st-miss); --tom-bg: var(--st-miss-bg); }
.prazo[data-tom="critico"] { --tom: var(--st-crit); --tom-bg: var(--st-crit-bg); }

.tabela-prazo { min-width: 1120px; }
.tabela-prazo td { vertical-align: top; }
.linha-prazo td:first-child { border-left: 4px solid transparent; padding-left: .5rem; }
.linha-prazo[data-tom="ok"]      td:first-child { border-left-color: var(--st-done); }
.linha-prazo[data-tom="atencao"] td:first-child { border-left-color: var(--st-wait); }
.linha-prazo[data-tom="alto"]    td:first-child { border-left-color: var(--st-miss); }
.linha-prazo[data-tom="critico"] td:first-child { border-left-color: var(--st-crit); }
.linha-prazo[data-tom="calmo"]   td { color: var(--muted); }
.linha-prazo[data-tom="critico"] td { background: color-mix(in srgb, var(--st-crit) 5%, transparent); }
.linha-prazo[data-tom="alto"]    td { background: color-mix(in srgb, var(--st-miss) 5%, transparent); }

.sub-cel { display: block; color: var(--muted); font-size: .74rem; margin-top: .15rem; }
.tabela-prazo td.acao { text-align: right; white-space: nowrap; }
.tabela-prazo td.acao .liberado-em {
  display: block; font-size: .74rem; color: var(--muted); margin-bottom: .2rem;
}

.legenda-prazo .l-prazo::before { background: var(--calmo); }
.legenda-prazo .l-prazo[data-tom="ok"]::before      { background: var(--st-done); }
.legenda-prazo .l-prazo[data-tom="atencao"]::before { background: var(--st-wait); }
.legenda-prazo .l-prazo[data-tom="alto"]::before    { background: var(--st-miss); }
.legenda-prazo .l-prazo[data-tom="critico"]::before { background: var(--st-crit); }

.motivos { display: flex; flex-direction: column; gap: .4rem; }
.motivo-linha {
  display: flex; align-items: center; gap: .6rem;
  padding: .45rem .6rem;
  border: 1px solid var(--line); border-radius: var(--r-sm);
  background: var(--surface);
}
.motivo-linha .nome { flex: 1; min-width: 0; }
.motivo-linha input[type="text"] { flex: 1; }

.corte-perigo {
  border: 0; border-top: 1px dashed var(--st-miss);
  margin: 1rem 0 .2rem; opacity: .5;
}

.motivo-linha.inativa { opacity: .55; background: var(--surface-2); }
.motivo-linha.inativa input[type="text"] { font-style: italic; }

.motivo-linha input.estreito { flex: 0 0 10rem; }

.motivo-linha .cod-soc {
  flex: 0 0 auto; font-size: .78rem; color: var(--muted);
  padding: .18rem .5rem; border-radius: 999px;
  background: var(--surface-2); border: 1px solid var(--line);
}

.rodape-nota { font-size: .78rem; color: var(--muted); text-align: center; padding: 0 0 2rem; }

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}

[data-menu="oculto"] .lateral { display: none; }

.mostrar-menu {
  display: grid; place-items: center;
  width: 38px; height: 38px; padding: 0; flex: none;
  background: transparent; color: var(--sobre-barra);
  border: 1px solid color-mix(in srgb, var(--sobre-barra) 30%, transparent);
  border-radius: 10px; cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.mostrar-menu:hover {
  background: color-mix(in srgb, var(--sobre-barra) 14%, transparent);
  border-color: color-mix(in srgb, var(--sobre-barra) 55%, transparent);
  filter: none;
}
.mostrar-menu:active { transform: scale(.94); }
.mostrar-menu:focus-visible { outline: 2px solid var(--sobre-barra); outline-offset: 2px; }
.mostrar-menu svg { display: block; }
.mostrar-menu .seta {
  transform-box: fill-box; transform-origin: center;
  transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}
[data-menu="oculto"] .mostrar-menu .seta { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .mostrar-menu .seta { transition: none; } }

button.encolher.ocultar svg { transform: none; }
[data-menu="compacto"] button.encolher.ocultar svg { transform: none; }

.repasse-grupo {
  margin: .4rem 0 0; font-size: 1.05rem; letter-spacing: -.01em;
  color: var(--ink-2); text-transform: uppercase; font-size: .78rem;
  font-weight: 700; letter-spacing: .12em;
}
.repasse-prestador.fechado { border-color: var(--st-done); }
.repasse-cabeca {
  display: flex; gap: 1.2rem; align-items: flex-start; justify-content: space-between;
  flex-wrap: wrap;
}

.repasse-cabeca .quem {
  display: flex; flex-direction: column; align-items: flex-start; gap: .35rem;
  min-width: 0; flex: 1;
}
.repasse-cabeca .quem .st, .repasse-cabeca .quem .chip { align-self: flex-start; }
.repasse-cabeca .quem > b { font-size: 1.08rem; }
.repasse-cabeca .quem .nome { margin-right: .25rem; }
.repasse-cabeca .regras {
  display: flex; flex-direction: column; gap: .15rem;
  font-size: .8rem; color: var(--ink-2);
}
.repasse-total {
  display: flex; flex-direction: column; align-items: flex-end; gap: .1rem;
  padding: .6rem 1rem; border-radius: var(--r-sm);
  background: var(--surface-2); min-width: 190px;
}
.repasse-total .rotulo {
  font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--muted);
}
.repasse-total .valor { font-size: 1.6rem; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.repasse-total .conta { font-size: .74rem; color: var(--muted); }
.repasse-pendencias ul { margin: .4rem 0 0 1.1rem; padding: 0; }
.repasse-pendencias li { margin: .15rem 0; }
.repasse-segmento { margin-top: .6rem; }
.repasse-segmento .sub-titulo { margin-bottom: .4rem; }
.repasse-segmento .sub-titulo .sub { font-variant-numeric: tabular-nums; }
.tabela-plantoes { min-width: 560px; }
.tabela-plantoes input.horas-plantao { width: 6rem; }
.repasse-itens { margin-top: .5rem; }
.repasse-itens summary {
  cursor: pointer; font-size: .84rem; font-weight: 600; color: var(--ink-2);
  padding: .4rem .2rem;
}
.repasse-itens summary:hover { color: var(--ink); }
.tabela-itens { min-width: 760px; font-size: .86rem; }
.tabela-itens tr.pendente td { background: var(--st-wait-bg); }
.repasse-acoes { margin-top: .8rem; align-items: center; }
a.tela-link.desligado {
  background: var(--surface-2); color: var(--muted); border: 1px dashed var(--line-forte);
}
a.tela-link.desligado:hover { filter: none; }

.regra-seg {
  border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: .8rem .9rem; background: var(--surface);
  display: flex; flex-direction: column; gap: .6rem;
}
.regra-seg[data-seg="ocupacional"]    { border-left: 3px solid var(--ocu-700); }
.regra-seg[data-seg="especialidades"] { border-left: 3px solid var(--esp-700); }
.regra-seg .caixa-marca input { accent-color: var(--seg-700); }
.conv-regra select { flex: 0 0 15rem; }
.conv-regra input.conv-valor { flex: 0 0 8rem; }

.repasse-segmento > h3.sub-titulo {
  font-size: .78rem; text-transform: uppercase; letter-spacing: .1em;
  color: var(--ink-2); font-weight: 700; margin: 0 0 .4rem;
  display: flex; gap: .4rem; align-items: baseline; flex-wrap: wrap;
}
