/* Dashboard layout; extracted in original cascade order. */

    #accessGateSignIn[hidden] { display: none !important; }
    @property --logo-star-angle {
      syntax: '<angle>';
      inherits: false;
      initial-value: 0deg;
    }
    :root {
      --dash-ink: #0b1d5d;
      --dash-muted: #6677a8;
      --dash-cyan: #1fc8f4;
      --dash-pink: #ef3fa5;
      --dash-panel: rgba(255,255,255,0.74);
      --dash-border: rgba(186, 213, 245, 0.62);
      --dashboard-page-padding: clamp(0.75rem, 1.6vw, 1.25rem);
    }
    html,
    body {
      height: 100%;
      overflow: hidden;
    }
    body {
      background:
        linear-gradient(135deg, #f7fbff 0%, #fdfdff 48%, #f7fbff 100%);
      color: var(--dash-ink);
      font-family: 'Inter', 'Poppins', system-ui, sans-serif;
    }
    .glass { background: rgba(255, 255, 255, 0.56); border: 1px solid rgba(255, 255, 255, 0.72); box-shadow: 0 12px 40px rgba(43,43,43,0.08); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
    .blob { display: none; position: fixed; border-radius: 9999px; filter: blur(56px); z-index: -1; pointer-events: none; }
    /* Expand the existing iframe in place: moving it would reload its map. */
    body.user-map-fullscreen-active { overflow: hidden !important; }
    body.user-map-fullscreen-active :is(.dashboard-page,.dashboard-shell-wrap,.dashboard-shell-card,.dashboard-frame-wrap) {
      transform: none !important; filter: none !important; perspective: none !important;
      backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
      contain: none !important; will-change: auto !important; overflow: visible !important;
      isolation: auto !important; z-index: auto !important;
    }
    body.user-map-fullscreen-active #userFrame {
      position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100dvh !important;
      min-height: 0 !important; max-width: none !important; max-height: none !important;
      margin: 0 !important; border: 0 !important; border-radius: 0 !important; z-index: 2147483645 !important;
    }
    .blob-a { width: 18rem; height: 18rem; left: -4rem; top: -4rem; background: rgba(167,199,231,.45); }
    .blob-b { width: 20rem; height: 20rem; right: -6rem; top: 8rem; background: rgba(244,194,194,.45); }
    #viewSplash {
      position: absolute;
      inset: 0;
      z-index: 40;
      min-height: 0;
      border-radius: 1.5rem;
      transition: opacity .28s ease, visibility .28s ease;
    }
    #viewSplash.is-hidden {
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
    }
    #viewSplash:not(.is-hidden) ~ .dashboard-frame {
      opacity: 0;
      visibility: hidden;
    }
    @keyframes dashboardSpin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    .dash-pill-btn {
      --dashboard-role-width: 10.9rem;
      position: relative;
      isolation: isolate;
      z-index: 1;
      flex: 0 0 var(--dashboard-role-width);
      width: var(--dashboard-role-width);
      height: 3.6rem;
      min-width: var(--dashboard-role-width);
      margin: 0;
      margin-left: -0.72rem;
      padding: 0.4rem 0.92rem 0.4rem 1rem;
      display: grid;
      grid-template-columns: 2.05rem minmax(0, 1fr) 0.62rem;
      align-items: center;
      gap: 0.34rem;
      border: 0;
      border-radius: 0.8rem;
      color: #18347f;
      background: transparent;
      font-size: 0.79rem;
      font-weight: 800;
      line-height: 1;
      text-align: left;
      transition: transform 180ms ease, color 180ms ease;
      -webkit-tap-highlight-color: transparent;
    }
    .dash-pill-btn:first-child { margin-left: 0; }
    .dash-pill-btn::before {
      position: absolute;
      inset: 0.18rem 0.48rem;
      z-index: -1;
      border: 1px solid rgba(129, 190, 249, 0.78);
      border-radius: 0.72rem;
      background:
        linear-gradient(145deg, rgba(255,255,255,0.98), rgba(238,247,255,0.88) 58%, rgba(247,250,255,0.96));
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.98),
        inset 0 -1px 0 rgba(157, 204, 248, 0.16),
        0 8px 20px -17px rgba(29, 78, 216, 0.72);
      backdrop-filter: blur(17px);
      -webkit-backdrop-filter: blur(17px);
      transform: skewX(-14deg);
      transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
      content: '';
    }
    .dash-pill-btn:hover,
    .dash-pill-btn:focus-visible {
      z-index: 4;
      color: #0b2b86;
      transform: translateY(-1px);
    }
    .dash-pill-btn:hover::before,
    .dash-pill-btn:focus-visible::before {
      border-color: rgba(67, 177, 247, 0.95);
      background: linear-gradient(145deg, #fff, rgba(241,249,255,0.98) 58%, #fff);
      box-shadow:
        inset 0 1px 0 #fff,
        0 10px 24px -16px rgba(29, 78, 216, 0.84),
        0 0 16px rgba(34, 211, 238, 0.13);
    }
    .dash-pill-btn:focus-visible {
      outline: 3px solid rgba(14, 116, 217, 0.72);
      outline-offset: 2px;
    }
    .dash-pill-btn.is-active {
      z-index: 3;
      color: #081e6d;
    }
    .dash-pill-btn.is-active::before {
      border-color: rgba(31, 169, 242, 0.96);
      background: linear-gradient(145deg, #fff, rgba(235,247,255,0.98) 58%, rgba(250,252,255,0.99));
      box-shadow:
        inset 0 1px 0 #fff,
        0 0 0 1px rgba(255,255,255,0.92),
        0 0 17px rgba(31, 200, 244, 0.2),
        0 10px 26px -19px rgba(29, 78, 216, 0.86);
    }
    .dashboard-role-icon {
      position: relative;
      width: 2.05rem;
      height: 2.05rem;
      display: inline-grid;
      place-items: center;
      color: #1942a2;
    }
    .dashboard-role-person {
      font-size: 1.48rem;
      line-height: 1;
    }
    .dashboard-role-domain-badge {
      position: absolute;
      right: -0.25rem;
      bottom: -0.18rem;
      width: 1.04rem;
      height: 1.04rem;
      display: inline-grid;
      place-items: center;
      border: 1px solid rgba(113, 181, 241, 0.78);
      border-radius: 50%;
      color: #075fb7;
      background: #f8fcff;
      box-shadow: 0 2px 7px rgba(23, 73, 161, 0.17);
      font-size: 0.65rem;
      line-height: 1;
    }
    .dashboard-role-label {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      letter-spacing: -0.01em;
    }
    .dashboard-user-label { display: inline-flex; align-items: center; gap: 0.4rem; }
    .dashboard-pro-badge {
      display: inline-flex;
      align-items: center;
      border: 1px solid rgba(14, 165, 233, 0.3);
      border-radius: 0.4rem;
      padding: 0.22rem 0.32rem;
      color: #075985;
      background: linear-gradient(135deg, #e0f2fe, #cffafe);
      font-size: 0.57rem;
      font-weight: 800;
      line-height: 1;
      letter-spacing: 0.025em;
    }
    .dash-pill-btn.is-user-pro::before {
      border-color: #38bdf8;
      animation: dashboardProGlow 10s ease-in-out infinite;
    }
    .dash-pill-btn.is-user-pro .dashboard-role-person {
      transform-origin: center bottom;
      animation: dashboardProPerson 10s ease-in-out infinite;
    }
    .support-motion-paused .dash-pill-btn.is-user-pro::before,
    .support-motion-paused .dash-pill-btn.is-user-pro .dashboard-role-person { animation-play-state: paused; }
    @keyframes dashboardProPerson {
      0%, 12%, 100% { transform: translateY(0) scale(1); filter: none; }
      5% { transform: translateY(-3px) scale(1.07); filter: drop-shadow(0 0 5px rgba(14,165,233,.45)); }
      8% { transform: translateY(-1px) scale(1.025); }
    }
    @keyframes dashboardProGlow {
      0%, 12%, 100% { box-shadow: inset 0 1px 0 #fff, 0 0 12px rgba(14,165,233,.13); }
      5% { box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(56,189,248,.25), 0 0 21px rgba(34,211,238,.43); }
    }
    @media (prefers-reduced-motion: reduce) {
      .dash-pill-btn.is-user-pro::before,
      .dash-pill-btn.is-user-pro .dashboard-role-person { animation: none; }
    }
    .dashboard-role-chevron {
      justify-self: end;
      color: rgba(40, 88, 165, 0.23);
      font-size: 1rem;
      line-height: 1;
      transform: translateX(0.16rem);
      transition: color 180ms ease, transform 180ms ease;
    }
    .dash-pill-btn:hover .dashboard-role-chevron,
    .dash-pill-btn:focus-visible .dashboard-role-chevron,
    .dash-pill-btn.is-active .dashboard-role-chevron {
      color: rgba(35, 111, 211, 0.55);
      transform: translateX(0.24rem);
    }
    .dashboard-role-trace {
      position: absolute;
      z-index: 6;
      width: calc(100% - 1.55rem);
      height: 2px;
      pointer-events: none;
      opacity: 0;
      filter: drop-shadow(0 0 5px rgba(34, 211, 238, 0.96));
    }
    .dashboard-role-trace::after {
      position: absolute;
      width: 2px;
      height: 2.32rem;
      background: linear-gradient(180deg, rgba(103,232,249,0.96), rgba(59,130,246,0));
      box-shadow: 0 0 7px rgba(34, 211, 238, 0.82);
      content: '';
    }
    .dashboard-role-trace--top {
      top: 0.18rem;
      left: 0.72rem;
      background: linear-gradient(90deg, rgba(59,130,246,0), #67e8f9 66%, #38bdf8);
      transform: scaleX(0);
      transform-origin: left center;
    }
    .dashboard-role-trace--top::after {
      top: 0;
      right: 0;
    }
    .dashboard-role-trace--bottom {
      right: 0.72rem;
      bottom: 0.18rem;
      background: linear-gradient(270deg, rgba(59,130,246,0), #67e8f9 66%, #38bdf8);
      transform: scaleX(0);
      transform-origin: right center;
    }
    .dashboard-role-trace--bottom::after {
      bottom: 0;
      left: 0;
      background: linear-gradient(0deg, rgba(103,232,249,0.96), rgba(59,130,246,0));
    }
    .dash-pill-btn.is-tracing .dashboard-role-trace--top {
      animation: dashboardRoleTraceTopRight 520ms cubic-bezier(.2,.74,.24,1) both;
    }
    .dash-pill-btn.is-tracing .dashboard-role-trace--bottom {
      animation: dashboardRoleTraceBottomLeft 520ms cubic-bezier(.2,.74,.24,1) both;
    }
    @keyframes dashboardRoleTraceTopRight {
      0% { opacity: 0; transform: scaleX(0); }
      12% { opacity: 1; }
      72% { opacity: 1; transform: scaleX(1); }
      100% { opacity: 0; transform: scaleX(1); }
    }
    @keyframes dashboardRoleTraceBottomLeft {
      0% { opacity: 0; transform: scaleX(0); }
      12% { opacity: 1; }
      72% { opacity: 1; transform: scaleX(1); }
      100% { opacity: 0; transform: scaleX(1); }
    }
    .dashboard-page {
      height: 100dvh;
      min-height: 100dvh;
      overflow: hidden;
      padding: var(--dashboard-page-padding);
    }
    .dashboard-shell-wrap {
      width: 100%;
      height: 100%;
      min-height: 0;
    }
    .dashboard-shell-card {
      display: flex;
      flex-direction: column;
      height: 100%;
      min-height: 0;
      overflow: hidden;
    }
    .dashboard-shell-header {
      box-sizing: border-box;
      display: grid;
      grid-template-columns: minmax(18.35rem, 18.35rem) minmax(0, 1fr) max-content;
      align-items: center;
      flex: 0 0 auto;
      gap: clamp(0.75rem, 1.35vw, 1.25rem);
      padding: 0.35rem 0.5rem 1rem;
      isolation: isolate;
      position: relative;
      z-index: 10000;
      overflow: visible;
    }
    .dashboard-shell-header.is-single-view {
      grid-template-columns: minmax(0, 1fr) max-content;
    }
    .dashboard-brand-lockup {
      display: inline-flex;
      align-items: center;
      gap: 0.85rem;
      min-width: 0;
    }
    .site-logo-mark {
      object-fit: contain;
      display: block;
      border-radius: 0 !important;
      background: transparent !important;
      filter: drop-shadow(0 0 12px rgba(36,224,233,.28)) drop-shadow(0 0 14px rgba(242,59,151,.24));
    }
    .dashboard-brand-title {
      color: #0d2674;
      font-size: 1.05rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      line-height: 1.05;
    }
    .dashboard-brand-subtitle {
      margin-top: 0.28rem;
      color: #7182bf;
      font-size: 0.84rem;
      font-weight: 700;
    }
    .dashboard-tabs {
      justify-self: start;
      display: inline-flex;
      align-items: center;
      gap: 0;
      width: max-content;
      min-width: 0;
      max-width: 100%;
      min-height: 4.05rem;
      padding: 0.22rem 0.48rem 0.24rem;
      border: 0;
      border-radius: 0.8rem;
      background: transparent;
      box-shadow: none;
      overflow-x: auto;
      overflow-y: hidden;
      overscroll-behavior-inline: contain;
      scroll-padding-inline: 0.48rem;
      scrollbar-width: none;
      position: relative;
      z-index: 4;
    }
    .dashboard-tabs::-webkit-scrollbar {
      display: none;
    }
    .dashboard-tabs[hidden],
    .dashboard-mobile-rolebar[hidden] {
      display: none !important;
    }
    .dashboard-action-cluster {
      justify-self: end;
      position: relative;
      z-index: 50;
      display: inline-flex;
      align-items: center;
      gap: 0.9rem;
      min-height: 4.5rem;
      padding: 0.55rem 0.8rem;
      border: 1px solid rgba(218, 229, 248, 0.8);
      border-radius: 999px;
      background: rgba(255,255,255,0.78);
      box-shadow: 0 16px 38px rgba(56, 80, 124, 0.1), inset 0 1px 0 rgba(255,255,255,0.96);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }
    .dashboard-icon-btn {
      position: relative;
      display: inline-flex;
      height: 2.7rem;
      width: 2.7rem;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      border: 1px solid rgba(219, 230, 250, 0.8);
      color: #102a73;
      background: rgba(255,255,255,0.55);
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .dashboard-icon-btn:hover {
      transform: translateY(-1px);
      border-color: rgba(31, 200, 244, 0.72);
      box-shadow: 0 10px 22px rgba(31, 200, 244, 0.14);
    }
    .dashboard-notification-badge {
      position: absolute;
      top: -0.26rem;
      right: -0.28rem;
      display: inline-flex;
      min-width: 1.22rem;
      height: 1.22rem;
      align-items: center;
      justify-content: center;
      padding: 0 .27rem;
      border: 2px solid #fff;
      border-radius: 999px;
      background: #ef3fa5;
      box-shadow: 0 0 14px rgba(239,63,165,.74);
      color: #fff;
      font-size: .58rem;
      font-weight: 900;
      line-height: 1;
      letter-spacing: -.02em;
    }
    .dashboard-notification-badge[hidden] { display: none; }
    .dashboard-notification-menu {
      position: fixed;
      z-index: 100000;
      box-sizing: border-box;
      width: min(19rem, calc(100vw - 2rem));
      padding: .55rem;
	  border: 1px solid rgba(186,213,245,.76);
      border-radius: 1rem;
	  background:
		radial-gradient(circle at 100% 0%, rgba(244,114,182,.14), transparent 46%),
		radial-gradient(circle at 0% 100%, rgba(34,211,238,.12), transparent 48%),
		rgba(255,255,255,.96);
	  box-shadow: 0 24px 52px -34px rgba(15,35,92,.5), 0 0 0 1px rgba(255,255,255,.72) inset;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      transform-origin: top right;
	  color: #172b4d;
    }
    .dashboard-notification-menu[hidden] { display: none; }
    .dashboard-notification-menu:not([hidden]) { animation: dashboard-menu-enter 150ms ease both; }
    .dashboard-notification-heading {
      padding: .45rem .55rem .6rem;
	  color: #64748b;
      font-size: .65rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .dashboard-notification-item {
      display: flex;
      width: 100%;
      align-items: center;
      gap: .7rem;
      border: 1px solid transparent;
      border-radius: .8rem;
      padding: .7rem;
	  color: #243b63;
      background: transparent;
      text-align: left;
      transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
    }
    .dashboard-notification-item:hover,
    .dashboard-notification-item:focus-visible {
      outline: none;
	  border-color: rgba(56,189,248,.38);
	  background: linear-gradient(135deg, rgba(240,249,255,.96), rgba(255,241,248,.88));
	  color: #0b2b65;
	  box-shadow: 0 0 0 3px rgba(56,189,248,.1);
    }
    .dashboard-notification-icon {
      display: inline-grid;
      width: 2.15rem;
      height: 2.15rem;
      flex: 0 0 auto;
      place-items: center;
	  border: 1px solid rgba(125,211,252,.48);
      border-radius: .7rem;
	  background: linear-gradient(145deg, rgba(224,247,255,.96), rgba(255,232,245,.9));
	  color: #0e7490;
      font-size: 1.08rem;
    }
    .dashboard-notification-copy {
      display: flex;
      min-width: 0;
      flex: 1 1 auto;
      flex-direction: column;
    }
    .dashboard-notification-copy strong {
	  color: #172b4d;
      font-size: .78rem;
      font-weight: 800;
    }
    .dashboard-notification-copy small {
      margin-top: .15rem;
      overflow: hidden;
	  color: #64748b;
      font-size: .65rem;
      font-weight: 650;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .dashboard-notification-count {
      margin-left: auto;
	  color: #be185d;
      font-size: .72rem;
      font-weight: 800;
      white-space: nowrap;
    }
    @keyframes dashboard-menu-enter {
      from { opacity: 0; transform: translateY(-.35rem) scale(.98); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    .dashboard-divider {
      width: 1px;
      height: 2.25rem;
      background: linear-gradient(180deg, transparent, rgba(115, 137, 188, 0.24), transparent);
    }
    .dashboard-profile-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.75rem;
      min-width: 16.5rem;
      border: 0;
      background: transparent;
      color: #0d2674;
      text-align: left;
    }
    .dashboard-profile-btn > .min-w-0 { flex: 1 1 auto; }
    .dashboard-profile-chevron { margin-left: auto; flex: 0 0 auto; }
    .dashboard-profile-avatar {
      height: 3.35rem;
      width: 3.35rem;
	  font-size: 1rem;
    }
    .dashboard-profile-btn .dashboard-profile-avatar,
    .dashboard-profile-summary .dashboard-dropdown-profile-avatar {
      border: 3px solid transparent;
      background: linear-gradient(145deg,#25468e,#4d5fb9) padding-box, linear-gradient(140deg,#48c6e6 4%,#e5f8ff 44%,#e77ab6 96%) border-box;
      box-shadow: 0 5px 13px -8px #213c7370;
      transition: box-shadow .18s ease, filter .18s ease;
    }
    .dashboard-profile-btn .shell-uploaded-avatar,
    .dashboard-profile-summary .shell-uploaded-avatar { box-sizing:border-box; border:2px solid #fff; }
    .dashboard-profile-btn { border-radius:14px; }
    .dashboard-profile-btn:hover .dashboard-profile-avatar,
    .dashboard-profile-btn[aria-expanded="true"] .dashboard-profile-avatar { box-shadow:0 0 0 2px #ffffff,0 0 0 4px #b9daf0,0 7px 18px -9px #b83a8270; }
    .dashboard-profile-btn:focus-visible { outline:3px solid #087ca8; outline-offset:5px; }
    body.dashboard-dark-mode .dashboard-profile-btn:hover .dashboard-profile-avatar,
    body.dashboard-dark-mode .dashboard-profile-btn[aria-expanded="true"] .dashboard-profile-avatar { box-shadow:0 0 0 2px #192d48,0 0 0 4px #8fb8d4,0 7px 18px -9px #e57cb870; }
    body.dashboard-dark-mode .dashboard-profile-btn:focus-visible { outline-color:#80ddf5; }
    @media(prefers-reduced-motion:reduce) { .dashboard-profile-btn .dashboard-profile-avatar,.dashboard-profile-summary .dashboard-dropdown-profile-avatar { transition:none; } }
    .dashboard-profile-name {
      display: block;
      max-width: 9.5rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 0.9rem;
      font-weight: 800;
      line-height: 1.2;
    }
    .dashboard-profile-role {
      display: flex;
      align-items: center;
      min-height: 1.22rem;
      margin-top: 0.2rem;
      color: #6275b0;
      font-size: 0.75rem;
      font-weight: 700;
      line-height: 1.2;
    }
    .dashboard-role-badges {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      max-width: 10.75rem;
      overflow: hidden;
    }
    .dashboard-role-badge-slot,
    .dashboard-role-badge-content {
      display: inline-flex;
      align-items: center;
      gap: 0.25rem;
      flex: 0 0 auto;
      white-space: nowrap;
    }
    .dashboard-role-badge-slot { overflow: hidden; }
    .dashboard-invitation-summary { display: grid; gap: .35rem; margin: .7rem 0 0; }
    .dashboard-invitation-summary strong { color: #07194f; overflow-wrap: anywhere; }
    .dashboard-invitation-summary span { font-size: .86rem; }
    .dashboard-role-badges-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 1.18rem;
      width: 1.18rem;
      flex: 0 0 auto;
      border-radius: 999px;
      color: #1e40af;
      background: rgba(236, 250, 255, 0.95);
      border: 1px solid rgba(31, 200, 244, 0.42);
      box-shadow: 0 0 10px rgba(31, 200, 244, 0.18);
      font-size: 0.78rem;
    }
    .dashboard-role-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 1.2rem;
      min-width: 1.2rem;
      padding: 0 0.28rem;
      border-radius: 999px;
      border: 1px solid transparent;
      color: #fff;
      font-size: 0.62rem;
      font-weight: 900;
      line-height: 1;
      letter-spacing: 0.03em;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.24), 0 0 12px rgba(15,23,42,0.08);
    }
    .dashboard-role-badge.is-pharmacy {
      background: linear-gradient(135deg, #1fc8f4, #1677df);
      border-color: rgba(31, 200, 244, 0.7);
    }
    .dashboard-role-badge.is-organization {
      background: linear-gradient(135deg, #ef3fa5, #c026d3);
      border-color: rgba(239, 63, 165, 0.7);
    }
    .dashboard-role-badge.is-supplier {
      background: linear-gradient(135deg, #10b981, #047857);
      border-color: rgba(16, 185, 129, 0.7);
    }
    .dashboard-profile-dropdown {
      position: fixed;
      left: auto;
      right: 1rem;
      top: 5.7rem;
      z-index: 100000;
      box-sizing: border-box;
      width: min(19rem, calc(100vw - 2rem));
      padding: 0.6rem;
      border: 1px solid rgba(199, 218, 247, 0.8);
      border-radius: 1.1rem;
      background: rgba(255,255,255,0.96);
      box-shadow: 0 22px 48px rgba(27, 45, 88, 0.18);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      transform-origin: top right;
    }
    .dashboard-profile-dropdown[hidden] { display: none; }
    .dashboard-profile-dropdown:not([hidden]) { animation: dashboard-menu-enter 150ms ease both; }
    .dashboard-profile-summary {
      display: flex;
      align-items: center;
      gap: 0.7rem;
      margin-bottom: 0.45rem;
      padding: 0.65rem;
      border: 1px solid rgba(199, 218, 247, 0.68);
      border-radius: 0.85rem;
      background: linear-gradient(135deg, rgba(248, 252, 255, 0.94), rgba(255, 246, 251, 0.78));
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.94);
    }
    .dashboard-dropdown-profile-avatar {
      width: 2.65rem;
      height: 2.65rem;
      flex: 0 0 auto;
      font-size: 0.78rem;
    }
    .dashboard-dropdown-profile-copy {
      display: block;
      min-width: 0;
      flex: 1 1 auto;
    }
    .dashboard-dropdown-profile-name,
    .dashboard-dropdown-profile-email {
      display: block;
      max-width: 13rem;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .dashboard-dropdown-profile-name {
      color: #0d2674;
      font-size: 0.82rem;
      font-weight: 800;
      line-height: 1.25;
    }
    .dashboard-dropdown-profile-email {
      margin-top: 0.18rem;
      color: #7182a8;
      font-size: 0.68rem;
      font-weight: 650;
      line-height: 1.3;
    }
    .dashboard-dropdown-profile-email[hidden] { display: none; }
    .dashboard-dropdown-row,
    .dashboard-dropdown-action {
      display: flex;
      width: 100%;
      align-items: center;
      gap: 0.7rem;
      border-radius: 0.85rem;
      padding: 0.75rem 0.8rem;
      color: #153173;
    }
    .dashboard-dropdown-row {
      background: linear-gradient(135deg, rgba(232, 246, 255, 0.86), rgba(255,255,255,0.95));
      border: 1px solid rgba(199, 218, 247, 0.72);
      text-align: left;
      cursor: pointer;
      transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .dashboard-dropdown-row:hover,
    .dashboard-dropdown-row:focus-visible {
      transform: translateY(-1px);
      border-color: rgba(31, 200, 244, 0.52);
      background: linear-gradient(135deg, rgba(225, 247, 255, 0.96), rgba(255,255,255,0.98) 56%, rgba(255, 238, 248, 0.92));
      box-shadow: 0 12px 24px rgba(55, 91, 151, 0.12), 0 0 0 3px rgba(31, 200, 244, 0.08);
      outline: 0;
    }
    .dashboard-medi-avatar {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.65rem;
      height: 2.65rem;
      flex: 0 0 auto;
      border: 1px solid rgba(31, 200, 244, 0.48);
      border-radius: 0.9rem;
      background: linear-gradient(145deg, rgba(235, 250, 255, 0.96), rgba(255, 238, 248, 0.94));
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.92), 0 8px 18px rgba(48, 95, 163, 0.11);
    }
    .dashboard-medi-avatar img {
      width: 2.1rem;
      height: 2.1rem;
      object-fit: contain;
      filter: drop-shadow(0 0 8px rgba(31, 200, 244, 0.2)) drop-shadow(0 0 8px rgba(239, 63, 165, 0.16));
    }
    .dashboard-medi-copy {
      display: flex;
      min-width: 0;
      flex: 1 1 auto;
      flex-direction: column;
    }
    .dashboard-medi-copy strong {
      color: #0d2674;
      font-size: 0.92rem;
      font-weight: 800;
    }
    .dashboard-medi-copy small {
      margin-top: 0.12rem;
      color: #7182bf;
      font-size: 0.7rem;
      font-weight: 700;
    }
    .dashboard-medi-chevron {
      margin-left: auto;
      color: #e23b94;
    }
    .dashboard-dropdown-action {
      margin-top: 0.45rem;
      text-decoration: none;
      border: 0;
      background: transparent;
      font-weight: 800;
      transition: background .2s ease, color .2s ease;
    }
    .dashboard-dropdown-action:hover {
      background: #fff0f8;
      color: #cc2e85;
    }
    .swal2-container.dashboard-logout-swal-container {
      /* Above shell menus and Medi (200000), below the system-update overlay. */
      z-index: 200100;
      padding: 1rem;
    }
    #dashboardLogoutSplash {
      position: fixed;
      inset: 0;
      z-index: 200100;
      min-height: 0;
      height: 100%;
      outline: none;
    }
    .dashboard-logout-status {
      margin: -.9rem 0 0;
      max-width: 26rem;
      color: #6677a8;
      font-size: .85rem;
      line-height: 1.6;
      text-align: center;
    }
    @media (max-height: 480px) {
      #dashboardLogoutSplash .dashboard-logout-status { margin: 0; }
    }
    .dashboard-logout-swal {
      width: min(92vw, 400px) !important;
      max-width: 100% !important;
      position: relative !important;
      overflow: hidden;
      isolation: isolate;
      border: 1px solid rgba(126, 151, 204, 0.3) !important;
      border-radius: 26px !important;
      background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(245,249,255,0.9)) !important;
      color: #07194f !important;
      backdrop-filter: blur(20px) saturate(130%);
      -webkit-backdrop-filter: blur(20px) saturate(130%);
      box-shadow:
        0 24px 70px rgba(95,122,184,0.28),
        -12px 12px 34px rgba(22,119,255,0.12),
        14px 14px 34px rgba(236,22,123,0.1),
        inset 0 1px 0 rgba(255,255,255,0.92) !important;
    }
    .dashboard-logout-swal::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background:
        linear-gradient(135deg, rgba(255,255,255,0.9), transparent 32%),
        radial-gradient(circle at 18% 16%, rgba(22,119,255,0.12), transparent 34%),
        radial-gradient(circle at 86% 78%, rgba(236,22,123,0.1), transparent 36%);
    }
    .dashboard-logout-swal > * {
      position: relative;
      z-index: 1;
    }
    .dashboard-logout-swal .swal2-icon.swal2-question {
      border-color: rgba(22,119,255,0.62) !important;
      color: #1677ff !important;
      box-shadow: 0 0 18px rgba(22,119,255,0.14), 0 0 20px rgba(236,22,123,0.1);
    }
    .dashboard-logout-swal .swal2-icon-content {
      text-shadow: 0 0 10px rgba(22,119,255,0.24), 0 0 12px rgba(236,22,123,0.16);
    }
    .dashboard-logout-swal-title {
      color: #07194f !important;
      font-size: 1.45rem !important;
      letter-spacing: 0 !important;
    }
    .dashboard-logout-swal-text {
      color: rgba(18,42,105,0.7) !important;
      font-size: 0.96rem !important;
    }
    .dashboard-logout-swal-actions {
      gap: 0.7rem;
    }
    .dashboard-logout-swal-confirm,
    .dashboard-logout-swal-cancel {
      min-width: 8.6rem;
      border-radius: 12px !important;
      padding: 0.78rem 1.25rem !important;
      font-weight: 800 !important;
    }
    .dashboard-logout-swal-confirm {
      border: 0 !important;
      color: #fff !important;
      background: linear-gradient(100deg, #005df5, #7849d8 48%, #ec167b) !important;
      box-shadow: 0 14px 28px rgba(0,93,245,0.18), 0 14px 30px rgba(236,22,123,0.16) !important;
    }
    .dashboard-logout-swal-cancel {
      border: 1px solid rgba(126,151,204,0.38) !important;
      color: #17356f !important;
      background: rgba(255,255,255,0.74) !important;
      box-shadow: 0 12px 26px rgba(83,108,166,0.12) !important;
    }
    .dashboard-logout-swal-confirm:focus-visible,
    .dashboard-logout-swal-cancel:focus-visible {
      outline: 0 !important;
      box-shadow: 0 0 0 3px rgba(255,255,255,0.9), 0 0 0 5px rgba(22,119,255,0.2), 0 14px 28px rgba(83,108,166,0.16) !important;
    }
    .dashboard-logout-swal-cancel:hover {
      border-color: rgba(236,22,123,0.38) !important;
      color: #b81769 !important;
      background: rgba(255,247,252,0.94) !important;
    }
    @media (max-width: 520px) {
      .dashboard-logout-swal-actions { width: calc(100% - 2rem); }
      .dashboard-logout-swal-confirm,
      .dashboard-logout-swal-cancel {
        min-width: 0;
        flex: 1 1 8.5rem;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .dashboard-logout-swal,
      .dashboard-logout-swal * {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
      }
    }
    .medi-support-backdrop {
      position: fixed;
      inset: 0;
      z-index: 199900;
      background: rgba(7, 18, 49, 0.34);
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      opacity: 0;
      transition: opacity .22s ease;
    }
    .medi-support-backdrop[hidden] { display: none; }
    .medi-support-backdrop.is-open { opacity: 1; }
    .medi-support-drawer {
      position: fixed;
      z-index: 200000;
      top: 0;
      right: 0;
      display: flex;
      width: min(28rem, 100vw);
      height: 100dvh;
      flex-direction: column;
      overflow: hidden;
      border-left: 1px solid rgba(185, 210, 242, .9);
      border-radius: 1.5rem 0 0 1.5rem;
      background: linear-gradient(160deg, rgba(255,255,255,.99), rgba(241,249,255,.98) 64%, rgba(255,244,250,.98));
      box-shadow: -26px 0 70px rgba(17, 39, 92, .22);
      transform: translateX(104%);
      visibility: hidden;
      pointer-events: none;
      transition: transform .28s cubic-bezier(.22,.8,.24,1), visibility 0s linear .28s;
    }
    .medi-support-drawer.is-open {
      transform: translateX(0);
      visibility: visible;
      pointer-events: auto;
      transition-delay: 0s;
    }
    .medi-support-header {
      display: flex;
      align-items: center;
      gap: .75rem;
      flex: 0 0 auto;
      padding: max(1rem, env(safe-area-inset-top)) 1rem .85rem;
      border-bottom: 1px solid rgba(190, 215, 244, .76);
      background: rgba(255,255,255,.82);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }
    .medi-support-header-avatar {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.85rem;
      height: 2.85rem;
      flex: 0 0 auto;
      border: 1px solid rgba(31,200,244,.5);
      border-radius: .95rem;
      background: linear-gradient(145deg, #eafaff, #fff0f8);
      box-shadow: 0 8px 22px rgba(46,80,151,.12);
    }
    .medi-support-header-avatar img { width: 2.25rem; height: 2.25rem; object-fit: contain; }
    .medi-support-heading { min-width: 0; flex: 1 1 auto; }
    .medi-support-heading h2 { color: #0d2674; font-size: 1rem; font-weight: 800; line-height: 1.2; }
    .medi-support-context { display: block; margin-top: .14rem; color: #7182b4; font-size: .73rem; font-weight: 700; }
    body { --medi-agent-accent: #93baff; --medi-agent-glow: rgba(100,150,255,.24); }
    body[data-medi-agent-tier=plus] { --medi-agent-accent: #67e8f9; --medi-agent-glow: rgba(34,211,238,.27); }
    body[data-medi-agent-tier=premium] { --medi-agent-accent: #d8b4fe; --medi-agent-glow: rgba(168,85,247,.28); }
    .support-headphones { display: inline-flex; width: 1.7rem; height: 1.7rem; color: #28466c; }
    .support-headphones svg { width: 100%; height: 100%; }
    .support-agent-active .support-headphones { color: var(--medi-agent-accent); filter: drop-shadow(0 0 4px var(--medi-agent-glow)); }
    .support-agent-active .medi-support-header-avatar,
    .support-agent-active .medi-support-history-avatar,
    .support-agent-active .dashboard-medi-avatar {
      background: linear-gradient(145deg, #203759, #0b1730);
      border-color: var(--medi-agent-accent);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 4px 16px var(--medi-agent-glow);
      transition: transform .18s ease, box-shadow .18s ease;
    }
    .support-agent-active .dashboard-dropdown-row:hover .dashboard-medi-avatar,
    .support-agent-active .dashboard-dropdown-row:focus-visible .dashboard-medi-avatar { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 6px 20px var(--medi-agent-glow); }
    @media (prefers-reduced-motion: reduce) {
      .support-agent-active .dashboard-medi-avatar, .support-agent-active .medi-support-header-avatar { transition: none; transform: none!important; }
    }
    .medi-support-header-actions { display: inline-flex; align-items: center; gap: .35rem; }
    .medi-support-icon-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.4rem;
      height: 2.4rem;
      border: 1px solid rgba(190,215,244,.86);
      border-radius: .78rem;
      color: #16357d;
      background: rgba(255,255,255,.82);
      transition: border-color .18s ease, background .18s ease, transform .18s ease;
    }
    .medi-support-icon-btn:hover { transform: translateY(-1px); border-color: rgba(31,200,244,.72); background: #fff; }
    .medi-support-icon-btn:focus-visible,
    .medi-support-send:focus-visible,
    .medi-support-stop:focus-visible,
    .medi-history-item-main:focus-visible,
    .medi-support-input:focus-visible {
      outline: 3px solid rgba(31,200,244,.34);
      outline-offset: 2px;
    }
    .medi-support-history-toggle[hidden] { display: none; }
    .medi-support-history-toggle svg { width: 1.22rem; height: 1.22rem; }
    .medi-support-workspace {
      position: relative;
      display: flex;
      min-width: 0;
      min-height: 0;
      flex: 1 1 auto;
      isolation: isolate;
      overflow: hidden;
    }
    .medi-support-main {
      display: flex;
      min-width: 0;
      min-height: 0;
      flex: 1 1 auto;
      flex-direction: column;
    }
    .medi-support-history-scrim {
      position: absolute;
      inset: 0;
      z-index: 4;
      appearance: none;
      border: 0;
      background: rgba(7,18,49,.42);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .2s ease, visibility 0s linear .2s;
    }
    .medi-support-workspace.is-history-open > .medi-support-history-scrim {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition-delay: 0s;
    }
    .medi-support-status {
      margin: .75rem 1rem 0;
      padding: .68rem .78rem;
      border: 1px solid rgba(245,158,11,.28);
      border-radius: .8rem;
      color: #874d0c;
      background: rgba(255,247,224,.9);
      font-size: .75rem;
      line-height: 1.45;
    }
    .medi-support-status[hidden] { display: none; }
    .medi-support-history {
      position: absolute;
      inset: 0 auto 0 0;
      z-index: 5;
      display: flex;
      width: min(19rem, calc(100% - 3.25rem));
      min-width: 0;
      flex-direction: column;
      overflow: hidden;
      border-right: 1px solid rgba(198,219,244,.88);
      background: linear-gradient(160deg,rgba(250,253,255,.99),rgba(238,248,255,.99) 62%,rgba(255,242,249,.98));
      box-shadow: 18px 0 44px rgba(17,39,92,.17);
      opacity: 0;
      visibility: hidden;
      transform: translateX(-104%);
      pointer-events: none;
      transition: transform .22s cubic-bezier(.22,.8,.24,1), opacity .18s ease, visibility 0s linear .22s;
    }
    .medi-support-history[hidden] { display: none; }
    .medi-support-workspace.is-history-open > .medi-support-history {
      opacity: 1;
      visibility: visible;
      transform: translateX(0);
      pointer-events: auto;
      transition-delay: 0s;
    }
    .medi-support-history-close {
      position: absolute;
      top: .9rem;
      right: .8rem;
      z-index: 2;
      box-shadow: 0 7px 18px rgba(31,56,112,.1);
    }
    .medi-support-history-head { flex: 0 0 auto; padding: 1rem 3.7rem 1rem 1rem; border-bottom: 1px solid rgba(198,219,244,.82); }
    .medi-support-history-identity { display: flex; min-width: 0; align-items: center; gap: .65rem; }
    .medi-support-history-avatar {
      display: inline-flex;
      width: 2.3rem;
      height: 2.3rem;
      flex: 0 0 auto;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(222,61,142,.3);
      border-radius: .76rem;
      background: linear-gradient(145deg,#e9faff,#ffeaf5);
      box-shadow: 0 8px 20px rgba(46,80,151,.1);
    }
    .medi-support-history-avatar img { width: 1.82rem; height: 1.82rem; object-fit: contain; }
    .medi-support-history-title { color: #173472; font-size: .82rem; font-weight: 900; line-height: 1.25; }
    .medi-support-history-subtitle { margin-top: .08rem; color: #7a89b4; font-size: .62rem; line-height: 1.35; }
    .medi-support-new-chat {
      display: inline-flex;
      width: 100%;
      min-height: 2.65rem;
      align-items: center;
      justify-content: center;
      gap: .4rem;
      margin-top: .85rem;
      border: 1px solid rgba(222,61,142,.4);
      border-radius: .82rem;
      color: #fff;
      background: linear-gradient(135deg,#bd1765,#ee365f);
      box-shadow: 0 10px 24px rgba(190,24,93,.16);
      font-size: .76rem;
      font-weight: 900;
      transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }
    .medi-support-new-chat:hover { filter: saturate(1.08); transform: translateY(-1px); box-shadow: 0 13px 27px rgba(190,24,93,.22); }
    .medi-support-new-chat:disabled { cursor: not-allowed; opacity: .55; transform: none; box-shadow: none; }
    .medi-history-list {
      display: grid;
      min-height: 0;
      flex: 1 1 auto;
      align-content: start;
      gap: .4rem;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding: .72rem;
      scrollbar-color: rgba(219,73,139,.72) rgba(255,222,238,.34);
      scrollbar-gutter: stable;
      scrollbar-width: thin;
    }
    .medi-history-list::-webkit-scrollbar { width: .5rem; }
    .medi-history-list::-webkit-scrollbar-track {
      margin-block: .5rem;
      border-radius: 999px;
      background: rgba(255,222,238,.34);
      box-shadow: inset 0 0 0 1px rgba(219,73,139,.08);
    }
    .medi-history-list::-webkit-scrollbar-thumb {
      min-height: 2.8rem;
      border: 2px solid transparent;
      border-radius: 999px;
      background: linear-gradient(180deg,rgba(238,81,143,.76),rgba(190,24,93,.62)) padding-box;
    }
    .medi-history-item { display: flex; align-items: stretch; border: 1px solid transparent; border-radius: .78rem; background: rgba(255,255,255,.74); transition: border-color .17s ease, background .17s ease, box-shadow .17s ease, transform .17s ease; }
    .medi-history-item:hover { border-color: rgba(222,61,142,.18); background: #fff; transform: translateX(2px); }
    .medi-history-item.is-active { border-color: rgba(31,200,244,.55); background: #fff; box-shadow: 0 7px 18px rgba(40,79,144,.08); }
    .medi-history-item-main { width: 100%; min-width: 0; flex: 1 1 auto; padding: .7rem .72rem; text-align: left; }
    .medi-history-item-main strong { display: block; overflow: hidden; color: #173472; font-size: .77rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
    .medi-history-item-main small { display: block; margin-top: .13rem; color: #7a89b4; font-size: .65rem; }
    .medi-support-messages {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      padding: 1rem;
      scroll-behavior: smooth;
    }
    .medi-support-empty { display: grid; min-height: 100%; place-content: center; padding: 2rem 1rem; text-align: center; }
    .medi-support-empty[hidden] { display: none; }
    .medi-support-empty-icon { display: inline-flex; width: 3.7rem; height: 3.7rem; align-items: center; justify-content: center; margin: 0 auto .85rem; border: 1px solid rgba(31,200,244,.38); border-radius: 1.15rem; color: #1b5ca8; background: linear-gradient(145deg,#e8faff,#fff0f8); font-size: 1.65rem; }
    .medi-support-empty h3 { color: #153273; font-size: .98rem; font-weight: 800; }
    .medi-support-empty p { max-width: 19rem; margin: .42rem auto 0; color: #7181aa; font-size: .78rem; line-height: 1.55; }
    .medi-message-row { display: flex; margin-bottom: .78rem; }
    .medi-message-row.is-user { justify-content: flex-end; }
    .medi-message-stack { display: flex; max-width: 86%; min-width: 0; flex-direction: column; align-items: flex-start; }
    .medi-message-row.is-user .medi-message-stack { align-items: flex-end; }
    .medi-message-bubble { max-width: 100%; padding: .72rem .82rem; border-radius: 1rem; font-size: .82rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
    .medi-message-row.is-user .medi-message-bubble { border-bottom-right-radius: .3rem; color: #fff; background: linear-gradient(135deg,#174893,#3d61c9); box-shadow: 0 9px 20px rgba(30,64,175,.16); }
    .medi-message-row.is-assistant .medi-message-bubble { border: 1px solid rgba(190,214,242,.86); border-bottom-left-radius: .3rem; color: #173367; background: rgba(255,255,255,.94); box-shadow: 0 8px 20px rgba(39,70,126,.08); }
    .medi-message-row.is-error .medi-message-bubble { border-color: rgba(245,158,11,.3); color: #7c4a0c; background: #fff9eb; }
    .medi-message-context { display: block; margin-top: .24rem; padding: 0 .2rem; color: #7b89ad; font-size: .65rem; font-style: italic; font-weight: 600; line-height: 1.3; }
    .medi-concern-introduction { margin: 0 0 .55rem; color: #60749a; font-size: .79rem; line-height: 1.5; }
    .medi-concern-actions { display: flex; align-self: flex-end; justify-content: flex-end; margin-top: .2rem; }
    .medi-concern-action { display: inline-flex; min-width: 2.5rem; min-height: 2.5rem; align-items: center; justify-content: center; gap: .35rem; border-radius: .65rem; color: #325dab; font-size: .75rem; }
    .medi-concern-action:hover { background: rgba(37,99,235,.08); }
    .medi-concern-action:focus-visible { outline: 2px solid #2589cb; outline-offset: 2px; }
    .medi-concern-action:disabled { opacity: .5; cursor: wait; }
    .medi-concern-action svg { width: 1.05rem; height: 1.05rem; }
    .medi-concern-composer-hint { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .5rem; color: #526b92; font-size: .72rem; }
    .medi-concern-composer-hint[hidden] { display: none; }
    .medi-concern-composer-hint button { min-height: 2rem; padding: .15rem .4rem; color: #325dab; border-radius: .4rem; }
    body.dashboard-dark-mode .medi-concern-introduction,
    body.dashboard-dark-mode .medi-concern-composer-hint { color: #a8bbda; }
    body.dashboard-dark-mode .medi-concern-action,
    body.dashboard-dark-mode .medi-concern-composer-hint button { color: #8cccfb; }
    .medi-message-bubble.is-revealing { width: min(100%,var(--medi-reply-target-width,19rem)); }
    .medi-ai-message-content { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
    .medi-ai-message-content > :first-child { margin-top: 0; }
    .medi-ai-message-content > :last-child { margin-bottom: 0; }
    .medi-ai-message-content p { margin: 0; }
    .medi-ai-message-content p + p { margin-top: .58rem; }
    .medi-ai-message-content h3,
    .medi-ai-message-content h4,
    .medi-ai-message-content h5 { margin: .68rem 0 .28rem; color: #102d61; font-weight: 850; line-height: 1.3; }
    .medi-ai-message-content h3 { font-size: .94rem; }
    .medi-ai-message-content h4,
    .medi-ai-message-content h5 { font-size: .86rem; }
    .medi-ai-message-content strong { color: #102d61; font-weight: 850; }
    .medi-ai-message-content em { color: #40598a; }
    .medi-ai-message-content ul,
    .medi-ai-message-content ol { margin: .5rem 0; padding-left: 1.22rem; }
    .medi-ai-message-content ul { list-style: disc; }
    .medi-ai-message-content ol { list-style: decimal; }
    .medi-ai-message-content li { padding-left: .08rem; }
    .medi-ai-message-content li + li { margin-top: .25rem; }
    .medi-ai-message-content blockquote { margin: .58rem 0; border-left: 3px solid rgba(39,168,223,.45); padding: .18rem 0 .18rem .68rem; color: #40598a; }
    .medi-ai-message-content code { border: 1px solid rgba(174,204,239,.72); border-radius: .34rem; padding: .05rem .28rem; background: #edf6ff; color: #173367; font: 600 .75rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; }
    .medi-ai-message-content pre { max-width: 100%; margin: .58rem 0; overflow-x: auto; border: 1px solid rgba(174,204,239,.72); border-radius: .68rem; padding: .62rem .68rem; background: #edf6ff; white-space: pre-wrap; }
    .medi-ai-message-content pre code { border: 0; padding: 0; background: transparent; }
    .medi-ai-message-content a { color: #1b5ca8; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
    .medi-ai-message-content .medi-application-action { display: flex; justify-content: center; margin-top: .9rem; }
    .medi-ai-message-content .medi-application-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: .65rem 1.4rem; border: 1px solid #1d4ed8; border-radius: .8rem; background: linear-gradient(135deg,#2563eb,#1d4ed8); color: #fff; box-shadow: 0 5px 12px rgba(29,78,216,.18),inset 0 1px 0 rgba(255,255,255,.16); font-weight: 750; line-height: 1.3; text-align: center; text-decoration: none; transition: background .18s ease,box-shadow .18s ease; }
    .medi-ai-message-content .medi-application-button:hover { background: linear-gradient(135deg,#1d4ed8,#1e40af); box-shadow: 0 6px 15px rgba(29,78,216,.25),inset 0 1px 0 rgba(255,255,255,.16); }
    .medi-ai-message-content .medi-application-button:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
    .medi-ai-message-content .medi-application-button:active { box-shadow: 0 2px 6px rgba(29,78,216,.18); }
    @media (prefers-reduced-motion: reduce) { .medi-ai-message-content .medi-application-button { transition: none; } }
    .medi-ai-message-content .medi-map-action { margin-top: 1.55em; }
    .medi-ai-message-content .medi-map-action a:focus-visible { outline: 2px solid #168fcf; outline-offset: 4px; border-radius: 2px; }
    .medi-reveal-pending { display: none !important; }
    .medi-ai-reply-caret { display: inline-block; width: .42rem; height: .9rem; margin-left: .12rem; border-radius: .18rem; vertical-align: -.12rem; background: #27a8df; animation: mediReplyCaret .72s steps(1,end) infinite; }
    .medi-thinking-row { align-items: flex-end; }
    .medi-thinking {
      position: relative;
      display: inline-flex;
      min-width: 7.15rem;
      min-height: 2.55rem;
      align-items: center;
      gap: .5rem;
      overflow: hidden;
      isolation: isolate;
    }
    .medi-thinking::before { position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg,transparent 22%,rgba(31,200,244,.11) 45%,rgba(222,61,142,.14) 52%,transparent 78%); content: ''; transform: translateX(-125%); animation: mediThinkingShine 1.65s ease-in-out infinite; }
    .medi-thinking-orbit { position: relative; width: .88rem; height: .88rem; flex: 0 0 auto; border: 1px solid rgba(222,61,142,.38); border-radius: 999px; }
    .medi-thinking-orbit::before { position: absolute; inset: .16rem; border-radius: inherit; background: #de3d8e; box-shadow: 0 0 12px rgba(222,61,142,.46); content: ''; animation: mediThinkingPulse 1.15s ease-in-out infinite; }
    .medi-thinking-label { color: #526d9c; font-size: .75rem; font-weight: 800; letter-spacing: .02em; }
    @keyframes mediThinkingShine { to { transform: translateX(125%); } }
    @keyframes mediThinkingPulse { 0%,100% { opacity: .52; transform: scale(.72); } 50% { opacity: 1; transform: scale(1); } }
    @keyframes mediReplyCaret { 0%,48% { opacity: 1; } 49%,100% { opacity: .18; } }
    .medi-support-composer {
      flex: 0 0 auto;
      padding: .75rem max(1rem, env(safe-area-inset-right)) max(.8rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
      border-top: 1px solid rgba(190,214,242,.82);
      background: rgba(255,255,255,.92);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }
    .medi-support-input-row { display: flex; align-items: flex-end; gap: .55rem; }
    .medi-support-input {
      width: 100%;
      min-height: 2.85rem;
      max-height: 8.5rem;
      resize: none;
      border: 1px solid rgba(174,204,239,.95);
      border-radius: .9rem;
      padding: .72rem .8rem;
      color: #173367;
      background: rgba(248,252,255,.96);
      font-size: .82rem;
      line-height: 1.4;
    }
    .medi-support-input:disabled { cursor: not-allowed; opacity: .62; }
    .medi-support-input.is-initializing:disabled { cursor: none; }
    #mediLoadingCursor { position: fixed; z-index: 2147483647; width: 19px; height: 19px; border: 3px solid #fbcfe8; border-top-color: #ec4899; border-right-color: #f472b6; border-radius: 50%; background: #fff8fc; box-shadow: 0 1px 7px #ec489933; pointer-events: none; animation: medi-pink-cursor .7s linear infinite; }
    #mediLoadingCursor[hidden] { display: none; }
    @keyframes medi-pink-cursor { to { transform: rotate(360deg); } }
    @media (prefers-reduced-motion: reduce) { #mediLoadingCursor { animation: none; } }
    .shell-uploaded-avatar { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
    .medi-file-picker { flex: 0 0 2.4rem; font-size: 1.3rem; align-self: center; }
    .medi-file-previews, .medi-file-gallery { display: flex; flex-wrap: wrap; gap: .45rem; min-width: 0; margin: .4rem 0; }
    .medi-file-previews[hidden], .medi-file-gallery[hidden] { display: none; }
    .medi-file-preview, .medi-file-chip { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; max-width: 100%; border: 1px solid #fbcfe8; border-radius: .65rem; background: #fff7fc; padding: .45rem .65rem; font-size: .74rem; color: #70234f; }
    .medi-file-preview span, .medi-file-chip span { overflow-wrap: anywhere; min-width: 0; }
    .medi-file-preview small { flex-basis: 100%; color: #64748b; }
    .medi-file-preview button { padding: .2rem .4rem; border-radius: .3rem; }
    .medi-file-chip img { width: 3rem; height: 3rem; object-fit: cover; border-radius: .4rem; }
    .medi-file-open { display: inline-flex; align-items: center; color: #be185d; font-weight: 600; text-decoration: underline; }
    .medi-file-open img { width: 3rem; height: 3rem; object-fit: cover; border-radius: .4rem; }
    .medi-prescription { box-sizing: border-box; width: min(100%,24rem); min-width: 0; margin-top: .65rem; padding: 1rem; border: 1px solid #f5cde2; border-radius: 1rem; background: linear-gradient(140deg,#fffafd,#f6fbff); color: #172554; font-size: .82rem; }
    .medi-prescription>strong { display: block; font-size: .85rem; line-height: 1.4; }
    .medi-prescription-list { display: grid; gap: 0; margin: .65rem 0 0; padding: 0; list-style: none; }
    .medi-prescription-item { position: relative; display: flex; flex-direction: column; gap: .35rem; padding: .65rem 0 .65rem 1rem; border-bottom: 1px solid #eadfeb; overflow-wrap: anywhere; line-height: 1.5; }
    .medi-prescription-item::before { content: ''; position: absolute; top: 1.08rem; left: .05rem; width: .3rem; height: .3rem; border-radius: 50%; background: #d93988; }
    .medi-prescription-item:last-child { border-bottom: 0; }
    .medi-prescription-item small { color: #9d174d; }
    .medi-prescription-item input { width: 100%; min-width: 0; border: 1px solid #cbd5e1; padding: .5rem; border-radius: .5rem; background: white; color: #172554; }
    .medi-prescription-actions { display: grid; gap: .5rem; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid #eadfeb; }
    .medi-prescription-actions .medi-concern-action { box-sizing: border-box; width: 100%; min-height: 44px; padding: .65rem 1rem; border: 1px solid #c9daef; font-weight: 650; line-height: 1.4; text-align: center; white-space: normal; overflow-wrap: anywhere; }
    .medi-prescription-actions .is-primary { background: #cf2478; border-color: #cf2478; color: white; }
    .medi-prescription-actions .is-primary:hover { background: #b82069; border-color: #b82069; }
    .medi-prescription-actions button:disabled { opacity: .5; cursor: default; }
    body.dashboard-dark-mode .medi-prescription { border-color: #65415e; background: linear-gradient(140deg,#291c36,#142b46); color: #edf5ff; }
    body.dashboard-dark-mode .medi-prescription-item, body.dashboard-dark-mode .medi-prescription-actions { border-color: #56415a; }
    body.dashboard-dark-mode .medi-prescription-item small { color: #f7b6d4; }
    body.dashboard-dark-mode .medi-prescription-item input { background: #142442; color: #edf5ff; border-color: #526984; }
    body.dashboard-dark-mode .medi-prescription-actions .medi-concern-action:not(.is-primary) { color: #b9dcff; border-color: #526984; }
    body.dashboard-dark-mode .medi-prescription-actions .medi-concern-action.is-primary { color: #fff; }
    .medi-support-send,
    .medi-support-stop { display: inline-flex; min-width: 3rem; height: 2.85rem; align-items: center; justify-content: center; border-radius: .9rem; color: #fff; font-size: 1.12rem; }
    .medi-support-send { background: linear-gradient(135deg,#168fcf,#3458c7); box-shadow: 0 9px 20px rgba(37,99,235,.2); }
    .medi-support-send:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }
    .medi-support-stop { background: linear-gradient(135deg,#d43a83,#b7246c); }
    .medi-support-stop[hidden] { display: none; }
    .medi-support-privacy { display: flex; align-items: flex-start; gap: .35rem; margin-top: .5rem; color: #7b87a8; font-size: .64rem; line-height: 1.4; }
    .medi-support-privacy i { margin-top: .04rem; color: #de3d8e; font-size: .8rem; }
    body.dashboard-dark-mode .medi-support-drawer { border-color: rgba(91,153,205,.3); background: linear-gradient(160deg,#0b1835,#101f43 64%,#24152f); }
    body.dashboard-dark-mode .medi-support-header,
    body.dashboard-dark-mode .medi-support-composer { border-color: rgba(91,153,205,.28); background: rgba(8,20,46,.9); }
    body.dashboard-dark-mode .medi-support-heading h2,
    body.dashboard-dark-mode .medi-support-empty h3 { color: #edf7ff; }
    body.dashboard-dark-mode .medi-support-context,
    body.dashboard-dark-mode .medi-message-context,
    body.dashboard-dark-mode .medi-support-empty p,
    body.dashboard-dark-mode .medi-support-privacy { color: #9eb6da; }
    body.dashboard-dark-mode .medi-support-input { color: #edf7ff; border-color: rgba(91,153,205,.36); background: rgba(255,255,255,.07); }
    body.dashboard-dark-mode .medi-message-row.is-assistant .medi-message-bubble { color: #eaf7ff; border-color: rgba(91,153,205,.3); background: rgba(255,255,255,.08); }
    body.dashboard-dark-mode .medi-ai-message-content h3,
    body.dashboard-dark-mode .medi-ai-message-content h4,
    body.dashboard-dark-mode .medi-ai-message-content h5,
    body.dashboard-dark-mode .medi-ai-message-content strong { color: #edf7ff; }
    body.dashboard-dark-mode .medi-ai-message-content em,
    body.dashboard-dark-mode .medi-ai-message-content blockquote,
    body.dashboard-dark-mode .medi-thinking-label { color: #b8cbed; }
    body.dashboard-dark-mode .medi-ai-message-content code,
    body.dashboard-dark-mode .medi-ai-message-content pre { border-color: rgba(91,153,205,.3); color: #eaf7ff; background: rgba(255,255,255,.08); }
    body.dashboard-dark-mode .medi-ai-message-content a { color: #7dd3fc; }
    body.dashboard-dark-mode .medi-ai-message-content .medi-application-button { color: #fff; }
    body.dashboard-dark-mode .medi-support-history { border-color: rgba(91,153,205,.28); background: linear-gradient(160deg,rgba(7,21,47,.99),rgba(10,27,57,.99) 64%,rgba(38,17,42,.98)); }
    body.dashboard-dark-mode .medi-support-history-head { border-color: rgba(91,153,205,.26); }
    body.dashboard-dark-mode .medi-support-history-title { color: #edf7ff; }
    body.dashboard-dark-mode .medi-support-history-subtitle { color: #9eb6da; }
    body.dashboard-dark-mode .medi-history-item { background: rgba(255,255,255,.05); }
    body.dashboard-dark-mode .medi-history-item-main strong { color: #edf7ff; }
    @media (max-width: 639.98px) {
      .medi-support-drawer { width: 100vw; border-left: 0; border-radius: 0; }
      .medi-support-backdrop { display: none !important; }
      .medi-support-messages { padding: .85rem; }
      .medi-message-stack { max-width: 90%; }
      .medi-support-history { width: min(19rem, calc(100% - 3rem)); }
    }
    @media (max-width: 359.98px) {
      .medi-support-history { width: 100%; }
    }
    @media (prefers-reduced-motion: reduce) {
      .medi-support-drawer,
      .medi-support-backdrop,
      .medi-support-history,
      .medi-support-history-scrim { transition: none; }
      .medi-thinking::before,
      .medi-thinking-orbit::before,
      .medi-ai-reply-caret { animation: none; }
      .dashboard-notification-menu:not([hidden]) { animation: none; }
      .dash-pill-btn,
      .dash-pill-btn::before,
      .dashboard-role-chevron { transition: none; }
      .dash-pill-btn:hover,
      .dash-pill-btn:focus-visible { transform: none; }
      .dash-pill-btn.is-tracing .dashboard-role-trace--top,
      .dash-pill-btn.is-tracing .dashboard-role-trace--bottom { animation: none; opacity: 0; }
    }
    .dashboard-frame {
      height: 100%;
      min-height: 0 !important;
      border: 0;
      border-radius: 1.5rem;
      background: transparent;
    }
    .dashboard-frame:not(.hidden) {
      display: block;
    }
    .dashboard-frame-wrap {
      position: relative;
      flex: 1 1 auto;
      min-height: 0;
      z-index: 0;
      padding: 0;
      background: transparent;
      display: flex;
    }
    .dashboard-mobile-rolebar {
      box-sizing: border-box;
      display: none;
      flex: 0 0 auto;
    }
    .dashboard-tabs [hidden],
    .dashboard-mobile-rolebar [hidden] {
      display: none !important;
    }
    .dashboard-mobile-role-btn {
      min-width: 0;
      min-height: 3.5rem;
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.18rem;
      border: 1px solid transparent;
      border-radius: 0.85rem;
      color: #6374a8;
      background: transparent;
      font-size: 0.66rem;
      font-weight: 800;
      line-height: 1;
      transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
    }
    .dashboard-mobile-role-btn i {
      font-size: 1.25rem;
      line-height: 1;
    }
    .dashboard-mobile-role-btn:hover {
      color: #16357d;
      background: rgba(255,255,255,.72);
    }
    .dashboard-mobile-role-btn.is-active,
    .dashboard-mobile-role-btn[aria-current="page"] {
      color: #0b246d;
      border-color: rgba(31, 200, 244, .45);
      background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(239,248,255,.92));
      box-shadow: 0 8px 22px -16px rgba(31, 87, 178, .7), 0 0 16px rgba(239,63,165,.1);
    }
    .dashboard-mobile-role-btn:focus-visible {
      outline: 3px solid rgba(31, 200, 244, .38);
      outline-offset: 1px;
    }
    body.dashboard-dark-mode {
      background: linear-gradient(135deg, #07142f 0%, #101b3f 55%, #1a1330 100%);
      color: #edf7ff;
    }
    body.dashboard-dark-mode .dashboard-action-cluster,
    body.dashboard-dark-mode .dashboard-profile-dropdown {
      background: rgba(10, 24, 54, 0.9);
      border-color: rgba(123, 210, 244, 0.22);
    }
    body.dashboard-dark-mode .dashboard-brand-title,
    body.dashboard-dark-mode .dashboard-profile-name,
    body.dashboard-dark-mode .dashboard-icon-btn,
    body.dashboard-dark-mode .dashboard-profile-btn,
    body.dashboard-dark-mode .dash-pill-btn {
      color: #edf7ff;
    }
    body.dashboard-dark-mode .dashboard-brand-subtitle,
    body.dashboard-dark-mode .dashboard-profile-role {
      color: #9eb6da;
    }
    body.dashboard-dark-mode .dashboard-icon-btn {
      background: rgba(255,255,255,0.08);
    }
    body.dashboard-dark-mode .dash-pill-btn::before {
      border-color: rgba(105, 194, 241, 0.48);
      background: linear-gradient(145deg, rgba(16,35,72,0.96), rgba(10,27,59,0.93) 58%, rgba(23,28,63,0.96));
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 10px 25px -18px rgba(0,0,0,0.92);
    }
    body.dashboard-dark-mode .dash-pill-btn:hover::before,
    body.dashboard-dark-mode .dash-pill-btn:focus-visible::before,
    body.dashboard-dark-mode .dash-pill-btn.is-active::before {
      border-color: rgba(86, 208, 247, 0.78);
      background: linear-gradient(145deg, rgba(23,48,91,0.98), rgba(11,31,66,0.97) 62%, rgba(32,29,69,0.98));
    }
    body.dashboard-dark-mode .dashboard-role-icon {
      color: #a9dcff;
    }
    body.dashboard-dark-mode .dashboard-role-domain-badge {
      border-color: rgba(105, 194, 241, 0.58);
      color: #a9dcff;
      background: #102a55;
    }
    body.dashboard-dark-mode .dashboard-role-chevron { color: rgba(190, 222, 250, 0.32); }
    body.dashboard-dark-mode .dashboard-dropdown-row {
      background: rgba(255,255,255,0.06);
      color: #eaf7ff;
    }
    body.dashboard-dark-mode .dashboard-profile-summary {
      border-color: rgba(123, 210, 244, 0.18);
      background: rgba(255,255,255,0.045);
    }
    body.dashboard-dark-mode .dashboard-dropdown-profile-name { color: #edf7ff; }
    body.dashboard-dark-mode .dashboard-dropdown-profile-email { color: #9eb6da; }
    body.dashboard-dark-mode .dashboard-medi-copy strong { color: #edf7ff; }
    body.dashboard-dark-mode .dashboard-medi-copy small { color: #9eb6da; }
    body.dashboard-dark-mode .dashboard-dropdown-action {
      color: #eaf7ff;
    }
    .logo-modal-backdrop {
      position: fixed;
      inset: 0;
      background:
        radial-gradient(circle at center, rgba(242,59,151,.12), transparent 32rem),
        rgba(2, 7, 18, 0.78);
      backdrop-filter: blur(5px);
      -webkit-backdrop-filter: blur(5px);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 2050;
      padding: 1.5rem;
      opacity: 0;
      transition: opacity .38s ease;
    }
    .logo-modal-backdrop.is-open { display: flex; opacity: 1; }
    .logo-spotlight-core {
      width: min(72vw, 260px);
      aspect-ratio: 695 / 638;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      filter: drop-shadow(0 0 30px rgba(36,224,233,.34)) drop-shadow(0 0 42px rgba(242,59,151,.42));
      transform: scale(.84);
      opacity: 0;
    }
    .logo-modal-backdrop.is-open .logo-spotlight-core {
      animation: dashboardLogoEnter .6s cubic-bezier(.2,.8,.2,1) forwards;
    }
    .logo-spotlight-ring {
      position: absolute;
      inset: 0;
      background:
        conic-gradient(
          from var(--logo-star-angle),
          transparent 0deg,
          transparent 244deg,
          rgba(255,255,255,.1) 262deg,
          rgba(255,255,255,.96) 278deg,
          rgba(255,38,190,.98) 292deg,
          rgba(255,46,199,.58) 312deg,
          transparent 336deg,
          transparent 360deg
        );
      -webkit-mask: url("../../assets/img/auth/medisync-logo-heart-outline.png?v=20260603-heart-outline1") center / contain no-repeat;
      mask: url("../../assets/img/auth/medisync-logo-heart-outline.png?v=20260603-heart-outline1") center / contain no-repeat;
      filter: drop-shadow(0 0 10px rgba(255,45,190,.95)) drop-shadow(0 0 24px rgba(255,45,190,.82));
      animation: dashboardLogoShootingStar 2.2s linear infinite;
      z-index: 2;
      pointer-events: none;
    }
    .logo-spotlight-ring::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(255,40,190,.44);
      -webkit-mask: inherit;
      mask: inherit;
      filter: blur(9px);
      opacity: .72;
    }
    .logo-spotlight-img {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      object-fit: contain;
      filter: drop-shadow(0 0 16px rgba(36,224,233,.26)) drop-shadow(0 0 20px rgba(242,59,151,.24));
    }
    .logo-modal-backdrop.is-closing { opacity: 0; }
    .logo-modal-backdrop.is-closing .logo-spotlight-core {
      animation: dashboardLogoExit .4s ease forwards;
    }
    @keyframes dashboardLogoShootingStar {
      to { --logo-star-angle: 360deg; }
    }
    @keyframes dashboardLogoEnter {
      from { transform: scale(.84); opacity: 0; }
      to { transform: scale(1); opacity: 1; }
    }
    @keyframes dashboardLogoExit {
      from { transform: scale(1); opacity: 1; }
      to { transform: scale(.92); opacity: 0; }
    }
    @media (max-width: 1199.98px) {
      .dashboard-shell-header {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-areas:
          "brand actions"
          "tabs tabs";
      }
      .dashboard-shell-header.is-single-view {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-areas: "brand actions";
      }
      .dashboard-brand-lockup {
        grid-area: brand;
      }
      .dashboard-tabs {
        grid-area: tabs;
        justify-self: start;
        width: max-content;
        max-width: 100%;
      }
      .dashboard-tabs {
        overflow-x: auto;
        justify-content: flex-start;
      }
      .dashboard-action-cluster {
        grid-area: actions;
        width: auto;
        justify-self: end;
      }
      .dashboard-profile-btn {
        min-width: 0;
        flex: 1;
      }
    }
    @media (max-width: 720px) {
      .dashboard-page { padding: 0.55rem; }
      .dashboard-shell-header { padding: 0.75rem; gap: 0.7rem; }
      .dashboard-brand-title { font-size: 0.88rem; }
      .dashboard-brand-subtitle { font-size: 0.72rem; }
      .dashboard-action-cluster {
        gap: 0.45rem;
        min-height: 3.65rem;
        border-radius: 1.1rem;
        padding: 0.45rem;
      }
      .dashboard-icon-btn {
        height: 2.35rem;
        width: 2.35rem;
      }
      .dashboard-profile-avatar {
        height: 2.55rem;
        width: 2.55rem;
      }
      .dashboard-profile-btn .dashboard-profile-name,
      .dashboard-divider {
        display: none;
      }
      .dashboard-frame { height: 100%; min-height: 0 !important; border-radius: 1rem; }
    }
    @media (max-width: 639.98px) {
      .dashboard-page {
        padding: 0;
      }
      .dashboard-shell-header {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "brand actions";
        gap: 0.45rem;
        padding-top: max(0.55rem, env(safe-area-inset-top));
        padding-right: max(0.65rem, env(safe-area-inset-right));
        padding-bottom: 0.55rem;
        padding-left: max(0.65rem, env(safe-area-inset-left));
        border-bottom: 1px solid rgba(203, 218, 242, .72);
        background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(244,250,255,.9));
        box-shadow: 0 8px 24px -20px rgba(29, 61, 120, .65);
      }
      .dashboard-brand-lockup {
        gap: 0.42rem;
      }
      .dashboard-brand-lockup .site-logo-mark {
        width: 2.55rem !important;
        height: 2.3rem !important;
      }
      .dashboard-brand-title {
        font-size: 0.8rem;
        letter-spacing: 0.07em;
      }
      .dashboard-brand-subtitle {
        display: none !important;
      }
      .dashboard-tabs {
        display: none;
      }
      .dashboard-action-cluster {
        min-height: 0;
        gap: 0.32rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      .dashboard-icon-btn {
        width: 2.75rem;
        min-width: 2.75rem;
        height: 2.75rem;
        flex: 0 0 2.75rem;
        border-color: rgba(199, 217, 244, .82);
        background: rgba(255,255,255,.78);
      }
      .dashboard-profile-btn {
        min-width: 0;
        gap: 0;
      }
      .dashboard-profile-avatar {
        width: 2.75rem;
        min-width: 2.75rem;
        height: 2.75rem;
      }
      .dashboard-profile-btn > .min-w-0,
      .dashboard-profile-chevron,
      .dashboard-divider {
        display: none;
      }
      .dashboard-profile-btn.is-user-only > .min-w-0,
      .dashboard-profile-btn.has-role-badges > .min-w-0 {
        display: block;
      }
      .dashboard-profile-btn.is-user-only .dashboard-profile-role,
      .dashboard-profile-btn.has-role-badges .dashboard-profile-role {
        margin: 0 0 0 .4rem;
      }
      .dashboard-profile-btn.is-user-only .dashboard-role-badges-icon,
      .dashboard-profile-btn.has-role-badges .dashboard-role-badges-icon {
        display: none;
      }
      .dashboard-frame-wrap {
        padding: 0;
      }
      .dashboard-frame {
        border-radius: 0;
      }
      .dashboard-mobile-rolebar {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        gap: 0.2rem;
        padding-top: 0.3rem;
        padding-right: max(0.35rem, env(safe-area-inset-right));
        padding-bottom: max(0.35rem, env(safe-area-inset-bottom));
        padding-left: max(0.35rem, env(safe-area-inset-left));
        border-top: 1px solid rgba(199, 217, 244, .82);
        background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(239,248,255,.94));
        box-shadow: 0 -10px 28px -24px rgba(25, 56, 118, .85);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        z-index: 20;
      }
    }
    @media (max-width: 359.98px) {
      /* Keep the full wordmark clear of the bell without shrinking touch targets. */
      .dashboard-profile-btn.has-role-badges,
      .dashboard-profile-btn.is-user-only {
        flex-direction: column;
        align-items: center;
      }
      .dashboard-profile-btn.has-role-badges > .min-w-0,
      .dashboard-profile-btn.is-user-only > .min-w-0 {
        flex: 0 0 auto;
      }
      .dashboard-profile-btn.has-role-badges .dashboard-profile-role,
      .dashboard-profile-btn.is-user-only .dashboard-profile-role {
        margin: .15rem 0 0;
      }
    }
    @media (min-width: 1200px) and (max-width: 1439.98px) {
      .dashboard-shell-header[data-role-count="3"],
      .dashboard-shell-header[data-role-count="4"] {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-areas:
          "brand actions"
          "tabs tabs";
      }
      .dashboard-shell-header[data-role-count="3"] .dashboard-brand-lockup,
      .dashboard-shell-header[data-role-count="4"] .dashboard-brand-lockup { grid-area: brand; }
      .dashboard-shell-header[data-role-count="3"] .dashboard-tabs,
      .dashboard-shell-header[data-role-count="4"] .dashboard-tabs {
        grid-area: tabs;
        justify-self: start;
        width: max-content;
        max-width: 100%;
      }
      .dashboard-shell-header[data-role-count="3"] .dashboard-action-cluster,
      .dashboard-shell-header[data-role-count="4"] .dashboard-action-cluster { grid-area: actions; }
    }
    @media (max-width: 1023.98px) and (orientation: portrait) {
      .dashboard-shell-header:not(.is-single-view) {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-areas: "brand actions";
      }
      .dashboard-tabs { display: none; }
      .dashboard-mobile-rolebar:not([hidden]) {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        gap: 0.2rem;
        padding-top: 0.3rem;
        padding-right: max(0.35rem, env(safe-area-inset-right));
        padding-bottom: max(0.35rem, env(safe-area-inset-bottom));
        padding-left: max(0.35rem, env(safe-area-inset-left));
        border-top: 1px solid rgba(199, 217, 244, .82);
        background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(239,248,255,.94));
        box-shadow: 0 -10px 28px -24px rgba(25, 56, 118, .85);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        z-index: 20;
      }
    }
    @media (max-width: 1023.98px) and (orientation: landscape) {
      .dashboard-shell-header:not(.is-single-view) {
        grid-template-columns: minmax(0, 1fr) max-content;
        grid-template-areas:
          "brand actions"
          "tabs tabs";
      }
      .dashboard-tabs:not([hidden]) {
        display: inline-flex;
        grid-area: tabs;
        justify-self: start;
        width: max-content;
        max-width: 100%;
      }
      .dashboard-mobile-rolebar { display: none !important; }
    }
  
