/* Current dental Medora typography tokens. Dense calendar text is intentional
   and follows TimelineAppointment/WeekAppointment; Cosmo procedure colours stay. */
:root{
 --font-ui:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
 --medora-ink:hsl(228 30% 13%);--medora-secondary:hsl(211 13% 43%);--medora-border:hsl(214 24% 91%);
 --text-page-title:28px;--leading-page-title:34px;--text-section-title:20px;--leading-section-title:28px;
 --text-card-title:16px;--leading-card-title:24px;--text-body:15px;--leading-body:22px;
 --text-table:14.5px;--leading-table:21px;--text-label:14px;--leading-label:20px;--text-helper:13.5px;--leading-helper:19px;--text-small:13px;--leading-small:18px;
}
body{font-family:var(--font-ui)!important;font-size:15px;line-height:22px;color:var(--medora-ink)}
button,input,select,textarea{font-family:inherit!important}
#content h1{font-size:28px!important;line-height:34px!important;font-weight:700!important}
#content h2{font-size:20px;line-height:28px;font-weight:600}
#content h3,dialog h3{font-size:16px;line-height:24px;font-weight:600}
#content p,#content .row,#content .document-text{font-size:15px;line-height:22.4px}
#content .muted,dialog .muted{color:var(--medora-secondary);font-size:13.5px;line-height:19px}
#content small,dialog small{font-size:13px;line-height:18px}
#content label,dialog label{font-size:14px;line-height:20px}
#content input:not([type=checkbox]):not([type=radio]):not([type=range]),#content select,#content textarea,dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea{font-size:15px!important;line-height:22px!important;min-height:42px}
#content button:not(.cosmo-event):not(.patient-table-row),dialog button{font-size:14px;line-height:20px;min-height:40px}
#content .panel{border-color:var(--medora-border);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.025)}
.patients-page-heading{position:relative;margin-bottom:24px!important;padding:0!important;min-height:64px}
.patients-page-heading p{margin-top:4px;color:var(--medora-secondary)!important;font-size:15px!important;line-height:22px!important}
.patients-page-heading>.primary{width:194px;min-height:40px!important;font-weight:600}
.registry-v2{padding:20px!important;border-radius:16px!important}
.registry-v2 .registry-toolbar{padding:0 0 20px!important}
.registry-v2 .search-field{width:100%;max-width:576px!important;min-height:42px!important;border-radius:12px!important}
.registry-v2 .search-field input{min-height:40px!important;font-size:15px!important;line-height:22px!important}
.registry-v2 .registry-table{overflow:hidden;border:1px solid var(--medora-border);border-radius:6px}
.registry-v2 .patient-table-head{padding:12px 20px!important;min-height:42px!important;font-size:13px!important;line-height:18px!important;font-weight:600!important;background:#f8fafc}
.registry-v2 .patient-table-head>span:nth-child(n+3){text-align:center}
.registry-v2 .registry-patient{padding:10px 20px!important;min-height:52px!important;font-size:14.5px!important;line-height:21px!important;border-radius:0!important;border-width:0 0 1px!important;box-shadow:none!important;color:#334155!important}
.registry-v2 .registry-patient:last-child{border-bottom:0!important}
.registry-v2 .patient-name-button{min-width:0!important;gap:12px!important}
.registry-v2 .patient-name-button>span:last-child{display:block!important;min-width:0;overflow:hidden;gap:0!important}
.registry-v2 .patient-name-button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#020617!important;font-size:16px!important;line-height:22px!important;font-weight:600!important}
.registry-v2 .patient-name-button small{margin:0!important;color:var(--medora-secondary)!important;font-size:13px!important;line-height:18px!important}
.registry-v2 .patient-row-avatar{flex:none;width:36px!important;height:36px!important;background:var(--brand-soft)!important;color:var(--brand-primary)!important}
.registry-v2 .patient-row-avatar .icon{width:16px!important;height:16px!important}
.registry-v2 .table-phone{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px!important;line-height:21px!important;font-weight:400!important;color:#334155!important}
.registry-v2 .table-phone bdi{direction:ltr;unicode-bidi:isolate}
.registry-v2 .registry-language{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0}
.registry-v2 .language-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;min-width:32px!important;height:28px!important;padding:0!important;flex:none;border:0!important;border-radius:8px!important;background:#f8fafc!important}
.registry-v2 .language-badge svg{display:block;width:18px!important;height:13px!important;flex:none;border-radius:3px;box-shadow:0 0 0 1px rgba(15,23,42,.1)}
.registry-v2 .registry-date{text-align:center;color:#334155;font-size:14.5px;line-height:21px}
.registry-open{display:none!important}
.cosmo-overview-card>header{min-height:0!important;padding:16px 16px 12px!important;flex-wrap:wrap;gap:8px!important;border-color:var(--medora-border)!important}
.cosmo-overview-card>header h2{font-size:16px!important;line-height:24px!important;font-weight:600!important;color:var(--medora-ink)!important}
.cosmo-overview-card>header button{height:40px!important;min-height:40px!important;font-weight:600!important}
.cosmo-overview-card .overview-card-body{padding:16px!important;font-size:15px!important;line-height:22.4px!important}
.cosmo-overview-card .overview-appointment-list{display:grid!important;gap:16px!important}
.cosmo-overview-card .overview-patient-details{display:grid!important;gap:8px 16px!important;grid-template-columns:1fr!important}
.overview-info-line{font-size:15px!important;line-height:22.4px!important;color:var(--medora-ink)!important}
.overview-info-line>span{color:var(--medora-secondary)!important}
.overview-info-line>bdi{font-weight:500!important}
.no-warning-summary strong{font-size:15px!important;line-height:22.4px!important;font-weight:500!important;color:#334155!important}
.no-warning-summary p{margin:8px 0 0!important;font-size:15px!important;line-height:22.4px!important;color:var(--medora-secondary)!important}
.overview-warning-card{border-color:#fde68a!important;background:#fffbeb!important}
.overview-warning-card.has-warning{border-color:#fca5a5!important;background:#fef2f2!important}
.overview-allergy-alert strong{font-size:13px!important;line-height:18px!important}
.overview-appointment>span{font-size:13px!important;line-height:18px!important;color:var(--medora-secondary)!important}
.overview-appointment>strong,.overview-appointment p,.overview-appointment small{font-size:15px!important;line-height:22.4px!important}
.overview-appointment>strong{color:var(--medora-ink)!important}
.overview-appointment p,.overview-appointment small{color:var(--medora-secondary)!important}
.overview-risk-badge{font-size:13px!important;line-height:18px!important;font-weight:600!important}
.overview-risk-badge.high{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.overview-risk-badge.attention{border-color:#fde68a;background:#fffbeb;color:#b45309}
.overview-risk-badge.restricted{border-color:#94a3b8;background:#1e293b;color:#fff}
.overview-attendance-inline{display:flex;flex-wrap:wrap;gap:8px 16px;border-top:1px solid #e2e8f0;padding-top:12px;color:var(--medora-secondary)}
.overview-attendance-inline p{margin:0!important;font-size:15px!important;line-height:22.4px!important;white-space:nowrap}
.overview-attendance-inline bdi{font-weight:600;color:#0f172a}
.cosmo-overview-bottom,.overview-attendance-card,.cosmo-overview-summary-grid{display:none!important}
.exact-upload-grid input[type=file]{margin-top:8px!important;padding:10px 12px!important;min-height:46px!important}
.exact-upload-grid input[type=file]::file-selector-button{margin-block:2px;padding:4px 10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;background:#f8fafc}
.schedule-board:not(.is-week) .event-day-dense .event-patient{font-size:16px!important;line-height:19px!important}
.schedule-board:not(.is-week) .event-day-dense .event-day-meta,.schedule-board:not(.is-week) .event-day-dense .event-service,.schedule-board:not(.is-week) .event-day-dense .event-time{font-size:14px!important;line-height:18px!important}
@media(min-width:640px){.cosmo-overview-card .overview-patient-details{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:901px){.registry-v2 .table-phone small,.registry-v2 .registry-date small{display:none!important}}
@media(min-width:1024px){.patients-page-heading>.primary{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%)}}
@media(max-width:900px){.registry-v2 .registry-patient{gap:8px!important;white-space:normal}.registry-v2 .registry-language{justify-content:flex-start!important}.registry-v2 .registry-date{text-align:start}.registry-v2 .table-phone small,.registry-v2 .registry-date small{display:inline!important;margin-inline-end:8px;color:var(--medora-secondary)}}
