/* ===== Modelos de aparência (ver app/aparencia.php) =====
   A cor principal e a cor de fundo vêm do modelo (bloco #apVars). */

/* --- Largura --- */
body[data-largura="larga"] .shell,
body[data-largura="larga"] .wrap{max-width:1600px}
body[data-largura="inteira"] .shell,
body[data-largura="inteira"] .wrap{max-width:none}
body[data-largura="inteira"] .shell{padding:0 12px}

/* --- Densidade --- */
body[data-densidade="compacta"]{zoom:.9}

/* --- Modo escuro: superfícies e texto --- */
body[data-modo="escuro"]{--card:#18212b;--ink:#e5e9ee;--muted:#9aa5b1;--line:#2a3542;--shadow:0 1px 3px rgba(0,0,0,.5)}
body[data-modo="escuro"] :is(input,select,textarea){background:#0f1720;color:var(--ink);border-color:var(--line)}
body[data-modo="escuro"] :is(.reg,.chip,.nvbtn,.pdfbtn,.compauto){background:var(--card);color:var(--ink)}
body[data-modo="escuro"] :is(.opt label,.segbtn){background:#202b37}
body[data-modo="escuro"] :is(.nav:hover,.domitem:hover){background:#22303d}
body[data-modo="escuro"] .modcard .tag{background:#22303d;color:var(--muted)}
body[data-modo="escuro"] :is(.fb,.formnovo,.compcard,.okmsg){background:#1c2a24;border-color:#2c4136;color:var(--ink)}
body[data-modo="escuro"] :is(.comphd h3,.compval,.compcab .compdesc){color:var(--ink)}
body[data-modo="escuro"] .aviso{background:#3a1f1c;border-color:#6b2f27;color:#f3c9c2}

/* --- Painel "aparência" --- */
#apPainel{position:fixed;top:60px;right:16px;z-index:1000;width:320px;max-height:calc(100vh - 80px);overflow:auto;
  background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 8px 30px rgba(0,0,0,.18);padding:14px 16px;font-size:14px}
#apPainel[hidden]{display:none}
#apPainel h3{margin:0 0 2px;font-size:15px}
#apPainel .apsub{font-size:12.5px;color:var(--muted);margin-bottom:10px}
#apPainel .apopt{display:grid;grid-template-columns:52px 1fr;column-gap:10px;align-items:center;width:100%;text-align:left;
  background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 10px;margin-bottom:6px;
  font-weight:400;cursor:pointer}
#apPainel .apopt:hover{border-color:var(--brand)}
#apPainel .apopt.on{border:2px solid var(--brand);padding:8px 9px}
#apPainel .apsw{grid-row:1 / 3;width:52px;height:30px;border-radius:7px;border:1px solid var(--line)}
#apPainel .apnm{font-weight:600;font-size:14px}
#apPainel .apds{font-size:12px;color:var(--muted);line-height:1.3}
#apPainel .apacoes{display:flex;align-items:center;gap:8px;margin-top:10px}
#apPainel #apAdmin{font-size:13px;color:var(--brand);font-weight:600;text-decoration:none}
#apPainel #apAdmin[hidden]{display:none}
#apPainel .apestado{font-size:12px;color:var(--muted);margin-left:auto}
#apPainel .apfechar{padding:7px 14px}

/* ===== Sumários em ecrã largo (modelos com largura Larga / Ecrã inteiro) ===== */
.sum-barra{height:6px;background:var(--line);border-radius:99px;margin-top:6px;overflow:hidden}
.sum-barra span{display:block;height:100%;background:var(--brand)}
.sum-risco-l{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:5px 0;border-bottom:1px solid var(--line)}
.sum-risco-l:last-child{border-bottom:none}
.sum-risco-l b{color:var(--n2)}
.sum-risco-l.excede b{color:var(--n3)}
@media (min-width:1200px){
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-layout{display:grid;grid-template-columns:minmax(0,1300px) 300px;gap:16px;align-items:start}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-centro{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:start}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-centro > *{grid-column:1 / -1}
  /* sum-hist/assid empilhados */ body:is([data-largura="larga"],[data-largura="inteira"]) .sum-centro > .sum-hist{grid-column:1 / -1}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-centro > .sum-assid{grid-column:1 / -1}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-faixa{position:sticky;top:70px}
  /* semana compacta */
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-aula{padding:4px 7px !important;margin-bottom:4px !important}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-aula br,
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-aula .mini{display:none}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-aula b{margin-right:4px}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-aula span{margin-left:4px}
  /* novo sumário: texto à esquerda, presenças à direita */
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:24px;align-items:start}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo > *,
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo .sum-texto,
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo .sum-botoes{grid-column:1}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo .sum-form{display:contents}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo .sum-pres{grid-column:2;grid-row:1 / span 20;border-left:1px solid var(--line);padding-left:24px}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo .sum-pres > div:first-child{margin-top:0 !important}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo .sum-pres td:nth-child(2){white-space:nowrap}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo .sum-ctx{display:none}
  body:is([data-largura="larga"],[data-largura="inteira"]) .sum-novo textarea[name="conteudo"]{min-height:220px}
}
.sum-pend-l{display:block;text-decoration:none;color:var(--ink);font-size:13px;padding:6px 8px;border:1px solid #e6a9a3;background:#fbeceb;border-radius:8px;margin-bottom:6px}
.sum-pend-l:hover{border-color:#c0492f}
.sum-pend-l b{margin-right:6px}
.sum-pend-l span{color:var(--muted)}
body[data-modo="escuro"] .sum-pend-l{background:#3a1f1c;border-color:#6b2f27}

/* --- Painel de aparência: escolha do modo (fase 6) --- */
#apPainel .apmodos{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 14px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
#apPainel .apmodos button{border:0;border-radius:7px;padding:7px 2px;background:none;color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
#apPainel .apmodos button:hover{background:var(--card)}
#apPainel .apmodos button[aria-checked="true"]{background:var(--brand);color:#fff}
#apPainel .apmodos button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}

/* --- Modo escuro: o resto da moldura e componentes comuns --- */
body[data-modo="escuro"]{color-scheme:dark}
body[data-modo="escuro"] .topbar{box-shadow:0 1px 0 var(--line)}
body[data-modo="escuro"] .tb-sep a:hover,body[data-modo="escuro"] .bq-arvore a:hover{background:#22303d}
/* contraste em modo escuro: a barra de topo mantém a cor do modelo; o que tem a cor principal por fundo usa --sobre-brand */
body[data-modo="escuro"] .topbar{background:var(--brand-topo,var(--brand))}
body[data-modo="escuro"] :is(.nav.on,.ui-btn:not(.sec):not(.perigo),.ibtn.ok,.tq-btn:not(.tq-sec),.bq-arvore a.on,.tr-mod.on,.bq-pag-on,.sw-hoje-t,.ui-passos li.feito::before,#apPainel .apmodos button[aria-checked="true"],.tq-nav-q.tq-atual,.fx-btn:not(.sec)){color:var(--sobre-brand)}
body[data-modo="escuro"] .ui-chip.ok{background:#16301f;border-color:#2c5a3b;color:#bfe8cc}
body[data-modo="escuro"] .ui-chip.aviso{background:#3a2f17;border-color:#6b5525;color:#f3dfb1}
body[data-modo="escuro"] .hj-feito .hj-hora{border-color:#2c5a3b}
/* quem pede menos movimento no sistema não vê animações nem deslizes */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
