.clinic-bar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:12px 5%; background:#061b31; color:#fffdf6; font:14px/1.5 Arial,sans-serif; position:relative; z-index:10; }
.clinic-bar a,.clinic-bar button { color:inherit; background:transparent; border:1px solid #71808b; border-radius:8px; padding:7px 12px; text-decoration:none; cursor:pointer; font:inherit; }
.clinic-bar .clinic-identity { margin-right:auto; }
.clinic-sync { font-size:12px; color:#d9e5eb; }
.clinic-sync[data-error=true] { color:#ffdb98; }
.clinic-dialog { width:min(520px,calc(100% - 28px)); max-height:90dvh; overflow:auto; border:1px solid #d7d0be; border-radius:22px; padding:28px; color:#061b31; background:#fffdf6; box-shadow:0 24px 80px #061b3140; font-family:Arial,sans-serif; }
.clinic-dialog::backdrop { background:#061b31bd; backdrop-filter:blur(4px); }
.clinic-dialog h2 { font:32px/1.15 Georgia,serif; margin:12px 0; }
.clinic-ready-dialog { width:min(600px,calc(100% - 28px)); padding:clamp(28px,5vw,48px); text-align:center; }
.clinic-ready-dialog .clinic-kicker { margin:12px 0 8px; }
.clinic-ready-dialog h2 { margin:0 0 14px; font-size:clamp(32px,6vw,46px); }
.clinic-ready-dialog>p:not(.clinic-kicker) { max-width:470px; margin:10px auto; color:#4b5963; font:16px/1.65 Arial,sans-serif; }
.clinic-ready-dialog .clinic-ready-game { color:#061b31; font-weight:700; }
.clinic-ready-icon { width:70px; height:70px; display:grid; place-items:center; margin:0 auto; border-radius:50%; color:#fffdf6; background:#376b67; box-shadow:0 10px 24px rgba(55,107,103,.25); font:700 34px/1 Arial,sans-serif; }
.clinic-ready-button { width:100%; min-height:62px; margin-top:24px; font-size:17px; box-shadow:0 10px 24px rgba(6,27,49,.2); }
.clinic-form { display:grid; gap:16px; }
.clinic-form label { display:grid; gap:6px; font:15px/1.5 Arial,sans-serif; text-transform:none; letter-spacing:normal; }
.clinic-form input,.clinic-form select,.clinic-filter { width:100%; padding:12px; border:1px solid #b6b8b5; border-radius:10px; background:white; color:#061b31; font:16px Arial,sans-serif; min-width:0; }
.clinic-button { border:0; border-radius:11px; padding:13px 20px; background:#061b31; color:#fffdf6; cursor:pointer; text-decoration:none; font:600 15px/1.4 Arial,sans-serif; display:inline-block; text-align:center; }
.clinic-button.secondary { background:#ece6d5; color:#061b31; }
.clinic-button:disabled { opacity:.5; cursor:wait; }
.clinic-error { color:#a32d2d; min-height:1.5em; font:14px/1.5 Arial,sans-serif; }
.clinic-error:empty { display:none; }
.clinic-shell { max-width:1150px; padding:42px 24px 70px; margin:auto; }
.clinic-shell h1 { font-size:clamp(30px,5vw,48px); line-height:1.15; margin:12px 0; }
.clinic-kicker { color:#857536; font:700 12px Arial,sans-serif; letter-spacing:2px; text-transform:uppercase; }
.clinic-card { background:#fffdf6; border:1px solid #d7d0be; padding:26px; border-radius:22px; margin:20px 0; }
.clinic-auth { max-width:460px; margin:7vh auto; }
.clinic-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.clinic-filters { display:grid; grid-template-columns:2fr 1.5fr 1fr 1fr; gap:14px; margin:24px 0; }
.clinic-filters label { display:grid; gap:6px; font:14px Arial,sans-serif; }
.clinic-table-wrap { overflow:auto; }
.clinic-table { width:100%; border-collapse:collapse; text-align:left; font:14px/1.5 Arial,sans-serif; }
.clinic-table th { color:#43515a; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; }
.clinic-table th,.clinic-table td { padding:15px 12px; border-bottom:1px solid #e5e1d5; vertical-align:middle; }
.clinic-table tbody tr:not(.history-date-group):hover { background:#fbfaf5; }
.clinic-table button { cursor:pointer; padding:6px 10px; }
.clinic-table-card { padding:0; overflow:hidden; }
.clinic-table-card .clinic-table-wrap { padding:0 18px 12px; }
.history-col-check { width:42px; }
.history-col-patient { width:20%; }
.history-col-time { width:10%; }
.history-col-game { width:22%; }
.history-col-rounds { width:9%; }
.history-col-result { width:15%; }
.history-col-actions { width:24%; }
.history-selection { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; border-bottom:1px solid #e5e1d5; background:#f7f4ea; font:14px/1.5 Arial,sans-serif; }
.history-selection span { color:#4b5963; }
.history-selection-copy { display:grid; gap:5px; }
.history-select-all { display:flex; align-items:center; gap:9px; width:max-content; color:#061b31; cursor:pointer; font-weight:700; }
.history-select-all input { width:18px; height:18px; margin:0; accent-color:#061b31; cursor:pointer; }
.history-select-all span { color:#061b31; }
.history-selection-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.history-selection .clinic-button { flex:0 0 auto; padding:11px 17px; }
.history-selection .history-export-selected { color:#fffdf6; background:#061b31; box-shadow:0 6px 14px rgba(6,27,49,.18); }
.history-selection .history-export-selected:hover:not(:disabled) { background:#123b5e; transform:translateY(-1px); }
.history-selection .history-delete-selected { border:1px solid #b9443d; color:#9c2f2a; background:#fff5f3; }
.history-selection .history-delete-selected:hover:not(:disabled) { color:#fff; background:#a9342e; }
.history-check { width:42px; padding-left:8px !important; padding-right:6px !important; text-align:center; }
.history-check input { width:18px; height:18px; margin:0; accent-color:#061b31; cursor:pointer; }
.history-date-group td { padding:0 !important; border:0; background:#edf3f6; }
.history-date-group label { min-height:48px; display:flex; align-items:center; gap:11px; padding:9px 14px; border-top:2px solid #9fb2bd; border-bottom:1px solid #cbd7dc; color:#061b31; cursor:pointer; }
.history-date-group input { width:18px; height:18px; margin:0; accent-color:#061b31; cursor:pointer; }
.history-date-group strong { font:800 14px/1.4 Arial,sans-serif; }
.history-date-group small { margin-left:auto; padding:4px 8px; border-radius:999px; color:#4b5963; background:#fff; font:700 11px/1.3 Arial,sans-serif; white-space:nowrap; }
.history-date-group+tr td { border-top:0; }
.history-primary { display:block; color:#061b31; font:800 14px/1.35 Arial,sans-serif; }
.history-secondary { display:block; margin-top:2px; color:#626866; font:13px/1.35 Arial,sans-serif; }
.history-time .history-primary,.history-rounds .history-primary { font-size:15px; }
.history-status { display:inline-flex; align-items:center; gap:7px; padding:5px 9px; border-radius:999px; color:#4b5963; background:#edf3f6; font:800 12px/1.3 Arial,sans-serif; white-space:nowrap; }
.history-status::before { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#6f8798; content:""; }
.history-status[data-status="completed"] { color:#225b36; background:#e5f3e8; }
.history-status[data-status="completed"]::before { background:#3f8558; }
.history-status[data-status="interrupted"] { color:#8c3828; background:#fdebe7; }
.history-status[data-status="interrupted"]::before { background:#bd503d; }
.history-status[data-status="timeout"] { color:#745f12; background:#fff4c8; }
.history-status[data-status="timeout"]::before { background:#aa8b20; }
.history-row-actions { display:grid; grid-template-columns:minmax(110px,1fr) auto; gap:7px; min-width:180px; }
.history-row-actions button { min-height:36px; border:1px solid #274d69; border-radius:8px; color:#fff; background:#123b5e; font:800 12px/1.3 Arial,sans-serif; white-space:nowrap; }
.history-row-actions .history-export { min-width:56px; border-color:#c9c2b2; color:#25343f; background:#f7f4ea; }
.history-row-actions button:hover { border-color:#061b31; background:#061b31; }
.history-row-actions .history-export:hover { color:#061b31; background:#fffdf6; }
.history-row-actions button:disabled { opacity:.55; cursor:wait; }
.clinic-stat { font:16px Arial,sans-serif; color:#4b5963; }
.clinic-detail {
  width:min(1020px,calc(100% - 32px));
  max-height:min(92dvh,900px);
  padding:0;
  overflow:auto;
  border:1px solid #d7d0be;
  border-radius:16px;
  background:#fffdf6;
}
.detail-header {
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:30px 34px 26px;
  border-bottom:1px solid #e5e1d5;
  background:#fffdf6;
}
.detail-header-copy { flex:1; min-width:0; }
.detail-header .clinic-kicker { margin:0 0 8px; }
.clinic-dialog .detail-header h2 { margin:0; font-size:34px; line-height:1.08; }
.detail-close {
  flex:0 0 40px;
  width:40px;
  height:40px;
  padding:0 0 3px;
  border:1px solid #d7d0be;
  border-radius:50%;
  color:#36444f;
  background:#f7f4ea;
  cursor:pointer;
  font:28px/1 Arial,sans-serif;
}
.detail-close:hover { color:#061b31; background:#ece6d5; }
.detail-close:focus-visible { outline:3px solid #b8aa60; outline-offset:3px; }
.detail-meta { display:grid; grid-template-columns:1.25fr .65fr 1fr 1.15fr; gap:10px; margin-top:20px; color:#4b5963; font:14px/1.5 Arial,sans-serif; }
.detail-meta-item { min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:11px 12px; border:1px solid #ded8c8; border-radius:12px; background:#fff; }
.detail-meta-icon { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#376b67; background:#e8f1ee; }
.detail-meta-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.detail-meta-label { display:block; color:#6b6d68; font:700 10px/1.25 Arial,sans-serif; letter-spacing:.55px; text-transform:uppercase; }
.detail-meta-value { display:block; min-width:0; margin-top:2px; overflow-wrap:anywhere; color:#061b31; font:700 14px/1.3 Arial,sans-serif; }
.detail-summary-section { padding:26px 34px 34px; border-radius:0 0 16px 16px; background:#f7f4ea; }
.detail-summary-section h3 { margin:0; color:#061b31; font:700 18px/1.3 Arial,sans-serif; }
.detail-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.detail-summary:empty::after { grid-column:1/-1; padding:16px; border:1px dashed #c9c2b2; border-radius:8px; color:#626866; content:"Resumo indisponível para esta partida."; font:14px/1.5 Arial,sans-serif; text-align:center; }
.detail-metric { min-width:0; padding:14px; border:1px solid #d7d0be; border-radius:8px; background:#fffdf6; }
.detail-metric span { display:block; margin-bottom:6px; color:#626866; font:700 11px/1.3 Arial,sans-serif; letter-spacing:.5px; text-transform:uppercase; }
.detail-metric strong { display:block; overflow-wrap:anywhere; color:#061b31; font:700 20px/1.15 Arial,sans-serif; }
.detail-metric[data-tone="success"] { border-color:#9abfa7; background:#eff8f1; }
.detail-metric[data-tone="danger"] { border-color:#dfb4aa; background:#fff3ef; }
.detail-metric[data-tone="warning"] { border-color:#d9c985; background:#fff9df; }
.detail-metric[data-tone="status"] { border-color:#b9c9d3; background:#edf3f6; }
.detail-metric[data-tone="status"] strong { font-size:16px; }
.detail-feedback { grid-column:1/-1; padding:16px 18px; border:1px solid #b9c9d3; border-left-width:5px; border-radius:8px; background:#edf3f6; }
.detail-feedback span { display:block; margin-bottom:4px; color:#626866; font:700 11px/1.3 Arial,sans-serif; letter-spacing:.5px; text-transform:uppercase; }
.detail-feedback strong { display:block; color:#061b31; font:700 18px/1.3 Arial,sans-serif; }
.detail-feedback p { margin:5px 0 0; color:#4b5963; font:14px/1.5 Arial,sans-serif; }
.detail-feedback[data-tone="success"] { border-color:#6e9f7d; background:#eff8f1; }
.detail-feedback[data-tone="danger"] { border-color:#cd7e6d; background:#fff3ef; }
.detail-feedback[data-tone="warning"] { border-color:#c1a43b; background:#fff9df; }
[hidden] { display:none !important; }
@media(max-width:980px) {
  .clinic-shell { padding-left:18px; padding-right:18px; }
  .clinic-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .history-selection { align-items:stretch; flex-direction:column; }
  .history-selection-copy { gap:8px; }
  .history-selection-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .history-selection .clinic-button { width:100%; min-height:46px; }
  .clinic-table-card .clinic-table-wrap { padding:14px; overflow:visible; }
  .clinic-table,.clinic-table tbody { display:block; }
  .clinic-table thead { display:none; }
  .clinic-table tbody { display:grid; gap:12px; }
  .clinic-table tbody tr:not(.history-date-group) { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:14px 16px; padding:18px; border:1px solid #d9d6ca; border-radius:14px; background:#fff; box-shadow:0 6px 16px rgba(6,27,49,.06); }
  .clinic-table tbody tr:not(.history-date-group) td { width:auto; min-width:0; padding:0 !important; border:0; }
  .clinic-table tbody tr:not(.history-date-group) td[data-label]::before { display:block; margin-bottom:4px; color:#4f5a61; content:attr(data-label); font:800 10px/1.3 Arial,sans-serif; letter-spacing:.65px; text-transform:uppercase; }
  .clinic-table tbody tr:not(.history-date-group) .history-check { grid-column:1; grid-row:1; display:flex; align-items:flex-start; justify-content:center; padding-top:3px !important; }
  .clinic-table tbody tr:not(.history-date-group) td:nth-child(2) { grid-column:2; }
  .clinic-table tbody tr:not(.history-date-group) td:nth-child(3) { grid-column:3; }
  .clinic-table tbody tr:not(.history-date-group) td:nth-child(4) { grid-column:2/4; }
  .clinic-table tbody tr:not(.history-date-group) td:nth-child(5) { grid-column:2; }
  .clinic-table tbody tr:not(.history-date-group) td:nth-child(6) { grid-column:3; }
  .clinic-table tbody tr:not(.history-date-group) td:nth-child(7) { grid-column:1/4; padding-top:2px !important; }
  .clinic-table tbody tr:not(.history-date-group) td:nth-child(7)::before { display:none; }
  .clinic-table tbody tr:not(.history-date-group):has(.history-check input:checked) { border-color:#71958f; background:#f7fbfa; box-shadow:0 6px 18px rgba(55,107,103,.12); }
  .history-date-group { display:block; margin-top:10px; }
  .history-date-group:first-child { margin-top:0; }
  .history-date-group td { display:block; }
  .history-date-group label { border:1px solid #b9c9d3; border-left:4px solid #376b67; border-radius:10px; }
  .history-primary { font-size:15px; }
  .history-secondary { font-size:13px; }
  .history-row-actions { min-width:0; }
  .history-row-actions button { min-height:44px; font-size:13px; }
  .clinic-detail { width:calc(100% - 20px); max-height:96dvh; }
  .detail-meta { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .clinic-shell { padding:25px 14px; }
  .clinic-card { padding:18px; }
  .clinic-table-card { padding:0; }
  .clinic-table-card .clinic-table-wrap { padding:0 10px 10px; }
  .history-selection { padding:14px; }
  .history-selection-actions { grid-template-columns:minmax(0,1fr) minmax(0,.72fr); }
  .history-selection .clinic-button { width:100%; }
  .clinic-bar { padding:10px 14px; }
  .clinic-detail { width:100%; max-width:none; max-height:100dvh; height:100dvh; margin:0; border:0; border-radius:0; }
  .detail-header,.detail-summary-section { padding-left:18px; padding-right:18px; }
  .detail-header { gap:12px; padding-top:18px; padding-bottom:18px; }
  .clinic-dialog .detail-header h2 { font-size:26px; white-space:nowrap; }
  .detail-meta { gap:8px; margin-top:16px; }
  .detail-meta-item { grid-template-columns:32px minmax(0,1fr); grid-template-rows:auto auto; column-gap:8px; min-height:78px; padding:9px 10px; }
  .detail-meta-icon { grid-row:1; width:32px; height:32px; border-radius:9px; }
  .detail-meta-icon svg { width:19px; height:19px; }
  .detail-meta-label { grid-column:2; }
  .detail-meta-value { grid-column:1/-1; margin-top:7px; overflow-wrap:normal; font-size:13px; }
  .detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:520px) {
  .clinic-shell>h1 { font-size:34px; }
  .clinic-shell>.clinic-actions { display:grid; grid-template-columns:1fr auto; }
  .clinic-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .clinic-filters label:nth-child(-n+2) { grid-column:1/-1; }
  .clinic-table-card .clinic-table-wrap { padding:10px; }
  .clinic-table tbody { gap:10px; }
  .clinic-table tbody tr:not(.history-date-group) { grid-template-columns:30px minmax(0,1fr) auto; gap:13px 11px; padding:15px 12px; }
  .history-date-group label { align-items:center; padding:11px 10px; }
  .history-date-group strong { font-size:14px; }
  .history-date-group small { margin-left:auto; }
  .detail-summary-section { padding-top:20px; padding-bottom:20px; }
  .detail-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:360px) {
  .clinic-dialog .detail-header h2 { font-size:24px; }
}

/* Shared game setup and active-screen positioning */
[data-game-screen],#setup,#play,#result,#start-screen,#game-area,#game-interface,#play-screen,#word-game {
  scroll-margin-block:96px;
}
[data-game-screen]:focus,#setup:focus,#play:focus,#result:focus,#start-screen:focus,#game-area:focus,#game-interface:focus,#play-screen:focus,#word-game:focus,
[data-game-screen] h1:focus,[data-game-screen] h2:focus,#setup h2:focus,#play h2:focus,#result h2:focus,#start-screen h2:focus,#game-area h2:focus,#game-interface h2:focus,#play-screen h2:focus,#word-game h2:focus {
  outline:none;
}
.game-config-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:20px 0;
}
.game-config-field {
  min-width:0;
  display:grid;
  gap:7px;
  padding:14px;
  border:1px solid rgba(168,149,76,.3);
  border-radius:14px;
  color:#061b31;
  background:rgba(255,255,255,.72);
  font:700 13px/1.35 Arial,sans-serif;
}
.game-config-field small { color:#667178; font-size:12px; font-weight:400; }
.game-config-field input,.game-config-field select {
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid #b9c4c2;
  border-radius:10px;
  color:#061b31;
  background:#fff;
  font:700 16px/1.2 Arial,sans-serif;
}
.game-config-field input:focus-visible,.game-config-field select:focus-visible { outline:3px solid rgba(168,149,76,.35); border-color:#8b782d; }
.game-config-summary {
  margin:14px 0 18px;
  padding:13px 15px;
  border-left:4px solid #a8954c;
  border-radius:0 12px 12px 0;
  color:#45545c;
  background:rgba(239,232,201,.46);
  font:600 14px/1.55 Arial,sans-serif;
}
.game-sound-toggle {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border:1px solid #c9cabb;
  border-radius:999px;
  color:#263c4d;
  background:#fff;
  font:700 13px/1 Arial,sans-serif;
  cursor:pointer;
}
.game-sound-toggle input { width:18px; height:18px; margin:0; accent-color:#376b67; }
.difficulty-option.is-selected,.level-option.is-selected,.difficulty-option[aria-pressed="true"],.level-option[aria-pressed="true"] {
  border-color:#8d7b31 !important;
  box-shadow:0 0 0 3px rgba(168,149,76,.18),0 12px 25px rgba(6,27,49,.1) !important;
  transform:translateY(-2px);
}
@media(max-width:700px) {
  [data-game-screen],#setup,#play,#result,#start-screen,#game-area,#game-interface,#play-screen,#word-game { scroll-margin-block:72px; }
  .game-config-grid { grid-template-columns:1fr; gap:10px; }
  .game-config-field { padding:12px; }
}

/* A tipografia clínica acompanha a base ampliada definida em reability.css. */
.clinic-bar{font-size:.875rem}
.clinic-sync{font-size:.75rem}
.clinic-dialog h2{font-size:2rem}
.clinic-ready-dialog h2{font-size:clamp(2rem,6vw,2.875rem)}
.clinic-ready-dialog>p:not(.clinic-kicker){font-size:1rem}
.clinic-ready-icon{font-size:2.125rem}
.clinic-ready-button{font-size:1.0625rem}
.clinic-form label{font-size:.9375rem}
.clinic-form input,.clinic-form select,.clinic-filter{font-size:1rem}
.clinic-button{font-size:.9375rem}
.clinic-error{font-size:.875rem}
.clinic-shell h1{font-size:clamp(1.875rem,5vw,3rem)}
.clinic-kicker{font-size:.75rem}
.clinic-filters label,.clinic-table,.history-selection{font-size:.875rem}
.clinic-table th{font-size:.75rem}
.history-date-group strong{font-size:.875rem}
.history-date-group small{font-size:.6875rem}
.history-row-actions button{font-size:.8125rem}
.clinic-stat{font-size:1rem}
.clinic-dialog .detail-header h2{font-size:clamp(1.75rem,5vw,2.125rem)}
.detail-close{font-size:1.75rem}
.detail-meta{font-size:.875rem}
.detail-summary-section h3{font-size:1.125rem}
.detail-summary:empty::after{font-size:.875rem}
.detail-metric span,.detail-feedback span{font-size:.6875rem}
.detail-metric strong{font-size:1.25rem}
.detail-metric[data-tone="status"] strong{font-size:1rem}
.detail-feedback strong{font-size:1.125rem}
.detail-feedback p{font-size:.875rem}
.clinic-table tbody tr:not(.history-date-group) td[data-label]::before{font-size:.625rem}
.game-config-field{font-size:.8125rem}
.game-config-field small{font-size:.75rem}
.game-config-field input,.game-config-field select{font-size:1rem}
.game-config-summary{font-size:.875rem}
.game-sound-toggle{font-size:.8125rem}
