/* ============================================================================
   LINHA · Administração (#view-admin)
   Layout vem do modelo global (05-painel.css). Aqui só o que é da tela.
   ============================================================================ */

/* a primeira seção visível no modelo (as outras começam .hidden) */
#view-admin .adm-novo{ margin-left:auto }
#view-admin .adm-timer{ order:-2; padding:0; display:flex; align-items:center; gap:6px; font-size:var(--l-t-mini); color:var(--l-texto-3) }
#view-admin .adm-timer:not([hidden]){ display:flex }

/* matriz de permissões */
#view-admin .adm-mx-col{ text-align:center; width:110px }
#view-admin .adm-mx-nota{ padding:var(--l-e3) var(--l-e5); border-top:1px solid var(--l-fio); font-size:var(--l-t-peq); color:var(--l-texto-3) }

/* listas que o JS preenche dentro de um bloco */
#view-admin .adm-rolagem{ max-height:calc(100dvh - 260px); overflow-y:auto }
#view-admin .adm-rolagem:empty{ display:none }
#view-admin .adm-dept-nome{ min-width:280px }
#view-admin .adm-busca-paciente{ max-width:360px }

/* painel de indicadores */
#view-admin .adm-graficos{ display:grid; gap:var(--l-e5) }
#view-admin .adm-graficos-2{ grid-template-columns:repeat(2,minmax(0,1fr)) }
#view-admin .adm-graficos-3{ grid-template-columns:repeat(3,minmax(0,1fr)) }

/* unidade: atalhos em lista */
#view-admin .adm-atalhos{ display:flex; flex-direction:column }
#view-admin .adm-atalhos button{
  display:flex; align-items:center; gap:var(--l-e4); padding:var(--l-e4) var(--l-e5);
  border:0; border-bottom:1px solid var(--l-fio); background:none; text-align:left; color:var(--l-texto);
}
#view-admin .adm-atalhos button:last-child{ border-bottom:0 }
#view-admin .adm-atalhos button:hover{ background:var(--l-sup-2) }
#view-admin .adm-atalhos svg{ width:20px; height:20px; color:var(--l-texto-3) }
#view-admin .adm-atalhos span{ display:flex; flex-direction:column }
#view-admin .adm-atalhos small{ font-size:var(--l-t-peq); color:var(--l-texto-3) }

/* formulário de novo usuário: modal largo, três colunas */
.adm-form-usuario{ width:min(980px,100%) }
.adm-form-usuario .au-form{ margin-bottom:var(--l-e4) }
.adm-form-usuario .adm-cep{ grid-column:1 / -1; display:grid; grid-template-columns:160px minmax(0,1fr) 110px; gap:var(--l-e4) }
.adm-form-usuario .adm-cep .au-fld:nth-of-type(4){ grid-column:1 / 2 }
.adm-form-usuario .adm-cep .au-fld:nth-of-type(5){ grid-column:2 / 4 }
.adm-form-usuario select[multiple]{ min-height:96px }

@media (max-width:1100px){
  #view-admin .adm-graficos-2, #view-admin .adm-graficos-3{ grid-template-columns:1fr }
}

/* consulta de paciente */
#view-admin .adm-paciente{ display:flex; flex-direction:column; gap:var(--l-e4) }
#view-admin .adm-paciente-quem .av{ width:44px; height:44px; font-size:var(--l-t-corpo) }
#view-admin .adm-paciente-quem b{ font-size:var(--l-t-titulo) }
#view-admin .adm-paciente-blocos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); gap:var(--l-e5); align-items:start }

/* ---------------------------------------------------------------- modal Gerenciar usuário */
.user-manager-modal{ width:min(980px,100%); padding:0 !important; display:flex; flex-direction:column }
.user-manager-head{ padding:var(--l-e6) var(--l-e8) 0 }
.user-manager-head h3{ font-size:18px; font-weight:600 }
#edit-user-meta{ margin-top:2px; font-size:var(--l-t-peq); color:var(--l-texto-3) }
.user-manager-tabs{ margin:var(--l-e4) var(--l-e8) 0 }
.user-manager-tab-panel{ padding:var(--l-e6) var(--l-e8) var(--l-e6) }
.user-manager-tab-panel .modal-actions{ margin-left:calc(-1 * var(--l-e8)); margin-right:calc(-1 * var(--l-e8)); margin-bottom:calc(-1 * var(--l-e6)); padding:var(--l-e4) var(--l-e8); background:var(--l-sup-2) }

.um-form{ display:flex; flex-direction:column; gap:var(--l-e6) }
.um-section{ display:flex; flex-direction:column; gap:var(--l-e3) }
.um-section-title{ font-size:var(--l-t-peq); font-weight:600; color:var(--l-texto) }
.um-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--l-e4) }
.um-col-2{ grid-column:span 2 }
.um-col-full{ grid-column:1 / -1 }
.um-field{ display:flex; flex-direction:column; gap:6px; min-width:0 }
.um-field > span{ font-size:var(--l-t-peq); font-weight:500; color:var(--l-texto-2) }
.um-check{ display:flex; align-items:center; gap:var(--l-e2); font-size:var(--l-t-corpo); color:var(--l-texto) }
.um-cep{ display:grid; grid-template-columns:160px minmax(0,1fr) 110px; gap:var(--l-e4) }
.um-cidade{ grid-column:2 / 4 }
.um-depts{ margin-top:var(--l-e2) }
.user-manager-status-row{ display:flex; align-items:center; justify-content:space-between; gap:var(--l-e4); padding:var(--l-e4); border-radius:var(--l-raio-3); background:var(--l-sup-2) }
.user-manager-status-row .small{ font-size:var(--l-t-mini); color:var(--l-texto-3) }
.status-active{ font-weight:600; color:var(--l-ok) }
.status-inactive{ font-weight:600; color:var(--l-erro) }
.um-acoes{ display:flex; gap:var(--l-e2) }
.um-perigo{ color:var(--l-erro) !important }
.um-perigo:hover{ background:var(--l-erro-fundo) !important }

/* escolha de painéis */
.panel-lista{ display:flex; flex-direction:column; gap:var(--l-e5) }
.panel-topo{ display:flex; align-items:center; gap:var(--l-e4) }
.panel-topo input{ max-width:360px }
.panel-conta-geral{ font-size:var(--l-t-peq); color:var(--l-texto-3); white-space:nowrap }
.panel-aviso{ font-size:var(--l-t-peq); color:var(--l-atencao) }
.panel-grupo{ border:1px solid var(--l-borda); border-radius:var(--l-raio-3); overflow:hidden }
.panel-grupo-cab{ display:flex; align-items:center; gap:var(--l-e3); padding:10px var(--l-e4); background:var(--l-sup-2); border-bottom:1px solid var(--l-fio) }
.panel-grupo-cab b{ font-weight:600 }
.panel-grupo-conta{ margin-right:auto; font-size:var(--l-t-peq); color:var(--l-texto-3) }
.panel-grupo-todos{ border:0; background:none; padding:0 4px; font-size:var(--l-t-peq); font-weight:500; color:var(--l-marca-tinta) }
.panel-grupo-todos:hover{ text-decoration:underline; text-underline-offset:3px }
.panel-lista .intranet-panels-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) }
.panel-choice{ display:flex; align-items:flex-start; gap:var(--l-e3); padding:12px var(--l-e4); border-bottom:1px solid var(--l-fio); cursor:pointer }
.panel-choice:nth-child(odd){ border-right:1px solid var(--l-fio) }
.panel-choice:hover{ background:var(--l-sup-2) }
.panel-choice:has(input:checked){ background:var(--l-marca-suave) }
.panel-choice input{ margin-top:2px }
.panel-choice .label{ font-size:var(--l-t-corpo); font-weight:500; color:var(--l-texto) }
.panel-choice .help{ font-size:var(--l-t-peq); color:var(--l-texto-3) }
.panel-chave{ display:none }
.panel-choice-off{ opacity:.45; cursor:not-allowed }
.panel-nivel{ margin-top:var(--l-e2) }

/* vínculos de unidade */
.unit-links-list{ border:1px solid var(--l-borda); border-radius:var(--l-raio-3); overflow:hidden; margin:var(--l-e3) 0 }
.unit-link-row{ display:flex; align-items:center; justify-content:space-between; gap:var(--l-e4); padding:12px var(--l-e4); border-bottom:1px solid var(--l-fio) }
.unit-link-row:last-child{ border-bottom:0 }
.unit-link-row-title{ font-weight:500 }
.unit-link-row-meta{ font-size:var(--l-t-peq); color:var(--l-texto-3) }
.um-vinculo{ padding:var(--l-e4) }

/* ---------------------------------------------------------------- agenda e vagas */
#view-admin .aga-mes{ display:flex; align-items:center; gap:2px }
#view-admin .aga-mes input{ width:170px }
#view-admin .aga-sub{ font-size:var(--l-t-peq); color:var(--l-texto-3) }
#view-admin .aga-filtro{ margin-top:-4px }
#view-admin .aga-corpo{ display:grid; grid-template-columns:340px minmax(0,1fr); gap:var(--l-e5); align-items:start }

#view-admin .aga-cal .l-bloco-cab{ flex-direction:column; align-items:flex-start; gap:2px }
#view-admin .aga-cal .l-bloco-cab h3::first-letter{ text-transform:uppercase }
#view-admin #adm-agenda-unidades{ display:flex; flex-direction:column; gap:var(--l-e5) }
#view-admin .aga-semana, #view-admin .aga-dias{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; padding:0 var(--l-e4) }
#view-admin .aga-semana{ padding-top:var(--l-e3) }
#view-admin .aga-semana span{ text-align:center; font-size:11px; color:var(--l-texto-3) }
#view-admin .aga-dias{ padding-top:6px; padding-bottom:var(--l-e3) }
#view-admin .aga-dia{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; aspect-ratio:1;
  border:0; border-radius:var(--l-raio-2); background:none; color:var(--l-texto-2); font-size:var(--l-t-peq);
}
#view-admin .aga-dia.vazio{ visibility:hidden }
#view-admin .aga-dia .qtd{ font-size:10px; color:var(--l-texto-3) }
#view-admin .aga-dia:hover{ background:var(--l-sup-3) }
#view-admin .aga-dia.tem{ background:var(--l-marca-suave); color:var(--l-marca-tinta); font-weight:600 }
#view-admin .aga-dia.tem .qtd{ color:var(--l-marca-media) }
#view-admin .aga-dia.hoje{ box-shadow:inset 0 0 0 1.5px var(--l-marca) }
#view-admin .aga-dia.sel{ background:var(--l-marca); color:var(--l-sobre-marca) }
#view-admin .aga-dia.sel .qtd{ color:var(--l-sobre-marca); opacity:.8 }
#view-admin .aga-legenda{ display:flex; gap:var(--l-e4); padding:var(--l-e3) var(--l-e4); border-top:1px solid var(--l-fio); font-size:var(--l-t-mini); color:var(--l-texto-3) }
#view-admin .aga-legenda span{ display:flex; align-items:center; gap:6px }
#view-admin .aga-legenda i{ width:10px; height:10px; border-radius:3px }
#view-admin .aga-legenda i.tem{ background:var(--l-marca-suave) }
#view-admin .aga-legenda i.sel{ background:var(--l-marca) }
#view-admin .aga-legenda i.hoje{ box-shadow:inset 0 0 0 1.5px var(--l-marca) }

#view-admin .aga-ocup{ display:inline-flex; align-items:center; gap:6px; font-size:var(--l-t-peq); color:var(--l-texto-2); font-variant-numeric:tabular-nums }
#view-admin .aga-ocup meter{ width:56px; height:6px }
#view-admin .aga-ocup.cheio{ color:var(--l-erro) }
#view-admin .aga-restr{ margin-left:6px; font-size:var(--l-t-mini); color:var(--l-atencao) }
#view-admin .aga-import-tab{ max-height:320px; overflow:auto }
#view-admin .aga-import-pe{ padding:var(--l-e4) var(--l-e5); border-top:1px solid var(--l-fio) }

meter{ accent-color:var(--l-marca) }
meter::-webkit-meter-bar{ background:var(--l-fio); border:0; border-radius:3px; height:6px }
meter::-webkit-meter-optimum-value{ background:var(--l-marca); border-radius:3px }

/* formulário de vagas (modal) */
.aga-gerador{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--l-e2); padding:var(--l-e3); border-radius:var(--l-raio-2); background:var(--l-sup-2); font-size:var(--l-t-peq); color:var(--l-texto-2) }
.aga-gerador label{ display:flex; align-items:center; gap:6px; font-weight:400 }
.aga-gerador input{ width:auto; min-width:0; max-width:110px }
.aga-horas{ display:flex; flex-wrap:wrap; gap:6px }
.aga-horas input{ width:110px }

@media (max-width:1200px){ #view-admin .aga-corpo{ grid-template-columns:1fr } }

/* ---------------------------------------------------------------- seção Transporte */
#view-admin .adm-transporte{ display:flex; flex-direction:column; gap:var(--l-e5) }
.transport-config-sync-badge{ font-size:var(--l-t-peq); color:var(--l-texto-3); white-space:nowrap }
.transport-config-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--l-e4) }
.transport-config-card{ display:flex; flex-direction:column; gap:6px; min-width:0 }
.transport-config-card-wide{ grid-column:1 / -1 }
.transport-config-card-head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--l-e2) }
.transport-config-card-head span{ font-size:var(--l-t-mini); color:var(--l-texto-3); font-variant-numeric:tabular-nums }
.transport-config-input{ font-family:var(--l-mono); font-size:var(--l-t-peq) }
.tc-bpa{ display:flex; flex-direction:column; gap:var(--l-e3); padding:var(--l-e5); border:1px solid var(--l-borda); border-radius:var(--l-raio-3); background:var(--l-sup) }
.tc-bpa-tag{ margin-left:6px; font-size:11px; font-weight:500; color:var(--l-texto-3) }
.tc-bpa-ajuda{ font-size:var(--l-t-peq); color:var(--l-texto-2) }
.tc-bpa-wrap{ max-height:280px; overflow:auto; border:1px solid var(--l-fio); border-radius:var(--l-raio-2) }
.tc-bpa-tabela{ width:100%; font-size:var(--l-t-peq) }
.tc-bpa-tabela th{ position:sticky; top:0; background:var(--l-sup-2); text-align:left; padding:8px 12px; font-weight:500; color:var(--l-texto-3); border-bottom:1px solid var(--l-borda) }
.tc-bpa-tabela td{ padding:6px 12px; border-bottom:1px solid var(--l-fio) }
.tc-bpa-tabela input{ min-height:30px; padding:4px 8px; max-width:110px }
.tc-num{ text-align:right }
.tc-falta td:first-child{ color:var(--l-atencao); font-weight:500 }
.tc-bpa-falta-tag{ margin-left:6px; font-size:11px; color:var(--l-atencao) }
.tc-bpa-vazio{ padding:var(--l-e5) !important; text-align:center; color:var(--l-texto-3) }
.tc-bpa-foot{ display:flex; align-items:center; justify-content:space-between; gap:var(--l-e3) }
.tc-bpa-ok{ color:var(--l-ok) } .tc-bpa-erro{ color:var(--l-erro) }
@media (max-width:900px){ .transport-config-grid{ grid-template-columns:1fr 1fr } }
