/* Shared mobile-first shell for every destination exposed by the Profile menu. */
:root {
  --dpr-blue: #1858d1;
  --dpr-blue-dark: #123f99;
  --dpr-ink: #152033;
  --dpr-muted: #627089;
  --dpr-line: #dfe6f0;
  --dpr-surface: #ffffff;
  --dpr-bg: #f4f7fb;
  --dpr-shadow: 0 10px 30px rgba(21, 32, 51, .08);
}
html.dpr-menu-pages { overflow-x: hidden; scroll-behavior: smooth; }
body.dpr-menu-pages {
  min-width: 0;
  overflow-x: hidden;
  background: var(--dpr-bg);
  color: var(--dpr-ink);
}
body.dpr-menu-pages::before { content: none !important; }
.dpr-global-header {
  position: sticky;
  top: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 10px max(16px, calc((100vw - 1240px) / 2));
  border-bottom: 1px solid rgba(223, 230, 240, .95);
  background: rgba(255,255,255,.96);
  box-shadow: 0 4px 18px rgba(21,32,51,.06);
  backdrop-filter: blur(16px);
}
.dpr-brand { display: inline-flex; align-items: center; gap: 9px; color: var(--dpr-ink); text-decoration: none; font-weight: 850; letter-spacing: -.02em; white-space: nowrap; }
.dpr-brand-mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, #1b68ee, #113c9f); color: white; font-size: 15px; box-shadow: 0 5px 12px rgba(24,88,209,.24); }
.dpr-page-title { min-width: 0; overflow: hidden; color: var(--dpr-muted); font-size: 14px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.dpr-header-nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.dpr-header-nav a, .dpr-header-action { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 12px; border: 1px solid transparent; border-radius: 10px; color: var(--dpr-ink); background: transparent; font: inherit; font-size: 13px; font-weight: 750; text-decoration: none; cursor: pointer; }
.dpr-header-nav a:hover, .dpr-header-action:hover { border-color: var(--dpr-line); background: #f5f8fd; }
.dpr-header-nav a[aria-current="page"] { border-color: #cbdafa; color: var(--dpr-blue-dark); background: #edf3ff; }
.dpr-menu-toggle { display: none; margin-left: auto; border-color: var(--dpr-line); background: white; }
.dpr-mobile-menu { display: none; }
.dpr-mobile-menu[aria-hidden="false"] { display: grid; gap: 4px; position: fixed; inset: 64px 12px auto; z-index: 1199; padding: 10px; border: 1px solid var(--dpr-line); border-radius: 16px; background: white; box-shadow: var(--dpr-shadow); }
.dpr-mobile-menu a { padding: 13px 14px; border-radius: 10px; color: var(--dpr-ink); font-weight: 750; text-decoration: none; }
.dpr-mobile-menu a:hover, .dpr-mobile-menu a[aria-current="page"] { background: #edf3ff; color: var(--dpr-blue-dark); }
.dpr-page-strip { display: flex; align-items: center; gap: 10px; max-width: 1240px; min-height: 42px; margin: 0 auto; padding: 10px max(16px, calc((100vw - 1240px) / 2)); color: var(--dpr-muted); font-size: 12px; }
.dpr-page-strip a { color: var(--dpr-blue-dark); font-weight: 750; text-decoration: none; }
.dpr-page-strip a:hover { text-decoration: underline; }
.dpr-mobile-bottom { display: none; }
body.dpr-menu-pages main, body.dpr-menu-pages .page-main, body.dpr-menu-pages .page-container, body.dpr-menu-pages .app-shell { min-width: 0; }
body.dpr-menu-pages img, body.dpr-menu-pages video, body.dpr-menu-pages iframe, body.dpr-menu-pages canvas { max-width: 100%; }
body.dpr-menu-pages table { display: block; max-width: 100%; overflow-x: auto; }
body.dpr-menu-pages input, body.dpr-menu-pages select, body.dpr-menu-pages textarea { max-width: 100%; font: inherit; }
body.dpr-menu-pages button, body.dpr-menu-pages [role="button"], body.dpr-menu-pages a.button, body.dpr-menu-pages .btn, body.dpr-menu-pages .button { min-height: 42px; }
body.dpr-menu-pages button:focus-visible, body.dpr-menu-pages a:focus-visible, body.dpr-menu-pages input:focus-visible, body.dpr-menu-pages select:focus-visible, body.dpr-menu-pages textarea:focus-visible { outline: 3px solid rgba(24,88,209,.35); outline-offset: 2px; }
.dpr-toast { position: fixed; right: 16px; bottom: 78px; z-index: 1300; max-width: min(420px, calc(100vw - 32px)); padding: 12px 15px; border: 1px solid #cbdafa; border-radius: 12px; background: #eff4ff; color: var(--dpr-blue-dark); box-shadow: var(--dpr-shadow); font-size: 14px; font-weight: 700; }
@media (max-width: 760px) {
  .dpr-global-header { min-height: 58px; padding: 8px 12px; gap: 9px; }
  .dpr-brand-mark { width: 30px; height: 30px; }
  .dpr-brand-text { font-size: 14px; }
  .dpr-page-title { font-size: 12px; }
  .dpr-header-nav { display: none; }
  .dpr-menu-toggle { display: inline-flex; }
  .dpr-mobile-bottom { position: fixed; right: 0; bottom: 0; left: 0; z-index: 1100; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; padding: 7px max(8px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right)); border-top: 1px solid var(--dpr-line); background: rgba(255,255,255,.97); box-shadow: 0 -5px 18px rgba(21,32,51,.08); }
  .dpr-mobile-bottom a { display: grid; place-items: center; gap: 2px; min-height: 45px; border-radius: 10px; color: var(--dpr-muted); font-size: 11px; font-weight: 800; text-decoration: none; }
  .dpr-mobile-bottom a span:first-child { font-size: 18px; line-height: 1; }
  .dpr-mobile-bottom a[aria-current="page"] { color: var(--dpr-blue-dark); background: #edf3ff; }
  .dpr-page-strip { padding: 8px 14px; }
  body.dpr-menu-pages { padding-bottom: 66px; }
  .dpr-toast { bottom: 78px; }
}
@media (prefers-reduced-motion: reduce) { html.dpr-menu-pages { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
