/* Klugwerk Praxis · demonstração. Barra da marca + abas; cada aba é uma tela do produto; uma coluna no celular. */
:root {
  --bg: #f4f6f8; --sup: #ffffff; --tinta: #13233a; --aco: #5b6879; --linha: #dde3ea;
  --marca: #f2b705; --px: #0f7a72; --px-suave: #e3f2f0; --px-tinta: #ffffff;
  --ok: #1f7a3f; --ok-s: #e4f3e9; --at: #a66300; --at-s: #fdf0dc; --mal: #b3261e; --mal-s: #fbe5e3;
  --tele: #6a4fb3; --tele-s: #efeafa; --sombra: 0 10px 30px rgb(19 35 58 / .16);
  --f-tit: "Archivo", system-ui, sans-serif; --f-txt: "IBM Plex Sans", system-ui, sans-serif; --f-mono: "IBM Plex Mono", ui-monospace, monospace; --f-nome: "Newsreader", Georgia, serif;
}
/* Modo escuro desligado (Chefe, 27/10/2026: prontuário médico sempre claro). */
@media (prefers-color-scheme: dark) and (max-width: 0px) { :root:not([data-theme="light"]) {
  --bg: #0f1722; --sup: #172231; --tinta: #e7edf4; --aco: #9aa8b8; --linha: #2a3849;
  --px: #4fc2b6; --px-suave: #163a37; --px-tinta: #0f1722;
  --ok: #6fcf8f; --ok-s: #173527; --at: #f0b35c; --at-s: #3a2c15; --mal: #f08a80; --mal-s: #3d1d1b;
  --tele: #b7a3f0; --tele-s: #2a2342; --sombra: 0 10px 30px rgb(0 0 0 / .45); color-scheme: dark; } }
:root[data-theme="escuro-desligado"] {
  --bg: #0f1722; --sup: #172231; --tinta: #e7edf4; --aco: #9aa8b8; --linha: #2a3849;
  --px: #4fc2b6; --px-suave: #163a37; --px-tinta: #0f1722;
  --ok: #6fcf8f; --ok-s: #173527; --at: #f0b35c; --at-s: #3a2c15; --mal: #f08a80; --mal-s: #3d1d1b;
  --tele: #b7a3f0; --tele-s: #2a2342; --sombra: 0 10px 30px rgb(0 0 0 / .45); color-scheme: dark; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--tinta); font-family: var(--f-txt); font-size: 15px; line-height: 1.5; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wrap { max-width: 1200px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
a { color: var(--px); }
h1, h2, h3 { font-family: var(--f-tit); font-stretch: 105%; text-wrap: balance; margin: 0; }
h1 { font-size: 1.4rem; font-weight: 800; } h2 { font-size: 1.08rem; font-weight: 700; } h3 { font-size: .98rem; font-weight: 700; }
p { margin: 0; }
select, input, textarea, button { font: inherit; color: inherit; }
select, input:not([type=checkbox]):not([type=color]):not([type=file]), textarea { background: var(--sup); border: 1px solid var(--linha); border-radius: 6px; padding: 8px 10px; width: 100%; }
textarea { min-height: 90px; resize: vertical; }
label { font-size: .85rem; font-weight: 600; color: var(--aco); display: block; margin-bottom: 4px; }
.campo { display: flex; flex-direction: column; gap: 2px; }
.grade2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
/* topo */
header.top { background: var(--sup); border-bottom: 1px solid var(--linha); }
header.top .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding-block: 10px; }
.brand { display: flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; color: inherit; }
.brand svg { width: 34px; height: 34px; flex: none; }
.brand b { font-family: var(--f-tit); font-weight: 800; font-size: 1.12rem; font-stretch: 110%; }
.brand em { font-family: var(--f-nome); font-style: italic; font-weight: 600; color: var(--px); font-size: 1.28rem; }
.brand small { display: block; color: var(--aco); font-size: .78rem; }
.selo-ex { font-family: var(--f-mono); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; background: var(--at-s); color: var(--at); padding: 3px 8px; border-radius: 4px; }
.papel { margin: 0 0 0 auto; display: flex; align-items: center; gap: 8px; font-weight: 500; }
.papel select { width: auto; }
nav.abas { background: var(--sup); border-bottom: 1px solid var(--linha); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 5; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 10; background: var(--sup); }
nav.abas .wrap { display: flex; flex-wrap: wrap; gap: 2px; row-gap: 0; }
@media (max-width: 640px) { nav.abas .wrap { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; } }
nav.abas button { background: none; border: 0; border-bottom: 3px solid transparent; padding: 12px 12px 9px; cursor: pointer; color: var(--aco); font-weight: 600; white-space: nowrap; }
nav.abas button[aria-selected="true"] { color: var(--tinta); border-bottom-color: var(--px); }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--px); outline-offset: 2px; }
main { padding-block: 18px 28px; display: flex; flex-direction: column; gap: 14px; }
.cab { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px; }
.cab p { color: var(--aco); margin-top: 2px; }
.ferr { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.btn { border: 1px solid var(--linha); background: var(--sup); border-radius: 6px; padding: 8px 13px; cursor: pointer; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.btn.pri { background: var(--px); border-color: var(--px); color: var(--px-tinta); }
.btn-peq { padding: 5px 10px; font-size: .85rem; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.cx { background: var(--sup); border: 1px solid var(--linha); border-radius: 8px; }
.cx-p { padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; }
.mut { color: var(--aco); font-size: .88rem; }
.pill { display: inline-block; font-size: .74rem; font-weight: 600; padding: 2px 8px; border-radius: 999px; white-space: nowrap; background: var(--bg); color: var(--aco); }
.p-ok { background: var(--ok-s); color: var(--ok); } .p-at { background: var(--at-s); color: var(--at); } .p-mal { background: var(--mal-s); color: var(--mal); } .p-px { background: var(--px-suave); color: var(--px); } .p-tele { background: var(--tele-s); color: var(--tele); }
/* agenda */
.gr-wrap { overflow-x: auto; }
.gr { display: grid; min-width: 680px; }
.gr .cc { padding: 10px 12px; border-bottom: 1px solid var(--linha); border-left: 1px solid var(--linha); }
.cc b { display: block; font-family: var(--f-tit); }
.cc span { font-size: .78rem; color: var(--aco); }
.hr { font-family: var(--f-mono); font-size: .74rem; color: var(--aco); padding: 6px 8px; border-top: 1px solid var(--linha); font-variant-numeric: tabular-nums; }
.cel { border-top: 1px solid var(--linha); border-left: 1px solid var(--linha); padding: 4px; min-height: 58px; }
.slot { display: block; width: 100%; text-align: left; border: 0; border-left: 4px solid var(--ok); background: var(--ok-s); border-radius: 4px; padding: 6px 8px; cursor: pointer; }
.slot.at { border-left-color: var(--at); background: var(--at-s); } .slot.tele { border-left-color: var(--tele); background: var(--tele-s); } .slot.mal { border-left-color: var(--mal); background: var(--mal-s); }
.slot.livre { border: 1px dashed var(--linha); background: none; color: var(--aco); font-size: .82rem; }
.slot.bloq { background: repeating-linear-gradient(135deg, var(--bg) 0 6px, var(--sup) 6px 12px); border-left-color: var(--aco); color: var(--aco); cursor: default; }
.slot b { display: block; font-size: .87rem; } .slot small { color: var(--aco); font-size: .75rem; }
.legenda { display: flex; flex-wrap: wrap; gap: 12px; font-size: .8rem; color: var(--aco); }
.legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
/* tabelas */
.tab { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--linha); vertical-align: top; }
th { font-size: .73rem; text-transform: uppercase; letter-spacing: .05em; color: var(--aco); font-weight: 600; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
/* prontuário */
.pront { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 14px; }
@media (max-width: 860px) { .pront { grid-template-columns: 1fr; } }
.lista-pac { display: flex; flex-direction: column; }
.lista-pac button { text-align: left; background: none; border: 0; border-bottom: 1px solid var(--linha); padding: 10px 14px; cursor: pointer; }
.lista-pac button[aria-current="true"] { background: var(--px-suave); }
.lista-pac small { display: block; color: var(--aco); }
dl.ficha { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; font-size: .88rem; }
dl.ficha dt { color: var(--aco); } dl.ficha dd { margin: 0; }
.reg { border-left: 3px solid var(--linha); padding: 2px 0 2px 14px; display: flex; flex-direction: column; gap: 6px; }
.reg.meu { border-left-color: var(--px); }
.reg > header { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.reg > header b { font-family: var(--f-tit); }
.reg p { max-width: 70ch; }
.rot { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--aco); font-weight: 600; }
.sigilo { border: 1px dashed var(--linha); border-radius: 6px; padding: 10px 12px; color: var(--aco); font-size: .88rem; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
.vazio { padding: 26px; text-align: center; color: var(--aco); }
.vazio b { display: block; color: var(--tinta); font-family: var(--f-tit); font-size: 1.04rem; margin-bottom: 4px; }
/* documentos */
.docs { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 14px; }
@media (max-width: 860px) { .docs { grid-template-columns: 1fr; } }
.modelo { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--linha); }
.modelo small { display: block; color: var(--aco); }
.papel-doc { background: #fff; color: #1d2733; border-radius: 4px; box-shadow: var(--sombra); padding: 26px 28px 20px; display: flex; flex-direction: column; gap: 14px; min-height: 420px; font-size: .9rem; max-width: 640px; }
.papel-doc .pd-cab { display: flex; align-items: center; gap: 14px; border-bottom: 2px solid var(--cor-doc, #0f7a72); padding-bottom: 10px; }
.papel-doc .pd-logo { width: 54px; height: 54px; border-radius: 8px; background: var(--cor-doc, #0f7a72); color: #fff; display: grid; place-items: center; font-family: var(--f-tit); font-weight: 800; font-size: 1.3rem; flex: none; overflow: hidden; }
.papel-doc .pd-logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.papel-doc .pd-cab b { display: block; font-family: var(--f-tit); font-size: 1.05rem; }
.papel-doc .pd-cab small { color: #5b6879; }
.papel-doc h4 { margin: 4px 0 0; text-align: center; letter-spacing: .08em; font-family: var(--f-tit); }
.papel-doc .pd-corpo { flex: 1; white-space: pre-line; line-height: 1.65; }
.papel-doc .campo-var { background: #e3f2f0; color: #0b5a54; border-radius: 3px; padding: 0 3px; font-weight: 600; }
.papel-doc .pd-ass { margin-top: 18px; text-align: center; font-size: .82rem; }
.papel-doc .pd-ass img { max-height: 48px; display: block; margin: 0 auto 2px; }
.papel-doc .pd-ass .linha-ass { border-top: 1px solid #5b6879; width: 240px; margin: 0 auto 4px; }
.papel-doc .pd-rod { border-top: 1px solid #dde3ea; padding-top: 8px; font-size: .74rem; color: #5b6879; display: flex; flex-wrap: wrap; gap: 4px 14px; justify-content: center; text-align: center; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { font-family: var(--f-mono); font-size: .76rem; background: var(--px-suave); color: var(--px); border-radius: 4px; padding: 2px 6px; }
.passos-klug { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; }
.passos-klug .ok::before { content: "✓ "; color: var(--ok); font-weight: 700; }
/* config */
/* Configurações: quatro cartões no topo (escolha), conteúdo embaixo. Duas colunas de cartões no celular. */
.conf { display: flex; flex-direction: column; gap: 14px; }
.conf-menu { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 1100px) { .conf-menu { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .conf-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.conf-menu button { text-align: left; background: var(--sup); border: 1px solid var(--linha); border-radius: 8px; padding: 12px 14px; cursor: pointer; color: var(--tinta); display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.conf-menu button b { font-family: var(--f-tit); font-size: .98rem; }
.conf-menu button small { color: var(--aco); font-size: .8rem; line-height: 1.3; }
.conf-menu button:hover { border-color: var(--px); }
.conf-menu button[aria-current="true"] { border-color: var(--px); box-shadow: inset 0 0 0 1px var(--px); background: var(--px-suave); }
.conf-menu button[aria-current="true"] b { color: var(--px); }
.ident { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 1100px) { .ident { grid-template-columns: 1fr; } }
.ident .papel-doc { min-height: 0; }
.logo-up { display: flex; align-items: center; gap: 14px; }
.logo-acoes { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.logo-acoes .acoes { margin-top: 4px; }
label.btn { color: var(--tinta); font-size: .85rem; margin: 0; }
.logo-prev { width: 64px; height: 64px; border-radius: 8px; border: 1px dashed var(--linha); display: grid; place-items: center; overflow: hidden; color: var(--aco); font-size: .75rem; text-align: center; flex: none; background: #fff; }
.logo-prev img { width: 100%; height: 100%; object-fit: contain; }
.liga { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--linha); }
.liga:last-child { border-bottom: 0; }
.liga small { display: block; color: var(--aco); }
.chave { position: relative; width: 44px; height: 26px; flex: none; }
.chave input { opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; position: absolute; inset: 0; z-index: 1; }
.chave span { position: absolute; inset: 0; background: var(--linha); border-radius: 999px; transition: background .15s; }
.chave span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--sup); transition: transform .15s; box-shadow: 0 1px 3px rgb(0 0 0 / .25); }
.chave input:checked + span { background: var(--px); }
.chave input:checked + span::after { transform: translateX(18px); }
.chave input:focus-visible + span { outline: 2px solid var(--px); outline-offset: 2px; }
/* financeiro */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.card { padding: 14px 16px; }
.card span { font-size: .76rem; color: var(--aco); text-transform: uppercase; letter-spacing: .05em; }
.card b { display: block; font-family: var(--f-tit); font-size: 1.45rem; font-variant-numeric: tabular-nums; }
/* gaveta */
.veu { position: fixed; inset: 0; background: rgb(10 18 28 / .45); z-index: 20; }
.gaveta { position: fixed; top: 0; right: 0; bottom: 0; width: min(460px, 100%); background: var(--sup); z-index: 21; border-left: 1px solid var(--linha); padding: calc(16px + env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px)) calc(18px + env(safe-area-inset-bottom, 0px)) 18px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; }
.gaveta .fechar { align-self: flex-end; }
.acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.aviso { font-size: .86rem; background: var(--px-suave); border-radius: 6px; padding: 10px 12px; }
.memed { border: 1px solid var(--linha); border-radius: 8px; overflow: hidden; }
.memed .mm-topo { background: #1d6fe0; color: #fff; padding: 8px 12px; font-weight: 700; font-size: .9rem; }
.memed .mm-corpo { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.toast { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); background: var(--tinta); color: var(--bg); padding: 10px 16px; border-radius: 6px; z-index: 40; font-weight: 600; max-width: calc(100% - 32px); }
/* Klug */
.klug-btn { position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 15; border: 0; border-radius: 999px; background: var(--tinta); color: var(--bg); padding: 10px 16px 10px 10px; font-weight: 700; display: flex; align-items: center; gap: 8px; cursor: pointer; box-shadow: var(--sombra); }
.klug-btn span { width: 26px; height: 26px; border-radius: 6px; background: var(--marca); color: #13233a; display: grid; place-items: center; font-family: var(--f-tit); font-weight: 900; }
.klug { position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: min(400px, calc(100% - 32px)); height: min(560px, calc(100% - 100px)); z-index: 25; background: var(--sup); border: 1px solid var(--linha); border-radius: 12px; box-shadow: var(--sombra); display: flex; flex-direction: column; overflow: hidden; }
.klug > header { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 10px 12px; border-bottom: 1px solid var(--linha); }
.klug > header span { color: var(--aco); font-size: .8rem; flex: 1; }
.klug-msgs { flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.km { max-width: 88%; padding: 8px 11px; border-radius: 10px; font-size: .9rem; white-space: pre-line; }
.km.k { background: var(--bg); align-self: flex-start; }
.km.u { background: var(--px); color: var(--px-tinta); align-self: flex-end; }
.klug-sug { display: flex; gap: 6px; overflow-x: auto; padding: 0 12px 8px; }
.klug-sug button { flex: none; border: 1px solid var(--linha); background: var(--sup); border-radius: 999px; padding: 5px 10px; font-size: .8rem; cursor: pointer; }
.klug-form { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--linha); }
footer.rodape { border-top: 1px solid var(--linha); background: var(--sup); }
footer.rodape .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding-block: 14px 80px; color: var(--aco); font-size: .82rem; }
@media (prefers-reduced-motion: no-preference) { .gaveta { animation: entra .18s ease-out; } @keyframes entra { from { transform: translateX(24px); opacity: .6; } } }
@media (max-width: 560px) { .papel { margin-left: 0; width: 100%; } .papel select { flex: 1; } }

.conf > *, .ident > *, .docs > *, .pront > * { min-width: 0; }
input[type=file] { max-width: 100%; }
.logo-up { flex-wrap: wrap; }
.busca-res { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.busca-res .res { width: 100%; text-align: left; background: var(--sup); border: 1px solid var(--linha); border-radius: 6px; padding: 8px 10px; cursor: pointer; }
.busca-res .res:hover { border-color: var(--px); }
.busca-res .res small { display: block; color: var(--aco); font-size: .8rem; }
.busca-res .liga { width: 100%; }
fieldset.eq-ags { border: 1px solid var(--linha); border-radius: 6px; padding: 8px 12px 10px; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; }
fieldset.eq-ags legend { font-size: .85rem; font-weight: 600; color: var(--aco); padding: 0 4px; }
fieldset.eq-ags label { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--tinta); font-weight: 500; font-size: .9rem; }

/* guias de convênio */
.gaveta.larga { width: min(860px, 100%); }
.rot-campo { font-size: .85rem; font-weight: 600; color: var(--aco); display: block; margin-bottom: 4px; }
.seg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.seg button { text-align: left; border: 1px solid var(--linha); background: var(--sup); border-radius: 8px; padding: 10px 12px; cursor: pointer; display: flex; flex-direction: column; gap: 2px; }
.seg button small { color: var(--aco); font-size: .78rem; }
.seg button[aria-pressed="true"] { border-color: var(--px); background: var(--px-suave); box-shadow: inset 0 0 0 1px var(--px); }
.seg button[aria-pressed="true"] b { color: var(--px); }
.seg-peq button { padding: 7px 10px; font-weight: 600; text-align: center; }
.chip-btn { border: 1px dashed var(--px); background: none; color: var(--px); border-radius: 999px; padding: 4px 10px; font-size: .82rem; font-weight: 600; cursor: pointer; }
.chip-x { display: inline-flex; align-items: center; gap: 6px; font-family: var(--f-txt); font-size: .82rem; padding: 3px 4px 3px 9px; }
.chip-x button { border: 0; background: none; color: inherit; cursor: pointer; font-size: 1rem; line-height: 1; padding: 0 4px; }
.g-procs { display: flex; flex-direction: column; gap: 6px; }
.g-proc { display: flex; align-items: center; gap: 10px; border: 1px solid var(--linha); border-radius: 6px; padding: 8px 10px; }
.g-proc > div:first-child { flex: 1; min-width: 0; }
.g-proc small { display: block; color: var(--aco); font-size: .78rem; }
.qtd { display: flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.qtd button { width: 28px; height: 28px; border: 1px solid var(--linha); background: var(--sup); border-radius: 6px; cursor: pointer; font-weight: 700; }
.linha-check { display: flex; gap: 8px; align-items: center; color: var(--tinta); font-weight: 500; margin: 0; }
.guia-tiss { background: #fff; color: #1d2733; border: 1.5px solid #1d2733; font-size: .8rem; overflow-x: auto; }
.gt-topo { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; padding: 8px 10px; border-bottom: 1.5px solid #1d2733; }
.gt-topo h3 { font-size: .95rem; text-align: center; letter-spacing: .03em; }
.gt-op { font-weight: 700; } .gt-op small { display: block; font-weight: 400; color: #5b6879; }
.gt-num { text-align: right; font-size: .72rem; color: #5b6879; } .gt-num b { display: block; font-size: 1rem; color: #1d2733; font-variant-numeric: tabular-nums; }
.gt-sec { background: #e6eaef; font-weight: 700; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; padding: 3px 10px; border-bottom: 1px solid #1d2733; }
.gt-linha { display: flex; flex-wrap: wrap; border-bottom: 1px solid #9aa6b3; }
.gt-cx { flex: 1 1 110px; padding: 4px 8px 5px; border-right: 1px solid #9aa6b3; min-width: 0; }
.gt-cx:last-child { border-right: 0; }
.gt-cx.w3 { flex: 3 1 220px; } .gt-cx.w4 { flex: 1 1 100%; }
.gt-cx span { display: block; font-size: .66rem; color: #5b6879; }
.gt-cx b { display: block; font-weight: 600; overflow-wrap: anywhere; }
.gt-cx.alto b { min-height: 2.6em; font-weight: 500; }
.gt-tab table { min-width: 520px; } .gt-tab th, .gt-tab td { padding: 5px 8px; border-bottom: 1px solid #9aa6b3; color: #1d2733; } .gt-tab th { color: #5b6879; }
@media (max-width: 560px) { .seg { grid-template-columns: 1fr; } }
.gt-tab { overflow-x: auto; }

/* Memed (24/10/2026): receita excluída na Memed fica riscada, nunca some. */
.reg.inativa p { text-decoration: line-through; opacity: .6; }
.p-mut { background: var(--linha); color: var(--tinta); }
/* O módulo da Memed abre por cima de tudo. */
iframe[src*="memed"] { z-index: 2147483000; }
/* Teleconsulta (25/10/2026) */
.tele-bloco { border: 1px solid var(--linha); border-left: 4px solid var(--tele); border-radius: 8px; padding: 10px 14px; display: flex; flex-direction: column; gap: 8px; background: var(--tele-s); }
.tele-bloco h3 { margin: 0; font-size: 1rem; }
.tele-link { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.tele-link code { font-family: var(--f-mono); font-size: .85rem; background: var(--sup); border-radius: 4px; padding: 4px 8px; overflow-wrap: anywhere; user-select: all; }
.tele-chk { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: .9rem; }
.tele-chk li::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 8px; background: var(--at); }
.tele-chk li.ok::before { background: var(--ok); }
.tele-email, .tele-termo { border: 1px solid var(--linha); border-radius: 8px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; background: var(--sup); }
.tele-email .btn { pointer-events: none; display: inline-block; }

/* aplicação da clínica (27/10/2026): usuário logado, navegação por dia */
.usuario { margin-left: auto; display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--aco); min-width: 0; }
.usuario span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 220px; }
.papel + .usuario { margin-left: 0; }
.dia-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.dia-nav input[type="date"] { width: auto; padding: 5px 8px; font-size: .9rem; }
.carregando { padding: 40px 0; text-align: center; }

/* Arquivos (27/10/2026) */
.arq-envio{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;align-items:end;padding:10px 12px;border:1px dashed var(--linha);border-radius:8px}
.arq-envio .bsc-chk{grid-column:1/-1}
.arq-texto{white-space:pre-wrap;font:13px/1.45 ui-monospace,monospace;max-height:60vh;overflow:auto;background:var(--fundo);padding:10px;border-radius:8px}
@media (max-width:700px){.arq-envio{grid-template-columns:1fr}}
.oc-proposta{margin-top:10px;padding:10px 12px;border-left:3px solid var(--marca,#0f7a72);background:var(--fundo)}.oc-proposta p{margin:4px 0 0;white-space:pre-wrap}
.oc-taxas{margin:6px 0 10px}.oc-taxas summary{cursor:pointer;color:var(--mut,#5b6675);font-size:.92rem}

/* Atendente (27/10/2026) */
.at-fio{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto;padding:8px;background:var(--fundo);border-radius:8px}.at-msg{max-width:78%;display:flex;flex-direction:column;gap:2px}.at-msg.in{align-self:flex-start}.at-msg.out,.at-msg.humano{align-self:flex-end;align-items:flex-end}.at-balao{padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--linha);line-height:1.4}.at-msg.out .at-balao{background:#e6f4f1}.at-msg.out.sombra .at-balao{background:#fff7dc;border-style:dashed}.at-msg.humano .at-balao{background:#eef0f4}.at-trilha{border:1px solid var(--linha);border-radius:8px;padding:6px 10px;margin-top:6px}.at-trilha summary{cursor:pointer}.at-passo{font-size:.85rem;margin:4px 0;word-break:break-all}tr.sel td{background:#f4f7fb}

/* Rodapé do Praxis (27/10/2026) */
footer.rodape-px { margin-top: 28px; border-top: 1px solid var(--linha); background: var(--sup); color: var(--aco); font-size: .85rem; }
footer.rodape-px .wrap { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; padding: 14px 16px; }
footer.rodape-px a { color: inherit; }
footer.rodape-px .px { color: var(--px); font-weight: 700; }

/* Prontuário 2 (27/10/2026) */
:root { color-scheme: light; }
.busca-glob { position: relative; flex: 1 1 280px; max-width: 420px; margin: 0 12px; }
.busca-glob input { width: 100%; box-sizing: border-box; padding: 8px 12px; border: 1px solid var(--linha); border-radius: 999px; font: inherit; background: var(--sup); }
.busca-glob .busca-res { position: absolute; top: 100%; left: 0; right: 0; z-index: 30; background: var(--sup); border: 1px solid var(--linha); border-radius: 10px; box-shadow: var(--sombra); max-height: 60vh; overflow: auto; }
.busca-res .res { display: block; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--linha); padding: 8px 12px; cursor: pointer; }
.busca-res .res:hover, .busca-res .res:focus { background: var(--px-suave); }
.busca-res .res small { display: block; color: var(--aco); }
.pront2 { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 14px; align-items: start; }
@media (max-width: 860px) { .pront2 { grid-template-columns: 1fr; } }
.pac-escolha { position: sticky; top: 64px; display: flex; flex-direction: column; gap: 8px; padding: 12px; max-height: calc(100vh - 90px); overflow: auto; }
.pac-escolha input { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid var(--linha); border-radius: 8px; font: inherit; }
.pac-escolha h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--aco); margin: 8px 0 2px; }
.pac-escolha button.pac { text-align: left; background: none; border: 0; border-radius: 8px; padding: 7px 9px; cursor: pointer; }
.pac-escolha button.pac[aria-current="true"] { background: var(--px-suave); }
.pac-escolha button.pac small { display: block; color: var(--aco); }
.acoes-pac { display: flex; flex-wrap: wrap; gap: 8px; }
.tl-filtros { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.tl-filtros button { border: 1px solid var(--linha); background: var(--sup); border-radius: 999px; padding: 4px 12px; cursor: pointer; font-size: .88rem; }
.tl-filtros button[aria-pressed="true"] { background: var(--px); color: #fff; border-color: var(--px); }
details.tl { border-left: 3px solid var(--linha); padding: 4px 0 4px 14px; margin: 0 0 10px; }
details.tl.meu { border-left-color: var(--px); }
details.tl > summary { cursor: pointer; list-style: none; display: flex; flex-direction: column; gap: 2px; }
details.tl > summary::-webkit-details-marker { display: none; }
details.tl > summary .tl-cab { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
details.tl > summary .tl-cab b { font-family: var(--f-tit); }
details.tl > summary .tl-prev { color: var(--aco); font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
details.tl[open] > summary .tl-prev { display: none; }
details.tl > summary::after { content: "Abrir ▾"; font-size: .8rem; color: var(--px); font-weight: 600; }
details.tl[open] > summary::after { content: "Fechar ▴"; }
.tl-corpo { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.tl-corpo .rot { font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; color: var(--aco); font-weight: 700; }
.txt-clin { white-space: pre-line; line-height: 1.5; max-width: 80ch; }
.txt-clin ul, .txt-clin ol { margin: 4px 0 4px 20px; padding: 0; white-space: normal; }
.txt-clin p { margin: 0 0 6px; white-space: normal; }
.at-duo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 16px; }
@media (max-width: 900px) { .at-duo { grid-template-columns: 1fr; } }
.at-hist { border-left: 1px solid var(--linha); padding-left: 14px; max-height: 75vh; overflow: auto; }
.at-hist h3 { margin: 0 0 6px; }
#gaveta.larga.extra { width: min(1200px, 96vw); }
.tab-cir td.num b { white-space: nowrap; }
@media print { body.imp-doc * { visibility: hidden !important; } body.imp-doc #doc-imprimir, body.imp-doc #doc-imprimir * { visibility: visible !important; } body.imp-doc #doc-imprimir { position: absolute; left: 0; top: 0; width: 100%; } }
