/* FILUXIA ATLAS V9.3.4 — Professional page-flow navigation
   Every Professional destination is treated as a forward page. Reports/forms/results
   use a full-viewport child page and return to the previous Professional page. */
#professionalPage .professional-pageflow-bar{
  position:sticky;
  top:82px;
  z-index:12;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:color-mix(in srgb,var(--panel) 96%,transparent);
  box-shadow:0 10px 28px color-mix(in srgb,#000 8%,transparent);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
#professionalPage .professional-pageflow-back,
#professionalPage .professional-pageflow-home{
  min-height:42px;
  border:1px solid var(--line-strong);
  background:var(--surface-1);
  color:var(--text);
  border-radius:999px;
  font:inherit;
  font-weight:850;
}
#professionalPage .professional-pageflow-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 14px;
  white-space:nowrap;
}
#professionalPage .professional-pageflow-back span{font-size:1.1rem;line-height:1}
#professionalPage .professional-pageflow-home{width:42px;padding:0;font-size:1rem}
#professionalPage .professional-pageflow-copy{min-width:0;display:grid;gap:2px}
#professionalPage .professional-pageflow-copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--soft);
  font-size:.67rem;
  letter-spacing:.06em;
}
#professionalPage .professional-pageflow-copy b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.92rem;
}
#professionalPage [data-professional-pageflow-view]{
  animation:atlas-professional-page-in .22s cubic-bezier(.2,.72,.26,1) both;
}
@keyframes atlas-professional-page-in{
  from{opacity:.15;transform:translateX(18px)}
  to{opacity:1;transform:translateX(0)}
}

/* A modal launched from Professional is a real child page, not a floating dialog. */
.modal.professional-child-page{
  position:fixed!important;
  inset:0!important;
  z-index:86!important;
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--bg-1)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.modal.professional-child-page>.modal-card{
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  background:var(--bg-1)!important;
}
.modal.professional-child-page>.modal-card>.modal-head{
  flex:0 0 auto!important;
  position:sticky!important;
  top:0!important;
  z-index:25!important;
  width:100%!important;
  margin:0!important;
  padding:14px max(14px,calc((100vw - 1280px)/2))!important;
  border-bottom:1px solid var(--line)!important;
  background:color-mix(in srgb,var(--bg-1) 94%,transparent)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.modal.professional-child-page>.modal-card>:not(.modal-head){min-width:0}
.modal.professional-child-page .professional-child-back{
  width:auto!important;
  min-width:88px!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  white-space:nowrap!important;
  font-size:.78rem!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
}
.modal.professional-child-page .professional-child-back span{font-size:1rem;line-height:1}
.modal.professional-child-page :is(.result-content,.rectification-form,form:not(.auth-form)){
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/* The AI workspace already owns the viewport; when launched from Professional its
   existing back control behaves as the child-page return control. */
body.atlas-professional-page-open.atlas-ai-page-open #aiModal:not(.hidden){
  z-index:96!important;
}
body.atlas-professional-page-open.atlas-ai-page-open #aiModal .atlas-ai-page-back{
  white-space:nowrap;
}

@media(max-width:640px){
  #professionalPage .professional-pageflow-bar{
    top:68px;
    margin-bottom:10px;
    padding:8px;
    border-radius:15px;
    gap:8px;
  }
  #professionalPage .professional-pageflow-back{min-height:40px;padding:0 11px}
  #professionalPage .professional-pageflow-home{width:40px;min-height:40px}
  #professionalPage .professional-pageflow-copy span{font-size:.61rem}
  #professionalPage .professional-pageflow-copy b{font-size:.84rem}
  .modal.professional-child-page>.modal-card>.modal-head{
    padding:12px 12px!important;
    gap:8px!important;
  }
  .modal.professional-child-page .modal-head h2{
    font-size:clamp(1.1rem,5.5vw,1.45rem)!important;
  }
  .modal.professional-child-page .professional-child-back{
    min-width:80px!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 11px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #professionalPage [data-professional-pageflow-view]{animation:none!important}
}
