.workspace-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; min-height:76px; box-sizing:border-box; padding:14px 18px; border-top:1px solid #e4ebf3; background:#fff; color:#405d77; font-size:13px; }
.workspace-pagination[hidden], .workspace-page-region [hidden], [data-section-count][hidden] { display:none !important; }
.clinic-sidebar { overflow:hidden; }
.clinic-sidebar nav { display:flex; flex-direction:column; flex:1; min-height:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; }
/* Hide only sidebar scrollbars; overflow remains scrollable. */
.clinic-sidebar nav, .admin-nav { scrollbar-width:none; -ms-overflow-style:none; }
.clinic-sidebar nav::-webkit-scrollbar, .admin-nav::-webkit-scrollbar { display:none; width:0; height:0; }
.clinic-sidebar .clinic-nav, .clinic-sidebar .clinic-brand, .clinic-sidebar .clinic-nav-label, .clinic-sidebar-bottom, .clinic-logout { flex-shrink:0; }
.clinic-sidebar-bottom { margin-top:0; padding-top:14px; }
.clinic-topbar { padding-top:12px; padding-bottom:12px; }
.clinic-top-start { min-width:0; }
.clinic-topbar > .clinic-top-actions { flex-shrink:0; }
.clinic-header-clock { display:block; min-width:152px; box-sizing:border-box; padding:9px 14px; border:1px solid #dfe7f0; border-radius:11px; background:#f8fafc; }
.clinic-clock { display:flex; align-items:center; gap:14px; text-align:left; }
.clinic-clock time { display:block; font-variant-numeric:tabular-nums; white-space:nowrap; }
.clinic-clock [data-clinic-clock-date] { color:#64758b; font-size:11px; font-weight:500; line-height:1.3; letter-spacing:.02em; }
.clinic-clock [data-clinic-clock-time] { padding-left:14px; border-left:1px solid #dfe7f0; color:#193a56; font-size:16px; font-weight:700; line-height:1.25; letter-spacing:.025em; }
.header-notification-count { position:absolute; top:-7px; right:-7px; min-width:19px; height:19px; font-size:9px; }
.admin-search[hidden] { display:none !important; }
.clinic-message-search { display:flex; flex-direction:column; gap:7px; padding:14px; color:#405d77; font-size:12px; border-bottom:1px solid #dfe7f0; }
.clinic-message-search input { min-width:0; width:100%; padding:9px; border:1px solid #d8e3ef; border-radius:8px; }
.clinic-thread-context { flex:none; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid #e4ebf3; overflow-wrap:anywhere; }
.clinic-thread-context h3 { font-size:14px; margin:0 0 5px; }
.clinic-thread-context p { font-size:12px; color:#53677c; margin:0; }
.workspace-pagination label, .page-buttons { display:flex; align-items:center; gap:9px; }
.workspace-pagination button, .workspace-pagination select { min-height:36px; padding:6px 10px; border:1px solid #d8e3ef; border-radius:8px; background:#fff; color:#254766; font:inherit; }
.workspace-pagination button:disabled { opacity:.45; cursor:default; }
.workspace-pagination button:focus-visible, .workspace-pagination select:focus-visible { outline:3px solid #8db9f5; outline-offset:2px; }
.workspace-page-region { height:clamp(280px,56dvh,520px); min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.workspace-overview-grid { align-items:stretch; }
.workspace-overview-panel { height:clamp(460px,64dvh,580px); display:flex; flex-direction:column; min-height:0; min-width:0; box-sizing:border-box; overflow:hidden; }
.workspace-overview-panel > .clinic-panel-head { min-height:96px; box-sizing:border-box; flex-shrink:0; }
.workspace-overview-panel > .admin-card-head { min-height:64px; flex-shrink:0; }
.workspace-overview-panel > .workspace-overview-body { flex:1; height:auto; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; }
.workspace-overview-body > .clinic-table-wrap { overflow:visible; }
.workspace-overview-body:focus-visible { outline:2px solid #8db9f5; outline-offset:-2px; }
.workspace-overview-panel > .workspace-pagination { flex:none; height:104px; min-height:104px; align-content:center; gap:9px; }
.workspace-overview-panel > .workspace-pagination > label { display:none; }
.workspace-overview-panel .workspace-pagination .page-summary { width:100%; font-size:12px; }
.workspace-overview-panel .workspace-pagination .page-buttons { width:100%; justify-content:space-between; gap:6px; }
.workspace-overview-panel .workspace-pagination button { min-height:40px; }
.workspace-overview-chart .admin-chart { min-height:100%; padding:4px 0 0; justify-content:flex-start; box-sizing:border-box; }
.workspace-overview-cards .clinic-card { display:flex; flex-direction:column; }
.workspace-overview-cards .clinic-card > p:last-of-type { margin-bottom:17px; }
.workspace-overview-cards .clinic-card > .clinic-button { align-self:flex-start; margin-top:auto; }
.workspace-overview-cards .clinic-card-actions { margin-top:auto; padding-top:3px; }
.workspace-filter-empty { padding:48px 20px; text-align:center; color:#64758b; font-size:13px; line-height:1.6; }
.queue-overview-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.queue-overview-metric { --metric-accent:#1769e0; min-width:0; min-height:154px; display:flex; flex-direction:column; padding:18px 20px; border:1px solid #dfe7f0; border-top:3px solid var(--metric-accent); border-radius:12px; background:#fff; box-sizing:border-box; }
.queue-metric-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:15px; }
.queue-metric-label { color:#405d77; font-size:13px; font-weight:600; }
.queue-metric-head svg { width:21px; height:21px; flex-shrink:0; color:var(--metric-accent); }
.queue-overview-metric strong { display:block; font-size:34px; line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; color:#172f48; }
.queue-overview-metric small { display:block; margin-top:auto; padding-top:12px; color:#53677c; font-size:12px; line-height:1.5; }
.queue-overview-metric.called { --metric-accent:#d58a22; }
.queue-overview-metric.in_service, .queue-overview-metric.in_progress { --metric-accent:#0c8f87; }
.queue-overview-metric.overdue { --metric-accent:#c74a58; }
.queue-overview-metric.completed { --metric-accent:#4b9c6e; }
.queue-overview-filters select, .clinic-task-filters select { min-width:150px; }
.clinic-task-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:16px; padding:16px; background:#f6f9fd; box-sizing:border-box; }
.clinic-task-list > .workspace-filter-empty, .clinic-task-list > .clinic-empty { grid-column:1/-1; }
.clinic-list-item.clinic-task-card { display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; gap:18px; min-width:0; padding:20px; border:1px solid #dfe7f0; border-radius:12px; background:#fff; box-shadow:0 3px 10px #0c2e4d05; }
.clinic-task-card.is-overdue { border-left:3px solid #c74a58; }
.clinic-task-badges { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:12px; }
.clinic-task-card h3 { font-size:16px; line-height:1.45; margin:0 0 8px; overflow-wrap:anywhere; }
.clinic-task-card .clinic-task-description { margin:0 0 18px; color:#536a80; font-size:13px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.clinic-task-meta { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:14px; margin:0; }
.clinic-task-meta dt { margin-bottom:5px; color:#53677c; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.clinic-task-meta dd { margin:0; color:#29455f; font-size:13px; font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
.clinic-task-meta dd.is-overdue { color:#af3345; }
.clinic-task-footer { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid #edf1f6; padding-top:14px; }
.clinic-task-footer label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.clinic-task-footer label > span, .clinic-task-footer small { color:#53677c; font-size:12px; }
.clinic-task-footer select { min-height:38px; min-width:140px; background:#fff; }
.clinic-badge.overdue { color:#b22f43; background:#fff0f2; }
.clinic-mini-brand { display:block; width:28px; height:28px; flex:0 0 auto; border-radius:8px; }
.clinic-profile-grid { align-items:stretch; margin-bottom:22px; }
.clinic-profile-grid > .clinic-panel { min-width:0; margin-bottom:0; }
.clinic-password-panel, .admin-password-card { border:1px solid #d8e4f1; border-top:3px solid #1769e0; border-radius:15px; }
.clinic-password-panel { display:flex; flex-direction:column; }
.clinic-password-panel > .clinic-panel-head { background:#f8fbff; }
.clinic-password-panel > .clinic-panel-body { display:flex; flex-direction:column; flex:1; }
.clinic-password-panel .clinic-form { display:flex; flex-direction:column; flex:1; width:100%; }
.clinic-password-panel .clinic-form-footer { margin-top:auto; }
.clinic-password-panel .clinic-field > span:first-child { font-weight:600; }
.clinic-password-panel .strength, .admin-password-card .strength { margin:0; padding:16px; border:1px solid #e1e9f3; border-radius:10px; background:#f8fafc; }
.clinic-password-panel .strength .req-list, .admin-password-card .strength .req-list { gap:9px 12px; font-size:11px; }
.clinic-password-setup { margin-bottom:18px; line-height:1.6; }
.admin-password-card > .admin-card-head { padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid #e4ebf3; }
.admin-password-card .admin-password-fields { gap:18px; align-items:start; }
.admin-password-card .admin-modal-actions { margin-top:20px; padding-top:18px; border-top:1px solid #e4ebf3; }
.clinic-reminders-panel { margin-top:28px; }
.clinic-reminder-list { display:flex; flex-direction:column; gap:16px; padding:20px; background:#f8fafc; }
.clinic-list-item.clinic-reminder-card { display:grid; grid-template-columns:155px minmax(0,1fr); align-items:start; flex-shrink:0; gap:20px; padding:20px; border:1px solid #dfe7f0; border-radius:12px; background:#fff; }
.clinic-reminder-card.is-overdue { border-left:3px solid #d59b43; }
.clinic-reminder-date { display:flex; flex-direction:column; gap:7px; padding:14px; border-radius:9px; background:#edf5ff; }
.clinic-reminder-date span { color:#405d77; font-size:12px; line-height:1.5; }
.clinic-reminder-date strong { color:#17466e; font-size:15px; line-height:1.5; }
.clinic-reminder-main { min-width:0; }
.clinic-reminder-heading { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.clinic-reminder-heading h3 { flex:1 1 180px; margin:0; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.clinic-reminder-heading .clinic-actions { gap:6px; }
.clinic-reminder-main .clinic-reminder-doctor { margin:8px 0 0; color:#53677c; font-size:12px; }
.clinic-reminder-main .clinic-reminder-instructions { margin:14px 0 0; color:#415c75; font-size:13px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.clinic-followup-hint { display:block; margin-top:12px; color:#53677c; font-size:12px; font-weight:400; line-height:1.6; }
.clinic-reminder-actions { margin-top:18px; padding-top:16px; border-top:1px solid #e9eef5; }
.clinic-record-followup { padding:14px; border:1px solid #dce8f6; border-radius:10px; background:#f4f8fd; }
.workspace-page-region table thead { position:sticky; top:0; z-index:1; }
.clinic-notice { margin-bottom:24px; padding:22px; border:1px solid #b8d6f8; border-left:5px solid #1769e0; border-radius:13px; background:#edf5ff; color:#254766; }
.clinic-notice h2 { margin:0 0 9px; font-size:19px; color:#103859; }
.clinic-notice p { line-height:1.65; margin:0 0 10px; }
.clinic-notice ol { margin:10px 0 16px; padding-left:22px; line-height:1.8; }
.clinic-notice .clinic-actions { margin-top:14px; }
.clinic-steps { display:flex; flex-wrap:wrap; gap:10px 22px; padding:16px 20px; margin-bottom:22px; border:1px solid #dce7f3; border-radius:12px; background:#fff; list-style:none; color:#456079; font-size:12px; counter-reset:steps; }
.clinic-steps li { counter-increment:steps; display:flex; align-items:center; gap:8px; }
.clinic-steps li::before { content:counter(steps); background:#eaf2ff; color:#1769e0; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; font-weight:700; }
.clinic-thread-layout { height: min(76dvh, 760px); min-height:510px; }
.clinic-thread-sidebar { min-height:0; display:flex; flex-direction:column; border-right:1px solid #dfe7f0; }
.clinic-thread-sidebar .clinic-thread-list { flex:1; min-height:0; overflow:auto; border-right:0; }
.clinic-thread-sidebar .workspace-page-region { height:auto; }
.clinic-thread-sidebar .workspace-pagination { min-height:100px; padding:10px; gap:8px; font-size:11px; flex-shrink:0; }
.clinic-thread-sidebar .workspace-pagination label { display:none; }
.clinic-thread-body { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.clinic-chat-log { flex:1; min-height:100px; max-height:none; }
.clinic-thread-body .clinic-form { flex:none; }
.clinic-thread-body textarea { min-height:70px; max-height:130px; }
.clinic-thread-body .clinic-form-footer { margin-top:12px; padding-top:12px; }
.clinic-thread-body .clinic-field { margin-bottom:10px; }
@media (max-width:1180px) {
  .workspace-overview-chart { height:275px; }
}
@media (max-width:680px) {
  .clinic-topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 12px; padding:12px 16px; }
  .clinic-topbar > .clinic-top-actions { display:contents; }
  .clinic-topbar #clinicRefresh { grid-column:2; grid-row:1; }
  .clinic-header-clock { grid-column:1/-1; grid-row:2; min-width:0; }
  .clinic-clock { justify-content:center; }
  .workspace-overview-panel { height:clamp(480px,68dvh,550px); }
  .workspace-overview-chart { height:275px; }
  [data-owner-overview="appointments"] .admin-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  [data-owner-overview="appointments"] .admin-table tbody, [data-owner-overview="appointments"] .admin-table tr, [data-owner-overview="appointments"] .admin-table td { display:block; }
  [data-owner-overview="appointments"] .admin-table tr { padding:12px 0; border-bottom:1px solid #e4ebf3; }
  [data-owner-overview="appointments"] .admin-table td { padding:7px 3px; border:0; overflow-wrap:anywhere; }
  [data-owner-overview="appointments"] .admin-table td::before { content:attr(data-label); display:block; margin-bottom:5px; color:#77899c; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
  .workspace-overview-panel .admin-person { min-width:0; }
  .workspace-overview-panel .admin-person small { white-space:normal; overflow-wrap:anywhere; }
  .queue-overview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .queue-overview-metric { min-height:146px; padding:15px; }
  .queue-overview-metric strong { font-size:30px; }
  .queue-metric-head { gap:6px; }
  .queue-metric-label { font-size:11px; }
  .queue-metric-head svg { width:18px; height:18px; }
  .clinic-reminder-list { padding:12px; }
  .clinic-list-item.clinic-reminder-card { grid-template-columns:minmax(0,1fr); gap:16px; padding:16px; }
  .clinic-reminder-actions { align-items:stretch; }
  .clinic-reminder-actions .clinic-button { flex:1 1 130px; }
  .queue-overview-filters select, .clinic-task-filters select { flex:1; width:100%; min-width:0; }
  .clinic-task-list { grid-template-columns:minmax(0,1fr); padding:12px; gap:12px; }
  .clinic-list-item.clinic-task-card { padding:17px; }
  .clinic-task-meta { grid-template-columns:minmax(0,1fr); gap:12px; }
  .workspace-pagination { min-height:112px; padding:12px; font-size:11px; gap:10px; }
  .workspace-pagination .page-summary { width:100%; }
  .page-buttons { gap:6px; }
  .workspace-page-region { height:clamp(300px,62dvh,540px); min-height:0; overflow:auto; }
  .clinic-thread-layout { height:auto; min-height:0; }
  .clinic-thread-sidebar { height:290px; max-height:290px; border-right:0; border-bottom:1px solid #dfe7f0; }
  .clinic-thread-sidebar .clinic-thread-list { max-height:none; }
  .clinic-thread-body { height:550px; max-height:85dvh; }
  .clinic-notice { padding:18px; }
  .clinic-notice h2 { font-size:17px; }
}
@media (max-width:600px) {
  .workspace-overview-body .clinic-table thead { position:absolute; }
}
