/* Exact visual metrics transferred from the main Medora interface. */
:root{
 --font-ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --brand-primary:#7c5cfc;--brand-hover:#6f4fea;--brand-active:#6042d8;
 --brand-soft:#f1edff;--medora-page:#f8f9fb;--medora-ink:#171b2c;
}
body{font-family:var(--font-ui);font-size:15px;line-height:22px;color:var(--medora-ink)}
@media(min-width:1024px){
 .shell,.shell[data-collapsed=false]{grid-template-columns:236px minmax(0,1fr)!important}
 .shell[data-collapsed=true]{grid-template-columns:76px minmax(0,1fr)!important}
 .sidebar{padding:20px 12px 12px!important}
 .sidebar .brand-lockup{padding:0 8px 24px!important;gap:12px!important}
 .sidebar .clinic-mark{width:44px!important;height:44px!important;border-radius:14px!important;object-fit:contain!important}
 .sidebar button[data-page]{min-height:44px!important;padding:10px 12px!important;font-size:14px!important}
}
.sidebar .clinic-wordmark strong{font-size:17px!important;line-height:22px!important;font-weight:700!important}
.patients-page-heading{margin-bottom:18px!important;padding:0 0 16px!important}
.patients-page-heading h1{font-size:28px!important;line-height:34px!important;font-weight:700!important}
.patients-page-heading p{font-size:15px!important;line-height:22px!important}
.patients-page-heading>.primary{min-width:0!important;min-height:42px!important;padding:9px 16px!important;font-size:14px!important}
.registry-v2{padding:16px!important;border-radius:14px!important}
.registry-v2 .registry-toolbar{padding:0 0 14px!important}
.registry-v2 .search-field{max-width:none!important;min-height:42px!important;padding-inline:12px!important;border-radius:10px!important}
.registry-v2 .search-field input{min-height:40px!important;font-size:14.5px!important}
.registry-v2 .patient-table-head{min-height:42px!important;padding:0 18px!important;font-size:12px!important}
.registry-v2 .registry-patient{min-height:52px!important;padding:8px 18px!important;font-size:14.5px!important;line-height:21px!important}
.registry-v2 .patient-name-button{gap:12px!important}
.registry-v2 .patient-name-button strong{font-size:16px!important;line-height:22px!important;font-weight:600!important}
.registry-v2 .patient-name-button small{font-size:13px!important;line-height:18px!important}
.patient-row-avatar{width:36px!important;height:36px!important;border-radius:50%!important}
.patient-row-avatar .icon{width:18px!important;height:18px!important}
.language-badge{width:38px!important;height:28px!important;border-radius:8px!important;font-size:13px!important}
.registry-columns{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(96px,.55fr) minmax(0,1fr) minmax(0,1fr)!important;column-gap:24px!important}
.cosmo-overview{gap:16px!important}.cosmo-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.cosmo-overview-bottom{grid-template-columns:1fr!important;gap:16px!important}
.cosmo-overview-grid>.cosmo-overview-card{min-height:0!important}.overview-appointments-card{grid-column:auto!important}
.cosmo-overview-card{border-radius:14px!important}.cosmo-overview-card>header{min-height:58px!important;padding:14px 18px!important}.cosmo-overview-card>header h2{font-size:20px!important;line-height:28px!important}.overview-card-body{gap:16px!important;padding:18px!important}
.overview-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.overview-summary-stats>div{padding:14px;border:1px solid #e4e9f1;border-radius:10px}.overview-summary-stats strong{display:block;font-size:20px;line-height:28px}.overview-summary-stats span{font-size:13px;color:#69778a}
.cosmo-overview{display:grid!important;gap:16px!important}.cosmo-overview-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;align-items:stretch!important}.cosmo-overview-bottom{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;align-items:start!important}.cosmo-overview-card{padding:0!important;overflow:hidden!important;border:1px solid #e2e8f0!important;border-radius:16px!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,24,40,.025)!important}.cosmo-overview-card>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:64px!important;padding:16px!important;border-bottom:1px solid #e2e8f0!important}.cosmo-overview-card>header h2{margin:0!important;font-size:16px!important;line-height:24px!important;font-weight:600!important;color:#171b2c!important}.cosmo-overview-card>header button{min-height:42px!important;height:42px!important;padding:0 16px!important;border-radius:12px!important;font-size:14px!important;line-height:20px!important;font-weight:600!important}.cosmo-overview-card .overview-card-body{display:block!important;padding:16px!important;font-size:14px!important;line-height:20px!important}.overview-patient-details{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 16px!important}.overview-info-line{margin:0!important;color:#171b2c!important;overflow-wrap:anywhere}.overview-info-line>span{color:#64748b!important}.overview-info-line>bdi{font-weight:500!important}.overview-warning-card{background:#fffbeb!important;border-color:#fde68a!important}.overview-warning-card>header{border-color:#e2e8f0!important}.overview-warning-card.has-warning{background:#fff1f2!important;border-color:#fda4af!important}.no-warning-summary strong{display:block;color:#047857!important;font-size:14px!important;line-height:20px!important;font-weight:500!important}.no-warning-summary p{margin:12px 0 0!important;color:#64748b!important;font-size:14px!important;line-height:24px!important}.overview-alert-list{display:grid;gap:8px}.overview-allergy-alert{display:flex;gap:8px;padding:12px;border:1px solid #fecaca;border-radius:8px;background:rgba(255,255,255,.8);color:#7f1d1d}.overview-allergy-alert>.icon{width:16px;height:16px;flex:none;margin-top:2px;color:#dc2626}.overview-allergy-alert strong{display:block;font-size:12px;line-height:16px;font-weight:700}.overview-allergy-alert p{margin:2px 0 0;white-space:pre-wrap;font-weight:600}.overview-appointment-list{display:grid!important;gap:16px!important}.overview-appointment{display:block!important}.overview-appointment+.overview-appointment{padding-top:0!important;border:0!important}.overview-appointment>span{display:block;font-size:12px!important;line-height:16px!important;font-weight:600!important;color:#64748b!important;text-transform:uppercase!important}.overview-appointment>strong{display:block;margin-top:4px;font-size:14px!important;line-height:20px!important;font-weight:500!important;color:#171b2c!important}.overview-appointment p,.overview-appointment small{display:block;margin:4px 0 0!important;color:#64748b!important;font-size:14px!important;line-height:20px!important}.overview-attendance-card{grid-column:auto!important}.overview-attendance-card .overview-card-body{display:grid!important;gap:12px!important}.overview-risk-badge{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid;border-radius:6px;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap}.overview-risk-badge.reliable{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.overview-risk-badge.attention{border-color:#fde68a;background:#fffbeb;color:#a16207}.overview-risk-badge.high{border-color:#fecaca;background:#fff1f2;color:#dc2626}.cosmo-overview-summary-grid{display:grid;grid-template-columns:1fr;align-self:start!important;align-items:start!important;gap:12px}.overview-summary-card{display:grid;gap:4px;min-height:0!important;padding:14px!important;border-radius:16px!important}.overview-summary-card strong{font-size:24px;line-height:30px;font-weight:700;color:#171b2c}.overview-summary-card span{font-size:13px;line-height:18px;color:#64748b}
@media(min-width:640px){.cosmo-overview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1280px){.cosmo-overview-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(0,1fr)!important}.cosmo-overview-bottom{grid-template-columns:minmax(0,1.3fr) minmax(0,1.8fr)!important}.cosmo-overview-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.schedule-board .cosmo-event{font-family:var(--font-ui)!important;text-align:start!important}
.schedule-board:not(.is-week) .cosmo-event{padding:5px 9px!important;border:2px solid color-mix(in srgb,var(--service-color) 72%,#fff)!important;border-radius:6px!important;background:var(--service-color)!important;color:var(--service-ink)!important}
.schedule-board:not(.is-week) .event-content{gap:0!important}.schedule-board:not(.is-week) .event-patient{font-size:16px!important;line-height:19px!important;font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-board:not(.is-week) .event-service{font-size:14px!important;line-height:18px!important;font-weight:500!important}.schedule-board:not(.is-week) .event-time{font-size:13px!important;line-height:17px!important;font-weight:500!important}.schedule-board:not(.is-week) .event-category{width:24px!important;height:24px!important;flex-basis:24px!important;font-size:16px!important}.schedule-board:not(.is-week) .status-symbol{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:20px!important;border-width:2px!important}
.schedule-board:not(.is-week) .event-day-dense .event-patient{font-size:14px!important;line-height:16px!important}.schedule-board:not(.is-week) .event-day-dense .event-day-meta{font-size:12px!important;line-height:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-board:not(.is-week) .event-day-dense .event-service,.schedule-board:not(.is-week) .event-day-dense .event-time{display:inline!important;font-size:12px!important;line-height:14px!important}.schedule-board:not(.is-week) .event-ultra-dense{gap:6px!important;padding-block:1px!important}.schedule-board:not(.is-week) .event-ultra-dense .event-category{width:20px!important;height:20px!important;flex-basis:20px!important;font-size:14px!important}.schedule-board:not(.is-week) .event-ultra-line{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px!important;line-height:17px!important}.schedule-board:not(.is-week) .event-ultra-line strong{font-weight:600}.schedule-board:not(.is-week) .event-ultra-dense .status-symbol{width:24px!important;height:24px!important;flex-basis:24px!important;font-size:16px!important}
.schedule-board.is-week .cosmo-event{gap:4px!important;padding:3px 5px!important;border:2px solid color-mix(in srgb,var(--service-color) 72%,#fff)!important;border-inline-start:4px solid var(--service-color)!important;border-radius:5px!important;background:color-mix(in srgb,var(--service-color) 14%,#fff)!important;color:#171b2c!important}.schedule-board.is-week .event-content{gap:0!important}.schedule-board.is-week .event-week-top{display:flex;align-items:center;gap:4px;min-width:0}.schedule-board.is-week .event-week-top .event-category{display:inline-grid!important;width:11px!important;height:11px!important;flex-basis:11px!important;background:transparent!important;font-size:11px!important}.schedule-board.is-week .event-roomy .event-time{font-size:10px!important;line-height:12px!important;font-weight:500!important;color:#475569}.schedule-board.is-week .event-roomy .event-patient{font-size:15px!important;line-height:16px!important;font-weight:600!important;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.schedule-board.is-week .event-roomy .event-service{font-size:12px!important;line-height:14px!important;font-weight:500!important;color:#334155}.schedule-board.is-week .event-short .event-patient{font-size:14px!important;line-height:16px!important;font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-board.is-week .event-short .event-week-meta,.schedule-board.is-week .event-short .event-time,.schedule-board.is-week .event-short .event-service{font-size:11px!important;line-height:13px!important;font-weight:500!important;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-board.is-week .event-week-tiny{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px!important;line-height:14px!important;font-weight:600!important}.schedule-board.is-week .event-week-tiny .event-time{font:inherit!important}.schedule-board.is-week .status-symbol{width:16px!important;height:16px!important;flex-basis:16px!important;font-size:10px!important}
.schedule-board .cosmo-event.no_show{border-color:#ef4444!important}.schedule-board .cosmo-event.cancelled{border-color:#64748b!important}.schedule-board .cosmo-event.completed{border-color:#059669!important}.schedule-board .cosmo-event.arrived{border-color:#334155!important}.schedule-board .cosmo-event.confirmed{border-color:#10b981!important}.schedule-board .cosmo-event.booked{border-color:#f59e0b!important}.schedule-board.is-week .cosmo-event.no_show,.schedule-board.is-week .cosmo-event.cancelled,.schedule-board.is-week .cosmo-event.completed,.schedule-board.is-week .cosmo-event.arrived,.schedule-board.is-week .cosmo-event.confirmed,.schedule-board.is-week .cosmo-event.booked{border-inline-start-color:var(--service-color)!important}
.exact-upload{padding:18px;margin-bottom:16px}.exact-upload-grid{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(280px,1.5fr) auto;gap:12px;align-items:end}.exact-upload-grid label{margin:0}.exact-upload-grid input[type=file]{display:block;min-height:46px;padding:10px 12px;margin-top:8px;line-height:24px}.exact-upload-grid button{min-height:46px}.exact-upload-help{margin:10px 0 0;color:#69778a;font-size:13px}
.template-builder-sections{display:grid;gap:10px;margin:14px 0}.template-builder-row{display:grid;grid-template-columns:auto minmax(140px,.8fr) minmax(180px,1.2fr) auto;gap:8px;align-items:start;padding:12px;border:1px solid #e4e9f1;border-radius:10px}.template-builder-row textarea{min-height:72px}.template-builder-order{display:flex;gap:4px}.template-builder-order button{min-width:34px;padding:6px}.template-section-label{display:grid;gap:6px}.template-picker{margin-bottom:16px}.note-template-section textarea{min-height:112px}
@media(max-width:900px){.exact-upload-grid,.template-builder-row{grid-template-columns:1fr}.cosmo-overview-grid{grid-template-columns:1fr!important}.overview-summary-stats{grid-template-columns:1fr}.registry-columns{grid-template-columns:1fr!important;column-gap:0!important}}
