/* Klugwerk Praxis Spital · Centro cirúrgico (31/10/2026). Usa os tokens de app.css e as classes de spital.css. */
.sc { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.sc .cab h1 { font-size: 1.35rem; }
.sc .cab .ferr.sc-dia { display: flex; flex-direction: row; align-items: center; gap: 6px; flex-wrap: nowrap; }
.sc .sc-dia input[type=date] { width: auto !important; min-width: 150px; }
.sc-aviso { line-height: 1.5; }
.sc-sala { display: flex; flex-direction: column; gap: 8px; }
.sc-sala > h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.sc-sala > h2 small { font-family: var(--f-txt); font-weight: 500; font-size: .82rem; color: var(--aco); }
.sc-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 12px; }
.sc-cartao { gap: 8px; min-width: 0; }
.sc-cartao header .pill { font-size: .8rem; }
.sc-cartao .sp-hora { font-size: 1.15rem; }
.sc-pac b { font-family: var(--f-tit); font-size: 1.02rem; }
.sc-pac .sp-mav { margin-left: 4px; }
.sc-proc { font-weight: 600; }
.sc-dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 0; font-size: .88rem; }
.sc-dl dt { color: var(--aco); }
.sc-dl dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.sc-falta { color: var(--at); font-weight: 600; }
.sc-relogio { font-size: .9rem; }
.sc-relogio b { font-variant-numeric: tabular-nums; }
.sc-atraso { color: var(--mal); font-weight: 600; }
.sc-tempos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.sc-srpa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sc-tb { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; min-height: 58px; padding: 7px 9px; border: 1px solid var(--linha); border-radius: 8px; background: var(--bg); color: var(--tinta); cursor: pointer; text-align: left; font: inherit; }
.sc-tb small { font-size: .74rem; color: var(--aco); line-height: 1.2; }
.sc-tb small i { font-style: normal; }
.sc-tb b { font-family: var(--f-mono); font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.sc-tb.feito { background: var(--ok-s); border-color: var(--ok); }
.sc-tb.feito b { color: var(--ok); }
.sc-tb.prox { background: var(--px); border-color: var(--px); color: var(--px-tinta); box-shadow: 0 2px 0 rgb(0 0 0 / .12); }
.sc-tb.prox small { color: var(--px-tinta); opacity: .9; }
.sc-tb:disabled { cursor: default; opacity: .8; }
.sc-tb:focus-visible { outline: 3px solid var(--marca); outline-offset: 2px; }
.sc-acoes .pill { margin-left: 2px; }
.sc-ckal { font-weight: 600; font-size: .84rem; }
.sc-semana h2 { margin-bottom: 2px; }
.sc-barra { display: flex; height: 8px; border-radius: 4px; background: var(--bg); overflow: hidden; margin: 5px 0 3px; border: 1px solid var(--linha); }
.sc-barra i { display: block; height: 100%; background: var(--px); }
.sc-barra i.prev { background: repeating-linear-gradient(45deg, var(--px-suave), var(--px-suave) 4px, #b7ddd8 4px, #b7ddd8 8px); }
.sp-lista .sc-dias { display: flex; flex-wrap: wrap; gap: 2px 10px; font-family: var(--f-mono); font-size: .74rem; }
.sc-dias .sc-hoje { color: var(--px); font-weight: 700; }
.sc-pct { font-family: var(--f-tit); font-size: 1.1rem; font-variant-numeric: tabular-nums; }
/* gaveta de horários */
.sc-tgav { display: flex; flex-direction: column; gap: 10px; }
.sc-tgav h3 { margin-top: 6px; }
.sc-tlin label { margin-bottom: 2px; }
.sc-tlin-c { display: flex; gap: 6px; align-items: center; }
.sc-tlin-c input[type=time] { flex: 1 1 auto; font-size: 1.1rem; padding: 10px; min-height: 46px; }
.sc-tlin-c .btn { min-height: 46px; }
/* seletor e faixa do paciente */
.sc-sel select { font-weight: 600; }
.sc-faixa { background: var(--sup); border: 1px solid var(--linha); border-left: 4px solid var(--px); border-radius: 8px; padding: 10px 14px; display: flex; flex-direction: column; gap: 3px; }
.sc-faixa b { font-family: var(--f-tit); font-size: 1.08rem; }
.sc-faixa small { color: var(--aco); }
.sc-faixa-proc { font-weight: 600; }
.sc-faixa .sp-mav { align-self: flex-start; font-size: .8rem; padding: 3px 8px; }
/* cirurgia segura */
.sc-mom.feito { border-color: var(--ok); }
.sc-mom-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px; }
.sc-mom-cab h2 small { font-family: var(--f-txt); font-weight: 500; color: var(--aco); font-size: .82rem; }
.sc-itens { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sc-itens > li { border-bottom: 1px solid var(--linha); padding: 6px 0; display: flex; flex-direction: column; gap: 6px; }
.sc-itens > li:last-child { border-bottom: 0; }
.sc-item { display: flex; gap: 12px; align-items: flex-start; margin: 0; font-size: .95rem; font-weight: 500; color: var(--tinta); cursor: pointer; padding: 4px 0; }
.sc-item input { width: 26px; height: 26px; flex: none; margin: 0; accent-color: var(--ok); }
.sc-item small { font-weight: 400; }
.sc-itens > li.ok .sc-item > span { color: var(--ok); }
.sc-resp { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-left: 38px; font-size: .88rem; }
.sc-resp span { color: var(--aco); margin-right: 4px; }
.sc-resp button { border: 1px solid var(--linha); background: var(--sup); border-radius: 6px; padding: 6px 16px; font-weight: 600; cursor: pointer; min-height: 38px; }
.sc-resp button[aria-pressed="true"] { background: var(--px); border-color: var(--px); color: var(--px-tinta); }
.sc-just { margin-left: 38px; }
.sc-just input[aria-invalid="true"] { border-color: var(--mal); background: var(--mal-s); }
.sc-sem-al { color: var(--aco); }
.btn.sc-grande { min-height: 48px; padding: 10px 18px; font-size: 1rem; }
/* descrição */
.sc-dgrade { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 12px; }
.sc-dgrade .sc-d-larga { grid-column: 1 / -1; }
.sc-dgrade .lbl, .sc .lbl { font-size: .85rem; font-weight: 600; color: var(--aco); display: block; margin-bottom: 4px; }
.sc-falta-c { border-color: var(--at) !important; background: var(--at-s) !important; }
.sc-opme { display: grid; grid-template-columns: 2fr 1.3fr 1fr 1fr auto; gap: 8px; align-items: end; }
.sc-ciente { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; color: var(--at); background: var(--at-s); border-radius: 6px; padding: 8px 12px; margin: 0; }
.sc-ciente input { width: 22px; height: 22px; flex: none; }
.sc-salvar-mod { border-top: 1px solid var(--linha); padding-top: 10px; }
.sc-centro { justify-content: center; margin-top: 10px; }
.sc-doc h2 { text-transform: uppercase; letter-spacing: .06em; font-size: 1.05rem; }
.sc-doc h3 { margin: 12px 0 4px; font-size: .95rem; }
.sc-doc-tab { width: 100%; border-collapse: collapse; font-size: .92rem; }
.sc-doc-tab th { width: 34%; text-transform: none; letter-spacing: 0; font-size: .86rem; color: #444; font-weight: 600; padding: 4px 8px 4px 0; border-bottom: 1px dotted #ccc; }
.sc-doc-tab td { padding: 4px 0; border-bottom: 1px dotted #ccc; overflow-wrap: anywhere; }
.sc-doc-txt { white-space: normal; text-align: justify; overflow-wrap: anywhere; }
.sc-doc-corr { font-size: .88rem; background: #fff6e0; border: 1px solid #f0d27a; padding: 6px 10px; border-radius: 4px; margin-bottom: 8px; }
/* consumo */
.sc-kitinfo { flex: 2 1 260px; align-self: center; }
.sc-ctab td small { display: block; }
.sc-ctab td.num { white-space: nowrap; }
.sc-ctab tr.sc-falta-l small { color: var(--at); }
.sc-ctab tr.sc-sem small { color: var(--mal); }
.sc-opme-l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-top: 4px; }
.sc-add { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.sc-dev { display: flex; gap: 6px; align-items: center; }
.sc-dev input { width: 72px !important; }
/* indicadores */
.sc-per { align-items: center; }
.sc-per .seg { grid-template-columns: repeat(3, auto); }
.sc td.sc-mal { color: var(--mal); font-weight: 600; }
.sc td.sc-bom { color: var(--ok); font-weight: 600; }
.sc .sp-tabela th.num, .sc .sp-tabela td.num { text-align: right; }

@media (max-width: 600px) {
  .sc-cartoes { grid-template-columns: minmax(0, 1fr); }
  .sc-tempos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .sc-tb { min-height: 64px; padding: 9px 11px; }
  .sc-tb b { font-size: 1.2rem; }
  .sc-tb small { font-size: .8rem; }
  .sc-dia { width: 100%; }
  .sc .sc-dia input[type=date] { flex: 1 1 auto; min-width: 0; width: 100% !important; }
  .sc-opme { grid-template-columns: 1fr 1fr; }
  .sc-opme > .campo:first-child { grid-column: 1 / -1; }
  .sc-opme-l { grid-template-columns: minmax(0, 1fr); }
  .sc-resp, .sc-just { margin-left: 0; }
  .sc-acoes .btn { flex: 1 1 auto; justify-content: center; }
  .sc-ctab th:nth-child(3), .sc-ctab td:nth-child(3) { padding-left: 0; }
  .sc-ctab td.num input { max-width: 64px; }
  .btn.sc-grande { width: 100%; justify-content: center; }
}
@media print { .sc-acoes, .sc-tempos { display: none !important; } }
@media (max-width: 600px) { .sc-resp > span { flex: 1 1 100%; } .sc-resp button { flex: 1 1 0; } }
.sc-tl { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .86rem; color: var(--aco); }
.sc-tl b { font-family: var(--f-mono); color: var(--tinta); }
.sc-cfg-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px 12px; }
.sc-cfg-l { display: flex; gap: 8px; align-items: center; }
.sc-cfg-lista { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.sc-cfg-it { display: grid; grid-template-columns: 2fr 1.2fr auto; gap: 6px; align-items: center; }
.sc-doc-ele { margin-top: 10px; }
@media (max-width: 600px) { .sc-cfg-it { grid-template-columns: 1fr auto; } .sc-cfg-it input:nth-child(2) { grid-column: 1; grid-row: 2; } }
.sc-equipe .sp-linha { align-items: flex-end; flex-wrap: wrap; }
