:root{--dn-mobile-nav-height:70px}.dn-mobile-nav{display:none}.dn-home-account-menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.dn-home-account-menu__profile{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid #e5eaf2}.dn-home-account-menu__profile>span:last-child{display:grid;min-width:0;gap:2px}.dn-home-account-menu__profile strong,.dn-home-account-menu__profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dn-home-account-menu__profile small{color:#64748b}.dn-home-account-menu__profile em{width:max-content;margin-top:4px;padding:3px 8px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:11px;font-style:normal;font-weight:800}.dn-home-account-menu__items{display:grid;padding:8px}.dn-home-account-menu__items a,.dn-home-account-menu__logout{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#0f172a;text-align:left;text-decoration:none;cursor:pointer}.dn-home-account-menu__items a:hover,.dn-home-account-menu__items a:focus-visible,.dn-home-account-menu__logout:hover,.dn-home-account-menu__logout:focus-visible{background:#eff6ff;color:#1d4ed8}.dn-home-account-menu__section{padding:10px 12px 4px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dn-home-account-menu__logout{border-top:1px solid #e5eaf2;border-radius:0;color:#b91c1c}.dn-home-account-menu{width:320px;max-height:min(650px,calc(100vh - 90px));overflow:auto;padding:0!important}.dn-account-panel-backdrop{position:fixed;inset:0;z-index:9997;background:rgba(15,23,42,.48);backdrop-filter:blur(2px)}
@media(max-width:767px){body{padding-bottom:calc(var(--dn-mobile-nav-height) + env(safe-area-inset-bottom))}.dn-mobile-nav{position:fixed;z-index:9995;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:var(--dn-mobile-nav-height);padding:5px 5px calc(5px + env(safe-area-inset-bottom));border-top:1px solid rgba(148,163,184,.3);background:rgba(255,255,255,.97);box-shadow:0 -8px 28px rgba(15,23,42,.1);backdrop-filter:blur(18px)}.dn-mobile-nav__item{display:flex;min-width:0;min-height:55px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:12px;color:#64748b;font-size:10px;font-weight:700;line-height:1.15;text-align:center;text-decoration:none}.dn-mobile-nav__item:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:-2px}.dn-mobile-nav__icon{display:grid;width:25px;height:25px;place-items:center}.dn-mobile-nav__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dn-mobile-nav__item.is-active{background:#eff6ff;color:#1d4ed8}.dn-mobile-nav__item[data-dn-mobile-assistant] .dn-mobile-nav__icon{width:38px;height:38px;margin-top:-18px;border:4px solid #fff;border-radius:50%;background:#2563eb;color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.32)}.dn-mobile-nav--indicator,.dn-mobile-nav--chart,.dn-mobile-nav--news{border-color:#19344f;background:rgba(5,21,36,.97)}.dn-mobile-nav--indicator .dn-mobile-nav__item,.dn-mobile-nav--chart .dn-mobile-nav__item,.dn-mobile-nav--news .dn-mobile-nav__item{color:#8fa8bf}.dn-mobile-nav--indicator .dn-mobile-nav__item.is-active,.dn-mobile-nav--chart .dn-mobile-nav__item.is-active,.dn-mobile-nav--news .dn-mobile-nav__item.is-active{background:#102f4d;color:#55a8ff}.dn-mobile-nav--indicator .dn-mobile-nav__item[data-dn-mobile-assistant] .dn-mobile-nav__icon,.dn-mobile-nav--chart .dn-mobile-nav__item[data-dn-mobile-assistant] .dn-mobile-nav__icon,.dn-mobile-nav--news .dn-mobile-nav__item[data-dn-mobile-assistant] .dn-mobile-nav__icon{border-color:#051524}.dn-home-nav{display:none!important}.dn-home-header__inner{min-height:64px}.dn-home-header__actions{margin-left:auto}.dn-home-account__name,.dn-home-account__status,.dn-home-account__chevron{display:none!important}.dn-home-account{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;flex:0 0 42px!important;padding:1px!important;border:0!important;border-radius:50%!important;aspect-ratio:1}.dn-home-account__avatar{display:grid!important;width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;flex:0 0 40px!important;place-items:center;border-radius:50%!important;aspect-ratio:1;box-sizing:border-box}.dn-home-menu-toggle{display:grid!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;flex:0 0 42px!important;place-items:center;margin:0!important;padding:0!important;border:1px solid #d9e2ef!important;border-radius:50%!important;background:#fff!important;color:#0f172a!important;box-shadow:0 3px 10px rgba(15,23,42,.08);transform:none!important;cursor:pointer}.dn-home-menu-toggle:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.dn-home-menu-toggle__icon{display:grid!important;width:19px!important;height:16px!important;align-content:space-between}.dn-home-menu-toggle__icon i{display:block;width:19px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.dn-home-menu-toggle[aria-expanded="true"] .dn-home-menu-toggle__icon i:nth-child(1){transform:translateY(7px) rotate(45deg)}.dn-home-menu-toggle[aria-expanded="true"] .dn-home-menu-toggle__icon i:nth-child(2){opacity:0}.dn-home-menu-toggle[aria-expanded="true"] .dn-home-menu-toggle__icon i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.dn-home-mobile-menu{z-index:9998!important;top:68px!important;max-height:calc(100dvh - 84px - env(safe-area-inset-bottom));overflow:auto;padding:12px!important;border-radius:16px!important}.dn-home-mobile-menu[hidden]{display:none!important}.dn-home-mobile-menu__heading{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px 12px;border-bottom:1px solid #e5eaf2;color:#0f172a}.dn-home-mobile-menu__heading strong{font-size:15px}.dn-home-mobile-menu__heading button{display:grid!important;width:40px;height:40px;min-height:40px!important;place-items:center!important;padding:0!important;border-radius:50%!important;font-size:25px!important;line-height:1!important}.dn-home-mobile-menu nav{padding-top:8px}.dn-home-mobile-menu nav a{min-height:46px}.dn-home-account-menu{position:fixed!important;z-index:9999!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(88vw,360px)!important;max-height:none!important;border:0!important;border-radius:18px 0 0 18px!important;padding-top:max(10px,env(safe-area-inset-top))!important;box-shadow:-16px 0 44px rgba(15,23,42,.24)!important}.dn-home-account-menu[hidden]{display:none!important}.dn-home-account-menu__profile{padding:18px 16px}.dn-home-account-menu__items a,.dn-home-account-menu__logout{min-height:48px}.dn-home-login,.dn-home-trial{font-size:13px!important;padding:9px 12px!important}.dnai-assistant-widget__launcher,[data-dnai-assistant-launcher]{z-index:9994!important}.dnai-assistant-widget__panel,[data-dnai-assistant-panel]{bottom:calc(var(--dn-mobile-nav-height) + env(safe-area-inset-bottom) + 8px)!important;max-height:calc(100dvh - var(--dn-mobile-nav-height) - 24px)!important}}

@media(max-width:767px){.dn-home-header{z-index:10000!important}}

.dn-home-account-menu__profile{position:relative;padding-right:64px}.dn-home-account-menu__close{position:absolute;top:14px;right:14px;display:grid;width:40px;height:40px;min-width:40px;min-height:40px;place-items:center;padding:0;border:1px solid #d7e1ee;border-radius:50%;background:#f8fafc;color:#334155;font:400 25px/1 Arial,sans-serif;cursor:pointer}.dn-home-account-menu__close:hover,.dn-home-account-menu__close:focus-visible{border-color:#93b4e2;background:#eaf2ff;color:#145fc1;outline:3px solid rgba(37,99,235,.2);outline-offset:1px}
@media(max-width:767px){.dn-home-header.is-menu-open{overflow:visible!important}.dn-home-header .dn-home-login{display:inline-flex!important;width:auto!important;min-width:78px!important;min-height:38px!important;align-items:center;justify-content:center;padding:8px 10px!important;border-radius:10px!important;font-size:12px!important;line-height:1.15!important;white-space:nowrap}.dn-home-account-menu__profile{padding-right:68px}.dnai-ai-chat,.dnai-ai-chat[data-edge=left]{right:0!important;bottom:calc(var(--dn-mobile-nav-height) + env(safe-area-inset-bottom))!important;left:0!important;height:min(760px,calc(100dvh - var(--dn-mobile-nav-height) - env(safe-area-inset-bottom) - 8px))!important;max-height:calc(100dvh - var(--dn-mobile-nav-height) - env(safe-area-inset-bottom) - 8px)!important;padding-bottom:0!important;border-bottom:1px solid rgba(179,199,227,.8)!important;border-radius:22px 22px 0 0!important;box-sizing:border-box!important}.dnai-ai-chat__disclaimer{margin-bottom:max(10px,env(safe-area-inset-bottom))!important}body.dnai-indicator-route .dn-home-account-menu__close{border-color:#36516d;background:rgba(148,163,184,.12);color:#e5eef9}}

/* Mobile overlay and guest bottom-edge hotfix. The measured nav height already
 * includes the iOS safe area, so consumers must not add it a second time. */
@media(max-width:767px){
  .dnai-ai-chat,
  .dnai-ai-chat[data-edge=left],
  .dnai-ai-chat.is-open{
    z-index:10020!important;
    bottom:var(--dn-mobile-nav-height)!important;
    height:min(760px,calc(100dvh - var(--dn-mobile-nav-height) - 8px))!important;
    max-height:calc(100dvh - var(--dn-mobile-nav-height) - 8px)!important;
  }
  body:not(.logged-in):not(.wp-admin){
    padding-bottom:var(--dn-mobile-nav-height)!important;
  }
  body:not(.logged-in) .dn-mobile-nav{
    right:auto!important;
    bottom:0!important;
    left:0!important;
    width:100dvw!important;
    max-width:100dvw!important;
    margin:0!important;
    border-radius:0!important;
  }
}

/* Final shared account/header/mobile-navigation contract. Keep these rules at
 * the end so broad login/dashboard selectors cannot stretch the common UI. */
:root {
  --mobile-bottom-nav-height: var(--dn-mobile-nav-height, 70px);
  --mobile-safe-bottom: env(safe-area-inset-bottom);
  --mobile-content-bottom-offset: calc(var(--mobile-bottom-nav-height) + var(--mobile-safe-bottom) + 20px);
}

.dn-home-header .dn-home-account {
  min-width: 0 !important;
  max-width: 220px !important;
}

.dn-home-header .dn-home-account__name {
  max-width: 160px;
  text-transform: none;
}

.dn-home-account-menu {
  box-sizing: border-box;
  width: min(300px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start;
  gap: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto;
}

.dn-home-account-menu > *,
.dn-home-account-menu__plan,
.dn-home-account-menu__profile,
.dn-home-account-menu__items,
.dn-home-account-menu__logout {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.dn-home-account-menu__plan {
  display: grid;
  gap: 7px;
  padding: 14px 16px;
  border-bottom: 1px solid #e5eaf2;
  background: #f8fbff;
}

.dn-home-account-menu .dn-home-account-menu__plan-label {
  display: block;
  width: auto;
  min-height: 0;
  padding: 0;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}

.dn-home-account-menu .dn-home-account-menu__badges {
  display: flex;
  width: auto;
  min-width: 0;
  min-height: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.dn-home-account-menu .dn-home-account-menu__badge {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  min-height: 0;
  align-items: center;
  padding: 4px 8px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #eaf2ff;
  color: #145fc1;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dn-home-account-menu .dn-home-account-menu__badge--ib {
  background: #dcfce7;
  color: #15803d;
}

.dn-home-account-menu .dn-home-account-menu__badge--admin {
  background: #f1f5f9;
  color: #475569;
}

.dn-home-account-menu__profile {
  display: none;
}

.dn-home-account-menu__items {
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
}

.dn-home-account-menu__items a,
.dn-home-account-menu__logout {
  height: auto !important;
  min-height: 48px !important;
}

.dn-home-account-menu__logout {
  margin: 0 !important;
  padding: 10px 20px !important;
}

body.dnai-indicator-route .dn-home-account-menu__plan,
body.dnai-chart-route .dn-home-account-menu__plan {
  border-color: #24445f;
  background: rgba(15, 45, 72, .72);
}

body.dnai-indicator-route .dn-home-account-menu .dn-home-account-menu__plan-label,
body.dnai-chart-route .dn-home-account-menu .dn-home-account-menu__plan-label {
  color: #9fb1c5;
}

@media (max-width: 767px) {
  body:not(.wp-admin) {
    padding-bottom: var(--mobile-content-bottom-offset) !important;
  }

  .dn-home-header[data-dn-home-header] .dn-home-shell.dn-home-header__inner,
  body.dnai-indicator-route .dn-home-header[data-dn-home-header] .dn-home-shell.dn-home-header__inner,
  body.dnai-chart-route .dn-home-header[data-dn-home-header] .dn-home-shell.dn-home-header__inner {
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  .dn-home-header[data-dn-home-header] .dn-home-logo,
  body.dnai-indicator-route .dn-home-header[data-dn-home-header] .dn-home-logo,
  body.dnai-chart-route .dn-home-header[data-dn-home-header] .dn-home-logo {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    transform: none !important;
  }

  .dn-home-header[data-dn-home-header] .dn-home-logo__copy {
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  .dn-home-header[data-dn-home-header] .dn-home-header__actions,
  body.dnai-indicator-route .dn-home-header[data-dn-home-header] .dn-home-header__actions,
  body.dnai-chart-route .dn-home-header[data-dn-home-header] .dn-home-header__actions {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  .dn-home-header .dn-home-trial--desktop {
    display: none !important;
  }

  .dn-home-header .dn-home-login {
    width: auto !important;
    min-width: 74px !important;
    flex: 0 0 auto !important;
  }

  .dn-home-header .dn-home-menu-toggle,
  body.dnai-indicator-route .dn-home-header .dn-home-menu-toggle,
  body.dnai-chart-route .dn-home-header .dn-home-menu-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
  }

  .dn-home-account-menu {
    top: max(8px, env(safe-area-inset-top)) !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    width: min(86vw, 340px) !important;
    height: auto !important;
    max-height: calc(100dvh - max(16px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
    padding: 0 !important;
    border-radius: 18px 0 0 18px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: max-content;
    align-content: start;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  .dn-home-account-menu__plan {
    display: none !important;
  }

  .dn-home-account-menu__profile {
    position: relative;
    display: flex !important;
    min-height: 80px;
    align-items: center !important;
    gap: 12px;
    padding: 14px 60px 14px 16px !important;
  }

  .dn-home-account-menu .dn-home-account-menu__profile-copy {
    display: grid !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    flex: 1 1 auto;
    gap: 6px;
    padding: 0 !important;
  }

  .dn-home-account-menu .dn-home-account-menu__profile-copy > strong {
    display: block;
    width: auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    color: inherit;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dn-home-account-menu__items {
    padding: 8px !important;
  }

  .dn-home-account-menu__items a,
  .dn-home-account-menu__logout {
    min-height: 50px !important;
    padding: 10px 14px !important;
  }

  .dn-home-account-menu__section {
    min-height: 0 !important;
    padding: 12px 14px 5px !important;
  }

  .dn-home-account-menu .dn-home-account-menu__close {
    top: 14px !important;
    right: 14px !important;
    display: grid !important;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
  }

  body.dnai-indicator-route .dn-home-account-menu__profile,
  body.dnai-chart-route .dn-home-account-menu__profile {
    border-color: #24445f;
  }
}

/* Stable mobile nav geometry. Browser toolbar size never participates in the
 * nav height; only the fixed 70px content track and the real iOS safe area do. */
:root {
  --dn-mobile-nav-content-height: 70px;
  --dn-mobile-nav-height: calc(var(--dn-mobile-nav-content-height) + env(safe-area-inset-bottom, 0px));
  --mobile-content-bottom-offset: calc(var(--dn-mobile-nav-height) + 20px);
}

@media (max-width: 767px) {
  .dn-mobile-nav {
    box-sizing: border-box !important;
    height: var(--dn-mobile-nav-height) !important;
    min-height: var(--dn-mobile-nav-height) !important;
    max-height: var(--dn-mobile-nav-height) !important;
    padding: 5px 5px calc(5px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* PWA standalone owns the top safe area. Keep each route's original header
   * positioning, and enlarge only the outer box so border-box sizing cannot
   * consume or clip the 64/66/68px header content track. */
  html.ios-standalone .dn-home-header {
    --dn-pwa-header-content-height: 68px;
    box-sizing: border-box !important;
    height: calc(var(--dn-pwa-header-content-height) + env(safe-area-inset-top, 0px)) !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
  }

  html.ios-standalone body.dnai-indicator-route .dn-home-header {
    --dn-pwa-header-content-height: 64px;
  }

  html.ios-standalone body.dnai-chart-route .dn-home-header {
    --dn-pwa-header-content-height: 66px;
  }

  html.ios-standalone .dn-mobile-nav::after {
    display: none !important;
  }
}

@media (max-width: 339px) {
  .dn-home-header[data-dn-home-header] .dn-home-logo__copy small {
    display: none !important;
  }

  .dn-home-header .dn-home-login {
    min-width: 68px !important;
    padding-inline: 7px !important;
  }
}

/* iOS browser compositor workaround. The nav is already a root-level body
 * child, so keep fixed positioning and remove only the compositor triggers.
 * Safe-area padding remains inside the opaque nav background. */
@media (max-width: 767px) {
  html.ios-browser body:not(.wp-admin) {
    padding-bottom: var(--dn-mobile-nav-height) !important;
  }

  html.ios-browser .dn-mobile-nav {
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: #fff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;
    contain: none !important;
    will-change: auto !important;
    transition: background-color .18s ease, box-shadow .18s ease !important;
  }

  html.ios-browser .dn-mobile-nav::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 100px;
    background: #fff;
    pointer-events: none;
  }

  html.ios-browser .dn-mobile-nav--indicator,
  html.ios-browser .dn-mobile-nav--chart,
  html.ios-browser .dn-mobile-nav--news,
  html.ios-browser .dn-mobile-nav--indicator::after,
  html.ios-browser .dn-mobile-nav--chart::after,
  html.ios-browser .dn-mobile-nav--news::after {
    background: #051524 !important;
  }
}
