/* Cuidar UI contract. Screen-only tokens preserve document and label print layouts.
   Core control metrics intentionally override legacy module densities.
   Card families: metrics, choices, clinical/content panels. No clipped clinical text. */
@media screen {
 :root {
  --ui-font: "Segoe UI", Arial, sans-serif;
  --ui-caption: 12px; --ui-text: 14px; --ui-section: 18px;
  --ui-title: 24px; --ui-heading: 28px; --ui-display: 36px;
  --ui-metric-card: 180px; --ui-control: 44px; --ui-radius: 8px; --ui-card-radius: 12px;
  --ui-gap: 16px; --ui-card-pad: 20px;
  --ui-ink: #19324d; --ui-muted: #516a82; --ui-primary: #1c61a7;
  --ui-border: #d4e1ef; --ui-surface: #fff; --ui-focus: #367fca;
  font-family: var(--ui-font); font-size: var(--ui-text); line-height: 1.5;
 }
 body, button, input, select, textarea { font-family: var(--ui-font) !important; }
 body {font-size:var(--ui-text);line-height:1.5}
 h1 {font-size:var(--ui-heading)!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.5px!important}
 h2 {font-size:20px!important;line-height:1.35!important;font-weight:650!important;letter-spacing:0!important}
 h3 {font-size:var(--ui-section)!important;line-height:1.4!important;font-weight:650!important}
 p,li,dd {line-height:1.6}
 small {font-size:var(--ui-caption)!important;line-height:1.5}
 :is(.eyebrow,.nav-label,.reg-kicker,.brand small,.preg-head>small,.ex-kicker,th) {
  text-transform:none!important;letter-spacing:.02em!important;
 }
 :is(.eyebrow,.nav-label,.reg-kicker){font-size:var(--ui-caption)!important;font-weight:650!important}
 :is(.subtitle,.line-description,.page-heading p,.ops-heading p,.rd-heading p){font-size:var(--ui-text)!important;line-height:1.6!important}
 :is(.nav-link,.ops-sidebar nav a,.workspace-tabs a){font-size:var(--ui-text)!important;min-height:var(--ui-control);align-items:center}
 button,a.button,a.text-button,.actions>a {
  font-size:var(--ui-text)!important;font-weight:600!important;line-height:20px!important;
  min-height:var(--ui-control)!important;border-radius:var(--ui-radius)!important;
  padding:11px 16px!important;letter-spacing:normal!important;text-transform:none!important;
  box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:break-word;
 }
 :is(.button,.text-button,.actions>a){display:inline-flex;align-items:center;justify-content:center;gap:8px}
 :is(.button,.button.small){white-space:normal!important}
 :is(.icon-button,button[aria-label="Fechar"],button[data-action="close-dialog"].icon-button){width:44px;min-width:44px;padding:10px!important;flex-shrink:0}
 :is(.button,.text-button,.icon-button)>.icon{width:18px;height:18px;flex-shrink:0}
 :is(.button.secondary,.button.soft,.button.danger){border-width:1px}
 :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:3px!important}
 :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=color]),select,textarea){
  font-size:var(--ui-text)!important;line-height:20px!important;min-height:var(--ui-control)!important;
  padding:11px 12px!important;border-radius:var(--ui-radius)!important;
  border:1px solid var(--ui-border);max-width:100%;box-sizing:border-box;
 }
 textarea{min-height:112px!important;line-height:1.6!important}
 input:is([type=checkbox],[type=radio]){min-height:18px!important;width:18px!important;height:18px!important;flex-shrink:0;accent-color:var(--ui-primary)}
 label{font-size:var(--ui-text)!important;line-height:1.5;font-weight:600;min-width:0}
 label small{font-weight:400}
 :is(.form-grid,.reg-fields,.grid,.rd-filter-main,.report-filters){gap:var(--ui-gap)}
 :is(.form-grid,.reg-fields,.report-filters) label{gap:8px}
 :is(.toolbar,.row,.actions,.dialog-footer,.portal-actions,.preg-actions){gap:12px}
 :is(.toolbar,.dialog-footer,.actions){flex-wrap:wrap}
 :is(.toolbar,.staff-toolbar,.ci-filter-bar) label{display:grid;gap:8px}
 :is(td,th){font-size:var(--ui-text)!important;line-height:1.5!important;padding:14px 16px}
 th{font-weight:650!important;color:var(--ui-muted)}
 :is(.badge,.reg-status,.preg-risk){font-size:var(--ui-caption)!important;line-height:18px!important;border-radius:6px!important;padding:4px 8px!important}
 /* Shared surfaces. Clinical risk/status colors remain module-owned. */
 :is(.card,.stat,.care-card,.result-card,.portal-card,.preg-card,.preg-empty,.reg-context,.reg-list,.rd-case,.rd-filters,.staff-profile-card,.registry-unit,.registry-organization,.ci-person,.ci-work-person,.journey-choice,.auth-card,.hosp-patient-card,.diag-order,[data-page="access"] main>section){
  border-radius:var(--ui-card-radius)!important;border-color:var(--ui-border);box-shadow:0 2px 8px #173d6805;
 }
 :is(.card-head,.card-body,.card-footer,[data-page="access"] main>section){padding:var(--ui-card-pad)}
 .card-head+.card-body{padding-top:0}
 .card-head{align-items:flex-start}
 :is(.card-head p,.card-footer){font-size:var(--ui-caption)!important}
 :is(.page-heading,.rd-heading,.ops-heading){margin-bottom:24px;gap:20px}
 :is(.dialog-head,.dialog-body,.dialog-footer){padding:24px}
 dialog{border-radius:var(--ui-card-radius);max-width:calc(100vw - 32px)}
 dialog.booking-panel{max-width:100vw;border-radius:var(--ui-card-radius) 0 0 var(--ui-card-radius)}
 /* Equal metric tiles across modules, never fixed-height clipping. */
 :is(.stats,.pharm-metrics,.staff-counts,.cnes-metrics,.followup-metrics,.portal-metrics,.reg-metrics,.hosp-counts,.ci-summary,.diag-steps){
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))!important;
  grid-auto-rows:1fr;gap:var(--ui-gap)!important;align-items:stretch;margin:20px 0 24px;
 }
 :is(.stats,.pharm-metrics,.staff-counts,.cnes-metrics,.followup-metrics,.portal-metrics,.reg-metrics,.hosp-counts,.ci-summary,.diag-steps)>*{
  min-width:0;min-height:var(--ui-metric-card)!important;height:100%;padding:var(--ui-card-pad)!important;
  border:1px solid var(--ui-border);border-radius:var(--ui-card-radius)!important;
  background:var(--ui-surface);display:flex!important;flex-direction:column;align-items:stretch;
  justify-content:space-between;gap:8px;text-align:left;overflow-wrap:anywhere;
 }
 :is(.stats,.pharm-metrics,.staff-counts,.cnes-metrics,.followup-metrics,.portal-metrics,.reg-metrics,.hosp-counts,.ci-summary,.diag-steps)>*:is(a,button):hover{border-color:var(--ui-primary)}
 :is(.stat>strong,.pharm-metrics strong,.pharm-metrics b,.staff-counts strong,.staff-counts b,.cnes-metrics strong,.cnes-metrics b,.followup-metrics strong,.portal-metrics strong,.reg-metrics b,.ci-summary strong,.ci-summary b,.diag-steps b,.hosp-counts b){font-size:var(--ui-heading)!important;line-height:1.2;font-weight:650}
 .stat-top{font-size:var(--ui-text)!important}
 :is(.stat,.pharm-metrics>*,.staff-counts>*,.reg-metrics>*) small{margin-top:auto;color:var(--ui-muted)}
 /* Collections of comparable cards share columns, row height and action placement. */
 :is(.staff-profile-grid,.lab-catalog,.registry-units,.registry-organizations,.journey-catalog,.care-bi-alerts,.care-medical-list,.care-bed-grid,.ci-groups,.ci-people){
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;
  grid-auto-rows:1fr;gap:var(--ui-gap)!important;align-items:stretch;
 }
 :is(.staff-profile-grid,.lab-catalog,.registry-units,.registry-organizations,.journey-catalog,.care-bi-alerts,.care-medical-list,.care-bed-grid,.ci-groups,.ci-people)>*{
  min-width:0;height:100%;min-height:188px;padding:var(--ui-card-pad)!important;
  border-radius:var(--ui-card-radius)!important;display:flex;flex-direction:column;gap:12px;
 }
 :is(.staff-profile-grid,.lab-catalog,.registry-units,.registry-organizations,.journey-catalog,.care-medical-list,.care-bed-grid,.ci-people)>*>:is(footer,.row:last-child,.button:last-child){margin-top:auto}
 :is(.care-card,.result-card){padding:var(--ui-card-pad);min-height:148px}
 .rd-queue{display:grid;grid-auto-rows:1fr;align-content:start;gap:8px;background:transparent;border:0}
 .rd-worktabs b{line-height:18px;padding:0 6px}
 :is(.tabs,.pharm-tabs,.staff-tabs,.reg-tabs,.workspace-tabs,.ci-mode)>a{min-height:44px;padding:11px 16px;border-radius:8px;font-size:14px;line-height:20px;display:inline-flex;align-items:center}
 .rd-row{padding:16px!important;min-height:196px!important;border-radius:var(--ui-card-radius)!important;gap:8px}
 .ci-worklist{grid-auto-rows:1fr;gap:var(--ui-gap)}
 .ci-work-person{min-height:148px;padding:20px}
 .ci-person-next{align-self:stretch;align-content:space-between}
 /* Tabs and narrow clinical controls use the same legible type and hit target. */
 :is(.tabs,.rd-worktabs,.pharm-tabs,.staff-tabs,.reg-tabs,.workspace-tabs){gap:8px;flex-wrap:wrap}
 .bed-seat{min-height:120px!important;padding:16px!important}
 .bed-seat svg{flex-shrink:0}
 .care-step{padding:12px!important}
 .journey-progress{grid-auto-rows:1fr}
 .agenda-item{flex-wrap:wrap;align-items:center}
 .agenda-item>.row{flex-wrap:wrap}
 .table-wrap{max-width:100%;overflow-x:auto}
 .sidebar{overflow-y:auto}
 .ops-main{width:100%;margin:0 auto;align-self:start}
 .ops-main .ops-search{display:grid;gap:8px}
 .ops-shell .ops-sidebar{min-width:0}
 .ops-sidebar nav{max-width:100%}
 [hidden]{display:none!important}
}
@media screen and (max-width:700px){
 :root{--ui-card-pad:16px;--ui-heading:24px;--ui-gap:12px}
 main,.ops-main{padding-left:16px;padding-right:16px}
 .ops-shell{grid-template-columns:minmax(0,1fr)!important}
 :is(.page-heading,.rd-heading,.ops-heading){align-items:flex-start;flex-wrap:wrap}
 :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important}
 :is(.dialog-head,.dialog-body,.dialog-footer){padding:16px}
 .dialog-footer{gap:8px}.dialog-footer .button{flex:1}
 :is(.stats,.pharm-metrics,.staff-counts,.cnes-metrics,.followup-metrics,.portal-metrics,.reg-metrics,.hosp-counts,.ci-summary,.diag-steps){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 :is(.staff-profile-grid,.lab-catalog,.registry-units,.registry-organizations,.journey-catalog,.care-bi-alerts,.care-medical-list,.care-bed-grid,.ci-groups,.ci-people){grid-template-columns:1fr!important}
 :is(.portal-header,.portal-header-actions,.portal-nav){flex-wrap:wrap}
 .rd-worktabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}.rd-worktabs button{min-width:0;justify-content:space-between}.rd-worktabs button:last-child:nth-child(odd){grid-column:1/-1}
 .portal-nav{flex-wrap:nowrap}.portal-nav button{flex:1 1 0;min-width:0;padding:10px 4px!important}
 .toolbar>*{max-width:100%;min-width:0}
 .agenda-item>.row{width:100%}
}
@media screen and (max-width:360px){
 :is(.stats,.pharm-metrics,.staff-counts,.cnes-metrics,.followup-metrics,.portal-metrics,.reg-metrics,.hosp-counts,.ci-summary,.diag-steps){grid-template-columns:1fr!important}
}

@media screen{.attendance-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;margin-top:20px;grid-auto-rows:1fr}.attendance-list article{display:flex;flex-direction:column;gap:12px;min-width:0}.attendance-list footer{margin-top:auto}.attendance-list details{padding:12px 0}.attendance-list p{margin:8px 0}#attendance-form .dialog-body>label{display:grid;gap:8px;margin:16px 0}#attendance-form .dialog-body>label.checkbox-line{display:flex}#attendance-filter label{display:grid;gap:8px}}

@media screen{#attendance-filter{justify-content:flex-start;align-items:end;gap:16px}#attendance-filter label:nth-child(2){flex:1;max-width:420px}.attendance-list h2{overflow-wrap:anywhere}.attendance-list footer{align-items:center}}

@media screen{.nursing-handoff{padding:16px;margin-bottom:20px;border:1px solid var(--line,#d5e1ef);border-radius:12px;background:var(--surface,#fff)}.nursing-handoff h3{margin-top:0}.nursing-handoff p{overflow-wrap:anywhere}}
