:root {
  --bg: #FAF6EF;
  --painel: #F3ECE1;
  --fundo2: #EDE4D6;
  --card: #FFFDF9;
  --txt: #1F1B17;
  --txt2: #5E5852;
  --txt3: #8E8781;
  --borda: #E4DBCF;
  --tinta: #121110;
  --pri: #0E6158;
  --pri-escuro: #0A4A43;
  --pri-claro: #E1EFEB;
  --alerta: #8A5A00;
  --alerta-claro: #F6E7C8;
  --erro: #9B2C1F;
  --erro-claro: #F7E0DB;
  --ok: #22552A;
  --ok-claro: #DCEAD8;
  --raio: 20px;
  --raio-p: 12px;
  --sombra: 0 1px 0 rgba(255,255,255,.6) inset, 0 24px 50px -40px rgba(60,40,20,.45);
  --serif: 'Spectral', Georgia, 'Times New Roman', serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #151311; --painel: #1C1A17; --fundo2: #26231F; --card: #1E1B18; --txt: #F1ECE4; --txt2: #B3ABA2; --txt3: #857E77; --borda: #33302B;
    --tinta: #F1ECE4; --pri: #5CC2B1; --pri-escuro: #7ED3C4; --pri-claro: #183330;
    --alerta: #E8B25C; --alerta-claro: #3A2C12; --erro: #F08A7A; --erro-claro: #3C1D18; --ok: #8FD1AE; --ok-claro: #19301F;
    --sombra: none;
  }
}
:root[data-theme="dark"] {
  --bg: #151311; --painel: #1C1A17; --fundo2: #26231F; --card: #1E1B18; --txt: #F1ECE4; --txt2: #B3ABA2; --txt3: #857E77; --borda: #33302B;
  --tinta: #F1ECE4; --pri: #5CC2B1; --pri-escuro: #7ED3C4; --pri-claro: #183330;
  --alerta: #E8B25C; --alerta-claro: #3A2C12; --erro: #F08A7A; --erro-claro: #3C1D18; --ok: #8FD1AE; --ok-claro: #19301F;
  --sombra: none;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--txt); font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; font-size: 15px; line-height: 1.45; }
body { min-height: 100vh; }
a { color: var(--pri); }
h1, h2, h3 { margin: 0 0 .5rem; line-height: 1.2; }
h1 { font-size: 1.35rem; } h2 { font-size: 1.1rem; } h3 { font-size: 1rem; }
.carregando { padding: 3rem; text-align: center; color: var(--txt2); }
.carregando::before { content: ""; display: block; width: 56px; height: 56px; margin: 0 auto 14px; background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-11 4 122 122%22%3E%3Cg transform=%22matrix(0.38653,0,0,0.38653,-7.9796,11.9062)%22 fill=%22%23141414%22%3E%3Cpolygon points=%22150,-15.28 249.99,35.67 229.13,76.65 150,36.34 70.87,76.65 50.01,35.67%22 opacity=%220%22%3E%3Canimate attributeName=%22opacity%22 dur=%221.4s%22 fill=%22freeze%22 keyTimes=%220;.18;1%22 values=%220;1;1%22/%3E%3CanimateTransform attributeName=%22transform%22 type=%22translate%22 dur=%221.4s%22 fill=%22freeze%22 keyTimes=%220;.18;1%22 values=%220 -60;0 0;0 0%22 calcMode=%22spline%22 keySplines=%22.2 .8 .3 1;0 0 1 1%22/%3E%3C/polygon%3E%3Cpath d=%22M73,180 A77,77 0 0,0 227,180 A77,77 0 0,0 73,180%22 fill=%22none%22 stroke=%22%23141414%22 stroke-width=%2246%22 stroke-dasharray=%22485 485%22 stroke-dashoffset=%22485%22%3E%3Canimate attributeName=%22stroke-dashoffset%22 dur=%221.4s%22 fill=%22freeze%22 keyTimes=%220;.12;.66;1%22 values=%22485;485;0;0%22 calcMode=%22spline%22 keySplines=%220 0 1 1;.55 0 .35 1;0 0 1 1%22/%3E%3C/path%3E%3Crect x=%2250%22 y=%22178%22 width=%2246%22 height=%220%22%3E%3Canimate attributeName=%22height%22 dur=%221.4s%22 fill=%22freeze%22 keyTimes=%220;.66;.82;1%22 values=%220;0;112;112%22 calcMode=%22spline%22 keySplines=%220 0 1 1;.2 .6 .4 1;0 0 1 1%22/%3E%3C/rect%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
[data-theme="dark"] .carregando::before { filter: invert(1); }
.muted { color: var(--txt2); }
.pequeno { font-size: .85rem; }

/* Topo */
.topo { background: var(--card); border-bottom: 1px solid var(--borda); position: sticky; top: 0; z-index: 10; }
.topo-linha { max-width: 1180px; margin: 0 auto; padding: .6rem 16px; display: flex; align-items: center; gap: .75rem; }
.marca { display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--pri); text-decoration: none; white-space: nowrap; }
.marca svg { width: 26px; height: 26px; }
.topo select { max-width: 220px; }
.espaco { flex: 1; }
.nav { max-width: 1180px; margin: 0 auto; padding: 0 16px; display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: none; }
.nav::-webkit-scrollbar { display: none; }
.nav a { padding: .55rem .8rem; text-decoration: none; color: var(--txt2); font-weight: 500; border-bottom: 2px solid transparent; white-space: nowrap; }
.nav a.ativo { color: var(--pri); border-bottom-color: var(--pri); }

main { max-width: 1180px; margin: 0 auto; padding: 16px; }
.cartao { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px; box-shadow: var(--sombra); margin-bottom: 16px; }
.cab { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin-bottom: 12px; }

/* Formulários */
label { display: block; font-size: .85rem; font-weight: 500; color: var(--txt2); margin-bottom: .25rem; }
input, select, textarea { width: 100%; font: inherit; color: var(--txt); background: var(--card); border: 1px solid var(--borda); border-radius: 8px; padding: .55rem .65rem; min-height: 40px; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--pri); outline-offset: -1px; border-color: var(--pri); }
textarea { min-height: 70px; resize: vertical; }
input[type=checkbox] { width: auto; min-height: 0; }
.grade { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.grade .largo { grid-column: 1 / -1; }
.campo-ia { background: var(--pri-claro); }
.linha { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; font: inherit; font-weight: 600; border-radius: 8px; padding: .55rem 1rem; min-height: 40px; border: 1px solid var(--borda); background: var(--card); color: var(--txt); cursor: pointer; text-decoration: none; }
.btn:hover { border-color: var(--pri); }
.btn.pri { background: var(--pri); border-color: var(--pri); color: #fff; }
.btn.pri:hover { background: var(--pri-escuro); }
.btn.perigo { color: var(--erro); }
.btn.grande { width: 100%; min-height: 64px; font-size: 1.1rem; }
.btn:disabled { opacity: .55; cursor: default; }
.link { background: none; border: 0; color: var(--pri); font: inherit; cursor: pointer; padding: 0; text-decoration: underline; }

/* Tabelas */
.tabela-wrap { overflow-x: auto; border: 1px solid var(--borda); border-radius: var(--raio); }
table { width: 100%; border-collapse: collapse; background: var(--card); }
th, td { text-align: left; padding: .55rem .7rem; border-bottom: 1px solid var(--borda); white-space: nowrap; }
th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: var(--txt2); font-weight: 600; background: var(--bg); }
tbody tr.clica { cursor: pointer; }
tbody tr.clica:hover { background: var(--pri-claro); }
td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }

.etiqueta { display: inline-block; font-size: .75rem; font-weight: 600; padding: .1rem .5rem; border-radius: 99px; background: var(--pri-claro); color: var(--pri); }
.etiqueta.cinza { background: var(--bg); color: var(--txt2); }
.etiqueta.alerta { background: var(--alerta-claro); color: var(--alerta); }

.aviso { border-radius: 8px; padding: .65rem .8rem; margin-bottom: 12px; font-size: .92rem; }
.aviso.alerta { background: var(--alerta-claro); color: var(--alerta); }
.aviso.erro { background: var(--erro-claro); color: var(--erro); }
.aviso.info { background: var(--pri-claro); color: var(--pri-escuro); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .aviso.info { color: var(--pri); } }

/* Lançamento */
.lancar { display: grid; gap: 16px; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); align-items: start; }
@media (max-width: 820px) { .lancar { grid-template-columns: 1fr; } }
.foto-prev { width: 100%; border-radius: var(--raio); border: 1px solid var(--borda); display: block; max-height: 520px; object-fit: contain; background: #000; }
.sugestoes { display: grid; gap: 6px; margin-top: 6px; }
.sug { display: flex; justify-content: space-between; gap: .5rem; align-items: center; padding: .5rem .65rem; border: 1px solid var(--borda); border-radius: 8px; cursor: pointer; background: var(--card); text-align: left; font: inherit; color: var(--txt); width: 100%; }
.sug:hover, .sug.sel { border-color: var(--pri); background: var(--pri-claro); }
.sug small { color: var(--txt2); }
.lido { font-size: .82rem; color: var(--txt2); margin-top: 4px; }
/* Carregamento: um só indicador em todo o sistema, o chevron descendo e o P traçado a partir da haste (o mesmo de .carregando) */
span.girando { display: inline-block; width: 16px; height: 16px; vertical-align: -3px; border: 0 !important; border-radius: 0; animation: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-11 4 122 122%22%3E%3Cg transform=%22matrix(0.38653,0,0,0.38653,-7.9796,11.9062)%22 fill=%22%23141414%22%3E%3Canimate attributeName=%22opacity%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.85;1%22 values=%221;1;0%22/%3E%3Cpolygon points=%22150,-15.28 249.99,35.67 229.13,76.65 150,36.34 70.87,76.65 50.01,35.67%22 opacity=%220%22%3E%3Canimate attributeName=%22opacity%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.12;1%22 values=%220;1;1%22/%3E%3CanimateTransform attributeName=%22transform%22 type=%22translate%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.12;1%22 values=%220 -60;0 0;0 0%22 calcMode=%22spline%22 keySplines=%22.2 .8 .3 1;0 0 1 1%22/%3E%3C/polygon%3E%3Cpath d=%22M73,180 A77,77 0 0,0 227,180 A77,77 0 0,0 73,180%22 fill=%22none%22 stroke=%22%23141414%22 stroke-width=%2246%22 stroke-dasharray=%22485 485%22 stroke-dashoffset=%22485%22%3E%3Canimate attributeName=%22stroke-dashoffset%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.1;.52;1%22 values=%22485;485;0;0%22 calcMode=%22spline%22 keySplines=%220 0 1 1;.55 0 .35 1;0 0 1 1%22/%3E%3C/path%3E%3Crect x=%2250%22 y=%22178%22 width=%2246%22 height=%220%22%3E%3Canimate attributeName=%22height%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.52;.62;1%22 values=%220;0;112;112%22 calcMode=%22spline%22 keySplines=%220 0 1 1;.2 .6 .4 1;0 0 1 1%22/%3E%3C/rect%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-11 4 122 122%22%3E%3Cg transform=%22matrix(0.38653,0,0,0.38653,-7.9796,11.9062)%22 fill=%22%23141414%22%3E%3Canimate attributeName=%22opacity%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.85;1%22 values=%221;1;0%22/%3E%3Cpolygon points=%22150,-15.28 249.99,35.67 229.13,76.65 150,36.34 70.87,76.65 50.01,35.67%22 opacity=%220%22%3E%3Canimate attributeName=%22opacity%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.12;1%22 values=%220;1;1%22/%3E%3CanimateTransform attributeName=%22transform%22 type=%22translate%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.12;1%22 values=%220 -60;0 0;0 0%22 calcMode=%22spline%22 keySplines=%22.2 .8 .3 1;0 0 1 1%22/%3E%3C/polygon%3E%3Cpath d=%22M73,180 A77,77 0 0,0 227,180 A77,77 0 0,0 73,180%22 fill=%22none%22 stroke=%22%23141414%22 stroke-width=%2246%22 stroke-dasharray=%22485 485%22 stroke-dashoffset=%22485%22%3E%3Canimate attributeName=%22stroke-dashoffset%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.1;.52;1%22 values=%22485;485;0;0%22 calcMode=%22spline%22 keySplines=%220 0 1 1;.55 0 .35 1;0 0 1 1%22/%3E%3C/path%3E%3Crect x=%2250%22 y=%22178%22 width=%2246%22 height=%220%22%3E%3Canimate attributeName=%22height%22 dur=%222.4s%22 repeatCount=%22indefinite%22 keyTimes=%220;.52;.62;1%22 values=%220;0;112;112%22 calcMode=%22spline%22 keySplines=%220 0 1 1;.2 .6 .4 1;0 0 1 1%22/%3E%3C/rect%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
.carregando .girando { display: none; }
#app > .carregando { font-size: 0; min-height: 100vh; min-height: 100dvh; box-sizing: border-box; padding: 0; display: grid; place-content: center; animation: cg-aparece .3s ease-out .6s both; }
#app > .carregando::before { margin: 0; }
.carregando:has(> .cg-svg)::before { display: none; }
.cg-svg { display: block; width: 56px; height: 56px; margin: 0 auto 14px; color: var(--txt, #141414); }
#app > .carregando > .cg-svg { margin: 0; }
@keyframes cg-aparece { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { #app > .carregando { animation: none; } }
@keyframes gira { to { transform: rotate(360deg); } }

/* Painel */
.kpis { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: 16px; }
.kpi { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 14px; }
.kpi .v { font-size: 1.6rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.kpi .r { font-size: .8rem; color: var(--txt2); }
.graficos { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
@media (max-width: 420px) { .graficos { grid-template-columns: 1fr; } }
.grafico { position: relative; height: 280px; }

/* Modal */
.fundo { position: fixed; inset: 0; background: rgba(10,15,20,.55); z-index: 50; display: flex; align-items: flex-start; justify-content: center; padding: 24px 12px; overflow-y: auto; }
.modal { background: var(--card); border-radius: var(--raio); width: 100%; max-width: 860px; padding: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.modal .rodape { display: flex; gap: .5rem; justify-content: flex-end; margin-top: 16px; flex-wrap: wrap; }

/* Login */
.entrada { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 16px; }
.entrada .cartao { width: 100%; max-width: 400px; }
.entrada .marca { font-size: 1.3rem; margin-bottom: 1rem; justify-content: center; }
.abas { display: flex; border-bottom: 1px solid var(--borda); margin-bottom: 14px; }
.abas button { flex: 1; background: none; border: 0; border-bottom: 2px solid transparent; padding: .6rem; font: inherit; font-weight: 600; color: var(--txt2); cursor: pointer; }
.abas button.ativo { color: var(--pri); border-bottom-color: var(--pri); }
.pilha > * + * { margin-top: 12px; }

.toast { position: fixed; left: 50%; bottom: 20px; transform: translateX(-50%); background: var(--txt); color: var(--bg); padding: .7rem 1rem; border-radius: 10px; z-index: 60; max-width: calc(100% - 32px); font-weight: 500; }
.toast.erro { background: var(--erro); color: #fff; }
.vazio { text-align: center; padding: 2rem 1rem; color: var(--txt2); }

/* Ficha do colaborador */
.dados-ficha { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin-top: 12px; }
.dados-ficha div { display: flex; flex-direction: column; font-weight: 500; }
.dados-ficha span { font-size: .78rem; color: var(--txt2); font-weight: 500; text-transform: uppercase; letter-spacing: .03em; }
.acoes-medico { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin-bottom: 16px; }
.btn.acao { flex-direction: column; min-height: 78px; gap: 4px; }
.btn.acao span { font-size: 1.4rem; }
.chips { display: flex; gap: 6px; flex-wrap: wrap; }
.chip { font: inherit; font-size: .85rem; padding: .3rem .75rem; border-radius: 99px; border: 1px solid var(--borda); background: var(--card); color: var(--txt2); cursor: pointer; }
.chip.on { background: var(--pri); border-color: var(--pri); color: #fff; }
.hist { display: grid; grid-template-columns: 92px 28px 1fr; gap: 10px; align-items: start; width: 100%; text-align: left; font: inherit; color: var(--txt); background: none; border: 0; border-bottom: 1px solid var(--borda); padding: 12px 4px; cursor: pointer; }
.hist:hover { background: var(--pri-claro); }
.hist-data { font-variant-numeric: tabular-nums; color: var(--txt2); font-size: .9rem; padding-top: 1px; }
.hist-ic { font-size: 1.1rem; }
.hist-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hist-tipo { font-weight: 600; }
.hist-txt small { color: var(--txt2); }
@media (max-width: 520px) { .hist { grid-template-columns: 1fr; gap: 2px; } .hist-ic { display: none; } }
.check { display: flex !important; gap: .5rem; align-items: center; font-weight: 400 !important; color: var(--txt) !important; }
.rx-item { border: 1px solid var(--borda); border-radius: 10px; padding: 12px; margin-top: 10px; }
.mini-ex { display: flex; gap: 8px; flex-wrap: wrap; }
.mini-ex div { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.mini-ex img { width: 110px; height: 110px; object-fit: cover; border-radius: 8px; border: 1px solid var(--borda); }
.logo-prev { height: 48px; max-width: 160px; object-fit: contain; border: 1px solid var(--borda); border-radius: 6px; background: #fff; padding: 4px; }
.logo-mini { height: 22px; max-width: 60px; object-fit: contain; vertical-align: middle; margin-right: 8px; }

/* Editor e folha A4 */
.modal.largo { max-width: 1320px; }
.editor-doc { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; }
@media (max-width: 1000px) { .editor-doc { grid-template-columns: 1fr; } }
.previa { background: #e9ecef; border-radius: 10px; padding: 14px; overflow-x: auto; }
.folha { background: #fff; color: #111; width: 210mm; max-width: 100%; min-height: 297mm; margin: 0 auto; padding: 16mm 18mm 14mm; box-shadow: 0 2px 10px rgba(0,0,0,.18); display: flex; flex-direction: column; font-family: Inter, Arial, sans-serif; font-size: 11pt; line-height: 1.5; }
.doc-cab { display: flex; align-items: center; gap: 14px; border-bottom: 2px solid #0f766e; padding-bottom: 8px; }
.doc-logo { max-height: 60px; max-width: 170px; object-fit: contain; }
.doc-emp { display: flex; flex-direction: column; font-size: 9pt; color: #333; line-height: 1.35; }
.doc-emp strong { font-size: 13pt; color: #111; }
.doc-titulo { text-align: center; font-size: 14pt; letter-spacing: .08em; margin: 9mm 0 5mm; color: #111; }
.doc-pac { width: 100%; border-collapse: collapse; font-size: 9.5pt; margin-bottom: 6mm; background: #f6f8f9; }
.doc-pac td { border: 1px solid #d6dde2; padding: 4px 8px; white-space: normal; }
.doc-corpo { flex: 1; }
.texto-doc { text-align: justify; margin: 0 0 4mm; font-size: 11.5pt; line-height: 1.8; }
.via { font-weight: 700; font-size: 10pt; letter-spacing: .06em; margin: 5mm 0 2mm; color: #0f766e; }
.item-rx { margin-bottom: 4mm; }
.rx-linha { display: flex; gap: 6px; align-items: baseline; }
.rx-linha .pontos { flex: 1; border-bottom: 1px dotted #888; }
.rx-pos { padding-left: 5mm; color: #222; }
.soap { margin-bottom: 4mm; break-inside: avoid; }
.soap h4 { margin: 0 0 1mm; font-size: 10pt; color: #0f766e; letter-spacing: .04em; }
.soap p { margin: 0 0 1mm; text-align: justify; }
.sv { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 10pt; margin-bottom: 1mm; }
.tab-doc { width: 100%; border-collapse: collapse; margin-bottom: 4mm; }
.tab-doc th, .tab-doc td { border: 1px solid #d6dde2; padding: 5px 8px; text-align: left; white-space: normal; font-size: 10.5pt; }
.tab-doc th { width: 38%; background: #f6f8f9; color: #333; text-transform: none; letter-spacing: 0; }
.fotos-doc { display: flex; flex-direction: column; gap: 4mm; align-items: center; }
.fotos-doc img { max-width: 100%; max-height: 190mm; border: 1px solid #ccc; break-inside: avoid; }
.doc-rodape { margin-top: 10mm; }
.doc-local { text-align: right; margin: 0 0 16mm; }
.assin { display: flex; flex-direction: column; align-items: center; font-size: 10pt; }
.linha-ass { width: 75mm; border-top: 1px solid #111; margin-bottom: 2mm; }
.doc-sist { margin-top: 8mm; font-size: 7.5pt; color: #888; text-align: center; border-top: 1px solid #e3e3e3; padding-top: 2mm; }

@media print {
  @page { size: A4; margin: 0; }
  html, body { background: #fff !important; }
  body > *:not(.fundo) { display: none !important; }
  .fundo { position: static !important; background: none !important; padding: 0 !important; overflow: visible !important; display: block !important; }
  .fundo:not(:last-of-type) { display: none !important; }
  .modal { box-shadow: none !important; padding: 0 !important; max-width: none !important; border-radius: 0 !important; }
  .nao-imprimir, .editor-doc > form { display: none !important; }
  .editor-doc { display: block !important; }
  .previa { background: none !important; padding: 0 !important; overflow: visible !important; }
  .folha { box-shadow: none !important; margin: 0 !important; width: 210mm !important; max-width: none !important; }
}

/* Usuários e permissões */
.perms { display: grid; gap: 6px; margin-top: 6px; }
.bloco-emp { border: 1px solid var(--borda); border-radius: 10px; padding: 10px 14px 12px; margin: 0 0 10px; }
.bloco-emp legend { font-weight: 600; padding: 0 6px; }
.link-box { display: flex; gap: 8px; }
.link-box input { flex: 1; font-size: .85rem; }

/* Celular */
@media (max-width: 640px) {
  html, body { font-size: 16px; }
  main { padding: 12px; }
  .topo-linha { flex-wrap: wrap; gap: .5rem; padding: .5rem 12px; }
  .topo-linha .marca span { display: none; }
  .topo select { max-width: none; flex: 1; min-width: 0; order: 2; }
  .topo-linha > a.muted { display: none; }
  .nav a { padding: .6rem .7rem; }
  .cartao { padding: 12px; }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .kpi .v { font-size: 1.35rem; }
  .graficos { grid-template-columns: 1fr; }
  .grafico { height: 230px; }
  .fundo { padding: 0; display: block; overscroll-behavior: contain; }
  .modal, .modal.largo { max-width: none; min-height: 100vh; min-height: 100dvh; border-radius: 0; padding: 14px 12px calc(28px + env(safe-area-inset-bottom)); }
  .modal > .cab { position: sticky; top: 0; background: var(--card); z-index: 2; padding: 6px 0; margin: -6px 0 8px; }
  .modal > .cab h2 { font-size: 1rem; }
  .editor-doc { gap: 12px; }
  .previa { padding: 6px; }
  .folha { padding: 8mm 6mm; font-size: 10pt; min-height: 0; }
  .acoes-medico { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .btn.acao { min-height: 70px; font-size: .9rem; }
  .hist-data { font-size: .8rem; }
  input, select, textarea { font-size: 16px; }
  .cab h1 { font-size: 1.2rem; }
  .lancar { gap: 12px; }
}

/* PWA */
.passos { padding-left: 1.2rem; line-height: 1.9; }
@media (display-mode: standalone) { .topo { padding-top: env(safe-area-inset-top); } }
@media (max-width: 640px) { #instalarTopo { padding: .45rem .6rem; font-size: .85rem; } }
.espaco-carimbo { height: 18mm; }
.assin span { font-size: 9pt; color: #555; }

/* Mídia responsiva */
img, video, canvas, svg { max-width: 100%; }
@media (max-width: 640px) { .tab-doc th { width: auto; } }
body { overflow-x: clip; }
@media screen and (max-width: 640px) { html:has(.fundo), html:has(.fundo) body { overflow: hidden; } }

/* ===== Navegação, busca e telas: mobile first (v5) ===== */
.graficos { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.barra-inf { display: none; }
.busca-topo { color: var(--txt2); font-weight: 500; gap: .5rem; }
.busca-topo kbd { font: inherit; font-size: .75rem; border: 1px solid var(--borda); border-radius: 4px; padding: 0 5px; color: var(--txt2); }
.ficha-nav { justify-content: space-between; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--pri-claro); color: var(--pri); display: flex; align-items: center; justify-content: center; font-weight: 700; flex: none; }

.fundo-busca .modal { max-width: 620px; margin-top: 8vh; padding: 12px; }
.busca-linha { display: flex; gap: 8px; align-items: center; }
.busca-linha > span { font-size: 1.1rem; padding-left: 4px; }
.busca-linha input { flex: 1; min-width: 0; font-size: 16px; min-height: 48px; }
.busca-res { margin-top: 10px; max-height: 60vh; overflow-y: auto; }
.busca-item { display: flex; width: 100%; align-items: center; gap: 12px; padding: 10px 8px; background: none; border: 0; border-bottom: 1px solid var(--borda); text-align: left; font: inherit; color: var(--txt); cursor: pointer; min-height: 60px; }
.busca-item:hover, .busca-item:focus-visible { background: var(--pri-claro); }
.busca-txt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.busca-txt strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.busca-txt small { color: var(--txt2); font-size: .82rem; }
.busca-seta { color: var(--txt2); font-size: 1.5rem; }
.busca-rot { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--txt2); font-weight: 600; margin: 4px 8px 2px; }

.fundo-baixo .modal { max-width: 420px; }
.folha-menu { display: flex; flex-direction: column; }
.menu-quem { display: flex; gap: 12px; align-items: center; padding: 4px 4px 12px; border-bottom: 1px solid var(--borda); margin-bottom: 6px; }
.menu-quem div { display: flex; flex-direction: column; min-width: 0; }
.menu-quem small { color: var(--txt2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-item { display: flex; align-items: center; gap: 14px; padding: 12px 8px; min-height: 52px; font: inherit; font-weight: 500; color: var(--txt); text-decoration: none; background: none; border: 0; border-radius: 10px; text-align: left; cursor: pointer; width: 100%; }
.menu-item > span { width: 28px; text-align: center; font-size: 1.2rem; }
.menu-item:hover { background: var(--bg); }
.menu-item.ativo { background: var(--pri-claro); color: var(--pri); }
.menu-item.perigo { color: var(--erro); }
.menu-fechar { margin-top: 8px; min-height: 48px; }

@media (max-width: 760px) {
  .so-desk { display: none !important; }
  .topo-linha { flex-wrap: nowrap; gap: 8px; padding: 8px 12px; }
  .topo-linha .marca span { display: none; }
  .topo select { flex: 1; min-width: 0; max-width: none; order: 0; }
  .busca-topo { width: 44px; height: 44px; min-height: 44px; padding: 0; flex: none; font-size: 1.1rem; }
  main { padding: 12px 12px calc(88px + env(safe-area-inset-bottom)); }
  .barra-inf { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--card); border-top: 1px solid var(--borda); padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); box-shadow: 0 -2px 10px rgba(16,24,40,.06); }
  .barra-inf a, .barra-inf button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font: inherit; font-size: .7rem; font-weight: 600; color: var(--txt2); text-decoration: none; background: none; border: 0; padding: 6px 0; border-radius: 10px; min-height: 54px; cursor: pointer; min-width: 0; }
  .barra-inf span { font-size: 1.3rem; line-height: 1.1; }
  .barra-inf .ativo { color: var(--pri); background: var(--pri-claro); }
  .toast { bottom: calc(84px + env(safe-area-inset-bottom)); }

  /* Cabeçalhos das telas: título em cima, botões ocupando a largura */
  main > .cab > .linha { width: 100%; }
  main > .cab > .linha > .btn { flex: 1 1 auto; }
  .datas-cab { display: grid !important; grid-template-columns: 1fr 1fr; width: 100%; }
  .grade.filtros { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .filtros .largo-m { grid-column: 1 / -1; }

  /* Tabelas viram cartões */
  .tabela-wrap { border: 0; overflow: visible; border-radius: 0; }
  .tabela-wrap table, .tabela-wrap tbody, .tabela-wrap tr, .tabela-wrap td { display: block; width: 100%; }
  .tabela-wrap table { background: none; }
  .tabela-wrap thead { display: none; }
  .tabela-wrap tr { background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; }
  .cartao .tabela-wrap tr { background: var(--bg); }
  .tabela-wrap td { border: 0; padding: 3px 0; white-space: normal !important; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; text-align: right; overflow-wrap: anywhere; }
  .tabela-wrap td::before { content: attr(data-rot); color: var(--txt2); font-size: .8rem; font-weight: 500; text-align: left; flex: none; }
  .tabela-wrap td[data-rot=""]::before { display: none; }
  .tabela-wrap td:first-child { display: block; text-align: left; font-weight: 600; font-size: 1rem; padding-bottom: 6px; }
  .tabela-wrap td:first-child::before { display: none; }
  .tabela-wrap td:empty { display: none; }
  .tabela-wrap tbody tr.clica:hover { background: var(--card); }
  .tabela-wrap tbody tr.clica:active { background: var(--pri-claro); }

  .fundo-busca .modal { margin-top: 0; }
  .busca-res { max-height: none; }
  .fundo.fundo-baixo { display: flex; flex-direction: column; justify-content: flex-end; }
  .fundo-baixo .modal { min-height: 0; max-width: none; border-radius: 18px 18px 0 0; padding: 14px 12px calc(14px + env(safe-area-inset-bottom)); }
  .ficha-nav .btn { min-height: 40px; }
}
@media print { .barra-inf, .topo { display: none !important; } }
@media (max-width: 760px) {
  .ficha-nav { flex-wrap: nowrap; }
  .dados-ficha { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
  .acoes-medico { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .btn.acao { min-height: 72px; font-size: .78rem; padding: 8px 4px; line-height: 1.2; text-align: center; }
  .btn.acao span { font-size: 1.35rem; }
}
.busca-grande { width: 100%; justify-content: flex-start; min-height: 52px; color: var(--txt2); font-weight: 500; background: var(--bg); }
.busca-grande span { font-size: 1.1rem; }
.atalho-pront { margin-top: 16px; }


/* ===================== v6: identidade editorial (inspirada na Previmed) ===================== */
html, body { font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; letter-spacing: -0.01em; -webkit-font-smoothing: antialiased; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -0.035em; color: var(--tinta); }
h1 { font-size: 2rem; line-height: 1.1; }
h2 { font-size: 1.45rem; line-height: 1.15; }
h3 { font-weight: 600; letter-spacing: -0.01em; }
a { color: var(--pri); text-underline-offset: 3px; }
.ic { flex: none; vertical-align: -3px; }
.cab { margin-bottom: 18px; }
.cab h1 { margin: 0; }
.sub-cab { margin: -10px 0 18px; color: var(--txt2); max-width: 70ch; }
.olho { display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; text-transform: uppercase; letter-spacing: .16em; color: var(--txt2); font-weight: 600; margin-bottom: 6px; }

/* Superfícies */
.cartao { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 20px; box-shadow: var(--sombra); }
.inset { background: var(--painel); border: 1px solid var(--borda); border-radius: 16px; padding: 14px 16px; }
.kpi { background: var(--card); border-radius: 18px; padding: 16px 18px; box-shadow: var(--sombra); }
.kpi .v { font-family: var(--serif); font-weight: 400; font-size: 2rem; letter-spacing: -0.03em; }
.kpi .r { text-transform: uppercase; letter-spacing: .1em; font-size: .7rem; font-weight: 600; }
.vazio { padding: 2.5rem 1rem; }
.vazio-ic { width: 48px; height: 48px; border-radius: 50%; background: var(--fundo2); color: var(--tinta); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 10px; }

/* Botões pill */
.btn { border-radius: 999px; padding: .55rem 1.1rem; min-height: 42px; font-weight: 600; font-size: .92rem; background: var(--card); border: 1px solid var(--borda); color: var(--txt); transition: background .15s, border-color .15s, transform .1s; }
.btn:hover { border-color: var(--txt3); background: var(--painel); }
.btn:active { transform: scale(.98); }
.btn.pri { background: var(--tinta); border-color: var(--tinta); color: var(--bg); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 8px 20px -12px rgba(8,7,7,.6); }
.btn.pri:hover { background: #2a2622; border-color: #2a2622; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .btn.pri:hover { background: #fff; } }
.btn.suave { background: var(--fundo2); border-color: transparent; }
.btn.suave:hover { background: #E3D6C1; }
.btn.perigo { color: var(--erro); border-color: #EBC3BB; }
.btn.perigo:hover { background: var(--erro-claro); }
.btn.grande { border-radius: 18px; min-height: 60px; font-size: 1.02rem; }
.btn.pequeno, .btn.pq { min-height: 34px; padding: .35rem .85rem; font-size: .85rem; }
.btn.icone { width: 42px; padding: 0; }
.link { color: var(--tinta); text-decoration-color: var(--txt3); }

/* Campos */
label { font-size: .82rem; font-weight: 500; color: var(--txt2); }
input, select, textarea { border-radius: 12px; border-color: var(--borda); background: var(--card); min-height: 44px; padding: .6rem .8rem; transition: border-color .15s, box-shadow .15s; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--tinta); box-shadow: 0 0 0 3px rgba(18,17,16,.1); }
input[type=checkbox], input[type=radio] { accent-color: var(--tinta); width: 18px; height: 18px; min-height: 0; box-shadow: none; }
.check { align-items: flex-start !important; line-height: 1.4; }
.check input { margin-top: 2px; }

/* Etiquetas */
.etiqueta { display: inline-flex; align-items: center; gap: 5px; font-size: .74rem; font-weight: 600; padding: .15rem .6rem; border-radius: 999px; background: var(--ok-claro); color: var(--ok); }
.etiqueta::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .8; }
.etiqueta.sem-ponto::before { display: none; }
.etiqueta.cinza { background: var(--fundo2); color: var(--txt2); }
.etiqueta.alerta { background: var(--alerta-claro); color: var(--alerta); }
.etiqueta.erro { background: var(--erro-claro); color: var(--erro); }
.etiqueta.azul { background: #DCE9EE; color: #1D4B5B; }
.etiqueta.violeta { background: #E7E2F6; color: #35287A; }
.etiqueta.ambar { background: #F4E4C4; color: #6B4300; }
.aviso { border-radius: 14px; padding: .8rem 1rem; display: flex; gap: 10px; align-items: flex-start; }
.aviso.info { background: var(--pri-claro); color: var(--pri-escuro); }

/* Tabelas */
.tabela-wrap { border-radius: 18px; background: var(--card); box-shadow: var(--sombra); }
table { background: transparent; }
th { background: var(--painel); font-size: .7rem; letter-spacing: .1em; color: #6E665E; }
th, td { padding: .7rem .9rem; }
tbody tr.clica:hover { background: var(--painel); }

/* Modais */
.fundo { background: rgba(14,17,16,.64); }
.modal { border-radius: 26px; padding: 24px; background: var(--card); box-shadow: 0 40px 90px -30px rgba(20,14,8,.6), 0 0 0 1px rgba(8,7,7,.06); animation: entra .3s cubic-bezier(.16,1,.3,1); }
@keyframes entra { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
.modal .cab h2 { margin: 0; }
.toast { border-radius: 999px; padding: .75rem 1.2rem; background: var(--tinta); color: var(--bg); box-shadow: 0 18px 40px -18px rgba(0,0,0,.6); display: flex; align-items: center; gap: 8px; }

/* Casca: barra lateral no computador, topo + barra inferior no celular */
.casca { display: grid; grid-template-columns: 272px minmax(0, 1fr); min-height: 100vh; }
.lateral { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 14px; padding: 20px 16px; border-right: 1px solid var(--borda); background: var(--bg); overflow-y: auto; }
.lateral .marca { font-size: 1.15rem; padding: 4px 8px 6px; }
.marca { color: var(--tinta); font-weight: 700; letter-spacing: -0.02em; }
.marca svg { color: var(--pri); }
.lateral select { border-radius: 999px; background: var(--painel); font-weight: 500; }
.lat-busca { justify-content: flex-start; color: var(--txt2); font-weight: 500; background: var(--card); width: 100%; }
.lat-busca kbd { margin-left: auto; font: inherit; font-size: .72rem; border: 1px solid var(--borda); border-radius: 6px; padding: 0 6px; }
.lat-nav { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
.lat-nav a { display: flex; align-items: center; gap: 12px; padding: .62rem .9rem; border-radius: 999px; color: var(--txt); text-decoration: none; font-weight: 500; font-size: .95rem; }
.lat-nav a:hover { background: rgba(235,224,206,.6); }
.lat-nav a.ativo { background: var(--fundo2); font-weight: 600; }
.lat-nav a .ic { color: var(--txt2); }
.lat-nav a.ativo .ic { color: var(--tinta); }
.lat-rot { font-size: .68rem; text-transform: uppercase; letter-spacing: .16em; color: var(--txt3); font-weight: 600; padding: 12px 14px 4px; }
.lat-base { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.quem { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 16px; text-decoration: none; color: var(--txt); background: var(--card); border: 1px solid var(--borda); }
.quem div { display: flex; flex-direction: column; min-width: 0; }
.quem strong { font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.quem small { color: var(--txt2); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avatar { background: var(--fundo2); color: var(--tinta); font-weight: 600; font-size: .9rem; }
.avatar.escuro { background: var(--tinta); color: var(--bg); }
.corpo-app { min-width: 0; display: flex; flex-direction: column; }
.corpo-app main { width: 100%; max-width: 1180px; padding: 32px 36px 48px; }
.topo { display: none; background: var(--bg); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .topo { background: rgba(21,19,17,.9); } }
.menu-item > span, .barra-inf span { display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 900px) {
  .casca { display: block; }
  .lateral { display: none; }
  .topo { display: block; }
  .corpo-app main { padding: 16px 14px calc(92px + env(safe-area-inset-bottom)); }
  h1 { font-size: 1.65rem; }
}
@media (min-width: 901px) { .barra-inf { display: none !important; } .so-mob { display: none !important; } }
@media (max-width: 900px) {
  .so-desk { display: none !important; }
  .barra-inf { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--card); border-top: 1px solid var(--borda); padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); }
  .barra-inf a, .barra-inf button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font: inherit; font-size: .68rem; font-weight: 600; color: var(--txt2); text-decoration: none; background: none; border: 0; padding: 6px 0; border-radius: 14px; min-height: 54px; cursor: pointer; min-width: 0; }
  .barra-inf .ativo { color: var(--tinta); background: var(--fundo2); }
  .toast { bottom: calc(84px + env(safe-area-inset-bottom)); }
}
.menu-item.ativo { background: var(--fundo2); color: var(--tinta); }
.busca-topo { border-radius: 999px; }

/* Ações da ficha com ícones */
.btn.acao { border-radius: 18px; background: var(--card); min-height: 86px; gap: 8px; font-weight: 500; }
.btn.acao .ic { color: var(--pri); }
.btn.acao:hover { background: var(--painel); }
.hist-ic { color: var(--txt2); display: flex; }
.chip { border-radius: 999px; }
.chip.on { background: var(--tinta); border-color: var(--tinta); color: var(--bg); }

/* Entrada (login) */
.entrada { background: radial-gradient(1200px 500px at 50% -10%, #EFE3D0 0%, transparent 60%), var(--bg); }
.entrada .cartao { max-width: 420px; padding: 28px; border-radius: 28px; }
.entrada h1 { font-size: 1.9rem; text-align: center; margin: 6px 0 4px; }
.entrada .marca { color: var(--tinta); }
.ou { display: flex; align-items: center; gap: 12px; color: var(--txt3); font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; }
.ou::before, .ou::after { content: ''; flex: 1; height: 1px; background: var(--borda); }
.google-wrap { min-height: 44px; display: flex; justify-content: center; }
.selo-lgpd { display: flex; align-items: center; justify-content: center; gap: 6px; color: var(--txt2); font-size: .8rem; }

/* Cards de escolha (papéis, forma de pagamento) */
.escolhas { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.escolha { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--borda); border-radius: 18px; padding: 14px 16px; cursor: pointer; background: var(--card); transition: border-color .15s, background .15s; }
.escolha:hover { background: var(--painel); }
.escolha:has(input:checked) { border-color: var(--tinta); box-shadow: 0 0 0 1px var(--tinta); }
.escolha input { margin-top: 3px; }
.escolha strong { display: block; margin-bottom: 2px; }
.escolha span.muted { font-size: .85rem; }

/* Equipe */
.membro { display: flex; align-items: center; gap: 12px; padding: 12px 4px; border-bottom: 1px solid var(--borda); }
.membro:last-child { border-bottom: 0; }
.membro .info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.membro .info small { color: var(--txt2); overflow: hidden; text-overflow: ellipsis; }
.grade-2 { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: start; }
@media (max-width: 1000px) { .grade-2 { grid-template-columns: 1fr; } }
.passos-num { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; counter-reset: p; }
.passos-num li { display: flex; gap: 12px; counter-increment: p; }
.passos-num li::before { content: counter(p); width: 26px; height: 26px; border-radius: 50%; background: var(--tinta); color: var(--bg); font-size: .8rem; font-weight: 600; display: flex; align-items: center; justify-content: center; flex: none; }

/* Aceite de documentos e cookies */
.gate .modal { max-width: 680px; }
.gate-doc { border: 1px solid var(--borda); border-radius: 16px; margin-top: 10px; background: var(--painel); }
.gate-doc summary { cursor: pointer; padding: 12px 16px; font-weight: 600; display: flex; justify-content: space-between; }
.gate-doc .md { max-height: 42vh; overflow-y: auto; padding: 0 16px 14px; font-size: .9rem; }
.md h1, .md h2, .md h3 { font-family: var(--serif); font-weight: 500; }
.md h2 { font-size: 1.2rem; margin-top: 1.2rem; } .md h3 { font-size: 1.02rem; margin-top: 1rem; }
.md table { border-collapse: collapse; width: 100%; margin: .6rem 0; }
.md th, .md td { border: 1px solid var(--borda); padding: .4rem .6rem; white-space: normal; font-size: .85rem; text-transform: none; letter-spacing: 0; }
.cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; padding: 12px; }
.cookie > div { max-width: 760px; margin: 0 auto; background: #FFFCF6; border: 1px solid var(--borda); border-radius: 22px; padding: 16px 18px; box-shadow: 0 30px 70px -30px rgba(60,40,20,.55); display: flex; gap: 14px; align-items: center; flex-wrap: wrap; color: #221E1A; }
.cookie p { margin: 0; flex: 1 1 320px; font-size: .88rem; }
.icone-redondo { width: 40px; height: 40px; border-radius: 50%; background: var(--fundo2); display: inline-flex; align-items: center; justify-content: center; flex: none; color: var(--tinta); }
.linha-info { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--borda); font-size: .92rem; }
.linha-info span:first-child { color: var(--txt2); }
.linha-info:last-child { border-bottom: 0; }
@media print { .lateral, .barra-inf, .topo { display: none !important; } .casca { display: block; } }
[hidden] { display: none !important; }

.linha:has(> .icone-redondo) { flex-wrap: nowrap; align-items: flex-start; }
.check input, .escolha input { flex: none; }
.busca-topo .ic { width: 20px; height: 20px; }
@media (max-width: 900px) { .cab h1, main > .cab h1 { font-size: 1.7rem; } }


/* ===================== v7: temas por usuário (5 temas, claro e escuro) =====================
   O <head> do sistema aplica data-tema e data-theme no <html> antes de pintar, então não há troca de cor ao abrir. */
:root{--btn:var(--tinta);--btn-txt:var(--bg);--btn-hover:#2A2622;--realce:#EFE5D6;}
:root[data-tema="compamed"]{--bg:#FAF6EF;--painel:#F3ECE1;--fundo2:#EDE4D6;--card:#FFFDF9;--txt:#1F1B17;--txt2:#5E5852;--txt3:#8E8781;--borda:#E4DBCF;--tinta:#121110;--pri:#0E6158;--pri-escuro:#0A4A43;--pri-claro:#E1EFEB;--btn:#121110;--btn-txt:#FAF6EF;--btn-hover:#2A2622;--realce:#EFE5D6;--sombra:0 1px 0 rgba(255,255,255,.6) inset,0 24px 50px -40px rgba(40,30,20,.35);--alerta:#8A5A00;--alerta-claro:#F6E7C8;--erro:#9B2C1F;--erro-claro:#F7E0DB;--ok:#22552A;--ok-claro:#DCEAD8;color-scheme:light;}
:root[data-tema="compamed"][data-theme="dark"]{--bg:#151311;--painel:#1C1A17;--fundo2:#26231F;--card:#1E1B18;--txt:#F1ECE4;--txt2:#B3ABA2;--txt3:#857E77;--borda:#33302B;--tinta:#F1ECE4;--pri:#5CC2B1;--pri-escuro:#7ED3C4;--pri-claro:#183330;--btn:#F1ECE4;--btn-txt:#151311;--btn-hover:#FFFFFF;--realce:#23201C;--sombra:none;--alerta:#E8B25C;--alerta-claro:#3A2C12;--erro:#F08A7A;--erro-claro:#3C1D18;--ok:#8FD1AE;--ok-claro:#19301F;color-scheme:dark;}
:root[data-tema="oceano"]{--bg:#F4F7FA;--painel:#EAF0F5;--fundo2:#DDE6EF;--card:#FFFFFF;--txt:#16202A;--txt2:#4F5D6B;--txt3:#8391A0;--borda:#D6DFE8;--tinta:#0E1822;--pri:#1F5FA8;--pri-escuro:#174A84;--pri-claro:#E1ECF8;--btn:#1F5FA8;--btn-txt:#FFFFFF;--btn-hover:#174A84;--realce:#E6EDF4;--sombra:0 1px 0 rgba(255,255,255,.6) inset,0 24px 50px -40px rgba(40,30,20,.35);--alerta:#8A5A00;--alerta-claro:#F6E7C8;--erro:#9B2C1F;--erro-claro:#F7E0DB;--ok:#22552A;--ok-claro:#DCEAD8;color-scheme:light;}
:root[data-tema="oceano"][data-theme="dark"]{--bg:#0D131A;--painel:#121A23;--fundo2:#1A2430;--card:#141D27;--txt:#E6EDF4;--txt2:#A6B4C2;--txt3:#748394;--borda:#243140;--tinta:#E6EDF4;--pri:#79B0F2;--pri-escuro:#9BC4F6;--pri-claro:#16283D;--btn:#79B0F2;--btn-txt:#0D131A;--btn-hover:#9BC4F6;--realce:#18222D;--sombra:none;--alerta:#E8B25C;--alerta-claro:#3A2C12;--erro:#F08A7A;--erro-claro:#3C1D18;--ok:#8FD1AE;--ok-claro:#19301F;color-scheme:dark;}
:root[data-tema="ameixa"]{--bg:#F8F5FA;--painel:#F0EAF4;--fundo2:#E6DDEE;--card:#FFFFFF;--txt:#221A29;--txt2:#5E5367;--txt3:#93889C;--borda:#E3D9EA;--tinta:#1B1321;--pri:#6D3FA3;--pri-escuro:#56307F;--pri-claro:#EFE6F8;--btn:#6D3FA3;--btn-txt:#FFFFFF;--btn-hover:#56307F;--realce:#EFE8F4;--sombra:0 1px 0 rgba(255,255,255,.6) inset,0 24px 50px -40px rgba(40,30,20,.35);--alerta:#8A5A00;--alerta-claro:#F6E7C8;--erro:#9B2C1F;--erro-claro:#F7E0DB;--ok:#22552A;--ok-claro:#DCEAD8;color-scheme:light;}
:root[data-tema="ameixa"][data-theme="dark"]{--bg:#141018;--painel:#1A151F;--fundo2:#241D2B;--card:#1C1621;--txt:#EFE8F4;--txt2:#B7A9C2;--txt3:#85798F;--borda:#30273A;--tinta:#EFE8F4;--pri:#BE9AEC;--pri-escuro:#D1B6F2;--pri-claro:#2A1F38;--btn:#BE9AEC;--btn-txt:#141018;--btn-hover:#D1B6F2;--realce:#211A27;--sombra:none;--alerta:#E8B25C;--alerta-claro:#3A2C12;--erro:#F08A7A;--erro-claro:#3C1D18;--ok:#8FD1AE;--ok-claro:#19301F;color-scheme:dark;}
:root[data-tema="terracota"]{--bg:#FBF5F0;--painel:#F5EBE3;--fundo2:#EEDFD3;--card:#FFFCF9;--txt:#2A1D16;--txt2:#6A5549;--txt3:#A08C80;--borda:#EADBCF;--tinta:#22160F;--pri:#B1512A;--pri-escuro:#8E3F20;--pri-claro:#F8E6DC;--btn:#B1512A;--btn-txt:#FFFFFF;--btn-hover:#8E3F20;--realce:#F3E6DC;--sombra:0 1px 0 rgba(255,255,255,.6) inset,0 24px 50px -40px rgba(40,30,20,.35);--alerta:#8A5A00;--alerta-claro:#F6E7C8;--erro:#9B2C1F;--erro-claro:#F7E0DB;--ok:#22552A;--ok-claro:#DCEAD8;color-scheme:light;}
:root[data-tema="terracota"][data-theme="dark"]{--bg:#17110E;--painel:#1D1612;--fundo2:#291F19;--card:#201813;--txt:#F4E9E1;--txt2:#C2AB9C;--txt3:#8E7A6E;--borda:#3A2C23;--tinta:#F4E9E1;--pri:#EE9469;--pri-escuro:#F4AE8B;--pri-claro:#3A2117;--btn:#EE9469;--btn-txt:#17110E;--btn-hover:#F4AE8B;--realce:#261C16;--sombra:none;--alerta:#E8B25C;--alerta-claro:#3A2C12;--erro:#F08A7A;--erro-claro:#3C1D18;--ok:#8FD1AE;--ok-claro:#19301F;color-scheme:dark;}
:root[data-tema="grafite"]{--bg:#F5F5F4;--painel:#ECECEA;--fundo2:#E2E2DF;--card:#FFFFFF;--txt:#1B1B1A;--txt2:#57575A;--txt3:#8D8D90;--borda:#DCDCD9;--tinta:#111111;--pri:#3B5B7A;--pri-escuro:#2C4560;--pri-claro:#E6ECF2;--btn:#1D1D1F;--btn-txt:#FFFFFF;--btn-hover:#3A3A3D;--realce:#EBEBE9;--sombra:0 1px 0 rgba(255,255,255,.6) inset,0 24px 50px -40px rgba(40,30,20,.35);--alerta:#8A5A00;--alerta-claro:#F6E7C8;--erro:#9B2C1F;--erro-claro:#F7E0DB;--ok:#22552A;--ok-claro:#DCEAD8;color-scheme:light;}
:root[data-tema="grafite"][data-theme="dark"]{--bg:#111112;--painel:#161618;--fundo2:#202023;--card:#19191B;--txt:#EDEDED;--txt2:#ABABAF;--txt3:#7A7A7F;--borda:#2B2B2F;--tinta:#EDEDED;--pri:#8FB3D6;--pri-escuro:#AECAE4;--pri-claro:#1C2733;--btn:#EDEDED;--btn-txt:#111112;--btn-hover:#FFFFFF;--realce:#1D1D20;--sombra:none;--alerta:#E8B25C;--alerta-claro:#3A2C12;--erro:#F08A7A;--erro-claro:#3C1D18;--ok:#8FD1AE;--ok-claro:#19301F;color-scheme:dark;}
/* Componentes que passam a seguir o tema */
.btn.pri { background: var(--btn); border-color: var(--btn); color: var(--btn-txt); }
:root .btn.pri:hover { background: var(--btn-hover) !important; border-color: var(--btn-hover); }
.chip.on, .passos-num li::before, .avatar.escuro { background: var(--btn); border-color: var(--btn); color: var(--btn-txt); }
.escolha:has(input:checked) { border-color: var(--btn); box-shadow: 0 0 0 1px var(--btn); }
input[type=checkbox], input[type=radio] { accent-color: var(--btn); }
input:focus, select:focus, textarea:focus { border-color: var(--btn); box-shadow: 0 0 0 3px color-mix(in srgb, var(--btn) 18%, transparent); }
.lat-nav a:hover { background: var(--realce); }
.lat-nav a.ativo .ic, .barra-inf .ativo, .menu-item.ativo { color: var(--pri); }
.btn.suave:hover { background: var(--borda); }
th { color: var(--txt2); }
:root .topo { background: color-mix(in srgb, var(--bg) 90%, transparent) !important; }
.entrada { background: radial-gradient(1200px 500px at 50% -10%, var(--fundo2) 0%, transparent 60%), var(--bg); }
.cookie > div { background: var(--card); color: var(--txt); }
html { background: var(--bg); }


/* ===================== Aparência (Meu perfil) ===================== */
.modos { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--painel); border: 1px solid var(--borda); margin-bottom: 14px; flex-wrap: wrap; }
.modo { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--txt2); font: inherit; font-weight: 600; font-size: .88rem; padding: .45rem .95rem; border-radius: 999px; cursor: pointer; }
.modo.on { background: var(--card); color: var(--tinta); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 0 0 1px var(--borda); }
.temas { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.tema { position: relative; display: flex; align-items: center; gap: 12px; text-align: left; font: inherit; color: var(--txt); background: var(--card); border: 1px solid var(--borda); border-radius: 18px; padding: 10px 12px; cursor: pointer; transition: border-color .15s, transform .1s; }
.tema:hover { border-color: var(--txt3); }
.tema.on { border-color: var(--btn); box-shadow: 0 0 0 1px var(--btn); }
.tema-amostra { width: 58px; height: 44px; border-radius: 12px; position: relative; flex: none; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.tema-amostra i { position: absolute; left: 7px; top: 7px; width: 30px; height: 18px; border-radius: 5px; box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.tema-amostra b { position: absolute; left: 7px; bottom: 6px; width: 22px; height: 8px; border-radius: 99px; }
.tema-amostra u { position: absolute; right: 7px; top: 9px; width: 10px; height: 10px; border-radius: 50%; }
.tema-nome { display: flex; flex-direction: column; min-width: 0; }
.tema-nome small { color: var(--txt2); font-size: .78rem; }
.tema-ok { position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%; background: var(--btn); color: var(--btn-txt); display: flex; align-items: center; justify-content: center; }

/* ===================== Cartão de boas-vindas ===================== */
.bv-cartao { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 220px; align-items: end; gap: 12px; background: linear-gradient(135deg, var(--pri-claro), var(--painel) 70%); border: 1px solid var(--borda); border-radius: 26px; padding: 26px 26px 0 28px; margin-bottom: 22px; overflow: hidden; min-height: 210px; }
.bv-texto { padding-bottom: 26px; }
.bv-texto h2 { font-size: 1.7rem; margin: 2px 0 6px; }
.bv-atalhos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.bv-foto { width: 220px; height: 230px; object-fit: cover; object-position: top; align-self: end; margin-bottom: -2px; filter: drop-shadow(0 10px 20px rgba(0,0,0,.12)); }
.bv-fechar { position: absolute; top: 12px; right: 12px; min-height: 34px; width: 34px; background: color-mix(in srgb, var(--card) 80%, transparent); }
@media (max-width: 700px) {
  .bv-cartao { grid-template-columns: 1fr; padding: 20px 20px 0; }
  .bv-foto { width: 150px; height: 160px; justify-self: end; margin-top: -40px; }
  .bv-texto { padding-bottom: 0; }
  .bv-texto h2 { font-size: 1.4rem; padding-right: 30px; }
}

/* ===================== Tutorial ===================== */
.fundo-tut .modal { max-width: 560px; width: calc(100% - 24px); padding: 0; overflow: hidden; }
.tut { position: relative; display: flex; flex-direction: column; }
.tut-fechar { position: absolute; top: 12px; right: 12px; z-index: 2; min-height: 36px; width: 36px; background: color-mix(in srgb, var(--card) 85%, transparent); }
.tut-palco { height: 270px; background: var(--painel); display: flex; align-items: center; justify-content: center; overflow: hidden; border-bottom: 1px solid var(--borda); }
.tut-texto { padding: 22px 26px 6px; min-height: 150px; }
.tut-texto h2 { margin: 2px 0 8px; }
.tut-texto p { margin: 0; line-height: 1.55; }
.tut-ir { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 600; font-size: .9rem; text-decoration: none; }
.tut-base { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 26px 22px; flex-wrap: wrap; }
.tut-pontos { display: flex; gap: 6px; }
.tut-pontos button { width: 8px; height: 8px; border-radius: 99px; border: 0; padding: 0; background: var(--borda); cursor: pointer; transition: width .2s, background .2s; }
.tut-pontos button.on { width: 22px; background: var(--btn); }
@media (max-width: 520px) { .tut-palco { height: 230px; } .tut-texto { padding: 18px 20px 4px; } .tut-base { padding: 12px 20px 18px; } }

/* Mockups */
.mk { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 18px; font-size: .8rem; color: var(--txt); }
.mk * { animation-fill-mode: both; }
@keyframes mkSobe { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes mkCresce { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes mkScan { 0% { top: 6%; } 50% { top: 86%; } 100% { top: 6%; } }
.mk-bv { position: relative; padding: 0; align-items: flex-end; }
.mk-bv img { height: 100%; max-height: 270px; object-fit: contain; animation: mkSobe .5s ease; }
.mk-bv .mk-bolha { position: absolute; left: 22px; top: 40px; background: var(--card); border: 1px solid var(--borda); border-radius: 16px; padding: 10px 14px; font-weight: 600; display: flex; gap: 8px; align-items: center; box-shadow: 0 16px 30px -18px rgba(0,0,0,.35); animation: mkSobe .5s .25s ease; color: var(--tinta); }
.mk-bv .mk-bolha .ic { color: var(--pri); }
.mk-cel { width: 118px; height: 210px; border-radius: 22px; background: #16140F; padding: 10px 8px 34px; position: relative; box-shadow: 0 18px 36px -20px rgba(0,0,0,.6); flex: none; }
.mk-doc { position: relative; height: 100%; background: #FFFDF8; border-radius: 12px; padding: 14px 10px; display: flex; flex-direction: column; gap: 9px; overflow: hidden; }
.mk-doc span { height: 6px; border-radius: 3px; background: #DDD5C8; width: 90%; }
.mk-doc span.c { width: 60%; background: #BFD8D2; }
.mk-scan { position: absolute; left: 0; right: 0; height: 2px; background: var(--pri); box-shadow: 0 0 12px 3px color-mix(in srgb, var(--pri) 50%, transparent); animation: mkScan 2.4s ease-in-out infinite; }
.mk-disparo { position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%); width: 20px; height: 20px; border-radius: 50%; border: 3px solid #fff; }
.mk-campos { display: flex; flex-direction: column; gap: 7px; width: 200px; }
.mk-campo { position: relative; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 7px 10px; display: flex; flex-direction: column; animation: mkSobe .4s ease; }
.mk-campo:nth-child(2) { animation-delay: .25s; } .mk-campo:nth-child(3) { animation-delay: .5s; }
.mk-campo small { color: var(--txt3); font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.mk-campo em { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; border-radius: 50%; background: var(--pri-claro); color: var(--pri); display: flex; align-items: center; justify-content: center; }
.mk-btn { background: var(--btn); color: var(--btn-txt); border-radius: 99px; text-align: center; font-weight: 600; padding: 8px; animation: mkSobe .4s .75s ease; }
.mk-lista { flex-direction: column; gap: 7px; }
.mk-linha { width: min(340px, 100%); display: flex; align-items: center; gap: 10px; background: var(--card); border: 1px solid var(--borda); border-radius: 14px; padding: 8px 12px; animation: mkSobe .4s ease; }
.mk-linha > div { flex: 1; display: flex; flex-direction: column; }
.mk-linha small { color: var(--txt2); }
.mk-av { width: 30px; height: 30px; border-radius: 50%; background: var(--pri-claro); color: var(--pri); font-weight: 700; font-size: .72rem; display: flex; align-items: center; justify-content: center; flex: none; }
.mk-av.escuro { background: var(--btn); color: var(--btn-txt); }
.mk-novo { border-style: dashed; color: var(--pri); }
.mk-novo .mk-av { background: transparent; border: 1px dashed var(--pri); }
.mk-tag { font-size: .7rem; font-weight: 600; padding: 2px 8px; border-radius: 99px; background: var(--fundo2); color: var(--txt2); }
.mk-tag.ok { background: var(--ok-claro); color: var(--ok); }
.mk-painel { flex-direction: column; gap: 10px; }
.mk-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; width: min(340px, 100%); }
.mk-kpis div { background: var(--card); border: 1px solid var(--borda); border-radius: 14px; padding: 8px 10px; display: flex; flex-direction: column; animation: mkSobe .4s ease; }
.mk-kpis small { color: var(--txt3); font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.mk-kpis b { font-family: var(--serif); font-weight: 400; font-size: 1.5rem; color: var(--tinta); }
.mk-barras { width: min(340px, 100%); height: 96px; display: flex; align-items: flex-end; gap: 10px; background: var(--card); border: 1px solid var(--borda); border-radius: 14px; padding: 10px 14px; }
.mk-barras span { flex: 1; border-radius: 6px 6px 3px 3px; background: var(--pri-claro); transform-origin: bottom; animation: mkCresce .6s cubic-bezier(.16,1,.3,1); }
.mk-barras span.on { background: var(--pri); }
.mk-legenda { width: min(340px, 100%); display: flex; justify-content: space-between; padding: 0 16px; color: var(--txt3); font-size: .66rem; }
.mk-planilha { flex-direction: column; gap: 10px; }
.mk-arq { width: min(340px, 100%); display: flex; align-items: center; gap: 10px; background: var(--card); border: 1px solid var(--borda); border-radius: 14px; padding: 10px 12px; animation: mkSobe .4s ease; }
.mk-arq .ic { color: var(--ok); }
.mk-arq div { flex: 1; display: flex; flex-direction: column; }
.mk-arq small { color: var(--txt2); }
.mk-grade { width: min(340px, 100%); display: grid; grid-template-columns: 1.6fr 1fr 1fr; background: var(--card); border: 1px solid var(--borda); border-radius: 14px; overflow: hidden; animation: mkSobe .4s .2s ease; }
.mk-grade span { background: var(--painel); font-weight: 600; font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; color: var(--txt2); padding: 6px 10px; }
.mk-grade i { font-style: normal; padding: 6px 10px; border-top: 1px solid var(--borda); }
.mk-priv { gap: 18px; }
.mk-escudo { width: 84px; height: 84px; border-radius: 26px; background: var(--btn); color: var(--btn-txt); display: flex; align-items: center; justify-content: center; flex: none; animation: mkSobe .4s ease; box-shadow: 0 18px 30px -18px rgba(0,0,0,.5); }
.mk-itens { display: flex; flex-direction: column; gap: 8px; }
.mk-itens div { display: flex; align-items: center; gap: 8px; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 8px 12px; animation: mkSobe .4s ease; }
.mk-itens .ic { color: var(--pri); }
.mk-temas { gap: 10px; flex-wrap: wrap; }
.mk-tema { width: 72px; height: 92px; border-radius: 16px; position: relative; box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 14px 24px -18px rgba(0,0,0,.5); animation: mkSobe .4s ease; }
.mk-tema i { position: absolute; left: 9px; right: 9px; height: 10px; border-radius: 4px; top: 12px; }
.mk-tema i + i { top: 28px; right: 24px; }
.mk-tema b { position: absolute; left: 9px; bottom: 10px; width: 36px; height: 12px; border-radius: 99px; }
@media (max-width: 520px) { .mk-campos { width: 170px; } .mk-cel { width: 100px; height: 180px; } }
@media (prefers-reduced-motion: reduce) { .mk *, .mk { animation: none !important; } }

/* ===================== Comunicação (e-mails) ===================== */
.abas { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--painel); border: 1px solid var(--borda); max-width: 100%; overflow-x: auto; }
.aba { display: inline-flex; align-items: center; gap: 7px; border: 0; background: transparent; color: var(--txt2); font: inherit; font-weight: 600; font-size: .9rem; padding: .5rem 1rem; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.aba.on { background: var(--card); color: var(--tinta); box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 0 0 1px var(--borda); }
.icone-redondo.pq { width: 32px; height: 32px; }
.icone-redondo.erro { background: var(--erro-claro); color: var(--erro); }
.envios { display: flex; flex-direction: column; }
.envio { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--borda); }
.envio:last-child { border-bottom: 0; }
.envio > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.envio small { color: var(--txt2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.modelos { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 16px; align-items: start; }
.modelos-lista { display: flex; flex-direction: column; gap: 8px; }
.modelo-item { display: flex; gap: 10px; align-items: flex-start; text-align: left; font: inherit; color: var(--txt); background: var(--card); border: 1px solid var(--borda); border-radius: 16px; padding: 12px; cursor: pointer; }
.modelo-item div { display: flex; flex-direction: column; gap: 2px; }
.modelo-item small { color: var(--txt2); font-size: .8rem; line-height: 1.35; }
.modelo-item.on { border-color: var(--btn); box-shadow: 0 0 0 1px var(--btn); }
.email-previa { width: 100%; height: 720px; border: 1px solid var(--borda); border-radius: 16px; background: #F3EEE5; display: block; }
.campanha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.campanha textarea { min-height: 170px; resize: vertical; }
@media (max-width: 1000px) { .modelos, .campanha { grid-template-columns: 1fr; } .email-previa { height: 620px; } }
.fundo.fundo-tut { align-items: center; padding: 12px; }
.fundo-tut .modal { min-height: 0 !important; margin: auto; border-radius: 26px !important; }

/* ===================== Alertas (pills) ===================== */
.pills { display: flex; flex-wrap: wrap; gap: 4px; }
.pill { display: inline-flex; align-items: center; gap: 4px; font-size: .7rem; font-weight: 700; letter-spacing: .01em; padding: .14rem .5rem; border-radius: 999px; white-space: nowrap; cursor: help; line-height: 1.4; }
.pill .ic { vertical-align: 0; }
.pill-ntep { background: #F7E3DE; color: #8E2A17; }
.pill-inss { background: var(--alerta-claro); color: var(--alerta); }
.pill-uf { background: #DCE9F3; color: #1D4B6B; }
.pill-inss-atencao { background: #FDEBD3; color: #9A4A00; }
.pill-inss-alto { background: #FBDDD8; color: #A31A0E; }
:root[data-theme="dark"] .pill-inss-atencao { background: #3D2A10; color: #F7B567; }
:root[data-theme="dark"] .pill-inss-alto { background: #42191A; color: #FF8F84; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .pill-inss-atencao { background: #3D2A10; color: #F7B567; } :root:not([data-theme="light"]) .pill-inss-alto { background: #42191A; color: #FF8F84; } }
.pill-burnout { background: #FBE8D0; color: #8A4B0F; }
:root[data-theme="dark"] .pill-burnout { background: #3A2812; color: #F5C27F; }
.kpi.kpi-burnout .v { color: #B5651D; }
:root[data-theme="dark"] .pill-ntep { background: #3C1D18; color: #F4A392; }
:root[data-theme="dark"] .pill-uf { background: #16283D; color: #9BC4F6; }
.alertas-atestado { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.alerta-linha { display: flex; gap: 10px; align-items: flex-start; background: var(--painel); border: 1px solid var(--borda); border-radius: 14px; padding: 9px 12px; font-size: .86rem; line-height: 1.45; }
.alerta-linha > .pill { flex: none; margin-top: 1px; }
.kpi.kpi-ntep .v { color: #B23A22; } .kpi.kpi-inss .v { color: var(--alerta); } .kpi.kpi-uf .v { color: #2A6390; }
:root[data-theme="dark"] .kpi.kpi-ntep .v { color: #F4A392; } :root[data-theme="dark"] .kpi.kpi-uf .v { color: #9BC4F6; }
.painel-extra { display: flex; flex-direction: column; gap: 16px; margin: 16px 0; }
.painel-extra .kpis { margin: 0; }
.cab-secao h2 { margin: 6px 0 0; }
.achados { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.achado { display: flex; gap: 12px; align-items: flex-start; background: var(--painel); border-radius: 16px; padding: 12px 14px; }
.achado div { display: flex; flex-direction: column; gap: 3px; }
.achado b { font-weight: 600; line-height: 1.4; }
.achado small { color: var(--txt2); line-height: 1.45; }

/* ===================== CNPJ ===================== */
.cnpj-card { background: var(--painel); border: 1px solid var(--borda); border-radius: 16px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.cnpj-linhas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 4px; }
.cnpj-linhas div { display: flex; flex-direction: column; min-width: 0; }
.cnpj-linhas span { font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; color: var(--txt3); font-weight: 600; }
.cnpj-linhas small { color: var(--txt2); font-size: .78rem; line-height: 1.35; }
.cnpj-card ul { margin: 6px 0 0; padding-left: 18px; }
@media (max-width: 640px) { .cnpj-linhas { grid-template-columns: 1fr; } }

.painel-extra .tabela-wrap { overflow-x: auto; }
.painel-extra .graficos .cartao { min-width: 0; }

/* ===================== Painel de gestão de saúde ===================== */
.kpis-6 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.alertas-kpis .kpi .v { font-size: 1.6rem; }
.kpi[title] { cursor: help; }
.seg { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: var(--painel); border: 1px solid var(--borda); }
.seg button { border: 0; background: transparent; font: inherit; font-size: .8rem; font-weight: 600; color: var(--txt2); padding: .35rem .75rem; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.seg button.on { background: var(--card); color: var(--tinta); box-shadow: 0 0 0 1px var(--borda); }
.cal { display: grid; gap: 18px 16px; margin-top: 16px; }
.cal-12 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cal-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cal-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cal-1 { grid-template-columns: minmax(0, 520px); }
@media (max-width: 1000px) { .cal-12 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .cal-12, .cal-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cal-3 { grid-template-columns: 1fr; } }
.cal-mes { background: var(--painel); border: 1px solid var(--borda); border-radius: 16px; padding: 10px 12px 12px; }
.cal-tit { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; margin-bottom: 6px; }
.cal-tit b { text-transform: capitalize; font-size: .88rem; }
.cal-tit small { color: var(--txt3); font-size: .7rem; }
.cal-sem, .cal-dias { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.cal-sem span { font-size: .6rem; text-align: center; color: var(--txt3); font-weight: 600; }
.cd { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 4px; background: var(--fundo2); font-style: normal; cursor: pointer; transition: transform .1s; }
.cd:hover { transform: scale(1.18); position: relative; z-index: 1; }
.cd.vz { background: transparent; cursor: default; }
.cd.vz:hover { transform: none; }
.cd.fds { opacity: .85; }
.cd.fut { opacity: .35; cursor: default; }
.cd.n1 { background: color-mix(in srgb, var(--pri) 28%, var(--card)); }
.cd.n2 { background: color-mix(in srgb, var(--pri) 52%, var(--card)); }
.cd.n3 { background: color-mix(in srgb, var(--pri) 76%, var(--card)); }
.cd.n4 { background: var(--pri); }
.cd.sel { outline: 2px solid var(--btn); outline-offset: 1px; }
.cd span { font-size: .72rem; font-weight: 600; color: var(--txt2); }
.cd.n3 span, .cd.n4 span { color: #fff; }
.cal-1 .cd { border-radius: 8px; }
.cal-1 .cd span { font-size: .85rem; }
.cal-leg { display: flex; align-items: center; gap: 5px; justify-content: flex-end; margin-top: 12px; font-size: .75rem; color: var(--txt2); flex-wrap: wrap; }
.cal-leg .cd { width: 14px; height: 14px; aspect-ratio: auto; cursor: default; }
.cal-leg .cd:hover { transform: none; }
.cal-leg small { margin-left: 10px; }
.cal-det { margin-top: 12px; padding: 12px 14px; background: var(--painel); border-radius: 14px; font-size: .88rem; }
.cal-det b { text-transform: capitalize; }
.cal-pessoas { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.cal-pessoas .chip { text-decoration: none; color: var(--txt); background: var(--card); border: 1px solid var(--borda); padding: .3rem .7rem; font-size: .8rem; }
.cal-pessoas .chip small { color: var(--txt3); margin-left: 4px; }
.chips-sel { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.chips-sel .chip { font: inherit; font-size: .78rem; font-weight: 600; padding: .3rem .75rem; border: 1px solid var(--borda); background: var(--card); color: var(--txt2); cursor: pointer; }
.legenda-eixos { display: grid; gap: 8px; }
.legenda-eixos div { display: flex; flex-direction: column; padding: 8px 12px; background: var(--painel); border-radius: 12px; }
.legenda-eixos b { font-size: .88rem; }
.legenda-eixos span { color: var(--txt2); font-size: .8rem; }
.cal-leg .cd { box-shadow: inset 0 0 0 1px var(--borda); }
.bradford-faixas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bradford-faixas div { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px; background: var(--painel); border-radius: 12px; }
.bradford-faixas small { color: var(--txt2); }
.plano { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr)); margin-top: 14px; }
.acao h3 { font-family: var(--serif); font-weight: 500; font-size: 1.15rem; }
.acao-porque { margin: 12px 0 8px; color: var(--txt); line-height: 1.5; }
.acao-lista { margin: 0 0 12px; padding-left: 18px; color: var(--txt2); line-height: 1.55; font-size: .9rem; }
.acao-lista li { margin-bottom: 4px; }
.acao-rod { display: grid; gap: 8px; border-top: 1px solid var(--borda); padding-top: 10px; font-size: .82rem; color: var(--txt2); line-height: 1.45; }
.acao-rod span { display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; color: var(--txt3); font-weight: 700; margin-bottom: 2px; }
.fundo-dossie .modal { max-width: 1120px; }
.fundo-dossie .graficos .cartao, .fundo-dossie > .modal > .cartao { box-shadow: none; }
.radares { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 225px), 1fr)); margin-top: 12px; }
.radar-mini { background: var(--painel); border: 1px solid var(--borda); border-radius: 18px; padding: 12px 12px 10px; display: flex; flex-direction: column; min-width: 0; }
.radar-cab { display: flex; flex-direction: column; }
.radar-cab b { font-size: .95rem; }
.radar-cab small { color: var(--txt3); font-size: .74rem; }
.radar-tela { position: relative; height: 230px; margin: 4px 0; }
.radar-acima { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; font-size: .72rem; min-height: 22px; }
.radar-acima span { color: var(--txt2); margin-right: 2px; }
.radar-acima em { font-style: normal; font-weight: 700; padding: .1rem .45rem; border-radius: 99px; background: var(--alerta-claro); color: var(--alerta); }
.legenda-det { margin-top: 12px; }
.legenda-det summary { cursor: pointer; }
.legenda-grade { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); margin-top: 8px; }

/* ===== Dossiê de saúde do colaborador ===== */
.corpo-segs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.corpo-segs span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: var(--painel); font-size: 13px; color: var(--txt2); }
.corpo-segs span b { color: var(--txt); font-weight: 600; }
.meds { display: flex; flex-direction: column; gap: 8px; }
.med { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border-radius: 14px; background: var(--painel); border-left: 3px solid transparent; }
.med.seda { border-left-color: var(--erro); }
.med small { color: var(--txt2); line-height: 1.4; }
.med small.muted { color: var(--txt3); }
.med-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.med-cab b { margin-right: 4px; }
.prontuarios { display: flex; flex-direction: column; gap: 10px; max-height: 460px; overflow: auto; padding-right: 4px; }
.pront { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 14px; background: var(--painel); font-size: 14px; line-height: 1.45; }
.pront > div:not(.pront-cab) span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--txt3); margin-bottom: 1px; }
.pront-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pront-cab small { color: var(--txt2); flex: 1; }
.icone-redondo.erro { background: var(--erro-claro); color: var(--erro); }
@media (max-width: 640px) { .fundo-dossie .achados { grid-template-columns: 1fr; } }

/* White label: marca da empresa cliente no menu */
.marca-wl { gap: .6rem; }
.marca-cliente { height: 30px; max-width: 120px; width: auto; object-fit: contain; border-radius: 6px; background: #fff; padding: 2px 4px; }
.marca-wl span { overflow: hidden; text-overflow: ellipsis; font-size: .95rem; max-width: 120px; }
.credito-sistema { display: flex; align-items: center; gap: 6px; justify-content: center; font-size: .72rem; color: var(--txt3); margin-top: 6px; opacity: .8; }
.credito-sistema svg { width: 14px; height: 14px; color: var(--txt3); }
/* atalho verde para "Código e documentação" (administradores gerais) */
.lat-nav a.lat-codigo{color:#0E6158;background:#E3F4EF;font-weight:600;margin-top:6px}.lat-nav a.lat-codigo svg{color:#0E6158}
:root[data-theme="dark"] .lat-nav a.lat-codigo{background:rgba(31,170,140,.16);color:#7FD8C1}:root[data-theme="dark"] .lat-nav a.lat-codigo svg{color:#7FD8C1}

/* ---------- Ícones animados do menu lateral ---------- */
/* Ícones */
.ico{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:color .2s}
.ico *{transform-box:fill-box;transform-origin:center}
.ico [transform]{transform-box:view-box;transform-origin:0 0}
.ico .d{fill:currentColor;fill-opacity:.15}
.ico .f{fill:currentColor;stroke:none}
.ico .m{fill:var(--tile);stroke:none}
.ico .w{stroke-width:2.4}
.ico .bar{stroke-width:3.2}
.ico .sw{stroke-width:2.3}
.ico .kn{fill:var(--tile)}
.ico .arc{stroke-dasharray:.42 .58;stroke-dashoffset:var(--o,0)}
.ico .arc4{stroke-dasharray:.22 .28;stroke-dashoffset:var(--o,0)}
.ico .arc2{stroke-dasharray:.46 .54;stroke-dashoffset:var(--o,0)}
.ico .k-draw{stroke-dasharray:1;stroke-dashoffset:0}
.ico .o-b{transform-origin:50% 100%}
.ico .o-l{transform-origin:0 50%}
.ico .o-c12{transform-box:view-box;transform-origin:12px 12px}
.ico .o-g16{transform-box:view-box;transform-origin:12px 16px}
.ico .o-p5{transform-box:view-box;transform-origin:12px 5px}
.ico .o-k{transform-box:view-box;transform-origin:10.5px 11.5px}
.ico .o-ck{transform-box:view-box;transform-origin:18.2px 6.3px}
.ico .k-mer{transform:scaleX(var(--s,1));vector-effect:non-scaling-stroke;stroke-width:var(--mw,1.7px)}
.ico .k-fl{transform:rotate(-7deg);transform-origin:50% 100%}
.ico .k-fr{transform:rotate(7deg);transform-origin:50% 100%}
.ico .k-up,.ico .k-down,.ico .k-out,.ico .k-sw,.ico .k-flap,.ico .k-apl,.ico .k-apr,.ico .k-up2,.ico .k-tab,.ico .k-s1,.ico .k-s2,.ico .k-s3,.ico .k-fl,.ico .k-fr{transition:transform .38s cubic-bezier(.3,1.4,.5,1)}
.ico .cg,.ico .cy,.ico .cb,.ico .cbs{transition:stroke .3s,fill .3s}
.hv:hover .ico{color:var(--accent)}
.ico .bl{stroke-width:1.05}
.ico .bl.d{fill-opacity:.2}
.ico .cn{stroke-width:.75;fill-opacity:.3}
.ico .fr{stroke-width:1.3}
.ico .gr{stroke-width:.6;stroke-opacity:.4;fill:none}
.ico .rt{stroke-width:1}
.ico .so{fill:currentColor;fill-opacity:1;stroke:none}
.ico .bg,.ico .by{transition:stroke .3s,fill .3s}
.hv:hover .bg{stroke:#4e9468}
.hv:hover .bg.d,.hv:hover .bg.so{fill:#4e9468}
.hv:hover .by{stroke:#ebc562}
.hv:hover .by.d,.hv:hover .by.so{fill:#ebc562}
.hv:hover .cb{fill:#4977b7}
.hv:hover .cbs{stroke:#4977b7}
.hv:hover .k-bg{animation:mi-bladeg 1.1s ease}
.hv:hover .k-by{animation:mi-bladey 1.1s ease}
.hv:hover .k-up,.hv:hover .k-up2{transform:translateY(-1.8px)}
.hv:hover .k-down{transform:translateY(1.8px)}
.hv:hover .k-out{transform:translate(1.4px,-1.4px)}
.hv:hover .k-sw{transform:translate(-1.6px,1.6px)}
.hv:hover .k-flap{transform:rotate(-9deg)}
.hv:hover .k-apl{transform:translateX(-2px)}
.hv:hover .k-apr{transform:translateX(2px)}
.hv:hover .k-tab{transform:translateX(-1.6px)}
.hv:hover .k-s1{transform:translateX(7px)}
.hv:hover .k-s2{transform:translateX(-6px)}
.hv:hover .k-s3{transform:translateX(5px)}
.hv:hover .k-fl{transform:rotate(-15deg)}
.hv:hover .k-fr{transform:rotate(15deg)}
.hv:hover .k-draw{animation:mi-draw .75s ease var(--d,0s) both}
.hv:hover .k-pop{animation:mi-pop .55s ease var(--d,0s)}
.hv:hover .k-rise{animation:mi-rise .6s cubic-bezier(.3,1.5,.5,1) var(--d,0s) both}
.hv:hover .k-grow{animation:mi-grow .6s cubic-bezier(.3,1.4,.5,1) var(--d,0s) both}
.hv:hover .k-float{animation:mi-float .6s ease var(--d,0s)}
.hv:hover .k-hop{animation:mi-hop .6s ease}
.hv:hover .k-beat{animation:mi-beat 1s ease}
.hv:hover .k-wave,.hv:hover .k-rock{animation:mi-wave .9s ease}
.hv:hover .k-spin{animation:mi-spin 1s ease-in-out}
.hv:hover .k-spin2{animation:mi-spin 1.7s ease-in-out}
.hv:hover .k-spinf{animation:mi-spin 2s linear infinite}
.hv:hover .k-spinpop{animation:mi-spinpop .6s ease}
.hv:hover .k-blink{animation:mi-blink .9s ease var(--d,0s)}
.hv:hover .k-stamp{animation:mi-stamp .6s ease}
.hv:hover .k-twist{animation:mi-twist 1.1s ease}
.hv:hover .k-flip{animation:mi-flip .8s ease-in-out}
.hv:hover .k-open{animation:mi-open .55s cubic-bezier(.3,1.5,.5,1)}
.hv:hover .k-shackle{animation:mi-shackle .7s ease}
.hv:hover .k-tilt{animation:mi-tilt 1s ease}
.hv:hover .k-scan{animation:mi-scan 1.2s ease-in-out}
.hv:hover .k-gaze{animation:mi-gaze 1.2s ease}
.hv:hover .k-ring{animation:mi-ring .7s ease var(--d,0s)}
.hv:hover .k-cell{animation:mi-cell .7s ease var(--d,0s)}
.hv:hover .k-shake{animation:mi-shake .6s ease}
.hv:hover .k-squash{animation:mi-squash .7s ease}
.hv:hover .k-in{animation:mi-enter .5s ease var(--d,0s) both}
.hv:hover .k-inr{animation:mi-enterr .5s ease both}
.hv:hover .k-sweep{animation:mi-spin 1.4s linear infinite}
.hv:hover .k-tw{animation:mi-twk .9s ease-in-out var(--d,0s)}
.hv:hover .k-two{animation:mi-twko .8s ease-in-out var(--d,0s)}
.hv:hover .k-br{animation:mi-breath 1.1s ease-in-out}
.hv:hover .k-roll{animation:mi-roll 1s ease-in-out}
.hv:hover .k-fuse{animation:mi-fuse 1.1s ease}
.hv:hover .k-fuse4{animation:mi-fuse4 1.1s ease}
.hv:hover .k-orbit{animation:mi-spin 1.3s ease-in-out}
.hv:hover .k-orbitr{animation:mi-spinr 1.3s ease-in-out}
.hv:hover .k-sway{animation:mi-sway .8s ease var(--d,0s)}
.hv:hover .k-block{animation:mi-block .9s ease}
.hv:hover .k-knee{animation:mi-knee .9s ease}
.hv:hover .k-find{animation:mi-find 1.2s ease}
.hv:hover .k-mer{animation:mi-mer 1.8s linear infinite;animation-delay:var(--dl,0s)}
.hv:hover .k-slide{animation:mi-slideg var(--sp,2.4s) linear infinite}
.hv:hover .k-run{animation:mi-run 1.5s linear infinite}
@keyframes mi-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes mi-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}100%{transform:scale(1)}}
@keyframes mi-rise{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
@keyframes mi-grow{from{transform:scaleX(.25)}to{transform:scaleX(1)}}
@keyframes mi-float{50%{transform:translateY(var(--m,-2.4px))}}
@keyframes mi-hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-3.2px)}}
@keyframes mi-beat{0%,100%{transform:scale(1)}20%{transform:scale(1.2)}40%{transform:scale(1)}60%{transform:scale(1.2)}80%{transform:scale(1)}}
@keyframes mi-wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}55%{transform:rotate(12deg)}80%{transform:rotate(-6deg)}}
@keyframes mi-spin{to{transform:rotate(360deg)}}
@keyframes mi-spinr{to{transform:rotate(-360deg)}}
@keyframes mi-spinpop{0%{transform:rotate(0) scale(1)}60%{transform:rotate(100deg) scale(1.25)}100%{transform:rotate(90deg) scale(1)}}
@keyframes mi-blink{0%,100%{opacity:1}45%{opacity:.1}}
@keyframes mi-stamp{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.18)}65%{transform:translateY(.8px) scale(.94)}100%{transform:none}}
@keyframes mi-twist{0%,100%{transform:rotate(0)}35%{transform:rotate(-65deg)}70%{transform:rotate(30deg)}}
@keyframes mi-flip{to{transform:rotate(180deg)}}
@keyframes mi-open{from{transform:scaleY(.5)}to{transform:scaleY(1)}}
@keyframes mi-shackle{0%,100%{transform:translateY(0)}35%{transform:translateY(-2.6px)}65%{transform:translateY(-2.6px) rotate(-8deg)}}
@keyframes mi-tilt{0%,100%{transform:rotate(0)}30%{transform:rotate(7deg)}65%{transform:rotate(-7deg)}}
@keyframes mi-scan{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
@keyframes mi-gaze{0%,100%{transform:translateX(0)}30%{transform:translateX(-3px)}70%{transform:translateX(3px)}}
@keyframes mi-ring{50%{transform:scale(1.14)}}
@keyframes mi-cell{0%{transform:scale(1)}40%{transform:scale(.45)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
@keyframes mi-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-1.3px)}40%,80%{transform:translateX(1.3px)}}
@keyframes mi-squash{0%,100%{transform:scaleY(1)}35%{transform:scaleY(.82)}65%{transform:scaleY(1.06)}}
@keyframes mi-enter{from{transform:translateX(-6px);opacity:0}to{transform:none;opacity:1}}
@keyframes mi-enterr{from{transform:translateX(6px);opacity:0}to{transform:none;opacity:1}}
@keyframes mi-bladeg{0%,100%{transform:translate(0,0)}45%,60%{transform:translate(1.1px,-.9px)}}
@keyframes mi-bladey{0%,100%{transform:translate(0,0)}45%,60%{transform:translate(-1.1px,.9px)}}
@keyframes mi-roll{0%,100%{transform:translateX(0)}50%{transform:translateX(3.2px)}}
@keyframes mi-twk{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.2;transform:scale(.55)}}
@keyframes mi-twko{0%,100%{opacity:1}50%{opacity:.12}}
@keyframes mi-breath{0%,100%{transform:scale(1)}50%{transform:scale(.62)}}
@keyframes mi-fuse{0%,100%{stroke-dasharray:.42 .58}45%,60%{stroke-dasharray:.5 .5}}
@keyframes mi-fuse4{0%,100%{stroke-dasharray:.22 .28}45%,60%{stroke-dasharray:.25 .25}}
@keyframes mi-sway{0%,100%{transform:translateX(0)}35%{transform:translateX(1.5px)}70%{transform:translateX(-1.2px)}}
@keyframes mi-block{0%,100%{transform:translateY(0)}45%{transform:translateY(-4px)}58%{transform:translateY(-3px)}}
@keyframes mi-knee{0%,100%{transform:rotate(0)}50%{transform:rotate(-30deg)}}
@keyframes mi-find{0%,100%{transform:translate(0,0)}30%{transform:translate(-2.6px,-1px)}65%{transform:translate(.8px,-2.6px)}}
@keyframes mi-mer{0%{transform:scaleX(1)}16.7%{transform:scaleX(.87)}33.3%{transform:scaleX(.5)}50%{transform:scaleX(.02)}66.7%{transform:scaleX(.5)}83.3%{transform:scaleX(.87)}100%{transform:scaleX(1)}}
@keyframes mi-slideg{to{transform:translateX(var(--p,-17px))}}
@keyframes mi-run{to{stroke-dashoffset:-1}}
@media (prefers-reduced-motion:reduce){
  .hv:hover .ico *{animation:none!important;transform:none!important}
  .ico *{transition:none!important}
}

/* Integração com o menu lateral e a barra do celular */
.lat-nav a{--tile:var(--bg);--accent:var(--pri)}
.lat-nav a:hover{--tile:var(--realce)}
.lat-nav a.ativo{--tile:var(--fundo2)}
.barra-inf a,.menu-item{--tile:var(--bg);--accent:var(--pri)}
.lat-nav a .ico{color:var(--txt2);flex:0 0 auto}
.lat-nav a.ativo .ico{color:var(--pri)}
.barra-inf a .ico{flex:0 0 auto}

/* ---------- Menu lateral em blocos (Saúde, Gestão), no estilo do Linear ---------- */
.lat-nav{gap:0}
.lat-grupo{display:flex;flex-direction:column}
.lat-grupo+.lat-grupo{margin-top:18px}
.lat-itens{display:flex;flex-direction:column;gap:1px;overflow:hidden;transition:max-height .25s ease,opacity .2s;max-height:600px}
.lat-grupo.fechado .lat-itens{max-height:0;opacity:0}
.lat-tit{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;margin:0 0 4px;padding:5px 10px;border:0;border-radius:8px;background:none;font:inherit;font-size:.9rem;font-weight:550;letter-spacing:-.005em;color:var(--txt2);cursor:pointer;transition:background .15s,color .15s}
.lat-tit:hover{background:var(--realce);color:var(--txt)}
.lat-tit .ic{color:var(--txt3);transition:transform .2s}
.lat-grupo.fechado .lat-tit .ic{transform:rotate(-90deg)}
.lat-tit:focus-visible{outline:2px solid var(--pri);outline-offset:1px}
.lat-nav .lat-itens a{padding:.5rem .8rem;border-radius:10px;font-size:.94rem;gap:11px}
.lat-nav a.lat-codigo{margin-top:16px;border-radius:10px;padding:.5rem .8rem}
.lat-nav .lat-rot{margin-top:14px;padding:5px 10px 4px;font-size:.9rem;font-weight:550;letter-spacing:-.005em;text-transform:none;color:var(--txt2)}
.lat-nav .lat-cfg{border-radius:10px}
