.clinic-page { min-height: 100vh; background: radial-gradient(circle at 10% 10%, #edf8f0, transparent 34%), #f8f8f6; }
.clinic-header { width: min(1120px, calc(100% - 40px)); min-height: 82px; display: flex; align-items: center; justify-content: space-between; margin: 0 auto; }
.clinic-switch a { color: #12885c; }
.doctor-directory-layout .clinic-header { position: relative; min-height: 108px; align-items: flex-start; justify-content: flex-start; padding-top: 14px; }
.page-back-row { width: min(1120px, calc(100% - 40px)); display: flex; justify-content: flex-start; margin: -4px auto 0; }
.page-back-button { min-height: 38px; gap: 7px; padding: 0 12px; }
.page-back-button span { font-size: 17px; line-height: 1; }
.doctor-directory-layout .clinic-header .theme-toggle { margin-left: auto; }
.clinic-auth-layout .clinic-header-link { display: none; }
.clinic-main { width: min(880px, calc(100% - 32px)); margin: 24px auto 70px; }
.clinic-card { padding: clamp(24px, 5vw, 48px); border: 1px solid #e6ece6; border-radius: 23px; background: #fff; box-shadow: 0 20px 70px rgb(29 42 35 / 8%); }
.clinic-register { max-width: 820px; margin: auto; }
.clinic-intro { max-width: 610px; margin-bottom: 28px; }
.clinic-intro h1, .clinic-card h1 { margin: 17px 0 9px; font-size: clamp(30px, 5vw, 43px); letter-spacing: -1.8px; line-height: 1.12; }
.clinic-intro p, .clinic-card > p { color: #68716d; font-size: 14px; line-height: 1.7; }
.clinic-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.clinic-field { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.clinic-field-wide { grid-column: 1 / -1; }
.clinic-field label, .clinic-field legend { color: #344139; font-size: 12px; font-weight: 600; }
.clinic-field input:not([type=checkbox]), .clinic-field textarea, .clinic-field select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #dfe7e0; border-radius: 9px; color: #26332a; background: #fff; font: inherit; font-size: 13px; }
.clinic-field textarea { min-height: 88px; resize: vertical; }
.clinic-field input:focus-visible, .clinic-field textarea:focus-visible { outline: 3px solid rgb(23 181 122 / 45%); outline-offset: 2px; }
.clinic-field fieldset { min-width: 0; padding: 0; border: 0; }
.clinic-field legend { margin-bottom: 10px; }
.specialization-list ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; padding: 0; margin: 0; list-style: none; }
.specialization-list li label, .clinic-field:has(input[type=checkbox]) { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 400; }
.specialization-list input, .clinic-field input[type=checkbox] { accent-color: #168b5d; }
.clinic-error { color: #b13f45; font-size: 11px; line-height: 1.5; }
.clinic-errors { padding: 12px; margin-bottom: 15px; border-radius: 9px; color: #9d3438; background: #fff0f0; font-size: 12px; }
.clinic-submit { min-height: 48px; margin-top: 23px; }
.clinic-switch { margin: 17px 0 0; color: #68716d; font-size: 12px; }
.clinic-switch a { font-weight: 600; }
.clinic-notice { padding: 13px 15px; margin: 18px 0; border: 1px solid #d7e9da; border-radius: 10px; color: #325541; background: #f1f8f2; font-size: 12px; line-height: 1.6; }
.clinic-auth-card, .clinic-result { max-width: 560px; margin: 40px auto; }
.clinic-auth-card .clinic-field { margin: 16px 0; }
.clinic-auth-card .registration-back { margin-bottom: 18px; }
.clinic-result { text-align: center; }
.clinic-result .clinic-submit { margin-top: 12px; }
.result-icon { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: #12885c; background: #e9f7ed; font-size: 24px; }
.trial-summary { display: grid; gap: 7px; padding: 17px; margin: 22px 0; border-radius: 12px; color: #526259; background: #eff8f1; font-size: 12px; text-align: left; }
.trial-summary strong { color: #176e4b; font-size: 14px; }
.clinic-dashboard { max-width: 820px; margin: auto; }
.dashboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dashboard-heading h1 { font-size: clamp(28px, 4vw, 38px); }
.dashboard-heading form { flex: 0 0 auto; }
.clinic-dashboard h2 { margin-top: 28px; font-size: 22px; }
.clinic-dashboard > p { color: #657169; line-height: 1.7; }
.clinic-dashboard h3 { margin: 25px 0 10px; font-size: 14px; }
.specialization-tags { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.specialization-tags li { padding: 7px 10px; border-radius: 99px; color: #176e4b; background: #edf8f0; font-size: 11px; }
@media (max-width: 620px) {
  .clinic-header { width: calc(100% - 32px); min-height: 70px; }
  .page-back-row { width: calc(100% - 32px); }
  .clinic-main { margin-top: 12px; }
  .clinic-form-grid { grid-template-columns: 1fr; }
  .clinic-field-wide { grid-column: 1; }
  .specialization-list ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-heading { align-items: flex-start; }
  .clinic-weekday-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-period-fields, .clinic-closure-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-schedule-section .panel-heading { align-items: flex-start; }
  .clinic-schedule-page .dashboard-welcome { flex-wrap: wrap; }
  .clinic-preview-date-form { align-items: stretch; }
  .clinic-weekly-preview-row { grid-template-columns: 72px minmax(0, 1fr); }
}

.clinic-page {
  color-scheme: dark;
  --ink: #eef6f1;
  --muted: #9fb3a9;
  --green: #5be0a4;
  --green-dark: #5be0a4;
  --paper: #09120e;
  --line: #1f3128;
  --shadow: 0 10px 34px rgb(0 0 0 / 35%);
  color: var(--ink);
  background: radial-gradient(circle at 10% 10%, rgb(45 111 76 / 16%), transparent 34%), var(--paper);
}

.clinic-page .clinic-switch a { color: var(--green); }
.clinic-page .eyebrow,
.clinic-page .section-badge { color: var(--green); border-color: rgb(91 224 164 / 20%); background: rgb(91 224 164 / 9%); }
.clinic-page :focus-visible { outline-color: var(--green); }
.clinic-page .clinic-card {
  color: var(--ink);
  border-color: var(--line);
  background: #0f1b16;
  box-shadow: var(--shadow);
}
.clinic-page .clinic-intro p,
.clinic-page .clinic-card > p,
.clinic-page .clinic-switch,
.clinic-page .clinic-dashboard > p { color: var(--muted); }
.clinic-page .clinic-field label,
.clinic-page .clinic-field legend { color: #c1d0c7; }
.clinic-page .clinic-field input:not([type=checkbox]),
.clinic-page .clinic-field textarea,
.clinic-page .clinic-field select {
  color: var(--ink);
  border-color: var(--line);
  background: #09120e;
}
.clinic-page .clinic-field input::placeholder,
.clinic-page .clinic-field textarea::placeholder { color: #81968b; }
.clinic-page .clinic-field input:focus-visible,
.clinic-page .clinic-field textarea:focus-visible { outline-color: rgb(91 224 164 / 55%); }
.clinic-page .clinic-notice,
.clinic-page .trial-summary { color: #c1d0c7; border-color: #294838; background: #11251a; }
.clinic-page .trial-summary strong,
.clinic-page .specialization-tags li { color: var(--green); }
.clinic-page .result-icon { color: var(--green); background: rgb(91 224 164 / 12%); }
.clinic-page .specialization-tags li { background: rgb(91 224 164 / 10%); }
.clinic-page .clinic-field input[type=checkbox],
.clinic-page .specialization-list input { accent-color: var(--green); }
.clinic-page .clinic-errors { color: #ffaaa1; background: #321c1b; }
.clinic-page .button-dark { color: #06130d; background: var(--green); }
.clinic-page .button-dark:hover { color: #06130d; background: #73e8b4; }
.clinic-page .button-light { color: var(--ink); border-color: var(--line); background: #14231b; }

.clinic-page.clinic-dashboard-page {
  color-scheme: light;
  --ink: #17221c;
  --muted: #68766e;
  --green: #17b57a;
  --green-dark: #12885c;
  --paper: #f5f8f5;
  --line: #e6ece7;
  color: var(--ink);
  background: var(--paper);
}
.clinic-dashboard-page .button-light {
  color: #26352b;
  border-color: #dce5dd;
  background: #fff;
}
.clinic-dashboard-page .button-light:hover {
  color: #17221c;
  border-color: #c5d7c9;
  background: #f3f8f4;
}
.clinic-dashboard-page .button-light:focus-visible,
.clinic-dashboard-page .button-dark:focus-visible {
  outline: 3px solid rgb(23 181 122 / 55%);
  outline-offset: 3px;
}
.clinic-dashboard-page .button-dark {
  color: #fff;
  background: #17221c;
}
.clinic-dashboard-page .button-dark:hover {
  color: #fff;
  background: #2a3a30;
}
.clinic-dashboard-page .clinic-header {
  position: sticky;
  top: 0;
  z-index: 20;
  width: 100%;
  min-height: 76px;
  gap: 22px;
  padding: 0 max(28px, calc((100vw - 1480px) / 2));
  border-bottom: 1px solid var(--theme-border);
  background: var(--theme-page);
}
.clinic-dashboard-page .brand-accent { color: #12885c; }
.clinic-dashboard-page .clinic-header-context {
  position: absolute;
  left: 50%;
  width: min(560px, calc(100% - 400px));
  display: grid;
  gap: 3px;
  text-align: center;
  transform: translateX(-50%);
  pointer-events: none;
}
.clinic-dashboard-page .clinic-header-context strong { overflow: hidden; color: #19251e; font-size: 70px; font-weight: 650; letter-spacing: -.7px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.clinic-dashboard-page .clinic-header-context .clinic-name-primary { color: #17221c; }
.clinic-dashboard-page .clinic-header-context .clinic-name-accent { color: #12885c; }
.clinic-flash-messages { width: min(880px, 100%); margin: 0 auto 14px; }
.clinic-flash-message { padding: 11px 14px; margin: 0 0 8px; border: 1px solid #d7e9da; border-radius: 10px; color: #325541; background: #f1f8f2; font-size: 12px; line-height: 1.55; }
.clinic-flash-error { border-color: #f0d5d3; color: #9d3438; background: #fff0f0; }
.clinic-flash-warning { border-color: #ecdcb6; color: #765319; background: #fff9eb; }
.clinic-dashboard-page .clinic-profile-menu { position: relative; flex: 0 0 auto; }
.clinic-dashboard-page .clinic-profile-menu > summary { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border: 1px solid transparent; border-radius: 12px; list-style: none; cursor: pointer; }
.clinic-dashboard-page .clinic-profile-menu > summary::-webkit-details-marker { display: none; }
.clinic-dashboard-page .clinic-profile-menu[open] > summary,
.clinic-dashboard-page .clinic-profile-menu > summary:hover { border-color: #e7ece8; background: #fff; }
.clinic-dashboard-page .clinic-profile-avatar,
.clinic-dashboard-page .doctor-avatar { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #12764f; background: #e7f6ed; font-size: 14px; font-weight: 700; }
.clinic-dashboard-page .clinic-profile-copy { display: grid; gap: 3px; }
.clinic-dashboard-page .clinic-profile-copy strong { color: #26342b; font-size: 12px; }
.clinic-dashboard-page .clinic-profile-copy small { color: #77837b; font-size: 10px; }
.clinic-dashboard-page .clinic-profile-chevron { margin-left: 4px; color: #78847c; font-size: 12px; }
.clinic-dashboard-page .clinic-profile-panel { position: absolute; z-index: 10; top: calc(100% + 7px); right: 0; width: min(340px, calc(100vw - 32px)); max-height: min(70vh, 560px); padding: 14px; overflow-y: auto; border: 1px solid #e5ebe6; border-radius: 14px; background: #fff; box-shadow: 0 14px 32px rgb(24 40 29 / 12%); }
.clinic-dashboard-page .clinic-drawer-details { padding: 2px 3px 13px; border-bottom: 1px solid #edf1ed; }
.clinic-dashboard-page .clinic-drawer-eyebrow { margin: 0 0 6px; color: #16885b; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.clinic-dashboard-page .clinic-drawer-details h2 { margin: 0 0 14px; color: #26342b; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.clinic-dashboard-page .clinic-drawer-details dl { display: grid; gap: 12px; margin: 0; }
.clinic-dashboard-page .clinic-drawer-details dl > div { display: grid; gap: 4px; }
.clinic-dashboard-page .clinic-drawer-details dt { color: #78847c; font-size: 10px; font-weight: 600; }
.clinic-dashboard-page .clinic-drawer-details dd { display: grid; gap: 4px; margin: 0; color: #344139; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.clinic-dashboard-page .clinic-profile-panel .clinic-drawer-details dd a { display: inline; width: auto; padding: 0; color: #147a51; background: transparent; font-size: inherit; }
.clinic-dashboard-page .clinic-profile-panel .clinic-drawer-details dd a:hover { text-decoration: underline; }
.clinic-dashboard-page .clinic-drawer-specializations { display: flex !important; flex-wrap: wrap; gap: 5px !important; }
.clinic-dashboard-page .clinic-drawer-specializations span { padding: 4px 7px; border-radius: 999px; color: #176e4b; background: #edf7ef; font-size: 9px; }
.clinic-dashboard-page .clinic-profile-panel .clinic-drawer-profile-link { margin-top: 7px; color: #126c49; font-weight: 600; }
.clinic-dashboard-page .clinic-profile-panel .clinic-drawer-edit-link {
  display: block;
  padding: 10px;
  margin-top: 8px;
  border: 1px solid #dcebe0;
  border-radius: 8px;
  color: #126c49;
  background: #f3faf4;
  font-size: 12px;
  font-weight: 600;
}
.clinic-dashboard-page .clinic-profile-panel .clinic-drawer-edit-link:hover {
  border-color: #b8dac2;
  background: #eaf6ed;
}
.clinic-dashboard-page .clinic-profile-panel a,
.clinic-dashboard-page .clinic-profile-panel button { width: 100%; display: block; padding: 10px; border: 0; border-radius: 8px; color: #344139; background: transparent; font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.clinic-dashboard-page .clinic-profile-panel a:hover,
.clinic-dashboard-page .clinic-profile-panel button:hover { color: #126c49; background: #f0f8f2; }
.clinic-profile-edit { width: min(900px, calc(100% - 32px)); margin: 10px auto 60px; }
.clinic-profile-back-link { margin-bottom: 16px; }
.clinic-profile-edit-heading { margin: 0 0 20px; }
.clinic-profile-edit-heading h1 { margin: 12px 0 7px; color: #19251e; font-size: clamp(30px, 4vw, 42px); letter-spacing: -1.4px; line-height: 1.1; }
.clinic-profile-edit-heading p { margin: 0; color: #68766e; font-size: 13px; line-height: 1.6; }
.clinic-profile-edit-form { display: grid; gap: 25px; }
.clinic-profile-edit-section h2 { margin: 0 0 15px; color: #26342b; font-size: 17px; }
.clinic-dashboard-page .clinic-profile-edit-form .clinic-field label,
.clinic-dashboard-page .clinic-profile-edit-form .clinic-field legend { color: #344139; }
.clinic-profile-edit-form .clinic-field input:not([type=checkbox]),
.clinic-profile-edit-form .clinic-field textarea,
.clinic-profile-edit-form .clinic-field select,
.clinic-schedule-form .clinic-field input:not([type=checkbox]),
.clinic-schedule-form .clinic-field textarea,
.clinic-schedule-form .clinic-field select {
  color: #26332a;
  border-color: #dfe7e0;
  background-color: #fff;
  color-scheme: light;
}
.clinic-profile-edit-form .clinic-field input::placeholder,
.clinic-schedule-form .clinic-field input::placeholder,
.clinic-schedule-form .clinic-field textarea::placeholder { color: #78857c; }
.clinic-profile-specializations { min-width: 0; padding: 0; border: 0; }
.clinic-profile-specialization-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.clinic-profile-specialization-list label { display: flex; align-items: center; gap: 8px; min-width: 0; color: #435148; font-size: 12px; font-weight: 400 !important; cursor: pointer; }
.clinic-profile-specialization-list input { accent-color: #168b5d; }
.clinic-profile-login-note { margin: 0; padding: 12px 14px; border: 1px solid #e5ece6; border-radius: 9px; color: #68766e; background: #f7faf7; font-size: 11px; line-height: 1.55; }
.clinic-profile-edit-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 17px; border-top: 1px solid #e9efea; }
.clinic-schedule-page { min-width: 0; }
.clinic-schedule-page .dashboard-welcome h1 { margin: 13px 0 8px; color: #17221c; font-size: clamp(26px, 3.5vw, 38px); letter-spacing: -1.2px; }
.clinic-schedule-page .dashboard-welcome p { margin: 0; color: #68766e; font-size: 13px; line-height: 1.6; }
.clinic-schedule-form { display: grid; gap: 18px; }
.clinic-schedule-section { min-width: 0; padding: clamp(17px, 3vw, 25px); }
.clinic-schedule-section .panel-heading { align-items: center; }
.clinic-schedule-section .panel-heading h2 { margin: 5px 0 0; color: #26342b; font-size: 19px; }
.clinic-schedule-note { margin: 0 0 15px; color: #68766e; font-size: 12px; line-height: 1.6; }
.clinic-weekday-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.clinic-weekday-row { min-width: 0; }
.clinic-weekday-row label { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 11px; border: 1px solid #e1e9e2; border-radius: 10px; color: #344139; background: #fff; font-size: 12px; font-weight: 600; cursor: pointer; }
.clinic-weekday-row input { width: 17px; height: 17px; margin: 0; accent-color: #168b5d; }
.clinic-period-list, .clinic-closure-list { display: grid; gap: 11px; }
.clinic-period-row, .clinic-closure-row { position: relative; min-width: 0; padding: 42px 14px 14px; border: 1px solid #e5ece6; border-radius: 12px; }
.clinic-period-row > input[name$="-DELETE"], .clinic-closure-row > input[name$="-DELETE"] { display: none; }
.clinic-row-remove { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 1px solid #e8dada; border-radius: 50%; color: #8e4343; background: #fff; font: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
.clinic-row-remove:hover { border-color: #d9bcbc; background: #fff4f3; }
.clinic-row-remove:focus-visible { outline: 3px solid rgb(23 181 122 / 45%); outline-offset: 2px; }
.clinic-period-fields { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: end; gap: 10px; }
.clinic-closure-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: 10px; }
.clinic-period-fields .clinic-field, .clinic-closure-fields .clinic-field { min-width: 0; }
.clinic-period-fields .clinic-field label, .clinic-closure-fields .clinic-field label { color: #46534b; font-size: 10px; }
.clinic-period-fields .clinic-field input, .clinic-period-fields .clinic-field select, .clinic-closure-fields .clinic-field input { min-height: 40px; padding: 8px; font-size: 11px; }
.clinic-schedule-form .clinic-errors { margin-bottom: 0; }
.clinic-weekly-preview { display: grid; }
.clinic-weekly-preview-row { display: grid; grid-template-columns: minmax(90px, 150px) minmax(0, 1fr); gap: 12px; padding: 11px 2px; border-bottom: 1px solid #edf1ed; color: #344139; font-size: 11px; }
.clinic-weekly-preview-row:last-child { border-bottom: 0; }
.clinic-weekly-preview-row > strong { font-weight: 600; }
.clinic-weekly-preview-row > div { display: grid; gap: 5px; }
.clinic-weekly-preview-row > div span { color: #526259; line-height: 1.5; }
.clinic-weekly-closed { color: #89948d; }
.clinic-active-closures { padding-top: 14px; margin-top: 12px; border-top: 1px solid #edf1ed; }
.clinic-active-closures h3 { margin: 0 0 8px; color: #46534b; font-size: 11px; }
.clinic-active-closures p { margin: 4px 0; color: #68766e; font-size: 11px; }
.clinic-schedule-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.clinic-preview-date-form { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin-bottom: 15px; }
.clinic-preview-date-form .clinic-field { width: min(260px, 100%); }
.clinic-preview-date-form .clinic-field input { min-height: 42px; padding: 8px 10px; border: 1px solid #dfe7e0; border-radius: 9px; color: #26332a; background: #fff; font: inherit; font-size: 12px; }
.clinic-preview-slots { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 12px 0 0; list-style: none; }
.clinic-preview-slots li { padding: 8px 11px; border: 1px solid #d6eadd; border-radius: 999px; color: #176e4b; background: #f0f8f2; font-size: 11px; font-weight: 600; }
.clinic-preview-empty { color: #68766e; font-size: 12px; line-height: 1.6; }
.clinic-schedule-warning { padding: 12px 14px; margin-bottom: 16px; border: 1px solid #ecdcb6; border-radius: 10px; color: #765319; background: #fff9eb; font-size: 12px; line-height: 1.6; }
.clinic-dashboard-page .clinic-main-dashboard { width: calc(100% - 256px); max-width: 1480px; margin: 28px 0 64px 256px; padding: 0 28px; }
.clinic-dashboard-page .clinic-workspace { display: block; width: 100%; }
.clinic-dashboard-page .dashboard-sidebar { position: fixed; z-index: 15; top: 76px; bottom: 0; left: 0; width: 256px; min-width: 0; padding: 0 4px 12px; overflow-y: auto; overscroll-behavior: contain; border-right: 1px solid var(--theme-border); background: var(--theme-page); }
.clinic-dashboard-page .dashboard-sidebar details { display: flex; min-height: 100%; flex-direction: column; padding: 25px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.clinic-dashboard-page .dashboard-sidebar summary { display: none; }
.clinic-dashboard-page .sidebar-layout { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.clinic-dashboard-page .sidebar-navigation { flex: 1; overflow-y: auto; }
.clinic-dashboard-page .sidebar-nav-group { margin: 0 0 15px; }
.clinic-dashboard-page .sidebar-group-heading { padding: 0 12px; margin: 10px 0 8px; color: var(--dash-muted); font-size: 12px; font-weight: 500; }
.clinic-dashboard-page .dashboard-sidebar nav { display: grid; gap: 2px; }
.clinic-dashboard-page .dashboard-sidebar nav a,
.clinic-dashboard-page .sidebar-logout button { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 12px; border: 0; border-radius: 10px; color: var(--dash-muted); background: transparent; font: inherit; font-size: 15px; font-weight: 500; text-align: left; text-decoration: none; transition: color .18s, background-color .18s; }
.clinic-dashboard-page .dashboard-sidebar nav a:hover,
.clinic-dashboard-page .sidebar-logout button:hover { color: var(--dash-text); background: var(--dash-accent-soft); }
.clinic-dashboard-page .dashboard-sidebar nav a.is-current { color: var(--dash-accent); background: var(--dash-accent-soft); font-weight: 700; }
.clinic-dashboard-page .dashboard-sidebar nav a.is-current .sidebar-icon { color: var(--dash-accent); }
.clinic-dashboard-page .sidebar-icon { width: 20px; flex: 0 0 20px; color: var(--dash-muted); font-size: 18px; line-height: 1; text-align: center; }
.clinic-dashboard-page .sidebar-rx-icon { font-size: 16px; font-weight: 700; }
.clinic-dashboard-page .sidebar-logout { margin: 0; }
.clinic-dashboard-page .sidebar-logout button { width: 100%; cursor: pointer; }
.clinic-dashboard-page .sidebar-account-card { display: flex; align-items: center; gap: 11px; padding: 12px; margin: 16px 0 0; border: 1px solid var(--dash-border); border-radius: 16px; background: var(--dash-card); }
.clinic-dashboard-page .sidebar-account-avatar { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--dash-accent); background: var(--dash-accent-soft); font-size: 12px; font-weight: 700; }
.clinic-dashboard-page .sidebar-account-copy { display: grid; min-width: 0; gap: 3px; }
.clinic-dashboard-page .sidebar-account-copy strong { overflow: hidden; color: var(--dash-text); font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.clinic-dashboard-page .sidebar-account-copy small { color: var(--dash-muted); font-size: 12px; }
.clinic-dashboard-page .sidebar-help { display: grid; gap: 6px; padding: 15px 12px 4px; margin: 14px 5px 0; border-top: 1px solid #edf0ed; }
.clinic-dashboard-page .sidebar-help strong { color: #334239; font-size: 11px; }
.clinic-dashboard-page .sidebar-help span { color: #7b867f; font-size: 10px; line-height: 1.55; }
.clinic-dashboard-page .dashboard-main { min-width: 0; }
.clinic-dashboard-page .dashboard-welcome { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.clinic-dashboard-page .dashboard-welcome > .back-action { order: -1; align-self: flex-start; }
.clinic-dashboard-page .dashboard-welcome h1 { margin: 13px 0 6px; color: #19251e; font-size: clamp(27px, 3vw, 37px); font-weight: 600; letter-spacing: -1.5px; line-height: 1.15; }
.clinic-dashboard-page .dashboard-welcome p { margin: 0; color: #78847c; font-size: 13px; }
.clinic-dashboard-page .dashboard-welcome .section-badge { padding: 6px 10px; border-color: #dcefe2; color: #187a56; background: #eef8f1; font-size: 9px; }
.clinic-dashboard-page .dashboard-action { min-height: 42px; flex: 0 0 auto; padding: 0 16px; border-radius: 10px; font-size: 11px; }
.clinic-dashboard-page .dashboard-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.clinic-dashboard-page .dashboard-stat-card { min-width: 0; display: grid; gap: 9px; padding: 16px; border: 1px solid #e6ece7; border-radius: 14px; color: inherit; background: #fff; box-shadow: 0 6px 20px rgb(35 53 40 / 3%); text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.clinic-dashboard-page .dashboard-stat-card:hover { border-color: #a9d9bd; box-shadow: 0 9px 24px rgb(35 53 40 / 8%); transform: translateY(-2px); }
.clinic-dashboard-page .dashboard-stat-card:focus-visible { outline: 3px solid rgb(23 181 122 / 45%); outline-offset: 3px; }
.clinic-dashboard-page .dashboard-stat-card > span { color: #707c74; font-size: 11px; font-weight: 500; }
.clinic-dashboard-page .dashboard-stat-card > strong { color: #1e3025; font-size: 26px; font-weight: 600; letter-spacing: -.8px; line-height: 1; }
.clinic-dashboard-page .dashboard-stat-card > strong.stat-unavailable { color: #a2aca5; font-size: 23px; }
.clinic-dashboard-page .dashboard-stat-card > small { overflow: hidden; color: #879189; font-size: 9px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.clinic-dashboard-page .dashboard-panel-grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; }
.clinic-dashboard-page .dashboard-detail-panel { margin-bottom: 16px; scroll-margin-top: 20px; }
.clinic-dashboard-page .dashboard-panel { min-width: 0; padding: 20px; border: 1px solid var(--theme-border); border-radius: 16px; color: var(--theme-text); background: var(--theme-surface); box-shadow: var(--theme-shadow); }
.clinic-dashboard-page .panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.clinic-dashboard-page .panel-eyebrow { display: block; margin-bottom: 6px; color: #16885b; font-size: 8px; font-weight: 700; letter-spacing: .12em; }
.clinic-dashboard-page .panel-heading h2 { margin: 0; color: #26342b; font-size: 17px; font-weight: 600; letter-spacing: -.3px; }
.clinic-dashboard-page .panel-count { flex: 0 0 auto; padding: 6px 9px; border-radius: 99px; color: var(--theme-link); background: var(--theme-subtle); font-size: 9px; font-weight: 600; }
.clinic-dashboard-page .appointment-list { display: grid; }
.clinic-dashboard-page .appointment-row { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-height: 64px; border-top: 1px solid #eff2ef; }
.clinic-dashboard-page .appointment-time { color: #42564a; font-size: 11px; font-weight: 600; white-space: nowrap; }
.clinic-dashboard-page .appointment-person { min-width: 0; display: grid; gap: 4px; }
.clinic-dashboard-page .appointment-person strong { overflow: hidden; color: #29372f; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.clinic-dashboard-page .appointment-person > span { overflow: hidden; color: #808b83; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.clinic-dashboard-page .appointment-person > .appointment-contact { overflow-wrap: anywhere; overflow: visible; line-height: 1.4; text-overflow: clip; white-space: normal; }
.clinic-dashboard-page .doctor-profile-form { display: grid; gap: 12px; padding: 17px; margin-top: 20px; border: 1px solid #e5ece6; border-radius: 13px; background: #f8fbf8; }
.clinic-dashboard-page .doctor-profile-disclosure { margin-top: 16px; }
.clinic-dashboard-page .doctor-profile-disclosure > summary { width: fit-content; min-height: 40px; cursor: pointer; list-style: none; }
.clinic-dashboard-page .doctor-profile-disclosure > summary::-webkit-details-marker { display: none; }
.clinic-dashboard-page .doctor-profile-disclosure > summary::marker { content: ""; }
.clinic-dashboard-page .doctor-profile-disclosure > summary::after { content: "+"; margin-left: 4px; font-size: 16px; }
.clinic-dashboard-page .doctor-profile-disclosure[open] > summary::after { content: "−"; }
.clinic-dashboard-page .doctor-profile-form h3,
.clinic-dashboard-page .doctor-profile-form p { margin: 0; }
.clinic-dashboard-page .doctor-profile-form p { color: #68766e; font-size: 12px; line-height: 1.55; }
.clinic-dashboard-page .doctor-profile-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.clinic-dashboard-page .doctor-profile-form .clinic-field { min-width: 0; }
.clinic-dashboard-page .doctor-profile-form .clinic-field label { color: var(--theme-secondary); font-size: 11px; font-weight: 600; }
.clinic-dashboard-page .doctor-profile-form .clinic-field input { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid var(--theme-border); border-radius: 9px; color: var(--theme-text); background: var(--theme-control); font: inherit; font-size: 12px; }
.clinic-dashboard-page .doctor-profile-form .dashboard-action { justify-self: start; }
.clinic-dashboard-page .appointment-reference { color: #99a29b; }
.clinic-dashboard-page .appointment-status { padding: 5px 8px; border-radius: 99px; color: #397553; background: #edf7ef; font-size: 8px; font-weight: 600; white-space: nowrap; }
.clinic-dashboard-page .appointment-status.status-cancelled { color: #9d4b4b; background: #fff0ef; }
.clinic-dashboard-page .dashboard-list-note { margin: 12px 0 0; color: #7c8880; font-size: 10px; }
.clinic-dashboard-page .dashboard-empty-state { display: grid; justify-items: center; gap: 10px; min-height: 190px; padding: 34px 20px; border-top: 1px solid var(--theme-border); background: linear-gradient(180deg, var(--theme-surface) 0%, var(--theme-raised) 100%); text-align: center; }
.clinic-dashboard-page .empty-state-icon { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; color: var(--theme-link); background: var(--theme-subtle); font-size: 16px; }
.clinic-dashboard-page .dashboard-empty-state strong { color: var(--theme-secondary); font-size: 14px; }
.clinic-dashboard-page .dashboard-empty-state p { max-width: 360px; margin: 0; color: var(--theme-muted); font-size: 12px; line-height: 1.65; }
.clinic-dashboard-page .appointment-empty-clear { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 13px; border: 1px solid #cfe5d5; border-radius: 8px; color: #126b47; background: #f1f8f3; font-size: 11px; font-weight: 600; }
.clinic-dashboard-page .appointment-empty-clear:hover { border-color: #acd4b8; color: #0e573a; background: #e7f4ea; }
.clinic-dashboard-page .appointment-empty-clear:focus-visible { outline: 3px solid rgb(23 181 122 / 55%); outline-offset: 2px; }
.clinic-dashboard-page .clinic-detail-list { display: grid; gap: 14px; margin: 0; }
.clinic-dashboard-page .clinic-detail-list > div { display: grid; gap: 5px; }
.clinic-dashboard-page .clinic-detail-list dt { color: #879189; font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.clinic-dashboard-page .clinic-detail-list dd { margin: 0; color: #3e4d43; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.clinic-dashboard-page .clinic-detail-list a { color: #187a56; }
.clinic-dashboard-page .clinic-detail-list a:hover { text-decoration: underline; }
.clinic-dashboard-page .profile-specializations { padding-top: 14px; margin-top: 14px; border-top: 1px solid #eff2ef; }
.clinic-dashboard-page .profile-specializations h3 { margin: 0 0 9px; color: #647168; font-size: 10px; font-weight: 600; }
.clinic-dashboard-page .specialization-tags { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0; list-style: none; }
.clinic-dashboard-page .specialization-tags li { padding: 5px 8px; border-radius: 99px; color: #187a56; background: #edf7ef; font-size: 8px; }
.clinic-dashboard-page .trial-summary { padding: 13px; margin: 16px 0 0; border: 1px solid #e2efe5; border-radius: 11px; color: #5c6e62; background: #f3f9f4; font-size: 9px; }
.clinic-dashboard-page .trial-summary strong { color: #176e4b; font-size: 11px; }
.clinic-dashboard-page .team-panel { margin-top: 16px; }
.clinic-dashboard-page .doctor-list { display: grid; }
.clinic-dashboard-page .doctor-row { display: flex; align-items: center; gap: 11px; min-height: 60px; border-top: 1px solid #eff2ef; }
.clinic-dashboard-page .doctor-avatar { width: 34px; height: 34px; font-size: 11px; }
.clinic-dashboard-page .doctor-row > div { min-width: 140px; display: grid; gap: 4px; }
.clinic-dashboard-page .doctor-row > div strong { color: #344239; font-size: 11px; }
.clinic-dashboard-page .doctor-row > div > span { color: #7e8a81; font-size: 9px; }
.clinic-dashboard-page .doctor-row .specialization-tags { margin-left: auto; justify-content: flex-end; }
.clinic-dashboard-page .doctor-edit-link { padding: 7px 10px; border: 1px solid #dce9df; border-radius: 8px; color: #176e4b; background: #f5faf6; font-size: 10px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.clinic-dashboard-page .doctor-edit-link:hover { border-color: #b9d9c2; background: #edf7ef; }
.clinic-dashboard-page .doctor-edit-link:focus-visible { outline: 3px solid rgb(23 181 122 / 42%); outline-offset: 2px; }
.clinic-dashboard-page .doctor-profile-form .clinic-field input,
.clinic-dashboard-page .doctor-profile-form .clinic-field textarea,
.clinic-dashboard-page .doctor-profile-form .clinic-field select { width: 100%; min-height: 40px; padding: 9px 11px; border: 1px solid var(--theme-border); border-radius: 9px; color: var(--theme-text); background: var(--theme-control); color-scheme: inherit; font: inherit; font-size: 12px; }
.clinic-dashboard-page .doctor-profile-form .clinic-field textarea { min-height: 88px; resize: vertical; }
.clinic-dashboard-page .doctor-profile-form .clinic-field-wide { grid-column: 1 / -1; }
.clinic-dashboard-page .doctor-edit-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.clinic-dashboard-page .compact-empty-state { padding: 20px; }
.clinic-dashboard-page .dashboard-data-note { margin: 14px 2px 0; color: #859087; font-size: 9px; line-height: 1.55; }
.clinic-dashboard-page .appointment-management { min-width: 0; }
.clinic-dashboard-page .appointment-filter-form { display: flex; align-items: end; flex-wrap: wrap; gap: 11px; padding: 16px; margin-bottom: 16px; border: 1px solid #e6ece7; border-radius: 15px; background: #fff; }
.clinic-dashboard-page .appointment-filter-form .clinic-field { flex: 1 1 130px; min-width: 125px; gap: 5px; }
.clinic-dashboard-page .appointment-filter-form .filter-search { flex: 2 1 220px; }
.clinic-dashboard-page .appointment-filter-form label { color: #647168; font-size: 9px; font-weight: 600; }
.clinic-dashboard-page .appointment-filter-form input,
.clinic-dashboard-page .appointment-filter-form select { width: 100%; min-width: 0; min-height: 37px; padding: 7px 9px; border: 1px solid #e3eae4; border-radius: 8px; color: #334239; background: #fff; font: inherit; font-size: 10px; }
.clinic-dashboard-page .appointment-filter-form input:focus-visible,
.clinic-dashboard-page .appointment-filter-form select:focus-visible { outline: 3px solid rgb(23 181 122 / 32%); outline-offset: 1px; }
.clinic-dashboard-page .appointment-filter-form .clinic-field input:not([type=checkbox]),
.clinic-dashboard-page .appointment-filter-form .clinic-field select {
  color: #26352b;
  border-color: #dce5dd;
  background-color: #fff;
}
.clinic-dashboard-page .appointment-filter-form .clinic-field input::placeholder {
  color: #78857c;
  opacity: 1;
}
.clinic-dashboard-page .appointment-filter-form .clinic-field input:not([type=checkbox]):focus,
.clinic-dashboard-page .appointment-filter-form .clinic-field select:focus {
  border-color: #83c7a0;
  background-color: #fff;
}
.clinic-dashboard-page .appointment-filter-form .clinic-error { flex-basis: 100%; }
.clinic-dashboard-page .filter-actions { display: flex; gap: 7px; }
.clinic-dashboard-page .filter-actions .button { min-height: 37px; padding: 0 12px; font-size: 10px; }
.clinic-dashboard-page .appointment-table-panel { padding: 0 0 6px; overflow: hidden; }
.clinic-dashboard-page .appointment-table-panel > .panel-heading { padding: 19px 20px 0; }
.clinic-dashboard-page .appointment-table-wrap { width: 100%; overflow-x: auto; }
.clinic-dashboard-page .appointment-table { width: 100%; border-collapse: collapse; text-align: left; }
.clinic-dashboard-page .appointment-table th { padding: 10px 13px; color: #78847b; background: #f8faf8; font-size: 9px; font-weight: 600; white-space: nowrap; }
.clinic-dashboard-page .appointment-table td { padding: 12px 13px; border-top: 1px solid #eff2ef; color: #4b594f; font-size: 10px; vertical-align: middle; }
.clinic-dashboard-page .appointment-table th:first-child,
.clinic-dashboard-page .appointment-table td:first-child { padding-left: 20px; }
.clinic-dashboard-page .appointment-table td strong { color: #2f3c33; font-size: 10px; }
.clinic-dashboard-page .appointment-table td small { display: block; margin-top: 4px; color: #869188; font-size: 9px; }
.clinic-dashboard-page .appointment-table td code { color: #5d6c61; font-family: "Segoe UI", sans-serif; font-size: 9px; }
.clinic-dashboard-page .appointment-table td .appointment-status { display: inline-block; }
.clinic-dashboard-page .table-detail-link,
.clinic-dashboard-page .appointment-pagination a { color: #147a51; font-size: 9px; font-weight: 600; white-space: nowrap; }
.clinic-dashboard-page .table-detail-link {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  border: 1px solid #cfe5d5;
  border-radius: 8px;
  color: #126b47;
  background: #f1f8f3;
  font-size: 10px;
}
.clinic-dashboard-page .table-detail-link:hover,
.clinic-dashboard-page .appointment-pagination a:hover { text-decoration: underline; }
.clinic-dashboard-page .table-detail-link:hover {
  border-color: #acd4b8;
  color: #0e573a;
  background: #e7f4ea;
}
.clinic-dashboard-page .table-detail-link:focus-visible {
  outline: 3px solid rgb(23 181 122 / 55%);
  outline-offset: 2px;
}
.clinic-dashboard-page .appointment-pagination { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px 8px; color: #7b867e; font-size: 9px; }
.clinic-dashboard-page .appointment-detail-panel { max-width: 860px; }
.clinic-dashboard-page .appointment-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 0; }
.clinic-dashboard-page .appointment-detail-list > div { min-width: 0; }
.clinic-dashboard-page .appointment-detail-list dt { margin-bottom: 5px; color: #879189; font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.clinic-dashboard-page .appointment-detail-list dd { margin: 0; color: #35453a; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.clinic-dashboard-page .appointment-detail-list a { color: #187a56; }
.clinic-dashboard-page .workflow-unavailable-note { display: grid; gap: 5px; padding: 13px; margin-top: 22px; border: 1px solid #e7eee8; border-radius: 10px; color: #69766e; background: #f7faf7; font-size: 9px; line-height: 1.5; }
.clinic-dashboard-page .workflow-unavailable-note strong { color: #435349; font-size: 10px; }
.clinic-dashboard-page .allergy-chip,
.clinic-dashboard-page .allergy-status-banner { border-radius: 9px; font-size: 9px; }
.clinic-dashboard-page .allergy-chip { display: inline-block; padding: 6px 8px; color: #645d26; background: #fbf6dc; }
.clinic-dashboard-page .allergy-chip.allergy-known,
.clinic-dashboard-page .allergy-status-banner.allergy-known { color: #8c3d39; background: #fff0ef; }
.clinic-dashboard-page .allergy-chip.allergy-no_known,
.clinic-dashboard-page .allergy-status-banner.allergy-no_known { color: #286b49; background: #eaf6ed; }
.clinic-dashboard-page .allergy-status-banner { display: grid; gap: 4px; padding: 12px; color: #645d26; background: #fbf6dc; line-height: 1.5; }
.clinic-dashboard-page .allergy-status-banner strong { font-size: 11px; }
.clinic-dashboard-page .allergy-status-banner span { opacity: .9; }
.clinic-dashboard-page .allergy-list { display: grid; gap: 8px; padding: 0; margin: 12px 0; list-style: none; }
.clinic-dashboard-page .allergy-list li { display: grid; gap: 4px; padding: 10px; border: 1px solid #f2dfdc; border-radius: 9px; background: #fffafa; }
.clinic-dashboard-page .allergy-list li strong { color: #713e3a; font-size: 10px; }
.clinic-dashboard-page .allergy-list li span { color: #886c68; font-size: 9px; }
.clinic-dashboard-page .patient-profile-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .78fr); align-items: start; gap: 16px; }
.clinic-dashboard-page .patient-profile-grid .dashboard-panel,
.clinic-dashboard-page .patient-history-panel,
.clinic-dashboard-page .vital-panel { margin-bottom: 16px; }
.clinic-dashboard-page .patient-history-panel,
.clinic-dashboard-page .vital-panel { padding: 20px; }
.clinic-dashboard-page .patient-edit-details { margin-top: 14px; border-top: 1px solid #eff2ef; }
.clinic-dashboard-page .patient-edit-details > summary { padding: 12px 0 4px; color: #187a56; font-size: 10px; font-weight: 600; cursor: pointer; }
.clinic-dashboard-page .clinical-entry-form { display: grid; gap: 11px; padding: 13px 0 4px; }
.clinic-dashboard-page .clinical-entry-form .clinic-field { gap: 5px; }
.clinic-dashboard-page .clinical-entry-form label { color: #647168; font-size: 9px; font-weight: 600; }
.clinic-dashboard-page .clinical-entry-form input:not([type=hidden]),
.clinic-dashboard-page .clinical-entry-form select,
.clinic-dashboard-page .clinical-entry-form textarea,
.clinic-page .patient-form-grid input:not([type=hidden]),
.clinic-page .patient-form-grid select,
.clinic-page .patient-form-grid textarea {
  width: 100%;
  min-height: 37px;
  padding: 8px 10px;
  border: 1px solid #e3eae4;
  border-radius: 8px;
  color: #334239;
  background: #fff;
  font: inherit;
  font-size: 10px;
}
.clinic-dashboard-page .clinical-entry-form textarea,
.clinic-page .patient-form-grid textarea { min-height: 72px; resize: vertical; }
.clinic-dashboard-page .clinical-entry-form input:focus-visible,
.clinic-dashboard-page .clinical-entry-form select:focus-visible,
.clinic-dashboard-page .clinical-entry-form textarea:focus-visible,
.clinic-page .patient-form-grid input:focus-visible,
.clinic-page .patient-form-grid select:focus-visible,
.clinic-page .patient-form-grid textarea:focus-visible { outline: 3px solid rgb(23 181 122 / 32%); outline-offset: 1px; }
.clinic-dashboard-page .clinical-entry-form .button { justify-self: start; }
.clinic-dashboard-page .allergy-actions,
.clinic-dashboard-page .allergy-reset-form { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.clinic-dashboard-page .allergy-actions button,
.clinic-dashboard-page .allergy-reset-form button { padding: 7px 9px; border: 1px solid #e5ebe6; border-radius: 8px; color: #59675e; background: #fff; font: inherit; font-size: 9px; cursor: pointer; }
.clinic-dashboard-page .allergy-actions button:hover,
.clinic-dashboard-page .allergy-reset-form button:hover { color: #176e4b; border-color: #cfe5d4; }
.clinic-dashboard-page .history-list { display: grid; }
.clinic-dashboard-page .history-list article { display: grid; gap: 5px; padding: 12px 0; border-top: 1px solid #eff2ef; }
.clinic-dashboard-page .history-list article > span { color: #78867d; font-size: 9px; }
.clinic-dashboard-page .history-list article > strong { color: #35453a; font-size: 11px; }
.clinic-dashboard-page .history-list article > strong a { color: #187a56; }
.clinic-dashboard-page .history-list article > p { margin: 0; color: #68766e; font-size: 10px; line-height: 1.55; white-space: pre-wrap; }
.clinic-dashboard-page .vitals-history { display: grid; }
.clinic-dashboard-page .vital-record { padding: 14px 0; border-top: 1px solid #eff2ef; }
.clinic-dashboard-page .vital-record-heading { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.clinic-dashboard-page .vital-record-heading strong { color: #3c4c41; font-size: 10px; }
.clinic-dashboard-page .vital-record-heading span { color: #859087; font-size: 9px; }
.clinic-dashboard-page .vital-values { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 9px; margin: 0; }
.clinic-dashboard-page .vital-values > div { display: grid; gap: 4px; padding: 8px; border-radius: 8px; background: #f7faf7; }
.clinic-dashboard-page .vital-values dt { color: #78847b; font-size: 8px; }
.clinic-dashboard-page .vital-values dd { margin: 0; color: #34463a; font-size: 10px; font-weight: 600; }
.clinic-dashboard-page .vital-record > p { margin: 9px 0 0; color: #68766e; font-size: 10px; line-height: 1.55; }
.clinic-dashboard-page .vital-entry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.clinic-dashboard-page .patient-edit-details .vital-entry-grid .clinic-field-wide { grid-column: 1 / -1; }
.clinic-page .patient-form-card { max-width: 800px; margin: 20px auto; }
.clinic-page .patient-form-card .registration-back { display: inline-flex; margin-bottom: 18px; color: #187a56; font-size: 11px; }
.clinic-page .patient-form-card h1 { margin: 14px 0 7px; color: #1c2a21; font-size: clamp(25px, 4vw, 34px); }
.clinic-page .patient-form-card > p { color: #6d7971; font-size: 11px; line-height: 1.6; }
.clinic-page .patient-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.clinic-page .patient-form-grid .clinic-field { min-width: 0; gap: 5px; }
.clinic-page .patient-form-grid .clinic-field label { color: #49584e; font-size: 10px; font-weight: 600; }
.clinic-page .patient-form-grid .clinic-field-wide { grid-column: 1 / -1; }
.clinic-page .patient-form-grid .clinic-field select { min-height: 37px; }
.clinic-page .patient-form-grid .clinic-field .dashboard-data-note { margin: 0; }
.clinic-page .patient-form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.clinic-page .patient-form-actions .button { min-height: 40px; font-size: 10px; }
.clinic-dashboard-page .appointment-patient-link { display: inline-flex; margin-top: 15px; }

.registration-page { width: min(860px, 100%); margin: 0 auto; padding: 10px 0 52px; }
.registration-back { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 26px; color: var(--muted); font-size: 13px; }
.registration-back:hover,
.registration-login-prompt a,
.registration-footer-link a { color: var(--green); }
.registration-intro { max-width: 690px; }
.registration-intro h1 { margin: 15px 0 10px; font-size: clamp(38px, 6vw, 58px); font-weight: 600; letter-spacing: -2.8px; line-height: 1.04; }
.registration-intro h1 span { color: var(--green); }
.registration-intro > p { max-width: 580px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.registration-intro .registration-login-prompt { margin: 12px 0 22px; font-size: 13px; }
.registration-login-prompt a,
.registration-footer-link a { font-weight: 600; }
.registration-trial { display: flex; align-items: center; gap: 16px; padding: 17px 20px; margin: 20px 0; border: 1px solid #294838; border-radius: 17px; background: #0f1b16; }
.registration-trial-number { width: 52px; height: 52px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid rgb(91 224 164 / 24%); border-radius: 16px; color: var(--green); background: rgb(91 224 164 / 10%); font-size: 20px; font-weight: 700; }
.registration-trial h2 { margin: 0 0 4px; font-size: 16px; letter-spacing: -.2px; }
.registration-trial p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.registration-form { padding: clamp(21px, 4vw, 36px); border: 1px solid var(--line); border-radius: 22px; background: #0f1b16; box-shadow: var(--shadow); }
.registration-section + .registration-section { padding-top: 27px; margin-top: 27px; border-top: 1px solid var(--line); }
.registration-section-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 21px; }
.registration-section-index { width: 32px; height: 32px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid rgb(91 224 164 / 24%); border-radius: 10px; color: var(--green); background: rgb(91 224 164 / 9%); font-size: 12px; font-weight: 700; }
.registration-section-heading h2 { margin: 1px 0 5px; font-size: 19px; letter-spacing: -.4px; }
.registration-section-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.registration-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; }
.registration-field { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.registration-field-wide { grid-column: 1 / -1; }
.registration-field > label,
.registration-specializations legend { color: #c1d0c7; font-size: 12px; font-weight: 600; }
.registration-location-note { color: var(--muted); font-size: 11px; line-height: 1.45; }
.registration-location-note.pin-status-match { color: #86efac; }
.registration-location-note.pin-status-mismatch { color: var(--muted); }
.registration-field > input,
.registration-field > textarea,
.registration-field > select,
.registration-field > input[type=search],
.registration-password input,
.registration-specialization-search input,
.registration-specialization-picker .specialization-control input {
  width: 100%;
  min-height: 45px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink);
  background: #09120e;
  font: inherit;
  font-size: 13px;
  transition: border-color .18s, box-shadow .18s;
}
.registration-field > textarea { min-height: 84px; resize: vertical; }
.registration-field > input::placeholder,
.registration-field > textarea::placeholder,
.registration-field > input[type=search]::placeholder,
.registration-password input::placeholder,
.registration-specialization-search input::placeholder,
.registration-specialization-picker .specialization-control input::placeholder { color: #81968b; }
.registration-field > input:focus,
.registration-field > textarea:focus,
.registration-field > select:focus,
.registration-field > input[type=search]:focus,
.registration-password input:focus,
.registration-specialization-search input:focus,
.registration-specialization-picker .specialization-control input:focus {
  border-color: var(--green);
  outline: 3px solid rgb(91 224 164 / 12%);
}
.phone-number-composite { min-width: 0; }
.phone-number-fields { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; }
.phone-country-field,
.phone-number-field { position: relative; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.phone-country-field > label,
.phone-number-field > label { color: var(--theme-secondary); font-size: 12px; font-weight: 600; }
.phone-country-field > select,
.phone-country-search,
.phone-number-field > input {
  width: 100%;
  min-height: 45px;
  padding: 10px 12px;
  border: 1px solid var(--theme-border);
  border-radius: 11px;
  color: var(--theme-text);
  background: var(--theme-control);
  font: inherit;
  font-size: 13px;
}
.phone-country-field > select:focus-visible,
.phone-country-search:focus-visible,
.phone-number-field > input:focus-visible {
  border-color: var(--theme-accent);
  outline: 3px solid color-mix(in srgb, var(--theme-accent) 20%, transparent);
  outline-offset: 1px;
}
.phone-country-options {
  position: absolute;
  z-index: 20;
  top: calc(100% + 3px);
  right: 0;
  left: 0;
  max-height: 260px;
  overflow: auto;
  padding: 5px;
  border: 1px solid var(--theme-border);
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow);
}
.phone-country-option {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 0;
  border-radius: 7px;
  color: var(--theme-text);
  background: transparent;
  font: inherit;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}
.phone-country-option:hover,
.phone-country-option:focus-visible { color: var(--theme-text); background: var(--theme-raised); outline: none; }
.phone-country-empty { display: block; padding: 10px; color: var(--theme-muted); font-size: 12px; }
.phone-country-empty[hidden] { display: none; }
.registration-specializations { min-width: 0; padding: 0; margin: 0; border: 0; }
.registration-specializations legend { padding: 0; margin-bottom: 10px; }
.registration-specializations legend span { color: var(--muted); font-size: 12px; font-weight: 400; }
.registration-specialization-picker { position: relative; min-width: 0; }
.registration-specialization-picker[hidden],
.specialization-menu[hidden] { display: none; }
.specialization-selected { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 7px; }
.specialization-selected:empty { display: none; }
.specialization-selected-chip { display: inline-flex; max-width: 100%; align-items: center; gap: 5px; padding: 4px 8px 4px 10px; border: 1px solid rgb(91 224 164 / 38%); border-radius: 99px; color: #bdebd2; background: rgb(91 224 164 / 10%); font-size: 11px; overflow-wrap: anywhere; }
.specialization-chip-remove { display: grid; width: 19px; height: 19px; flex: 0 0 auto; place-items: center; padding: 0; border: 0; border-radius: 50%; color: inherit; background: transparent; font: inherit; font-size: 16px; line-height: 1; cursor: pointer; }
.specialization-chip-remove:hover { background: rgb(91 224 164 / 14%); }
.specialization-control { position: relative; }
.registration-specialization-picker .specialization-control input { min-height: 48px; padding-right: 46px; }
.specialization-control input::-webkit-search-cancel-button { cursor: pointer; }
.specialization-toggle { position: absolute; top: 0; right: 0; width: 43px; height: 48px; border: 0; border-radius: 0 11px 11px 0; color: #d4e3db; background: transparent; font: inherit; font-size: 20px; cursor: pointer; }
.specialization-toggle:focus-visible { outline-offset: -4px; }
.specialization-menu { position: absolute; top: calc(100% + 5px); right: 0; left: 0; z-index: 30; padding: 5px; border: 1px solid #29483c; border-radius: 12px; color: #eef6f1; background: #0c2b23; box-shadow: 0 16px 36px rgb(0 0 0 / 35%); }
.specialization-option-list { max-height: min(360px, 55vh); overflow-y: auto; overscroll-behavior: contain; }
.specialization-option { display: flex; width: 100%; min-height: 37px; align-items: center; gap: 10px; padding: 7px 10px; border: 0; border-radius: 7px; color: inherit; background: transparent; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.specialization-option[hidden] { display: none; }
.specialization-option:hover,
.specialization-option:focus-visible { color: #eef6f1; background: #173a2e; outline: none; }
.specialization-option[aria-selected="true"] { color: #bdebd2; background: rgb(91 224 164 / 10%); }
.specialization-option-check { width: 17px; height: 17px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid #456257; border-radius: 4px; color: transparent; font-size: 12px; line-height: 1; }
.specialization-option[aria-selected="true"] .specialization-option-check { border-color: #5be0a4; color: #092016; background: #5be0a4; }
.specialization-clear { width: 100%; padding: 9px 10px 5px; margin-top: 4px; border: 0; border-top: 1px solid #29483c; color: #c1d0c7; background: transparent; font: inherit; font-size: 11px; text-align: left; cursor: pointer; }
.specialization-clear:hover { color: var(--green); }
.specialization-clear[hidden] { display: none; }
.registration-specialization-search { display: block; max-width: 340px; margin-bottom: 12px; }
.registration-specialization-search input { min-height: 40px; }
.registration-specialization-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.registration-specialization-scroll {
  max-height: 190px;
  overflow-y: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #09120e;
  overscroll-behavior: contain;
  scrollbar-color: #426650 #0f1b16;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.registration-specialization-scroll:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
.registration-specialization-scroll::-webkit-scrollbar { width: 9px; }
.registration-specialization-scroll::-webkit-scrollbar-track { border-radius: 9px; background: #0f1b16; }
.registration-specialization-scroll::-webkit-scrollbar-thumb { border: 2px solid #0f1b16; border-radius: 9px; background: #426650; }
.registration-specialization-scroll::-webkit-scrollbar-thumb:hover { background: var(--green); }
.registration-specialization-pill { position: relative; display: inline-flex; margin: 0; cursor: pointer; }
.registration-specialization-pill input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.registration-specialization-pill span { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: #09120e; font-size: 11px; font-weight: 500; transition: color .18s, background .18s, border-color .18s; }
.registration-specialization-pill input:checked + span { color: var(--green); border-color: rgb(91 224 164 / 38%); background: rgb(91 224 164 / 10%); }
.registration-specialization-pill input:focus-visible + span { outline: 3px solid var(--green); outline-offset: 2px; }
.registration-specialization-pill[hidden] { display: none; }
.registration-password { position: relative; }
.registration-password input { padding-right: 62px; }
.password-visibility-control { position: relative; width: 100%; }
.password-visibility-control input { padding-right: 52px !important; }
.password-visibility-toggle { position: absolute; top: 50%; right: 7px; display: grid; width: 38px; height: 38px; place-items: center; padding: 0; transform: translateY(-50%); border: 0; border-radius: 8px; color: var(--theme-secondary); background: transparent; cursor: pointer; }
.password-visibility-toggle:hover { color: var(--theme-text); background: var(--theme-subtle); }
.password-visibility-toggle:focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 1px; }
.password-visibility-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.registration-password .password-visibility-toggle { color: var(--green); }
.registration-password .password-visibility-toggle:hover { background: rgb(91 224 164 / 9%); }
.registration-submit-area { padding-top: 25px; margin-top: 26px; border-top: 1px solid var(--line); }
.registration-terms { display: flex; align-items: flex-start; gap: 10px; color: #c1d0c7; font-size: 12px; line-height: 1.55; cursor: pointer; }
.registration-terms input { width: 17px; height: 17px; flex: 0 0 auto; margin: 1px 0 0; accent-color: var(--green); }
.registration-submit { width: 100%; min-height: 52px; margin-top: 17px; font-size: 13px; }
.registration-submit-area > p { margin: 11px 0 0; color: var(--muted); font-size: 11px; text-align: center; }
.registration-footer-link { margin: 20px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.registration-page .clinic-error { color: #ffaaa1; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 620px) {
  .registration-page { padding-top: 4px; }
}

@media (max-width: 1080px) {
  .clinic-dashboard-page .dashboard-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-dashboard-page .dashboard-panel-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 761px) and (max-width: 1080px) {
  .clinic-dashboard-page .clinic-main-dashboard { width: calc(100% - 220px); margin-left: 220px; padding: 0 16px; }
  .clinic-dashboard-page .dashboard-sidebar { width: 220px; }
}
@media (max-width: 760px) {
  .clinic-dashboard-page .clinic-header { width: 100%; min-height: 68px; gap: 10px; padding: 0 16px; }
  .clinic-dashboard-page .clinic-header-context { width: calc(100% - 160px); }
  .clinic-dashboard-page .clinic-header-context strong { font-size: clamp(18px, 4vw, 26px); letter-spacing: -.4px; }
  .clinic-dashboard-page .clinic-main-dashboard { width: calc(100% - 28px); margin: 15px auto 64px; padding: 0; }
  .clinic-dashboard-page .clinic-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .clinic-dashboard-page .dashboard-sidebar { position: static; inset: auto; width: auto; padding: 0; overflow: visible; border: 0; background: transparent; }
  .clinic-dashboard-page .dashboard-sidebar details { padding: 0; }
  .clinic-dashboard-page .dashboard-sidebar summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 14px; color: #48574d; font-size: 11px; font-weight: 600; list-style: none; cursor: pointer; }
  .clinic-dashboard-page .dashboard-sidebar summary::-webkit-details-marker { display: none; }
  .clinic-dashboard-page .dashboard-sidebar nav { padding: 0 8px 10px; }
  .clinic-dashboard-page .sidebar-help { display: none; }
  .clinic-dashboard-page .dashboard-welcome { align-items: flex-start; flex-direction: column; gap: 13px; }
  .clinic-dashboard-page .dashboard-welcome h1 { font-size: 30px; }
  .clinic-dashboard-page .dashboard-action { min-height: 40px; }
  .clinic-dashboard-page .dashboard-panel { padding: 16px; }
  .clinic-dashboard-page .patient-profile-grid { grid-template-columns: minmax(0, 1fr); }
  .clinic-dashboard-page .vital-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 460px) {
  .clinic-dashboard-page .brand { gap: 6px; font-size: 19px; }
  .clinic-dashboard-page .brand img { width: 32px; height: 32px; }
  .clinic-dashboard-page .clinic-profile-menu > summary { gap: 6px; padding: 5px; }
  .clinic-dashboard-page .clinic-profile-avatar { width: 33px; height: 33px; }
  .clinic-dashboard-page .clinic-profile-copy { display: none; }
  .clinic-dashboard-page .clinic-profile-chevron { display: none; }
  .clinic-profile-specialization-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-dashboard-page .dashboard-stat-grid { gap: 8px; }
  .clinic-dashboard-page .dashboard-stat-card { padding: 12px; }
  .clinic-dashboard-page .dashboard-stat-card > span { font-size: 10px; }
  .clinic-dashboard-page .dashboard-stat-card > strong { font-size: 23px; }
  .clinic-dashboard-page .appointment-row { grid-template-columns: 54px minmax(0, 1fr); gap: 8px; padding: 8px 0; }
  .clinic-dashboard-page .appointment-status { grid-column: 2; justify-self: start; }
  .clinic-dashboard-page .doctor-profile-fields { grid-template-columns: 1fr; }
  .clinic-dashboard-page .doctor-row { flex-wrap: wrap; padding: 8px 0; }
  .clinic-dashboard-page .doctor-row .specialization-tags { width: 100%; margin-left: 45px; justify-content: flex-start; }
  .clinic-dashboard-page .appointment-detail-list { grid-template-columns: 1fr; gap: 14px; }
  .clinic-dashboard-page .appointment-filter-form { align-items: stretch; flex-direction: column; }
  .clinic-dashboard-page .appointment-filter-form .clinic-field { flex-basis: auto; }
  .clinic-dashboard-page .filter-actions { width: 100%; }
  .clinic-dashboard-page .filter-actions .button { min-height: 42px; flex: 1; font-size: 12px; }
  .clinic-page .patient-form-grid { grid-template-columns: 1fr; }
  .clinic-page .patient-form-grid .clinic-field-wide,
  .clinic-page .patient-form-actions { grid-column: 1; }
  .clinic-dashboard-page .vital-entry-grid { grid-template-columns: 1fr; }
  .clinic-dashboard-page .patient-edit-details .vital-entry-grid .clinic-field-wide { grid-column: 1; }
  .clinic-dashboard-page .vital-record-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
  .registration-back { margin-bottom: 21px; }
  .clinic-sso-signout { display: flex; justify-content: flex-end; margin: 0 0 14px; }
  .registration-intro h1 { letter-spacing: -2px; }
  .registration-intro > p { font-size: 14px; }
  .registration-trial { align-items: flex-start; padding: 15px; }
}

.clinic-dashboard-page {
  font-family: Manrope, system-ui, sans-serif;
  font-size: 14px;
}
.clinic-dashboard-page .clinic-header-context strong {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -.4px;
}
.clinic-dashboard-page .dashboard-sidebar details,
.clinic-dashboard-page .dashboard-stat-card,
.clinic-dashboard-page .dashboard-panel,
.clinic-dashboard-page .module-card {
  border-radius: 14px;
}
.clinic-dashboard-page .dashboard-welcome h1 { font-weight: 700; }
.clinic-dashboard-page .dashboard-panel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.clinic-dashboard-page .dashboard-welcome p,
.clinic-dashboard-page .dashboard-data-note,
.clinic-dashboard-page .appointment-person > span,
.clinic-dashboard-page .appointment-table td,
.clinic-dashboard-page .appointment-table td strong,
.clinic-dashboard-page .appointment-table td small,
.clinic-dashboard-page .clinic-profile-copy strong { font-size: 12px; }
.clinic-dashboard-page .dashboard-stat-card > span,
.clinic-dashboard-page .appointment-table th,
.clinic-dashboard-page .clinic-profile-copy small { font-size: 12px; }
.clinic-dashboard-page .dashboard-stat-card > strong { font-size: 28px; font-weight: 700; }
.clinic-dashboard-page .dashboard-stat-card > small,
.clinic-dashboard-page .panel-eyebrow,
.clinic-dashboard-page .panel-count,
.clinic-dashboard-page .clinic-header-context small { font-size: 11px; }
.clinic-dashboard-page .dashboard-sidebar nav a,
.clinic-dashboard-page .sidebar-logout button { font-size: 13px; font-weight: 600; }
.clinic-dashboard-page .dashboard-sidebar nav a { min-height: 44px; }
.clinic-dashboard-page .sidebar-navigation nav a { font-size: 15px; }
.clinic-dashboard-page .panel-heading h2 { font-size: 17px; font-weight: 700; }
.clinic-dashboard-page .appointment-tabs {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  margin: 0 0 16px;
  border-bottom: 1px solid var(--dash-border);
}
.clinic-dashboard-page .appointment-tabs a {
  padding: 11px 15px;
  border-bottom: 2px solid transparent;
  color: var(--dash-muted);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.clinic-dashboard-page .appointment-tabs a.is-current {
  border-color: var(--dash-accent);
  color: var(--dash-accent);
}
.clinic-dashboard-page .dashboard-welcome-actions,
.clinic-dashboard-page .panel-heading-actions,
.clinic-dashboard-page .module-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}
.clinic-dashboard-page .dashboard-week {
  display: flex;
  gap: 7px;
  margin: 0 0 12px;
}
.clinic-dashboard-page .dashboard-week-day {
  min-width: 43px;
  display: grid;
  flex: 1 1 0;
  gap: 3px;
  justify-items: center;
  padding: 8px 4px;
  border: 1px solid var(--dash-border);
  border-radius: 10px;
  color: var(--dash-muted);
  font-size: 11px;
}
.clinic-dashboard-page .dashboard-week-day strong { color: var(--dash-text); font-size: 15px; }
.clinic-dashboard-page .dashboard-week-day.is-selected {
  border-color: var(--dash-accent);
  color: var(--dash-on-accent);
  background: var(--dash-accent);
}
.clinic-dashboard-page .dashboard-week-day.is-selected strong { color: var(--dash-on-accent); }
.clinic-dashboard-page .activity-list { display: grid; }
.clinic-dashboard-page .activity-row {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid var(--dash-border);
}
.clinic-dashboard-page .activity-mark {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: var(--dash-accent);
  background: var(--dash-accent-soft);
  font-size: 18px;
  font-weight: 700;
}
.clinic-dashboard-page .activity-row > div { display: grid; gap: 3px; min-width: 0; }
.clinic-dashboard-page .activity-row strong { color: var(--dash-text); font-size: 12px; }
.clinic-dashboard-page .activity-row span:not(.activity-mark),
.clinic-dashboard-page .activity-row small { color: var(--dash-muted); font-size: 11px; }
.clinic-dashboard-page .module-form { display: grid; gap: 16px; }
.clinic-dashboard-page .module-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.clinic-dashboard-page .module-wide { grid-column: 1 / -1; }
.clinic-dashboard-page .module-form .clinic-field { display: grid; gap: 6px; min-width: 0; }
.clinic-dashboard-page .module-form .clinic-field label { color: var(--dash-muted); font-size: 12px; font-weight: 700; }
.clinic-dashboard-page .module-form input,
.clinic-dashboard-page .module-form select,
.clinic-dashboard-page .module-form textarea {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--dash-border);
  border-radius: 9px;
  color: var(--dash-text);
  background: var(--dash-input);
  font: inherit;
  font-size: 13px;
}
.clinic-dashboard-page .module-form textarea { min-height: 90px; resize: vertical; }
.clinic-dashboard-page .password-change-form { width: 100%; max-width: 760px; }
.clinic-dashboard-page .password-change-fields {
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  margin-top: 0;
}
.clinic-dashboard-page .password-change-fields .clinic-field,
.clinic-dashboard-page .password-change-fields .password-visibility-control { width: 100%; }
.clinic-dashboard-page .invoice-items { display: grid; gap: 10px; }
.clinic-dashboard-page .invoice-item-row {
  display: grid;
  grid-template-columns: minmax(180px, 2fr) minmax(80px, .7fr) minmax(120px, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 11px;
  border: 1px solid var(--dash-border);
  border-radius: 10px;
}
.clinic-dashboard-page .invoice-item-row .clinic-field { display: grid; gap: 5px; }
.clinic-dashboard-page .invoice-item-row label { color: var(--dash-muted); font-size: 11px; font-weight: 700; }
.clinic-dashboard-page .invoice-item-row input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 8px;
  border: 1px solid var(--dash-border);
  border-radius: 8px;
  color: var(--dash-text);
  background: var(--dash-input);
  font: inherit;
}
.clinic-dashboard-page .invoice-item-remove-field { display: flex; align-items: center; justify-content: center; gap: 5px; }
.clinic-dashboard-page .invoice-item-remove-field input[type="checkbox"] { position: absolute; width: 1px; min-width: 0; height: 1px; min-height: 0; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.clinic-dashboard-page .invoice-item-remove { width: 34px; min-width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--dash-border); border-radius: 9px; color: var(--dash-muted); background: var(--dash-input); font: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
.clinic-dashboard-page .invoice-item-remove:hover { border-color: #df8b8b; color: #b84747; background: rgb(223 139 139 / 12%); }
.clinic-dashboard-page .invoice-item-remove:focus-visible { outline: 3px solid rgb(23 181 122 / 42%); outline-offset: 2px; }
.clinic-dashboard-page .invoice-item-row[hidden] { display: none; }
.clinic-dashboard-page .invoice-meta { display: flex; flex-wrap: wrap; gap: 22px; margin-bottom: 20px; }
.clinic-dashboard-page .invoice-meta > div { display: grid; gap: 4px; min-width: 130px; }
.clinic-dashboard-page .invoice-meta span,
.clinic-dashboard-page .invoice-meta small { color: var(--dash-muted); font-size: 11px; }
.clinic-dashboard-page .invoice-meta strong { color: var(--dash-text); font-size: 13px; }
.clinic-dashboard-page .invoice-totals { width: min(390px, 100%); display: grid; gap: 9px; margin: 20px 0 0 auto; }
.clinic-dashboard-page .invoice-totals > div { display: flex; justify-content: space-between; gap: 15px; color: var(--dash-muted); font-size: 13px; }
.clinic-dashboard-page .invoice-totals dd { margin: 0; color: var(--dash-text); font-weight: 600; }
.clinic-dashboard-page .invoice-totals .invoice-total,
.clinic-dashboard-page .invoice-totals .invoice-balance { padding-top: 9px; border-top: 1px solid var(--dash-border); color: var(--dash-text); font-weight: 800; }
.clinic-dashboard-page .invoice-notes,
.clinic-dashboard-page .payment-form p,
.clinic-dashboard-page .module-empty,
.clinic-dashboard-page .report-period-note { color: var(--dash-muted); font-size: 12px; line-height: 1.6; }
.clinic-dashboard-page .module-section { margin-top: 16px; }
.clinic-dashboard-page .module-button { font-family: inherit; cursor: pointer; }
.clinic-dashboard-page .report-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 14px; }
.clinic-dashboard-page .report-trend-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 14px 0; }
.clinic-dashboard-page .report-trend-panel { min-width: 0; padding: 18px; }
.clinic-dashboard-page .report-trend-bars { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; gap: 5px; height: 170px; padding-top: 12px; }
.clinic-dashboard-page .report-trend-column { display: grid; grid-template-rows: 1fr auto; min-width: 0; height: 100%; gap: 7px; }
.clinic-dashboard-page .report-trend-bar-track { display: flex; align-items: end; justify-content: center; min-height: 0; }
.clinic-dashboard-page .report-trend-bar { display: block; width: min(18px, 72%); min-height: 0; border-radius: 5px 5px 2px 2px; }
.clinic-dashboard-page .report-appointment-bar { background: var(--dash-accent); }
.clinic-dashboard-page .report-patient-bar { background: #6d8fe8; }
.clinic-dashboard-page .report-trend-column small { overflow: hidden; color: var(--dash-muted); font-size: 9px; text-align: center; text-overflow: clip; }
.clinic-dashboard-page .appointment-status.status-paid,
.clinic-dashboard-page .appointment-status.status-completed { color: var(--dash-accent); background: var(--dash-accent-soft); }
.clinic-dashboard-page .appointment-status.status-partial,
.clinic-dashboard-page .appointment-status.status-waiting { color: #e8ba59; background: rgb(232 186 89 / 12%); }
.clinic-dashboard-page .appointment-status.status-unpaid,
.clinic-dashboard-page .appointment-status.status-cancelled { color: #f27c7c; background: rgb(242 124 124 / 12%); }
@media (max-width: 760px) {
  .clinic-dashboard-page .dashboard-panel-grid { grid-template-columns: minmax(0, 1fr); }
  .clinic-dashboard-page .report-trend-grid { grid-template-columns: minmax(0, 1fr); }
  .clinic-dashboard-page .dashboard-welcome-actions { width: 100%; }
  .clinic-dashboard-page .dashboard-welcome-actions .dashboard-action { flex: 1; justify-content: center; }
  .clinic-dashboard-page .invoice-item-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .clinic-dashboard-page .module-form-grid { grid-template-columns: 1fr; }
  .clinic-dashboard-page .module-wide { grid-column: auto; }
  .clinic-dashboard-page .report-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-dashboard-page .dashboard-week { gap: 4px; }
  .clinic-dashboard-page .dashboard-week-day { min-width: 0; padding: 7px 2px; }
  .clinic-dashboard-page .activity-row { grid-template-columns: 30px minmax(0, 1fr); }
  .clinic-dashboard-page .activity-row > a { grid-column: 2; justify-self: start; }
  .registration-trial-number { width: 46px; height: 46px; border-radius: 14px; }
  .registration-fields { grid-template-columns: 1fr; }
  .registration-field-wide { grid-column: 1; }
  .phone-number-fields { grid-template-columns: 1fr; gap: 12px; }
  .registration-form { padding: 21px 17px; border-radius: 18px; }
  .registration-specialization-pills { gap: 7px; }
}
  @media (max-width: 760px) {
    .clinic-schedule-page .clinic-period-fields,
    .clinic-schedule-page .clinic-closure-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

.subscription-badge { display: block; margin: 0 0 .75rem; padding: .45rem .75rem; border-radius: 999px; font-size: .85rem; font-weight: 600; text-align: center; text-decoration: none; background: #e7f5ee; color: #14532d; }
.subscription-badge-trial_expired, .subscription-badge-plan_expired { background: #fdecea; color: #8a1c1c; }
.subscription-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 1rem 0; }
.subscription-plan.is-selected { outline: 2px solid #1f7a5a; }
.subscription-price { font-size: 1.75rem; font-weight: 700; margin: .25rem 0; }
.subscription-price span { font-size: .9rem; font-weight: 400; }
.subscription-payment, .subscription-claims { margin-top: 1rem; }
.subscription-payment form { display: grid; gap: .75rem; margin-top: 1rem; max-width: 460px; }
.subscription-qr { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.subscription-qr-box { border: 2px dashed #4fd1c5; background: #f0fbf8; border-radius: 12px; padding: 1.25rem; text-align: center; max-width: 460px; }
.subscription-qr-box p { margin: .75rem 0 0; font-size: .85rem; color: #5b6b7b; }
.subscription-claims ul { list-style: none; margin: 0; padding: 0; }
.subscription-claims li { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.claim-status-approved { color: #14532d; }
.claim-status-rejected { color: #8a1c1c; }

.clinic-dashboard-page .billing-workspace [hidden] { display: none !important; }
.clinic-dashboard-page .billing-tabs { display: flex; gap: 8px; overflow-x: auto; padding: 5px 0 14px; margin-bottom: 16px; }
.clinic-dashboard-page .billing-tab { flex: 0 0 auto; padding: 10px 15px; border: 1px solid var(--dash-border); border-radius: 999px; color: var(--dash-muted); text-decoration: none; font-size: 13px; font-weight: 700; }
.clinic-dashboard-page .billing-tab:hover,
.clinic-dashboard-page .billing-tab.is-active { border-color: var(--dash-accent); color: var(--dash-accent); background: var(--dash-accent-soft); }
.clinic-dashboard-page .billing-filter-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 18px; margin-bottom: 16px; border: 1px solid var(--dash-border); border-radius: 16px; background: var(--dash-card); }
.clinic-dashboard-page .billing-filter-form .clinic-field { min-width: 0; }
.clinic-dashboard-page .billing-filter-actions { display: flex; align-items: end; gap: 8px; }
.clinic-dashboard-page .billing-filter-actions .dashboard-action { min-height: 42px; }
.clinic-dashboard-page .billing-columns { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: start; gap: 18px; }
.clinic-dashboard-page .billing-form-panel { min-width: 0; padding: 22px; }
.clinic-dashboard-page .billing-form-heading { margin-bottom: 18px; }
.clinic-dashboard-page .billing-form-heading h2 { margin: 5px 0; color: var(--dash-text); font-size: 22px; }
.clinic-dashboard-page .billing-form-heading p,
.clinic-dashboard-page .billing-payment-hint,
.clinic-dashboard-page .billing-preview-note { color: var(--dash-muted); font-size: 12px; line-height: 1.55; }
.clinic-dashboard-page .billing-patient-field { position: relative; z-index: 2; }
.clinic-dashboard-page .billing-search-control { position: relative; display: flex; align-items: center; }
.clinic-dashboard-page .billing-search-control input { width: 100%; min-width: 0; padding-right: 84px; }
.clinic-dashboard-page .billing-clear-search { position: absolute; right: 7px; width: 32px; height: 32px; border: 0; border-radius: 8px; color: var(--dash-muted); background: transparent; font-size: 20px; cursor: pointer; }
.clinic-dashboard-page .billing-search-loading { position: absolute; right: 43px; color: var(--dash-muted); font-size: 11px; }
.clinic-dashboard-page .billing-search-results { position: absolute; top: calc(100% - 17px); right: 0; left: 0; z-index: 5; max-height: 230px; overflow-y: auto; padding: 5px; margin: 0; border: 1px solid var(--dash-border); border-radius: 10px; background: var(--dash-card); box-shadow: 0 10px 30px rgb(0 0 0 / 14%); list-style: none; }
.clinic-dashboard-page .billing-search-results button { width: 100%; padding: 10px; border: 0; border-radius: 7px; color: var(--dash-text); background: transparent; text-align: left; cursor: pointer; }
.clinic-dashboard-page .billing-search-results button:hover,
.clinic-dashboard-page .billing-search-results button:focus-visible { background: var(--dash-accent-soft); outline: 2px solid var(--dash-accent); }
.clinic-dashboard-page .billing-search-empty { padding: 10px; color: var(--dash-muted); font-size: 13px; }
.clinic-dashboard-page .billing-selected-patient { min-height: 16px; margin: 5px 0 0; color: var(--dash-accent); font-size: 12px; }
.clinic-dashboard-page .billing-shared-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.clinic-dashboard-page .billing-type-fields { display: grid; gap: 12px; margin: 5px 0 14px; }
.clinic-dashboard-page .billing-price-fields { margin-top: 12px; }
.clinic-dashboard-page .billing-note-field { grid-column: 1 / -1; }
.clinic-dashboard-page .billing-select,
.clinic-dashboard-page .billing-workspace .clinic-field input,
.clinic-dashboard-page .billing-workspace .clinic-field textarea { max-width: 100%; }
.clinic-dashboard-page .billing-medicine-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--dash-border); border-radius: 10px; }
.clinic-dashboard-page .billing-medicine-table { width: 100%; min-width: 610px; border-collapse: collapse; }
.clinic-dashboard-page .billing-medicine-table th,
.clinic-dashboard-page .billing-medicine-table td { padding: 8px; border-bottom: 1px solid var(--dash-border); text-align: left; }
.clinic-dashboard-page .billing-medicine-table th { color: var(--dash-muted); font-size: 10px; text-transform: uppercase; }
.clinic-dashboard-page .billing-medicine-table td input { width: 100%; min-width: 60px; padding: 8px; border: 1px solid var(--dash-border); border-radius: 7px; color: var(--dash-text); background: var(--dash-input); font: inherit; }
.clinic-dashboard-page .billing-medicine-table td output { white-space: nowrap; color: var(--dash-text); font-size: 12px; }
.clinic-dashboard-page .billing-remove-medicine { width: 32px; height: 32px; border: 1px solid var(--dash-border); border-radius: 8px; color: var(--dash-muted); background: var(--dash-input); font-size: 20px; cursor: pointer; }
.clinic-dashboard-page .billing-remove-medicine:hover { color: #b84747; border-color: #df8b8b; }
.clinic-dashboard-page .billing-no-medicines { padding: 12px; margin: 0; color: var(--dash-muted); font-size: 12px; }
.clinic-dashboard-page .billing-add-medicine { justify-self: start; }
.clinic-dashboard-page .billing-submit-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 12px; }
.clinic-dashboard-page .billing-saving { color: var(--dash-muted); font-size: 12px; }
.clinic-dashboard-page .billing-preview-column { position: sticky; top: 16px; min-width: 0; }
.clinic-dashboard-page .billing-paper { padding: 24px; border: 1px solid #dce5df; border-radius: 14px; color: #1d2922; background: #fff; box-shadow: 0 10px 28px rgb(20 50 35 / 9%); }
.clinic-dashboard-page .billing-paper-header { display: flex; justify-content: space-between; gap: 15px; }
.clinic-dashboard-page .billing-clinic-brand { display: flex; min-width: 0; align-items: flex-start; gap: 10px; }
.clinic-dashboard-page .billing-clinic-mark { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; border-radius: 12px; color: #fff; background: #13805a; font-weight: 800; }
.clinic-dashboard-page .billing-clinic-brand h2 { margin: 0 0 5px; font-size: 16px; }
.clinic-dashboard-page .billing-clinic-brand p { margin: 2px 0; color: #637168; font-size: 10px; line-height: 1.45; }
.clinic-dashboard-page .billing-paper-number { display: grid; flex: 0 0 auto; align-content: start; gap: 4px; text-align: right; }
.clinic-dashboard-page .billing-paper-number span,
.clinic-dashboard-page .billing-paper-patient span { color: #637168; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.clinic-dashboard-page .billing-paper-number strong { font-size: 11px; }
.clinic-dashboard-page .billing-paper-number small { color: #637168; font-size: 10px; }
.clinic-dashboard-page .billing-paper-rule { height: 2px; margin: 16px 0; background: #13805a; }
.clinic-dashboard-page .billing-paper-patient { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.clinic-dashboard-page .billing-paper-patient > div { display: grid; gap: 4px; min-width: 0; }
.clinic-dashboard-page .billing-paper-patient strong { overflow-wrap: anywhere; font-size: 11px; }
.clinic-dashboard-page .billing-paper-items { width: 100%; border-collapse: collapse; }
.clinic-dashboard-page .billing-paper-items th,
.clinic-dashboard-page .billing-paper-items td { padding: 8px 4px; border-bottom: 1px solid #e8eee9; text-align: left; font-size: 11px; }
.clinic-dashboard-page .billing-paper-items th:last-child,
.clinic-dashboard-page .billing-paper-items td:last-child { text-align: right; white-space: nowrap; }
.clinic-dashboard-page .billing-paper-items th { color: #637168; font-size: 9px; text-transform: uppercase; }
.clinic-dashboard-page .billing-paper-totals { display: grid; gap: 7px; max-width: 270px; margin: 14px 0 14px auto; }
.clinic-dashboard-page .billing-paper-totals > div { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.clinic-dashboard-page .billing-paper-totals dt { color: #637168; }
.clinic-dashboard-page .billing-paper-totals dd { margin: 0; font-weight: 600; }
.clinic-dashboard-page .billing-paper-totals .billing-paper-grand { padding-top: 8px; border-top: 1px solid #dce5df; font-size: 13px; font-weight: 800; }
.clinic-dashboard-page .billing-paper-totals .billing-paper-outstanding { color: #a63c3c; font-weight: 700; }
.clinic-dashboard-page .billing-paper-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px solid #e8eee9; }
.clinic-dashboard-page .billing-paper-footer p { margin: 0; color: #637168; font-size: 10px; }
.clinic-dashboard-page .billing-status-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #637168; background: #edf1ee; font-size: 10px; font-weight: 800; }
.clinic-dashboard-page .billing-status-badge.status-paid { color: #126443; background: #dcefe3; }
.clinic-dashboard-page .billing-status-badge.status-partial { color: #8a6417; background: #fff3d3; }
.clinic-dashboard-page .billing-status-badge.status-unpaid,
.clinic-dashboard-page .billing-status-badge.status-invalid { color: #9c3434; background: #fde7e7; }
.clinic-dashboard-page .billing-history-table td small { display: block; color: var(--dash-muted); }
.clinic-dashboard-page .billing-row-actions { white-space: nowrap; }
.clinic-dashboard-page .billing-row-actions a { margin-right: 8px; }
.clinic-dashboard-page .billing-history-table code { color: var(--dash-text); font-size: 11px; }
.clinic-dashboard-page .billing-preview-note { margin: 10px 2px; }
.clinic-dashboard-page .billing-workspace :focus-visible { outline: 3px solid var(--dash-accent); outline-offset: 2px; }
.clinic-dashboard-page .invoice-print-header { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 15px; margin-bottom: 20px; border-bottom: 2px solid var(--dash-accent); }
.clinic-dashboard-page .invoice-print-header > div:first-child { position: relative; padding-left: 52px; }
.clinic-dashboard-page .invoice-print-header .billing-clinic-mark { position: absolute; top: 0; left: 0; }
.clinic-dashboard-page .invoice-print-header h2 { margin: 0 0 6px; color: var(--dash-text); font-size: 17px; }
.clinic-dashboard-page .invoice-print-header p { margin: 3px 0; color: var(--dash-muted); font-size: 11px; }
.clinic-dashboard-page .invoice-print-number { display: grid; align-content: start; gap: 5px; color: var(--dash-muted); font-size: 11px; text-align: right; }
.clinic-dashboard-page .invoice-print-number strong { color: var(--dash-text); font-size: 14px; }
.clinic-dashboard-page .invoice-print-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding-top: 14px; margin-top: 18px; border-top: 1px solid var(--dash-border); color: var(--dash-text); font-size: 11px; }
.clinic-dashboard-page .invoice-print-footer p { width: 100%; margin: 3px 0 0; color: var(--dash-muted); text-align: center; }
.clinic-dashboard-page .billing-email-dialog { width: min(520px, calc(100% - 24px)); max-width: 520px; max-height: min(90vh, 760px); padding: 0; overflow-y: auto; border: 1px solid var(--dash-border); border-radius: 16px; color: var(--dash-text); background: var(--dash-card); box-shadow: 0 24px 80px rgb(0 0 0 / 28%); }
.clinic-dashboard-page .billing-email-dialog::backdrop { background: rgb(4 13 9 / 65%); backdrop-filter: blur(2px); }
.clinic-dashboard-page .billing-email-form { display: grid; gap: 14px; padding: 22px; }
.clinic-dashboard-page .billing-email-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.clinic-dashboard-page .billing-email-heading h2 { margin: 5px 0 0; color: var(--dash-text); }
.clinic-dashboard-page .billing-email-form > p { margin: 0; color: var(--dash-muted); font-size: 12px; line-height: 1.5; }
.clinic-dashboard-page .billing-dialog-close { width: 36px; height: 36px; border: 1px solid var(--dash-border); border-radius: 9px; color: var(--dash-muted); background: var(--dash-input); font-size: 22px; cursor: pointer; }
.clinic-dashboard-page .billing-email-actions { display: flex; flex-wrap: wrap; gap: 9px; }
@media (max-width: 900px) {
  .clinic-dashboard-page .billing-columns { grid-template-columns: minmax(0, 1fr); }
  .clinic-dashboard-page .billing-preview-column { position: static; }
}
@media (max-width: 680px) {
  .clinic-dashboard-page .billing-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clinic-dashboard-page .billing-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .clinic-dashboard-page .billing-filter-form,
  .clinic-dashboard-page .billing-shared-fields { grid-template-columns: minmax(0, 1fr); }
  .clinic-dashboard-page .billing-filter-actions { flex-wrap: wrap; }
  .clinic-dashboard-page .billing-filter-actions .dashboard-action { flex: 1; }
  .clinic-dashboard-page .billing-form-panel,
  .clinic-dashboard-page .billing-paper { padding: 16px; }
  .clinic-dashboard-page .billing-paper-header { flex-direction: column; }
  .clinic-dashboard-page .billing-paper-number { text-align: left; }
  .clinic-dashboard-page .invoice-print-header { flex-direction: column; }
  .clinic-dashboard-page .invoice-print-number { text-align: left; }
}
@media print {
  @page { size: A4; margin: 12mm; }
  body.clinic-page { min-height: 0; color: #17221c; background: #fff !important; }
  body.clinic-page * { visibility: hidden !important; }
  body.clinic-page .invoice-printable,
  body.clinic-page .invoice-printable * { visibility: visible !important; }
  body.clinic-page .invoice-printable { position: absolute !important; top: 0; left: 0; width: 100%; padding: 0 !important; border: 0 !important; border-radius: 0 !important; color: #17221c !important; background: #fff !important; box-shadow: none !important; }
  body.clinic-page .invoice-print-header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 14px; margin-bottom: 18px; border-bottom: 2px solid #13805a; }
  body.clinic-page .invoice-print-header h2 { margin: 0 0 5px; font-size: 17px; }
  body.clinic-page .invoice-print-header p { margin: 3px 0; color: #46564c; font-size: 10px; }
  body.clinic-page .invoice-print-number { display: grid; align-content: start; gap: 4px; text-align: right; font-size: 10px; }
  body.clinic-page .invoice-print-number strong { font-size: 13px; }
  body.clinic-page .invoice-printable .invoice-meta { margin-bottom: 18px; }
  body.clinic-page .invoice-printable .invoice-meta span,
  body.clinic-page .invoice-printable .invoice-meta small { color: #46564c; }
  body.clinic-page .invoice-printable .invoice-meta strong,
  body.clinic-page .invoice-printable .invoice-totals dd,
  body.clinic-page .invoice-printable .invoice-totals dt { color: #17221c; }
  body.clinic-page .invoice-printable .appointment-table-wrap { overflow: visible; }
  body.clinic-page .invoice-printable .appointment-table { width: 100%; border-collapse: collapse; }
  body.clinic-page .invoice-printable .appointment-table th,
  body.clinic-page .invoice-printable .appointment-table td { padding: 8px; border-bottom: 1px solid #d6e2db; color: #17221c; font-size: 10px; }
  body.clinic-page .invoice-printable .invoice-print-footer { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding-top: 12px; margin-top: 20px; border-top: 1px solid #d6e2db; color: #17221c; font-size: 10px; }
  body.clinic-page .invoice-printable .invoice-print-footer p { grid-column: 1 / -1; margin: 0; color: #46564c; }
}
