/* Original clinic system: shared dark surfaces, compact type and blue actions.
   Presentation only. No navigation, permissions or release switches are changed. */
body.authenticated-portal,body.public-portal{
  color-scheme:dark;--paper:#0b141d;--ink:#e0e6ed;--muted:#a2aebb;
  --wine:#8db8ea;--pink:#7ba9dc;--blue:#8db8ea;--line:#293645;
  --white:#101b28;--wash:#142131;--lavender:#142336;--sage:#142336;
  --radius:10px;--shadow:none;--sidebar:220px;
  --clinic-primary:#356da9;--clinic-primary-hover:#407cba;
  background:var(--paper);color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:13px;line-height:1.55;
}
body h1,body h2,body h3,body .clinic-management h1,body .clinic-management h2,body .clinic-management h3{
  font-family:inherit;font-weight:600;letter-spacing:-.02em;color:var(--ink);
}
body h1,body .page-heading h1,body .clinic-management h1{font-size:22px;line-height:1.3;margin-block:0 8px}
body h2,body .clinic-management h2,body .section-heading h2{font-size:16px;line-height:1.4}
body h3,body .clinic-management h3{font-size:14px}
body a{color:var(--wine)}
body p,body .lead{line-height:1.65}
body .lead,body .intake-heading>p:last-child{font-size:14px;color:var(--muted)}
body .eyebrow,body .header-eyebrow{color:var(--muted);letter-spacing:.08em}
body .topbar{height:56px;padding-inline:24px;background:#101b28;border-color:var(--line)}
body .workspace-mark{width:28px;height:28px;border:0;border-radius:6px;background:var(--wash);color:var(--muted)}
body .workspace-heading strong{font-size:12px;font-weight:500}
body .header-eyebrow{font-size:8px;margin-bottom:3px}
body .language-switch{padding:2px;border-color:var(--line);background:transparent;border-radius:7px}
body .language-switch a{padding:5px 7px;font-size:11px;color:var(--muted)}
body .language-switch a[aria-current=true]{background:#18283c;color:var(--wine)}
body .region{color:var(--muted)}
body.authenticated-portal .app-sidebar,body.authenticated-portal .sidebar-account{background:#0e1825;border-color:var(--line)}
body.authenticated-portal .brand-lockup{min-height:56px;padding:9px 17px;margin-bottom:12px;border:0;border-bottom:1px solid var(--line);background:#0e1825;box-shadow:none}
body.authenticated-portal .brand-lockup img{width:145px;padding:4px;border-radius:4px}
body.authenticated-portal .sidebar-navigation{scrollbar-color:#3c4c60 transparent}
body.authenticated-portal .sidebar-account .avatar{background:#25364c;color:#cbd9eb}
body.authenticated-portal .environment,body.public-portal .environment{padding:8px 24px;background:#122033;color:#c0d2e8;border-color:#263c54;font-size:11px}
body .environment .ui-icon{color:#8db8ea}
body .workspace-main,body .app-page{padding:24px;max-width:1600px;margin-inline:auto}
body .management-heading{margin-bottom:20px;gap:16px}
body .clinic-management>.action-row{margin-block:0 20px;gap:8px}
body .page-heading{margin-bottom:20px}
body .page-heading>p,body .page-heading>div>p:not(.eyebrow),body .management-heading p:not(.eyebrow){color:var(--muted);font-size:13px}
body .panel,body .module-card,body .stat-card,body .login-card,
body .management-system,body .management-audit,body .management-area,
body .management-workflow>a,body .journey-filter,body .journey-card,
body .approval-tabs>a,body .intake-steps>a{background:var(--white);border-color:var(--line);box-shadow:none;border-radius:10px}
body .panel,body .clinic-management .panel{padding:20px;margin-block:18px}
body .admin-columns .panel,body .clinic-management .admin-columns .panel{margin-block:0 18px}
body .management-workflow{gap:16px;margin-block:20px}
body .management-workflow>a{padding:20px;gap:8px}
body .management-workflow strong{font-size:16px}
body.authenticated-portal .management-workflow>a>span:not(.workflow-step){font-size:13px}
body .management-workflow>a:hover,body .module-card:hover{background:#132131;border-color:#456381;box-shadow:none}
body .workflow-step,body .module-number{color:var(--muted)}
body.authenticated-portal .management-metrics,body.authenticated-portal .team-onboarding,
body.authenticated-portal .journey-column,body.authenticated-portal .approval-tabs>a[aria-current=page]{background:var(--white);border-color:var(--line)}
body .management-metrics{margin-block:20px;border-radius:10px}
body .management-metrics>a,body .management-metrics>div{padding:16px;border-color:var(--line)}
body .management-metrics strong{font-size:22px;color:var(--ink)}
body.authenticated-portal .management-metrics .metric-status{background:#1c2c3d;color:#c1cbd6;font-size:12px}
body.authenticated-portal .management-note,body.authenticated-portal .team-onboarding p{font-size:13px}
body .team-onboarding{padding:16px}
body .management-system>summary,body .management-audit>summary{padding:16px;font-size:13px;color:var(--ink)}
body .management-area summary{padding:16px;font-size:14px}
body .management-area li>a,body .record,body .job-row,body .readiness-list dt,body .readiness-list dd,
body .module-open,body .module-setup,body .intake-summary>div{border-color:var(--line)}
body .management-area li>a{color:var(--ink)}
body .feature-band{background:#132238;border-color:#2a405b;padding:22px}
body .feature-band h2{font-size:20px}
body .feature-band .button{background:transparent;border-color:#476788;color:var(--ink)}
body .feature-band .button:hover{background:#20354f}
body .request-list,body .empty,body .setup-note,body .module-state{background:#142131;border-color:var(--line);color:var(--muted)}
body .module-state strong,body .module-state>.ui-icon{color:#a7c7ed}
body .module-card{padding:20px}
body .module-card-top{margin-bottom:16px}
body .module-icon,body .module-card:nth-child(3n+2) .module-icon,body .module-card:nth-child(3n+3) .module-icon,
body .section-icon,body .stat-icon,body .stat-icon.lavender,body .stat-icon.pink,body .empty-icon{background:#192b42;color:#95b8e2;border-color:var(--line)}
body .stat-card>small,body .job-row>small,body .module-setup summary{color:var(--muted)}
body .job-status,body .job-status.job-ok,body .pill,body .muted-pill{background:#192c43;color:#c0d5ee;border-color:#324861}
body .job-status.job-ok{background:#12372f;color:#91d5bd}
body .pill{font-size:11px}
body .table-wrap{border:1px solid var(--line);border-radius:10px;background:var(--white)}
body table{font-size:13px;background:transparent}
body th{font-size:11px;font-weight:500;color:var(--muted);background:#111f2e;letter-spacing:.01em}
body th,body td{padding:12px 16px;border-color:var(--line)}
body tbody tr:hover{background:#142436}
body .table-empty,body .record-reference,body .event-action{color:var(--muted)}
body .event-action,body .message{background:var(--white);border-color:var(--line)}
body .avatar{background:#25364c;color:#cbd9eb}
body button,body .button,body .file-picker[data-enhanced] .file-picker__button{
  background:var(--clinic-primary);border-color:var(--clinic-primary);color:#fff;
  min-height:38px;padding:8px 14px;border-radius:7px;font-size:13px;font-weight:500;
}
body.authenticated-portal button:not(.danger):hover,body.authenticated-portal .button:hover,body.public-portal button:hover,body.public-portal .button:hover{background:var(--clinic-primary-hover);border-color:var(--clinic-primary-hover);color:#fff}
body .outline,body .subtle,body .action-row>a:not(.button),body .pagination a{background:var(--white);color:var(--ink);border:1px solid var(--line);box-shadow:none}
body.authenticated-portal .outline:hover,body.authenticated-portal .subtle:hover,body .action-row>a:not(.button):hover,body .pagination a:hover{background:#1b2b40;border-color:#456381;color:var(--ink)}
body .icon-button{background:transparent;border:0;color:var(--muted);padding:7px;min-height:32px;width:32px}
body.authenticated-portal .icon-button:not(.danger):hover{background:#203048;border-color:transparent;color:var(--ink)}
body.authenticated-portal .danger,body.public-portal .danger{background:#3a1d2b;color:#ffc0c9;border-color:#92546a}
body.authenticated-portal .danger:hover,body.public-portal .danger:hover{background:#542239;color:#ffdae0;border-color:#b56b83}
body button:disabled,body input:disabled,body select:disabled,body textarea:disabled{cursor:not-allowed;opacity:.65}
body input,body select,body textarea,
body.authenticated-portal input:not([type=checkbox]):not([type=radio]),body.authenticated-portal select,body.authenticated-portal textarea{
  background:#0e1926;color:var(--ink);border-color:#46596d;min-height:40px;border-radius:7px;font-size:13px;padding:9px 12px;
}
body input[type=checkbox],body input[type=radio]{width:18px;height:18px;min-height:18px;padding:0;accent-color:#83b6ed}
body input::placeholder,body textarea::placeholder,body.authenticated-portal input::placeholder,body.authenticated-portal textarea::placeholder{color:#93a3b5;opacity:1}
body input:focus,body select:focus,body textarea:focus{border-color:#8db8ea}
body :focus-visible{outline:2px solid #9bc6fb;outline-offset:3px}
body .preview-fields :disabled{background:#15202d;color:#a5b1bf;border-color:#3c4b5d}
body label{font-size:13px;font-weight:500}
body form .helptext,body .intake-field .helptext,body .intake-hint,body .intake-summary dt{color:var(--muted)}
body .file-picker[data-enhanced]{background:#0e1926;border-color:#46596d}
body .file-picker[data-enhanced] .file-picker__button{color:#fff}
body .notice,body .intake-notice{background:#142940;border-color:#41658c;color:#c4daf3}
body .errorlist,body .booking-overdue{color:#ffb0bd}
body .intake-errors{background:#351e2c;border-color:#ac6279;color:#ffd1da}
body .booking-alert{background:#263148;color:#f3d6a2;border-color:#6a6046}
body .intake-steps>a{color:var(--ink)}
body .intake-steps span,body .intake-number{background:#1c3552;color:#c4dcfa}
body .intake-group{border-color:var(--line)}
body .intake-group legend{color:var(--ink);font-size:16px}
body .intake-checklist>div>div{background:var(--white);border-color:var(--line)}
body .intake-checklist>div>div:has(input:checked){background:#1a3049;border-color:#83b6ed}
body .care-calendar{background:var(--white)}
body .care-calendar th{font-size:10px;text-transform:uppercase}
body .care-calendar td{height:110px;border-color:var(--line)}
body .care-calendar td>time{display:block;text-align:end;color:#c0cad7}
body .care-calendar .outside-month{background:#0d1722}
body .care-calendar .outside-month>time{color:#7d8c9f}
body .care-calendar .calendar-today{background:#12253b;box-shadow:none}
body .care-calendar .calendar-today>time{color:#cbe3ff;font-weight:700}
body .calendar-event{background:#1c3550;border-color:#8db8ea}
body .workspace>aside{background:var(--white);border-color:var(--line);margin:20px 24px 0}
body .workspace>aside nav a:hover{background:#1b2d43;color:var(--ink)}
body .journey-card p,body .journey-card>a,body .journey-empty{font-size:12px}
body .journey-column{border-radius:10px}
body .approval-tabs>a[aria-current=page]{border-color:#80afe3}
body .staff-portrait-preview{background:#17283d;border-color:var(--line)}
body .public-logo,body .mobile-brand img{background:#fff;padding:5px;border-radius:5px}
body.public-portal .topbar{height:72px;border-top:0}
body.public-portal .public-logo{width:180px}
body .welcome h1{font-size:36px;color:var(--ink);font-weight:600;line-height:1.2}
body .welcome .lead{font-size:14px}
body .welcome-note,body .login-card>p{color:var(--muted)}
body .login-card{padding:28px}
body .login-card h2{font-size:20px}
body .number{font-family:inherit;color:var(--wine)}
body footer{font-size:10px;color:var(--muted);border-color:var(--line);padding:18px 24px}
body .skip{background:#192c43;color:#d9e8fc}
@media(max-width:760px){
  body .topbar{height:62px;padding-inline:18px}
  body .workspace-main,body .app-page{padding:22px 18px}
  body .mobile-brand img{width:130px}
  body .mobile-navigation{background:#101b28;border-color:var(--line)}
  body .mobile-navigation>summary{color:var(--ink);padding:12px 18px}
  body.authenticated-portal .mobile-navigation nav,body.authenticated-portal .mobile-navigation>form{background:#0e1825}
  body.authenticated-portal .mobile-navigation>form button{color:#d5e2f2;border-color:#46596d}
  body .environment{padding-inline:18px}
  body h1,body .clinic-management h1,body .page-heading h1{font-size:22px}
  body .management-workflow>a{padding:18px}
  body .panel,body .clinic-management .panel{padding:18px}
  body .workspace>aside{margin-inline:18px}
  body .management-heading .button{align-self:flex-start}
  body .journey-card p,body .journey-card>a,body .journey-empty{font-size:13px}
  body .login-layout{padding-inline:18px;gap:24px;margin-block:28px 40px}
  body .welcome h1{font-size:30px}
}
/* Calendar-first Home follows the original clinic event panel. */
body .calendar-panel{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0}
body .calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
body .calendar-heading h1{display:flex;align-items:center;gap:9px;font-size:15px;letter-spacing:0;margin-block:0 8px}
body .calendar-heading h1 .ui-icon{width:17px;height:17px;color:var(--muted)}
body .calendar-heading p{font-size:12px;color:var(--muted);margin:0}
body .calendar-view-switch{display:flex;gap:2px;border:1px solid var(--line);border-radius:7px;padding:3px;flex-shrink:0}
body .calendar-view-switch a{font-size:11px;color:var(--muted);text-decoration:none;padding:5px 9px;border-radius:5px}
body .calendar-view-switch a[aria-current=page]{color:var(--wine);background:#182b42}
body .calendar-access-note{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin:12px 0 0}
body .calendar-access-note .ui-icon{width:14px;height:14px;flex-shrink:0}
body .calendar-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block:14px}
body .calendar-period>div{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
body .calendar-period strong{font-size:14px;font-weight:500}
body .calendar-period a{font-size:11px;text-decoration:none}
body .calendar-period .calendar-period-arrow{display:grid;place-items:center;width:32px;height:32px;font-size:23px;line-height:1;border-radius:6px;color:var(--muted)}
body .calendar-period .calendar-period-arrow:hover{background:var(--wash);color:var(--ink)}
body .calendar-panel .calendar-wrap{border-radius:0;max-width:100%;overflow:auto}
body .calendar-panel .care-calendar{min-width:640px}
body .calendar-panel .care-calendar td{height:98px;padding:10px}
body .calendar-panel .care-calendar td>time{margin-inline-start:auto;display:grid;place-items:center;width:23px;height:23px;font-size:11px}
body .calendar-panel .care-calendar .calendar-today>time{background:#356da9;border-radius:50%;color:#fff}
html[dir=rtl] .calendar-period-arrow{transform:scaleX(-1)}
@media(max-width:760px){body .calendar-panel{padding:14px}body .calendar-heading h1{font-size:14px}body .calendar-view-switch a{padding-inline:7px}body .calendar-heading{gap:10px}body .calendar-period strong{font-size:13px}body .calendar-panel .care-calendar{min-width:560px}body .calendar-panel .care-calendar td{height:85px}}
/* All-time administrative charts beneath the Home calendar. */
body .home-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:20px}
body .overview-chart{min-width:0;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:10px}
body .overview-chart header h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.035em;margin:0 0 5px}
body .overview-chart header p{font-size:12px;color:var(--muted);margin:0}
body .subscriber-chart{position:relative;width:184px;height:184px;margin:24px auto;border-radius:50%;background:conic-gradient(#6397d0 0 var(--active-share),#8193aa var(--active-share) 100%);display:grid;place-items:center}
body .subscriber-chart:before{content:'';position:absolute;inset:22px;background:var(--white);border-radius:50%}
body .subscriber-chart>div{position:relative;z-index:1;text-align:center;max-width:135px}
body .subscriber-chart strong{display:block;font-size:29px;font-weight:500;color:var(--ink);line-height:1.3}
body .subscriber-chart span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
body .subscriber-chart.chart-empty{background:#26384d}
body .chart-legend{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin:0;padding:12px 0;border-top:1px solid var(--line)}
body .chart-legend>div{display:flex;align-items:center;gap:7px;font-size:12px}
body .chart-legend dt{display:flex;align-items:center;gap:6px;color:var(--muted)}
body .chart-legend dd{margin:0;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
body .chart-dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%}
body .active-dot,body .total-dot{background:#6397d0}body .inactive-dot{background:#8193aa}body .paid-dot{background:#63b9a2}body .unpaid-dot{background:#c69a68}
body .order-chart{display:block;width:100%;height:232px;margin:12px auto 0;overflow:visible;direction:ltr}
body .chart-grid path{stroke:var(--line);stroke-width:1;fill:none}
body .order-chart text{fill:var(--muted);font-size:10px;font-family:inherit}
body .order-bar rect{fill:#6397d0}body .order-bar-paid rect{fill:#63b9a2}body .order-bar-unpaid rect{fill:#c69a68}
body .order-bar text:not(.bar-label){fill:var(--ink);font-size:11px}
body .chart-empty-label{fill:var(--muted);font-size:12px}
body .chart-note{font-size:11px;color:var(--muted);line-height:1.6;margin:10px 0 0}
html[dir=rtl] .overview-chart header h2{letter-spacing:0}
@media(max-width:760px){body .home-overview{grid-template-columns:minmax(0,1fr);gap:16px}body .overview-chart{padding:18px}body .chart-legend{gap:18px}body .order-chart{height:210px}body .chart-note{font-size:12px}}
/* Patient entry composition mirrors the original portal; existing palette tokens stay unchanged. */
body .patient-entry-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:calc(100vh - 150px);direction:ltr}
body.public-portal:has(.patient-entry-layout) .topbar{justify-content:flex-end}
body.public-portal:has(.patient-entry-layout) .topbar .brand{display:none}
body .patient-entry-card{display:flex;align-items:center;justify-content:center;padding:48px 36px;background:var(--paper)}
body .patient-entry-content{width:100%;max-width:410px}
body .patient-entry-logo{display:block;width:210px;height:auto;border-radius:6px;margin:0 auto 30px}
body .patient-entry-content h1{font-size:27px;text-align:center;line-height:1.35;margin-bottom:12px}
body .patient-entry-intro{text-align:center;color:var(--muted);font-size:14px;margin-bottom:26px}
body .patient-entry-content>.small{font-size:13px;line-height:1.7;margin-bottom:22px}
body .patient-entry-content .wide{width:100%;min-height:46px;margin-block:8px;font-size:14px}
body .patient-entry-access{text-align:center;margin-top:22px;font-size:13px}
body .patient-entry-help{border-top:1px solid var(--line);padding-top:22px;margin:24px 0 0;font-size:12px;color:var(--muted);line-height:1.75;text-align:center}
body .patient-entry-visual{position:relative;min-height:560px;overflow:hidden;background:var(--wash);isolation:isolate}
body .patient-entry-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
body .patient-entry-visual:after{content:'';position:absolute;inset:35% 0 0;z-index:1;background:linear-gradient(transparent,var(--paper))}
body .patient-entry-caption{position:absolute;inset-inline:36px;bottom:36px;z-index:2;text-align:end}
body .patient-entry-caption h2{font-size:25px;font-weight:600;color:var(--ink);margin:14px 0 8px}
body .patient-entry-caption p{font-size:14px;color:var(--muted);margin:0}
body .patient-entry-rule{display:inline-block;width:42px;height:4px;background:var(--wine);border-radius:2px}
@media(max-width:760px){body .patient-entry-layout{grid-template-columns:minmax(0,1fr);min-height:0}body .patient-entry-card{padding:34px 22px 40px}body .patient-entry-logo{width:190px;margin-bottom:24px}body .patient-entry-content h1{font-size:25px}body .patient-entry-visual{min-height:360px}body .patient-entry-caption{inset-inline:24px;bottom:24px}body .patient-entry-caption h2{font-size:22px}}
@media print{
  body.authenticated-portal,body.public-portal{color-scheme:light;--paper:#fff;--ink:#111;--muted:#444;--white:#fff;--wash:#fff;--line:#bbb;background:#fff;color:#111}
  body main,body main *,body .lab-request-sheet{background:transparent!important;color:#111!important;box-shadow:none!important}
  body .workspace-main,body .app-page{padding:0;max-width:none}
  body h1,body .clinic-management h1{font-size:20pt}
}

/* Patient home uses the existing clinic palette and shared navigation shell. */
.patient-home .patient-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block:24px}
.patient-home .patient-shortcuts .panel{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0;text-decoration:none;color:var(--ink);min-width:0}
.patient-home .patient-shortcuts svg{width:24px;height:24px;color:var(--wine)}
.patient-home .patient-shortcuts span{color:var(--muted)}
.patient-home .patient-shortcuts a:hover{border-color:var(--wine)}
.patient-home #patient-appointments{scroll-margin-top:24px}
@media(max-width:1000px){.patient-home .patient-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.patient-home .patient-shortcuts{grid-template-columns:1fr}.patient-home .section-heading{flex-wrap:wrap}}
