:root {

  /* ── Brand Palette ─────────────────────────────────────────────────────
     Edit ONLY these 11 values to retheme the entire portal.
     ─────────────────────────────────────────────────────────────────── */
  --portal-color-brand-primary:       #2563EB;   /* Blue — buttons, links          */
  --portal-color-brand-primary-hover: #1D4ED8;   /* Blue (hover / pressed)         */
  --portal-color-brand-primary-soft:  #EFF6FF;   /* Blue (light background tint)   */
  --portal-color-page-bg:             #F8FAFC;   /* Page / section background      */
  --portal-color-surface:             #FFFFFF;   /* Card / panel background        */
  --portal-color-text:                #0F172A;   /* Primary text                   */
  --portal-color-text-soft:           #64748B;   /* Secondary / muted text         */
  --portal-color-border:              #E2E8F0;   /* Borders, dividers              */
  --portal-color-success:             #16A34A;   /* Success / green                */
  --portal-color-warning:             #D97706;   /* Warning / amber                */
  --portal-color-danger:              #DC2626;   /* Error / red                    */

  /* ── Aliases — do NOT add hex here; reference palette vars above ───── */
  --portal-color-white:              var(--portal-color-surface);
  --portal-color-black:              var(--portal-color-text);
  --portal-color-brand-primary-deep: var(--portal-color-brand-primary-hover);
  --portal-color-brand-accent:       var(--portal-color-success);
  --portal-color-brand-ring:         color-mix(in srgb, var(--portal-color-brand-primary) 24%, transparent);

  --portal-color-info:               var(--portal-color-brand-primary);
  --portal-color-info-surface:       var(--portal-color-brand-primary-soft);
  --portal-color-left-panel-bg:      var(--portal-color-brand-primary);
  --portal-color-left-panel-bg-active: var(--portal-color-brand-primary-hover);
  --portal-color-left-panel-text:    var(--portal-color-surface);
  --portal-color-table-head:         var(--portal-color-brand-primary-hover);
  --portal-color-table-border:       var(--portal-color-brand-primary-hover);

  --portal-color-success-surface:    color-mix(in srgb, var(--portal-color-success) 12%, var(--portal-color-surface));
  --portal-color-danger-surface:     color-mix(in srgb, var(--portal-color-danger) 12%, var(--portal-color-surface));
  --portal-color-warning-surface:    color-mix(in srgb, var(--portal-color-warning) 12%, var(--portal-color-surface));

  --portal-color-text-strong:        var(--portal-color-text);
  --portal-color-text-muted:         var(--portal-color-text-soft);
  --portal-color-text-subtle:        var(--portal-color-text-soft);
  --portal-color-muted:              var(--portal-color-text-soft);

  --portal-color-border-strong:      var(--portal-color-border);
  --portal-color-surface-soft:       var(--portal-color-page-bg);
  --portal-font-sans:                "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --portal-color-purple:             var(--portal-color-brand-primary-hover);
  --portal-color-brand-surface-08:   color-mix(in srgb, var(--portal-color-brand-primary) 8%, var(--portal-color-surface));
  --portal-color-brand-surface-12:   color-mix(in srgb, var(--portal-color-brand-primary) 12%, var(--portal-color-surface));
  --portal-color-brand-border-18:    color-mix(in srgb, var(--portal-color-brand-primary) 18%, transparent);
  --portal-color-brand-border-26:    color-mix(in srgb, var(--portal-color-brand-primary) 26%, transparent);
  --portal-color-danger-surface-16:  color-mix(in srgb, var(--portal-color-danger) 16%, var(--portal-color-surface));
  --portal-color-danger-border-18:   color-mix(in srgb, var(--portal-color-danger) 18%, transparent);
  --portal-color-danger-border-26:   color-mix(in srgb, var(--portal-color-danger) 26%, transparent);
  --portal-color-overlay-04:         color-mix(in srgb, var(--portal-color-text) 4%, transparent);
  --portal-color-overlay-05:         color-mix(in srgb, var(--portal-color-text) 5%, transparent);
  --portal-color-overlay-07:         color-mix(in srgb, var(--portal-color-text) 7%, transparent);
  --portal-color-overlay-08:         color-mix(in srgb, var(--portal-color-text) 8%, transparent);
  --portal-color-overlay-09:         color-mix(in srgb, var(--portal-color-text) 9%, transparent);
  --portal-color-overlay-10:         color-mix(in srgb, var(--portal-color-text) 10%, transparent);
  --portal-color-overlay-12:         color-mix(in srgb, var(--portal-color-text) 12%, transparent);
  --portal-color-overlay-14:         color-mix(in srgb, var(--portal-color-text) 14%, transparent);
  --portal-color-overlay-15:         color-mix(in srgb, var(--portal-color-text) 15%, transparent);
  --portal-color-overlay-16:         color-mix(in srgb, var(--portal-color-text) 16%, transparent);
  --portal-color-overlay-18:         color-mix(in srgb, var(--portal-color-text) 18%, transparent);
  --portal-color-overlay-20:         color-mix(in srgb, var(--portal-color-text) 20%, transparent);
  --portal-color-overlay-22:         color-mix(in srgb, var(--portal-color-text) 22%, transparent);
  --portal-color-overlay-24:         color-mix(in srgb, var(--portal-color-text) 24%, transparent);
  --portal-color-overlay-26:         color-mix(in srgb, var(--portal-color-text) 26%, transparent);
  --portal-color-overlay-32:         color-mix(in srgb, var(--portal-color-text) 32%, transparent);
  --portal-color-overlay-35:         color-mix(in srgb, var(--portal-color-text) 35%, transparent);
  --portal-color-overlay-38:         color-mix(in srgb, var(--portal-color-text) 38%, transparent);
  --portal-color-overlay-42:         color-mix(in srgb, var(--portal-color-text) 42%, transparent);
  --portal-color-overlay-45:         color-mix(in srgb, var(--portal-color-text) 45%, transparent);
  --portal-color-overlay-48:         color-mix(in srgb, var(--portal-color-text) 48%, transparent);
  --portal-color-overlay-55:         color-mix(in srgb, var(--portal-color-text) 55%, transparent);

  /* ── Legacy/UI aliases — every older stylesheet must resolve here ──── */
  --portal-theme-accent:             var(--portal-color-success);
  --portal-theme-active-text:        var(--portal-color-brand-primary);
  --portal-theme-bg:                 var(--portal-color-page-bg);
  --portal-theme-brand:              var(--portal-color-brand-primary);
  --portal-theme-danger:             var(--portal-color-danger);
  --portal-theme-line:               var(--portal-color-border);
  --portal-theme-line-strong:        var(--portal-color-border);
  --portal-theme-muted:              var(--portal-color-text-soft);
  --portal-theme-paper:              var(--portal-color-surface);
  --portal-theme-shell-1:            var(--portal-color-text);
  --portal-theme-shell-2:            var(--portal-color-text);
  --portal-theme-shell-3:            var(--portal-color-text-soft);
  --portal-theme-shell-soft-text:    var(--portal-color-page-bg);
  --portal-theme-soft:               var(--portal-color-brand-primary-soft);
  --portal-theme-text:               var(--portal-color-text);
  --portal-theme-transparent:        transparent;

  --portal-btn-primary-bg:           var(--portal-color-brand-primary);
  --portal-btn-primary-hover:        var(--portal-color-brand-primary-hover);
  --portal-btn-primary-active:       var(--portal-color-brand-primary-hover);
  --portal-btn-primary-text:         var(--portal-color-white);
  --portal-btn-primary-soft-bg:      var(--portal-color-brand-surface-08);
  --portal-btn-primary-soft-bg-hover: var(--portal-color-brand-surface-12);
  --portal-btn-primary-soft-border:  var(--portal-color-brand-border-18);
  --portal-btn-primary-soft-border-hover: var(--portal-color-brand-border-26);
  --portal-btn-danger-text:          var(--portal-color-white);
  --portal-btn-danger-soft-bg:       var(--portal-color-danger-surface);
  --portal-btn-danger-soft-bg-hover: var(--portal-color-danger-surface-16);
  --portal-btn-danger-soft-border:   var(--portal-color-danger-border-18);
  --portal-btn-danger-soft-border-hover: var(--portal-color-danger-border-26);

  --portal-workspace-table-head:        var(--portal-color-table-head);
  --portal-workspace-table-head-strong: var(--portal-color-table-head);
  --portal-workspace-primary:           var(--portal-color-left-panel-bg);
  --portal-workspace-accent:            var(--portal-color-brand-primary);
  --portal-workspace-accent-hover:      var(--portal-color-brand-primary-hover);
  --portal-workspace-teal:              var(--portal-color-success);
  --portal-workspace-green:             var(--portal-color-success);
  --portal-workspace-orange:            var(--portal-color-warning);
  --portal-workspace-purple:            var(--portal-color-brand-primary-hover);
  --portal-workspace-slate:             var(--portal-color-brand-primary-hover);
  --portal-workspace-danger:            var(--portal-color-danger);
  --portal-workspace-ink:               var(--portal-color-text);
  --portal-workspace-surface:           var(--portal-color-surface);
  --portal-workspace-soft:              var(--portal-color-brand-primary-soft);

  --panel-primary:                   var(--portal-color-brand-primary-hover);
  --panel-secondary:                 var(--portal-color-brand-primary-hover);

  --portal-ext-bluewhite:            var(--portal-color-surface);
  --portal-ext-panel-soft:           var(--portal-color-brand-primary-soft);
  --portal-ext-panel-grad-end:       var(--portal-color-brand-primary-soft);
  --portal-ext-panel-grad-mid:       var(--portal-color-brand-primary-soft);
  --portal-ext-green-success:        var(--portal-color-success);
  --portal-ext-link-hover:           var(--portal-color-brand-primary-hover);
  --portal-ext-form-ink:             var(--portal-color-text);
  --portal-ext-sky-bg-soft:          var(--portal-color-brand-primary-soft);
  --portal-ext-sky-ink:              var(--portal-color-brand-primary-hover);
  --portal-ext-slate-ink:            var(--portal-color-text-soft);
  --portal-ext-danger-600:           var(--portal-color-danger);
  --portal-ext-danger-700:           var(--portal-color-danger);
  --portal-ext-danger-750:           var(--portal-color-danger);
  --portal-ext-danger-800:           var(--portal-color-danger);
  --portal-ext-danger-850:           var(--portal-color-danger);
  --portal-ext-danger-900:           var(--portal-color-danger);
  --portal-ext-danger-accent:        var(--portal-color-danger);
  --portal-ext-danger-bg-soft:       var(--portal-color-page-bg);
  --portal-ext-danger-border-soft:   var(--portal-color-border);
  --portal-ext-danger-border-mid:    var(--portal-color-border);
  --portal-ext-brand-border-dark:    var(--portal-color-brand-primary-hover);
  --portal-ext-brand-border-darker:  var(--portal-color-brand-primary-hover);
  --portal-ext-warn-border-dark:     var(--portal-color-brand-primary-hover);
  --portal-ext-warn-border-darker:   var(--portal-color-brand-primary-hover);

  /* ── Spacing & shape tokens ─────────────────────────────────────────── */
  --portal-radius-xs:         2px;
  --portal-radius-sm:         4px;   /* checkbox, small tags                */
  --portal-radius-md:         6px;   /* buttons, form inputs                */
  --portal-radius-lg:         8px;   /* cards, panels, modals               */
  --portal-control-height:    40px;
  --portal-control-padding-x: 12px;
  --portal-card-padding:      18px;

  --portal-shadow-card:    0 1px 2px var(--portal-color-overlay-04), 0 10px 24px color-mix(in srgb, var(--portal-color-text) 6%, transparent);
  --portal-shadow-card-soft: 0 4px 14px var(--portal-color-overlay-07);
  --portal-shadow-card-strong: 0 18px 38px var(--portal-color-overlay-16);
  --portal-shadow-control: 0 1px 2px var(--portal-color-overlay-05);
  --portal-focus-ring:     0 0 0 3px var(--portal-color-brand-ring);
}

body.portal-workspace,
body.admin-dashboard-body,
body.doctor-dashboard-body,
body.patient-dashboard-body,
body.pharmacist-dashboard-body {
  --portal-color-brand-primary:       #2563EB !important;
  --portal-color-brand-primary-hover: #1D4ED8 !important;
  --portal-color-brand-primary-soft:  #EFF6FF !important;
  --portal-color-left-panel-bg:       #2563EB !important;
  --portal-color-left-panel-bg-active: #1D4ED8 !important;
  --portal-color-table-head:          #1D4ED8 !important;
  --portal-color-table-border:        #1D4ED8 !important;
  --portal-workspace-table-head:      #1D4ED8 !important;
  --portal-workspace-table-head-strong: #1D4ED8 !important;
  --portal-workspace-primary:         #2563EB !important;
  --portal-workspace-accent:          #2563EB !important;
  --portal-workspace-accent-hover:    #1D4ED8 !important;
}
:root {
  /* Admin-first shared theme tokens */
  --portal-theme-accent: var(--portal-color-brand-accent);
  --portal-theme-active-text: var(--portal-color-brand-primary);
  --portal-theme-bg: var(--portal-color-page-bg);
  --portal-theme-brand: var(--portal-color-brand-primary);
  --portal-theme-danger: var(--portal-color-danger);
  --portal-theme-line: var(--portal-color-border);
  --portal-theme-line-strong: var(--portal-color-border-strong);
  --portal-theme-muted: var(--portal-color-text-soft);
  --portal-theme-paper: var(--portal-color-white);
  --portal-theme-shadow: var(--portal-color-overlay-12);
  --portal-theme-shadow-soft: var(--portal-color-overlay-08);
  --portal-theme-shell-1: var(--portal-color-text);
  --portal-theme-shell-2: var(--portal-color-text);
  --portal-theme-shell-3: var(--portal-color-text-soft);
  --portal-theme-shell-soft-text: var(--portal-color-page-bg);
  --portal-theme-soft: var(--portal-color-brand-primary-soft);
  --portal-theme-text: var(--portal-color-text);
  --portal-theme-transparent: transparent;
  --portal-color-001: var(--portal-color-border);
  --portal-color-002: color-mix(in srgb,var(--portal-color-left-panel-text) 16%,transparent);
  --portal-color-004: rgba(214,241,255,.45);
  --portal-color-005: var(--portal-color-brand-primary-deep);
  --portal-color-007: var(--portal-color-border);
  --portal-color-008: rgba(14,90,122,.55);
  --portal-color-011: var(--portal-color-text);
  --portal-color-012: var(--portal-color-border);
  --portal-color-015: rgba(255,214,220,.55);
  --portal-color-019: var(--portal-color-page-bg);
  --portal-color-020: var(--portal-color-surface);
  --portal-color-028: var(--portal-color-text-strong);
  --portal-color-029: var(--portal-color-success);
  --portal-color-030: var(--portal-color-danger);
  --portal-color-031: var(--portal-color-border);
  --portal-color-033: var(--portal-color-surface);
  --portal-color-035: var(--portal-color-border);
  --portal-color-036: var(--portal-color-page-bg);
  --portal-color-041: var(--portal-color-brand-primary);
  --portal-color-042: var(--portal-color-text);
  --portal-color-043: var(--portal-color-border);
  --portal-color-044: var(--portal-color-brand-primary-soft);
  --portal-color-045: var(--portal-color-border);
  --portal-color-046: var(--portal-color-page-bg);
  --portal-color-051: var(--portal-color-text);
  --portal-color-053: var(--portal-color-border);
  --portal-color-054: var(--portal-color-surface);
  --portal-color-055: var(--portal-color-page-bg);
  --portal-color-056: var(--portal-color-page-bg);
  --portal-color-057: var(--portal-color-surface);
  --portal-color-062: var(--portal-color-text-soft);
  --portal-color-063: var(--portal-color-info);
  --portal-color-068: var(--portal-color-page-bg);
  --portal-color-069: var(--portal-color-surface);
  --portal-color-082: rgba(9,22,54,.14);
  --portal-color-084: var(--portal-color-text-soft);
  --portal-color-092: var(--portal-color-text);
  --portal-color-093: var(--portal-color-text);
  --portal-color-096: var(--portal-color-text);
  --portal-color-097: var(--portal-color-text);
  --portal-color-100: var(--portal-color-text-soft);
  --portal-color-101: var(--portal-color-text-soft);
  --portal-color-102: var(--portal-color-text-soft);
  --portal-color-103: var(--portal-color-text-soft);
  --portal-color-104: var(--portal-color-text-soft);
  --portal-color-108: var(--portal-color-border);
  --portal-color-109: var(--portal-color-border);
  --portal-color-113: var(--portal-color-danger);
  --portal-color-116: var(--portal-color-page-bg);
  --portal-color-133: color-mix(in srgb,var(--portal-color-left-panel-text) 92%,transparent);
  --portal-color-139: var(--portal-color-text-soft);
  --portal-color-141: var(--portal-color-text-soft);
  --portal-color-142: var(--portal-color-brand-primary);
  --portal-color-144: var(--portal-color-text);
  --portal-color-145: var(--portal-color-brand-primary-hover);
  --portal-color-156: var(--portal-color-text);
  --portal-color-157: var(--portal-color-text);
  --portal-color-158: var(--portal-color-text);
  --portal-color-159: var(--portal-color-text);
  --portal-color-160: var(--portal-color-text);
  --portal-color-162: var(--portal-color-text);
  --portal-color-163: var(--portal-color-text);
  --portal-color-164: var(--portal-color-text);
  --portal-color-165: var(--portal-color-text);
  --portal-color-166: var(--portal-color-text);
  --portal-color-169: var(--portal-color-text);
  --portal-color-170: var(--portal-color-text);
  --portal-color-171: var(--portal-color-text);
  --portal-color-172: var(--portal-color-text);
  --portal-color-175: var(--portal-color-text);
  --portal-color-182: var(--portal-color-text-soft);
  --portal-color-185: var(--portal-color-text-soft);
  --portal-color-187: var(--portal-color-border);
  --portal-color-192: var(--portal-color-danger);
  --portal-color-193: var(--portal-color-border);
  --portal-color-199: var(--portal-color-border);
  --portal-color-200: var(--portal-color-border);
  --portal-color-205: var(--portal-color-border);
  --portal-color-206: var(--portal-color-border);
  --portal-color-208: var(--portal-color-border);
  --portal-color-209: var(--portal-color-border);
  --portal-color-210: var(--portal-color-border);
  --portal-color-211: var(--portal-color-border);
  --portal-color-213: var(--portal-color-border);
  --portal-color-216: var(--portal-color-danger);
  --portal-color-218: var(--portal-color-border);
  --portal-color-220: var(--portal-color-danger);
  --portal-color-223: var(--portal-color-border);
  --portal-color-225: var(--portal-color-border);
  --portal-color-226: var(--portal-color-border);
  --portal-color-227: var(--portal-color-border);
  --portal-color-230: var(--portal-color-brand-primary-soft);
  --portal-color-231: var(--portal-color-border);
  --portal-color-232: var(--portal-color-border);
  --portal-color-234: var(--portal-color-border);
  --portal-color-235: var(--portal-color-brand-primary-soft);
  --portal-color-237: var(--portal-color-brand-primary-soft);
  --portal-color-239: var(--portal-color-brand-primary-soft);
  --portal-color-245: var(--portal-color-brand-primary-soft);
  --portal-color-246: var(--portal-color-brand-primary-soft);
  --portal-color-247: var(--portal-color-brand-primary-soft);
  --portal-color-248: var(--portal-color-brand-primary-soft);
  --portal-color-249: var(--portal-color-brand-primary-soft);
  --portal-color-253: var(--portal-color-border);
  --portal-color-256: rgba(0,0,0,.12);
  --portal-color-276: rgba(20,29,52,.26);
  --portal-color-277: rgba(20,29,52,.38);
  --portal-color-278: rgba(20,35,54,0.14);
  --portal-color-292: color-mix(in srgb,var(--portal-color-left-panel-text) 40%,transparent);

  /* Cross-portal unified aliases */
  --portal-ui-bg: var(--portal-theme-bg);
  --portal-ui-text: var(--portal-theme-text);
  --portal-ui-muted: var(--portal-theme-muted);

  /* Shared component aliases */
  --portal-btn-primary-bg: var(--portal-color-brand-primary);
  --portal-btn-primary-hover: var(--portal-color-brand-primary-hover);
  --portal-btn-primary-active: var(--portal-color-brand-primary-hover);
  --portal-btn-primary-text: var(--portal-color-white);
  --portal-btn-primary-soft-bg: var(--portal-color-brand-surface-08);
  --portal-btn-primary-soft-bg-hover: var(--portal-color-brand-surface-12);
  --portal-btn-primary-soft-border: var(--portal-color-brand-border-18);
  --portal-btn-primary-soft-border-hover: var(--portal-color-brand-border-26);
  --portal-btn-danger-text: var(--portal-color-white);
  --portal-btn-danger-soft-bg: var(--portal-color-danger-surface);
  --portal-btn-danger-soft-bg-hover: var(--portal-color-danger-surface-16);
  --portal-btn-danger-soft-border: var(--portal-color-danger-border-18);
  --portal-btn-danger-soft-border-hover: var(--portal-color-danger-border-26);

  /* Layout fallback tokens */

  /* Extended shared tokens for non-color stylesheet migration */
  --portal-ext-green-success: var(--portal-color-success);
  --portal-ext-login-bg: var(--portal-color-page-bg);
  --portal-ext-login-ink: var(--portal-color-text);
  --portal-ext-login-soft: var(--portal-color-text-soft);
  --portal-ext-login-accent-2: var(--portal-color-warning);
  --portal-ext-link-hover: var(--portal-color-success);
  --portal-ext-input-warm: var(--portal-color-surface);
  --portal-ext-form-ink: var(--portal-color-text);
  --portal-ext-info-border-soft: var(--portal-color-border);
  --portal-ext-field-border-soft: var(--portal-color-border);
  --portal-ext-patient-btn-border: var(--portal-color-text-soft);
  --portal-ext-patient-btn-grad-start: var(--portal-color-text-soft);
  --portal-ext-patient-btn-grad-end: var(--portal-color-text-soft);
  --portal-ext-patient-btn-hover-border: var(--portal-color-text-soft);
  --portal-ext-patient-btn-hover-grad-start: var(--portal-color-info);
  --portal-ext-patient-btn-hover-grad-end: var(--portal-color-brand-primary);
  --portal-ext-danger-600: var(--portal-color-danger);
  --portal-ext-danger-700: var(--portal-color-danger);
  --portal-ext-danger-750: var(--portal-color-danger);
  --portal-ext-danger-800: var(--portal-color-text);
  --portal-ext-danger-850: var(--portal-color-danger);
  --portal-ext-danger-900: var(--portal-color-danger);
  --portal-ext-danger-border-soft: var(--portal-color-border);
  --portal-ext-danger-accent: var(--portal-color-danger);
  --portal-ext-danger-bg-soft: var(--portal-color-page-bg);
  --portal-ext-danger-border-mid: var(--portal-color-border);
  --portal-ext-sky-bg-soft: var(--portal-color-brand-primary-soft);
  --portal-ext-sky-ink: var(--portal-color-text-soft);
  --portal-ext-slate-ink: var(--portal-color-text-soft);
  --portal-ext-bluewhite: var(--portal-color-surface);
  --portal-ext-panel-soft: var(--portal-color-brand-primary-soft);
  --portal-ext-brand-border-dark: var(--portal-color-text);
  --portal-ext-brand-border-darker: var(--portal-color-text);
  --portal-ext-warn-border-dark: var(--portal-color-text);
  --portal-ext-warn-border-darker: var(--portal-color-text);
  --portal-ext-panel-grad-end: var(--portal-color-brand-primary-soft);
  --portal-ext-panel-grad-mid: var(--portal-color-brand-primary-soft);
  --portal-ext-overlay-weak: var(--portal-color-overlay-08);
  --portal-ext-shadow-text-12: var(--portal-color-overlay-12);
  --portal-ext-shadow-text-14: var(--portal-color-overlay-14);
  --portal-ext-shadow-text-18: var(--portal-color-overlay-18);
  --portal-ext-shadow-text-20: var(--portal-color-overlay-20);
  --portal-ext-sky-ink-18: rgba(11,77,120,0.18);
  --portal-ext-sky-ink-20: rgba(11,77,120,0.2);
  --portal-ext-sky-ink-25: rgba(11,77,120,0.25);
  --portal-ext-cyan-glow: rgba(137, 210, 244, 0.08);
  --portal-ext-brand-shadow-25: rgba(14, 165, 233, 0.25);
  --portal-ext-brand-shadow-32: rgba(14, 165, 233, 0.32);
  --portal-ext-brand-ring-22: color-mix(in srgb, var(--portal-color-brand-primary) 22%, transparent);
  --portal-ext-brand-ring-35: color-mix(in srgb, var(--portal-color-brand-primary) 35%, transparent);
  --portal-ext-brand-ring-38: color-mix(in srgb, var(--portal-color-brand-primary) 38%, transparent);
  --portal-ext-teal-zero: rgba(15, 124, 122, 0);
  --portal-ext-teal-08: rgba(15, 124, 122, 0.08);
  --portal-ext-teal-12: rgba(15, 124, 122, 0.12);
  --portal-ext-teal-15: rgba(15, 124, 122, 0.15);
  --portal-ext-teal-18: rgba(15, 124, 122, 0.18);
  --portal-ext-slate-08: var(--portal-color-overlay-08);
  --portal-ext-slate-12: var(--portal-color-overlay-12);
  --portal-ext-slate-24: var(--portal-color-overlay-24);
  --portal-ext-slate-48: var(--portal-color-overlay-48);
  --portal-ext-danger-24: color-mix(in srgb, var(--portal-color-danger) 24%, transparent);
  --portal-ext-ink-12: var(--portal-color-overlay-12);
  --portal-ext-danger-ring-15: color-mix(in srgb, var(--portal-color-danger) 15%, transparent);
  --portal-ext-success-ring-32: rgba(22,163,74,.32);
  --portal-ext-patient-brand-ring-20: rgba(23,116,156,.2);
  --portal-ext-warm-zero: rgba(242, 179, 111, 0);
  --portal-ext-warm-20: rgba(242, 179, 111, 0.2);
  --portal-ext-warm-25: rgba(242, 179, 111, 0.25);
  --portal-ext-accent-bg-10: color-mix(in srgb, var(--portal-color-brand-accent) 10%, var(--portal-color-surface));
  --portal-ext-accent-border-35: color-mix(in srgb, var(--portal-color-brand-accent) 35%, transparent);
  --portal-ext-ink-border-10: var(--portal-color-overlay-10);
  --portal-ext-ink-border-20: var(--portal-color-overlay-20);
  --portal-ext-accent-border-42: color-mix(in srgb, var(--portal-color-brand-accent) 42%, transparent);
  --space-4: 16px;
}



/* Premium alias layer kept compact for shared components */
:root{
  --portal-surface:var(--portal-color-white);
  --portal-surface-soft:var(--portal-color-surface);
  --portal-border:var(--portal-color-border);
  --portal-text:var(--portal-color-text);
  --portal-text-soft:var(--portal-color-text-soft);
  --portal-brand:var(--portal-color-brand-primary);
  --portal-brand-strong:var(--portal-color-brand-primary-hover);
}

/*
 * Shared base styles used across every portal feature.
 * Feature-level style files extend these tokens and layout utilities.
 */
/* Shared portal action buttons: one token-driven base for pharmacist shortcuts. */
:is(.pharmacist-add-btn, .pharmacist-view-btn, .pharmacist-delete-btn) {
  border: 1px solid transparent !important;
  box-shadow: none !important;
  font-weight: 700;
  border-radius: var(--portal-radius-md);
  min-height: 36px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pharmacist-add-btn,
.pharmacist-view-btn {
  background: var(--portal-btn-primary-bg) !important;
  border-color: var(--portal-btn-primary-bg) !important;
  color: var(--portal-btn-primary-text) !important;
  -webkit-text-fill-color: var(--portal-btn-primary-text) !important;
}

:is(.pharmacist-add-btn, .pharmacist-view-btn):is(:hover, :focus-visible) {
  background: var(--portal-btn-primary-hover) !important;
  border-color: var(--portal-btn-primary-hover) !important;
  color: var(--portal-btn-primary-text) !important;
  -webkit-text-fill-color: var(--portal-btn-primary-text) !important;
}

.pharmacist-add-btn {
  min-width: 48px;
}

.pharmacist-delete-btn {
  background: var(--portal-color-danger) !important;
  border-color: var(--portal-color-danger) !important;
  color: var(--portal-btn-danger-text) !important;
  -webkit-text-fill-color: var(--portal-btn-danger-text) !important;
  min-width: 48px;
}

.pharmacist-delete-btn:is(:hover, :focus-visible) {
  background: var(--portal-color-danger) !important;
  border-color: var(--portal-color-danger) !important;
  color: var(--portal-btn-danger-text) !important;
  -webkit-text-fill-color: var(--portal-btn-danger-text) !important;
}
/* Pharmacist dashboard: Brand View button and Action cell centering */
.pharmacist-action-cell {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  white-space: nowrap;
  width: 100%;
}
.pharmacist-action-cell > * {
  flex: 0 0 auto;
}
.pharmacist-action-cell .portal-inline-form {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
.pharmacist-action-cell .btn,
.pharmacist-action-cell .pharmacist-view-btn {
  white-space: nowrap;
}
.pharmacist-view-btn {
  min-width: 64px;
  padding: 0 16px;
}
.up-icon {
  display: inline-flex;
  width: 1.1em;
  height: 1.1em;
  line-height: 1;
  vertical-align: middle;
}

.up-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.portal-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 36px;
  height: 36px;
  padding: 0 12px;
  border-radius: var(--portal-radius-md);
  line-height: 1.2;
  font-size: 0.92rem;
  font-weight: 700;
  white-space: nowrap;
  text-align: center;
}

.portal-icon-btn i,
.portal-icon-btn svg,
.portal-icon-btn .portal-sr-only {
  display: none !important;
}

body.portal-workspace .portal-section :is(a.btn.portal-icon-btn, button.btn.portal-icon-btn) {
  background: var(--portal-btn-primary-bg) !important;
  border: 1px solid var(--portal-btn-primary-bg) !important;
  color: var(--portal-btn-primary-text) !important;
  -webkit-text-fill-color: var(--portal-btn-primary-text) !important;
  box-shadow: none !important;
}

body.portal-workspace .portal-section :is(a.btn.portal-icon-btn, button.btn.portal-icon-btn):is(:hover, :focus-visible, :active) {
  background: var(--portal-btn-primary-hover) !important;
  border-color: var(--portal-btn-primary-hover) !important;
  color: var(--portal-btn-primary-text) !important;
  -webkit-text-fill-color: var(--portal-btn-primary-text) !important;
}

body.portal-workspace .portal-section :is(
  a.btn.portal-icon-btn.portal-btn-danger,
  button.btn.portal-icon-btn.portal-btn-danger,
  a.btn.portal-icon-btn.portal-admin-btn-danger,
  button.btn.portal-icon-btn.portal-admin-btn-danger
) {
  background: var(--portal-color-danger) !important;
  border: 1px solid var(--portal-color-danger) !important;
  color: var(--portal-btn-danger-text) !important;
  -webkit-text-fill-color: var(--portal-btn-danger-text) !important;
  box-shadow: none !important;
}

body.portal-workspace .portal-section :is(
  a.btn.portal-icon-btn.portal-btn-danger,
  button.btn.portal-icon-btn.portal-btn-danger,
  a.btn.portal-icon-btn.portal-admin-btn-danger,
  button.btn.portal-icon-btn.portal-admin-btn-danger
):is(:hover, :focus-visible, :active) {
  background: var(--portal-color-danger) !important;
  border-color: var(--portal-color-danger) !important;
  color: var(--portal-btn-danger-text) !important;
  -webkit-text-fill-color: var(--portal-btn-danger-text) !important;
  box-shadow: none !important;
}

body.portal-workspace .portal-section :is(.btn, .button, button, input[type="submit"], input[type="button"], input[type="reset"], a.btn, a.button):is(:hover, :focus-visible, :active) {
  -webkit-text-fill-color: currentColor !important;
}

.portal-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.portal-inline-form {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

body.portal-workspace .portal-section :is(.admin-dashboard-row-actions, .doctor-dash-row-actions, .patient-dash-row-actions, .portal-focused-rx-actions) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

body.portal-workspace .portal-section :is(td, th) {
  vertical-align: middle;
}

body.portal-workspace .portal-section :is(.card, .panel, .portal-card, .portal-section-card) {
  overflow: hidden;
}


@keyframes portal-center-popup-fade {
  0% {
    opacity: 0;
    visibility: visible;
    transform: translate(-50%, -44%) scale(0.97);
  }
  10% {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
  }
  86% {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -56%) scale(0.98);
  }
}

.portal-alert.portal-center-popup-toast {
  --portal-toast-duration: 3000ms;
  --portal-toast-text: var(--portal-color-text);
  --portal-toast-bg: color-mix(in srgb, var(--portal-color-surface) 82%, var(--portal-color-page-bg));
  --portal-toast-border: var(--portal-color-overlay-45);
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 100000 !important;
  width: min(760px, calc(100vw - 28px)) !important;
  min-width: min(420px, calc(100vw - 28px)) !important;
  margin: 0 !important;
  padding: 16px 22px !important;
  display: block !important;
  text-align: center !important;
  border: 1px solid var(--portal-toast-border) !important;
  border-radius: 0 !important;
  background: var(--portal-toast-bg) !important;
  -webkit-backdrop-filter: blur(8px) saturate(115%);
  backdrop-filter: blur(8px) saturate(115%);
  color: var(--portal-toast-text) !important;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.24) !important;
  pointer-events: none !important;
  animation: portal-center-popup-fade var(--portal-toast-duration) cubic-bezier(0.2, 0.72, 0.2, 1) forwards !important;
}

.portal-alert.portal-center-popup-toast.portal-alert--ok {
  --portal-toast-text: var(--portal-color-text);
}

.portal-alert.portal-center-popup-toast.portal-alert--warn {
  --portal-toast-text: var(--portal-color-warning);
}

.portal-alert.portal-center-popup-toast.portal-alert--bad,
.portal-alert.portal-center-popup-toast.portal-alert--error {
  --portal-toast-text: var(--portal-color-danger);
}

.portal-alert.portal-center-popup-toast :is(strong, a, p, span, div) {
  color: var(--portal-toast-text) !important;
  -webkit-text-fill-color: var(--portal-toast-text) !important;
  font-size: clamp(18px, 1.9vw, 26px) !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em !important;
  text-shadow: none !important;
  text-align: center !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  width: 100% !important;
  word-break: break-word !important;
}

.portal-alert.portal-center-popup-toast strong {
  display: block !important;
  margin-bottom: 4px !important;
}

@media (max-width: 640px) {
  .portal-alert.portal-center-popup-toast {
    min-width: 0 !important;
    width: calc(100vw - 24px) !important;
    padding: 14px 16px !important;
  }
}

.portal-runtime-conflict-list {
  list-style: disc;
  margin: 0 0 0 18px;
}

.portal-invoice-fallback-body {
  margin: 0;
  padding: 0;
  background: var(--portal-ui-bg);
}

.portal-invoice-fallback {
  font-family: "DM Sans", "Work Sans", "Noto Sans", sans-serif;
  color: var(--portal-theme-text);
}

.portal-invoice-fallback__title {
  margin: 0;
  font-size: 26px;
}

.portal-invoice-fallback__line {
  margin: 0 0 8px;
  color: var(--portal-theme-text);
}

.portal-invoice-fallback__line--gap {
  margin-top: 12px;
}

.portal-invoice-fallback__table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
  background: var(--portal-theme-paper);
  border: 1px solid var(--portal-theme-line-strong);
}

.portal-invoice-fallback__th {
  border-bottom: 1px solid var(--portal-theme-line-strong);
  padding: 10px 12px;
  color: var(--portal-theme-active-text);
  background: var(--portal-ext-panel-soft);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 12px;
}

.portal-invoice-fallback__th--left {
  text-align: left;
}

.portal-invoice-fallback__th--right {
  text-align: right;
}

.portal-invoice-fallback__td {
  padding: 12px;
  border-bottom: 1px solid var(--portal-theme-line);
}

.portal-invoice-fallback__td--right {
  text-align: right;
}

.portal-invoice-fallback__pay-link {
  display: inline-block;
  background: var(--portal-theme-brand);
  color: var(--portal-theme-paper);
  text-decoration: none;
  padding: 9px 18px;
  border-radius: var(--portal-radius-md);
  font-weight: 700;
  border: 1px solid var(--portal-theme-brand);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 12px;
}

.portal-invoice-fallback__pay-link:hover,
.portal-invoice-fallback__pay-link:focus-visible {
  background: var(--portal-btn-primary-hover);
  border-color: var(--portal-btn-primary-hover);
  color: var(--portal-theme-paper);
}

.portal-invoice-fallback__footer {
  margin: 16px 0 0;
  color: var(--portal-ui-muted);
  font-size: 12px;
}

.portal-medical-intake.portal-invoice-fallback-theme .portal-medical-form-logo__text {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Shared dashboard layout harmonization for admin/doctor/patient/pharmacist */
body.portal-workspace .portal-section :is([data-admin-workspace], [data-doctor-dashboard], [data-patient-dashboard]) {
  --portal-ui-gap: 14px;
  --portal-ui-card-radius: var(--portal-radius-lg, 8px);
  --portal-ui-field-radius: 0px;
  --portal-ui-table-cell-x: 12px;
  --portal-ui-table-cell-y: 10px;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) {
  padding: 16px !important;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) > * + * {
  margin-top: var(--portal-ui-gap) !important;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) :is(article.card, .card.doctor-panel-fill-card, .patient-dash-appointment-card) {
  border-radius: var(--portal-ui-card-radius) !important;
  box-shadow: 0 6px 18px var(--portal-theme-shadow-soft) !important;
  padding: 16px !important;
  background: var(--portal-theme-paper) !important;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) :is(.card__top, .doctor-grid-head, .portal-inline-admin-0030) {
  margin: 0 0 12px !important;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) :is(.admin-dashboard-table-wrap, .doctor-dash-table-wrap, .patient-dash-table-wrap) {
  width: 100%;
  border: 1px solid var(--portal-theme-line);
  border-radius: var(--portal-ui-card-radius);
  overflow: auto;
  background: var(--portal-theme-paper);
}

body.portal-workspace .portal-section :is(.admin-dashboard-table, .doctor-dash-table, .patient-dash-table, .portal-dashboard-booking-summary-table, .portal-amcal-table) {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table, .doctor-dash-table, .patient-dash-table, .portal-dashboard-booking-summary-table, .portal-amcal-table) th {
  text-align: left;
  padding: var(--portal-ui-table-cell-y) var(--portal-ui-table-cell-x);
  background: var(--portal-theme-soft);
  color: var(--portal-theme-active-text);
  border-bottom: 1px solid var(--portal-theme-line-strong);
  border-right: 1px solid var(--portal-theme-line-strong);
  font-weight: 700;
  vertical-align: middle;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table, .doctor-dash-table, .patient-dash-table, .portal-dashboard-booking-summary-table, .portal-amcal-table) th:last-child {
  border-right: 0;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table, .doctor-dash-table, .patient-dash-table, .portal-dashboard-booking-summary-table, .portal-amcal-table) td {
  padding: var(--portal-ui-table-cell-y) var(--portal-ui-table-cell-x);
  border-bottom: 1px solid var(--portal-theme-line);
  border-right: 1px solid var(--portal-theme-line);
  vertical-align: middle;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table, .doctor-dash-table, .patient-dash-table, .portal-dashboard-booking-summary-table, .portal-amcal-table) td:last-child {
  border-right: 0;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table, .doctor-dash-table, .patient-dash-table) tbody tr:last-child td {
  border-bottom: 0;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table__action-cell, .portal-focused-tickets-action-cell):not(td):not(th),
body.portal-workspace .portal-section .patient-dash-appointment-card__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) :is(form, .portal-form, .portal-rx-form, .portal-admin-treatment-edit-form) {
  display: grid;
  gap: 12px;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) :is(label, .portal-field-label, .portal-admin-checkbox-card) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--portal-theme-text);
  font-weight: 600;
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) :is(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="date"], input[type="time"], input[type="number"], input[type="datetime-local"], select, textarea, .form-control) {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid var(--portal-theme-line-strong);
  border-radius: var(--portal-ui-field-radius);
  background: var(--portal-theme-paper);
  color: var(--portal-theme-text);
}

body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) textarea {
  min-height: 104px;
  resize: vertical;
}

@media (max-width: 900px) {
  body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) {
    padding: 12px !important;
  }

  body.portal-workspace .portal-section :is(.admin-main, .doctor-dashboard-main, .patient-dashboard-main) :is(article.card, .card.doctor-panel-fill-card, .patient-dash-appointment-card) {
    padding: 12px !important;
  }
}

@keyframes portal-soft-sync-pulse {
  0% {
    box-shadow: 0 0 0 0 var(--portal-ext-brand-shadow-25);
  }
  100% {
    box-shadow: 0 0 0 10px rgba(14, 165, 233, 0);
  }
}

body.portal-workspace .portal-section :is([data-admin-workspace], [data-doctor-dashboard], [data-patient-dashboard]).portal-sync-soft-updated {
  animation: portal-soft-sync-pulse 0.9s ease-out 1;
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-four,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-three,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-five {
  display: grid;
  gap: 12px;
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-medication-cell {
  position: relative;
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-medication-wrap,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-medication-wrap .portal-rx-medication-table,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-medication-wrap .portal-rx-medication-table tbody,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-medication-wrap .portal-rx-medication-table tr,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-medication-wrap .portal-rx-medication-table td {
  overflow: visible !important;
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestions {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 2px);
  z-index: 30;
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--portal-theme-line-strong);
  border-radius: var(--portal-radius-lg, 8px);
  background: var(--portal-theme-paper);
  box-shadow: 0 14px 30px var(--portal-theme-shadow-soft);
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--portal-theme-line);
  background: transparent;
  padding: 12px 14px;
  cursor: pointer;
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion strong {
  font-size: 14px;
  line-height: 1.4;
  color: var(--portal-color-brand-primary-deep);
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion span {
  font-size: 12px;
  line-height: 1.35;
  color: var(--portal-color-text-subtle);
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion:last-child {
  border-bottom: 0;
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion:hover,
body.portal-workspace .portal-section :is(.btn, .button, button, input[type="submit"], input[type="button"], input[type="reset"], a.btn, a.button),
body.portal-workspace .portal-section :is(.form-control, input, select, textarea) {
  box-sizing: border-box !important;
  max-width: 100% !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
}

body.portal-workspace .portal-section :is(.form-control, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
  min-height: 44px !important;
  height: 44px !important;
  line-height: 1.25 !important;
}

body.portal-workspace .portal-section textarea.form-control,
body.portal-workspace .portal-section textarea {
  height: auto !important;
  min-height: 96px !important;
  line-height: 1.45 !important;
}

body.portal-workspace .portal-section :is(.btn, .button, button, input[type="submit"], input[type="button"], input[type="reset"], a.btn, a.button) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

body.portal-workspace .portal-section [hidden],
body.portal-workspace .portal-section :is(.btn, .button, button, input[type="submit"], input[type="button"], input[type="reset"], a.btn, a.button)[hidden] {
  display: none !important;
}

body.portal-workspace .portal-section :is(.portal-inline-form, form.portal-inline-form) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
}

body.portal-workspace .portal-section :is(.portal-inline-form, form.portal-inline-form) :is(.btn, button, input[type="submit"]) {
  width: auto !important;
  min-width: max-content !important;
}

body.portal-workspace .portal-section :is(.portal-form .grid, .grid.two, .grid.three, .grid.four, .grid.five, .patient-form-inline, .doctor-profile-grid-row) {
  align-items: start !important;
}

body.portal-workspace .portal-section :is(.portal-form .grid, .grid.two, .grid.three, .grid.four, .grid.five, .patient-form-inline, .doctor-profile-grid-row) > :is(div, label, .mb-3, .portal-field) {
  min-width: 0 !important;
}

body.portal-workspace .portal-section :is(.portal-form .grid, .grid.two, .grid.three, .grid.four, .grid.five, .patient-form-inline, .doctor-profile-grid-row) > :is(div, .mb-3, .portal-field) > .form-label {
  display: block !important;
  min-height: 1.45em !important;
  margin: 0 0 6px !important;
  line-height: 1.25 !important;
}

body.portal-workspace .portal-section :is(.admin-dashboard-row-actions, .doctor-dash-row-actions, .patient-dash-row-actions, .pharmacist-action-cell, .portal-focused-rx-actions, .portal-rx-editor-actions, .portal-amcal-modal__actions, .portal-amcal-create-actions) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table__action-cell, td[data-label="Action"], td[data-label="Actions"]) {
  text-align: center !important;
  vertical-align: middle !important;
}

body.portal-workspace .portal-section :is(.admin-dashboard-table__action-cell, td[data-label="Action"], td[data-label="Actions"]) > :is(.row, div, form) {
  align-items: center !important;
  justify-content: center !important;
}

body.portal-workspace .portal-section label:has(> input[type="checkbox"]),
body.portal-workspace .portal-section label:has(> input[type="radio"]) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

body.portal-workspace .portal-section :is(input[type="checkbox"], input[type="radio"]) {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

@media (max-width: 720px) {
  body.portal-workspace .portal-section :is(.btn, .button, button, input[type="submit"], input[type="button"], input[type="reset"], a.btn, a.button) {
    white-space: normal !important;
  }

  body.portal-workspace .portal-section :is(.portal-form .grid, .grid.two, .grid.three, .grid.four, .grid.five, .patient-form-inline, .doctor-profile-grid-row) {
    grid-template-columns: 1fr !important;
  }
}

body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion:hover,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion:focus,
body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-admin-rx-suggestion:focus-visible {
  background: var(--portal-color-surface);
  outline: 2px solid var(--portal-color-brand-primary);
  outline-offset: -2px;
  box-shadow: 0 0 0 2px rgba(15, 79, 109, 0.22);
}

.portal-med-floating-wrap {
  position: fixed;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid #2563eb;
  border-top: 3px solid #2563eb;
  border-radius: 8px;
  background: #ffffff !important;
  color: #111827 !important;
  box-shadow: 0 12px 26px rgba(37, 99, 235, 0.16);
  z-index: 10020;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #2563eb #eff6ff;
}

.portal-med-floating-wrap[data-open-direction="above"] {
  border-top-width: 1px;
  border-bottom: 3px solid #2563eb;
}

.portal-med-floating-wrap::-webkit-scrollbar {
  width: 8px;
}

.portal-med-floating-wrap::-webkit-scrollbar-track {
  background: #eff6ff;
}

.portal-med-floating-wrap::-webkit-scrollbar-thumb {
  background: #2563eb;
  border-radius: 999px;
}

.portal-med-floating-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #e5e7eb;
  background: #ffffff !important;
  padding: 10px 12px 10px 14px;
  cursor: pointer;
  color: #2563eb !important;
  min-height: 0 !important;
  white-space: normal !important;
  border-left: 3px solid transparent;
}

.portal-med-floating-item:last-child {
  border-bottom: 0;
}

.portal-med-floating-item strong {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.35;
  color: #2563eb !important;
  overflow-wrap: anywhere;
}

.portal-med-floating-item .portal-admin-rx-suggestion-meta {
  color: #1d4ed8 !important;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 600;
}

.portal-med-floating-item:hover,
.portal-med-floating-item:focus,
.portal-med-floating-item:focus-visible {
  background: #eff6ff !important;
  border-left-color: #2563eb;
  outline: 1px solid rgba(37, 99, 235, 0.35);
  outline-offset: -2px;
}

.portal-med-floating-more {
  padding: 9px 12px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.portal-med-floating-empty {
  padding: 10px 12px;
  background: #ffffff;
  color: #2563eb;
  font-size: 13px;
  font-weight: 600;
}

@media (max-width: 1100px) {
  body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-four,
  body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-five,
  body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-four,
  body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-five,
  body.portal-workspace .portal-section .portal-doctor-rx-full-editor .portal-rx-patient-grid-three {
    grid-template-columns: 1fr;
  }
}


/* Final portal palette override */
body.portal-workspace .portal-section :is(a.btn.portal-icon-btn, button.btn.portal-icon-btn):not(.portal-btn-danger):not(.portal-admin-btn-danger){
  background:var(--portal-color-brand-primary) !important;
  border-color:var(--portal-color-brand-primary) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}
body.portal-workspace .portal-section :is(a.btn.portal-icon-btn, button.btn.portal-icon-btn):not(.portal-btn-danger):not(.portal-admin-btn-danger):is(:hover,:focus-visible,:active){
  background:var(--portal-color-info) !important;
  border-color:var(--portal-color-info) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}
body.portal-workspace .portal-section :is(a.btn.portal-icon-btn.portal-btn-danger, button.btn.portal-icon-btn.portal-btn-danger, a.btn.portal-icon-btn.portal-admin-btn-danger, button.btn.portal-icon-btn.portal-admin-btn-danger){
  background:var(--portal-color-danger) !important;
  border-color:var(--portal-color-danger) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}
body.portal-workspace .portal-section :is(a.btn.portal-icon-btn.portal-btn-danger, button.btn.portal-icon-btn.portal-btn-danger, a.btn.portal-icon-btn.portal-admin-btn-danger, button.btn.portal-icon-btn.portal-admin-btn-danger):is(:hover,:focus-visible,:active){
  background:var(--portal-color-danger) !important;
  border-color:var(--portal-color-danger) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}


/* Shared polish for cards, spacing, and small screens */
body.portal-workspace .portal-section :is(
  .card,
  .panel,
  .portal-card,
  .portal-section-card,
  .admin-dashboard-card,
  .doctor-dash-card,
  .patient-dash-card,
  .pharmacist-dashboard-card
) {
  border: 1px solid var(--portal-theme-line) !important;
  border-radius: var(--portal-radius-lg, 8px) !important;
  box-shadow: 0 12px 28px var(--portal-theme-shadow-soft) !important;
  background: var(--portal-theme-paper) !important;
}

body.portal-workspace .portal-section :is(.portal-form, form) :is(.form-control, input, select, textarea) {
  min-height: 44px;
  border-radius: 0;
}

body.portal-workspace .portal-section :is(.portal-form, form) textarea.form-control,
body.portal-workspace .portal-section :is(.portal-form, form) textarea {
  min-height: 120px;
}

body.portal-workspace .portal-section :is(
  .portal-grid,
  .admin-dashboard-grid,
  .doctor-dashboard-grid,
  .patient-dashboard-grid,
  .pharmacist-dashboard-grid,
  .row
) {
  align-items: stretch;
}

body.portal-workspace .portal-section :is(table, .table, .admin-dashboard-table) {
  width: 100%;
}

body.portal-workspace .portal-section :is(.table-responsive, .portal-table-wrap, .portal-table-shell) {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 991px) {
  body.portal-workspace .portal-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.portal-workspace .portal-section :is(
    .card,
    .panel,
    .portal-card,
    .portal-section-card,
    .admin-dashboard-card,
    .doctor-dash-card,
    .patient-dash-card,
    .pharmacist-dashboard-card
  ) {
    border-radius: var(--portal-radius-lg, 8px) !important;
    padding: 16px !important;
  }

  body.portal-workspace .portal-section :is(.admin-dashboard-row-actions, .doctor-dash-row-actions, .patient-dash-row-actions, .portal-focused-rx-actions) {
    justify-content: stretch !important;
  }

  body.portal-workspace .portal-section :is(.admin-dashboard-row-actions, .doctor-dash-row-actions, .patient-dash-row-actions, .portal-focused-rx-actions) > * {
    flex: 1 1 180px;
  }
}

@media (max-width: 767px) {
  body.portal-workspace .portal-section {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.portal-workspace .portal-section :is(h1, h2, h3) {
    line-height: 1.25;
  }

  body.portal-workspace .portal-section :is(table, .table, .admin-dashboard-table) {
    font-size: 0.92rem;
  }
  body.portal-workspace .portal-section :is(.table-responsive, .portal-table-wrap, .portal-table-shell) :is(table, .table, .admin-dashboard-table) {
    min-width: 680px;
  }

  body.portal-workspace .portal-section :is(.btn, .button, button, input[type="submit"], input[type="button"], a.btn, a.button) {
    min-height: 44px;
  }

  body.portal-workspace .portal-section :is(.portal-form, form) :is(.form-control, input, select, textarea) {
    font-size: 16px !important;
  }
}

/* Global portal polish */
body.portal-workspace {
  background: var(--portal-color-page-bg);
}

body.portal-workspace .portal-section {
  padding-top: 20px;
  padding-bottom: 28px;
}

body.portal-workspace .portal-container {
  width: min(100%, 1360px);
}

body.portal-workspace .portal-section :is(.card, .panel, .portal-card, .portal-section-card, .admin-dashboard-card, .doctor-dashboard-card, .patient-dashboard-card) {
  border-radius: 0 !important;
  border: 1px solid rgba(15, 79, 109, 0.08) !important;
  box-shadow: 0 16px 34px rgba(15, 79, 109, 0.06) !important;
}

body.portal-workspace .portal-section :is(.table-responsive, .admin-dashboard-table-wrap, .doctor-dashboard-table-wrap, .patient-dashboard-table-wrap) {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.portal-workspace .portal-section :is(table) {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

body.portal-workspace .portal-section :is(th) {
  position: sticky;
  top: 0;
  background: var(--portal-color-page-bg);
  z-index: 1;
}

body.portal-workspace .portal-section :is(td, th) {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

body.portal-workspace .portal-section :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], select, textarea, .form-control) {
  border-radius: 0 !important;
  min-height: 40px;
}

body.portal-workspace .portal-section :is(.btn, .button, a.btn, button, input[type="submit"]) {
  border-radius: var(--portal-radius-md) !important;
}

body.portal-workspace .portal-section :is(.admin-dashboard-toolbar, .doctor-dashboard-toolbar, .patient-dashboard-toolbar, .portal-toolbar, .portal-filter-bar) {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

body.portal-workspace .portal-section :is(.admin-dashboard-grid, .doctor-dashboard-grid, .patient-dashboard-grid) {
  gap: 18px !important;
}

@media (max-width: 768px) {
  body.portal-workspace .portal-section {
    padding-top: 14px;
    padding-bottom: 18px;
  }

  body.portal-workspace .portal-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  body.portal-workspace .portal-section :is(.card, .panel, .portal-card, .portal-section-card, .admin-dashboard-card, .doctor-dashboard-card, .patient-dashboard-card) {
    border-radius: var(--portal-radius-lg, 8px) !important;
  }

  body.portal-workspace .portal-section :is(.admin-dashboard-toolbar, .doctor-dashboard-toolbar, .patient-dashboard-toolbar, .portal-toolbar, .portal-filter-bar) {
    flex-direction: column;
    align-items: stretch;
  }

  body.portal-workspace .portal-section :is(.btn, .button, a.btn, button, input[type="submit"]) {
    width: 100%;
    justify-content: center;
  }

  /* Buttons inside table cells must never go full-width or wrap */
  body.portal-workspace .portal-section table td :is(.btn, .button, a.btn, button, input[type="submit"]) {
    width: auto !important;
    white-space: nowrap !important;
  }
}


/* Unified premium dashboard layer */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace){background:var(--portal-color-page-bg) !important; color:var(--portal-color-text);}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-container,
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .doctor-dashboard-main,
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .patient-dashboard-main{gap:14px !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.card,.panel,.portal-card,.portal-section-card,.doctor-dash-panel,.admin-panel,.patient-dash-panel){border-radius:var(--portal-radius-lg, 8px) !important; background:var(--portal-color-surface) !important; box-shadow:0 16px 36px rgba(15,23,42,.10) !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.table,table){border-collapse:separate !important; border-spacing:0 !important; overflow:hidden;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(table thead th){background:var(--portal-color-brand-primary-hover) !important; color:var(--portal-color-surface) !important; -webkit-text-fill-color:var(--portal-color-surface) !important; border-bottom:1px solid var(--portal-color-border) !important; font-weight:800 !important; letter-spacing:.04em !important; text-transform:uppercase !important; font-size:12px !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(table td,table th){padding:12px 14px !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],input[type="search"],select,textarea,.form-control){border:1px solid var(--portal-color-border) !important; border-radius:0 !important; background:var(--portal-color-surface) !important; min-height:40px; box-shadow:none !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(textarea,.form-control[type="textarea"]){min-height:120px !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(input,select,textarea,.form-control):focus{border-color:var(--portal-color-brand-primary) !important; box-shadow:var(--portal-focus-ring) !important; outline:none !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(a,button,input,select,textarea,[role="button"],[tabindex]):focus-visible{outline:2px solid var(--portal-color-brand-primary) !important; outline-offset:2px !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.btn,.button,button,input[type="submit"],a.btn){border-radius:var(--portal-radius-md) !important; min-height:36px !important; font-weight:700 !important; padding:7px 14px !important; letter-spacing:.01em !important; color:var(--portal-color-surface) !important; -webkit-text-fill-color:var(--portal-color-surface) !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-alert,.notice){border-radius:0 !important;}
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(h1,h2,h3,h4){letter-spacing:-.01em;}
body.portal-workspace .od-site-topbar__left,
body.portal-workspace .od-site-nav__item--faq,
body.portal-workspace :is(#home-reviews,#home-faq,#od-global-page-reviews,#od-global-page-faq,.od-global-page-reviews,.od-global-page-faq){
  display:none !important;
}
body.portal-workspace .od-site-topbar__row{
  justify-content:flex-end !important;
}
@media (max-width:820px){body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.card,.panel,.portal-card,.portal-section-card,.doctor-dash-panel,.admin-panel,.patient-dash-panel){border-radius:var(--portal-radius-lg, 8px) !important;}body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(table td,table th){padding:10px 12px !important;}}

/* Zero border-radius on all table elements across all portals */
body.portal-workspace .portal-section :is(table, thead, tbody, tfoot, tr, th, td){
  border-radius: 0 !important;
}

/* Right gap on last column of every portal table */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) table td:last-child,
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) table th:last-child {
  padding-right: 20px !important;
}


/* March 20 portal button contrast */
body.portal-workspace .portal-section :is(.btn--primary,.btn.btn--primary,a.btn--primary,button.btn--primary,.portal-btn-primary,.portal-action-button,.login-submit){color:var(--portal-color-white) !important;-webkit-text-fill-color:var(--portal-color-white) !important;}
body.portal-workspace .portal-section :is(.btn--primary,.btn.btn--primary,a.btn--primary,button.btn--primary,.portal-btn-primary,.portal-action-button,.login-submit) :is(span,strong,i,svg){color:var(--portal-color-white) !important;fill:var(--portal-color-white) !important;-webkit-text-fill-color:var(--portal-color-white) !important;}

/* ── Small-phone overrides (≤480px) ─────────────────────────── */
@media (max-width:480px){
  /* Sidebar full-width on small phones */
  body.portal-workspace :is(#pd-sidebar-nav,#dd-sidebar-nav,#admin-sidebar-nav,#ph-sidebar-nav){
    width:100vw !important; max-width:100vw !important;
  }
  /* Scroll wrappers: reduce table min-width so columns stay readable */
  body.portal-workspace .portal-section :is(.table-responsive,.portal-table-wrap,.portal-table-shell) :is(table,.table,.admin-dashboard-table){
    min-width:480px !important;
  }
  /* Row-action buttons stack vertically */
  body.portal-workspace .portal-section :is(.admin-dashboard-row-actions,.doctor-dash-row-actions,.patient-dash-row-actions,.portal-focused-rx-actions){
    flex-direction:column !important;
  }
  body.portal-workspace .portal-section :is(.admin-dashboard-row-actions,.doctor-dash-row-actions,.patient-dash-row-actions,.portal-focused-rx-actions) > *{
    flex:1 1 100% !important; width:100% !important;
  }
  /* Headings smaller */
  body.portal-workspace .portal-section h1{ font-size:1.3rem !important; }
  body.portal-workspace .portal-section h2{ font-size:1.15rem !important; }
  body.portal-workspace .portal-section h3{ font-size:1.05rem !important; }
  /* Mobile bar padding */
  body.portal-workspace :is(.patient-dashboard-mobilebar,.doctor-dashboard-mobilebar,.admin-dashboard-mobilebar,.pharmacist-dashboard-mobilebar){
    padding-left:12px !important; padding-right:12px !important;
  }
}

/* Portal button text always white — all states */
body.portal-workspace .portal-section a.btn,
body.portal-workspace .portal-section a.btn:link,
body.portal-workspace .portal-section a.btn:visited,
body.portal-workspace .portal-section a.btn:hover,
body.portal-workspace .portal-section a.btn:active,
body.portal-workspace .portal-section button.btn,
body.portal-workspace .portal-section button.btn:hover,
body.portal-workspace .portal-section button.btn:active,
body.portal-workspace .portal-section .portal-focused-form-btn,
body.portal-workspace .portal-section .portal-focused-form-btn:link,
body.portal-workspace .portal-section .portal-focused-form-btn:visited,
body.portal-workspace .portal-section .portal-focused-form-btn:hover,
body.portal-workspace .portal-section .portal-focused-form-btn:active {
  color: var(--portal-color-white) !important;
  -webkit-text-fill-color: var(--portal-color-white) !important;
  text-decoration: none !important;
}

/* 2026-03-23: Remove dashboard section shell borders */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.admin-main > .admin-panel,.doctor-dashboard-main > .doctor-dash-panel,.patient-dashboard-main > .patient-dash-panel){
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:transparent !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.admin-main .admin-panel,.doctor-dashboard-main .doctor-dash-panel,.patient-dashboard-main .patient-dash-panel) :is(.card,.panel,.portal-card,.portal-section-card){
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* Mobile: edge-to-edge panels — remove section and container horizontal padding */
@media (max-width:980px){
  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace){
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) > .portal-container{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* Desktop/laptop (>600px): 14px base font size — matching admin portal size */
@media (min-width:601px){
  body.portal-workspace .portal-section:is(
    .admin-dashboard-page--workspace,
    .doctor-dashboard-page--workspace,
    .patient-dashboard-page--workspace,
    .pharmacist-dashboard-page--workspace
  ) *:not(i):not(svg):not(path):not(use):not(script):not(style){
    font-size:14px !important;
  }
}

/* Phone only (≤600px): 9px font size for all portal sections */
@media (max-width:600px){
  body.portal-workspace .portal-section:is(
    .admin-dashboard-page--workspace,
    .doctor-dashboard-page--workspace,
    .patient-dashboard-page--workspace,
    .pharmacist-dashboard-page--workspace
  ) *:not(i):not(svg):not(path):not(use):not(script):not(style){
    font-size:9px !important;
  }
}

/* 2026-03-25: Pharmacist patient treatments action buttons must stay side by side */
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-action-cell,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments .admin-dashboard-table td[data-label="Action"] .pharmacist-action-cell{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  white-space:nowrap !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-action-cell > form,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-action-cell > .portal-inline-form,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments .admin-dashboard-table td[data-label="Action"] .pharmacist-action-cell > form,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments .admin-dashboard-table td[data-label="Action"] .pharmacist-action-cell > .portal-inline-form{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-action-cell > a,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-action-cell > form > .btn,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments .admin-dashboard-table td[data-label="Action"] .pharmacist-action-cell > a,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments .admin-dashboard-table td[data-label="Action"] .pharmacist-action-cell > form > .btn{
  margin:0 !important;
  flex:0 0 auto !important;
}


/* 2026-03-25: Pharmacist invoice action buttons stay in one row and use requested colors */
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-cell,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-cell{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  width:100% !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-cell > form,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-cell > .portal-inline-form,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-cell > form,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-cell > .portal-inline-form{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  flex:0 0 auto !important;
  margin:0 !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-btn,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:0 14px !important;
  border-radius:var(--portal-radius-md) !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  margin:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-btn:not(.pharmacist-invoice-action-btn--delete),
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-btn:not(.pharmacist-invoice-action-btn--delete){
  background:var(--portal-btn-primary-bg, var(--portal-color-text-soft)) !important;
  border:1px solid var(--portal-btn-primary-bg, var(--portal-color-text-soft)) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-btn:not(.pharmacist-invoice-action-btn--delete):is(:hover,:focus-visible,:active),
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-btn:not(.pharmacist-invoice-action-btn--delete):is(:hover,:focus-visible,:active){
  background:var(--portal-btn-primary-hover, var(--portal-color-text-soft)) !important;
  border-color:var(--portal-btn-primary-hover, var(--portal-color-text-soft)) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--delete,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--delete{
  background:var(--portal-color-danger) !important;
  border:1px solid var(--portal-color-danger) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--delete:is(:hover,:focus-visible,:active),
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--delete:is(:hover,:focus-visible,:active){
  background:var(--portal-color-danger) !important;
  border-color:var(--portal-color-danger) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Payment"] .pharmacist-invoice-payment-text,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Payment"] .pharmacist-invoice-payment-text{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:36px !important;
  padding:0 10px !important;
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
  color:var(--portal-color-text) !important;
  font-weight:600 !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--send,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--send{
  background:var(--portal-color-success) !important;
  border:1px solid var(--portal-color-success) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .portal-focused-bordered-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--send:is(:hover,:focus-visible,:active),
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .admin-dashboard-table td[data-label="Action"] .pharmacist-invoice-action-btn.pharmacist-invoice-action-btn--send:is(:hover,:focus-visible,:active){
  background:var(--portal-color-success) !important;
  border-color:var(--portal-color-success) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}


/* === Portal dashboard gradient overview tiles === */
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-card-section{
  position:relative !important;
  padding:0 !important;
  margin:0 0 18px !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-card-section__head{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 0 14px !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-card-section__eyebrow{
  margin:0 0 6px !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:var(--portal-color-brand-primary) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-card-section__head h2{
  margin:0 !important;
  font-size:28px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  color:var(--portal-color-text) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-card-section__head p:not(.portal-overview-card-section__eyebrow){
  margin:6px 0 0 !important;
  max-width:760px !important;
  color:var(--portal-color-text-soft) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
  gap:22px !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:8px !important;
  min-height:172px !important;
  padding:24px 28px !important;
  border:0 !important;
  border-radius:var(--portal-radius-lg, 8px) !important;
  overflow:hidden !important;
  text-decoration:none !important;
  color:var(--portal-color-white) !important;
  box-shadow:0 20px 42px rgba(15,23,42,.18) !important;
  isolation:isolate !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile::before,
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile::after{
  content:"" !important;
  position:absolute !important;
  border-radius:var(--portal-radius-lg, 8px) !important;
  pointer-events:none !important;
  z-index:-1 !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile::before{
  width:180px !important;
  height:180px !important;
  right:-18px !important;
  top:-42px !important;
  background:color-mix(in srgb,var(--portal-color-left-panel-text) 18%,transparent) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile::after{
  width:110px !important;
  height:110px !important;
  right:88px !important;
  top:-56px !important;
  background:color-mix(in srgb,var(--portal-color-left-panel-text) 10%,transparent) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  min-height:40px !important;
  padding:9px 16px !important;
  border-radius:var(--portal-radius-md, 6px) !important;
  background:color-mix(in srgb,var(--portal-color-left-panel-text) 18%,transparent) !important;
  color:color-mix(in srgb,var(--portal-color-left-panel-text) 96%,transparent) !important;
  font-size:13px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__value{
  margin:0 !important;
  font-size:clamp(26px,2.2vw,40px) !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  color:var(--portal-color-white) !important;
  letter-spacing:-.03em !important;
  word-break:break-word !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__meta{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:color-mix(in srgb,var(--portal-color-left-panel-text) 95%,transparent) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__desc{
  margin:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:color-mix(in srgb,var(--portal-color-left-panel-text) 88%,transparent) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--blue{background:var(--portal-color-brand-primary) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--orange{background:var(--portal-color-warning) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--purple{background:var(--portal-color-brand-primary-hover) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--pink{background:var(--portal-color-danger) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--green{background:var(--portal-color-success) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--teal{background:var(--portal-color-success) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--cyan{background:var(--portal-color-brand-primary) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--indigo{background:var(--portal-color-brand-primary-hover) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--sky{background:var(--portal-color-brand-primary) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--violet{background:var(--portal-color-brand-primary-hover) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--red{background:var(--portal-color-danger) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--slate{background:var(--portal-color-text-muted) !important;}

@media (max-width:1200px){
  body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:820px){
  body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-card-section__head h2{
    font-size:24px !important;
  }

  body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:16px !important;
  }

  body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile{
    min-height:156px !important;
    padding:20px 22px !important;
    border-radius:var(--portal-radius-lg, 8px) !important;
  }

  body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__value{
    font-size:30px !important;
  }
}

/* Unified dashboard cards across portals */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace)
  :is(.card,.panel,.portal-card,.portal-section-card,.admin-dashboard-card,.doctor-dashboard-card,.patient-dashboard-card,.pharmacist-dashboard-card,.doctor-dash-panel,.admin-panel,.patient-dash-panel){
  border-radius:var(--portal-radius-lg, 8px) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile{
  min-height:168px !important;
  padding:22px 24px !important;
  border:0 !important;
  border-radius:var(--portal-radius-lg, 8px) !important;
  color:var(--portal-color-white) !important;
  box-shadow:var(--portal-shadow-card-strong) !important;
  overflow:hidden !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile::before,
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile::after{
  display:block !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__eyebrow{
  min-height:auto !important;
  padding:9px 16px !important;
  border-radius:var(--portal-radius-md, 6px) !important;
  background:color-mix(in srgb,var(--portal-color-left-panel-text) 18%,transparent) !important;
  color:color-mix(in srgb,var(--portal-color-left-panel-text) 96%,transparent) !important;
  font-size:13px !important;
  letter-spacing:.02em !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__value{
  color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__meta,
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile__desc{
  color:color-mix(in srgb,var(--portal-color-left-panel-text) 92%,transparent) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) :is(
  .portal-overview-tile--blue,
  .portal-overview-tile--orange,
  .portal-overview-tile--purple,
  .portal-overview-tile--pink,
  .portal-overview-tile--green,
  .portal-overview-tile--teal,
  .portal-overview-tile--cyan,
  .portal-overview-tile--indigo,
  .portal-overview-tile--sky,
  .portal-overview-tile--violet,
  .portal-overview-tile--red,
  .portal-overview-tile--slate
){
  color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--blue{background:var(--portal-color-brand-primary) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--orange{background:var(--portal-color-warning) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--purple{background:var(--portal-color-brand-primary-hover) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--pink{background:var(--portal-color-danger) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--green{background:var(--portal-color-success) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--teal{background:var(--portal-color-success) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--cyan{background:var(--portal-color-brand-primary) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--indigo{background:var(--portal-color-brand-primary-hover) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--sky{background:var(--portal-color-brand-primary) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--violet{background:var(--portal-color-brand-primary-hover) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--red{background:var(--portal-color-danger) !important;}
body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile--slate{background:var(--portal-color-text-muted) !important;}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-admin-inline-row,
body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-admin-inline-row.portal-admin-inline-row--2,
body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-admin-inline-row.portal-inline-admin-0001{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority .portal-overview-tile{
  min-height:168px !important;
  max-height:168px !important;
  height:168px !important;
  border-radius:var(--portal-radius-lg, 8px) !important;
  padding:16px 18px !important;
  overflow:auto !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority .portal-overview-tile__eyebrow{
  min-height:32px !important;
  padding:6px 10px !important;
  font-size:10px !important;
  line-height:1.15 !important;
  overflow-wrap:anywhere !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority .portal-overview-tile__value{
  font-size:clamp(16px,1.5vw,24px) !important;
  line-height:1.1 !important;
  word-break:break-word !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority .portal-overview-tile__meta{
  font-size:11px !important;
  line-height:1.25 !important;
  overflow-wrap:anywhere !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority .portal-overview-tile__desc{
  font-size:11px !important;
  line-height:1.25 !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
}

@media (max-width:1200px){
  body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:820px){
  body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:560px){
  body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid--admin-priority{
    grid-template-columns:minmax(0,1fr) !important;
  }
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard > :is(article.card,section,.portal-admin-inline-row){
  margin-inline:0 auto 18px 0 !important;
  width:100% !important;
}


body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-card-section--compact{
  margin-top:0 !important;
}

@media (max-width:820px){
  body.portal-workspace .portal-section :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main) .portal-overview-tile{
    min-height:148px !important;
    padding:18px 20px !important;
    border-radius:0 !important;
  }
}

/* 2026-03-27: doctor + pharmacist dashboard cards rounded like admin */
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard :is(
  .card,
  .portal-overview-tile,
  .doctor-dashboard-kpi,
  .doctor-dashboard-next-summary-card,
  .portal-dashboard-booking-summary-card
){
  border-radius:var(--portal-radius-lg, 8px) !important;
}

@media (max-width:820px){
  body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard :is(
    .card,
    .portal-overview-tile,
    .doctor-dashboard-kpi,
    .doctor-dashboard-next-summary-card,
    .portal-dashboard-booking-summary-card
  ){
    border-radius:var(--portal-radius-lg, 8px) !important;
  }
}

/* 2026-03-27: remove inner bubble overlays on admin + pharmacist dashboard tiles */
body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile::before,
body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile::after,
body.portal-workspace .portal-section.admin-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile::before,
body.portal-workspace .portal-section.admin-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile::after{
  content:none !important;
  display:none !important;
}

/* 2026-03-27 final dashboard polish: no inner bg-shape, no white wrapper card, fixed spacing */
body.portal-workspace .portal-section :is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace
) :is(#admin-panel-dashboard,#dd-panel-dashboard,#pd-panel-dashboard){
  background:var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace
) :is(#admin-panel-dashboard,#dd-panel-dashboard,#pd-panel-dashboard) :is(
  .portal-overview-tile,
  .doctor-dashboard-kpi,
  .portal-dashboard-payment-kpi-card,
  .portal-dashboard-booking-summary-card
)::before,
body.portal-workspace .portal-section :is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace
) :is(#admin-panel-dashboard,#dd-panel-dashboard,#pd-panel-dashboard) :is(
  .portal-overview-tile,
  .doctor-dashboard-kpi,
  .portal-dashboard-payment-kpi-card,
  .portal-dashboard-booking-summary-card
)::after{
  content:none !important;
  display:none !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard > article.card,
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard > article.card,
body.portal-workspace .portal-section.patient-dashboard-page--workspace #pd-panel-dashboard > article.card{
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
  margin:0 0 12px !important;
  padding:0 !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #dd-panel-dashboard > article.card{
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
  margin:0 0 12px !important;
  padding:0 !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid,
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile-grid,
body.portal-workspace .portal-section.patient-dashboard-page--workspace #pd-panel-dashboard .portal-overview-tile-grid{
  gap:12px !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard #portal-dashboard-payment-kpis,
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .doctor-dashboard-kpi-grid,
body.portal-workspace .portal-section.patient-dashboard-page--workspace #pd-panel-dashboard .patient-dash-kpis{
  gap:12px !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #dd-panel-dashboard :is(
  .portal-overview-tile-grid,
  .doctor-dashboard-kpi-grid
){
  gap:12px !important;
}

/* 2026-03-27 hotfix: dashboard shell + spacing parity (admin/doctor/pharmacist/patient) */
body.portal-workspace .portal-section :is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace,
  .patient-dashboard-page--workspace
) :is(#admin-panel-dashboard,#dd-panel-dashboard,#pd-panel-dashboard){
  background:var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace,
  .patient-dashboard-page--workspace
) :is(#admin-panel-dashboard,#dd-panel-dashboard,#pd-panel-dashboard) > article.card{
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border-color:transparent !important;
  margin:0 0 14px !important;
  padding:0 !important;
}

body.portal-workspace .portal-section :is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace,
  .patient-dashboard-page--workspace
) :is(#admin-panel-dashboard,#dd-panel-dashboard,#pd-panel-dashboard) .portal-overview-card-section{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  margin:0 !important;
  padding:0 !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard .portal-overview-tile-grid,
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile-grid,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile-grid,
body.portal-workspace .portal-section.patient-dashboard-page--workspace #pd-panel-dashboard .portal-overview-tile-grid{
  column-gap:16px !important;
  row-gap:16px !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #admin-panel-dashboard #portal-dashboard-payment-kpis,
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .doctor-dashboard-kpi-grid,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .doctor-dashboard-kpi-grid,
body.portal-workspace .portal-section.patient-dashboard-page--workspace #pd-panel-dashboard .patient-dash-kpis{
  column-gap:16px !important;
  row-gap:16px !important;
}

/* 2026-03-27 hotfix follow-up: remove dashboard white wrapper on doctor + pharmacist shell */
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard{
  background:var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard{
  background:var(--portal-color-surface) !important;
  padding-left:5px !important;
  padding-right:5px !important;
}

body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard > :is(article.card,.card){
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:0 !important;
  margin:0 0 16px !important;
  padding:0 !important;
}

body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard :is(.doctor-dashboard-overview-section,.portal-overview-card-section){
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard :is(.portal-overview-tile-grid,.doctor-dashboard-kpi-grid){
  column-gap:16px !important;
  row-gap:16px !important;
}

body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__eyebrow,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__eyebrow{
  min-height:32px !important;
  padding:6px 10px !important;
  font-size:10px !important;
  line-height:1.12 !important;
}

body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__value,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__value{
  font-size:clamp(14px,1.3vw,20px) !important;
  line-height:1.05 !important;
}

body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__meta,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__meta{
  font-size:8px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}

body.portal-workspace .portal-section.doctor-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__desc,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile__desc{
  font-size:7px !important;
  line-height:1.18 !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
}

/* 2026-04-01 final: unify pharmacist dashboard buttons */
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace{
  --portal-pharmacist-btn-bg:var(--portal-color-brand-primary);
  --portal-pharmacist-btn-hover:var(--portal-color-brand-primary);
  --portal-pharmacist-btn-danger:var(--portal-color-danger);
  --portal-pharmacist-btn-danger-hover:var(--portal-color-danger);
  --portal-pharmacist-btn-width:152px;
  --portal-pharmacist-btn-height:44px;
  --portal-pharmacist-btn-radius:999px;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(
  #portal-pharmacist-patients-list .doctor-dashboard-range-row__apply,
  #portal-pharmacist-patients-list .doctor-patient-cell-name,
  .pharmacist-action-cell .pharmacist-view-btn,
  .pharmacist-action-cell .btn,
  .pharmacist-invoice-action-btn,
  .pharmacist-add-btn,
  .pharmacist-delete-btn
){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:var(--portal-pharmacist-btn-width) !important;
  min-width:var(--portal-pharmacist-btn-width) !important;
  max-width:var(--portal-pharmacist-btn-width) !important;
  height:var(--portal-pharmacist-btn-height) !important;
  min-height:var(--portal-pharmacist-btn-height) !important;
  padding:0 18px !important;
  border-radius:var(--portal-pharmacist-btn-radius) !important;
  box-sizing:border-box !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-align:center !important;
  text-decoration:none !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  box-shadow:none !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(
  #portal-pharmacist-patients-list .doctor-dashboard-range-row__apply,
  #portal-pharmacist-patients-list .doctor-patient-cell-name,
  .pharmacist-action-cell .pharmacist-view-btn,
  .pharmacist-action-cell .btn,
  .pharmacist-invoice-action-btn,
  .pharmacist-add-btn,
  .pharmacist-delete-btn
) :is(span,strong,i,svg){
  color:var(--portal-color-white) !important;
  fill:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(
  #portal-pharmacist-patients-list .doctor-dashboard-range-row__apply,
  #portal-pharmacist-patients-list .doctor-patient-cell-name,
  .pharmacist-action-cell .pharmacist-view-btn,
  .pharmacist-action-cell .btn,
  .pharmacist-invoice-action-btn,
  .pharmacist-add-btn
):not(.portal-btn-danger):not(.pharmacist-delete-btn):not(.pharmacist-invoice-action-btn--delete){
  background:var(--portal-pharmacist-btn-bg) !important;
  background-image:none !important;
  border:1px solid var(--portal-pharmacist-btn-bg) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(
  #portal-pharmacist-patients-list .doctor-dashboard-range-row__apply,
  #portal-pharmacist-patients-list .doctor-patient-cell-name,
  .pharmacist-action-cell .pharmacist-view-btn,
  .pharmacist-action-cell .btn,
  .pharmacist-invoice-action-btn,
  .pharmacist-add-btn
):not(.portal-btn-danger):not(.pharmacist-delete-btn):not(.pharmacist-invoice-action-btn--delete):is(:hover,:focus-visible,:active){
  background:var(--portal-pharmacist-btn-hover) !important;
  background-image:none !important;
  border-color:var(--portal-pharmacist-btn-hover) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(
  .pharmacist-delete-btn,
  .pharmacist-invoice-action-btn--delete,
  .portal-btn-danger
){
  background:var(--portal-pharmacist-btn-danger) !important;
  background-image:none !important;
  border:1px solid var(--portal-pharmacist-btn-danger) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(
  .pharmacist-delete-btn,
  .pharmacist-invoice-action-btn--delete,
  .portal-btn-danger
):is(:hover,:focus-visible,:active){
  background:var(--portal-pharmacist-btn-danger-hover) !important;
  background-image:none !important;
  border-color:var(--portal-pharmacist-btn-danger-hover) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links{
  gap:8px !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a.btn,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a.btn--ghost,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a.btn--primary{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:var(--portal-pharmacist-btn-height) !important;
  padding:0 18px !important;
  border:1px solid var(--portal-pharmacist-btn-bg) !important;
  border-radius:var(--portal-pharmacist-btn-radius) !important;
  background:var(--portal-pharmacist-btn-bg) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
  text-align:center !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a:hover,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a:focus-visible,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a:active{
  background:var(--portal-pharmacist-btn-hover) !important;
  border-color:var(--portal-pharmacist-btn-hover) !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a.btn--primary{
  background:var(--portal-pharmacist-btn-hover) !important;
  border-color:var(--portal-pharmacist-btn-hover) !important;
}

/* 2026-04-04: Compact action cells for pharmacist invoices/treatments + admin treatment rows */
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(#dd-panel-patients, #dd-panel-invoices) td[data-label="Action"] .pharmacist-invoice-action-cell,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments td[data-label="Action"] .pharmacist-action-cell{
  gap:6px !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(#dd-panel-patients, #dd-panel-invoices) td[data-label="Action"] .pharmacist-invoice-action-btn{
  width:78px !important;
  min-width:78px !important;
  max-width:78px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 8px !important;
  font-size:12px !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments td[data-label="Action"] :is(.pharmacist-view-btn, .btn){
  width:auto !important;
  min-width:56px !important;
  max-width:none !important;
  height:32px !important;
  min-height:32px !important;
  padding:0 12px !important;
  font-size:12px !important;
  white-space:nowrap !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments td[data-label="Action"] .pharmacist-action-cell{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:none !important;
  white-space:nowrap !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-treatments td[data-label="Action"] .pharmacist-inline-action-form{
  display:inline-flex !important;
  width:auto !important;
  flex:0 0 auto !important;
}

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace :is(#dd-panel-patients, #dd-panel-invoices) td[data-label="Action"]{
  min-width:332px !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-dashboard-row-actions.portal-focused-rx-actions{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-dashboard-row-actions.portal-focused-rx-actions .btn{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 10px !important;
  font-size:12px !important;
  white-space:nowrap !important;
  color:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace #portal-admin-patient-focus .portal-focused-rx-table td[data-label="Action"]{
  min-width:260px !important;
  width:260px !important;
  white-space:normal !important;
  overflow:hidden !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) #admin-panel-dashboard .portal-pharmacy-status-grid,
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) #dd-panel-dashboard .portal-pharmacy-status-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:12px !important;
  grid-column:1 / -1 !important;
  width:100% !important;
  margin:0 0 14px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(#admin-panel-dashboard,#dd-panel-dashboard) .portal-pharmacy-status-card--queued{
  background:var(--portal-color-warning, #f59e0b) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(#admin-panel-dashboard,#dd-panel-dashboard) .portal-pharmacy-status-card--dispensed{
  background:var(--portal-color-success, #16a34a) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(#admin-panel-dashboard,#dd-panel-dashboard) .portal-pharmacy-status-card--collected{
  background:var(--portal-color-success, #16a34a) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(#admin-panel-dashboard,#dd-panel-dashboard) .portal-pharmacy-status-card--cancelled{
  background:var(--portal-color-danger, #dc2626) !important;
}

@media (max-width: 960px) {
  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) #admin-panel-dashboard .portal-pharmacy-status-grid,
  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) #dd-panel-dashboard .portal-pharmacy-status-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) #admin-panel-dashboard .portal-pharmacy-status-grid,
  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) #dd-panel-dashboard .portal-pharmacy-status-grid{
    grid-template-columns:1fr !important;
  }
}

/* Final lock: all button/action text white in all portal pages and states */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace)
  :is(.btn,.btn--primary,.btn--ghost,.button,button,input[type="submit"],input[type="button"],a.btn,a.button,[class*="btn"],.portal-focused-rx-action-icon,.portal-mobile-action-btn,.patient-medical-form-action-btn,.patient-upload-action-btn,.patient-payment-action-btn),
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace)
  :is(.btn,.btn--primary,.btn--ghost,.button,button,input[type="submit"],input[type="button"],a.btn,a.button,[class*="btn"],.portal-focused-rx-action-icon,.portal-mobile-action-btn,.patient-medical-form-action-btn,.patient-upload-action-btn,.patient-payment-action-btn):is(:link,:visited,:hover,:focus,:focus-visible,:active),
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace)
  :is(.btn,.btn--primary,.btn--ghost,.button,button,input[type="submit"],input[type="button"],a.btn,a.button,[class*="btn"],.portal-focused-rx-action-icon,.portal-mobile-action-btn,.patient-medical-form-action-btn,.patient-upload-action-btn,.patient-payment-action-btn) :is(span,strong,small,label,i,svg,.bi,.portal-mobile-action-label){
  color:var(--portal-color-white) !important;
  fill:var(--portal-color-white) !important;
  -webkit-text-fill-color:var(--portal-color-white) !important;
}

.login-page {
  --login-bg: var(--portal-ext-login-bg);
  --login-ink: var(--portal-ext-login-ink);
  --login-soft: var(--portal-ext-login-soft);
  --login-accent: var(--portal-theme-brand);
  --login-accent-2: var(--portal-ext-login-accent-2);
  --login-card: var(--portal-theme-paper);
  --login-border: var(--portal-color-border);
  position: relative;
  padding: 70px 0 90px;
  background: var(--login-bg);
  color: var(--login-ink);
  font-family: "Space Grotesk", "DM Sans", "Segoe UI", sans-serif;
}

.login-page::before,
.login-page::after {
  display: none;
}

.login-page .portal-container {
  position: relative;
  z-index: 1;
}

.login-page-simple {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  justify-items: center;
}

.login-page-form,
.login-wrap {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  padding: 36px 38px;
  border-radius: var(--portal-radius-lg, 8px);
  background: var(--login-card);
  border: 1px solid var(--portal-color-border);
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}

.login-page-form {
  text-align: left;
}

.login-page-form--shortcode {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.login-page-form p,
.login-wrap p {
  color: var(--login-soft);
  line-height: 1.65;
}

.login-page-form strong,
.login-wrap strong {
  color: var(--login-ink);
}

.login-page-simple__note {
  margin: 16px 0 24px;
  padding: 14px 16px;
  border-radius: 0;
  background: var(--portal-color-brand-primary-soft);
  border: 1px solid var(--portal-color-border);
}

.login-page-forgot__lead {
  margin-top: 16px;
  font-weight: 600;
  color: var(--login-ink);
}

.login-page-forgot__after {
  margin-top: 8px;
}

.login-page-form__wrap {
  margin: 18px 0 8px;
}

.login-page-form__meta,
.login-foot {
  margin-top: 16px;
  font-size: 14px;
  color: var(--login-soft);
}

.login-page-form__meta a,
.login-foot a,
.login-page a.link {
  color: var(--login-accent);
  font-weight: 600;
  text-decoration: none;
}

.login-page-form__meta a:hover,
.login-foot a:hover,
.login-page a.link:hover {
  color: var(--portal-ext-link-hover);
  text-decoration: underline;
}

.login-page-notice {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 0;
  background: var(--portal-color-brand-primary-soft);
  border: 1px solid var(--portal-color-border);
  color: var(--portal-color-brand-primary);
}

.login-page-notice__subline {
  margin: 8px 0 0;
}

.portal-alert,
.login-alert {
  margin: 12px 0 18px;
  padding: 12px 14px;
  border-radius: 0;
  font-weight: 600;
  border: 1px solid var(--portal-color-border);
}

.portal-alert--bad,
.login-alert--error {
  background: var(--portal-color-page-bg);
  border-color: var(--portal-color-danger);
  color: var(--portal-color-danger);
}

.portal-alert--ok,
.login-alert--ok {
  background: var(--portal-color-brand-primary-soft);
  border-color: var(--portal-color-brand-primary);
  color: var(--portal-color-brand-primary);
}

.login-page-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
}

.login-form,
#portal-login-form {
  display: grid;
  gap: 14px;
}

.login-form label,
#portal-login-form label {
  display: block;
  font-weight: 600;
  color: var(--login-ink);
  margin-bottom: 6px;
}

.login-form input[type="text"],
.login-form input[type="email"],
.login-form input[type="password"],
#portal-login-form input[type="text"],
#portal-login-form input[type="password"] {
  width: 100%;
  padding: 12px 14px;
  border-radius: 0;
  border: 1px solid var(--portal-color-border);
  background: var(--portal-color-surface);
  font-size: 15px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-form input:focus,
#portal-login-form input:focus {
  outline: none;
  border-color: var(--portal-color-brand-primary);
  box-shadow: var(--portal-focus-ring, 0 0 0 3px rgba(37, 99, 235, .24));
}

.login-form :is(input, button, a, select, textarea):focus-visible,
#portal-login-form :is(input, button, a, select, textarea):focus-visible {
  outline: 2px solid var(--login-accent);
  outline-offset: 2px;
}

.login-form input[type="checkbox"],
#portal-login-form input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--login-accent);
  margin-right: 8px;
}

.login-form p,
#portal-login-form p {
  margin: 0;
}

.login-submit,
#portal-wp-submit,
#portal-login-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: var(--portal-radius-md, 6px);
  border: 1px solid var(--portal-color-brand-primary);
  background: var(--portal-color-brand-primary);
  color: var(--portal-color-surface);
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.login-submit:hover,
#portal-wp-submit:hover,
#portal-login-form input[type="submit"]:hover {
  background: var(--portal-color-brand-primary-hover);
  border-color: var(--portal-color-brand-primary-hover);
}

.login-page .row .portal-btn {
  border-radius: var(--portal-radius-md, 6px);
}

.portal-brand-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin-bottom: 12px;
}

.portal-brand-logo {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.portal-brand-title {
  display: block;
  font-size: 20px;
  letter-spacing: 0.4px;
  text-align: center;
}

.login-page .card.login-page-form.login-page-form--shortcode {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.login-page .card.login-page-form.login-page-form--shortcode .login-page-form__wrap {
  display: flex;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
}

.login-page .card.login-page-form.login-page-form--shortcode .login-wrap {
  margin-inline: auto;
}

.login-wrap h2,
.login-page-form h1,
.login-page-form h2 {
  margin: 6px 0 8px;
  font-size: 28px;
  color: var(--login-ink);
}

.login-wrap .login-foot {
  margin-top: 18px;
}

@media (max-width: 720px) {
  .login-page {
    padding: 50px 0 70px;
  }

  .login-page-form,
  .login-wrap {
    padding: 28px 22px;
    border-radius: var(--portal-radius-lg, 8px);
  }

  .login-wrap h2,
  .login-page-form h1,
  .login-page-form h2 {
    font-size: 24px;
  }

  .login-page-form__meta a,
  .login-foot a,
  .login-page a.link {
    display: inline-block;
    min-height: 44px;
    line-height: 44px;
    padding: 0 4px;
  }
}


.portal-brand-title{display:none !important;}
.login-page .portal-brand-row{display:none !important;}
.portal-login-card-logo{display:flex;justify-content:center;align-items:center;margin:0 auto 18px;width:100%;}
.portal-login-card-logo img{display:block;margin:0 auto;max-height:60px;max-width:220px;width:auto;height:auto;}
.login-page-form--shortcode .portal-login-card-logo{margin-bottom:14px;}


.portal-brand-row{display:flex !important;justify-content:center !important;align-items:center !important;text-align:center !important;margin:0 auto 18px !important;}
.portal-brand-logo--auth{display:block !important;margin:0 auto !important;max-width:220px !important;max-height:56px !important;width:auto !important;height:auto !important;}

/*
 * Portal global design system polish.
 * Loaded after feature styles so Admin, Doctor, Patient and Pharmacist portals
 * share the same blue medical-service UI language.
 */
body.portal-workspace {
  background: var(--portal-color-page-bg) !important;
  color: var(--portal-color-text);
}

body.portal-workspace .portal-section {
  color: var(--portal-color-text);
}

body.portal-workspace .portal-section :is(.muted, .small, .help, .description, .portal-muted, .portal-help-text) {
  color: var(--portal-color-text-soft) !important;
}

body.portal-workspace .portal-section :is(
  .card,
  .panel,
  .portal-card,
  .portal-panel,
  .portal-section-card,
  .portal-dashboard-card,
  .portal-kpi-card,
  .portal-stat-card,
  .portal-settings-card,
  .portal-list-card,
  .portal-form-card,
  .portal-focused-card
) {
  background: var(--portal-color-surface) !important;
  border: 1px solid var(--portal-color-border) !important;
  border-radius: var(--portal-radius-md) !important;
  box-shadow: var(--portal-shadow-card) !important;
}

body.portal-workspace .portal-section :is(.card, .panel, .portal-card, .portal-panel) > :is(h1, h2, h3, h4):first-child {
  color: var(--portal-color-text-strong) !important;
}

body.portal-workspace .portal-section :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  select,
  textarea
) {
  width: auto;
  max-width: 100%;
  min-height: var(--portal-control-height) !important;
  padding: 9px var(--portal-control-padding-x) !important;
  border: 1px solid var(--portal-color-border-strong) !important;
  border-radius: var(--portal-radius-md) !important;
  background: var(--portal-color-surface) !important;
  color: var(--portal-color-text) !important;
  box-shadow: var(--portal-shadow-control) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.portal-workspace .portal-section textarea {
  min-height: 104px !important;
  resize: vertical;
}

body.portal-workspace .portal-section :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  select,
  textarea
):is(:focus, :focus-visible) {
  border-color: var(--portal-color-brand-primary) !important;
  box-shadow: var(--portal-focus-ring) !important;
  outline: none !important;
}

body.portal-workspace .portal-section :is(label, .portal-field-label, .form-label) {
  color: var(--portal-color-text-strong);
  font-weight: 700;
}

body.portal-workspace .portal-section :is(
  .btn,
  .button,
  button.btn,
  a.btn,
  a.button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  .pharmacist-view-btn,
  .pharmacist-add-btn
) {
  min-height: var(--portal-control-height) !important;
  padding: 0 14px !important;
  border-radius: var(--portal-radius-md) !important;
  border: 1px solid var(--portal-color-border-strong) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: var(--portal-shadow-control) !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

body.portal-workspace .portal-section :is(
  .btn--primary,
  .button-primary,
  .portal-btn-primary,
  .portal-admin-btn-primary,
  .pharmacist-view-btn,
  .pharmacist-add-btn,
  input[type="submit"]
) {
  background: var(--portal-color-brand-primary) !important;
  border-color: var(--portal-color-brand-primary) !important;
  color: var(--portal-btn-primary-text) !important;
  -webkit-text-fill-color: var(--portal-btn-primary-text) !important;
}

body.portal-workspace .portal-section :is(
  .btn--primary,
  .button-primary,
  .portal-btn-primary,
  .portal-admin-btn-primary,
  .pharmacist-view-btn,
  .pharmacist-add-btn,
  input[type="submit"]
):is(:hover, :focus-visible, :active) {
  background: var(--portal-color-brand-primary-hover) !important;
  border-color: var(--portal-color-brand-primary-hover) !important;
  color: var(--portal-btn-primary-text) !important;
  -webkit-text-fill-color: var(--portal-btn-primary-text) !important;
}

body.portal-workspace .portal-section :is(.btn, .button, a.btn, a.button):not(.btn--primary):not(.button-primary):not(.portal-btn-primary):not(.portal-admin-btn-primary):not(.portal-btn-danger):not(.portal-admin-btn-danger):not(.pharmacist-view-btn):not(.pharmacist-add-btn):not(.pharmacist-delete-btn) {
  background: var(--portal-color-surface) !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section :is(.btn, .button, a.btn, a.button):not(.btn--primary):not(.button-primary):not(.portal-btn-primary):not(.portal-admin-btn-primary):not(.portal-btn-danger):not(.portal-admin-btn-danger):not(.pharmacist-view-btn):not(.pharmacist-add-btn):not(.pharmacist-delete-btn):is(:hover, :focus-visible) {
  background: var(--portal-color-brand-primary-soft) !important;
  border-color: var(--portal-color-brand-primary) !important;
  color: var(--portal-color-brand-primary-hover) !important;
  -webkit-text-fill-color: var(--portal-color-brand-primary-hover) !important;
}

body.portal-workspace .portal-section :is(.portal-btn-danger, .portal-admin-btn-danger, .pharmacist-delete-btn, .btn--danger) {
  background: var(--portal-color-danger) !important;
  border-color: var(--portal-color-danger) !important;
  color: var(--portal-btn-danger-text) !important;
  -webkit-text-fill-color: var(--portal-btn-danger-text) !important;
}

body.portal-workspace .portal-section :is(.portal-btn-danger, .portal-admin-btn-danger, .pharmacist-delete-btn, .btn--danger):is(:hover, :focus-visible, :active) {
  background: var(--portal-color-danger) !important;
  border-color: var(--portal-color-danger) !important;
  color: var(--portal-btn-danger-text) !important;
  -webkit-text-fill-color: var(--portal-btn-danger-text) !important;
}

body.portal-workspace .portal-section :is(.btn, .button, button, a, input, select, textarea):focus-visible {
  outline: none !important;
  box-shadow: var(--portal-focus-ring) !important;
}

body.portal-workspace .portal-section :is(.portal-badge, .badge, .status-badge, .chip, .pill) {
  border-radius: var(--portal-radius-md);
  border: 1px solid var(--portal-color-border);
  background: var(--portal-color-brand-primary-soft);
  color: var(--portal-color-brand-primary-hover);
  font-weight: 700;
}

body.portal-workspace .portal-section :is(.portal-alert, .notice, .alert) {
  border-radius: var(--portal-radius-md) !important;
  border: 1px solid var(--portal-color-border) !important;
  background: var(--portal-color-surface) !important;
  color: var(--portal-color-text) !important;
  box-shadow: var(--portal-shadow-control) !important;
}

body.portal-workspace .portal-section :is(.portal-alert--success, .alert-success, .notice-success) {
  border-color: var(--portal-color-border) !important;
  background: var(--portal-color-success-surface) !important;
  color: var(--portal-color-success) !important;
}

body.portal-workspace .portal-section :is(.portal-alert--warning, .alert-warning, .notice-warning) {
  border-color: var(--portal-color-border) !important;
  background: var(--portal-color-warning-surface) !important;
  color: var(--portal-color-warning) !important;
}

body.portal-workspace .portal-section :is(.portal-alert--danger, .alert-danger, .notice-error, .error) {
  border-color: var(--portal-color-border) !important;
  background: var(--portal-color-danger-surface) !important;
  color: var(--portal-color-danger) !important;
}

.portal-toast-stack {
  position: fixed;
  top: max(18px, env(safe-area-inset-top));
  left: 50%;
  z-index: 1000000;
  width: min(560px, calc(100vw - 28px));
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  pointer-events: none;
  transform: translateX(-50%);
}

.portal-toast {
  --portal-toast-accent: var(--portal-color-brand-primary);
  --portal-toast-icon-bg: var(--portal-color-brand-primary-soft);
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 12px 12px 12px 14px;
  border: 1px solid var(--portal-color-border);
  border-left: 4px solid var(--portal-toast-accent);
  border-radius: var(--portal-radius-md);
  background: var(--portal-color-surface);
  color: var(--portal-color-text);
  box-shadow: var(--portal-shadow-card-strong);
  pointer-events: auto;
  overflow: hidden;
  animation: portal-toast-enter .22s cubic-bezier(.2,.8,.2,1) both;
}

.portal-toast--closing {
  animation: portal-toast-exit .2s ease-in both;
}

.portal-toast--success {
  --portal-toast-accent: var(--portal-color-success);
  --portal-toast-icon-bg: var(--portal-color-success-surface);
}

.portal-toast--error {
  --portal-toast-accent: var(--portal-color-danger);
  --portal-toast-icon-bg: var(--portal-color-danger-surface);
}

.portal-toast--warning {
  --portal-toast-accent: var(--portal-color-warning);
  --portal-toast-icon-bg: var(--portal-color-warning-surface);
}

.portal-toast--info {
  --portal-toast-accent: var(--portal-color-brand-primary);
  --portal-toast-icon-bg: var(--portal-color-brand-primary-soft);
}

.portal-toast__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: var(--portal-radius-md, 6px);
  background: var(--portal-toast-icon-bg);
  color: var(--portal-toast-accent);
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}

.portal-toast__message {
  min-width: 0;
  color: var(--portal-color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.portal-toast__close {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--portal-radius-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: var(--portal-color-text-soft) !important;
  -webkit-text-fill-color: var(--portal-color-text-soft) !important;
  box-shadow: none !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer;
}

.portal-toast__close:is(:hover, :focus-visible) {
  background: var(--portal-color-surface-soft) !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

.portal-alert.portal-center-popup-toast {
  border-radius: var(--portal-radius-md) !important;
  background: var(--portal-color-surface) !important;
  border-color: var(--portal-color-border) !important;
  box-shadow: var(--portal-shadow-card-strong) !important;
  color: var(--portal-color-text) !important;
}

@keyframes portal-toast-enter {
  from {
    opacity: 0;
    transform: translateY(-12px) scale(.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes portal-toast-exit {
  to {
    opacity: 0;
    transform: translateY(-10px) scale(.98);
  }
}

@media (max-width: 640px) {
  .portal-toast-stack {
    top: max(12px, env(safe-area-inset-top));
    width: calc(100vw - 20px);
  }

  .portal-toast {
    grid-template-columns: 30px minmax(0, 1fr) 28px;
    gap: 10px;
    min-height: 52px;
    padding: 10px 10px 10px 12px;
  }

  .portal-toast__message {
    font-size: 13px;
  }
}

body.portal-workspace .portal-section :is(.modal, .portal-modal, .portal-dialog, [role="dialog"]) {
  border-radius: var(--portal-radius-lg) !important;
  border: 1px solid var(--portal-color-border) !important;
  background: var(--portal-color-surface) !important;
  box-shadow: var(--portal-shadow-card-strong) !important;
}

body.portal-workspace .portal-section :is(table, .portal-table) {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--portal-color-surface, var(--portal-color-surface)) !important;
  color: var(--portal-color-text, var(--portal-color-text));
}

body.portal-workspace .portal-section :is(table, .portal-table) :is(th, td) {
  border-bottom: 1px solid var(--portal-color-border, var(--portal-color-border)) !important;
  padding: 12px 14px !important;
  vertical-align: middle !important;
}

body.portal-workspace .portal-section :is(table, .portal-table) th {
  background: var(--portal-color-surface-soft, var(--portal-color-page-bg)) !important;
  color: var(--portal-color-text-strong, var(--portal-color-text)) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
}

body.portal-workspace .portal-section :is(table, .portal-table) tbody tr:hover > * {
  background: var(--portal-color-brand-primary-soft, var(--portal-color-brand-primary-soft)) !important;
}

body.portal-workspace .portal-section :is(.table-wrap, .portal-table-wrap, .table-responsive, .portal-responsive-table, .portal-table-scroll) {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--portal-radius-md, 8px);
}

body.portal-workspace .portal-section :is(.portal-form-actions, .form-actions, .card-actions, .table-actions, .portal-actions, .admin-dashboard-row-actions, .doctor-dash-row-actions, .patient-dash-row-actions, .pharmacist-action-cell) {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

body.portal-workspace .portal-section :is(.portal-form-actions, .form-actions, .card-actions, .portal-actions) {
  justify-content: flex-end;
}

body.portal-workspace .portal-section :is(
  .portal-form-grid,
  .form-grid,
  .portal-fields-grid,
  .portal-filter-row,
  .doctor-support-filter-row,
  .patient-dash-filters,
  .pharmacist-filter-row,
  .portal-toolbar,
  .portal-search-row,
  .portal-controls-row
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
}

body.portal-workspace .portal-section :is(.portal-form-grid--2, .portal-grid--2) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.portal-workspace .portal-section :is(.portal-form-grid--3, .portal-grid--3) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.portal-workspace .portal-section :is(.portal-form-grid--4, .portal-grid--4) {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.portal-workspace .portal-section :is(
  .portal-form-grid,
  .form-grid,
  .portal-fields-grid,
  .portal-filter-row,
  .doctor-support-filter-row,
  .patient-dash-filters,
  .pharmacist-filter-row,
  .portal-toolbar,
  .portal-search-row,
  .portal-controls-row
) > * {
  min-width: 0;
}

body.portal-workspace .portal-section :is(
  .portal-filter-row,
  .doctor-support-filter-row,
  .patient-dash-filters,
  .pharmacist-filter-row,
  .portal-toolbar,
  .portal-search-row,
  .portal-controls-row
) > :is(.btn, .button, button, a.btn, a.button, input[type="submit"], input[type="button"]) {
  width: auto;
  justify-self: start;
  align-self: end;
}

body.portal-workspace .portal-section :is(.portal-inline-field, .portal-field, .form-field, label) {
  min-width: 0;
}

body.portal-workspace .portal-section :is(.portal-inline-field, .portal-field, .form-field) > :is(input, select, textarea, .form-control) {
  width: 100% !important;
}

body.portal-workspace .portal-section td :is(.portal-inline-form, .inline-form) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  max-width: 100% !important;
}

body.portal-workspace .portal-section td :is(.portal-inline-form, .inline-form) :is(select, input, .form-control) {
  width: auto !important;
  min-width: 120px;
}

/*
 * Final contrast + square lock.
 * Any non-white administrative surface must use white text; white controls and
 * table cells use the primary ink. Keep this block last so older panel-specific
 * green/orange/grey styles cannot leak through.
 */
body.portal-workspace .portal-section :is(
  table, thead, tbody, tfoot, tr, th, td,
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
  select, textarea, .form-control,
  .portal-alert, .notice, .alert,
  .portal-badge, .badge, .status-badge, .chip, .pill,
  .table-wrap, .portal-table-wrap
) {
  border-radius: 0 !important;
}

body.portal-workspace .portal-section :is(
  .card,
  .panel,
  .portal-card,
  .portal-panel,
  .portal-section-card,
  .portal-dashboard-card,
  .portal-kpi-card,
  .portal-stat-card,
  .portal-settings-card,
  .portal-list-card,
  .portal-form-card,
  .portal-focused-card,
  .admin-dashboard-table,
  .portal-table,
  table,
  tbody,
  td,
  .form-control,
  input,
  select,
  textarea
) {
  color: var(--portal-color-text, var(--portal-color-text)) !important;
  -webkit-text-fill-color: var(--portal-color-text, var(--portal-color-text)) !important;
}

body.portal-workspace .portal-section :is(
  thead,
  thead tr,
  thead th,
  table thead th,
  .admin-dashboard-table thead th,
  .portal-table thead th,
  .portal-template-automation__table th
) {
  background: var(--portal-color-table-head) !important;
  background-color: var(--portal-color-table-head) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
  border-color: var(--portal-color-table-border, var(--portal-color-left-panel-bg, #2563EB)) !important;
}

body.portal-workspace .portal-section :is(
  thead,
  thead tr,
  thead th,
  table thead th,
  .admin-dashboard-table thead th,
  .portal-table thead th,
  .portal-template-automation__table th
) * {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .btn--primary,
  .button-primary,
  .portal-btn-primary,
  .portal-admin-btn-primary,
  .pharmacist-view-btn,
  .pharmacist-add-btn,
  #admin-sidebar-nav,
  .admin-sidebar,
  .admin-sidebar__head,
  .admin-panel-nav__item,
  .portal-dashboard-sidebar,
  .portal-admin-sidebar,
  .admin-dashboard-sidebar,
  .admin-dashboard-side-nav,
  .portal-overview-card-section__head,
  .portal-template-panel-head,
  .portal-overview-tile,
  .portal-kpi-card,
  .portal-int-card--navy,
  .portal-int-card--blue,
  .portal-int-card--green,
  .portal-int-card--orange,
  .portal-int-card--purple,
  .portal-int-card--indigo,
  .portal-int-card--slate,
  .portal-admin-status-card,
  .portal-summary-card,
  .portal-report-summary-card,
  .portal-report-hero,
  .portal-settings-section-title,
  .portal-section-title
) {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .btn--primary,
  .button-primary,
  .portal-btn-primary,
  .portal-admin-btn-primary,
  .pharmacist-view-btn,
  .pharmacist-add-btn,
  #admin-sidebar-nav,
  .admin-sidebar,
  .admin-sidebar__head,
  .admin-panel-nav__item,
  .portal-dashboard-sidebar,
  .portal-admin-sidebar,
  .admin-dashboard-sidebar,
  .admin-dashboard-side-nav,
  .portal-overview-card-section__head,
  .portal-template-panel-head,
  .portal-overview-tile,
  .portal-kpi-card,
  .portal-int-card--navy,
  .portal-int-card--blue,
  .portal-int-card--green,
  .portal-int-card--orange,
  .portal-int-card--purple,
  .portal-int-card--indigo,
  .portal-int-card--slate,
  .portal-admin-status-card,
  .portal-summary-card,
  .portal-report-summary-card,
  .portal-report-hero,
  .portal-settings-section-title,
  .portal-section-title
) :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,label,div) {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .btn--primary,
  .button-primary,
  .portal-btn-primary,
  .portal-admin-btn-primary,
  .pharmacist-view-btn,
  .pharmacist-add-btn
) {
  background: var(--portal-color-brand-primary, var(--portal-color-brand-primary)) !important;
  background-color: var(--portal-color-brand-primary, var(--portal-color-brand-primary)) !important;
  border-color: var(--portal-color-brand-primary, var(--portal-color-brand-primary)) !important;
}

body.portal-workspace .portal-section :is(
  tbody td,
  tbody td p,
  tbody td span,
  tbody td strong,
  tbody td small,
  tbody td div,
  tbody td a:not(.btn):not(.button)
) {
  color: var(--portal-color-text, var(--portal-color-text)) !important;
  -webkit-text-fill-color: var(--portal-color-text, var(--portal-color-text)) !important;
}

body.portal-workspace .portal-section :is(
  .portal-btn-danger,
  .portal-admin-btn-danger,
  .pharmacist-delete-btn,
  .btn--danger,
  button[data-confirm-msg*="Delete" i],
  button[data-confirm-msg*="Remove" i]
) {
  background: var(--portal-color-danger, var(--portal-color-danger)) !important;
  background-color: var(--portal-color-danger, var(--portal-color-danger)) !important;
  border-color: var(--portal-color-danger, var(--portal-color-danger)) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .portal-btn-danger,
  .portal-admin-btn-danger,
  .pharmacist-delete-btn,
  .btn--danger,
  button[data-confirm-msg*="Delete" i],
  button[data-confirm-msg*="Remove" i]
) * {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .btn,
  .button,
  button,
  a.btn,
  a.button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
) {
  border-radius: var(--portal-radius-md) !important;
}

body.portal-workspace .portal-section :is(
  .portal-badge,
  .badge,
  .status-badge,
  .chip,
  .pill
) {
  border-radius: 0 !important;
}


body.portal-workspace .portal-section td :is(.portal-inline-form, .inline-form) :is(.btn, .button, button, input[type="submit"]) {
  flex: 0 0 auto;
}

@media (max-width: 1024px) {
  body.portal-workspace .portal-section :is(.portal-grid, .cards-grid, .dashboard-grid, .portal-dashboard-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.portal-workspace .portal-section :is(.portal-form-grid--4, .portal-grid--4) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 782px) {
  body.portal-workspace .portal-section {
    --portal-card-padding: 14px;
  }

  body.portal-workspace .portal-section :is(.portal-grid, .cards-grid, .dashboard-grid, .portal-dashboard-grid, .form-grid, .portal-form-grid, .portal-fields-grid, .portal-filter-row, .doctor-support-filter-row, .patient-dash-filters, .pharmacist-filter-row, .portal-toolbar, .portal-search-row, .portal-controls-row) {
    grid-template-columns: 1fr !important;
  }

  body.portal-workspace .portal-section :is(.card, .panel, .portal-card, .portal-panel, .portal-section-card) {
    padding: var(--portal-card-padding, 14px) !important;
  }

  body.portal-workspace .portal-section :is(
    input[type="text"],
    input[type="email"],
    input[type="url"],
    input[type="tel"],
    input[type="password"],
    input[type="search"],
    input[type="number"],
    input[type="date"],
    input[type="time"],
    input[type="datetime-local"],
    select,
    textarea
  ) {
    width: 100% !important;
  }

  body.portal-workspace .portal-section :is(.portal-form-actions, .form-actions, .card-actions, .portal-actions) {
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  body.portal-workspace .portal-section :is(.portal-form-actions, .form-actions, .card-actions, .portal-actions) > :is(.btn, .button, button, a.btn, a.button, input[type="submit"]) {
    width: 100%;
    max-width: 100%;
  }

  body.portal-workspace .portal-section :is(
    .portal-filter-row,
    .doctor-support-filter-row,
    .patient-dash-filters,
    .pharmacist-filter-row,
    .portal-toolbar,
    .portal-search-row,
    .portal-controls-row
  ) > :is(.btn, .button, button, a.btn, a.button, input[type="submit"], input[type="button"]) {
    width: 100%;
    justify-self: stretch;
  }

  body.portal-workspace .portal-section td :is(.portal-inline-form, .inline-form) {
    flex-wrap: wrap !important;
  }

  body.portal-workspace .portal-section td :is(.portal-inline-form, .inline-form) :is(select, input, .form-control) {
    min-width: min(180px, 100%);
  }

  body.portal-workspace .portal-section :is(table, .portal-table) {
    min-width: 680px;
  }
}

/* Final workspace pass: tighten dashboard colors, field rows, table actions and totals views. */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) {
  background: var(--portal-color-page-bg) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) * {
  letter-spacing: 0 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.admin-main,.doctor-dashboard-main,.patient-dashboard-main,.pharmacist-dashboard-main) {
  gap: 16px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.admin-panel,.doctor-dash-panel,.patient-dash-panel,.pharmacist-dashboard-panel,.card,.panel,.portal-card,.portal-panel,.portal-section-card) {
  border-radius: var(--portal-radius-lg) !important;
  border: 1px solid var(--portal-color-border) !important;
  background: var(--portal-workspace-surface) !important;
  box-shadow: var(--portal-shadow-card) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(table,.portal-table,.admin-dashboard-table,.doctor-dash-table,.patient-dash-table,.portal-amcal-table,.table-lite) {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed;
  background: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(table,.portal-table,.admin-dashboard-table,.doctor-dash-table,.patient-dash-table,.portal-amcal-table,.table-lite) th {
  height: 46px !important;
  padding: 10px 14px !important;
  background: var(--portal-workspace-table-head) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
  border-color: var(--portal-color-table-border) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(table,.portal-table,.admin-dashboard-table,.doctor-dash-table,.patient-dash-table,.portal-amcal-table,.table-lite) td {
  min-height: 58px !important;
  padding: 12px 14px !important;
  vertical-align: middle !important;
  overflow-wrap: anywhere;
  text-align: center;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(td,th):last-child {
  min-width: 150px;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="password"],
  input[type="search"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  select,
  .form-control
) {
  height: 44px !important;
  min-height: 44px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 42px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) textarea {
  line-height: 1.45 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.btn,.button,button,a.btn,a.button,input[type="submit"],input[type="button"],input[type="reset"]) {
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border-radius: var(--portal-radius-md) !important;
  line-height: 1.2 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-amcal-modal__close,.portal-preview-modal__close,.doctor-rx-modal__close,.admin-sidebar__close,.doctor-dashboard-sidebar__close,.patient-dashboard-sidebar__close,[data-admin-preview-close],[data-doctor-preview-close],[data-admin-rx-modal-close],[data-rx-modal-close],[data-amcal-modal-close],[data-amcal-create-close],[data-admin-doctor-modal-close],[data-admin-patient-modal-close]) {
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-filter-row,.doctor-support-filter-row,.patient-dash-filters,.pharmacist-filter-row,.portal-toolbar,.portal-search-row,.portal-controls-row,.doctor-dashboard-range-row,.admin-dashboard-range-row,.portal-admin-reports-filter-row,.portal-admin-payments-filter,.portal-inline-admin-document-upload-row) {
  align-items: end !important;
  gap: 12px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-filter-row,.doctor-support-filter-row,.patient-dash-filters,.pharmacist-filter-row,.portal-toolbar,.portal-search-row,.portal-controls-row,.doctor-dashboard-range-row,.admin-dashboard-range-row,.portal-admin-reports-filter-row,.portal-admin-payments-filter,.portal-inline-admin-document-upload-row) > :is(.btn,.button,button,a.btn,a.button,input[type="submit"],input[type="button"]) {
  align-self: end !important;
  justify-self: stretch !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.admin-dashboard-row-actions,.doctor-dash-row-actions,.patient-dash-row-actions,.pharmacist-action-cell,.table-actions,.portal-actions,td:last-child) {
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) td:last-child :is(form,.portal-inline-form,.inline-form) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  gap: 8px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) td:last-child :is(.btn,.button,button,a.btn,a.button,input[type="submit"],input[type="button"]) {
  min-width: 86px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.doctor-table-pagination,.patient-dash-pagination,.admin-dashboard-table-pager) {
  display: grid !important;
  grid-template-columns: minmax(92px, 1fr) auto minmax(92px, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.doctor-table-pagination__meta,.patient-dash-pagination__meta,.admin-dashboard-table-pager__meta) {
  justify-self: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.doctor-table-pagination,.patient-dash-pagination,.admin-dashboard-table-pager) > :first-child {
  justify-self: start !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.doctor-table-pagination,.patient-dash-pagination,.admin-dashboard-table-pager) > :last-child {
  justify-self: end !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.btn.is-disabled,.button.is-disabled,.btn[disabled],.button[disabled],button[disabled],input[disabled],[aria-disabled="true"]) {
  opacity: .55 !important;
  pointer-events: none !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-overview-tile,.admin-dashboard-stat,.admin-dashboard-fact,.doctor-dashboard-kpi-card,.doctor-dashboard-next-summary-card,.patient-dash-next-cta,.portal-dashboard-payment-kpi-card,.portal-dashboard-booking-summary-card) {
  min-height: 154px !important;
  padding: 20px 22px !important;
  border-radius: var(--portal-radius-lg) !important;
  box-shadow: var(--portal-shadow-card-strong) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile::before,
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile::after {
  display: none !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-overview-tile__eyebrow,.portal-dashboard-payment-kpi-card__eyebrow,.portal-dashboard-booking-summary-card__eyebrow) {
  min-height: 34px !important;
  padding: 7px 14px !important;
  border-radius: var(--portal-radius-md, 6px) !important;
  background: color-mix(in srgb, var(--portal-color-left-panel-text) 18%, transparent) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile__value {
  font-size: 34px !important;
  line-height: 1.05 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile--blue {
  background: var(--portal-color-brand-primary) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile--green {
  background: var(--portal-workspace-green) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile--orange {
  background: var(--portal-workspace-orange) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile--purple {
  background: var(--portal-color-brand-primary-hover) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) .portal-overview-tile--slate {
  background: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-admin-checkbox-card,label:has(> input[type="checkbox"]),label:has(> input[type="radio"])) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 44px !important;
  margin: 0 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(input[type="checkbox"],input[type="radio"]) {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.portal-admin-card-grid,.admin-dashboard-card-grid,.portal-integrations-grid) {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
  gap: 16px !important;
}

@media (max-width: 782px) {
  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.doctor-table-pagination,.patient-dash-pagination,.admin-dashboard-table-pager) {
    grid-template-columns: 1fr !important;
  }

  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.doctor-table-pagination,.patient-dash-pagination,.admin-dashboard-table-pager) > * {
    justify-self: stretch !important;
    width: 100% !important;
  }

  body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.doctor-table-pagination__meta,.patient-dash-pagination__meta,.admin-dashboard-table-pager__meta) {
    white-space: normal !important;
  }
}

/* Final accessibility and alignment pass: role-specific legacy CSS is broad, so keep the last rules explicit. */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .portal-table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .patient-dash-table,
  .table-lite,
  .portal-amcal-table,
  .portal-focused-bordered-table,
  .portal-rx-medication-table
) :is(thead th, tr:first-child th, th) {
  background: var(--portal-workspace-table-head, var(--portal-color-brand-primary-hover)) !important;
  border-color: var(--portal-color-table-border) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .portal-table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .patient-dash-table,
  .table-lite,
  .portal-amcal-table,
  .portal-focused-bordered-table,
  .portal-rx-medication-table
) :is(thead th, tr:first-child th, th) * {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .portal-filter-row,
  .doctor-support-filter-row,
  .patient-dash-filters,
  .pharmacist-filter-row,
  .portal-toolbar,
  .portal-search-row,
  .portal-controls-row,
  .doctor-dashboard-range-row,
  .admin-dashboard-range-row,
  .portal-admin-reports-filter-row,
  .portal-admin-payments-filter,
  .portal-inline-admin-document-upload-row,
  .portal-admin-patient-filter-form,
  .portal-patient-filter-form
) {
  align-items: end !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(label,.portal-label,.form-label) {
  margin-bottom: 6px !important;
  line-height: 1.25 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn,
  .button,
  button,
  a.btn,
  a.button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
) {
  background: var(--portal-color-surface) !important;
  border: 1px solid var(--portal-color-border) !important;
  color: var(--portal-workspace-ink, var(--portal-color-text)) !important;
  -webkit-text-fill-color: var(--portal-workspace-ink, var(--portal-color-text)) !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn,
  .button,
  button,
  a.btn,
  a.button,
  input[type="submit"],
  input[type="button"],
  input[type="reset"]
) :is(span,strong,em,i,svg) {
  color: inherit !important;
  fill: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn--primary,
  .button-primary,
  .portal-btn-primary,
  .portal-admin-btn-primary,
  .portal-action-button,
  .portal-focused-form-btn:not(.portal-focused-form-btn--delete),
  .portal-focused-ticket-send-btn,
  .portal-payments-save-btn,
  .pharmacist-view-btn,
  .pharmacist-add-btn,
  .patient-appointment-join-btn,
  .patient-payment-action-btn:not(.is-disabled),
  .doctor-dashboard-range-row__apply,
  .portal-admin-reports-export-btn,
  .portal-admin-filter-button,
  input[type="submit"]
):not(.btn--ghost):not(.button-secondary):not(.portal-btn-danger):not(.portal-admin-btn-danger):not([name*="delete" i]):not([value*="delete" i]) {
  background: var(--portal-workspace-primary, var(--portal-color-brand-primary)) !important;
  border-color: var(--portal-workspace-primary, var(--portal-color-brand-primary)) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .portal-btn-success,
  .portal-admin-btn-success,
  .btn--success,
  .button-success,
  .portal-save-btn,
  .portal-admin-save-btn,
  .portal-admin-create-btn,
  .portal-admin-btn-create,
  .pharmacist-send-btn,
  [data-amcal-create-save]
) {
  background: var(--portal-workspace-green, var(--portal-color-success)) !important;
  border-color: var(--portal-workspace-green, var(--portal-color-success)) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .portal-btn-danger,
  .portal-admin-btn-danger,
  .btn--danger,
  .button-danger,
  .pharmacist-delete-btn,
  .portal-focused-form-btn--delete,
  .portal-focused-ticket-delete-btn,
  [data-amcal-delete],
  [name*="delete" i],
  [value*="delete" i]
) {
  background: var(--portal-workspace-danger, var(--portal-color-danger)) !important;
  border-color: var(--portal-workspace-danger, var(--portal-color-danger)) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn--ghost,
  .button-secondary,
  .portal-btn-secondary,
  .portal-admin-btn-secondary,
  .portal-icon-btn,
  .portal-amcal-toolbar__btn,
  .patient-dash-readiness-fix-btn,
  .patient-payment-action-btn.is-disabled,
  .btn.is-disabled,
  .button.is-disabled,
  button[disabled],
  input[disabled],
  [aria-disabled="true"]
) {
  background: var(--portal-color-surface) !important;
  border-color: var(--portal-color-border) !important;
  color: var(--portal-workspace-ink, var(--portal-color-text)) !important;
  -webkit-text-fill-color: var(--portal-workspace-ink, var(--portal-color-text)) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn--ghost,
  .button-secondary,
  .portal-btn-secondary,
  .portal-admin-btn-secondary,
  .portal-icon-btn,
  .portal-amcal-toolbar__btn
):is(:hover,:focus-visible) {
  background: var(--portal-color-brand-primary-soft) !important;
  border-color: var(--portal-workspace-primary, var(--portal-color-brand-primary)) !important;
  color: var(--portal-workspace-primary, var(--portal-color-brand-primary)) !important;
  -webkit-text-fill-color: var(--portal-workspace-primary, var(--portal-color-brand-primary)) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(.btn.is-disabled,.button.is-disabled,button[disabled],input[disabled],[aria-disabled="true"]) {
  opacity: .62 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .portal-card__head,
  .portal-admin-card__head,
  .portal-panel__head,
  .portal-section-heading,
  .portal-integrations-card__head
) {
  background: var(--portal-color-surface) !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .portal-card__head,
  .portal-admin-card__head,
  .portal-panel__head,
  .portal-section-heading,
  .portal-integrations-card__head
) * {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN SYSTEM — 2026-04-25
   • White background → dark text  |  Coloured background → white text
   • No gradients
   • Buttons → var(--portal-radius-md)  |  Cards/panels → var(--portal-radius-lg, 8px)
   • Inputs / alerts / badges / table cells → border-radius: 0
   • Sections / panels / cards → white, no coloured left-border accent
   • All table <th> → var(--portal-color-brand-primary-hover) = var(--portal-color-table-head)
   ════════════════════════════════════════════════════════════════════════ */

/* 1 — Workspace page background: flat, no gradient */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) { background: var(--portal-color-page-bg) !important; }

/* 2 — Panels / cards / containers → white, slight radius, no coloured left border */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .admin-panel,.doctor-dash-panel,.patient-dash-panel,.pharmacist-dashboard-panel,
  .card,.panel,.portal-card,.portal-panel,.portal-section-card,
  .portal-liveops-shell,.portal-liveops-card,
  .portal-int-card,.portal-settings-block,.portal-settings-utility-card,
  .portal-stripe-status-card,.portal-stripe-status-card-wrap,.portal-admin-check-item
) {
  border-radius: var(--portal-radius-lg, 8px) !important;
  border-left-width: 1px !important;
  border-left-color: var(--portal-color-border) !important;
  background: var(--portal-color-surface) !important;
}

/* 3 — KPI / stat tiles → slight radius (keep solid colours) */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .portal-overview-tile,.admin-dashboard-stat,.admin-dashboard-fact,
  .portal-dashboard-payment-kpi-card,.portal-dashboard-booking-summary-card,
  .portal-liveops-kpi
) { border-radius: var(--portal-radius-lg, 8px) !important; }

/* 4 — Eyebrow / badge labels inside coloured tiles → square */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .portal-overview-tile__eyebrow,.portal-liveops-badge,
  .portal-admin-dashboard-hero__badge,.doctor-dashboard-next-summary-title
) { border-radius: 0 !important; }

/* 5 — Section hero / head bars → white bg, dark text, border-bottom */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .portal-admin-dashboard-hero,.portal-liveops-head,
  .portal-overview-card-section__head,.portal-settings-hero,
  .portal-card__head,.portal-admin-card__head,
  .portal-panel__head,.portal-section-heading,.portal-integrations-card__head
) {
  background: var(--portal-color-surface) !important;
  border-bottom: 1px solid var(--portal-color-border) !important;
  border-radius: 0 !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .portal-admin-dashboard-hero,.portal-liveops-head,
  .portal-overview-card-section__head,.portal-settings-hero,
  .portal-card__head,.portal-admin-card__head,
  .portal-panel__head,.portal-section-heading,.portal-integrations-card__head
) :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,label,
       .portal-overview-card-section__eyebrow,
       .portal-admin-dashboard-hero__badge,.portal-liveops-badge) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 6 — Sub-card h3 headers → white, dark text, border-bottom (not coloured) */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(.portal-int-card,.portal-liveops-card) > :is(h3,h4),
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(.portal-int-card,.portal-liveops-card) > .portal-form > :is(h3,h4) {
  background: var(--portal-color-surface) !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
  border-radius: 0 !important;
  border-bottom: 1px solid var(--portal-color-border) !important;
}

/* 7 — Form controls → no radius */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  input[type="text"],input[type="email"],input[type="url"],input[type="tel"],
  input[type="password"],input[type="search"],input[type="number"],
  input[type="date"],input[type="time"],input[type="datetime-local"],
  select,textarea,.form-control
) { border-radius: 0 !important; }

/* 8 — Alerts, notices, toast → no radius */
body.portal-workspace :is(.portal-alert,.notice,.alert,.portal-center-popup-toast,.portal-toast) {
  border-radius: 0 !important;
}

/* 9 — Table wrappers → no radius */
body.portal-workspace :is(.table-wrap,.portal-table-wrap,.table-responsive,.portal-responsive-table,.portal-table-scroll) {
  border-radius: 0 !important;
}

/* 10 — ALL table th → var(--portal-color-table-head), white text, no radius */
body.portal-workspace table th,
body.portal-workspace table thead th,
body.portal-workspace .portal-table th {
  background: var(--portal-color-brand-primary-hover) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
  border-radius: 0 !important;
}

/* 11 — Live-ops items → no radius */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .portal-liveops-list__item,.portal-liveops-empty,
  .portal-liveops-list__badge,.portal-liveops-badge,
  .portal-stripe-status-item
) { border-radius: 0 !important; }

/* 12 — Live-ops card body text → dark (white background) */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) .portal-liveops-card :is(p,span,small,label),
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) .portal-liveops-list__item :is(strong,span,p,.portal-liveops-list__meta) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 13 — Coloured KPI tiles → text stays white */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .portal-overview-tile,.admin-dashboard-stat,.admin-dashboard-fact,
  .portal-dashboard-payment-kpi-card,.portal-dashboard-booking-summary-card,
  .portal-liveops-kpi
) :is(
  .portal-overview-tile__eyebrow,.portal-overview-tile__value,.portal-overview-tile__meta,
  strong,span,p,small
) {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

/* 14 — Integration card body text → dark (white background) */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) .portal-int-card :is(p,span,strong,small,label,legend) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 15 — Stripe status coloured tiles → white text */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) .portal-stripe-status-item:is(.is-configured,.is-missing,.is-info) :is(
  .portal-stripe-status-item__label,.portal-stripe-status-item__value,
  .portal-stripe-status-item__meta,strong,span,small
) {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

/* 16 — ALL table tbody td → dark text (not blue). */
body.portal-workspace table tbody td,
body.portal-workspace table tbody td p,
body.portal-workspace table tbody td span:not([class*="status"]):not([class*="badge"]) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 17 — ALL buttons → square radius */
body.portal-workspace :is(
  .btn, .button, button, a.btn, a.button,
  input[type="submit"], input[type="button"], input[type="reset"]
) {
  border-radius: var(--portal-radius-md) !important;
}

/* 18 — Remove ALL coloured left-border accents from section/card containers.
   All 4px coloured left borders should be plain 1px border. */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .admin-panel, .card, .portal-card, .portal-panel,
  .portal-liveops-shell, .portal-liveops-card,
  .portal-int-card, .portal-settings-block,
  fieldset, .portal-admin-danger-form fieldset
) {
  border-left-width: 1px !important;
  border-left-color: var(--portal-color-border) !important;
  border-radius: var(--portal-radius-lg, 8px) !important;
}

/* 19 — Form inputs, select, textarea → square */
body.portal-workspace :is(
  input[type="text"], input[type="email"], input[type="url"],
  input[type="tel"], input[type="password"], input[type="search"],
  input[type="number"], input[type="date"], input[type="time"],
  input[type="datetime-local"], select, textarea, .form-control
) {
  border-radius: 0 !important;
}

/* 20 — Alerts, notices, badges, tags → square */
body.portal-workspace :is(
  .portal-alert, .notice, .alert, .portal-toast,
  .portal-badge, .badge, .chip, .pill, .tag,
  .portal-status-badge, .portal-liveops-list__badge
) {
  border-radius: 0 !important;
}

/* ── WHITE BACKGROUND → DARK TEXT | COLOURED BACKGROUND → WHITE TEXT ──────
   Final enforcement pass. Any element on a white/light background must show
   dark text (var(--portal-color-text)). Any element on a coloured background keeps white text.
   These rules sit last so they win the specificity race.
   ────────────────────────────────────────────────────────────────────────── */

/* 21 — Form labels & field labels → always dark on white bg */
body.portal-workspace :is(
  label, legend, .form-label, .portal-label, .portal-field-label,
  .form-check-label, .admin-form-label, .doctor-form-label
):not([class*="btn"]) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 22 — Input / select / textarea values → dark text */
body.portal-workspace :is(
  input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .form-control
) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 23 — ALL table th → var(--portal-color-table-head), highest specificity, covers every table class */
body.portal-workspace table tr th,
body.portal-workspace table thead tr th,
body.portal-workspace .portal-section table tr th,
body.portal-workspace .portal-section table thead th {
  background: var(--portal-color-brand-primary-hover) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
  border-radius: 0 !important;
}

/* 24 — ALL table body cell text → dark */
body.portal-workspace table tbody tr td,
body.portal-workspace table tbody tr td *:not(.btn):not(button):not(a.btn):not(input) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 25 — Paragraph / span / strong text on white section backgrounds → dark */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .admin-panel, .card, .portal-card, .portal-panel,
  .portal-settings-block, .portal-int-card, .portal-stripe-status-card
) :is(p, span, strong, small, li, h1, h2, h3, h4, h5, h6, div):not([class*="btn"]) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 26 — Exceptions: coloured tile text stays white */
body.portal-workspace .portal-section:is(
  .admin-dashboard-page--workspace,
  .doctor-dashboard-page--workspace,
  .patient-dashboard-page--workspace,
  .pharmacist-dashboard-page--workspace
) :is(
  .portal-overview-tile, .admin-dashboard-stat, .admin-dashboard-fact,
  .portal-dashboard-payment-kpi-card, .portal-dashboard-booking-summary-card,
  .portal-liveops-kpi, .portal-liveops-head, .portal-admin-dashboard-hero,
  .portal-overview-card-section__head
) :is(p, span, strong, small, li, h1, h2, h3, h4, h5, h6, div) {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

/* 27 — Sub-card h3/h4 headers → dark text on white bg */
body.portal-workspace .portal-section :is(.portal-int-card, .portal-liveops-card) > :is(h3, h4),
body.portal-workspace .portal-section :is(.portal-int-card, .portal-liveops-card) > .portal-form > :is(h3, h4) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* 28 — Sidebar nav text → white (sidebar has blue bg) */
body.portal-workspace .portal-section :is(.admin-sidebar, .doctor-sidebar, .pharmacist-sidebar) :is(a, span, p, li) {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

/* 29 — White/ghost buttons must never inherit white text */
body.portal-workspace .portal-section :is(
  .btn--ghost,
  .button-secondary,
  button.btn--ghost,
  a.btn--ghost,
  span.btn--ghost,
  .btn:not(.btn--primary):not(.button-primary):not(.portal-btn-primary):not(.portal-admin-btn-primary):not(.portal-btn-danger):not(.portal-admin-btn-danger):not(.btn--danger):not(.pharmacist-delete-btn),
  .button:not(.button-primary):not(.portal-btn-danger):not(.portal-admin-btn-danger):not(.btn--danger)
) {
  background: var(--portal-color-surface, var(--portal-color-surface)) !important;
  background-color: var(--portal-color-surface, var(--portal-color-surface)) !important;
  border-color: var(--portal-color-brand-primary-hover, var(--portal-color-table-head)) !important;
  color: var(--portal-color-text, var(--portal-color-text)) !important;
  -webkit-text-fill-color: var(--portal-color-text, var(--portal-color-text)) !important;
}

body.portal-workspace .portal-section :is(
  .btn--ghost,
  .button-secondary,
  button.btn--ghost,
  a.btn--ghost,
  span.btn--ghost,
  .btn:not(.btn--primary):not(.button-primary):not(.portal-btn-primary):not(.portal-admin-btn-primary):not(.portal-btn-danger):not(.portal-admin-btn-danger):not(.btn--danger):not(.pharmacist-delete-btn),
  .button:not(.button-primary):not(.portal-btn-danger):not(.portal-admin-btn-danger):not(.btn--danger)
) * {
  color: var(--portal-color-text, var(--portal-color-text)) !important;
  -webkit-text-fill-color: var(--portal-color-text, var(--portal-color-text)) !important;
}

/* 30 — Re-assert coloured buttons after ghost reset */
body.portal-workspace .portal-section :is(
  .btn--primary,
  .button-primary,
  .portal-btn-primary,
  .portal-admin-btn-primary,
  .pharmacist-view-btn,
  .pharmacist-add-btn,
  input[type="submit"]
) {
  background: var(--portal-color-brand-primary, var(--portal-color-brand-primary)) !important;
  background-color: var(--portal-color-brand-primary, var(--portal-color-brand-primary)) !important;
  border-color: var(--portal-color-brand-primary, var(--portal-color-brand-primary)) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section :is(
  .portal-btn-danger,
  .portal-admin-btn-danger,
  .pharmacist-delete-btn,
  .btn--danger,
  button[data-confirm-msg*="Delete" i],
  button[data-confirm-msg*="Remove" i]
) {
  background: var(--portal-color-danger, var(--portal-color-danger)) !important;
  background-color: var(--portal-color-danger, var(--portal-color-danger)) !important;
  border-color: var(--portal-color-danger, var(--portal-color-danger)) !important;
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

/* 31 — Final table body lock: white cells always use black text/links */
body.portal-workspace .portal-section table tbody tr td,
body.portal-workspace .portal-section table tbody tr td :is(a, p, span, strong, small, div, em, b, i):not(.btn):not(.button):not(.btn *):not(.button *) {
  color: var(--portal-color-text, var(--portal-color-text)) !important;
  -webkit-text-fill-color: var(--portal-color-text, var(--portal-color-text)) !important;
}

body.portal-workspace .portal-section table tbody tr td :is(.btn, .button, button, input[type="submit"], input[type="button"]) {
  -webkit-text-fill-color: currentColor !important;
}

/* 32 — Absolute final contrast/radius lock for admin tables and coloured heads */
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .admin-dashboard-table,
  .portal-focused-bordered-table,
  .portal-table,
  .table-lite
) thead th,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .admin-dashboard-table,
  .portal-focused-bordered-table,
  .portal-table,
  .table-lite
) thead th * {
  background: var(--portal-color-brand-primary-hover, var(--portal-color-table-head)) !important;
  background-color: var(--portal-color-brand-primary-hover, var(--portal-color-table-head)) !important;
  color: var(--portal-color-surface, var(--portal-color-surface)) !important;
  -webkit-text-fill-color: var(--portal-color-surface, var(--portal-color-surface)) !important;
  border-radius: 0 !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .portal-int-card,
  .portal-settings-utility-card,
  .portal-liveops-card,
  .portal-overview-tile,
  .portal-dashboard-payment-kpi-card,
  .admin-dashboard-stat,
  .admin-dashboard-fact
),
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .portal-int-card,
  .portal-settings-utility-card,
  .portal-liveops-card
) > :is(h3, h4),
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .portal-int-card,
  .portal-settings-utility-card,
  .portal-liveops-card
) > .portal-form > :is(h3, h4) {
  border-radius: var(--portal-radius-lg, 8px) !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .portal-int-card--navy,
  .portal-int-card--blue,
  .portal-int-card--green,
  .portal-int-card--orange,
  .portal-int-card--purple,
  .portal-int-card--indigo,
  .portal-int-card--slate
) > :is(h3, h4),
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .portal-int-card--navy,
  .portal-int-card--blue,
  .portal-int-card--green,
  .portal-int-card--orange,
  .portal-int-card--purple,
  .portal-int-card--indigo,
  .portal-int-card--slate
) > .portal-form > :is(h3, h4),
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .portal-int-card--navy,
  .portal-int-card--blue,
  .portal-int-card--green,
  .portal-int-card--orange,
  .portal-int-card--purple,
  .portal-int-card--indigo,
  .portal-int-card--slate
) > :is(h3, h4) *,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main .admin-panel :is(
  .portal-int-card--navy,
  .portal-int-card--blue,
  .portal-int-card--green,
  .portal-int-card--orange,
  .portal-int-card--purple,
  .portal-int-card--indigo,
  .portal-int-card--slate
) > .portal-form > :is(h3, h4) * {
  color: var(--portal-color-surface, var(--portal-color-surface)) !important;
  -webkit-text-fill-color: var(--portal-color-surface, var(--portal-color-surface)) !important;
}

/* 33 — Reports panel must use flat primary-blue, never red/orange gradients */
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports {
  --panel-primary: var(--portal-color-brand-primary-hover, var(--portal-color-table-head)) !important;
  --panel-secondary: var(--portal-color-brand-primary-hover, var(--portal-color-table-head)) !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports > .card > .portal-overview-card-section__head,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .portal-overview-tile,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .portal-overview-tile--blue,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .portal-overview-tile--green,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .portal-overview-tile--orange,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .admin-dashboard-table thead th {
  background: var(--portal-color-brand-primary-hover, var(--portal-color-table-head)) !important;
  background-color: var(--portal-color-brand-primary-hover, var(--portal-color-table-head)) !important;
  background-image: none !important;
  border-radius: 0 !important;
}

body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports > .card > .portal-overview-card-section__head *,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .portal-overview-tile *,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .admin-dashboard-table thead th,
body.portal-workspace .portal-section.admin-dashboard-page--workspace .admin-main > .admin-panel#admin-panel-reports .admin-dashboard-table thead th * {
  color: var(--portal-color-surface, var(--portal-color-surface)) !important;
  -webkit-text-fill-color: var(--portal-color-surface, var(--portal-color-surface)) !important;
}

/* Portal workspace design lock: palette-driven, scoped to portal dashboards. */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) {
  --portal-left-panel-bg: var(--portal-color-left-panel-bg);
  --portal-left-panel-bg-active: var(--portal-color-left-panel-bg-active);
  --portal-left-panel-text: var(--portal-color-left-panel-text);
  --portal-table-head-bg: var(--portal-color-table-head);
  --portal-table-border: var(--portal-color-table-border);
  --portal-control-radius: var(--portal-radius-md);
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .admin-workspace,
  .doctor-dashboard-workspace,
  .patient-dashboard-workspace,
  .pharmacist-dashboard-workspace
) {
  gap: 0 !important;
  align-items: stretch !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  #admin-sidebar-nav.admin-sidebar,
  #dd-sidebar-nav.admin-sidebar,
  #pd-sidebar-nav.admin-sidebar,
  .admin-sidebar
) {
  align-self: stretch !important;
  background: var(--portal-left-panel-bg) !important;
  border-radius: 0 !important;
  color: var(--portal-left-panel-text) !important;
  margin: 0 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  #admin-sidebar-nav.admin-sidebar,
  #dd-sidebar-nav.admin-sidebar,
  #pd-sidebar-nav.admin-sidebar,
  .admin-sidebar
) :is(a,button,.admin-sidebar__brand,.admin-sidebar__item) {
  background: transparent !important;
  border-radius: 0 !important;
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  #admin-sidebar-nav.admin-sidebar,
  #dd-sidebar-nav.admin-sidebar,
  #pd-sidebar-nav.admin-sidebar,
  .admin-sidebar
) :is(a,button,.admin-sidebar__item):is(.active,.is-active,[aria-current="page"],:hover,:focus-visible) {
  background: var(--portal-left-panel-bg-active) !important;
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .admin-main,
  .doctor-dashboard-main,
  .patient-dashboard-main,
  .pharmacist-dashboard-main
) {
  background: var(--portal-color-page-bg) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .admin-main > .admin-panel,
  .doctor-dashboard-main > .doctor-dash-panel,
  .patient-dashboard-main > .patient-dash-panel,
  .pharmacist-dashboard-main > .pharmacist-dash-panel,
  .admin-panel.is-active,
  .doctor-dash-panel.is-active,
  .patient-dash-panel.is-active,
  .pharmacist-dash-panel.is-active
) {
  background: var(--portal-color-surface) !important;
  border: 1px solid var(--portal-color-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--portal-color-text) !important;
  margin: 0 !important;
  padding: 16px !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .card,
  .panel,
  .portal-card,
  .portal-panel,
  .portal-section-card,
  .portal-template-editor,
  .portal-template-automation,
  .portal-int-card,
  .portal-settings-block,
  .portal-settings-utility-card,
  .portal-liveops-card,
  .portal-patient-workspace__menu,
  .portal-patient-workspace__content,
  .patient-dashboard-empty,
  .doctor-dashboard-empty,
  .admin-dashboard-empty,
  fieldset
) {
  background: var(--portal-color-surface) !important;
  background-color: var(--portal-color-surface) !important;
  background-image: none !important;
  border-color: var(--portal-color-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .card,
  .panel,
  .portal-card,
  .portal-panel,
  .portal-section-card,
  .portal-template-editor,
  .portal-template-automation,
  .portal-int-card,
  .portal-settings-block,
  .portal-settings-utility-card,
  .portal-liveops-card,
  .portal-patient-workspace__menu,
  .portal-patient-workspace__content,
  .patient-dashboard-empty,
  .doctor-dashboard-empty,
  .admin-dashboard-empty,
  fieldset
) :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,em,li,label,legend,div):not(.btn):not(.button):not(.portal-overview-tile):not(.portal-overview-tile *) {
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  #admin-panel-dashboard .portal-overview-tile,
  #dd-panel-dashboard .portal-overview-tile,
  #pd-panel-dashboard .portal-overview-tile,
  #admin-panel-payments .portal-overview-tile,
  #admin-panel-integrations .portal-overview-tile,
  #admin-panel-reports .portal-overview-tile,
  .admin-dashboard-stat,
  .admin-dashboard-fact,
  .portal-dashboard-payment-kpi-card,
  .portal-dashboard-booking-summary-card,
  .portal-liveops-kpi,
  .patient-dash-next-cta
) {
  border-radius: var(--portal-radius-lg) !important;
  box-shadow: none !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  #admin-panel-dashboard .portal-overview-tile,
  #dd-panel-dashboard .portal-overview-tile,
  #pd-panel-dashboard .portal-overview-tile,
  #admin-panel-payments .portal-overview-tile,
  #admin-panel-integrations .portal-overview-tile,
  #admin-panel-reports .portal-overview-tile,
  .admin-dashboard-stat,
  .admin-dashboard-fact,
  .portal-dashboard-payment-kpi-card,
  .portal-dashboard-booking-summary-card,
  .portal-liveops-kpi,
  .patient-dash-next-cta
) :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,em,li,div) {
  color: var(--portal-color-surface) !important;
  -webkit-text-fill-color: var(--portal-color-surface) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .form-control,
  .portal-form-control
) {
  background: var(--portal-color-surface) !important;
  border: 1px solid var(--portal-color-border) !important;
  border-radius: var(--portal-control-radius) !important;
  box-shadow: none !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn,
  .button,
  button,
  input[type="submit"],
  input[type="button"],
  a.btn
) {
  border-radius: var(--portal-control-radius) !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn,
  .button,
  button,
  input[type="submit"],
  input[type="button"],
  a.btn
):not(.btn--danger):not(.portal-btn-danger):not(.portal-admin-btn-danger):not(.is-danger):not(.delete):not([data-action="delete"]) {
  background: var(--portal-left-panel-bg) !important;
  border-color: var(--portal-left-panel-bg) !important;
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn--ghost,
  .btn--secondary,
  .portal-btn-secondary,
  .portal-admin-btn-secondary,
  button[aria-disabled="true"],
  .btn[aria-disabled="true"],
  .btn[disabled],
  button[disabled]
) {
  background: var(--portal-color-surface) !important;
  border-color: var(--portal-left-panel-bg) !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .btn--danger,
  .portal-btn-danger,
  .portal-admin-btn-danger,
  .is-danger,
  .delete,
  [data-action="delete"]
) {
  background: var(--portal-color-danger) !important;
  border-color: var(--portal-color-danger) !important;
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .admin-dashboard-table-wrap,
  .portal-admin-payments-table-wrap,
  .doctor-dash-table-wrap,
  .doctor-support-table-wrap,
  .patient-dashboard-table-wrap,
  .portal-template-automation__table-wrap,
  .table-responsive,
  .portal-table-wrap
) {
  background: var(--portal-color-surface) !important;
  border: 1px solid var(--portal-table-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .doctor-dashboard-table,
  .patient-dashboard-table,
  .portal-table,
  .table-lite,
  .portal-template-automation__table
) {
  background: var(--portal-color-surface) !important;
  border-color: var(--portal-table-border) !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  color: var(--portal-color-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .doctor-dashboard-table,
  .patient-dashboard-table,
  .portal-table,
  .table-lite,
  .portal-template-automation__table
) :is(th,td) {
  border: 1px solid var(--portal-table-border) !important;
  border-radius: 0 !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .doctor-dashboard-table,
  .patient-dashboard-table,
  .portal-table,
  .table-lite,
  .portal-template-automation__table
) thead th,
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .doctor-dashboard-table,
  .patient-dashboard-table,
  .portal-table,
  .table-lite,
  .portal-template-automation__table
) th {
  background: var(--portal-table-head-bg) !important;
  background-color: var(--portal-table-head-bg) !important;
  background-image: none !important;
  border-color: var(--portal-table-border) !important;
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .doctor-dashboard-table,
  .patient-dashboard-table,
  .portal-table,
  .table-lite,
  .portal-template-automation__table
) tbody td,
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  table,
  .admin-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .doctor-dashboard-table,
  .patient-dashboard-table,
  .portal-table,
  .table-lite,
  .portal-template-automation__table
) tbody td *:not(.btn):not(.button) {
  background-color: var(--portal-color-surface) !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

body.portal-workspace #admin-panel-templates :is(
  .portal-template-panel-head,
  .portal-template-editor__head,
  .portal-template-automation__head
),
body.portal-workspace #admin-panel-mailchimp :is(
  .portal-admin-email-section-head,
  .portal-admin-email-template-head,
  .portal-admin-email-card__head,
  .portal-admin-email-history-head,
  .portal-admin-card__head,
  .portal-card__head,
  .portal-panel__head,
  .portal-overview-card-section__head
) {
  background: var(--portal-left-panel-bg) !important;
  background-color: var(--portal-left-panel-bg) !important;
  background-image: none !important;
  border-color: var(--portal-left-panel-bg) !important;
  border-radius: 0 !important;
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace #admin-panel-templates :is(
  .portal-template-panel-head,
  .portal-template-editor__head,
  .portal-template-automation__head
) *,
body.portal-workspace #admin-panel-mailchimp :is(
  .portal-admin-email-section-head,
  .portal-admin-email-template-head,
  .portal-admin-email-card__head,
  .portal-admin-email-history-head,
  .portal-admin-card__head,
  .portal-card__head,
  .portal-panel__head,
  .portal-overview-card-section__head
) * {
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace #admin-panel-mailchimp .portal-admin-email-templates-header,
body.portal-workspace #admin-panel-mailchimp .portal-admin-email-card > h3:first-child {
  background: var(--portal-left-panel-bg) !important;
  background-color: var(--portal-left-panel-bg) !important;
  background-image: none !important;
  border: 1px solid var(--portal-left-panel-bg) !important;
  border-radius: 0 !important;
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
  margin: -16px -16px 14px !important;
  padding: 14px 16px !important;
}

body.portal-workspace #admin-panel-mailchimp .portal-admin-email-templates-header *,
body.portal-workspace #admin-panel-mailchimp .portal-admin-email-card > h3:first-child * {
  color: var(--portal-left-panel-text) !important;
  -webkit-text-fill-color: var(--portal-left-panel-text) !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) :is(
  .portal-int-card,
  .portal-settings-utility-card,
  .portal-liveops-card,
  .portal-settings-block
) > :is(h3,h4):first-child {
  background: var(--portal-color-surface) !important;
  background-color: var(--portal-color-surface) !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--portal-color-border) !important;
  border-radius: 0 !important;
  color: var(--portal-color-text) !important;
  -webkit-text-fill-color: var(--portal-color-text) !important;
}

/* Escape theme content containers so portal sidebars always start at viewport left. */
body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: clip !important;
}

body.portal-workspace .portal-section:is(.admin-dashboard-page--workspace,.doctor-dashboard-page--workspace,.patient-dashboard-page--workspace,.pharmacist-dashboard-page--workspace) > .portal-container {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ===== Pharmacist: invoice action cell — 2×2 grid ===== */
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .pharmacist-invoice-action-cell,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .pharmacist-invoice-action-cell{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  flex-wrap:unset !important;
  width:100% !important;
}
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .pharmacist-invoice-action-cell > *,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .pharmacist-invoice-action-cell > *{
  min-width:0 !important;
  width:100% !important;
}
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .pharmacist-invoice-action-cell :is(.btn,.pharmacist-invoice-action-btn,a.btn),
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .pharmacist-invoice-action-cell :is(.btn,.pharmacist-invoice-action-btn,a.btn){
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-invoices .pharmacist-invoice-action-cell .portal-inline-form,
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-patients .pharmacist-invoice-action-cell .portal-inline-form{
  display:flex !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}

/* ===== Pharmacist: patient focus sub-panel — clean nav links ===== */
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links :is(a,a.btn,a.btn--ghost,a.btn--primary){
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  color:var(--portal-color-brand-primary) !important;
  -webkit-text-fill-color:var(--portal-color-brand-primary) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-height:36px !important;
  padding:8px 10px !important;
  border-radius:6px !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links a.btn--primary{
  background:var(--portal-color-brand-primary) !important;
  background-color:var(--portal-color-brand-primary) !important;
  color:var(--portal-color-surface) !important;
  -webkit-text-fill-color:var(--portal-color-surface) !important;
  font-weight:700 !important;
}
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #portal-doctor-patient-focus .portal-patient-workspace__links :is(a,a.btn,a.btn--ghost) *{
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
  background:transparent !important;
}

/* ===== Pharmacist dashboard tiles — coloured backgrounds + white text ===== */
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile--blue{ background:var(--portal-color-brand-primary) !important; }
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile--orange{ background:var(--portal-workspace-orange,var(--portal-color-warning)) !important; }
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile--purple{ background:var(--portal-color-brand-primary-hover) !important; }
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile--pink{ background:var(--portal-color-danger) !important; }
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile--green{ background:var(--portal-workspace-green,var(--portal-color-success)) !important; }
body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile--teal{ background:var(--portal-color-text-soft) !important; }

body.portal-workspace .portal-section.pharmacist-dashboard-page--workspace #dd-panel-dashboard .portal-overview-tile :is(span,strong,p,em,small,div){
  color:var(--portal-color-surface) !important;
  -webkit-text-fill-color:var(--portal-color-surface) !important;
}


/* ===== Doctor portal table header colour lock (#1D4ED8) =====
   Keeps Forms, Documents, Notes, Treatments, patient-focus and medicine tables
   on the requested blue even if earlier admin/shared styles set teal. */
body.portal-workspace .portal-section.doctor-dashboard-page--workspace,
body.portal-workspace .doctor-dashboard-page--workspace{
  --portal-color-table-head:#1D4ED8 !important;
  --portal-color-table-border:#1D4ED8 !important;
  --portal-workspace-table-head:#1D4ED8 !important;
  --panel-primary:#1D4ED8 !important;
  --panel-secondary:#1D4ED8 !important;
}
body.portal-workspace .portal-section.doctor-dashboard-page--workspace :is(
  table,
  .admin-dashboard-table,
  .admin-dashboard-table--stack,
  .doctor-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .portal-focused-bordered-table,
  .portal-rx-medication-table
) :is(thead, thead tr, thead th),
body.portal-workspace .portal-section.doctor-dashboard-page--workspace :is(
  table,
  .admin-dashboard-table,
  .admin-dashboard-table--stack,
  .doctor-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .portal-focused-bordered-table,
  .portal-rx-medication-table
) > tbody > tr:first-child > th,
body.portal-workspace .portal-section.doctor-dashboard-page--workspace #portal-doctor-patient-focus :is(
  table,
  .admin-dashboard-table,
  .admin-dashboard-table--stack,
  .portal-focused-bordered-table,
  .portal-rx-medication-table
) :is(thead, thead tr, thead th){
  background:#1D4ED8 !important;
  background-color:#1D4ED8 !important;
  background-image:none !important;
  border-color:#1D4ED8 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.portal-workspace .portal-section.doctor-dashboard-page--workspace :is(
  table,
  .admin-dashboard-table,
  .admin-dashboard-table--stack,
  .doctor-dashboard-table,
  .doctor-dash-table,
  .doctor-support-table,
  .portal-focused-bordered-table,
  .portal-rx-medication-table
) :is(thead, thead tr, thead th) *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  background:transparent !important;
  background-color:transparent !important;
}