/* پنل موبایل: هدر شیشه‌ای، نوار پایین شناور و منوی «بیشتر». بعد از theme.css بارگذاری می‌شود. */
.portal-top, .nav-scrim, .portal-tabbar { display: none; }
.tabbar button.tab-more { all: unset; box-sizing: border-box; cursor: pointer; display: grid; justify-items: center; gap: 3px; padding: 8px 4px; min-height: 52px; border-radius: 20px; color: #a0978a; font-size: .68rem; font-weight: 500; font-family: inherit; transition: color .25s ease, background-color .25s ease; }
.tabbar button.tab-more[aria-current=page], .tabbar button.tab-more[aria-expanded=true] { color: var(--ink); background: rgba(255, 255, 255, .7); }
.tabbar button.tab-more:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.top-brand img { height: 30px; width: auto; max-width: 96px; flex: none; object-fit: contain; }
@media (max-width: 860px) {
  .portal-shell { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .portal-tabbar { display: grid; }
  .portal-tabbar.patient-tabbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portal-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; position: sticky; top: 0; z-index: 30; padding: 10px 16px; background: rgba(236, 229, 217, .78); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2); border-bottom: 1px solid var(--line); }
  .top-brand { display: flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; color: var(--ink); }
  .top-brand span { display: grid; min-width: 0; line-height: 1.4; }
  .top-brand b { font-size: .92rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .top-brand small { color: var(--mut); font-size: .74rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .top-bell { position: relative; display: grid; place-items: center; width: 46px; height: 46px; flex: none; border-radius: 50%; color: var(--ink); background: var(--glass); border: 1px solid var(--glass-b); backdrop-filter: blur(12px); }
  .top-bell[aria-current=page] { border-color: var(--gold); }
  .top-bell .badge { position: absolute; top: -4px; inset-inline-start: -4px; min-width: 20px; padding: 0 6px; font-size: .7rem; line-height: 18px; text-align: center; }
  .top-bell .badge[hidden] { display: none; }
  .nav-scrim { display: block; position: fixed; inset: 0; z-index: 45; background: rgba(60, 52, 40, .38); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
  .nav-scrim.open { opacity: 1; pointer-events: auto; }
  .portal-shell .side-nav { z-index: 50; padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
  .portal-shell .toasts { bottom: calc(104px + env(safe-area-inset-bottom)); }
  .portal-shell .content { padding: 16px; }
  .portal-shell .content > h1 { font-size: 1.4rem; font-weight: 600; }
  .menu-btn { display: none; }
}
@media (prefers-reduced-motion: reduce) { .nav-scrim { transition: none; } }
