/*
 * TODO SER — ajustes sobre o tema do guara.
 *
 * O visual vem de /assets/vendor/guara/css/base.min.css (ArchitectUI + Bootstrap 4, cópia do
 * static/css/base.min.css do guara). Este arquivo:
 *   1) define variáveis com a paleta do guara (e a variante escura opcional);
 *   2) faz as superfícies do tema usarem essas variáveis (para o tema escuro funcionar);
 *   3) traduz as classes próprias dos módulos (.btn-sec, .badge-ok, .campo, .abas…) para o visual do tema;
 *   4) traz as 3 regras do guara.css que importam aqui (fonte de 12px em rótulos e campos).
 * Estrutura e comportamento são os do guara; só a cor primária do tema (#3f6ad8) foi trocada pelas cores
 * da marca TODO SER (manual de marca): azul-escuro #0C223F (principal, Pantone 533) e roxo #7570B3 (destaque, Pantone 272).
 */

/* ── 1. Paleta (estrutura do guara, cores da marca TODO SER) ──────────── */
:root{
  --marca-azul:#0C223F;--marca-roxo:#7570B3;
  --g-primario:#0C223F;--g-primario-hover:#16355f;--g-primario-borda:#06111f;--g-primario-texto:#0C223F;
  --g-destaque:#7570B3;--g-destaque-texto:#5f5aa3;--g-foco:rgba(117,112,179,.3);--g-foco-borda:#b3b0da;
  --g-sucesso:#3ac47d;--g-aviso:#f7b924;--g-perigo:#d92550;--g-info:#16aaff;--g-secundario:#6c757d;
  --g-fundo:#f1f4f6;--g-sup:#fff;--g-sup2:#f8f9fa;--g-cab:#fafbfc;--g-titulo-pag:rgba(255,255,255,.45);
  --g-texto:#495057;--g-titulo:#343a40;--g-mut:#6c757d;--g-borda:#ced4da;--g-linha:#e9ecef;--g-realce:#eeedf7;
  --g-legenda:#0C223F;--g-logo:url(/assets/img/logo.svg);--g-aviso-texto:#b7860b;
  --g-sombra:0 .46875rem 2.1875rem rgba(4,9,20,.03),0 .9375rem 1.40625rem rgba(4,9,20,.03),0 .25rem .53125rem rgba(4,9,20,.05),0 .125rem .1875rem rgba(4,9,20,.03);
  /* Nomes antigos, ainda usados em estilos inline dos módulos. */
  --txt:var(--g-texto);--acc:var(--g-primario-texto);--sub:var(--g-mut);--mut:var(--g-mut);--dim:#adb5bd;
  --bd:var(--g-linha);--surf:var(--g-sup);--surf2:var(--g-sup2);--ok:var(--g-sucesso);--warn:var(--g-aviso-texto);
  --crit:var(--g-perigo);--inp-bd:var(--g-borda);--raio:.25rem;
}
[data-theme="dark"]{
  --g-primario:#7570B3;--g-primario-hover:#615ca0;--g-primario-borda:#58539a;--g-primario-texto:#b9b6e6;
  --g-destaque-texto:#a9a5dd;--g-logo:url(/assets/img/logo-branco.svg);--g-fundo:#181b20;--g-sup:#22262d;--g-sup2:#2a2f37;--g-cab:#1e2228;--g-titulo-pag:rgba(255,255,255,.03);
  --g-texto:#cfd5dc;--g-titulo:#eef1f4;--g-mut:#9aa4af;--g-borda:#48505b;--g-linha:#343a43;--g-realce:rgba(117,112,179,.2);
  --g-legenda:#b9b6e6;--g-aviso-texto:#f7c548;--dim:#5c6672;
  --g-sombra:0 .25rem 1rem rgba(0,0,0,.35);
  color-scheme:dark;
}

/* ── 2. Superfícies do tema ligadas às variáveis ────────────────────── */
body{background:var(--g-fundo);color:var(--g-texto)}
a{color:var(--g-primario-texto)}
.app-theme-white.app-container{background:var(--g-fundo)}
.app-theme-white .app-header,.app-theme-white .app-footer .app-footer__inner{background:var(--g-cab)}
.app-theme-white .app-sidebar{background:var(--g-sup)}
.app-theme-white .app-page-title{background:var(--g-titulo-pag)}
.app-wrapper-footer .app-footer{border-top-color:var(--g-linha)}
.app-wrapper-footer .app-footer .app-footer__inner{border-left-color:var(--g-linha)}
.header-btn-lg::before{background:var(--g-linha)}
.app-header .header-user-info .widget-heading{color:var(--g-titulo)}
.app-header .header-user-info .widget-subheading{color:var(--g-mut);opacity:1}
.card,.dropdown-menu,.modal-content{background-color:var(--g-sup);color:var(--g-texto)}
.app-page-title .page-title-icon{background:var(--g-sup);box-shadow:var(--g-sombra)}
.vertical-nav-menu li a{color:var(--g-titulo)}
.vertical-nav-menu ul>li>a{color:var(--g-mut)}
.vertical-nav-menu li a:hover,.vertical-nav-menu li a.mm-active,.vertical-nav-menu ul>li>a.mm-active{background:var(--g-realce)}
.vertical-nav-menu li a.mm-active,.vertical-nav-menu ul>li>a.mm-active,.vertical-nav-menu ul>li>a:hover{color:var(--g-primario-texto)}
.vertical-nav-menu ul:before,.closed-sidebar .app-sidebar .app-sidebar__inner .app-sidebar__heading::before{background:var(--g-realce)}
.app-sidebar__heading{color:var(--g-destaque-texto)}
.vertical-nav-menu li a:focus-visible{outline:2px solid var(--g-primario);outline-offset:-2px}
[data-theme="dark"] .vertical-nav-menu i.metismenu-icon{opacity:.55}
[data-theme="dark"] .app-sidebar.sidebar-shadow{box-shadow:7px 0 30px rgba(0,0,0,.3)}
[data-theme="dark"] .app-header.header-shadow{box-shadow:0 2px 12px rgba(0,0,0,.4)}
[data-theme="dark"] .card{border:1px solid var(--g-linha)}
[data-theme="dark"] .text-muted{color:var(--g-mut)!important}
[data-theme="dark"].app-theme-white.fixed-header .app-header__logo,[data-theme="dark"] .app-theme-white.fixed-header .app-header__logo{background:transparent}
[data-theme="dark"] .alert-danger{color:#ffb3c2;background:rgba(217,37,80,.18);border-color:rgba(217,37,80,.4)}

/* Logo oficial (manual de marca: sem distorcer, sem sombra/degradê, nunca a completa com menos de ~110 px).
   logo.svg (fundo claro), logo-branco.svg (fundo escuro), logo-icone.svg (menu recolhido e favicon).
   Proporção da completa 229,1 × 82,1: 40 px de altura = 112 px de largura. */
.app-header__logo .logo-src{display:block;background:var(--g-logo) no-repeat left center/contain;width:112px;height:40px}
.closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo{padding:0 .75rem}
.closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo .logo-src{display:block;width:30px;height:28px;background-image:url(/assets/img/logo-icone.svg)}
.closed-sidebar:not(.closed-sidebar-mobile) .app-header .app-header__logo .header__pane{margin-left:auto;margin-right:0}
.closed-sidebar.closed-sidebar-mobile .app-header .app-header__logo .logo-src{width:112px}
/* Cor primária do tema trocada pela marca nos elementos do tema que a fixam em #3f6ad8. */
.hamburger-inner,.hamburger-inner::after,.hamburger-inner::before,.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner::after,.hamburger.is-active .hamburger-inner::before{background-color:var(--g-primario-texto)}
.app-header .btn-primary,.app-header .btn-primary:hover,.app-header .btn-primary:focus,.app-header .btn-primary.active,.app-header .btn-primary:not(:disabled):active{color:#fff;background-color:var(--g-primario);border-color:var(--g-primario);box-shadow:none}
.app-header .btn-primary.active,.app-header .btn-primary:hover{background-color:var(--g-destaque);border-color:var(--g-destaque)}
.header-dots .text-primary{color:var(--g-primario-texto)!important}
.header-dots .bg-primary{background-color:var(--g-destaque)!important}
.bg-marca{background:linear-gradient(135deg,var(--marca-azul) 0,#2c2f66 60%,var(--marca-roxo) 100%)}
.icone-marca{color:var(--g-destaque)}
.vertical-nav-menu li a.mm-active,.vertical-nav-menu ul>li>a.mm-active{box-shadow:inset 3px 0 0 var(--g-destaque)}
.vertical-nav-menu i.metismenu-icon{color:var(--g-primario-texto)}
.vertical-nav-menu li a.mm-active i.metismenu-icon{opacity:.8;color:var(--g-destaque)}
.hamburger{padding:0;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;color:inherit}
.hamburger:focus-visible,.btn:focus-visible{outline:2px solid var(--g-destaque);outline-offset:2px}

/* Cabeçalho: avatar com iniciais (o guara usa foto) e menu do usuário. */
.avatar-cab{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--g-realce);color:var(--g-primario-texto);font-weight:700;font-size:.95rem;vertical-align:middle}
.avatar-cab-claro{background:rgba(255,255,255,.22);color:#fff}
.menu-usuario .dropdown-menu{min-width:17rem}
.menu-usuario .nav-link{color:var(--g-texto);font-weight:400;padding:.5rem 1rem}
.menu-usuario .nav-link:hover{background:var(--g-realce);color:var(--g-primario-texto)}
.menu-usuario .nav-item-header{color:var(--g-mut)}
#btn-usuario{color:var(--g-texto)}
.header-dots .btn-link{color:inherit}
.rodape{font-size:.8rem;color:var(--g-mut)}
.app-main .app-main__inner{padding-bottom:30px}
@media (max-width:991.98px){
  .sidebar-mobile-open .app-sidebar{z-index:13}
  .app-header .app-header__content{background:var(--g-cab)}
  .app-header .app-header__content .header-btn-lg{margin-left:auto}
}

/* ── 3. Componentes dos módulos no visual do tema ───────────────────── */
html,body{overflow-x:hidden}
h1,h2,h3{color:var(--g-titulo)}
h2{font-size:1.1rem;font-weight:500}
h3{font-size:.95rem;font-weight:600}

/* Título da página (app-page-title) gerado por cabecalho() em core/ui.js. */
.page-title-texto{font-size:1.25rem;font-weight:400;line-height:1.3;margin:0;color:var(--g-titulo)}
.app-page-title .page-title-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}
.app-page-title .page-title-actions .btn:not(.btn-sec,.btn-ghost){box-shadow:0 .125rem .625rem rgba(12,34,63,.3),0 .0625rem .125rem rgba(12,34,63,.4)}
@media (max-width:991.98px){.app-page-title .page-title-actions{justify-content:center}}

/* Cartões: o .card do Bootstrap é flex e sem padding; aqui é bloco com o padding do card-body. */
.card{display:block;padding:1.25rem;border-radius:.25rem}
.card + .card:not(.grid > *){margin-top:1.25rem}
.card > h2:first-child,.card > h3:first-child,.card > .linha:first-child h3{text-transform:uppercase;color:var(--g-titulo);opacity:.75;font-weight:700;font-size:.88rem;margin-bottom:.75rem}
a.card{color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}
a.card:hover{transform:translateY(-2px);box-shadow:0 .76875rem 2.4875rem rgba(4,9,20,.08),0 .25rem .53125rem rgba(4,9,20,.08)}
.cartao-atalho{display:flex;flex-direction:row;align-items:center;gap:1rem}
.atalho-icone{flex:none;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:.25rem;background:var(--g-realce);color:var(--g-primario-texto);font-size:2rem}
.atalho-titulo{display:block;font-weight:700;font-size:1rem;color:var(--g-titulo);margin-bottom:.15rem}
.atalho-titulo + .mut{display:block}

.grid{display:grid;gap:1.25rem}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.linha{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.espaco{flex:1}
.vazio{padding:2.5rem 1rem;text-align:center;color:var(--g-mut)}
.mut{color:var(--g-mut)}.sub{color:var(--g-mut)}.tsm{font-size:.8rem}.txs{font-size:.73rem}
.ok{color:var(--g-sucesso)}.warn{color:var(--g-aviso-texto)}.crit{color:var(--g-perigo)}

/* Formulários (equivalente a .form-group/.form-control do Bootstrap + 12px do guara.css). */
label{display:block;font-size:12px;font-weight:500;color:var(--g-texto);margin-bottom:.3rem}
.campo{margin-bottom:1rem}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:0 1rem}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{
  display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font:inherit;font-size:12px;line-height:1.5;
  color:var(--g-texto);background-color:var(--g-sup);background-clip:padding-box;border:1px solid var(--g-borda);border-radius:.25rem;
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
textarea{height:auto;min-height:80px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--g-foco-borda);outline:0;box-shadow:0 0 0 .2rem var(--g-foco)}
input:disabled,select:disabled,textarea:disabled,input[readonly]{background-color:var(--g-linha);opacity:1}
input::placeholder,textarea::placeholder{color:var(--g-mut);opacity:.8}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--g-destaque)}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--g-perigo)}
input[aria-invalid="true"]:focus,select[aria-invalid="true"]:focus{box-shadow:0 0 0 .2rem rgba(217,37,80,.25)}
.erro-campo{color:var(--g-perigo);font-size:80%;margin-top:.25rem}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Botões: .btn sozinho = btn-primary; .btn-sec = btn-outline-secondary; .btn-perigo = btn-danger; .btn-ghost = btn-link. */
.btn{text-decoration:none;white-space:nowrap}
.btn:not(.btn-sec,.btn-perigo,.btn-ghost,.btn-link,.btn-icon,.p-0,.btn-primary){color:#fff;background-color:var(--g-primario);border-color:var(--g-primario)}
.btn:not(.btn-sec,.btn-perigo,.btn-ghost,.btn-link,.btn-icon,.p-0,.btn-primary):hover{color:#fff;background-color:var(--g-primario-hover);border-color:var(--g-primario-borda)}
.btn-sec{color:var(--g-secundario);background-color:transparent;border-color:var(--g-secundario)}
.btn-sec:hover{color:#fff;background-color:var(--g-secundario);border-color:var(--g-secundario)}
[data-theme="dark"] .btn-sec{color:#b5bec7;border-color:#69737d}
[data-theme="dark"] .btn-sec:hover{color:#fff;background-color:#5a636d}
.btn-perigo{color:#fff;background-color:var(--g-perigo);border-color:var(--g-perigo)}
.btn-perigo:hover{color:#fff;background-color:#b81f44;border-color:#ad1d40}
.btn-ghost{color:var(--g-primario-texto);background-color:transparent;border-color:transparent}
.btn-ghost:hover{color:var(--g-primario-hover);text-decoration:underline}
.btn:disabled,.btn.disabled{opacity:.65;cursor:not-allowed}
label.btn{display:inline-block;font-size:.8rem}

/* Tabelas (equivalente a .table .table-hover do tema; corpo em 12px como as grids do guara). */
.tabela-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;color:inherit}
th,td{padding:.55rem;vertical-align:middle;border-top:1px solid var(--g-linha);text-align:left}
thead th{border-top:0;border-bottom:2px solid var(--g-linha);font-weight:700;color:var(--g-titulo);white-space:nowrap}
tbody{font-size:12px}
tbody tr:hover{background-color:var(--g-realce)}
tr.clicavel{cursor:pointer}
td.linha{display:table-cell;text-align:right;white-space:nowrap}
td.linha > * + *{margin-left:.35rem}
tr.inativo td{opacity:.55}

/* Badges (cores do tema). */
.badge{border:0}
.badge-ok{color:#fff;background-color:var(--g-sucesso)}
.badge-warn{color:#212529;background-color:var(--g-aviso)}
.badge-crit{color:#fff;background-color:var(--g-perigo)}
.badge-mut{color:var(--g-texto);background-color:var(--g-linha)}
/* Prioridade LEGAL de atendimento (pacientes/prioridades.js) — distinta da bandeira de gravidade clínica. */
.badge-prio{color:#fff;background-color:#7570B3;margin-left:4px;white-space:nowrap}
.badge-prio-especial{background-color:#0C223F;box-shadow:0 0 0 2px #7570B3 inset}
/* Verificação de contato (selo embaixo do campo, como a validade do CPF) */
.verif-contato{margin-top:3px}
.verif-contato .linha{gap:6px;flex-wrap:wrap;align-items:center}
.verif-linha{margin-top:3px}
.selo-verif{display:inline-block;padding:1px 7px;border-radius:10px;font-weight:600;font-size:.72rem}
.selo-verif-ok{color:#fff;background:var(--g-sucesso)}
.selo-verif-verbal{color:#fff;background:var(--g-info)}
.selo-verif-nao{color:var(--g-texto);background:var(--g-linha)}
.selo-verif-recusa{color:#fff;background:var(--g-perigo)}
.verif-pendente{border-left:3px solid #7570B3;padding-left:8px}
input.verif-codigo{width:7.5em;letter-spacing:.2em;text-align:center;padding:2px 6px}
.prio-opcoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 16px;margin-top:6px}
.prio-opcao{display:flex;gap:6px;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:400;margin:0;cursor:pointer}
.prio-opcao input{width:auto;margin-top:3px}

/* Toast no estilo toastr do guara (canto inferior direito). */
#toast{position:fixed;right:12px;bottom:12px;z-index:1080;width:320px;max-width:calc(100vw - 24px);padding:.75rem .9rem .75rem 50px;
  border-radius:.25rem;color:#fff;background:var(--g-sucesso);box-shadow:0 .76875rem 2.4875rem rgba(52,58,64,.3),0 .25rem .53125rem rgba(0,0,0,.1);
  opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s;font-size:.85rem}
#toast::before{font-family:'Font Awesome 5 Free';font-weight:900;content:"\f058";position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:1.25rem}
#toast.on{opacity:.97;transform:none}
#toast.erro{background:var(--g-perigo)}
#toast.erro::before{content:"\f06a"}
#toast.aviso{background:var(--g-aviso);color:#212529}
#toast.aviso::before{content:"\f071"}

/* Modal no estilo .modal-dialog/.modal-content do tema; h2 = modal-header, .modal-acoes = modal-footer. */
#modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-start;justify-content:center;z-index:1050;padding:1.75rem .5rem;overflow-y:auto}
#modal-bg[hidden]{display:none}
#modal-box{position:relative;background:var(--g-sup);color:var(--g-texto);border:1px solid rgba(0,0,0,.2);border-radius:.3rem;padding:1rem;
  width:min(640px,100%);max-height:calc(100vh - 3.5rem);overflow:auto;animation:modal-entra .2s ease-out;
  box-shadow:0 .76875rem 2.4875rem rgba(52,58,64,.3),0 1.3375rem 1.70625rem rgba(52,58,64,.3),0 .55rem .53125rem rgba(0,0,0,.05),0 .225rem .4375rem rgba(52,58,64,.3)}
@keyframes modal-entra{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
#modal-box > h2:first-child{margin:-1rem -1rem 1rem;padding:1rem;border-bottom:1px solid var(--g-linha);font-size:1.1rem;font-weight:500}
.modal-acoes{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin:1rem -1rem -1rem;padding:.75rem 1rem;border-top:1px solid var(--g-linha);background:var(--g-sup2);border-radius:0 0 .3rem .3rem}
#modal-box form > .modal-acoes:last-child{margin-bottom:-1rem}

/* Tela de acesso (login e troca de senha) no layout do gua_login.html. */
.tela-acesso{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,var(--marca-azul) 0,#2c2f66 60%,var(--marca-roxo) 100%)}
.tela-acesso .app-login-box{width:100%;max-width:500px}
.tela-acesso .modal-dialog{max-width:500px;margin:0 auto}
.tela-acesso .modal-body{padding:1.5rem 1.5rem .5rem}
.tela-acesso .modal-footer{background:var(--g-sup2)}
.tela-acesso h4 span{font-size:.95rem}
.logo-acesso{display:block;width:229px;max-width:80%;min-width:110px;height:auto;margin:.5rem auto 0}
.tela-acesso .logo-acesso{content:var(--g-logo)}
.tela-acesso .alert{font-size:.85rem;padding:.6rem .9rem}

/* ── Utilidades e blocos específicos ────────────────────────────────── */
.sp{width:22px;height:22px;border:3px solid var(--g-linha);border-top-color:var(--g-primario);border-radius:50%;animation:gira .8s linear infinite;display:inline-block}
@keyframes gira{to{transform:rotate(360deg)}}
.carregando{display:flex;justify-content:center;align-items:center;gap:10px;padding:2.5rem;color:var(--g-mut)}
.contador{font-size:1.6rem;font-weight:700;line-height:1.2;color:var(--g-titulo)}
.crit.contador,.contador.crit{color:var(--g-perigo)}
.filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:0 1rem;align-items:end;margin-bottom:1rem}
.filtros .campo{margin-bottom:.75rem}
.paginacao{display:flex;align-items:center;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;margin-top:1rem;color:var(--g-mut);font-size:.8rem}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--g-realce);color:var(--g-primario-texto);font-weight:700;font-size:.85rem;flex:none}
.avatar-g{width:72px;height:72px;font-size:1.75rem}
img.pac-foto{object-fit:cover;padding:0;background:var(--g-sup2);box-shadow:var(--g-sombra)}
pre.detalhe{white-space:pre-wrap;word-break:break-word;font-size:11px;background:var(--g-sup2);color:var(--g-texto);border:1px solid var(--g-linha);border-radius:.25rem;padding:.5rem .75rem;max-height:240px;overflow:auto;margin-top:.4rem}
h3.secao{margin:1.5rem 0 .9rem;padding-bottom:.3rem;border-bottom:1px solid var(--g-borda);color:var(--g-legenda);font-size:.9rem;font-weight:600}
.borda-ok{border-color:var(--g-sucesso)!important}
.borda-aviso{border-color:var(--g-aviso)!important}
.card.ok{border-left:4px solid var(--g-sucesso)}
.card.warn{border-left:4px solid var(--g-aviso)}

/* Configurações: cartões de canal clicáveis. */
.cartao-canal{cursor:pointer;user-select:none;border:1px solid var(--g-linha);border-radius:.25rem;padding:1rem;background:var(--g-sup);transition:.15s}
.cartao-canal:hover{border-color:var(--g-primario);background:var(--g-realce)}
.cartao-canal.ativo{border-color:var(--g-sucesso);box-shadow:inset 0 0 0 1px var(--g-sucesso)}
.cartao-canal h3{text-transform:none!important;opacity:1!important;font-size:.95rem!important;margin:0}
.cartao-canal .estado{font-weight:700;font-size:.75rem;color:var(--g-mut)}
.cartao-canal.ativo .estado{color:var(--g-sucesso)}
.cartao-canal.ocupado{opacity:.6;pointer-events:none}

/* Pacientes: cabeçalho da ficha dentro do app-page-title, abas, deduplicação e importação. */
.pac-cab{display:flex;gap:1.25rem;align-items:center;text-align:left}
.app-page-title .badge{font-size:.68rem}
.pac-cab h1{font-size:1.25rem;font-weight:400;margin:0 0 .15rem;color:var(--g-titulo)}
.pac-foto-bloco{display:flex;gap:1rem;align-items:center;margin-bottom:.5rem}
.abas{display:flex;flex-wrap:wrap;gap:0 .25rem;background:var(--g-sup);border-radius:.25rem;box-shadow:var(--g-sombra);padding:0 .75rem;margin-bottom:1.25rem}
[data-theme="dark"] .abas{border:1px solid var(--g-linha)}
.aba{display:inline-flex;align-items:center;gap:.3rem;padding:.85rem .75rem .75rem;color:var(--g-mut);font-weight:700;font-size:.8rem;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.aba:hover{color:var(--g-primario-texto);text-decoration:none}
.aba.ativa{color:var(--g-primario-texto);border-bottom-color:var(--g-primario)}
.aba .txs{font-weight:400}
.cam-video{width:100%;border-radius:.25rem;background:#000;transform:scaleX(-1)}
.dedup-par{margin-bottom:.75rem}
.dedup-lados{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:.75rem;margin-top:.75rem}
.dedup-lado{border:1px solid var(--g-linha);border-radius:.25rem;padding:.75rem;background:var(--g-sup2)}
.merge-linha{display:grid;grid-template-columns:140px 1fr 1fr;gap:.5rem;align-items:stretch;margin-bottom:.4rem;font-size:12px}
.merge-rotulo{color:var(--g-mut);align-self:center;font-weight:500}
.merge-valor{border:1px solid var(--g-linha);border-radius:.25rem;padding:.4rem .6rem;word-break:break-word;background:var(--g-sup)}
.merge-valor.clicavel{cursor:pointer}
.merge-valor.clicavel:hover{border-color:var(--g-primario);background:var(--g-realce)}
.merge-valor.escolhido{border-color:var(--g-sucesso);box-shadow:inset 0 0 0 1px var(--g-sucesso)}
.zona-arquivo{display:block;border:2px dashed var(--g-borda);border-radius:.25rem;padding:1.5rem;text-align:center;cursor:pointer;font-size:.9rem;font-weight:400;color:var(--g-texto);transition:.15s}
.zona-arquivo:hover,.zona-arquivo.arrastando{border-color:var(--g-primario);background:var(--g-realce)}
.barra{height:.6rem;border-radius:.25rem;background:var(--g-linha);overflow:hidden;margin:.5rem 0 .25rem}
.barra-cheia{height:100%;width:0;background:var(--g-primario);transition:width .2s}

/* Agenda: indicadores, grade de reabilitação, semana, cartões do dia, horários, assistente. */
.ag-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr));gap:.75rem;margin-bottom:1.25rem}
.card.ag-kpi{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem 1rem;margin:0!important;border-left:4px solid var(--g-linha)}
.card.ag-kpi.ok{border-left-color:var(--g-sucesso)}.card.ag-kpi.warn{border-left-color:var(--g-aviso)}.card.ag-kpi.crit{border-left-color:var(--g-perigo)}
a.card.ag-kpi:hover{text-decoration:none}
.ag-kpi-num{font-size:1.5rem;font-weight:700;line-height:1.1;color:var(--g-titulo)}
.ag-kpi-rot{font-size:.75rem;color:var(--g-mut);text-transform:uppercase;letter-spacing:.02em}
.ag-filtros{margin-bottom:1.25rem}
.ag-filtros .campo{margin-bottom:0}
.ag-sel-unidade{width:auto!important;min-width:160px}
.ag-nav{margin-bottom:.75rem}
.ag-nav input[type=date]{width:auto!important}
.ag-intervalo{padding:0 .5rem}
.ag-dia-titulo{margin:.25rem 0 .75rem}
.ag-legenda{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.6rem}
.card.ag-legenda{display:flex;flex-direction:row;margin-bottom:1.25rem}
.card.ag-borda-ok{border-left:4px solid var(--g-sucesso)}
.card.ag-borda-aviso{border-left:4px solid var(--g-aviso)}
/* Status */
.badge.st-agendado{background:var(--g-linha);color:var(--g-texto)}
.badge.st-confirmado,.badge.st-confirmado_paciente,.badge.st-confirmado_equipe{background:var(--g-sucesso);color:#fff}
.badge.st-aguardando_confirmacao{background:var(--g-aviso);color:#212529}
.badge.st-chegou,.badge.st-em_atendimento{background:var(--g-info);color:#fff}
.ag-cartao.st-borda-confirmado_paciente,.ag-cartao.st-borda-confirmado_equipe{border-left-color:var(--g-sucesso)}.ag-cartao.st-borda-aguardando_confirmacao{border-left-color:var(--g-aviso)}
.ag-cartao.st-borda-chegou,.ag-cartao.st-borda-em_atendimento{border-left-color:var(--g-info)}
.badge.st-realizado{background:var(--g-primario);color:#fff}
.badge.st-cancelado{background:var(--g-linha);color:var(--g-mut);text-decoration:line-through}
.badge.st-faltou{background:var(--g-aviso);color:#212529}
.badge.st-reagendado{background:var(--g-info);color:#fff}
.badge.st-bloqueado_retorno{background:var(--g-perigo);color:#fff}
/* Cartões do dia e das confirmações */
.ag-cartao{display:flex;gap:1rem;align-items:center;padding:.65rem .75rem;border:1px solid var(--g-linha);border-left:4px solid var(--g-borda);border-radius:.25rem;margin-bottom:.5rem;background:var(--g-sup);cursor:pointer}
.ag-cartao:hover,.ag-cartao:focus-visible{background:var(--g-realce);outline:0}
.ag-cartao.st-borda-confirmado{border-left-color:var(--g-sucesso)}.ag-cartao.st-borda-realizado{border-left-color:var(--g-primario)}
.ag-cartao.st-borda-cancelado,.ag-cartao.st-borda-reagendado{opacity:.6}.ag-cartao.st-borda-faltou{border-left-color:var(--g-aviso)}
.ag-cartao.ag-urg-alta{border-left-color:var(--g-perigo)}.ag-cartao.ag-urg-media{border-left-color:var(--g-aviso)}
.ag-cartao-hora{display:flex;flex-direction:column;align-items:center;min-width:64px;text-align:center}
.ag-cartao-hora b{font-size:1.05rem;color:var(--g-titulo)}
.ag-cartao-corpo{flex:1;min-width:0}
.ag-cartao-acoes{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.ag-tipo-ic{font-size:1.1rem;line-height:1}
.ag-reab-nota{color:var(--g-destaque-texto)}
/* Grade de reabilitação e semana */
table.ag-grade,table.ag-semana{table-layout:fixed;min-width:720px}
.ag-grade th,.ag-semana th{text-align:center;font-size:12px}
.ag-col-hora{width:58px;color:var(--g-mut);font-weight:600;font-size:12px}
.ag-grade td,.ag-semana td{vertical-align:top;border:1px solid var(--g-linha);padding:.3rem;position:relative}
.ag-grade tbody{font-size:11px}
td.ag-cel{cursor:pointer;height:38px}
td.ag-cel:hover{background:var(--g-realce)}
td.ag-cel.cheia{background:rgba(247,185,36,.18)}
td.ag-cel.lotada{background:rgba(217,37,80,.15)}
th.ag-hoje{color:var(--g-primario-texto);box-shadow:inset 0 -3px 0 var(--g-destaque)}
td.ag-hoje{background-image:linear-gradient(rgba(117,112,179,.06),rgba(117,112,179,.06))}
.ag-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;margin:1px;padding:1px 2px 1px 5px;border-radius:999px;background:var(--g-sup2);border:1px solid var(--g-linha);font-size:11px;white-space:nowrap}
.ag-chip a{color:var(--g-texto);text-decoration:none;overflow:hidden;text-overflow:ellipsis}
.ag-chip a:hover{color:var(--g-primario-texto)}
.ag-chip-imp{border:0;background:none;padding:0 2px;cursor:pointer;font-size:10px;opacity:.7}
.ag-chip-imp:hover{opacity:1}
.ag-cont{position:absolute;right:3px;bottom:2px;font-size:10px;color:var(--g-mut);font-weight:600}
.ag-bandeira{font-size:.8em}
td.ag-cel-sem{height:44px}
td.ag-livre{cursor:pointer}
td.ag-livre:hover{background:var(--g-realce)}
.ag-mais{position:absolute;right:4px;top:2px;color:var(--g-destaque);font-weight:700;opacity:0}
td.ag-livre:hover .ag-mais{opacity:1}
.ag-reab-fundo{display:block;font-size:10px;color:var(--g-mut)}
.ag-bloco{display:block;width:100%;text-align:left;margin:1px 0;padding:2px 4px;font-size:11px;border:1px solid var(--g-linha);border-left:3px solid var(--g-primario);border-radius:.2rem;background:var(--g-sup);color:var(--g-texto);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-bloco:hover{background:var(--g-realce)}
.ag-bloco.ag-com-reab{box-shadow:inset 0 0 0 1px var(--g-destaque)}
tr.inativo-suave td{opacity:.7}
.ag-busca-pequena{max-width:260px}
/* Botões de alternância, horários e assistente */
.ag-opcoes{display:inline-flex;flex-wrap:wrap;gap:.35rem}
.ag-opcao{font-size:12px;padding:.35rem .75rem;border:1px solid var(--g-borda);border-radius:.25rem;background:var(--g-sup);color:var(--g-texto);cursor:pointer}
.ag-opcao:hover{border-color:var(--g-destaque)}
.ag-opcao.ativa{background:var(--g-primario);border-color:var(--g-primario);color:#fff}
.ag-opcao:disabled{opacity:.5;cursor:not-allowed}
.page-title-actions .ag-opcoes{margin-right:.25rem}
.ag-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}
.ag-slot{display:inline-flex;flex-direction:column;align-items:center;padding:.3rem .25rem;font-size:12px;font-weight:600;border:1px solid var(--g-borda);border-radius:.25rem;background:var(--g-sup);color:var(--g-texto);cursor:pointer}
.ag-legenda .ag-slot{display:inline-block;padding:.1rem .5rem;cursor:default;font-weight:400}
.ag-slot .txs{font-weight:400;color:var(--g-mut)}
.ag-slot.livre{border-color:var(--g-sucesso)}
.ag-slot.concorrido{border-color:var(--g-aviso);background:rgba(247,185,36,.12)}
.ag-slot.lotado{border-color:var(--g-perigo);background:rgba(217,37,80,.1);color:var(--g-mut);cursor:not-allowed}
.ag-slot.habitual{box-shadow:inset 0 0 0 2px var(--g-destaque)}
.ag-slot.subst{background:var(--g-realce)}
.ag-slot.sobrep,.ag-slot.conflito{border-style:dashed;border-color:var(--g-perigo)}
.ag-slot.selecionado{background:var(--g-primario);border-color:var(--g-primario);color:#fff}
.ag-slot.selecionado .txs{color:#fff}
#modal-box:has(.ag-largo){width:min(860px,100%)}
.ag-passos{display:flex;gap:.25rem;list-style:none;padding:0;margin:-.25rem 0 1rem;font-size:12px}
.ag-passos li{flex:1;padding:.35rem .5rem;border-bottom:3px solid var(--g-linha);color:var(--g-mut)}
.ag-passos li.ativo{border-color:var(--g-primario);color:var(--g-titulo);font-weight:700}
.ag-passos li.feito{border-color:var(--g-destaque)}
.ag-tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:.4rem}
.ag-tipo{display:flex;gap:.5rem;align-items:center;text-align:left;padding:.45rem .6rem;border:1px solid var(--g-linha);border-left:4px solid var(--g-borda);border-radius:.25rem;background:var(--g-sup);color:var(--g-texto);cursor:pointer;font-size:12px}
.ag-tipo:hover{background:var(--g-realce)}
.ag-tipo.ativa{box-shadow:inset 0 0 0 2px var(--g-primario);background:var(--g-realce)}
.ag-pac-res{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow:auto;margin-top:.35rem}
.ag-pac-item{text-align:left;padding:.4rem .6rem;border:1px solid var(--g-linha);border-radius:.25rem;background:var(--g-sup);color:var(--g-texto);cursor:pointer;font-size:12px}
.ag-pac-item:hover{background:var(--g-realce)}
.ag-pac-fixo{padding:.4rem .6rem;background:var(--g-realce);border-radius:.25rem}
.ag-chip-data{font-size:12px;padding:.25rem .55rem;border:1px solid var(--g-destaque);border-radius:999px;background:var(--g-sup);color:var(--g-destaque-texto);cursor:pointer}
.ag-chip-data.ativa{background:var(--g-destaque);color:#fff}
.ag-data-manual,.ag-sel-hora{width:auto!important}
.ag-faixa{padding:.6rem .8rem;margin:.6rem 0;border-radius:.25rem;background:var(--g-realce);border-left:4px solid var(--g-destaque);font-size:12px}
.ag-faixa.aviso{background:rgba(247,185,36,.15);border-left-color:var(--g-aviso)}
.ag-faixa.perigo{background:rgba(217,37,80,.1);border-left-color:var(--g-perigo)}
.ag-faixa ul{margin:.3rem 0;padding-left:1.2rem}
.ag-resumo-tipo{margin-bottom:.5rem}
dl.ag-resumo{display:grid;grid-template-columns:110px 1fr;gap:.25rem .75rem;font-size:12px;margin:0}
dl.ag-resumo dt{color:var(--g-mut);font-weight:500}
dl.ag-resumo dd{margin:0}
.ag-orient{margin:0;padding-left:1.2rem;font-size:12px}
.ag-msg{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:12px;line-height:1.45;background:var(--g-sup2);border:1px solid var(--g-linha);border-radius:.25rem;padding:.6rem .8rem;max-height:220px;overflow:auto;color:var(--g-texto)}
.ag-det-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:.5rem;margin-bottom:.5rem}
.ag-det-item{display:flex;flex-direction:column;gap:2px;padding:.5rem .6rem;border:1px solid var(--g-linha);border-radius:.25rem;background:var(--g-sup2)}
.ag-hist{padding-left:1.1rem;margin:0}
.ag-tipo-card{border:1px solid var(--g-linha);border-left:4px solid var(--g-borda);border-radius:.25rem;padding:.75rem;background:var(--g-sup)}
.ag-retorno{border:1px solid var(--g-linha);border-radius:.25rem;padding:.6rem .75rem;margin-bottom:.5rem}
.ag-retorno.marcado{border-color:var(--g-destaque);background:var(--g-realce)}
.ag-retorno-cab{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:12px;margin:0;cursor:pointer}
.ag-retorno-corpo{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}
@media (max-width:600px){
  .ag-cartao{flex-wrap:wrap}
  .ag-cartao-acoes{width:100%;justify-content:flex-start}
  .ag-slots{grid-template-columns:repeat(3,1fr)}
  .page-title-actions .ag-opcoes{width:100%;justify-content:center}
  dl.ag-resumo{grid-template-columns:90px 1fr}
}

@media (max-width:600px){
  .abas{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .merge-linha{grid-template-columns:1fr}
  .pac-cab,.pac-foto-bloco{flex-wrap:wrap}
  .pac-cab{justify-content:center;text-align:center}
}
@media print{
  .app-header,.app-sidebar,.app-wrapper-footer,#toast,#modal-bg,.nao-imprimir,.page-title-actions{display:none!important}
  body,.app-theme-white.app-container{background:#fff;color:#000}
  .fixed-header .app-main{padding-top:0}
  .fixed-sidebar .app-main .app-main__outer,.closed-sidebar.fixed-sidebar .app-main__outer{padding-left:0}
  .card{box-shadow:none;border:1px solid #ccc}
}

/* ── Recepção e fila de espera (requisito 05) ───────────────────────── */
#faixa-ajuda{margin:-.5rem 0 1rem}
.rc-ajuda{border:2px solid var(--g-perigo);border-radius:.25rem;background:rgba(217,37,80,.08);margin-bottom:1rem;animation:rc-pulsa 2s ease-in-out infinite}
.rc-ajuda-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .8rem}
.rc-ajuda-item + .rc-ajuda-item{border-top:1px solid rgba(217,37,80,.25)}
.rc-ajuda-ic{font-size:1.4rem}
.rc-ajuda-txt{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--g-titulo)}
.rc-ajuda .btn.rc-ajuda-btn{background:var(--g-perigo);border-color:var(--g-perigo)}
.rc-ajuda-mais{padding:0 .8rem .45rem;color:var(--g-perigo)}
/* Faixa de contato recusado pelo paciente (pacientes/alertas-contato.js): mesmo visual, cor de aviso, sem pulsar. */
#faixa-alertas-contato{margin:-.5rem 0 1rem}
.rc-ajuda.rc-alerta-contato{border-color:var(--g-aviso);background:rgba(247,185,36,.12);animation:none}
.rc-alerta-contato .rc-ajuda-item + .rc-ajuda-item{border-top-color:rgba(247,185,36,.4)}
.rc-alerta-contato .btn.rc-ajuda-btn{background:var(--g-aviso);border-color:var(--g-aviso);color:#212529}
.rc-alerta-contato .rc-ajuda-mais{color:var(--g-aviso-texto)}
@keyframes rc-pulsa{50%{box-shadow:0 0 0 4px rgba(217,37,80,.18)}}
.rc-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:1.25rem;align-items:start;margin-bottom:1.25rem}
/* Recepção em blocos empilhados (reunião de 30/10/2026, item 10): resumo → TRIAGEM em largura total → filas → o dia */
.rc-bloco-triagem{margin-bottom:1rem}
.rc-setores{display:flex;flex-wrap:wrap;gap:.35rem}
.rc-setor{border:1px solid var(--g-borda);background:var(--g-sup);color:var(--g-texto);border-radius:999px;padding:.25rem .7rem;font-size:.85rem;cursor:pointer}
.rc-setor.ativa{background:var(--g-primario);border-color:var(--g-primario);color:#fff}
.rc-local-fixo{white-space:nowrap}
.rc-topo{display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,2fr);gap:1rem;align-items:start}
.rc-topo > *{min-width:0}.rc-topo .card{margin:0}
.rc-topo #rc-res:not(:empty){max-height:240px;overflow:auto}
.rc-card-triagem .rc-item{padding:.35rem .4rem}
#rc-triagem .rc-card-triagem{max-height:260px;overflow:auto}
.rc-triagem-vazia{padding:.75rem 1rem}.rc-triagem-vazia p{margin:0}
.rc-bloco-triagem h3,.rc-baixo h3,#rc-filas h3{text-transform:uppercase;font-size:.82rem;font-weight:700;opacity:.8;margin:0 0 .5rem}
.rc-form{margin-top:1rem}
.rc-form > .card + .card,.rc-form > .card:not([hidden]) + div{margin-top:.75rem}
.rc-checkin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:start}
.rc-col{display:flex;flex-direction:column;gap:.75rem;min-width:0}.rc-col > .card{margin:0;padding:.8rem}
.rc-checkin-grid .rc-confirmar textarea{min-height:2.4rem}
.rc-filas{grid-template-columns:repeat(4,minmax(0,1fr))}
.rc-baixo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}
.rc-baixo > .card{margin:0}
.rc-kpi-link{text-decoration:none;color:inherit}
.ag-pac-item.desab{opacity:.6;cursor:not-allowed}
.rc-pend-cad{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
#modal-box:has(.rc-cad-modal){width:min(1100px,100%)}
.campo-oficial{background:var(--g-sup2)!important}
.btn.desab{opacity:.55}
.rc-barras{display:flex;flex-direction:column;gap:3px}
.rc-barra{display:grid;grid-template-columns:7.5rem 1fr 2.5rem;gap:.4rem;align-items:center}
.rc-barra-trilho{background:var(--g-sup2);border-radius:3px;height:12px;overflow:hidden}
.rc-barra-v{display:block;height:100%;background:var(--g-destaque)}
@media (max-width:1399.98px){.rc-filas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1199.98px){.rc-checkin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-checkin-grid > .rc-col:last-child{grid-column:1 / -1}}
@media (max-width:991.98px){.rc-topo,.rc-baixo,.rc-checkin-grid{grid-template-columns:1fr}.rc-checkin-grid > .rc-col:last-child{grid-column:auto}}
.rc-esq > .card + .card,.rc-esq > div > .card + .card,.rc-esq > .card + div > .card:first-child{margin-top:1rem}
.rc-esq h3,.rc-dir h3,#rc-agendados h3{text-transform:uppercase;font-size:.82rem;font-weight:700;opacity:.8;margin:0 0 .6rem}
.rc-busca-linha{flex-wrap:nowrap}
.rc-busca-linha input{flex:1}
.rc-pac-cab{display:flex;gap:.75rem;align-items:flex-start}
.rc-pac-info{flex:1;min-width:0}
.rc-pac-nome{font-size:1rem;color:var(--g-titulo)}
.rc-pac-ags{margin-top:.6rem;padding-top:.5rem;border-top:1px dashed var(--g-linha)}
.rc-ag-opcao{display:flex;gap:.4rem;align-items:center;font-weight:400;font-size:12px;margin:.25rem 0;cursor:pointer}
.rc-ag-opcao.desab{opacity:.55;cursor:default}
.rc-destinos{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.rc-destino{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .25rem;border:1px solid var(--g-borda);border-top:3px solid var(--cor);border-radius:.25rem;background:var(--g-sup);color:var(--g-texto);cursor:pointer;font-size:12px;font-weight:600}
.rc-destino:hover{background:var(--g-realce)}
.rc-destino.ativa{background:var(--g-primario);border-color:var(--g-primario);border-top-color:var(--cor);color:#fff}
.rc-destino-ic{font-size:1.3rem;line-height:1}
.rc-resumo{font-size:12px;padding:.5rem .6rem;margin:.25rem 0 .75rem;background:var(--g-sup2);border:1px solid var(--g-linha);border-radius:.25rem}
/* Check-in único: pendências do paciente e a sessão de ginásio junto */
.rc-pendencias:empty{display:none}
.rc-pendencias{border-left:4px solid var(--g-aviso);margin:.6rem 0}
.rc-pend-lista{list-style:none;padding:0;margin:.25rem 0}.rc-pend-lista li{margin:.3rem 0}.rc-pend-lista label{display:flex;gap:.4rem;align-items:flex-start;font-weight:400;cursor:pointer}
.rc-ginasio-junto{margin-top:.6rem;padding:.5rem .6rem;border:1px dashed var(--g-linha);border-radius:.25rem}
.rc-btn-confirmar{flex:1;min-height:2.6rem;font-weight:700;white-space:normal}
.rc-dica{border-left:4px solid var(--g-destaque)}
.rc-filas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.rc-dir > #rc-triagem:empty + .rc-filas{margin-top:0}
.card.rc-fila{border-top:3px solid var(--g-linha);margin:0!important;padding:1rem}
.rc-lista{list-style:none;margin:0;padding:0}
.rc-item{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem .4rem;border-top:1px solid var(--g-linha);border-left:3px solid transparent}
.rc-lista .rc-item:first-child{border-top:0}
.rc-item.rc-g-verde{border-left-color:#05D0A0}.rc-item.rc-g-amarelo{border-left-color:#F5C842}
.rc-item.rc-g-vermelho{border-left-color:#EF4F6A}.rc-item.rc-g-preto{border-left-color:#7a5bc4}
/* Senha do dia (painel de chamada da TV). */
.rc-senha{flex:none;display:inline-block;margin-right:6px;padding:0 6px;border-radius:6px;background:#0C223F;color:#fff;font-weight:800;font-size:12px;letter-spacing:.05em;font-variant-numeric:tabular-nums}
.rc-senha-pref{background:#7570B3}
.rc-pref{flex:none;display:inline-block;margin-right:6px;padding:0 5px;border-radius:6px;border:1px solid #7570B3;color:#5f5aa3;font-weight:800;font-size:10px;letter-spacing:.06em}
.rc-local-chamada{max-width:160px;font-size:12px;padding:2px 4px;margin-right:4px}
.rc-local-chamada.vazio{border-color:var(--g-aviso)}
.rc-locais-escolha{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.rc-senha-confirmacao{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0;padding:10px 14px;border-radius:10px;background:#0C223F;color:#fff;font-size:1.05rem}
.rc-senha-confirmacao b{font-size:2rem;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.rc-senha-confirmacao .txs{flex-basis:100%;opacity:.85}
.rc-meu-local{display:inline-flex;align-items:center;gap:6px;margin-right:8px}
.rc-meu-local select{max-width:220px}
.rc-meu-local.vazio select{border-color:var(--g-aviso)}
.rc-pos{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--g-realce);color:var(--g-primario-texto);font-weight:700;font-size:11px}
.rc-item-corpo{flex:1;min-width:0}
.rc-item-acoes{display:flex;flex-wrap:wrap;gap:.3rem;justify-content:flex-end;align-items:center}
.rc-nome{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--g-titulo);cursor:pointer;text-align:left}
.rc-nome:hover{color:var(--g-primario-texto);text-decoration:underline}
.rc-nome-g{font-size:1rem}
.rc-obs{background:rgba(247,185,36,.15);border-radius:.2rem;padding:.1rem .35rem;margin-top:.15rem;display:inline-block}
.rc-chamado{color:var(--g-destaque-texto);font-weight:600}
.rc-vazio{padding:1rem .5rem}
.rc-grav{font-size:.8rem}
.rc-card-triagem{border-left:4px solid var(--g-aviso)}
.rc-card-triagem .rc-item{border-top:1px solid var(--g-linha)}
ul.rc-atendidos{list-style:none;margin:0;padding:0}
ul.rc-atendidos li{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.35rem 0;border-top:1px solid var(--g-linha);font-size:12px}
.rc-encerrados{margin-top:.6rem}
.rc-encerrados summary{cursor:pointer;color:var(--g-mut)}
.rc-agendados .ag-cartao{cursor:default}
.rc-nao-chegaram{border-left:4px solid var(--warning,#f7b924)}
.rc-nc-lista{display:flex;flex-direction:column;gap:.4rem}
.rc-nc{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.4rem .5rem;border-radius:.3rem;background:rgba(247,185,36,.08)}
.rc-nc.st-chegada-vaga_livre{background:rgba(217,37,80,.07)}
.rc-nc.st-chegada-a_caminho{background:rgba(58,196,125,.08)}
.rc-nc-hora{display:flex;flex-direction:column;min-width:3.5rem}
.rc-nc-corpo{flex:1;min-width:12rem}
.rc-nc-selo{background:#fff3cd;color:#7a5b00}
.rc-nc-selo.st-chegada-vaga_livre,.st-chegada-vaga_livre .rc-nc-selo{background:#f8d7da;color:#842029}
.rc-nc-selo.st-chegada-a_caminho,.st-chegada-a_caminho .rc-nc-selo{background:#d1e7dd;color:#0f5132}
.badge.rc-st-pendente_triagem{background:var(--g-aviso);color:#212529}
.badge.rc-st-em_triagem{background:var(--g-info);color:#fff}
.badge.rc-st-aguardando{background:var(--g-linha);color:var(--g-texto)}
.badge.rc-st-chamado{background:var(--g-destaque);color:#fff}
.badge.rc-st-atendido{background:var(--g-sucesso);color:#fff}
.badge.rc-st-desistiu,.badge.rc-st-cancelado{background:var(--g-linha);color:var(--g-mut);text-decoration:line-through}
.rc-tempos{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:12px;margin-bottom:.35rem}
/* Fila de atendimento (profissionais) */
.card.rc-fila-barra{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.75rem 1rem;margin-bottom:1rem}
.rc-check{display:flex;gap:.4rem;align-items:center;margin:0;font-size:12px;cursor:pointer}
.rc-fila-prof{display:flex;flex-direction:column;gap:.6rem}
.card.rc-prof-card{display:flex;flex-direction:row;text-align:left;gap:1rem;align-items:center;margin:0!important;padding:.85rem 1rem;border-left:5px solid var(--cor)}
.card.rc-prof-card.rc-g-vermelho{box-shadow:inset 0 0 0 2px rgba(239,79,106,.6)}
.card.rc-prof-card.rc-g-preto{box-shadow:inset 0 0 0 2px rgba(122,91,196,.7)}
.card.rc-prof-card.rc-em-atendimento{background:var(--g-realce)}
.rc-prof-ic{font-size:1.8rem;line-height:1}
.rc-prof-acoes{max-width:46%}
.atalho-fila:empty{display:none}
.atalho-fila{margin-bottom:1.25rem}
.card.rc-atalho{border-left:4px solid var(--g-destaque)}
@media (max-width:1199.98px){.rc-layout{grid-template-columns:330px minmax(0,1fr)}}
@media (max-width:991.98px){
  .rc-layout{grid-template-columns:1fr}
  .rc-filas{grid-template-columns:1fr}
}
@media (max-width:600px){
  .rc-destinos{grid-template-columns:repeat(2,1fr)}
  .card.rc-prof-card{flex-wrap:wrap}
  .rc-prof-acoes{max-width:none;width:100%;justify-content:flex-start}
  .rc-item{flex-wrap:wrap}
  .rc-item-acoes{width:100%;justify-content:flex-start;padding-left:28px}
  .rc-pac-cab{flex-wrap:wrap}
}
/* Nas filas em grade (2×2) as ações vão para baixo do nome, para o texto não ficar espremido. */
.rc-fila .rc-item,.rc-card-triagem .rc-item{flex-wrap:wrap}
.rc-fila .rc-item-corpo{flex:1 1 calc(100% - 30px)}
.rc-fila .rc-item-acoes{width:100%;justify-content:flex-start;padding-left:28px}
@media (min-width:1600px){.rc-fila .rc-item{flex-wrap:nowrap}.rc-fila .rc-item-corpo{flex:1}.rc-fila .rc-item-acoes{width:auto;padding-left:0}}

/* Seções do menu lateral recolhíveis (o título abre/fecha; a seção da tela atual abre sozinha). */
.vertical-nav-menu li.secao-oculta{display:none}
.app-sidebar__heading.secao-cab{padding:0;margin:0}
.secao-botao{display:flex;align-items:center;width:100%;background:none;border:0;padding:.75rem 0 .5rem;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}
.secao-botao:hover{color:var(--g-destaque)}
.secao-botao:focus-visible{outline:2px solid var(--g-destaque);outline-offset:2px;border-radius:4px}
.secao-seta{margin-left:auto;margin-right:.5rem;font-size:1.1rem;transition:transform .2s}
.secao-botao[aria-expanded="false"] .secao-seta{transform:rotate(-90deg)}
/* Menu recolhido só com ícones (sem passar o mouse): mostra todos os ícones, sem títulos. */
.closed-sidebar:not(.closed-sidebar-mobile) .app-sidebar:not(:hover) .vertical-nav-menu li.secao-oculta{display:block}
.closed-sidebar:not(.closed-sidebar-mobile) .app-sidebar:not(:hover) .secao-botao{text-indent:-999em;overflow:hidden;white-space:nowrap;height:2.25rem;padding:0}
.closed-sidebar:not(.closed-sidebar-mobile) .app-sidebar:not(:hover) .secao-seta{display:none}

/* Declaração de responsabilidade (confirmação verbal de contato). */
.aviso-declaracao{border-left:4px solid var(--g-destaque,#7570B3);background:rgba(117,112,179,.08);padding:.6rem .8rem;border-radius:4px;margin:.6rem 0}
.aviso-declaracao p{margin:.25rem 0}
.check-declaracao{display:flex;gap:.5rem;align-items:flex-start;font-weight:600;margin:.6rem 0}
.check-declaracao input{margin-top:.2rem}
.aviso-spam{margin-top:.35rem;padding:.35rem .6rem;border-radius:4px;background:rgba(255,193,7,.12);border-left:3px solid #f0ad00;font-size:.85em}

/* Usuários › Telas e Início */
.vis-grupo{border:1px solid var(--borda,#dee2e6);border-radius:.4rem;padding:.5rem .8rem;margin:0 0 .8rem}
.vis-grupo legend{font-size:.82rem;font-weight:700;text-transform:uppercase;padding:0 .3rem;width:auto}
.vis-item{display:flex;gap:.5rem;align-items:center;margin:.15rem 0;font-weight:400}
.vis-item.vis-filho{padding-left:1.4rem;font-size:.92em}
.vis-item .btn-xs{padding:0 .35rem;font-size:11px}

/* Exames de cada ida na Fila de atendimento (0068) */
.rc-exames-ida{display:flex;flex-wrap:wrap;gap:.3rem;margin:.15rem 0}
.rc-exame-ida{border:1px solid var(--g-linha);border-radius:.25rem;padding:0 .35rem}
.rc-exame-feito{opacity:.7}.rc-exame-nao_realizado{text-decoration:line-through;opacity:.6}

/* Exames da ida no check-in de exames (29/10/2026) */
.rc-exames-ida-form{margin-top:.75rem;padding:.6rem .75rem;border:1px solid var(--g-linha);border-radius:.3rem}
.rc-exames-grupo{border:0;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.rc-exames-grupo legend{font-weight:600;padding:0;margin-bottom:.15rem;width:100%}

/* Segundo fator de login (29/10/2026) */
.mfa-qr{display:flex;justify-content:center;margin:.5rem 0}
.mfa-qr svg{width:200px;height:200px;background:#fff;padding:6px;border-radius:.3rem}
.mfa-codigos{columns:2;font-size:1.05rem;padding-left:1.6em;margin:.5rem 0}
.mfa-codigos code{letter-spacing:.08em}
