/* HOVEXA Escala — CSS compartilhado. Visual aprovado no mockup (11/2026): moldura navy com degradê, barra da página Teal,
   painéis brancos com sombra sobre fundo #E9EEF0, Roboto 14 px, alertas no padrão Fluent/Atlassian, grade 24/20.
   Breakpoints: ≤575 celular · 576–767 · 768–1100 tablet · ≥1101 computador. */
/* Fonte Roboto servida pelo próprio sistema (sem Google Fonts, por LGPD). Arquivos: public/fonts/roboto (@fontsource/roboto 5.1.0, Apache 2.0). */
@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/roboto/roboto-latin-ext-400-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/roboto/roboto-latin-400-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/roboto/roboto-latin-ext-500-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/roboto/roboto-latin-500-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/roboto/roboto-latin-ext-700-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/roboto/roboto-latin-700-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--navy:#102C3A;--navy2:#16394B;--teal:#176B7A;--teal2:#1C7C8C;--cyan:#55C4C9;--primaria:#176B7A;--destaque:#55C4C9;--fundo:#E9EEF0;--texto:#1F2D35;--suave:#6C7C84;--borda:#D5DEE2;--linha:#EEF2F4;--erro:#C4321F;--ok:#1E7A55;--aviso:#B25E09;--raio:4px;--sombra:0 1px 3px rgba(16,44,58,.14),0 6px 16px rgba(16,44,58,.06)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:14px/20px Roboto,"Segoe UI",Arial,sans-serif;background:var(--fundo);color:var(--texto);padding-bottom:env(safe-area-inset-bottom);font-feature-settings:"tnum" 1}
a{color:var(--primaria)}
h1{font-size:22px;line-height:28px;font-weight:500;color:var(--navy);margin:0 0 16px}
h2{font-size:16px;line-height:22px;font-weight:500;color:var(--navy);margin:24px 0 8px}
small,.suave{color:var(--suave)}
code{font-family:ui-monospace,Consolas,monospace}

/* páginas de acesso (login, senha, cadastro): cartão central limpo, logo dentro do cartão */
body.acesso{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#EEF2F4 url("../img/hovexa-x.png") no-repeat right -140px bottom -160px/560px;background-blend-mode:normal}
body.acesso::before{content:"";position:fixed;inset:0;background:rgba(238,242,244,.94);z-index:-1}
/* cartão no formato do agendamento: faixa ciano em cima, marca HOVEXA | Escala, 400px (fundo da página continua o mesmo) */
.caixa-acesso{width:100%;max-width:400px}
main.estreita{width:100%;margin:0;background:#fff;border-top:4px solid var(--cyan);border-radius:4px;padding:32px 32px 28px;box-shadow:0 2px 4px rgba(16,44,58,.08),0 12px 32px rgba(16,44,58,.14)}
.marca-acesso{display:flex;align-items:center;gap:12px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--linha)}
.marca-acesso .logo-cartao{display:block;height:26px;width:auto;flex:none;margin:0}
.marca-acesso .sep{width:1px;height:28px;background:var(--borda);flex:none}
.marca-acesso .produto{line-height:1.2;min-width:0;color:var(--navy)}
.marca-acesso .produto b{display:block;font-size:15px;font-weight:700}
.marca-acesso .produto span{font-size:12px;color:var(--suave)}
main.estreita h1{font-size:20px;font-weight:500;margin:0 0 6px}
.senha-campo{position:relative}
.senha-campo input{padding-right:84px}
main.estreita .senha-campo .mostrar-senha{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:auto;min-height:32px;height:32px;margin:0;padding:0 10px;background:none;box-shadow:none;filter:none;color:var(--teal);font-size:13px;font-weight:500;border-radius:3px}
main.estreita .senha-campo .mostrar-senha:hover{background:var(--linha)}
.caps{margin:6px 0 0;font-size:12px;color:var(--aviso)}
main.estreita button.entrar:disabled{opacity:.75;cursor:wait}
.ajuda-acesso{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--linha);font-size:13px}
.aviso-acesso{margin:14px 0 0;font-size:12px;color:var(--suave);text-align:center}
.centro-acesso{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 16px}
/* barra de rodapé igual à do agendamento: Teal na largura toda, produto à esquerda e versão à direita */
.rodape-acesso{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 24px;font-size:12px;color:#C9ECEE;background:linear-gradient(180deg,var(--teal2) 0%,var(--teal) 100%);box-shadow:0 -1px 3px rgba(10,40,50,.18)}
.rodape-acesso b{color:#fff;font-weight:700}
@media (max-width:575px){.rodape-acesso{padding:10px 16px}}
@media (max-width:575px){main.estreita{padding:24px 20px}}
/* páginas de trabalho: largura toda, 24 de margem */
main.larga{padding:24px;min-width:0}

/* formulários */
label{display:block;margin:14px 0 4px;font-weight:600}
.cb{display:flex;gap:10px;align-items:center;margin:6px 0;padding:6px 0;min-height:44px;font-weight:400;cursor:pointer}
table.resp a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px}
.cb input{width:24px;height:24px;margin-top:2px;flex:none}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=search],select,textarea,input:not([type]){width:100%;min-height:44px;padding:8px 10px;font-size:16px;border:1px solid var(--borda);border-radius:var(--raio);background:#fff;color:var(--texto)}
textarea{min-height:96px}
.grade{display:grid;gap:0 16px;grid-template-columns:1fr}
@media (min-width:768px){.grade.g2{grid-template-columns:1fr 1fr}.grade.g3{grid-template-columns:repeat(3,1fr)}}
fieldset{border:1px solid var(--borda);border-radius:var(--raio);padding:8px 16px 16px;margin:16px 0;background:#fff}
legend{font-weight:700;color:var(--primaria);padding:0 6px}

/* botões: todos com a mesma altura (≥44 px, alvo de toque) */
button,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;font-size:16px;border:0;border-radius:var(--raio);background:var(--primaria);color:#fff;cursor:pointer;width:100%;margin-top:18px;text-align:center;text-decoration:none}
@media (min-width:576px){button.auto,.btn.auto{width:auto}}
button.sec,.btn.sec{background:#fff;color:var(--primaria);border:1px solid var(--primaria)}
button.perigo{background:var(--erro)}
.acoes{display:flex;gap:12px;flex-wrap:wrap}
.acoes>*{flex:1 1 160px}
.acoes.auto>*{flex:0 0 auto}

/* mensagens */
.erro{color:var(--erro);margin:8px 0}.ok{color:var(--ok);margin:8px 0}.aviso{color:var(--aviso);margin:8px 0}
.card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:16px;margin:12px 0}
.kpis{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:576px){.kpis{grid-template-columns:1fr 1fr}}
@media (min-width:1101px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi .n{font-size:1.8rem;font-weight:700;color:var(--primaria);line-height:1.1}
progress.barra{display:block;width:100%;height:10px;margin-top:8px;border:0;border-radius:5px;overflow:hidden;background:var(--linha);accent-color:var(--destaque);-webkit-appearance:none;appearance:none}
progress.barra::-webkit-progress-bar{background:var(--linha)}
progress.barra::-webkit-progress-value{background:var(--destaque);border-radius:5px}
progress.barra::-moz-progress-bar{background:var(--destaque);border-radius:5px}
progress.barra.cheia::-webkit-progress-value{background:var(--erro)}
progress.barra.cheia::-moz-progress-bar{background:var(--erro)}
.chip{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.85rem;background:var(--linha);margin:2px 4px 2px 0}
.chip.on{background:#D9F7EF;color:#065F46}.chip.off{background:#FDE7E7;color:var(--erro)}
.qr svg{max-width:100%;height:auto}
.codigos{columns:2;font-family:ui-monospace,Consolas,monospace;font-size:1.05rem;line-height:1.9}

/* tabela que vira cartão no celular */
table.resp{width:100%;border-collapse:collapse;background:#fff}
table.resp th{text-align:left;color:var(--suave);font-size:.9rem;padding:8px;border-bottom:2px solid var(--borda)}
table.resp td{padding:10px 8px;border-bottom:1px solid var(--linha);vertical-align:top}
@media (max-width:767px){
  table.resp thead{display:none}
  table.resp,table.resp tbody,table.resp tr,table.resp td{display:block;width:100%}
  table.resp tr{border:1px solid var(--borda);border-radius:var(--raio);margin:10px 0;padding:6px 10px}
  table.resp td{border:0;padding:6px 0;display:flex;gap:10px;justify-content:space-between}
  table.resp td::before{content:attr(data-l);font-weight:600;color:var(--suave);flex:0 0 38%}
}
.filtro{display:grid;gap:8px 16px;grid-template-columns:1fr;align-items:end;margin-bottom:8px}
@media (min-width:768px){.filtro{grid-template-columns:2fr 2fr 1fr auto}}
.filtro button{margin-top:0}
.topolinha{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.topolinha .btn{width:auto;margin-top:0}

/* ---------- calendário ---------- */
.so-pc{display:none}.so-cel{display:block}
@media (min-width:768px){.so-pc{display:block}.so-cel{display:none}}
.semana-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.semana-nav .btn,.semana-nav button{width:auto;margin:0}
.semana-nav .titulo{font-weight:700;color:var(--primaria);flex:1 1 200px;text-align:center}
.escolha-escala{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.escolha-escala select{min-width:220px;flex:1 1 220px}
.escolha-escala button{width:auto;margin:0}
.painel-publicar{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:8px 16px;margin:12px 0}
.painel-publicar summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:var(--primaria)}
.conflitos{border-left:6px solid var(--erro);background:#FDECEA}
.dias-semana{display:flex;flex-wrap:wrap;gap:4px 14px}
.dias-semana .cb{margin:0;min-height:44px}
.cor-amostra{display:inline-block;width:18px;height:18px;border-radius:3px;border:1px solid var(--borda);vertical-align:middle}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Escala do dia (matriz: escalas nas colunas, "agora / próximos / passados" nas linhas) */
.dia-app{padding:12px 16px 24px}
.dia-topo{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:8px 0}
@media (max-width:767px){.dia-topo{grid-template-columns:1fr}}
.legenda{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rot-leg{font-size:11px;color:#666;margin-right:4px}
.pill{display:inline-block;padding:3px 12px;border-radius:999px;font-size:11px;color:#444;background:#eef0f3}
.pill.sobre{background:#fff1d6}.pill.agora{background:#e0e3e8}.pill.prox{background:#eceef1}.pill.pass{background:#f4f5f7;color:#999}
.dia-data{display:flex;align-items:center;gap:12px;justify-content:center;font-size:22px;color:var(--primaria)}
.dia-data a{text-decoration:none;color:var(--primaria);font-size:26px;min-width:32px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.dia-data .hoje-link{font-size:12px;border:1px solid var(--borda);border-radius:999px;padding:0 10px;min-height:28px}
.f-dia input[type=date]{min-height:36px;width:auto;border:0;background:none;color:var(--primaria)}
.dia-atual{text-align:right;color:#666;font-size:12px}
.dia-barra{display:flex;justify-content:flex-end;gap:24px;align-items:center;padding:8px 0;border-top:1px solid #eee}
.dia-barra .acao-txt,.dia-barra .filtros summary{background:none;border:0;color:#444;font-size:13px;display:inline-flex;align-items:center;gap:6px;width:auto;margin:0;cursor:pointer;list-style:none;min-height:36px;padding:0}
.dia-barra .filtros summary::-webkit-details-marker{display:none}
.dia-barra svg{width:18px;height:18px;stroke:#444;fill:none;stroke-width:1.3}
.dia-barra details{position:relative}
.dia-barra .pop{left:auto;right:0}
.dia-rolagem{overflow:auto;max-height:calc(100vh - 230px)}
table.dia-matriz{width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}
.dia-matriz thead th{position:sticky;top:0;background:#fafafa;z-index:2;text-transform:uppercase;font-weight:700;font-size:15px;color:#3b4252;text-align:center;padding:10px 8px;border-bottom:1px solid #e5e5e5}
.dia-matriz th.canto,.dia-matriz th.faixa{width:56px}
.dia-matriz th.faixa{height:150px;position:relative;background:#fafafa;border-right:1px solid #e5e5e5}
.dia-matriz th.faixa span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;font-style:italic;font-weight:700;color:var(--primaria);font-size:14px;white-space:nowrap}
.dia-matriz td{vertical-align:top;padding:14px 16px;border-bottom:1px solid #e5e5e5;border-right:1px solid #eee;height:150px}
.faixa-passados td{opacity:.6}
.cartao{margin:0 0 14px;line-height:1.25}
.cartao b{display:block;font-size:14px;color:#333}
.cartao .eq,.cartao .hr,.cartao .obs{display:block;font-size:10.5px;color:#777;text-transform:uppercase}
.cartao .hr{text-transform:none}
.cartao.sobreaviso{background:#fff1d6;border-radius:4px;padding:4px 6px}
.dia-matriz .vazio{color:#bbb}
@media print{@page{size:A4 landscape;margin:10mm}.sem-impressao,.topo{display:none!important}.dia-rolagem{max-height:none;overflow:visible}}
/* ---------- calendário (igual à referência: grade corrida de semanas) ---------- */
main.cheia{max-width:none;margin:0;padding:0}
.so-pc{display:none}.so-cel{display:block}
@media (min-width:768px){.so-pc{display:block}.so-cel{display:none}}
.cal-app{display:grid;grid-template-columns:1fr;min-height:calc(100vh - 58px)}
@media (min-width:768px){.cal-app.com-lateral{grid-template-columns:250px minmax(0,1fr)}}
.cal-principal{padding:8px 12px 24px;min-width:0}
/* barra superior do calendário */
.cal-barra{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between;padding:8px 0 12px}
.cal-esc .rot{font-size:16px;color:#555;margin-bottom:2px}
.cal-esc .mini{margin-left:6px;color:var(--primaria);text-decoration:none;font-size:15px}
.cal-esc .linha{display:flex;gap:12px;align-items:center;position:relative}
.f-esc select{width:290px;max-width:100%;min-height:40px;font-size:16px;font-weight:600;color:#3b4252;background:#fff}
.btn-publicar{list-style:none;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;background:var(--primaria);color:#fff;font-weight:700;font-size:12px;letter-spacing:.3px;border-radius:2px;cursor:pointer}
.btn-publicar::-webkit-details-marker{display:none}
details.publicar,details.mais-menu,details.menu-prof,details.filtro-eq{position:relative}
.pop{position:absolute;z-index:15;left:0;top:100%;margin-top:4px;min-width:280px;max-width:92vw;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:12px 14px;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.pop button,.pop .btn{margin-top:10px}
.cal-nav{display:flex;flex-direction:column;align-items:center;gap:0}
.f-visao select{min-height:30px;width:auto;padding:2px 24px 2px 12px;border-radius:999px;font-size:13px;background:#fff;border:1px solid var(--borda);color:var(--suave)}
.cal-nav .mes{display:flex;align-items:center;gap:14px;font-size:22px;color:#333}
.cal-nav .mes a{text-decoration:none;color:var(--primaria);font-size:26px;line-height:1;padding:0 6px;min-height:44px;display:inline-flex;align-items:center}
.cal-nav .mes b{font-weight:600;color:var(--primaria)}
.cal-nav .mes .hoje-link{font-size:12px;border:1px solid var(--borda);border-radius:999px;padding:0 10px;min-height:28px}
.cal-acoes{display:flex;gap:18px;align-items:center}
.cal-acoes .acao{display:flex;flex-direction:column;align-items:center;font-size:13px;color:#555;text-decoration:none;gap:2px}
.cal-acoes .acao svg{width:26px;height:26px;stroke:#555;fill:none;stroke-width:1.2}
.mais-menu summary{list-style:none;cursor:pointer;font-size:26px;line-height:1;padding:0 8px;min-height:44px;display:flex;align-items:center;color:#555}
.mais-menu summary::-webkit-details-marker{display:none}
.mais-menu .pop{left:auto;right:0;min-width:160px}
.mais-menu .pop a{display:block;padding:8px 4px;text-decoration:none}
/* a grade */
.cal-rolagem{overflow:auto;max-height:calc(100vh - 150px);border-top:0}
table.cal-grade{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px;min-width:900px}
.cal-grade thead th{position:sticky;top:0;z-index:3;background:#fafafa;height:30px;font-size:16px;font-weight:700;color:#575757;border-bottom:1px solid #ddd;text-align:center}
.cal-grade th.canto,.cal-grade th.rotulo,.cal-grade th.vazio{width:165px}
.cal-grade th.canto{text-align:left;font-weight:400;font-size:14px;z-index:4}
.filtro-eq summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;color:#6b7280;min-height:30px}
.filtro-eq summary::-webkit-details-marker{display:none}
.filtro-eq svg{width:18px;height:18px;stroke:#555;fill:none;stroke-width:1.2}
.cal-grade tr.datas th,.cal-grade tr.datas td{background:#f0f0f0;text-align:center;font-size:14px;color:#333;height:30px;border-right:1px solid #fff}
.cal-grade tr.datas td.fora{color:#b0b0b0}
.cal-grade tr.datas td.hoje{background:#eaf0ff;color:var(--primaria);font-weight:700}
.cal-grade th.rotulo{background:#f4f4f4;font-weight:400;text-align:center;border-right:5px solid #ddd;border-bottom:1px solid #ddd;padding:0 4px;line-height:1.2;text-transform:uppercase}
.cal-grade th.rotulo b{display:block;font-weight:700;font-size:13px}
.cal-grade th.rotulo span{display:block;font-size:12px;text-transform:none}
.cal-grade td{padding:0;border-bottom:1px solid #ddd;border-right:1px solid #ddd;vertical-align:top;background:#f2f2f2;height:34px}
.cal-grade td.hoje{background:#f4f7ff}
.cal-grade td.sem-turno{background:repeating-linear-gradient(135deg,#d0d0d0,#d0d0d0 0,#f3f3f3 2px,#f3f3f3 8px)}
.cal-grade tr.ultima th.rotulo,.cal-grade tr.ultima td{border-bottom:2px solid #333}
.cel-btn{display:block;width:100%;min-height:34px;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;text-align:center;cursor:default}
button.cel-btn{cursor:pointer}
button.cel-btn:hover,button.cel-btn:focus-visible{background:rgba(0,11,76,.08)}
.ev{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:34px;padding:2px 4px;border-left:4.8px solid transparent;font-style:italic;font-size:11.9px;color:#575757;line-height:1.2}
.ev .nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.ev.rascunho{outline:1px dashed #b5b5b5;outline-offset:-3px}
.ev.conflito{background:#FDECEA;outline:1px solid var(--erro);outline-offset:-2px}
.selo-conflito{color:var(--erro);font-weight:700;font-size:10px;font-style:normal}
/* lateral */
.cal-lateral{padding:12px 12px 24px 16px;border-right:1px solid #eee;background:#fafafa;min-width:0}
@media (max-width:767px){.cal-lateral{order:2;border-right:0;border-top:1px solid #eee}}
.busca-lat{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.busca-lat .busca{position:relative;flex:1}
.busca-lat .busca svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;stroke:#8a8a8a;fill:none;stroke-width:1.5}
.busca-lat input{padding-left:34px;min-height:40px;background:#fff}
.busca-lat .mais{flex:none;width:28px;height:28px;border-radius:50%;background:var(--primaria);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:20px;line-height:1}
.prof-cab{display:flex;align-items:center;gap:8px;margin-top:16px;border-top:1px solid #eee;padding-top:12px}
.prof-cab h2{margin:0;flex:1;font-size:16px;color:#3b4252}
.prof-cab a{text-decoration:none;color:#555;font-size:18px;min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center}
.prof-cab svg{width:18px;height:18px;stroke:#555;fill:none;stroke-width:1.5}
.horas-mes{margin:2px 0 6px}
.prof-lista{list-style:none;margin:0;padding:0}
.prof-lista li{display:flex;align-items:center;gap:10px;padding:8px 0;min-height:52px}
.avatar{flex:none;width:36px;height:36px;border-radius:50%;background:#0a1450;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}
.prof-lista .nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;color:#3b4252}
.prof-lista .horas{flex:none;font-size:12px;color:#555}
.menu-prof summary{list-style:none;cursor:pointer;font-size:22px;line-height:1;min-width:28px;min-height:44px;display:flex;align-items:center;justify-content:center;color:#444}
.menu-prof summary::-webkit-details-marker{display:none}
.menu-prof .pop{left:auto;right:0;min-width:230px}
.menu-prof .pop a,.menu-prof .pop .tot{display:block;padding:6px 0}
.menu-prof .pop .tot{color:var(--suave);font-size:12px}
.excluir summary{cursor:pointer;padding:6px 0;color:var(--erro)}
/* janela de edição */
dialog.modal{width:min(460px,94vw);max-height:90vh;overflow:auto;border:0;border-radius:6px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,.35)}
dialog.modal::backdrop{background:rgba(0,0,0,.4)}
.modal-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.modal-cab h2{margin:0;font-size:17px;color:var(--primaria)}
.modal-cab .fechar{width:44px;margin:-8px -8px 0 0;font-size:24px;padding:0;border:0;background:none;color:#555}
.vaga-dlg{border-top:1px solid #eee;padding:8px 0}
.vaga-dlg form{margin:4px 0}
.vaga-dlg select{width:100%}
.dlg-dia{border-top:2px solid #eee;margin-top:12px}
.dlg-dia h3{font-size:15px;margin:10px 0 0;color:#3b4252}
/* celular */
.dia-card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:10px 12px;margin:10px 12px}
.dia-card h3{margin:0 0 6px;font-size:1rem;color:var(--primaria)}
.dia-card.hoje{border-color:var(--primaria);border-width:2px}
.dia-card .eq{border-left:6px solid var(--borda);padding-left:8px;margin:8px 0}
.dia-card .eq>strong{display:block}
.dia-card .ev{background:#f2f2f2;margin:4px 0}
.dia-card .cel-btn{text-align:left}
@media print{.cal-lateral,.cal-barra,.sem-impressao{display:none!important}.cal-rolagem{max-height:none}}

/* ---------- Administrador (padrão da referência: barra fixa de filtros + cartões brancos) ---------- */
.adm{padding:16px 15px 32px}
.adm-barra{position:sticky;top:58px;z-index:12;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:flex-end;background:#fff;padding:10px 24px 12px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.adm-barra .c{min-width:0}
.adm-barra label,.adm-barra .rot{display:block;margin:0 0 2px;font-size:16px;font-weight:400;color:#575757}
.adm-barra .c select{width:220px;max-width:100%;min-height:34px;padding:4px 8px;font-size:14px}
.adm-barra .c.q input{width:240px;max-width:100%;min-height:34px;padding:4px 8px;font-size:14px}
.adm-barra .cad .cb{display:inline-flex;min-height:22px;margin:0 12px 0 0;padding:0;font-size:14px;color:#575757}
.adm-barra .cad .cb input{width:16px;height:16px;margin:0}
.adm-barra .cad{display:flex;flex-direction:column}
.adm-barra .bts{display:flex;gap:10px}
.adm-barra .bts .btn,.adm-barra .bts button{min-height:34px;margin:0;padding:0 14px;font-size:14px;color:#3b4252;border:.8px solid #3b4252;border-radius:1.25px;background:#fff;gap:6px;width:auto}
.adm-barra svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.acoes-adm{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;max-width:560px}
.btn-az{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;background:#001380;color:#fff;border:.8px solid #001380;border-radius:1.25px;font-size:13px;font-weight:500;text-decoration:none;width:auto;margin:0}
@media (max-width:767px){.adm-barra{position:static;padding:10px 12px}.acoes-adm{margin-left:0}.adm-barra .c select,.adm-barra .c.q input{width:100%}.adm-barra .c{flex:1 1 100%}}
.adm-linha{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}
@media (min-width:1000px){.adm-linha{grid-template-columns:repeat(3,1fr)}}
.adm-card{background:#fff;border-radius:2px;padding:15px;margin:0 0 16px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);min-width:0}
.adm-linha .adm-card{margin:0}
.adm-card h2{margin:0 0 12px;font-size:16px;font-weight:700;color:#575757;padding-bottom:8px;border-bottom:1px solid #eee}
.adm-tit{display:flex;justify-content:space-between;align-items:center;gap:12px}
.adm-tit h2{flex:1}
.inst-nome{font-weight:700;color:#3b4252;margin:8px 0 16px;text-align:center}
.inst{margin:0}
.inst div{display:flex;gap:12px;align-items:baseline;padding:3px 0}
.inst dt{flex:0 0 64px;text-align:right;font-weight:700;font-size:15px;color:#3b4252}
.inst dd{margin:0;color:#575757}
.donut{display:block;width:230px;max-width:100%;margin:0 auto}
.donut .d-fundo{stroke:#e8ebf2}.donut .d-naloc{stroke:#001380}.donut .d-aloc{stroke:#008a67}
.donut .d-num{font-size:34px;fill:#575757}.donut .d-leg{font-size:11px;fill:#575757}
.legenda-d{display:flex;gap:6px 14px;flex-wrap:wrap;justify-content:center;align-items:center;font-size:12px;color:#575757;margin:8px 0 0}
.legenda-d .q{display:inline-block;width:10px;height:10px;margin-right:-4px}
.legenda-d .q.aloc{background:#008a67}.legenda-d .q.naloc{background:#001380}
.contrato{display:grid;grid-template-columns:90px 1fr;gap:10px 8px;margin:0}
.contrato dt{font-weight:700;color:#575757}
.contrato dd{margin:0;color:#3b4252}
.contrato .uc{display:inline-flex;flex-direction:column;margin-right:28px}
.contrato .uc b{font-size:20px;color:#001380;line-height:1.1}
.contrato .uc small{color:#575757;font-size:12px}
.contrato progress.barra{display:block;margin-top:10px}
.grafico{overflow-x:auto;padding-bottom:4px}
.grafico .eixo{stroke:#999;stroke-width:1}
.grafico .barra-g{fill:#001380}
.grafico .valor{font-size:11px;fill:#001380}
.grafico .rotulo-g{font-size:10px;fill:#575757;text-transform:uppercase}
.adm-tabela{width:100%;border-collapse:collapse}
.adm-tabela th{text-align:left;color:#001380;font-weight:700;font-size:13px;padding:10px 8px;border-bottom:1px solid #ddd}
.adm-tabela td{padding:9px 8px;border-bottom:1px solid #eee;font-size:13px;color:#3b4252;vertical-align:middle}
.adm-tabela td.eqs{font-style:italic;text-transform:uppercase;color:#575757;font-size:12px}
.adm-tabela .selo{display:inline-block;padding:1px 10px;border-radius:999px;color:#fff;font-weight:700;font-size:12px}
.adm-tabela .selo.on{background:#008a67}.adm-tabela .selo.off{background:#8a8f99}
.adm-tabela .acoes-linha{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.adm-tabela .acoes-linha form{margin:0}
.adm-tabela .acoes-linha button{min-height:32px;margin:0;padding:0 12px;font-size:12px}
.adm-tabela .lapis{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px;color:#3b4252}
.adm-tabela .lapis svg{width:18px;height:18px;stroke:currentColor;fill:#3b4252;stroke-width:.6}
@media (max-width:767px){.adm-tabela.resp td{font-size:14px}.adm-tabela.resp td.eqs{text-transform:none}}

/* ---------- Formulários no padrão da referência (cartão central, campos sublinhados, chaves liga/desliga) ---------- */
.modal-ref{max-width:1100px;margin:24px auto;background:#fff;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);padding:24px 36px 28px}
@media (max-width:767px){.modal-ref{margin:0;padding:16px 14px 24px;box-shadow:none}}
.modal-ref>h1{font-size:18px;font-weight:700;color:#00117a;margin:0 0 12px}
.bloco-lista h2{font-size:17px;color:#3b4252;margin:20px 0 8px}
.bloco-lista .passos{display:grid;grid-template-columns:1fr;gap:12px;align-items:end}
@media (min-width:768px){.bloco-lista .passos{grid-template-columns:repeat(3,1fr)}}
.bloco-lista .passos>div{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:15px;color:#575757}
.bloco-lista .btn{min-height:36px;margin:0;font-size:13px;font-weight:700;border-radius:1.25px}
.form-ref .sec-ref{margin:28px 0 0}
.form-ref .sec-ref>h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;padding-bottom:6px;font-size:15px;font-weight:700;color:#333;border-bottom:1px solid #ddd}
.form-ref .sec-ref>h3 svg{width:20px;height:20px;flex:none}
.form-ref .sec-ref>h3 .cheio{fill:#00117a}.form-ref .sec-ref>h3 .traco{stroke:#fff;fill:none;stroke-width:1.6;stroke-linecap:round}
.form-ref .sec-ref>h3 .vazio{stroke:#00117a;fill:none;stroke-width:1.5;stroke-linejoin:round}
.form-ref label{font-size:12px;font-weight:400;color:#777;margin:16px 0 0}
.form-ref .cb,.form-ref .chave{font-size:15px;color:#333}
.form-ref input[type=text],.form-ref input[type=email],.form-ref input[type=number],.form-ref input[type=date],.form-ref input:not([type]),.form-ref select,.form-ref textarea{border:0;border-bottom:1px solid #bdbdbd;border-radius:0;background:transparent;padding:6px 0;min-height:40px;font-size:16px;color:#333}
.form-ref textarea{border:1px solid #bdbdbd;padding:8px}
.form-ref input:focus,.form-ref select:focus,.form-ref textarea:focus{outline:0;border-bottom-color:#00117a;box-shadow:0 1px 0 0 #00117a}
.form-ref small{color:#777}
.form-ref .grade{gap:0 36px}
.form-ref .rotulo-radio{display:block;font-size:12px;color:#777;margin-top:16px}
.form-ref .radios{display:flex;gap:18px}
.form-ref .papel-escala{background:#f5f5f5;padding:10px 14px;margin:12px 0;border-radius:2px}
.botoes-ref{display:flex;justify-content:center;gap:18px;margin-top:32px}
.botoes-ref .btn,.botoes-ref button{min-height:36px;margin:0;padding:0 22px;font-size:13px;font-weight:700;border-radius:1.25px}
.botoes-ref .btn.sec{color:#00117a;border:1px solid #00117a;background:#fff}
.botoes-ref button{background:#00117a;color:#fff}
/* chave liga/desliga */
.chave-caixa{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6px 24px;background:#f2f2f2;padding:14px 16px;margin:16px 0}
.chave-caixa .ch-titulo{grid-column:1 / -1;font-size:13px;color:#333}
.chave-caixa .ch-ajuda{margin:0;font-size:14px;color:#575757}
@media (max-width:767px){.chave-caixa{grid-template-columns:1fr}}
.chave{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;cursor:pointer;min-height:44px}
.chave input[type=checkbox]{position:absolute;opacity:0;width:44px;height:44px;margin:0}
.chave .trilho{position:relative;width:36px;height:14px;border-radius:7px;background:#b5b5b5;flex:none;transition:background .15s}
.chave .trilho::after{content:"";position:absolute;top:-3px;left:-2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);transition:left .15s}
.chave input:checked~.trilho{background:#7e8ccf}
.chave input:checked~.trilho::after{left:18px;background:#00117a}
.chave input:focus-visible~.trilho{outline:2px solid #00117a;outline-offset:4px}
.chave .estado::before{content:"Desativado";font-size:16px;color:#333}
.chave input:checked~.estado::before{content:"Ativado"}

/* Link compartilhável de cadastro */
.bloco-link h2{font-size:15px;font-weight:700;color:#333;margin:6px 0 4px}
.bloco-link .link-linha{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0}
.bloco-link .link-linha input{flex:1 1 320px;min-height:36px;border:0;border-bottom:1px solid #bdbdbd;border-radius:0;background:transparent;font-size:13px}
.bloco-link .link-linha .btn,.bloco-link .link-linha button{margin:0;min-height:36px;font-size:13px;font-weight:700;border-radius:1.25px}
.bloco-link .link-acoes{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.bloco-link .form-link{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}
.bloco-link .form-link>div{min-width:240px}
.bloco-link .form-link button,.bloco-link .link-acoes>form>button{margin:0;min-height:36px;font-size:13px;font-weight:700;border-radius:1.25px}

/* Tags */
.form-tag{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin:4px 0 8px}
.form-tag input{flex:0 1 320px;min-height:40px;border:0;border-bottom:1px solid #bdbdbd;border-radius:0;background:transparent;font-size:16px}
.form-tag .btn-az{margin:0;min-height:32px;cursor:pointer}
.nuvem-tit{font-size:17px;font-weight:700;color:#3b4252;margin:22px 0 12px}
.nuvem{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 10px}
.tag-chip{display:inline-flex;align-items:center;gap:4px;background:#dbe7fb;color:#00117a;border-radius:999px;padding:2px 8px 2px 14px;font-weight:700;font-size:13px}
.tag-chip .tag-menu{position:relative}
.tag-chip .tag-menu summary{list-style:none;cursor:pointer;min-width:28px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;color:#3b4252;font-size:13px}
.tag-chip .tag-menu summary::-webkit-details-marker{display:none}
.tag-chip .tag-menu summary.x{color:#c0262d}
.tag-chip .pop{left:auto;right:0;min-width:240px;font-weight:400;color:#333}
.tags-escolha{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.tag-op{display:inline-flex;align-items:center;margin:0;min-height:36px;cursor:pointer}
.tag-op input{position:absolute;opacity:0;width:1px;height:1px}
.tag-op span{display:inline-block;padding:4px 14px;border-radius:999px;background:#eef1f6;color:#3b4252;font-size:13px;border:1px solid transparent}
.tag-op input:checked+span{background:#dbe7fb;color:#00117a;font-weight:700;border-color:#7e8ccf}
.tag-op input:focus-visible+span{outline:2px solid #00117a;outline-offset:2px}
.tags-lat{display:block;font-size:10.5px;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tags-cel{display:block;font-size:9px;color:#888;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}

/* Copiar/colar e atalhos */
.cal-nav .mes button.hoje-link{margin:0;width:auto;min-height:28px;padding:0 10px;background:#fff;color:var(--primaria);border:1px solid var(--borda);border-radius:999px;font-size:12px}
.atalhos{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:14px 0}
.atalhos dt{white-space:nowrap}
.atalhos dd{margin:0;color:#333}
kbd{display:inline-block;min-width:24px;padding:1px 7px;border:1px solid #bbb;border-bottom-width:2px;border-radius:4px;background:#fafafa;font:600 12px/1.6 ui-monospace,Consolas,monospace;text-align:center}
#dlg-copia .auto{margin:6px 8px 0 0}
#dlg-copia form{display:inline}
.relatorio,.recusas{margin:6px 0 6px 18px;padding:0}
.recusas li{color:var(--erro)}

/* Mural de recados (igual à referência: conversas à esquerda, recados à direita) */
.selo-novos{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d93025;color:#fff;font-size:11px;font-weight:700;line-height:1;margin-left:6px}
.mural{min-height:calc(100vh - 58px);background:#fafafa}
.mural-topo{display:flex;align-items:center;gap:18px;padding:18px 32px;border-bottom:1px solid #ececec}
.mural-topo h1{margin:0;font-size:22px;font-weight:400;color:#3b4252}
.mural-topo .btn-az{margin:0;min-height:38px;font-weight:700;cursor:pointer}
.mural-corpo{display:grid;grid-template-columns:1fr}
@media (min-width:900px){.mural-corpo{grid-template-columns:minmax(260px,365px) 1fr;min-height:calc(100vh - 132px)}}
.mural-lista{padding:22px 0 12px 32px;border-right:1px solid #ececec}
@media (max-width:899px){.mural-lista{padding:16px;border-right:0;border-bottom:1px solid #ececec}}
.mural-lista h2{font-size:20px;font-weight:700;color:#3b4252;margin:0 0 14px}
.busca-conv,.busca-msg{position:relative;margin:0 16px 14px 0}
.busca-conv input,.busca-msg input{width:100%;min-height:40px;padding:6px 40px 6px 16px;background:#fff;border:1px solid #d5d8de;border-radius:4px;font-size:15px}
.lupa{position:absolute;right:4px;top:0;width:36px;min-height:40px;margin:0;padding:0;background:none;border:0;color:#777}
.lupa svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
.mural-lista ul{list-style:none;margin:0;padding:0}
.mural-lista li a{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 14px 16px;border-bottom:1px solid #e4e6ea;color:#3b4252;text-decoration:none;font-size:16px}
.mural-lista li.ativa a{background:#f3f4f7;box-shadow:inset -4px 0 0 var(--primaria)}
.mural-lista li a:hover{background:#f3f4f7}
.sem-conv{padding:14px 0}
.mural-conversa{display:flex;flex-direction:column;min-width:0}
.conv-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:18px 32px 14px;border-bottom:1px solid #e4e6ea}
.conv-cab .rot{display:block;font-size:14px;color:#8a8a8a}
.conv-cab h2{margin:0;font-size:20px;font-weight:700;color:#3b4252}
.busca-msg{width:260px;max-width:100%;margin:0}
.msgs{flex:1;overflow:auto;max-height:calc(100vh - 330px);min-height:240px;padding:12px 32px;position:relative}
@media (max-width:899px){.msgs{max-height:none;padding:12px 16px}.conv-cab{padding:14px 16px}}
.vazio-msg{text-align:center;margin:40px 0}
.divisor{display:flex;align-items:center;gap:12px;color:#8a8a8a;font-size:15px;margin:22px 0}
.divisor::before,.divisor::after{content:"";flex:1;height:1px;background:#d5d8de}
.divisor.novos{color:#d93025}.divisor.novos::before,.divisor.novos::after{background:#d93025}
.msg{display:flex;gap:14px;padding:16px 0;background:#fff;margin:0 -32px;padding-left:32px;padding-right:32px;border-bottom:1px solid #f0f0f0}
@media (max-width:899px){.msg{margin:0 -16px;padding-left:16px;padding-right:16px}}
.avatar-msg{flex:none;width:40px;height:40px;border-radius:50%;background:#b4b4b4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px}
.corpo-msg{min-width:0;flex:1}
.corpo-msg header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.corpo-msg header strong{font-size:15px;color:#3b4252;text-transform:uppercase}
.corpo-msg time{font-size:14px;color:#9a9a9a}
.texto-msg{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#3b4252;font-size:16px}
.msg.apagada{opacity:.7}
.msg-menu{position:relative;margin-left:auto}
.msg-menu summary{list-style:none;cursor:pointer;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;color:#777;font-size:18px}
.msg-menu summary::-webkit-details-marker{display:none}
.msg-menu .pop{left:auto;right:0;min-width:180px}
.envio{display:flex;gap:16px;align-items:flex-end;padding:14px 32px 20px;border-top:1px solid #e4e6ea;background:#fafafa}
.envio textarea{flex:1;min-height:44px;resize:vertical;border:1px solid #d5d8de;border-radius:4px;background:#fff;padding:8px 10px;font-size:16px}
.envio .btn-az{margin:0;min-height:42px;font-weight:700;cursor:pointer}
@media (max-width:899px){.envio{padding:12px 16px}}
.somente-leitura{padding:0 32px 16px}

/* Negociações (igual à referência: escala + mês no topo, abas sublinhadas, tabela) */
.neg{padding:16px 32px 32px}
@media (max-width:767px){.neg{padding:12px 12px 24px}}
.neg-topo{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 40px;margin-bottom:12px}
.f-neg label{display:block;margin:0 0 2px;font-size:14px;color:#575757;font-weight:400}
.f-neg select{width:min(450px,100%);min-height:40px;background:#fff;font-size:16px;font-weight:600;color:#3b4252}
.neg-mes{display:flex;align-items:center;gap:14px;font-size:22px;color:#333;margin:14px 0 0 12vw}
.neg-mes a{text-decoration:none;color:var(--primaria);font-size:24px;min-width:32px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.neg-mes b{font-weight:600;color:var(--primaria)}
@media (max-width:767px){.neg-mes{margin-left:0}}
.neg-abas{display:flex;gap:22px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #eee;margin:18px 0 18px}
.neg-abas a{padding:10px 2px;text-transform:uppercase;font-size:14px;font-weight:700;color:#9a9fa8;text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.neg-abas a[aria-current=page]{color:var(--primaria);border-bottom-color:var(--primaria)}
.neg-abas .atualizar{margin-left:auto;font-size:20px;color:#444;text-transform:none;font-weight:400}
.neg-vazio{font-weight:700;color:#3b4252;margin:22px 0}
.neg-lote{display:flex;gap:10px;margin:0 0 12px}
.btn-az.vermelho{background:#b3261e;border-color:#b3261e}
.neg-rolagem{overflow:visible}
.neg-tabela{background:#fff}
.neg-tabela .plantao-info{display:block;color:#575757;font-size:12px}
.st{display:inline-block;padding:1px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap}
.st-pendente{background:#b7791f}.st-concluido{background:#008a67}.st-rejeitado{background:#b3261e}.st-cancelado{background:#8a8f99}.st-expirado{background:#6b7280}
.acoes-neg{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.acoes-neg form{margin:0}
.acoes-neg .btn-az,.acoes-neg button{min-height:32px;margin:0;font-size:12px;cursor:pointer}
.neg-menu{position:relative}
.neg-menu summary{list-style:none;cursor:pointer}
.neg-menu summary::-webkit-details-marker{display:none}
.neg-menu .pop{left:auto;right:0;min-width:260px}

/* Negociações: lado do profissional e anúncio em lote */
.neg-topo h1{margin:0;font-size:22px;font-weight:400;color:#3b4252;flex:1}
.neg-atalhos{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.neg-atalhos .btn-az,.neg-topo>.btn-az{margin:0;min-height:36px;font-weight:700}
.destaque-troca{background:#f2f2f2;padding:10px 14px;border-left:4px solid var(--primaria);margin:6px 0 16px}
.filtro-anuncio{display:flex;gap:12px 18px;flex-wrap:wrap;align-items:flex-end;margin:12px 0 8px}
.filtro-anuncio>div{min-width:150px}
.filtro-anuncio select,.filtro-anuncio input{min-height:38px;font-size:14px}
.filtro-anuncio button{margin:0;min-height:38px}
.neg h2{font-size:17px;color:#3b4252;margin:18px 0 8px}
.neg .cb{margin:0;min-height:32px}

/* Check-in */
.ck{max-width:720px}
.ck-data{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:6px 0 18px;font-size:18px;color:#3b4252}
.ck-data a{font-size:26px;text-decoration:none;color:var(--primaria);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ck-data .hoje-link{font-size:14px;font-weight:700;min-width:0}
.ck-data .f-dia{margin:0}.ck-data .f-dia input{min-height:40px}
.ck-card{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);border-radius:4px;padding:16px 18px;margin:0 0 14px}
.ck-card header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ck-hora{font-weight:700;color:#3b4252}
.ck-estado{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ck-estado li{display:flex;gap:14px;align-items:center;flex-wrap:wrap;min-height:44px}
.ck-estado .rot{width:84px;font-weight:700;color:#3b4252}
.ck-estado form{margin:0}.ck-estado button{min-height:44px;margin:0;cursor:pointer}
.ck-aviso{margin:10px 0 0}
.alerta{color:#b7791f;font-weight:700;font-size:13px}
.filtro-ck{display:flex;gap:12px 18px;flex-wrap:wrap;align-items:flex-end;margin:12px 0 14px}
.filtro-ck>div{min-width:150px}.filtro-ck .busca-ck{min-width:240px;flex:1}
.filtro-ck select,.filtro-ck input[type=date],.filtro-ck input[type=search]{min-height:38px;font-size:14px}
.filtro-ck button{margin:0;min-height:38px}
.status-ck{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.status-ck .cb{margin:0;min-height:38px}
.ck-acoes{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.ck-acoes .cb{margin:0}
.acao-txt{background:none;border:0;color:var(--primaria);font-weight:700;cursor:pointer;min-height:38px;padding:0 4px;text-transform:uppercase;font-size:13px}
.nao-inserido,.saldo-neg{color:#b3261e}
.ck-tratar .neg-menu .pop{min-width:280px}
.ck-tratar .neg-menu .pop input:not([type=checkbox]){width:100%}
.acao-txt.auto{width:auto;margin:0;background:none;border:0}


/* Check-in: consolidado por profissional (igual à referência) */
.filtro-cons{max-width:760px}
.cons-tabela .num{text-align:right;white-space:nowrap}
.cons-tabela td.num{font-size:15px}
.cons-tabela .avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#2b303b;color:#fff;font-size:15px;margin-right:14px;flex:none;vertical-align:middle}
.cons-tabela .nome-cons{vertical-align:middle;color:#3b4252}
.cons-tabela .ver{text-align:right;white-space:nowrap}.cons-tabela .ver a{color:#3b4252;text-decoration:none}.cons-tabela .ver a:hover{text-decoration:underline}
.hora-verde{color:#008a67}
.ck-detalhe{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:6px 0 16px}
.ck-detalhe h1{margin:0;font-size:22px;font-weight:700;color:#3b4252;flex:1;min-width:240px}
.ck-detalhe .voltar{font-size:24px;text-decoration:none;color:var(--primaria);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ck-detalhe .periodo{color:#575757;border:1px solid #ccc;padding:8px 14px}

/* Meu extrato */
.ext-faixa{background:#001380;margin:-20px -15px 18px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;color:#fff}
.ext-faixa h1{margin:0;font-size:16px;font-weight:700;color:#fff;display:flex;gap:8px;align-items:center}
.ext-periodo{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:0}
.ext-periodo label{color:#fff;font-size:12px}
.ext-periodo input{min-height:38px;background:#fff}
.ext-periodo button{margin:0;min-height:38px;background:#fff;color:#001380;border:0;cursor:pointer;font-weight:700}
.ext .ajuda{width:24px;height:24px;border-radius:50%;border:1.5px solid #19d3a2;background:none;color:#19d3a2;font-weight:700;cursor:pointer;padding:0;min-height:0;margin:0}
.ext-corpo{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:18px;align-items:start}
@media (max-width:900px){.ext-corpo{grid-template-columns:1fr}}
.ext-card{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);border-radius:4px;padding:16px 18px;margin:0 0 16px}
.ext-card h2{margin:0 0 12px;font-size:16px;color:#001380}
.ext-vazio{display:flex;gap:14px;align-items:center;font-weight:700;color:#001380}
.ext-x{display:inline-flex;width:56px;height:56px;border-radius:50%;background:#ccc;color:#fff;font-size:38px;align-items:center;justify-content:center;flex:none}
.ext-horas,.ext-turnos{margin:0}
.ext-horas>div,.ext-turnos>div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #eee}
.ext-horas dt,.ext-turnos dt{color:#3b4252}.ext-horas dd,.ext-turnos dd{margin:0;font-weight:700}
.ext progress{width:100%;height:10px;margin-top:12px;accent-color:#008a67}
.ext-tabela .num{text-align:right}
.ext-sem{color:#575757;padding:14px 0}
.ext-rodape{margin:10px 0 0;text-align:right}
.ext-boasvindas{border:0;border-radius:6px;padding:26px 34px;max-width:420px;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.3)}
.ext-boasvindas::backdrop{background:rgba(0,0,0,.5)}
.ext-boasvindas h2{color:#001380;margin:0 0 14px}
.ext-boasvindas ul{list-style:none;padding:0;margin:12px 0;color:#3b4252}.ext-boasvindas li{padding:6px 0}
.ext-boasvindas .cb{justify-content:center}

/* Relatórios */
.rel-filtro{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12);padding:14px 18px;margin:0 0 18px;display:flex;gap:18px 26px;flex-wrap:wrap;align-items:flex-start}
.rel-titulo small{display:block;color:#001380;font-size:13px}.rel-titulo h1{margin:0;font-size:20px;font-weight:600;color:#3b4252}
.rel-campos{display:flex;gap:12px 18px;flex-wrap:wrap;align-items:flex-end;flex:1}
.rel-campos>div,.rel-campos .multi{min-width:150px}
.rel-campos select,.rel-campos input[type=date],.rel-campos input[type=search]{min-height:40px;font-size:14px}
.rel-campos .btn-az,.rel-campos button{margin:0;min-height:40px;display:inline-flex;align-items:center}
.btn-az.off{background:#c9ccd3;border-color:#c9ccd3;color:#fff;cursor:not-allowed}
.rel .multi .rot,.rel label{font-weight:700;color:#001380;font-size:13px;display:block}
.multi-menu{position:relative}
.multi-menu summary{list-style:none;cursor:pointer;min-height:40px;display:flex;align-items:center;padding:0 12px;border:1px solid #ccc;background:#fff;font-size:14px;min-width:150px}
.multi-menu summary::-webkit-details-marker{display:none}
.multi-menu .pop{left:0;right:auto;min-width:260px;max-height:320px;overflow:auto;z-index:25}
.multi-menu .cb{margin:0;min-height:36px}
.rel-vazio{text-align:center;color:#001380;margin:90px 0;font-size:20px}
.rel-contagem{margin:0 0 8px;text-align:right}
.rel-contagem a[aria-current]{font-weight:700;color:#001380}

/* Extratos de horas */
.rel-tabela-rolagem{overflow:auto;max-height:calc(100vh - 230px);background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.hx{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}
.hx th,.hx td{padding:10px 14px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}
.hx thead th{position:sticky;top:0;background:#f6f7fb;color:#001380;z-index:2;max-width:210px;overflow:hidden;text-overflow:ellipsis}
.hx .ident{min-width:90px;color:#575757}.hx .nome{min-width:200px;color:#001380}
.hx td.v{color:#3b4252;text-align:right}.hx td.vazio{color:#b0b4bd;text-align:right}
.hx tfoot td{font-weight:700;background:#f6f7fb;position:sticky;bottom:0}
.hx .neg{color:#b3261e}

/* Dashboard */
.dash-grade{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 0 16px}
.dash-larga{grid-column:1/-1}
.dash-card{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);border-radius:4px;padding:16px 18px}
.dash-card h2{margin:0 0 12px;font-size:16px;color:#575757;font-weight:600;border-bottom:1px solid #eee;padding-bottom:10px}
.dash-num{display:flex;gap:12px;align-items:baseline;padding:5px 0;color:#3b4252}.dash-num b{min-width:48px;text-align:right;font-size:17px;color:#3b4252}
.dash-chips{display:flex;gap:2px;flex-wrap:wrap;margin-top:10px}.dash-chips span{background:#001380;color:#fff;padding:8px 14px;font-size:14px;min-width:60px;text-align:center}
.dash-chips small{display:block;font-size:11px;opacity:.8}
.dash-donut{display:block;margin:6px auto;width:170px;height:170px}
.dash-donut circle{fill:none;stroke-width:6}
.dash-donut .base{stroke:#d9d9d9}.dash-donut .a{stroke:#c2185b}.dash-donut .b{stroke:#001380}
.dash-donut text{text-anchor:middle;fill:#3b4252}.dash-donut .grande{font-size:9px}.dash-donut .peq{font-size:3.6px}
.dash-leg{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:12px;color:#575757}
.dash-leg i{display:inline-block;width:10px;height:10px;margin-right:5px}
.dash-leg .base{background:#d9d9d9}.dash-leg .a{background:#c2185b}.dash-leg .b{background:#001380}.dash-leg .ds{background:#a8a8a8}
.dash-barras{width:100%;height:auto}
.dash-barras .util{fill:#a8a8a8}.dash-barras .fds{fill:#c2185b}.dash-barras text{font-size:10px;fill:#575757;text-anchor:middle}.dash-barras line{stroke:#ccc}
.dash-rank{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dash-rank h3{font-size:14px;color:#001380;margin:0 0 8px}
.dash-rank ol{list-style:none;margin:0;padding:0}.dash-rank li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #eee;font-size:13px}
.dash-rank li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-rank li b{flex:none}
.dash-hl{width:100%;border-collapse:collapse}.dash-hl td{padding:8px 6px;border-bottom:1px solid #eee;font-size:13px}
.dash-hl progress{width:100%;height:12px;accent-color:#008a67}
.dash-hl .n{font-weight:700;color:#008a67;text-align:right;white-space:nowrap}.dash-hl .n.neg{color:#b3261e}
.dash-vazio{color:#575757;font-size:13px}

/* Valores e bônus */
.valores-dia{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.valores-dia[hidden],[data-grupo-alvo][hidden],[data-grupo-calculo][hidden]{display:none}

/* Extratos financeiros */
.fin-opcoes{display:flex;gap:10px 22px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.fin-opcoes .cb{margin:0;min-height:34px}
.fin-aviso{background:#fff7e0;border-left:4px solid #b7791f;padding:10px 14px;margin:0 0 12px;color:#5c4000}
.fin-tabela .num{text-align:right;white-space:nowrap}
.fin-tabela tfoot td{font-weight:700;background:#f6f7fb}
.fin-tabela .sem{color:#b7791f;font-size:12px}
.rel .fin-opcoes .cb{display:flex;align-items:center;font-weight:400;color:#3b4252}.rel .fin-opcoes .cb input{width:20px;height:20px;margin:0}

.lapis-inst{font-size:16px;text-decoration:none;color:var(--primaria);margin-left:8px}

.hm{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.aviso-limite{display:block;color:#8a5a00;font-size:12px;margin-top:4px;max-width:340px}

.dash-alerta-n{margin:0 0 8px;font-size:15px;color:#3b4252}.dash-alerta-n b{font-size:32px;color:#b7791f;margin-right:6px}
.dash-alertas-tipos,.dash-alertas{list-style:none;margin:0 0 10px;padding:0}
.dash-alertas-tipos li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #eee;font-size:13px}
.dash-alertas li{padding:8px 0;border-bottom:1px solid #eee;font-size:13px;color:#3b4252}

.avisos-escalas{list-style:none;padding:0;margin:0 0 16px;max-width:520px}
.avisos-escalas li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #eee}

/* ================= Moldura (mockup aprovado): topo navy, trilho de ícones, barra da página Teal ================= */
body.app{min-height:100vh;display:flex;flex-direction:column}
.topo{position:sticky;top:0;z-index:40;height:52px;flex:none;display:flex;align-items:center;color:#fff;background:linear-gradient(180deg,var(--navy2) 0%,var(--navy) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 2px 4px rgba(10,30,40,.35)}
.topo .marca{display:flex;align-items:center;gap:14px;height:52px;text-decoration:none;color:#fff;flex:none}
.topo .marca-x{width:64px;height:52px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18)}
.topo .marca-x img{width:34px;height:34px;display:block}
.topo .marca-logo{height:20px;width:auto;display:block}
.topo .marca small{font-size:13px;font-weight:500;color:#9FBAC4}
.topo-dir{margin-left:auto;display:flex;align-items:center;gap:6px;padding-right:20px}
.topo .hosp{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:5px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);color:#fff;text-decoration:none;font-weight:500;max-width:280px}
.topo .hosp-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topo .hosp svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topo .ic-topo{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#D5E3E8}
.topo .ic-topo:hover,.topo .ic-topo[aria-current=page]{background:rgba(255,255,255,.1);color:#fff}
.topo .ic-topo svg,.topo .sair svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.topo .sep{width:1px;height:28px;background:rgba(255,255,255,.15);margin:0 8px}
.topo .usuario{display:flex;align-items:center;gap:10px;font-weight:500}
.topo .usuario .av{width:32px;height:32px;border-radius:50%;background:#EAF3F5;color:var(--navy);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.topo .sair{margin:0 0 0 4px}
.topo .sair button{width:40px;height:40px;min-height:0;margin:0;padding:0;border-radius:4px;background:transparent;box-shadow:none;color:#D5E3E8;display:flex;align-items:center;justify-content:center}
.topo .sair button:hover{background:rgba(255,255,255,.1);color:#fff}
.corpo{flex:1;display:flex;min-height:0}
nav.trilho{width:64px;flex:none;position:sticky;top:52px;height:calc(100vh - 52px);display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:8px;background:linear-gradient(90deg,#123344 0%,var(--navy) 100%);box-shadow:2px 0 4px rgba(10,30,40,.18);z-index:30}
nav.trilho>a,nav.trilho summary{position:relative;width:64px;height:48px;display:flex;align-items:center;justify-content:center;color:#93AEB9;text-decoration:none;cursor:pointer;list-style:none}
nav.trilho summary::-webkit-details-marker{display:none}
nav.trilho svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
nav.trilho>a>span,nav.trilho summary>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
nav.trilho>a:hover,nav.trilho summary:hover{color:#fff;background:rgba(255,255,255,.06)}
nav.trilho [aria-current=page]{background:linear-gradient(180deg,var(--teal2) 0%,var(--teal) 100%);color:#fff;box-shadow:inset 3px 0 0 var(--cyan)}
nav.trilho .fim{margin-top:auto;margin-bottom:10px}
nav.trilho .selo-novos{position:absolute;top:6px;right:10px;margin:0}
nav.trilho .tr-sub{position:relative}
nav.trilho .tr-sub .sub{position:absolute;left:64px;top:0;min-width:220px;background:#fff;border-radius:0 5px 5px 0;box-shadow:4px 4px 16px rgba(16,44,58,.2);padding:8px 0;display:flex;flex-direction:column}
nav.trilho .tr-sub .sub b{padding:8px 16px;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--suave);font-weight:700}
nav.trilho .tr-sub .sub a{padding:0 16px;min-height:40px;display:flex;align-items:center;color:var(--texto);text-decoration:none}
nav.trilho .tr-sub .sub a:hover{background:var(--linha)}
nav.trilho .tr-sub .sub a[aria-current=page]{color:var(--teal);font-weight:500;background:none;box-shadow:inset 3px 0 0 var(--teal)}
.area{flex:1;min-width:0;display:flex;flex-direction:column}
.barra-pag{position:sticky;top:52px;z-index:20;min-height:60px;flex:none;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:0 24px;background:linear-gradient(180deg,var(--teal2) 0%,var(--teal) 100%);color:#fff;box-shadow:0 2px 3px rgba(10,40,50,.22)}
.caminho{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.caminho span,.caminho i{color:#BFE9EC;font-style:normal}
.caminho b{color:#fff}
.barra-acoes{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.area>main{flex:1}
@media (max-width:767px){
  .topo .marca-x{width:52px}.topo .marca small,.topo .usuario .u-nome,.topo .sep{display:none}
  .topo .hosp{max-width:150px;padding:0 8px}.topo-dir{padding-right:8px;gap:2px}
  .corpo{flex-direction:column}
  nav.trilho{position:sticky;top:52px;width:auto;height:auto;flex-direction:row;padding:0 4px;overflow-x:auto;background:var(--navy)}
  nav.trilho .fim{margin:0}
  nav.trilho .tr-sub .sub{position:fixed;left:8px;right:8px;top:108px;border-radius:5px}
  .barra-pag{position:static;min-height:48px;padding:8px 16px}
  main.larga{padding:16px}
}

/* ================= Mensagens (padrão Fluent/Atlassian: ícone colorido, borda fina, texto neutro) ================= */
.mbar{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin:0 0 20px;border:1px solid;border-radius:6px;color:#2B3A42;line-height:20px}
.mbar::before{content:"";width:20px;height:20px;flex:none;background:no-repeat center/20px}
.mbar.info{background:#F0F7F9;border-color:#C6DEE4}
.mbar.info::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.5' fill='%23176B7A'/%3E%3Cpath d='M10 9v5' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='6.3' r='1.1' fill='%23fff'/%3E%3C/svg%3E")}
.mbar.ok{background:#F0F8F3;border-color:#BFDECB}
.mbar.ok::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.5' fill='%231E7A55'/%3E%3Cpath d='M6.3 10.2l2.4 2.4 5-5' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.mbar.warn{background:#FFF8EB;border-color:#EDD3A3}
.mbar.warn::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.2l8.6 15H1.4z' fill='%23C7790E' stroke='%23C7790E' stroke-width='1.2' stroke-linejoin='round'/%3E%3Cpath d='M10 8v4' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14.6' r='1.05' fill='%23fff'/%3E%3C/svg%3E")}
.mbar.err{background:#FDF2F1;border-color:#EFC4BE}
.mbar.err::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.5' fill='%23C4321F'/%3E%3Cpath d='M7 7l6 6M13 7l-6 6' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
p.erro{display:flex;align-items:center;gap:6px;color:#B42318;font-size:13px;margin:6px 0 0}

/* ================= Base de componentes no padrão novo ================= */
label{font-size:13px;font-weight:500;color:var(--texto);margin:16px 0 6px}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=search],select,textarea,input:not([type]){min-height:40px;font:14px Roboto,"Segoe UI",Arial,sans-serif;border:1px solid #C9D5DA;border-radius:4px;padding:8px 12px;box-shadow:inset 0 1px 2px rgba(16,44,58,.06)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,107,122,.18)}
button,.btn{min-height:40px;padding:0 18px;font:500 14px Roboto,"Segoe UI",Arial,sans-serif;border-radius:4px;background:linear-gradient(180deg,var(--teal2) 0%,var(--teal) 100%);color:#fff;box-shadow:0 1px 2px rgba(16,44,58,.3),inset 0 1px 0 rgba(255,255,255,.15)}
button:hover,.btn:hover{filter:brightness(1.06)}
button.sec,.btn.sec{background:linear-gradient(180deg,#fff,#F3F8F9);color:var(--teal);border:1px solid #A9CDD4;box-shadow:0 1px 1px rgba(16,44,58,.08)}
button.perigo{background:#C4321F}
.card{background:#fff;border:0;border-radius:5px;padding:24px;margin:0 0 20px;box-shadow:var(--sombra)}
main.estreita button{width:100%;margin-top:24px}

/* ================= Painel padrão (cabeçalho 56+, corpo 24) e Início ================= */
.painel{background:#fff;border-radius:5px;box-shadow:var(--sombra);display:flex;flex-direction:column;min-width:0}
.painel-cab{display:flex;align-items:center;gap:12px;min-height:56px;padding:16px 24px;border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff 0%,#F5F8F9 100%);border-radius:5px 5px 0 0}
.painel-cab h1,.painel-cab h2{margin:0}
.painel-cab p{margin:4px 0 0}
.painel-corpo{padding:24px;flex:1}
.rot-sec{margin:0 0 16px;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:var(--suave);font-weight:700}
main.larga:has(> .painel.inicio:only-of-type){display:flex;flex-direction:column}
.painel.inicio{min-height:calc(100vh - 52px - 60px - 48px)}
.atalhos-grade{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.atalhos-grade a{display:flex;align-items:center;gap:14px;padding:16px;border-radius:5px;background:#fff;color:var(--texto);text-decoration:none;box-shadow:inset 0 0 0 1px #DDE5E8,0 1px 2px rgba(16,44,58,.06);transition:box-shadow .15s}
.atalhos-grade a:hover{box-shadow:inset 0 0 0 1px #A9CDD4,0 4px 12px rgba(16,44,58,.12)}
.atalhos-grade .at-ic{width:44px;height:44px;flex:none;border-radius:6px;background:linear-gradient(180deg,#EEF6F8,#E2EEF1);color:var(--teal);display:flex;align-items:center;justify-content:center}
.atalhos-grade svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.atalhos-grade b{display:block;font-weight:500;color:var(--navy);font-size:15px}
.atalhos-grade small{display:block;font-size:13px;color:var(--suave);margin-top:2px}
@media (max-width:767px){.painel.inicio{min-height:0}.painel-corpo,.painel-cab{padding-left:16px;padding-right:16px}}

/* ================= Componentes comuns no padrão novo (valem para todas as telas) ================= */
.btn.bo,a.btn.bo{width:auto;margin:0;min-height:36px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);box-shadow:none}
.btn.bo:hover{background:rgba(255,255,255,.1)}
.barra-acoes .btn,.barra-acoes button{width:auto;margin:0}
.mbar>div{flex:1;min-width:0}
.mbar .mt{margin:0;font-weight:500;color:var(--texto)}
.mbar ul{margin:6px 0 0;padding-left:18px;color:#3E4C54}
.card[role=alert],.card.conflitos{background:#FDF2F1;border:1px solid #EFC4BE;box-shadow:none;border-radius:6px;padding:12px 16px 12px 48px;position:relative}
.card[role=alert]::before,.card.conflitos::before{content:"";position:absolute;left:16px;top:12px;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.5' fill='%23C4321F'/%3E%3Cpath d='M7 7l6 6M13 7l-6 6' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/20px}
.card[role=alert] p.erro{color:var(--texto);font-size:14px;margin:0 0 4px}
.card[role=alert] h2{margin:0 0 4px;font-size:14px}
main.larga>h1{margin:0 0 8px}
main.larga>h1+p.suave{max-width:860px;margin:0 0 24px}
main.larga>h2{margin:24px 0 12px}
fieldset{background:#fff;border:0;border-radius:5px;box-shadow:var(--sombra);padding:0 24px 24px;margin:0 0 20px;min-width:0}
legend{float:left;width:calc(100% + 48px);margin:0 -24px 8px;padding:16px 24px;font-size:15px;font-weight:500;color:var(--navy);border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff,#F5F8F9);border-radius:5px 5px 0 0;display:flex;align-items:center;gap:10px}
legend+*{clear:both}
fieldset button.auto,fieldset .btn.auto{margin-top:20px}
.grade{gap:0 20px}
table.resp{background:#fff;border-radius:5px;box-shadow:var(--sombra);overflow:hidden}
table.resp th{font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--suave);padding:12px 16px;border-bottom:1px solid #E3E9EC;background:#FAFBFC}
table.resp td{padding:12px 16px;border-bottom:1px solid #EEF2F4;vertical-align:middle}
table.resp tr>*:first-child{padding-left:24px}
table.resp tr>*:last-child{padding-right:24px}
table.resp tbody tr:last-child td{border-bottom:0}
table.resp td button,table.resp td .btn{width:auto;margin:0;min-height:32px;padding:0 12px;font-size:13px}
table.resp td button.sec.perigo,table.resp td button.remover{background:transparent;color:#B42318;border:0;box-shadow:none}
.chip{border-radius:4px;font-size:12px;padding:2px 8px;background:#EEF2F4;color:#4C5B63}
.chip.on{background:#E8F4EE;color:#1E7A55}.chip.off{background:#FDF2F1;color:#B42318}
.pop{border:0;border-radius:6px;padding:16px;box-shadow:0 4px 8px rgba(16,44,58,.10),0 12px 32px rgba(16,44,58,.16)}
.pop a{color:var(--texto)}
dialog.modal{width:min(520px,94vw);border-radius:8px;padding:0;box-shadow:0 8px 16px rgba(16,44,58,.14),0 24px 64px rgba(16,44,58,.24)}
dialog.modal::backdrop{background:rgba(16,44,58,.45)}
.modal-cab{position:sticky;top:0;z-index:1;align-items:center;padding:16px 24px;border-bottom:1px solid #E3E9EC;background:#fff}
.modal-cab h2{font-size:18px;font-weight:500;color:var(--navy)}
.modal-cab .fechar{width:36px;height:36px;min-height:0;margin:0;padding:0;font-size:22px;background:transparent;border:0;box-shadow:none;color:var(--suave)}
dialog.modal>*:not(.modal-cab):not(template){padding-left:24px;padding-right:24px}
dialog.modal>*:last-child{padding-bottom:24px}
.dlg-dia{border-top:1px solid #EEF2F4;margin-top:16px;padding-top:4px}
.dlg-dia h3{font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--suave);margin:16px 0 4px}
.vaga-dlg{border-top:1px solid #EEF2F4;padding:12px 0}
.vaga-dlg .v-rot{font-weight:500}
dialog.modal button{margin-top:12px}

/* ================= Calendário (mockup S17): lateral branca, barra em painel, grade com faixa dos dias em relevo ================= */
main.cheia{padding:0}
.cal-app{min-height:calc(100vh - 112px);background:var(--fundo)}
@media (min-width:768px){.cal-app.com-lateral{grid-template-columns:280px minmax(0,1fr)}}
.cal-lateral{background:#fff;border-right:0;box-shadow:1px 0 0 #E3E9EC;padding:20px}
.busca-lat input{min-height:40px;padding-left:36px}
.busca-lat .mais{width:36px;height:36px;border-radius:5px;background:linear-gradient(180deg,var(--teal2),var(--teal));box-shadow:0 1px 2px rgba(16,44,58,.3)}
.prof-cab{border-top:1px solid #EEF2F4;margin-top:20px;padding-top:16px}
.prof-cab h2{font-size:15px;font-weight:500;color:var(--navy)}
.prof-lista li{gap:12px;padding:8px 0;min-height:52px;border-bottom:1px solid #F1F4F6}
.avatar{width:36px;height:36px;background:#E3EEF1;color:var(--teal);font-size:12px;font-weight:700}
.prof-lista .nome{font-size:14px;color:var(--texto)}
.prof-lista .horas{font-weight:500;color:var(--suave)}
.cal-principal{padding:20px 24px 24px;display:flex;flex-direction:column;gap:20px}
.cal-barra{background:#fff;border-radius:5px;box-shadow:var(--sombra);padding:16px 20px;align-items:center;gap:16px 24px}
.cal-esc .rot{font-size:13px;font-weight:500;color:var(--suave);margin-bottom:6px}
.cal-esc .mini{color:var(--teal)}
.f-esc select{width:280px;font-size:15px;font-weight:500;color:var(--navy)}
.btn-publicar{min-height:40px;padding:0 18px;border-radius:4px;font-size:14px;font-weight:500;letter-spacing:0;background:linear-gradient(180deg,var(--navy2),var(--navy));box-shadow:0 1px 2px rgba(16,44,58,.35),inset 0 1px 0 rgba(255,255,255,.1)}
.cal-nav{gap:6px}
.f-visao select{min-height:32px;border-radius:4px;font-size:13px;padding:2px 28px 2px 10px}
.cal-nav .mes{font-size:20px;color:var(--navy);gap:8px}
.cal-nav .mes a[data-nav=ant],.cal-nav .mes a[data-nav=prox]{width:32px;min-height:32px;justify-content:center;border-radius:4px;color:var(--teal);font-size:22px}
.cal-nav .mes a[data-nav=ant]:hover,.cal-nav .mes a[data-nav=prox]:hover{background:var(--linha)}
.cal-nav .mes b{color:var(--navy);font-weight:500}
.cal-nav .mes .hoje-link,.cal-nav .mes button.hoje-link{min-height:30px;border-radius:4px;border:1px solid #A9CDD4;color:var(--teal);background:linear-gradient(180deg,#fff,#F3F8F9);font-size:13px;font-weight:500;padding:0 12px;box-shadow:none}
.cal-acoes{gap:8px}
.cal-acoes .acao{flex-direction:row;gap:8px;padding:0 12px;min-height:36px;border-radius:4px;color:var(--teal);font-weight:500}
.cal-acoes .acao:hover{background:var(--linha)}
.cal-acoes .acao svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6}
.mais-menu summary{width:36px;justify-content:center;border-radius:4px;color:var(--teal)}
.mais-menu summary:hover{background:var(--linha)}
.mais-menu .pop a{padding:10px 8px;border-radius:4px}
.mais-menu .pop a:hover{background:var(--linha)}
.cal-rolagem{flex:1;background:#fff;border-radius:5px;box-shadow:var(--sombra);max-height:calc(100vh - 112px - 160px)}
table.cal-grade{font-size:13px}
.cal-grade thead th{height:44px;font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#D5E3E8;background:linear-gradient(180deg,#3A4F5A 0%,#2B3E48 100%);border-bottom:0;border-left:1px solid rgba(255,255,255,.07)}
.cal-grade th.canto{background:linear-gradient(180deg,#3A4F5A 0%,#2B3E48 100%);border-left:0}
.filtro-eq summary{color:#D5E3E8;font-weight:500;text-transform:none;letter-spacing:0;font-size:13px;padding-left:12px}
.filtro-eq svg{stroke:currentColor}
.filtro-eq .pop{text-transform:none;letter-spacing:0;color:var(--texto);font-weight:400;text-align:left}
.cal-grade tr.datas th,.cal-grade tr.datas td{background:#F1F4F6;color:var(--navy);font-size:13px;font-weight:500;height:32px;border-right:1px solid #E3E9EC;border-bottom:1px solid #E3E9EC}
.cal-grade tr.datas td.fora{color:#A7B3B9;font-weight:400}
.cal-grade tr.datas td.hoje{background:#DFF1F3;color:var(--teal);box-shadow:inset 0 -2px 0 var(--cyan)}
.cal-grade th.rotulo{background:#fff;text-transform:none;text-align:left;padding:8px 16px;border-right-width:4px;border-bottom:1px solid #E3E9EC}
.cal-grade th.rotulo b{font-size:14px;font-weight:500;color:var(--navy)}
.cal-grade th.rotulo span{font-size:12px;color:var(--suave)}
.cal-grade td{background:#F7F9FA;border-right:1px solid #E3E9EC;border-bottom:1px solid #E3E9EC;padding:4px}
.cal-grade td.hoje{background:#EEF7F8}
.cal-grade td.sem-turno{background:repeating-linear-gradient(135deg,#EEF2F4,#EEF2F4 6px,#F7F9FA 6px,#F7F9FA 12px)}
.cal-grade tr.ultima th.rotulo,.cal-grade tr.ultima td{border-bottom:2px solid #C9D5DA}
.cel-btn{min-height:36px;display:flex;flex-direction:column;gap:4px;border-radius:3px;background:none;box-shadow:none;padding:0}
button.cel-btn{width:100%;margin:0;min-height:36px;color:inherit;font:inherit;filter:none}
button.cel-btn:hover,button.cel-btn:focus-visible{background:rgba(23,107,122,.06);filter:none}
.ev{position:relative;flex-direction:row;justify-content:space-between;align-items:center;gap:6px;min-height:34px;padding:4px 8px 4px 10px;background:#fff;border-left:4px solid #2DB37F;border-radius:3px;box-shadow:0 1px 2px rgba(16,44,58,.14),0 2px 6px rgba(16,44,58,.06);font-style:normal;font-size:13px;color:var(--texto);text-align:left;line-height:16px}
.ev .nome{flex:1;min-width:0}
.ev:has(.aberta){background:#FFF7F6;box-shadow:inset 0 0 0 1px #F2C9C4}
.ev:has(.aberta:empty)::after{content:"Vaga aberta";color:#B42318;font-weight:500;font-size:12px}
.ev.rascunho{outline:0;background:#fff;opacity:.85;box-shadow:0 1px 2px rgba(16,44,58,.10),inset 0 0 0 1px #DDE5E8}
.ev.conflito{outline:0;background:#FDF2F1;box-shadow:inset 0 0 0 1px #EFC4BE}
.selo-conflito{font-size:11px;font-weight:500;color:#B42318}
.tags-cel{font-size:11px;color:var(--suave)}
.dia-card{border:0;border-radius:5px;box-shadow:var(--sombra);margin:12px 16px;padding:12px 16px}
.dia-card.hoje{box-shadow:0 0 0 2px var(--cyan),var(--sombra)}
.dia-card h3{color:var(--navy);font-weight:500}
.dia-card .ev{margin:6px 0}
@media (max-width:767px){.cal-principal{padding:16px;gap:16px}.cal-barra{padding:12px 16px}.f-esc select{width:100%}}

/* subtelas do calendário */
.atalhos{gap:12px 20px}
kbd{border-color:#C9D5DA;background:#F7F9FA;color:var(--navy)}
.modal-ref{max-width:none;margin:0;border-radius:5px;box-shadow:var(--sombra);padding:24px}
.modal-ref>h1{font-size:22px;font-weight:500;color:var(--navy)}
.botoes-ref{justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #EEF2F4}
.botoes-ref .btn,.botoes-ref button{min-height:40px;font-size:14px;font-weight:500;border-radius:4px}
.botoes-ref .btn.sec{color:var(--teal);border-color:#A9CDD4;background:linear-gradient(180deg,#fff,#F3F8F9)}
.botoes-ref button{background:linear-gradient(180deg,var(--teal2),var(--teal))}
.form-ref .sec-ref>h3{font-size:15px;font-weight:500;color:var(--navy);border-bottom-color:#E3E9EC}
.form-ref label{font-size:13px;font-weight:500;color:var(--texto);margin:16px 0 6px}
.form-ref input[type=text],.form-ref input[type=email],.form-ref input[type=number],.form-ref input[type=date],.form-ref input:not([type]),.form-ref select{border:1px solid #C9D5DA;border-radius:4px;padding:8px 12px;background:#fff;font-size:14px}
.form-ref input:focus,.form-ref select:focus,.form-ref textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,107,122,.18)}
.neg-abas{gap:4px;border-bottom:1px solid #DDE5E8;margin:0 0 20px}
.neg-abas a{padding:12px 16px;font-size:14px;font-weight:500;text-transform:none;color:var(--suave);border-bottom:3px solid transparent}
.neg-abas a[aria-current=page]{color:var(--navy);border-bottom-color:var(--teal)}
.cor-amostra{width:14px;height:14px;border-radius:3px;border:0}
.vaga-dlg{display:grid;grid-template-columns:1fr auto;gap:8px 8px;align-items:center}
.vaga-dlg .v-rot{grid-column:1/-1}
.vaga-dlg .f-alocar{display:flex;gap:8px;margin:0}
.vaga-dlg .f-alocar select{flex:1;min-width:0}
.vaga-dlg .f-liberar{margin:0}
dialog.modal .vaga-dlg button{width:auto;margin:0;white-space:nowrap}
.vaga-dlg .f-liberar button.sec{background:transparent;border:0;box-shadow:none;color:#B42318}
#dlg-copia button,#dlg-dia button{width:auto}
input[type=color]{width:100%;height:40px;padding:4px;border:1px solid #C9D5DA;border-radius:4px;background:#fff;cursor:pointer}
fieldset details{border-top:1px solid #EEF2F4}
fieldset details>summary{list-style:none;cursor:pointer;color:var(--teal);font-weight:500;padding:12px 0;display:flex;align-items:center;gap:8px}
fieldset details>summary::-webkit-details-marker{display:none}
fieldset details>summary::before{content:"";width:6px;height:6px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
fieldset details[open]>summary::before{transform:rotate(45deg)}
fieldset details[open]{padding-bottom:12px}

/* ================= Negociações (mockup S25–S28) ================= */
.btn-az{min-height:36px;padding:0 14px;border:0;border-radius:4px;font-size:13px;font-weight:500;background:linear-gradient(180deg,var(--teal2),var(--teal));color:#fff;box-shadow:0 1px 2px rgba(16,44,58,.3),inset 0 1px 0 rgba(255,255,255,.15)}
.btn-az.vermelho{background:#C4321F;border:0}
.neg{padding:24px;display:flex;flex-direction:column;min-height:calc(100vh - 112px)}
.neg-topo{background:#fff;border-radius:5px 5px 0 0;box-shadow:var(--sombra);padding:16px 24px;margin:0;align-items:center;gap:16px 32px}
.f-neg{display:flex;align-items:center;gap:12px}
.f-neg label{margin:0;font-size:13px;font-weight:500;color:var(--suave);white-space:nowrap}
.f-neg select{width:min(320px,100%);font-size:15px;font-weight:500;color:var(--navy)}
.neg-mes{margin:0 0 0 auto;font-size:18px;color:var(--navy);gap:8px}
.neg-mes a{width:32px;min-height:32px;border-radius:4px;color:var(--teal);font-size:22px}
.neg-mes a:hover{background:var(--linha)}
.neg-mes b{color:var(--navy);font-weight:500}
.neg-abas{background:#fff;margin:0;padding:0 16px;box-shadow:var(--sombra);clip-path:inset(0 -20px -20px -20px);border-top:1px solid #EEF2F4}
.neg-topo+.neg-abas{border-radius:0}
.neg>.neg-abas:first-child{border-radius:5px 5px 0 0;border-top:0;clip-path:none}
.neg-abas a{padding:14px 12px;display:inline-flex;align-items:center;gap:6px}
.neg-abas .selo-novos{margin-left:2px}
.neg-abas .atualizar{width:36px;height:36px;padding:0;justify-content:center;border-radius:4px;color:var(--teal);font-size:18px;border:0}
.neg-abas .atualizar:hover{background:var(--linha)}
.neg>.mbar,.neg>.card[role=alert]{margin:20px 0 0}
.neg-lote{background:#fff;margin:0;padding:12px 24px;gap:8px;box-shadow:var(--sombra);clip-path:inset(0 -20px -20px -20px);border-top:1px solid #EEF2F4}
.neg-lote .btn-az{width:auto;margin:0}
.neg-vazio{flex:1;margin:0;background:#fff;border-radius:0 0 5px 5px;box-shadow:var(--sombra);clip-path:inset(0 -20px -20px -20px);border-top:1px solid #EEF2F4;padding:48px 24px;text-align:center;font-weight:400;color:var(--suave)}
.neg-rolagem{flex:1;background:#fff;border-radius:0 0 5px 5px;box-shadow:var(--sombra);clip-path:inset(0 -20px -20px -20px);overflow:auto}
.neg-rolagem table.resp,.neg table.neg-tabela{box-shadow:none;border-radius:0}
.neg>table.neg-tabela{background:#fff;box-shadow:var(--sombra);clip-path:inset(0 -20px -20px -20px);border-radius:0 0 5px 5px}
.adm-tabela th{color:var(--suave);font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;padding:12px 16px;border-bottom:1px solid #E3E9EC;background:#FAFBFC}
.adm-tabela td{font-size:14px;color:var(--texto);padding:12px 16px;border-bottom:1px solid #EEF2F4}
.neg-tabela .plantao-info{font-size:13px;color:var(--suave);margin-top:2px}
.aviso-limite{display:flex;gap:6px;align-items:flex-start;color:#7A4A06;font-size:12px;margin-top:6px}
.st{display:inline-flex;align-items:center;gap:8px;padding:0;border-radius:0;background:none!important;font-size:13px;font-weight:500;color:var(--texto)}
.st::before{content:"";width:8px;height:8px;border-radius:50%;background:#A7B3B9;box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.st-pendente{color:#93500A}.st-pendente::before{background:#F08C1A}
.st-concluido{color:#1E7A55}.st-concluido::before{background:#2DB37F}
.st-rejeitado{color:#B42318}.st-rejeitado::before{background:#E04436}
.st-cancelado,.st-expirado{color:var(--suave)}
.acoes-neg{gap:8px;justify-content:flex-end;white-space:nowrap}
.acoes-neg summary.btn-az{list-style:none;display:inline-flex;align-items:center;cursor:pointer}
.acoes-neg summary.btn-az.vermelho{background:transparent;color:#B42318;box-shadow:none}
.acoes-neg summary.btn-az.vermelho:hover{background:#FDF2F1}
.acoes-neg button.sec{min-height:32px}
.neg-menu .pop{min-width:300px;text-align:left;white-space:normal}
.neg-menu .pop .btn-az{margin-top:12px}
.neg-intro{max-width:860px;margin:0 0 20px}
.filtro-anuncio{background:#fff;border-radius:5px;box-shadow:var(--sombra);padding:16px 24px;margin:0 0 20px;gap:12px 20px}
.filtro-anuncio label{margin:0 0 6px}
.filtro-anuncio select,.filtro-anuncio input{min-height:40px}
.filtro-anuncio button{width:auto;min-height:40px}
.neg>h2{margin:0 0 12px}
.destaque-troca{background:#F0F7F9;border:1px solid #C6DEE4;border-left:1px solid #C6DEE4;border-radius:6px;padding:12px 16px}
@media (max-width:767px){.neg{padding:16px}.neg-topo{padding:12px 16px}.neg-mes{margin:0}}

/* ================= Check-in e Meu extrato (mockup S16, S29, S30) ================= */
.ck,.ck-tratar,.ext{padding:24px;display:flex;flex-direction:column;gap:20px}
.ck{max-width:none}
.ck-tratar>.neg-topo{border-radius:5px;padding:0 16px 0 8px;justify-content:space-between}
.ck-tratar>.neg-topo .neg-abas{box-shadow:none;clip-path:none;border:0;padding:0;background:none}
.ck-exportar{width:auto;margin:0;min-height:36px}
.filtro-ck{background:#fff;border-radius:5px;box-shadow:var(--sombra);padding:16px 24px;margin:0;gap:12px 20px}
.filtro-ck label{margin:0 0 6px}
.filtro-ck select,.filtro-ck input[type=date],.filtro-ck input[type=search]{min-height:40px}
.filtro-ck button{width:auto;min-height:40px}
.status-ck .cb{min-height:40px}
.ck-acoes{background:#fff;border-radius:5px 5px 0 0;box-shadow:var(--sombra);clip-path:inset(-20px -20px 0 -20px);margin:0 0 -20px;padding:8px 24px;gap:16px;border-bottom:1px solid #EEF2F4}
.ck-acoes .cb{min-height:40px}
.acao-txt{color:var(--teal);font-weight:500;text-transform:none;font-size:14px;min-height:36px;padding:0 10px;border-radius:4px;box-shadow:none}
.acao-txt:hover{background:var(--linha)}
.ck-acoes+table,.ck-acoes+.neg-vazio,.ck-acoes~.rel-tabela-rolagem{border-radius:0 0 5px 5px}
.ck-tratar table.resp,.ck-tratar .neg-vazio{border-top:0}
.ck-tratar .neg-vazio{border-radius:5px;clip-path:none}
.nao-inserido,.saldo-neg{color:#B42318}
.hora-verde{color:#1E7A55}
.cons-tabela .avatar{width:36px;height:36px;background:#E3EEF1;color:var(--teal);font-size:12px;font-weight:700;margin-right:12px}
.cons-tabela .nome-cons{color:var(--navy);font-weight:500;text-transform:none}
.cons-tabela .ver a{color:var(--teal);font-weight:500}
.ck-detalhe{background:#fff;border-radius:5px;box-shadow:var(--sombra);padding:12px 24px;margin:0}
.ck-detalhe h1{font-size:18px;font-weight:500;color:var(--navy)}
.ck-detalhe .voltar{width:36px;min-height:36px;border-radius:4px;color:var(--teal)}
.ck-detalhe .voltar:hover{background:var(--linha)}
.ck-detalhe .periodo{border:1px solid #C9D5DA;border-radius:4px;padding:6px 12px;color:var(--suave)}
/* meu check-in */
.ck>.neg-abas{border-radius:5px 5px 0 0;margin:0 0 -20px;clip-path:inset(-20px -20px 0 -20px)}
.ck-data{background:#fff;border-radius:0 0 5px 5px;box-shadow:var(--sombra);clip-path:inset(0 -20px -20px -20px);border-top:1px solid #EEF2F4;margin:0;padding:12px 24px;font-size:18px;color:var(--navy);gap:8px}
.ck-data a{width:36px;min-width:0;min-height:36px;border-radius:4px;color:var(--teal);font-size:22px}
.ck-data a:hover{background:var(--linha)}
.ck-data .hoje-link{width:auto;padding:0 12px;font-size:13px;font-weight:500;border:1px solid #A9CDD4}
.ck-card{margin:0;border-radius:5px;box-shadow:var(--sombra);padding:0;overflow:hidden}
.ck-card header{margin:0;padding:16px 24px;border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff,#F5F8F9);align-items:center}
.ck-card header h2{margin:0;font-size:16px}
.ck-hora{color:var(--navy);font-weight:500}
.ck-estado{padding:16px 24px;gap:8px}
.ck-estado li{border-bottom:1px solid #F1F4F6;padding-bottom:8px}
.ck-estado li:last-child{border-bottom:0}
.ck-estado .rot{font-weight:500;color:var(--suave);font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.ck-estado button{width:auto}
.ck-aviso{margin:0;padding:0 24px 16px}
.alerta{display:inline-flex;gap:6px;color:#7A4A06;font-weight:500}
.ck>.neg-vazio{border-radius:5px;clip-path:none;border-top:0}
/* meu extrato */
.ext-faixa{background:#fff;border-radius:5px;box-shadow:var(--sombra);margin:0;padding:16px 24px;flex-direction:row-reverse;color:var(--texto)}
.ext-faixa h1{color:var(--navy);font-size:18px;font-weight:500;margin:0}
.ext-periodo{gap:12px 16px}
.ext-periodo label{color:var(--texto);font-size:13px;margin:0 0 6px}
.ext-periodo input{min-height:40px}
.ext-periodo button{width:auto;min-height:40px;background:linear-gradient(180deg,var(--teal2),var(--teal));color:#fff;box-shadow:0 1px 2px rgba(16,44,58,.3)}
.ext-corpo{gap:20px;align-items:stretch;flex:1;grid-template-columns:minmax(260px,340px) 1fr}
.ext-corpo>aside{display:flex;flex-direction:column;gap:20px}
.ext-corpo>aside>.ext-card:last-child{flex:1}
.ext-card{margin:0;border-radius:5px;box-shadow:var(--sombra);padding:0 24px 20px}
.ext-card h2{margin:0 -24px 12px;padding:16px 24px;border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff,#F5F8F9);border-radius:5px 5px 0 0;font-size:15px;font-weight:500;color:var(--navy)}
.ext-vazio{color:var(--suave);font-weight:400;gap:12px}
.ext-x{width:40px;height:40px;font-size:24px;background:#EEF2F4;color:#A7B3B9}
.ext-horas dt,.ext-turnos dt{color:var(--texto)}
.ext-horas dd,.ext-turnos dd{color:var(--navy);font-weight:500}
.ext-horas>div,.ext-turnos>div{border-bottom-color:#F1F4F6}
.ext-tabela{display:flex;flex-direction:column}
.ext-tabela table.resp{box-shadow:none;border-radius:0;margin:0 -24px;width:calc(100% + 48px)}
.ext-rodape{margin-top:auto;padding-top:12px;font-size:13px}
.ext-boasvindas{border-radius:8px;padding:32px;max-width:440px;box-shadow:0 8px 16px rgba(16,44,58,.14),0 24px 64px rgba(16,44,58,.24)}
.ext-boasvindas::backdrop{background:rgba(16,44,58,.45)}
.ext-boasvindas h2{color:var(--navy);font-weight:500}
@media (max-width:767px){.ck,.ck-tratar,.ext{padding:16px;gap:16px}.ext-faixa{flex-direction:column;align-items:flex-start}}

/* ================= Relatórios (mockup S31–S34) ================= */
.barra-abas{display:flex;gap:2px;background:rgba(0,0,0,.16);border-radius:5px;padding:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.18);margin-left:12px}
.barra-abas a{display:flex;align-items:center;height:32px;padding:0 14px;border-radius:4px;color:#D9EEF1;text-decoration:none;font-weight:500;font-size:13px;white-space:nowrap}
.barra-abas a:hover{background:rgba(255,255,255,.08);color:#fff}
.barra-abas a[aria-current=page]{background:#fff;color:var(--navy);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.rel{padding:24px;display:flex;flex-direction:column;gap:20px;min-height:calc(100vh - 112px)}
.rel-filtro{margin:0;padding:20px 24px;border-radius:5px;box-shadow:var(--sombra)}
.rel-titulo{display:none}
.rel-campos{gap:16px 20px}
.rel-campos>div,.rel-campos .multi{min-width:170px}
.rel .multi .rot,.rel label{font-weight:500;color:var(--texto);font-size:13px;margin:0 0 6px}
.multi-menu summary{min-height:40px;border:1px solid #C9D5DA;border-radius:4px;padding:0 32px 0 12px;position:relative;box-shadow:inset 0 1px 2px rgba(16,44,58,.06)}
.multi-menu summary::after{content:"";position:absolute;right:14px;top:15px;width:6px;height:6px;border-right:1.6px solid var(--suave);border-bottom:1.6px solid var(--suave);transform:rotate(45deg)}
.rel-campos .btn-az,.rel-campos button{min-height:40px;width:auto}
.btn-az.off{background:#E3E9EC;color:#A7B3B9;box-shadow:none}
.rel-campos>a.btn-az:not(.off),.rel-campos>.btn-az.off{background:linear-gradient(180deg,#fff,#F3F8F9);color:var(--teal);border:1px solid #A9CDD4;box-shadow:0 1px 1px rgba(16,44,58,.08)}
.rel-campos>.btn-az.off{color:#A7B3B9;border-color:#DDE5E8}
.fin-opcoes .rot{font-size:13px;font-weight:500;color:var(--texto)}
.rel-vazio{flex:1;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:5px;box-shadow:var(--sombra);color:var(--suave);font-size:15px;padding:48px 24px;text-align:center}
.rel-vazio p{margin:4px 0}
.rel-vazio p:first-child strong{color:var(--navy);font-size:18px;font-weight:500}
.rel-vazio strong{font-weight:400}
.fin-aviso{display:flex;gap:12px;align-items:flex-start;background:#FFF8EB;border:1px solid #EDD3A3;border-radius:6px;padding:12px 16px;margin:0;color:#2B3A42}
.fin-aviso::before{content:"";width:20px;height:20px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 2.2l8.6 15H1.4z' fill='%23C7790E' stroke='%23C7790E' stroke-width='1.2' stroke-linejoin='round'/%3E%3Cpath d='M10 8v4' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='10' cy='14.6' r='1.05' fill='%23fff'/%3E%3C/svg%3E") no-repeat center/20px}
.fin-aviso strong{font-weight:500}
.rel>table.resp{flex:0 0 auto}
.fin-tabela tfoot td{background:#F5F8F9;font-weight:500;color:var(--navy);border-top:1px solid #E3E9EC}
.fin-tabela .sem{color:#B42318;font-size:13px}
.rel-contagem{margin:0}
.rel-contagem a{color:var(--teal)}
.rel-contagem a[aria-current]{color:var(--navy)}
.rel-tabela-rolagem{border-radius:5px;box-shadow:var(--sombra);max-height:calc(100vh - 112px - 200px)}
.hx th,.hx td{padding:12px 16px;border-bottom-color:#EEF2F4}
.hx thead th{background:#FAFBFC;color:var(--suave);font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}
.hx .nome{color:var(--navy);font-weight:500}
.hx tfoot td{background:#F5F8F9;color:var(--navy);font-weight:500}
.hx .neg{color:#B42318}
/* dashboard */
.dash-grade{gap:20px;margin:0}
.dash-card{border-radius:5px;box-shadow:var(--sombra);padding:0 24px 20px}
.dash-card>h2{margin:0 -24px 16px;padding:16px 24px;border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff,#F5F8F9);border-radius:5px 5px 0 0;font-size:15px;font-weight:500;color:var(--navy)}
.dash-num{color:var(--texto);border-bottom:1px solid #F1F4F6;padding:8px 0}
.dash-num b{font-size:18px;font-weight:500;color:var(--navy)}
.dash-chips{gap:6px}
.dash-chips span{background:#EEF6F8;color:var(--navy);border-radius:4px;padding:8px 12px;font-weight:500}
.dash-chips small{color:var(--suave);opacity:1}
.dash-donut .base{stroke:#E3E9EC}.dash-donut .a{stroke:#F08C1A}.dash-donut .b{stroke:var(--teal)}
.dash-donut text{fill:var(--navy)}
.dash-leg{color:var(--suave);font-size:13px}
.dash-leg i{border-radius:2px}
.dash-leg .base{background:#E3E9EC}.dash-leg .a{background:#F08C1A}.dash-leg .b{background:var(--teal)}.dash-leg .ds{background:#A7B3B9}
.dash-barras .util{fill:#A7B3B9}.dash-barras .fds{fill:#F08C1A}.dash-barras text{fill:var(--suave)}.dash-barras line{stroke:#E3E9EC}
.dash-rank h3{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--suave)}
.dash-rank li{border-bottom-color:#F1F4F6;font-size:14px}
.dash-rank li b{color:var(--navy);font-weight:500}
.dash-hl td{border-bottom-color:#F1F4F6;font-size:14px}
.dash-hl progress{accent-color:var(--teal)}
.dash-hl .n{color:#1E7A55;font-weight:500}.dash-hl .n.neg{color:#B42318}
.dash-alerta-n b{color:#B25E09;font-weight:500;font-size:28px}
.dash-alertas-tipos li,.dash-alertas li{border-bottom-color:#F1F4F6;font-size:14px}
.dash-vazio{color:var(--suave);font-size:14px}
@media (max-width:1100px){.barra-abas{margin-left:0;overflow-x:auto;max-width:100%}}
@media (max-width:767px){.rel{padding:16px;gap:16px}.rel-filtro{padding:16px}}
.barra-pag{padding-top:8px;padding-bottom:8px}

/* ================= Administrador (mockup S35–S43) ================= */
.btn.bw,a.btn.bw{width:auto;margin:0;min-height:36px;background:linear-gradient(180deg,#fff 0%,#EEF4F6 100%);color:var(--navy);border:0;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.adm-barra{position:static;margin:24px 24px 0;border-radius:5px;box-shadow:var(--sombra);padding:16px 24px;gap:12px 20px;align-items:flex-end}
.adm-barra label,.adm-barra .rot{font-size:13px;font-weight:500;color:var(--texto);margin:0 0 6px}
.adm-barra .c select,.adm-barra .c.q input{min-height:40px;font-size:14px;padding:8px 12px}
.adm-barra .c.q input{width:280px}
.adm-barra .cad{flex-direction:row;align-items:center;gap:4px 12px;flex-wrap:wrap}
.adm-barra .cad .rot{width:100%}
.adm-barra .cad .cb{min-height:40px;font-size:14px;color:var(--texto)}
.adm-barra .cad .cb input{width:18px;height:18px}
.adm-barra .bts{gap:8px}
.adm-barra .bts .btn,.adm-barra .bts button{min-height:40px;border-radius:4px;font-size:14px;font-weight:500;color:var(--teal);border:1px solid #A9CDD4;background:linear-gradient(180deg,#fff,#F3F8F9);box-shadow:0 1px 1px rgba(16,44,58,.08)}
.adm{padding:24px;display:flex;flex-direction:column;gap:20px}
.adm-linha{gap:20px;margin:0}
.adm-card{margin:0;border-radius:5px;box-shadow:var(--sombra);padding:0 24px 20px}
.adm-card>h2,.adm-card>.adm-tit{margin:0 -24px 16px;padding:14px 24px;border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff,#F5F8F9);border-radius:5px 5px 0 0}
.adm-card h2{font-size:15px;font-weight:500;color:var(--navy);border:0;padding-bottom:0;margin-bottom:0}
.adm-card>h2{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #E3E9EC}
.adm-tit a{color:var(--teal);font-weight:500;font-size:14px;text-decoration:none}
.adm-tit .btn-az{color:#fff}
.adm-card .adm-tabela{margin:0 -24px;width:calc(100% + 48px)}
.adm-tabela th:first-child,.adm-tabela td:first-child{padding-left:24px}
.adm-tabela th:last-child,.adm-tabela td:last-child{padding-right:24px}
.adm-tabela .selo{border-radius:4px;font-weight:500;padding:2px 8px}
.adm-tabela .selo.on{background:#E8F4EE;color:#1E7A55}.adm-tabela .selo.off{background:#EEF2F4;color:var(--suave)}
.adm-tabela td.eqs{font-style:normal;text-transform:none;color:var(--suave);font-size:13px}
.adm-tabela .lapis{color:var(--teal)}
.adm-tabela .lapis svg{fill:none;stroke:currentColor;stroke-width:1.5}
.inst-nome{color:var(--navy);font-weight:500;font-size:16px;text-align:left;margin:0 0 12px}
.inst dt{flex:0 0 72px;text-align:left;font-weight:500;font-size:13px;color:var(--suave)}
.inst dd{color:var(--texto)}
.donut .d-fundo{stroke:#E3E9EC}.donut .d-naloc{stroke:#A7B3B9}.donut .d-aloc{stroke:var(--teal)}
.donut .d-num{fill:var(--navy)}.donut .d-leg{fill:var(--suave)}
.legenda-d .q.aloc{background:var(--teal)}.legenda-d .q.naloc{background:#A7B3B9}
.contrato dt{font-weight:500;color:var(--suave)}
.contrato .uc b{color:var(--navy);font-weight:500}
.grafico .barra-g{fill:var(--teal)}.grafico .valor{fill:var(--navy)}
.grafico .eixo{stroke:#C9D5DA}
.tag-chip{background:#EEF6F8;color:var(--navy);border-radius:4px;font-weight:500;padding:2px 6px 2px 10px;box-shadow:inset 0 0 0 1px #D6E8EC}
.tag-chip .tag-menu summary.x{color:#B42318}
.form-tag input{border:1px solid #C9D5DA;border-radius:4px;padding:8px 12px;font-size:14px;min-height:40px}
.nuvem-tit{font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--suave)}
/* formulários do administrador (escala, usuário, instituição) */
.modal-ref{padding:0 24px 24px;margin:0}
main.larga>.modal-ref{min-height:calc(100vh - 112px - 48px)}
.modal-ref>h1{margin:0 -24px 8px;padding:16px 24px;border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff,#F5F8F9);border-radius:5px 5px 0 0;font-size:18px}
.form-ref .sec-ref{margin:24px 0 0;padding-top:4px}
.form-ref .sec-ref>h3{gap:10px;padding-bottom:10px;margin-bottom:4px}
.form-ref .sec-ref>h3 .cheio{fill:var(--teal)}.form-ref .sec-ref>h3 .vazio{stroke:var(--teal)}
.form-ref .grade{gap:0 20px}
.form-ref .rotulo-radio{font-size:13px;font-weight:500;color:var(--texto)}
.form-ref .papel-escala{background:#F7F9FA;border:1px solid #E3E9EC;border-radius:5px;padding:12px 16px}
.chave-caixa{background:#F7F9FA;border:1px solid #E3E9EC;border-radius:5px;padding:12px 16px;margin:12px 0}
.chave-caixa .ch-titulo{font-size:14px;font-weight:500;color:var(--texto)}
.chave-caixa .ch-ajuda{font-size:13px;color:var(--suave)}
.chave{justify-content:flex-start}
.chave .trilho{width:36px;height:20px;border-radius:10px;background:#C9D5DA}
.chave .trilho::after{top:2px;left:2px;width:16px;height:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.chave input:checked~.trilho{background:var(--teal)}
.chave input:checked~.trilho::after{left:18px;background:#fff}
.chave input:focus-visible~.trilho{outline-color:var(--teal)}
.chave .estado::before{font-size:14px;color:var(--texto)}
.bloco-lista h2{font-size:15px;font-weight:500;color:var(--navy)}
.bloco-lista .passos>div{font-size:14px;color:var(--texto)}
.bloco-lista .btn{min-height:36px;font-size:13px;font-weight:500;border-radius:4px}
.bloco-link{background:#F7F9FA;border:1px solid #E3E9EC;border-radius:5px;padding:16px;margin:16px 0}
.bloco-link h2{font-size:15px;font-weight:500;color:var(--navy)}
.bloco-link .link-linha input{border:1px solid #C9D5DA;border-radius:4px;padding:8px 12px;background:#fff;font-size:13px}
.bloco-link .link-linha .btn,.bloco-link .link-linha button,.bloco-link .form-link button,.bloco-link .link-acoes>form>button{border-radius:4px;font-weight:500}
@media (max-width:767px){.adm-barra{margin:16px 16px 0;padding:12px 16px}.adm{padding:16px}.adm-barra .c.q input{width:100%}}

/* ================= Mural (mockup S14) ================= */
.mural{background:var(--fundo);padding:24px;min-height:calc(100vh - 112px);display:flex;flex-direction:column}
.mural-corpo{flex:1;gap:20px}
@media (min-width:900px){.mural-corpo{grid-template-columns:320px minmax(0,1fr);min-height:0}}
.mural-lista{background:#fff;border-radius:5px;box-shadow:var(--sombra);padding:0;border-right:0;display:flex;flex-direction:column}
.mural-lista h2{margin:0;padding:16px 20px;font-size:15px;font-weight:500;color:var(--navy);border-bottom:1px solid #E3E9EC;background:linear-gradient(180deg,#fff,#F5F8F9);border-radius:5px 5px 0 0}
.busca-conv{margin:16px 20px}
.busca-conv input,.busca-msg input{min-height:40px;border-color:#C9D5DA;font-size:14px}
.lupa{background:none!important;box-shadow:none!important;color:var(--suave)}
.mural-lista li a{padding:12px 20px;font-size:14px;color:var(--texto);border-bottom-color:#F1F4F6}
.mural-lista li.ativa a{background:#EEF6F8;box-shadow:inset 3px 0 0 var(--teal);color:var(--navy);font-weight:500}
.mural-lista li a:hover{background:#F7F9FA}
.mural-conversa{background:#fff;border-radius:5px;box-shadow:var(--sombra);overflow:hidden}
.conv-cab{padding:12px 24px;background:linear-gradient(180deg,#fff,#F5F8F9);border-bottom-color:#E3E9EC;align-items:center}
.conv-cab .rot{font-size:12px;color:var(--suave)}
.conv-cab h2{font-size:16px;font-weight:500;color:var(--navy)}
.msgs{padding:8px 24px;max-height:calc(100vh - 112px - 48px - 200px)}
.msg{margin:0 -24px;padding:16px 24px;border-bottom-color:#F1F4F6}
.avatar-msg{width:36px;height:36px;background:#E3EEF1;color:var(--teal);font-size:12px;font-weight:700}
.corpo-msg header strong{font-size:14px;font-weight:500;text-transform:none;color:var(--navy)}
.corpo-msg time{font-size:13px;color:var(--suave)}
.texto-msg{font-size:14px;line-height:21px;color:var(--texto)}
.divisor{font-size:13px;color:var(--suave)}
.divisor::before,.divisor::after{background:#E3E9EC}
.divisor.novos{color:#B42318}.divisor.novos::before,.divisor.novos::after{background:#EFC4BE}
.envio{padding:16px 24px;background:#FAFBFC;border-top-color:#E3E9EC;gap:12px}
.envio textarea{border-color:#C9D5DA;font-size:14px}
.envio .btn-az{min-height:40px}
.somente-leitura{padding:12px 24px;color:var(--suave)}
@media (max-width:899px){.mural{padding:16px}}

/* ================= Escala do dia (mockup S15) ================= */
.dia-app{padding:24px;display:flex;flex-direction:column;gap:0;min-height:calc(100vh - 112px)}
.dia-topo{background:#fff;border-radius:5px 5px 0 0;box-shadow:var(--sombra);clip-path:inset(-20px -20px 0 -20px);padding:12px 24px;border-bottom:1px solid #EEF2F4}
.rot-leg{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--suave)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:0;border-radius:0;background:none!important;font-size:13px;color:var(--texto)}
.pill::before{content:"";width:10px;height:10px;border-radius:2px;background:#C9D5DA}
.pill.sobre::before{background:#F5C77E}.pill.agora::before{background:var(--teal)}.pill.prox::before{background:#9CC3CB}.pill.pass::before{background:#DDE5E8}
.pill.pass{color:var(--suave)}
.dia-data{font-size:18px;color:var(--navy);gap:8px}
.dia-data .tit{font-weight:500}
.dia-data a{width:32px;min-width:0;min-height:32px;border-radius:4px;color:var(--teal);font-size:22px}
.dia-data a:hover{background:var(--linha)}
.dia-data .hoje-link{width:auto;padding:0 12px;font-size:13px;font-weight:500;border:1px solid #A9CDD4;border-radius:4px}
.f-dia input[type=date]{color:var(--teal)}
.dia-atual{color:var(--suave);font-size:13px}
.dia-barra{background:#fff;box-shadow:var(--sombra);clip-path:inset(0 -20px 0 -20px);border-top:0;padding:8px 24px;gap:8px;border-bottom:1px solid #EEF2F4}
.dia-barra .acao-txt,.dia-barra .filtros summary{color:var(--teal);font-weight:500;font-size:14px;padding:0 10px;border-radius:4px}
.dia-barra .acao-txt:hover,.dia-barra .filtros summary:hover{background:var(--linha)}
.dia-barra svg{stroke:currentColor}
.dia-rolagem{flex:1;background:#fff;border-radius:0 0 5px 5px;box-shadow:var(--sombra);clip-path:inset(0 -20px -20px -20px);max-height:calc(100vh - 112px - 48px - 110px)}
.dia-matriz thead th{background:linear-gradient(180deg,#3A4F5A 0%,#2B3E48 100%);color:#fff;font-size:13px;font-weight:500;letter-spacing:.02em;border-bottom:0}
.dia-matriz th.faixa{background:#F5F8F9;border-right-color:#E3E9EC}
.dia-matriz th.faixa span{color:var(--navy);font-style:normal;font-weight:500;font-size:12px;letter-spacing:.04em}
.dia-matriz td{border-bottom-color:#E3E9EC;border-right-color:#EEF2F4;padding:12px 16px}
.faixa-agora td{background:#F4FAFB}
.cartao{background:#fff;border-radius:3px;border-left:3px solid var(--teal);box-shadow:0 1px 2px rgba(16,44,58,.12);padding:8px 10px;margin:0 0 8px}
.faixa-proximos .cartao,.faixa-prox .cartao{border-left-color:#9CC3CB}
.faixa-passados .cartao,.faixa-pass .cartao{border-left-color:#DDE5E8}
.cartao b{font-size:14px;font-weight:500;color:var(--navy)}
.cartao .eq,.cartao .obs{font-size:12px;text-transform:none;color:var(--suave)}
.cartao .hr{font-size:12px;color:var(--suave)}
.cartao.sobreaviso{background:#FFF8EB;border-left-color:#F0A23A;padding:8px 10px}
.dia-app>p.suave{margin:12px 0 0}
@media (max-width:767px){.dia-app{padding:16px}}

/* ================= Celular: revisão tela a tela ================= */
@media (max-width:767px){
  /* topo: cabe tudo em 375 px */
  .topo .marca{gap:8px}
  .topo .marca-x{width:44px}
  .topo .marca-x img{width:28px;height:28px}
  .topo .marca-logo{height:15px}
  .topo-dir{gap:0;padding-right:4px;min-width:0}
  .topo .hosp{max-width:118px;height:32px;padding:0 6px;gap:4px;font-size:13px}
  .topo .ic-topo,.topo .sair button{width:36px;height:36px}
  .topo .usuario .av{width:28px;height:28px;font-size:11px}
  /* trilho vira faixa de ícones com rolagem lateral */
  nav.trilho{gap:0;justify-content:flex-start;box-shadow:0 2px 4px rgba(10,30,40,.2)}
  nav.trilho>a,nav.trilho summary{width:48px;height:44px;flex:none}
  nav.trilho .tr-sub .sub{top:100px}
  /* barra da página */
  .barra-pag{gap:8px 12px}
  .caminho{font-size:12px;flex-wrap:wrap;row-gap:2px}
  .barra-acoes{margin-left:0;width:100%}
  .barra-acoes .btn{flex:1 1 auto;min-height:36px;font-size:13px;padding:0 12px}
  .barra-abas{width:100%;margin:0;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .barra-abas::-webkit-scrollbar{display:none}
  /* abas das telas: uma linha só, rolando de lado */
  .neg-abas{flex-wrap:nowrap;overflow-x:auto;gap:0;scrollbar-width:none;padding:0 4px}
  .neg-abas::-webkit-scrollbar{display:none}
  .neg-abas a{white-space:nowrap;padding:12px 10px;flex:none}
  .neg-topo,.ck-tratar>.neg-topo{flex-direction:column;align-items:stretch;gap:12px}
  .ck-tratar>.neg-topo{padding:0 8px 12px}
  .ck-exportar{align-self:flex-start}
  .f-neg{flex-direction:column;align-items:stretch;gap:6px}
  .f-neg select{width:100%}
  .neg-mes{justify-content:center}
  /* filtros: campos na largura toda, botões lado a lado */
  .rel-campos>div,.rel-campos .multi,.filtro-ck>div,.filtro-ck .busca-ck,.filtro-anuncio>div,.adm-barra .c{flex:1 1 100%;min-width:0}
  .rel-campos select,.rel-campos input,.filtro-ck select,.filtro-ck input[type=date],.filtro-ck input[type=search],.filtro-anuncio select,.filtro-anuncio input{width:100%}
  .multi-menu summary{min-width:0}
  .rel-campos .btn-az,.rel-campos button,.filtro-ck button,.filtro-anuncio button{flex:1 1 auto}
  .fin-opcoes{flex:1 1 100%}
  .status-ck{flex-wrap:wrap}
  .adm-barra .bts{flex:1 1 100%}
  .adm-barra .bts .btn,.adm-barra .bts button{flex:1}
  /* faixas de ação sobre tabelas */
  .ck-acoes,.neg-lote{flex-wrap:wrap;padding:8px 16px;gap:4px 12px}
  /* tabelas que viram cartões: respiro e borda */
  table.resp{background:transparent;box-shadow:none}
  table.resp tbody tr{background:#fff;border:0;border-radius:5px;box-shadow:var(--sombra);margin:0 0 12px;padding:8px 16px}
  table.resp tr>*:first-child,table.resp tr>*:last-child{padding-left:0;padding-right:0}
  table.resp td{border:0;padding:8px 0;border-bottom:1px solid #F1F4F6}
  table.resp td:last-child{border-bottom:0}
  table.resp td::before{color:var(--suave);font-weight:500;font-size:13px}
  .neg-rolagem,.neg>table.neg-tabela{background:transparent;box-shadow:none;clip-path:none}
  .adm-card .adm-tabela{margin:0;width:100%}
  /* calendário no celular */
  .cal-barra{flex-direction:column;align-items:stretch}
  .cal-esc .linha{flex-wrap:wrap}
  .cal-nav{align-items:stretch}
  .cal-nav .mes{justify-content:center;flex-wrap:wrap}
  .cal-acoes{justify-content:space-between}
  .dia-card{margin:0 0 12px}
  .so-cel{display:flex;flex-direction:column}
  /* mural e extrato */
  .mural-corpo{gap:16px}
  .msgs{max-height:none}
  .envio{flex-direction:column;align-items:stretch}
  .ext-periodo{width:100%}
  .ext-periodo>div{flex:1 1 140px}
  .ext-periodo input{width:100%}
  .ext-periodo button{flex:1 1 100%}
  /* escala do dia */
  .dia-topo{grid-template-columns:1fr;gap:12px;padding:12px 16px}
  .dia-data{flex-wrap:wrap}
  .dia-atual{text-align:left}
  .dia-barra{justify-content:flex-start;padding:8px 16px}
}
@media (max-width:400px){
  .topo .marca-logo{display:none}
  .topo .hosp{max-width:150px}
}

/* ================= Formulários longos: menu de seções + duas colunas (mockup S38, S40) ================= */
.form-com-menu{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:stretch;min-height:calc(100vh - 112px - 48px)}
.menu-secoes{background:#fff;border-radius:5px;box-shadow:var(--sombra);padding:8px 0;display:flex;flex-direction:column;align-self:stretch}
.menu-secoes b{padding:12px 20px 8px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--suave)}
.menu-secoes a{padding:0 20px;min-height:40px;display:flex;align-items:center;color:var(--texto);text-decoration:none}
.menu-secoes a:hover{background:var(--linha);color:var(--navy)}
.form-com-menu>.modal-ref{display:flex;flex-direction:column;min-height:0}
.form-com-menu .form-ref{flex:1;display:flex;flex-direction:column}
.secoes-2{columns:2;column-gap:40px;column-rule:1px solid #EEF2F4}
.secoes-2>.sec-ref{break-inside:avoid;display:inline-block;width:100%;margin:0 0 8px}
.secoes-2>.sec-ref:first-child{margin-top:16px}
.sec-ref{scroll-margin-top:136px}
.form-com-menu .botoes-ref,.form-usuario .botoes-ref{margin-top:auto;position:sticky;bottom:0;background:#fff;margin-left:-24px;margin-right:-24px;padding:16px 24px;border-top:1px solid #E3E9EC;border-radius:0 0 5px 5px;z-index:2}
.form-usuario{display:block}
.form-usuario.com-lateral{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:stretch;min-height:calc(100vh - 112px - 48px)}
.lateral-usuario{display:flex;flex-direction:column;gap:20px;min-width:0}
.lateral-usuario>.painel{padding:20px 24px}
.lateral-usuario>.painel:last-child{flex:1}
.lateral-usuario .bloco-link{background:none;border:0;padding:0;margin:0}
.lateral-usuario .bloco-lista h2{margin:0 0 4px}
.lateral-usuario .bloco-lista .passos{grid-template-columns:1fr;gap:0}
.lateral-usuario .bloco-lista .passos>div{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #F1F4F6}
.lateral-usuario .bloco-lista .passos>div:last-child{border-bottom:0}
.lateral-usuario .bloco-lista .passos .btn{width:auto;margin:0;flex:none}
.form-usuario>.modal-ref{display:flex;flex-direction:column;min-height:0}
.form-usuario .form-ref{flex:1;display:flex;flex-direction:column}
@media (max-width:1100px){.form-usuario.com-lateral{grid-template-columns:1fr}.secoes-2{columns:1}}
@media (max-width:900px){.form-com-menu{grid-template-columns:1fr}.menu-secoes{flex-direction:row;overflow-x:auto;padding:0;position:sticky;top:52px;z-index:5}.menu-secoes b{display:none}.menu-secoes a{white-space:nowrap;flex:none}}
.chave-caixa{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px}
.chave-caixa .ch-titulo{grid-column:1;grid-row:1}
.chave-caixa .chave{position:relative;grid-column:2;grid-row:1;min-height:32px}
.chave .estado{display:none}
.chave input[type=checkbox]{left:0;top:-6px}
.chave-caixa .ch-ajuda{grid-column:1/-1;grid-row:2}
.chave-caixa .ch-ajuda:empty{display:none}
.chave-caixa .chave,.form-ref .chave-caixa .chave{margin:0}
.form-com-menu .botoes-ref,.form-usuario .botoes-ref{z-index:10}
.btn.perigo-txt,a.btn.perigo-txt{width:auto;background:transparent;color:#B42318;border:1px solid #EFC4BE;box-shadow:none}
.btn.perigo-txt:hover{background:#FDF2F1}
button.perigo{background:#C4321F;box-shadow:0 1px 2px rgba(16,44,58,.3)}
.dlg-botoes{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}
.dlg-botoes button{width:auto;margin:0}
.seg-2fa p{margin:8px 0 12px}
.lista-hospitais{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.lista-hospitais form{margin:0}
button.hosp-opcao{width:100%;margin:0;justify-content:space-between;min-height:48px;padding:0 16px;background:#fff;color:var(--navy);border:1px solid #DDE5E8;box-shadow:0 1px 2px rgba(16,44,58,.06);font-weight:500;text-align:left}
button.hosp-opcao:hover{border-color:#A9CDD4;background:#F7FBFC;filter:none}
button.hosp-opcao svg{width:16px;height:16px;flex:none;stroke:var(--teal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
input.link-acesso{width:100%;min-width:220px;font:13px ui-monospace,Consolas,monospace;color:var(--texto);background:#F7F9FA}
.rot-link{margin-top:16px}
.form-link-novo{margin-top:8px}
.form-link-novo button{margin:0}

/* ================= Menu lateral: expandir e recolher (botão ☰ no topo) ================= */
/* O botão ocupa o canto do topo, alinhado com o trilho de ícones (no lugar do X) */
.topo .menu-btn{width:64px;height:52px;min-height:0;margin:0 18px 0 0;padding:0;flex:none;border-radius:0;background:rgba(0,0,0,.18);box-shadow:none;color:#D5E3E8;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.topo .menu-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.topo .menu-btn[aria-expanded=true]{color:#fff}
.topo .menu-btn:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}
.topo .menu-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round}
nav.trilho{transition:width .18s ease}
.menu-fundo{display:none}

/* Recolhido (computador): o nome aparece ao passar o mouse */
@media (min-width:768px) and (hover:hover){
  html:not(.menu-aberto) nav.trilho>a:hover>span,html:not(.menu-aberto) nav.trilho details:not([open])>summary:hover>span{left:60px;top:50%;transform:translateY(-50%);width:auto;height:auto;overflow:visible;clip:auto;padding:6px 10px;border-radius:4px;background:#0E2A38;color:#fff;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 4px 12px rgba(8,24,32,.3);pointer-events:none;z-index:50}
}

/* Expandido (computador) e gaveta (celular): ícone + nome; submenus em sanfona */
html.menu-aberto nav.trilho,html.menu-movel nav.trilho{width:236px;align-items:stretch;overflow-y:auto;overflow-x:hidden}
html.menu-aberto nav.trilho>a,html.menu-aberto nav.trilho summary,html.menu-movel nav.trilho>a,html.menu-movel nav.trilho summary{width:auto;height:46px;justify-content:flex-start;gap:14px;padding:0 18px 0 21px;flex:none}
html.menu-aberto nav.trilho svg,html.menu-movel nav.trilho svg{flex:none}
html.menu-aberto nav.trilho>a>span,html.menu-aberto nav.trilho summary>span,html.menu-movel nav.trilho>a>span,html.menu-movel nav.trilho summary>span{position:static;width:auto;height:auto;overflow:hidden;clip:auto;font-size:14px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}
html.menu-aberto nav.trilho summary::after,html.menu-movel nav.trilho summary::after{content:"";margin-left:auto;width:6px;height:6px;flex:none;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
html.menu-aberto nav.trilho details[open]>summary::after,html.menu-movel nav.trilho details[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
html.menu-aberto nav.trilho .tr-sub .sub,html.menu-movel nav.trilho .tr-sub .sub{position:static;min-width:0;padding:4px 0 6px;border-radius:0;background:rgba(0,0,0,.18);box-shadow:none}
html.menu-aberto nav.trilho .tr-sub .sub b,html.menu-movel nav.trilho .tr-sub .sub b{display:none}
html.menu-aberto nav.trilho .tr-sub .sub a,html.menu-movel nav.trilho .tr-sub .sub a{min-height:38px;padding:0 16px 0 56px;color:#B4C9D1;font-size:13.5px}
html.menu-aberto nav.trilho .tr-sub .sub a:hover,html.menu-movel nav.trilho .tr-sub .sub a:hover{background:rgba(255,255,255,.06);color:#fff}
html.menu-aberto nav.trilho .tr-sub .sub a[aria-current=page],html.menu-movel nav.trilho .tr-sub .sub a[aria-current=page]{color:#fff;font-weight:500;background:rgba(255,255,255,.05);box-shadow:inset 3px 0 0 var(--cyan)}
html.menu-aberto nav.trilho .selo-novos,html.menu-movel nav.trilho .selo-novos{position:static;margin:0 0 0 auto}

/* Celular: o menu fica escondido e o ☰ abre uma gaveta por cima da página */
@media (max-width:767px){
  .topo .menu-btn{width:52px;margin-right:10px}
  nav.trilho{display:none}
  html.menu-movel nav.trilho{display:flex;position:fixed;top:52px;bottom:0;left:0;height:auto;flex-direction:column;gap:2px;padding:8px 0 16px;width:264px;max-width:86vw;background:linear-gradient(90deg,#123344 0%,var(--navy) 100%);box-shadow:4px 0 18px rgba(8,24,32,.35);z-index:45}
  html.menu-movel nav.trilho .fim{margin-top:auto}
  html.menu-movel .menu-fundo{display:block;position:fixed;top:52px;right:0;bottom:0;left:0;background:rgba(8,24,32,.45);z-index:44}
  html.menu-movel body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){nav.trilho,nav.trilho summary::after{transition:none}}

/* Publicar: o painel abre alinhado à direita do botão, sem passar da borda da tela */
details.publicar .pop{left:auto;right:0;max-width:min(360px,calc(100vw - 32px))}
