/* Grade e busca semanal da Agenda Clínica. Carregar após agenda-clinica.css.
 * Todos os seletores pertencem à UI; cartões, documentos e PDF ficam intactos.
 * Tabela cresce dentro de seu próprio scroll horizontal, sem altura limitada. */
@media screen {
  #tela-clinica-corpo .rv-acl-root .rv-acl-view-switch {display:inline-flex;align-items:stretch;flex-wrap:wrap;justify-self:start;gap:4px;padding:4px;border:1px solid var(--line,#d8e1ed);border-radius:var(--r-2,10px);background:var(--paper,#f4f6fa);max-width:100%}
  #tela-clinica-corpo .rv-acl-view-switch>button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:var(--r-1,7px);background:transparent;color:var(--rv-ui-muted,var(--ink-2,#43516c));font:600 12px/1.5 var(--font-sans,Inter,sans-serif);cursor:pointer}
  #tela-clinica-corpo .rv-acl-view-switch>button[aria-pressed=true] {background:var(--rv-ui-accent,var(--accent,#d76a2b));border-color:var(--rv-ui-accent,var(--accent,#d76a2b));color:var(--rv-ui-accent-ink,#fff);box-shadow:0 1px 3px #101a3010}
  #tela-clinica-corpo .rv-acl-search-results {min-width:0;padding:18px;margin:0 0 22px;border:1px solid var(--rv-ui-border,var(--line,#d8e1ed));border-radius:var(--r-2,12px);background:var(--card,#fff)}
  #tela-clinica-corpo .rv-acl-search-results>header {display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;margin:0 0 13px}
  #tela-clinica-corpo .rv-acl-search-results>header strong {font-size:13px;font-weight:650;color:var(--ink,#1b2447)}
  #tela-clinica-corpo .rv-acl-search-results>header span {font-size:11px;color:var(--rv-ui-muted,var(--ink-3,#687389))}
  #tela-clinica-corpo .rv-acl-person-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-width:0}
  #tela-clinica-corpo .rv-acl-person-options>button {display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:96px;min-width:0;padding:13px 15px;border:1px solid var(--line,#d8e1ed);border-radius:var(--r-1,9px);background:var(--rv-ui-field,var(--card,#fff));color:var(--rv-ui-text,var(--ink,#1b2447));text-align:left;font:inherit;cursor:pointer}
  #tela-clinica-corpo .rv-acl-person-options>button>small {font-size:10px;font-weight:600;color:var(--rv-ui-muted,var(--ink-3,#687389));line-height:1.5}
  #tela-clinica-corpo .rv-acl-person-options>button>strong {font-size:13px;font-weight:650;line-height:1.55;overflow-wrap:anywhere;white-space:normal}
  #tela-clinica-corpo .rv-acl-person-options>button>span {display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:4px;font-size:11px;font-weight:600;color:var(--rv-ui-accent,var(--accent,#d76a2b))}
  #tela-clinica-corpo .rv-acl-person-options>button[data-kind=professional] {border-top:2px solid var(--ink-3,#687389)}
  #tela-clinica-corpo .rv-acl-search-results>.cad-btn {min-height:44px;margin-top:14px}
  #tela-clinica-corpo .rv-acl-week-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 20px;padding:20px 22px;border:1px solid var(--line,#d8e1ed);border-left:3px solid var(--rv-ui-accent,var(--accent,#d76a2b));border-radius:var(--r-2,12px);background:var(--card,#fff)}
  #tela-clinica-corpo .rv-acl-week-heading>div {min-width:0}
  #tela-clinica-corpo .rv-acl-week-heading small {display:block;font-size:10px;font-weight:650;color:var(--rv-ui-muted,var(--ink-3,#687389));letter-spacing:.07em;text-transform:uppercase}
  #tela-clinica-corpo .rv-acl-week-heading h2 {margin:6px 0 7px;color:var(--ink,#1b2447);font:650 clamp(25px,2.4vw,33px)/1.25 var(--font-display,'Baloo 2',sans-serif);overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-week-heading p {margin:0;max-width:85ch;color:var(--rv-ui-muted,var(--ink-2,#43516c));font-size:12px;line-height:1.7}
  #tela-clinica-corpo .rv-acl-week-heading>.cad-btn {flex:0 0 auto;min-height:44px;max-width:100%;white-space:normal}
  #tela-clinica-corpo .rv-acl-week-scope {display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px 20px;min-width:0;margin:0 0 18px}
  #tela-clinica-corpo .rv-acl-week-scope label {display:flex;flex-direction:column;gap:7px;min-width:0;flex:0 1 310px;color:var(--rv-ui-muted,var(--ink-2,#43516c));font-size:11px;font-weight:600}
  #tela-clinica-corpo .rv-acl-week-scope select {box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--rv-ui-border,var(--line-strong,#bccbde))!important;border-radius:var(--r-1,8px)!important;background:var(--rv-ui-field,var(--card,#fff))!important;color:var(--rv-ui-text,var(--ink,#1b2447))!important;font:400 13px/1.45 var(--font-sans,Inter,sans-serif)!important;box-shadow:none!important}
  #tela-clinica-corpo .rv-acl-focus-note {margin:12px 0 18px;padding:12px 15px;border-left:3px solid var(--rv-ui-accent,var(--accent,#d76a2b));background:var(--card,#fff);color:var(--rv-ui-muted,var(--ink-2,#43516c));font-size:12px;line-height:1.7;overflow-wrap:anywhere}
  #tela-clinica-corpo #rv-acl-board.rv-acl-grid-host {display:block;width:100%;max-width:100%;min-width:0}
  #tela-clinica-corpo .rv-acl-grid-summary {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 22px;margin:0 0 14px;min-width:0}
  #tela-clinica-corpo .rv-acl-grid-summary :is(p,small) {margin:0;color:var(--rv-ui-muted,var(--ink-3,#687389));font-size:11px;line-height:1.65}
  #tela-clinica-corpo .rv-acl-grid-legend {display:flex;align-items:center;flex-wrap:wrap;gap:9px 17px}
  #tela-clinica-corpo .rv-acl-grid-legend>span {display:inline-flex;align-items:center;gap:7px;color:var(--rv-ui-muted,var(--ink-2,#43516c));font-size:11px;line-height:1.5}
  #tela-clinica-corpo .rv-acl-grid-legend>span::before {content:'';box-sizing:border-box;flex:0 0 12px;width:12px;height:12px;border-radius:3px;border:1px solid var(--line-strong,#bccbde);background:var(--rv-ui-field,var(--card,#fff))}
  #tela-clinica-corpo .rv-acl-grid-legend>span[data-kind=free]::before {border-style:dashed}
  #tela-clinica-corpo .rv-acl-grid-legend>span[data-kind=busy]::before {background:var(--rv-ui-control,var(--paper,#e7edf6));border-left:3px solid var(--ink-3,#687389)}
  #tela-clinica-corpo .rv-acl-grid-legend>span[data-kind=shared]::before {border:3px double var(--rv-ui-accent,var(--accent,#d76a2b))}
  #tela-clinica-corpo .rv-acl-grid-legend>span[data-kind=conflict]::before {background:var(--rv-acl-danger,#a73738);border-color:var(--rv-acl-danger,#a73738)}
  #tela-clinica-corpo .rv-acl-timetable-scroll {width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line-strong,#bccbde);border-radius:var(--r-2,12px);background:var(--card,#fff);isolation:isolate}
  #tela-clinica-corpo table.rv-acl-timetable {width:100%;max-width:none;table-layout:auto;border-collapse:separate;border-spacing:0;background:var(--card,#fff);color:var(--ink,#1b2447);font:400 12px/1.5 var(--font-sans,Inter,sans-serif)}
  #tela-clinica-corpo .rv-acl-timetable>caption {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  #tela-clinica-corpo .rv-acl-timetable col:first-child {width:88px}
  #tela-clinica-corpo .rv-acl-timetable col:not(:first-child) {width:230px}
  #tela-clinica-corpo .rv-acl-timetable :is(th,td) {box-sizing:border-box;border:0!important;border-right:1px solid var(--line,#d8e1ed)!important;border-bottom:1px solid var(--line,#d8e1ed)!important}
  #tela-clinica-corpo .rv-acl-timetable thead th {min-width:210px;padding:15px 13px!important;background:var(--card,#fff)!important;color:var(--rv-ui-text,var(--ink,#1b2447))!important;font:650 12px/1.5 var(--font-sans,Inter,sans-serif)!important;text-align:left;vertical-align:top;text-transform:none!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-timetable thead th :is(strong,small) {display:block;white-space:normal;overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-timetable thead th small {margin-top:4px;color:var(--rv-ui-muted,var(--ink-3,#687389));font-size:10px;font-weight:400;line-height:1.6}
  #tela-clinica-corpo .rv-acl-timetable thead th:first-child,
  #tela-clinica-corpo .rv-acl-timetable tbody>tr>th {position:sticky;left:0;width:88px;min-width:88px;max-width:88px;background:var(--card,#fff)!important;box-shadow:2px 0 0 var(--line-strong,#bccbde);z-index:2}
  #tela-clinica-corpo .rv-acl-timetable thead th:first-child {z-index:3}
  #tela-clinica-corpo .rv-acl-timetable tbody>tr>th {padding:14px 10px!important;color:var(--rv-ui-muted,var(--ink-2,#43516c))!important;text-align:left;vertical-align:top;font:600 10px/1.7 var(--font-sans,Inter,sans-serif)!important;font-variant-numeric:tabular-nums;white-space:normal}
  #tela-clinica-corpo .rv-acl-timetable tbody>tr>th :is(time,strong,small,span) {display:block;font:inherit;white-space:nowrap}
  #tela-clinica-corpo .rv-acl-timetable tbody td {min-width:210px;padding:7px!important;background:var(--card,#fff)!important;color:var(--rv-ui-text,var(--ink,#1b2447))!important;vertical-align:top;white-space:normal!important;overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-timetable[data-week=true] col:not(:first-child) {width:auto}
  #tela-clinica-corpo .rv-acl-timetable[data-week=true] :is(thead th:not(:first-child),tbody td) {min-width:165px;width:calc((100% - 88px)/6)}
  #tela-clinica-corpo .rv-acl-timetable tbody td[data-free=true] {background:var(--paper,#f4f6fa)!important}
  #tela-clinica-corpo .rv-acl-timetable tr>:last-child {border-right:0!important}
  #tela-clinica-corpo .rv-acl-timetable tbody tr:last-child>* {border-bottom:0!important}
  #tela-clinica-corpo .rv-acl-slot {display:grid;gap:7px;min-width:0}
  #tela-clinica-corpo button.rv-acl-grid-event {display:block;width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--rv-ui-border,var(--line-strong,#bccbde));border-left:3px solid var(--ink-3,#687389);border-radius:var(--r-1,7px);background:var(--rv-ui-field,var(--card,#fff));color:var(--rv-ui-text,var(--ink,#1b2447));text-align:left;font:inherit;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
  #tela-clinica-corpo .rv-acl-grid-event-top {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;margin-bottom:0}
  #tela-clinica-corpo .rv-acl-grid-event-top .rv-acl-badge {min-height:20px;padding:1px 5px;flex:0 0 auto}
  #tela-clinica-corpo .rv-acl-grid-event>.rv-acl-grid-names {display:block;margin-top:3px;font-size:12px;font-weight:500;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-grid-event-top>strong {display:block;flex:1 1 100px;min-width:0;font-size:11px;font-weight:650;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-grid-event>small {display:block;margin-top:3px;color:var(--rv-ui-muted,var(--ink-3,#687389));font-size:10px;line-height:1.65;white-space:normal;overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-grid-event:has(.rv-acl-badge[data-kind=dupla]),
  #tela-clinica-corpo .rv-acl-grid-event:has(.rv-acl-badge[data-kind=grupo]) {border-left-color:var(--rv-ui-accent,var(--accent,#d76a2b))}
  #tela-clinica-corpo button.rv-acl-grid-event[data-conflict=true] {border-color:var(--rv-acl-danger,#a73738);border-left-width:3px}
  #tela-clinica-corpo .rv-acl-grid-event .rv-acl-conflict {margin-top:4px;padding-top:4px;font-size:10px}
  #tela-clinica-corpo button.rv-acl-grid-event[data-continuation=true] {padding:8px 10px;border-top-style:dashed}
  #tela-clinica-corpo .rv-acl-grid-event[data-continuation=true] .rv-acl-grid-event-top {margin-bottom:0}
  #tela-clinica-corpo .rv-acl-grid-event[data-continuation=true]>.rv-acl-grid-names,
  #tela-clinica-corpo .rv-acl-grid-event[data-continuation=true]>small {margin-top:3px}
  #tela-clinica-corpo button.rv-acl-free {display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;width:100%;min-width:0;padding:11px 12px;border:1px dashed var(--rv-ui-border,var(--line-strong,#bccbde));border-radius:var(--r-1,7px);background:transparent;color:var(--rv-ui-muted,var(--ink-3,#687389));text-align:left;font:400 11px/1.5 var(--font-sans,Inter,sans-serif);cursor:pointer}
  #tela-clinica-corpo .rv-acl-free span:last-child {color:var(--rv-ui-accent,var(--accent,#d76a2b));font-weight:600}
  #tela-clinica-corpo .rv-acl-timetable-scroll:focus-visible {outline:3px solid var(--rv-ui-accent,var(--accent,#d76a2b));outline-offset:3px}
  #tela-clinica-corpo .rv-acl-root :is(.rv-acl-view-switch,.rv-acl-person-options,.rv-acl-grid-host) button:focus-visible {outline:3px solid var(--rv-ui-accent,var(--accent,#d76a2b))!important;outline-offset:2px}
  body[data-rv-corners=quadrado] #tela-clinica-corpo .rv-acl-root :is(.rv-acl-view-switch,.rv-acl-view-switch>button,.rv-acl-search-results,.rv-acl-person-options>button,.rv-acl-week-heading,.rv-acl-timetable-scroll,.rv-acl-grid-event,.rv-acl-free) {border-radius:2px}
}
@media screen and (hover:hover) {
  #tela-clinica-corpo .rv-acl-view-switch>button:hover:not([aria-pressed=true]):not(:disabled),
  #tela-clinica-corpo .rv-acl-person-options>button:hover:not(:disabled),
  #tela-clinica-corpo button.rv-acl-grid-event:hover:not(:disabled),
  #tela-clinica-corpo button.rv-acl-free:hover:not(:disabled) {background:var(--rv-ui-control-hover,var(--paper,#edf1f7));border-color:var(--rv-ui-accent,var(--accent,#d76a2b))}
  #tela-clinica-corpo button.rv-acl-grid-event[data-conflict=true]:hover:not(:disabled) {border-color:var(--rv-acl-danger,#a73738)}
  #tela-clinica-corpo button.rv-acl-free:hover:not(:disabled) {color:var(--rv-ui-text,var(--ink,#1b2447))}
}
@media screen and (max-width:1100px) {
  #tela-clinica-corpo .rv-acl-person-options {grid-template-columns:repeat(2,minmax(0,1fr))}
  #tela-clinica-corpo .rv-acl-week-heading {align-items:flex-start;flex-direction:column;gap:15px}
}
@media screen and (max-width:540px) {
  #tela-clinica-corpo .rv-acl-view-switch {width:100%}
  #tela-clinica-corpo .rv-acl-view-switch>button {flex:1 1 auto;padding:9px 11px}
  #tela-clinica-corpo .rv-acl-search-results {padding:14px}
  #tela-clinica-corpo .rv-acl-person-options {grid-template-columns:minmax(0,1fr)}
  #tela-clinica-corpo .rv-acl-person-options>button {min-height:88px}
  #tela-clinica-corpo .rv-acl-week-heading {padding:17px}
  #tela-clinica-corpo .rv-acl-week-scope label {flex:1 1 100%}
  #tela-clinica-corpo .rv-acl-week-scope select {font-size:16px!important}
  #tela-clinica-corpo .rv-acl-grid-summary {align-items:flex-start;gap:10px}
  #tela-clinica-corpo .rv-acl-grid-legend {gap:8px 12px}
}
@media (prefers-reduced-motion:reduce) {
  #tela-clinica-corpo .rv-acl-root :is(.rv-acl-view-switch,.rv-acl-person-options,.rv-acl-grid-host) * {transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

@media screen {
  #tela-clinica-corpo .rv-acl-grid-reserved {min-height:64px;padding:12px;background:var(--rv-ui-control,var(--paper));color:var(--rv-ui-text,var(--ink));border:1px dashed var(--rv-ui-border,var(--line));border-radius:var(--r-1,7px);font-size:12px;font-weight:600;line-height:1.6}
  #tela-clinica-corpo .rv-acl-grid-reserved small {display:block;color:var(--rv-ui-muted,var(--ink-3));font-size:11px;font-weight:400}
  #tela-clinica-corpo span.rv-acl-free {display:flex;align-items:center;justify-content:center;min-height:64px;color:var(--rv-ui-muted,var(--ink-3));font-size:11px}
  #tela-clinica-corpo .rv-acl-free small {display:block;color:var(--rv-ui-muted,var(--ink-3));font-size:10px}
  #tela-clinica-corpo .rv-acl-week-scope>p {margin:0;color:var(--rv-ui-muted,var(--ink-3));font-size:12px;line-height:1.6}
}

/* A divisão diária em lotes é feita pelo JS conforme a largura disponível.
 * Cada lote recebe 1–4 profissionais; a semana conserva seu scroll horizontal. */
@media screen {
  #tela-clinica-corpo .rv-acl-grid-batches {display:grid;grid-template-columns:minmax(0,1fr);gap:30px;width:100%;max-width:100%;min-width:0}
  #tela-clinica-corpo .rv-acl-grid-batch {width:100%;max-width:100%;min-width:0}
  #tela-clinica-corpo .rv-acl-grid-batch>header {display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:7px 18px;margin:0 0 12px;padding:0 2px}
  #tela-clinica-corpo .rv-acl-grid-batch>header h3 {margin:0;color:var(--rv-ui-text,var(--ink,#1b2447));font:650 21px/1.3 var(--font-display,'Baloo 2',sans-serif);overflow-wrap:anywhere}
  #tela-clinica-corpo .rv-acl-grid-batch>header p {margin:0;max-width:80ch;color:var(--rv-ui-muted,var(--ink-3,#687389));font-size:11px;line-height:1.65;overflow-wrap:anywhere}
  #tela-clinica-corpo table.rv-acl-timetable[data-week=false] {width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] col:first-child {width:88px!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] col:not(:first-child) {width:calc((100% - 88px)/clamp(1,var(--rv-acl-columns,1),4))!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] :is(thead th:not(:first-child),tbody td) {width:auto!important;min-width:0!important;max-width:none!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-overflow:clip!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] :is(thead th:not(:first-child),tbody td) :is(strong,small,span,time) {min-width:0!important;max-width:100%!important;max-height:none!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-overflow:clip!important;overflow:visible!important;-webkit-line-clamp:unset!important;line-clamp:unset!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] :is(.rv-acl-slot,.rv-acl-grid-event,.rv-acl-grid-event-top,.rv-acl-grid-reserved,.rv-acl-free) {box-sizing:border-box;min-width:0!important;max-width:100%!important;max-height:none!important;white-space:normal!important;overflow-wrap:anywhere!important;text-overflow:clip!important;overflow:visible!important;-webkit-line-clamp:unset!important;line-clamp:unset!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] .rv-acl-slot {grid-template-columns:minmax(0,1fr)}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] .rv-acl-free {flex-wrap:wrap;gap:5px 10px}
}
@media screen and (max-width:540px) {
  #tela-clinica-corpo .rv-acl-grid-batches {gap:24px}
  #tela-clinica-corpo .rv-acl-grid-batch>header {align-items:flex-start;flex-direction:column;gap:5px}
  #tela-clinica-corpo .rv-acl-grid-batch>header h3 {font-size:20px}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] thead th:not(:first-child) {padding:13px 10px!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] tbody td {padding:6px!important}
  #tela-clinica-corpo .rv-acl-timetable[data-week=false] :is(.rv-acl-grid-event,.rv-acl-grid-reserved,.rv-acl-free) {padding-left:10px;padding-right:10px}
}
