/* Fisio App · tema escuro, preferências de aparência e tela de Configurações. Carregada por último. */

/* ---------- tema escuro: tokens (as demais cores fixas são adaptadas por settings.js) ---------- */
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0f1519;--surface:#182025;--field-bg:#1f2a30;--field-line:#34444c;--line:#2a373e;
  --ink:#e6edef;--solid:#2d7f8b;--muted:#9fb1b8;--accent:#6cc0cc;--accent-strong:#9adce4;--danger:#ff8a8a;
  --cyan:#173e44;--lime:#26381a;--lav:#26284f;--peach:#472d1c;
  --st-agendado:#a8b0f0;--st-agendado-bg:#262a52;--st-confirmado:#6fcdd9;--st-confirmado-bg:#15393e;
  --st-atendido:#9ccf63;--st-atendido-bg:#263a15;--st-faltou:#f08a6e;--st-faltou-bg:#4a2218;
  --st-cancelado:#9aabac;--st-cancelado-bg:#272f30;--st-espera:#e6bd55;--st-espera-bg:#43360f;
  --adm-series:#4cc2d6;--adm-grid:#2a373e;
  --shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 30px #0008;--shadow-lg:0 10px 40px #000a;
}
html[data-theme="dark"] .patientdashboard{--solid:#6d5aa8}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] ::selection{background:#2d7f8b;color:#fff}
html[data-theme="dark"] .skeleton{background:#243038}
html[data-theme="dark"] .skeleton::after{background:linear-gradient(90deg,transparent,#ffffff14,transparent)}
html[data-theme="dark"] .profiledialog::backdrop,html[data-theme="dark"] #appmenu::backdrop{background:#000a}
html[data-theme="dark"] img.heroelo,html[data-theme="dark"] .anatomy img{filter:brightness(.92)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#7d9097}

/* ---------- tamanho do texto (telas e formulários) ---------- */
html[data-text="sm"] .main{zoom:.92}
html[data-text="lg"] .main{zoom:1.1}
html[data-text="xl"] .main{zoom:1.22}

/* ---------- movimento reduzido por escolha do usuário ---------- */
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{
  animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}

/* ---------- alto contraste ---------- */
html[data-contrast="high"]{--muted:#38464f;--line:#8fa3aa;--field-line:#6b8088}
html[data-contrast="high"][data-theme="dark"]{--muted:#cfdce0;--line:#5d727a;--field-line:#7d939b}
html[data-contrast="high"] .panel,html[data-contrast="high"] .carepanel,html[data-contrast="high"] .patientcard{border:1px solid var(--line)}
html[data-contrast="high"] :focus-visible{outline-width:4px}

/* ---------- item "Configurações" no menu ---------- */
.navbtn[data-nav="config"]{--nav-bg:#e3e8ee;--nav-fg:#3b4a5c}

/* ---------- tela de Configurações ---------- */
.setwrap{max-width:860px}
.settabs{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding:var(--space-1);margin:0 0 var(--space-4);background:var(--lav);border-radius:var(--radius-md)}
.settabs::-webkit-scrollbar{display:none}
.settab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);background:transparent;font-weight:600;font-size:14px;white-space:nowrap;min-height:44px}
.settab svg{width:18px;height:18px}
.settab[aria-selected="true"]{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--accent-strong)}
.settab:not([aria-selected="true"]):hover{background:#ffffff55}
.setsec{display:grid;gap:var(--space-4)}
.setcard{background:var(--surface);border-radius:var(--radius);padding:var(--space-5)}
.setcard>h2{font-size:19px;margin-bottom:4px}
.setcard>.setdesc{color:var(--muted);font-size:14px;margin-bottom:var(--space-4)}
.setrow{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-top:1px solid var(--line)}
.setrow:first-of-type{border-top:0}
.setrow .lbl{min-width:0;flex:1}
.setrow .lbl strong{display:block;font-size:15px}
.setrow .lbl small{display:block;color:var(--muted);margin-top:2px}
.setrow .ctl{flex-shrink:0;display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;justify-content:flex-end}
.setrow select,.setrow input[type=text],.setrow input[type=password]{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);min-height:44px;min-width:0}
.setrow input[type=text]{width:min(320px,100%)}
@media(max-width:700px){.setrow{flex-direction:column;align-items:stretch;gap:var(--space-2)}.setrow .ctl{justify-content:flex-start}.setrow input[type=text]{width:100%}.setcard{padding:var(--space-4)}}

/* escolha de tema */
.themegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}
.themeopt{position:relative;display:grid;gap:var(--space-2);padding:var(--space-3);border:2px solid var(--line);border-radius:var(--radius-md);cursor:pointer;background:var(--field-bg);text-align:center;font-weight:600;transition:border-color var(--t-base) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease)}
.themeopt:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.themeopt input{position:absolute;opacity:0;inset:0;cursor:pointer}
.themeopt:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.themeopt:has(input:focus-visible){outline:var(--focus-ring);outline-offset:3px}
.themeprev{height:74px;border-radius:12px;border:1px solid #0002;display:grid;grid-template-columns:30% 1fr;overflow:hidden}
.themeprev i{display:block}
.themeprev b{display:grid;gap:5px;padding:9px;align-content:start}
.themeprev b::before,.themeprev b::after{content:"";height:9px;border-radius:5px}
.themeprev b::after{width:62%}
.tp-light{background:#f6f8f8}.tp-light i{background:#fff}.tp-light b::before{background:#c8edf0}.tp-light b::after{background:#deddf6}
.tp-dark{background:#0f1519}.tp-dark i{background:#182025}.tp-dark b::before{background:#1f4f57}.tp-dark b::after{background:#34376e}
.tp-auto{background:linear-gradient(105deg,#f6f8f8 50%,#0f1519 50%)}.tp-auto i{background:linear-gradient(105deg,#fff 50%,#182025 50%)}.tp-auto b::before{background:#6cc0cc}.tp-auto b::after{background:#8f98e6}
@media(max-width:520px){.themegrid{gap:var(--space-2)}.themeprev{height:58px}}

/* tamanho do texto */
.sizeseg{display:inline-flex;border:1px solid var(--field-line);border-radius:var(--radius-pill);overflow:hidden;background:var(--field-bg)}
.sizeseg label{margin:0;cursor:pointer}
.sizeseg input{position:absolute;opacity:0;width:1px;height:1px}
.sizeseg span{display:grid;place-items:center;min-width:52px;min-height:44px;padding:0 14px;font-weight:700;transition:background-color var(--t-base) var(--ease)}
.sizeseg input:checked+span{background:var(--solid);color:#fff}
.sizeseg input:focus-visible+span{outline:var(--focus-ring);outline-offset:-3px}

/* interruptor */
.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;margin:0}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.switch i{width:52px;height:30px;border-radius:30px;background:#9fb1b8;position:relative;transition:background-color var(--t-base) var(--ease);flex-shrink:0}
.switch i::after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0004;transition:transform var(--t-base) var(--ease)}
.switch input:checked+i{background:var(--accent)}
html[data-theme="dark"] .switch input:checked+i{background:#2d7f8b}
.switch input:checked+i::after{transform:translateX(22px)}
.switch input:focus-visible+i{outline:var(--focus-ring);outline-offset:3px}

/* cartão de perfil dentro das configurações */
.setprofile{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.setprofile .pfavatar{width:72px;height:72px;font-size:24px}
.setprofile .who{flex:1;min-width:180px}
.setprofile .who strong{display:block;font-size:18px}
.setprofile .who small{color:var(--muted)}

/* avisos e atalhos */
.setmsg{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:14px}
.setmsg.ok{background:var(--st-atendido-bg);color:var(--ink)}
.setmsg.err{background:var(--st-faltou-bg);color:var(--ink)}
.setmsg:empty{display:none}
.keys{display:grid;grid-template-columns:auto 1fr;gap:10px var(--space-4);align-items:center}
.keys kbd{display:inline-block;min-width:30px;padding:4px 9px;border-radius:8px;border:1px solid var(--field-line);border-bottom-width:3px;background:var(--field-bg);font:600 13px/1.2 ui-monospace,Consolas,monospace;text-align:center}
.setdanger{color:var(--st-faltou)}
.btn.danger{background:var(--st-faltou);color:#fff}
html[data-theme="dark"] .btn.danger{color:#2a0f08}
.confirmdlg{width:min(420px,92vw);border:0;border-radius:var(--radius);padding:var(--space-5);background:var(--surface);color:var(--ink);box-shadow:0 20px 70px #0006}
.confirmdlg::backdrop{background:#192c2e88}
.confirmdlg[open]{animation:dialog-in .22s var(--ease)}
.confirmdlg h2{font-size:20px;margin-bottom:var(--space-2)}
.confirmdlg p{color:var(--muted)}
.confirmdlg .pfactions{margin-top:var(--space-5)}
@media print{.settabs{display:none}}

/* mascote sem fundo no tema escuro */
html[data-theme="dark"] .elo-launcher,html[data-theme="dark"] .elo-launcher img,html[data-theme="dark"] .elo-header img{background:transparent}

/* miniatura "Automático": metade clara, metade escura */
.themeprev.tp-auto{display:block;position:relative;background:linear-gradient(90deg,#f6f8f8 50%,#0f1519 50%)}
.themeprev.tp-auto i{display:none}
.themeprev.tp-auto b{position:absolute;inset:0}
.themeprev.tp-auto b::before{background:linear-gradient(90deg,#c8edf0 50%,#1f4f57 50%)}
.themeprev.tp-auto b::after{background:linear-gradient(90deg,#deddf6 50%,#34376e 50%);width:78%}

/* ---------- rolagem lateral: barra visível, esmaecido, setas e arrastar ---------- */
.hscroll.hscroll.hscroll{scrollbar-width:thin;scrollbar-color:var(--accent) transparent;overscroll-behavior-x:contain;padding-bottom:max(var(--space-2),6px)}
.hscroll.hscroll.hscroll::-webkit-scrollbar{display:block;height:6px}
.hscroll.hscroll.hscroll::-webkit-scrollbar-thumb{background:var(--accent);border-radius:6px}
.hscroll.hscroll.hscroll::-webkit-scrollbar-track{background:transparent}
.hscroll.is-scrollable{cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl,0px),#000 calc(100% - var(--fr,0px)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl,0px),#000 calc(100% - var(--fr,0px)),transparent 100%)}
.hscroll.dragging{cursor:grabbing;user-select:none}
.hscroll.dragging *{pointer-events:none}
.hs-wrap{position:relative;display:flex;max-width:100%}
.hs-wrap>.hscroll{flex:1 1 auto;min-width:0}
.hs-arrow{position:absolute;top:var(--hs-top,50%);transform:translateY(-50%);width:34px;height:34px;min-height:0;padding:0;border-radius:50%;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:none;place-items:center;z-index:3}
.hs-arrow svg{width:18px;height:18px}
.hs-arrow:hover{background:var(--cyan)}
.hs-l{left:4px}.hs-r{right:4px}
@media(hover:hover) and (pointer:fine){.hs-wrap.can-l>.hs-l,.hs-wrap.can-r>.hs-r{display:grid}}
@media print{.hs-arrow{display:none!important}}

/* a faixa fixa e os atalhos de seção não podem esticar a página para o lado */
.patientdashboard,.formwrap{overflow-x:clip;overflow-clip-margin:24px}

/* coluna principal nunca cresce além da tela por causa de faixas largas */
.shell>.main,.main>*,.view-enter,.ptsticky,.secnav,.hs-wrap{min-width:0}
.hs-wrap{width:100%}
