/* NIDUS global product header. This file is authoritative for topbar geometry. */
:root{
  --nidus-topbar-height:88px;
  --nidus-header-gap:12px;
  --nidus-header-control:40px;
}

body.app-body .app-topbar{
  left:var(--nidus-shell-sidebar-width,var(--nidus-sidebar-mini)) !important;
  right:0 !important;
  top:0 !important;
  width:auto !important;
  height:var(--nidus-topbar-height) !important;
  min-height:var(--nidus-topbar-height) !important;
  padding:10px 20px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  background:var(--nidus-header-bg,#12352b) !important;
}

body.app-body .topbar-left{
  width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:200px minmax(0,1fr) !important;
  align-items:center !important;
  gap:18px !important;
}

body.app-body .app-identity{
  position:relative !important;
  inset:auto !important;
  width:200px !important;
  max-width:100% !important;
  height:64px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:4px 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:none !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  border:1px solid rgba(234,215,162,.16) !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.012)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 22px rgba(5,22,17,.12) !important;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease !important;
}

body.app-body .app-identity:hover,
body.app-body .app-identity:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(234,215,162,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 26px rgba(5,22,17,.19) !important;
  outline:2px solid rgba(200,165,90,.72);
  outline-offset:2px;
}

body.app-body .app-identity img{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:10px !important;
  filter:brightness(1.08) contrast(1.06) saturate(1.06) drop-shadow(0 3px 9px rgba(0,0,0,.16)) !important;
}

body.app-body .app-identity::before{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  top:-30% !important;
  bottom:-30% !important;
  left:-42% !important;
  width:24% !important;
  pointer-events:none !important;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.52),rgba(184,239,85,.16),transparent) !important;
  transform:skewX(-18deg) translateX(-240%) !important;
  animation:nidus-header-logo-shine 6.8s ease-in-out infinite !important;
}

body.app-body .app-identity::after{content:none !important;display:none !important;animation:none !important}

@keyframes nidus-header-logo-shine{
  0%,68%{transform:skewX(-18deg) translateX(-240%);opacity:0}
  73%{opacity:.72}
  84%,100%{transform:skewX(-18deg) translateX(720%);opacity:0}
}

body.app-body .page-context{
  position:static !important;
  inset:auto !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  height:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  align-content:center !important;
  justify-items:start !important;
  gap:2px !important;
  overflow:visible !important;
  transform:none !important;
  pointer-events:auto !important;
  justify-content:stretch !important;
  text-align:left !important;
}

body.app-body .page-context-eyebrow{
  width:100%;
  margin:0;
  color:#d6bd78;
  font-size:9px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.app-body .page-context-title{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  color:inherit;
  font-size:clamp(17px,1.55vw,21px) !important;
  line-height:1.13 !important;
  font-weight:800;
  letter-spacing:-.018em !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}

body.app-body .page-context-title::after{content:none !important;display:none !important}

body.app-body .page-context-subtitle{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  margin:0 !important;
  color:#bdccc5;
  font-size:11px !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.app-body .topbar-user{
  position:relative !important;
  inset:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 !important;
  min-width:0;
}

.nidus-language-picker{position:relative;display:flex;align-items:center}
.nidus-language-trigger{
  min-width:62px;height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid rgba(234,215,162,.25);border-radius:11px;background:rgba(255,255,255,.035);color:inherit;
  font:700 11px/1 inherit;letter-spacing:.04em;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.nidus-language-trigger:hover,.nidus-language-trigger:focus-visible{background:rgba(255,255,255,.10);border-color:rgba(234,215,162,.48);outline:2px solid rgba(200,165,90,.75);outline-offset:2px}
.nidus-language-trigger[aria-expanded="true"]{background:rgba(255,255,255,.12);border-color:rgba(234,215,162,.52)}
.nidus-language-flag,.nidus-language-choice-flag{display:block;object-fit:cover;border:1px solid rgba(0,0,0,.16);border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.nidus-language-flag{width:22px;height:15px}
.nidus-language-code{font-size:10px}
.nidus-language-menu{
  position:absolute;z-index:1800;right:0;top:calc(100% + 9px);width:238px;max-width:calc(100vw - 24px);padding:7px;
  border:1px solid var(--nidus-border,rgba(120,130,140,.25));border-radius:14px;background:var(--nidus-surface,#fff);
  color:var(--nidus-text,#17382f);box-shadow:0 18px 42px rgba(4,22,16,.24);
}
.nidus-language-menu[hidden]{display:none}
.nidus-language-menu-title{display:block;padding:7px 10px 5px;color:var(--nidus-text-muted,#6f7f78);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.nidus-language-choice{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:10px;border:0;border-radius:9px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.nidus-language-choice:hover,.nidus-language-choice:focus-visible{background:var(--nidus-surface-alt,#eef4ef);color:var(--nidus-primary,#12352b);outline:none}
.nidus-language-choice[aria-checked="true"]{background:var(--nidus-surface-alt,#eef4ef);font-weight:800}
.nidus-language-choice[aria-checked="true"]::after{content:"✓";color:#3f815f;font-weight:900}
.nidus-language-choice-flag{width:24px;height:16px}
.nidus-language-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.auth-language-slot{position:fixed;z-index:2100;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
.auth-language-slot .nidus-language-trigger{color:#f4f8f5;background:rgba(9,42,32,.78);border-color:rgba(234,215,162,.35);box-shadow:0 8px 24px rgba(4,22,16,.16);backdrop-filter:blur(9px)}
.auth-language-slot .nidus-language-menu{color:var(--nidus-text,#17382f);background:var(--nidus-surface,#fff)}
@media(max-width:560px){
  .auth-language-slot{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right))}
  .auth-language-slot .nidus-language-trigger{width:38px;min-width:38px;height:36px;padding:0}
  .auth-language-slot .nidus-language-code{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .auth-language-slot .nidus-language-menu{position:fixed;top:56px;right:10px;width:min(238px,calc(100vw - 20px))}
}

html[data-theme="light"] body.app-body .page-context-eyebrow{color:#82661e}
html[data-theme="light"] body.app-body .page-context-subtitle{color:var(--nidus-text-muted,#62736b)}
html[data-theme="light"] body.app-body .nidus-language-trigger{color:var(--nidus-primary,#12352b);border-color:var(--nidus-border);background:var(--nidus-surface-alt)}
html[data-theme="dark"] body.app-body .nidus-language-menu,
html[data-theme="light"] body.app-body .nidus-language-menu{background:var(--nidus-surface-elevated,var(--nidus-surface));color:var(--nidus-text);border-color:var(--nidus-border)}

@media(max-width:1120px){
  body.app-body .topbar-profile-link{display:none !important}
  body.app-body .topbar-left{grid-template-columns:176px minmax(0,1fr) !important;gap:14px !important}
  body.app-body .app-identity{width:176px !important}
}

@media(max-width:850px){
  :root{--nidus-topbar-height:82px;--nidus-header-control:34px}
  body.app-body{overflow-x:clip}
  body.app-body .app-topbar{
    position:sticky !important;inset:auto !important;top:0 !important;width:100% !important;height:auto !important;
    min-height:var(--nidus-topbar-height) !important;padding:max(7px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 7px max(8px,env(safe-area-inset-left)) !important;
    grid-template-columns:minmax(0,1fr) auto !important;gap:6px !important;
  }
  body.app-body .topbar-left{
    display:grid !important;grid-template-columns:38px clamp(76px,22vw,112px) minmax(0,1fr) !important;
    gap:6px !important;min-width:0 !important;height:100% !important;padding:0 !important;
  }
  body.app-body .menu-toggle{
    position:static !important;inset:auto !important;display:flex !important;align-self:center !important;justify-self:start !important;
    width:38px !important;height:38px !important;min-width:38px !important;flex:none !important;margin:0 !important;padding:7px !important;order:initial !important;
  }
  body.app-body .app-identity{
    position:relative !important;inset:auto !important;align-self:stretch !important;justify-self:stretch !important;
    width:100% !important;max-width:112px !important;height:100% !important;min-height:52px !important;margin:0 !important;padding:3px 5px !important;
  }
  body.app-body .page-context{
    align-self:center !important;min-width:0 !important;min-height:0 !important;margin:0 !important;padding:0 !important;
    align-items:start !important;justify-items:start !important;text-align:left !important;gap:1px !important;
  }
  body.app-body .page-context-eyebrow{font-size:7px !important;letter-spacing:.09em !important}
  body.app-body .page-context-title{font-size:clamp(12px,3.7vw,16px) !important;line-height:1.08 !important;display:block !important;overflow:visible !important}
  body.app-body .page-context-subtitle{font-size:9px !important;line-height:1.15 !important;white-space:normal !important;display:block !important;overflow:visible !important;text-overflow:clip !important}
  body.app-body .topbar-user{align-self:center !important;gap:4px !important}
  body.app-body .topbar-profile-link{display:none !important}
  body.app-body .nidus-language-trigger{width:34px;min-width:34px;height:34px;padding:0;border-radius:9px}
  body.app-body .nidus-language-code{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  body.app-body .nidus-theme-trigger,body.app-body .topbar-logout{width:34px !important;height:34px !important;min-width:34px !important;flex:0 0 34px !important;border-radius:9px !important}
  body.app-body .nidus-language-menu{position:fixed;top:calc(env(safe-area-inset-top) + 72px);right:10px;width:min(238px,calc(100vw - 20px))}
  body.app-body .app-main{padding-top:16px !important}
}

@media(max-width:360px){
  :root{--nidus-topbar-height:78px}
  body.app-body .app-topbar{padding-left:max(6px,env(safe-area-inset-left)) !important;padding-right:max(6px,env(safe-area-inset-right)) !important;gap:4px !important}
  body.app-body .topbar-left{grid-template-columns:36px 70px minmax(0,1fr) !important;gap:4px !important}
  body.app-body .menu-toggle{width:36px !important;height:36px !important;min-width:36px !important}
  body.app-body .app-identity{max-width:70px !important;min-height:48px !important;padding:2px 3px !important;border-radius:12px !important}
  body.app-body .page-context-eyebrow{display:block !important;font-size:7px !important;letter-spacing:.07em !important}
  body.app-body .page-context-title{font-size:12px !important}
  body.app-body .page-context-subtitle{font-size:8px !important}
  body.app-body .topbar-user{gap:3px !important}
  body.app-body .nidus-language-trigger,body.app-body .nidus-theme-trigger,body.app-body .topbar-logout{width:32px !important;height:32px !important;min-width:32px !important;flex-basis:32px !important}
}

@media(prefers-reduced-motion:reduce){
  body.app-body .app-identity,body.app-body .app-identity img,body.app-body .app-identity::before,
  .nidus-language-trigger,.nidus-language-menu{animation:none !important;transition:none !important}
}

@media print{.nidus-language-picker{display:none !important}}
