/* IMPERIUM BUILD469 R1
   Responsive Desktop & Visual Stability
   Scope: presentation only. No business/RBAC/database semantics. */

:root{
  --imp469-content-max: 1440px;
  --imp469-desktop-gap: 24px;
  --imp469-mobile-pad: 12px;
  --imp469-tablet-pad: 18px;
}

/* Global sizing contract */
html{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  scroll-behavior:auto!important;
}
body.imperium-v469{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  background-attachment:scroll!important;
}
body.imperium-v469 :where(.app-shell,.app-body,.main-column,#main-content,.container,.auto-fit-container){
  min-width:0!important;
  box-sizing:border-box!important;
}
body.imperium-v469 .app-shell{
  width:100%!important;
  max-width:100%!important;
}
body.imperium-v469 .main-column{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}
body.imperium-v469 #main-content{
  width:min(100%,var(--imp469-content-max))!important;
  max-width:var(--imp469-content-max)!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}

/* Control-center pages must use the actual available viewport width. */
html[data-aurea-screen="control-center"] body.imperium-v469 #main-content{
  width:100%!important;
}
html[data-aurea-screen="control-center"] body.imperium-v469 #main-content > :where(section,article,div){
  min-width:0!important;
  max-width:100%!important;
}
html[data-aurea-screen="control-center"] body.imperium-v469 :where(.a461-search-shell,.a461-chip-cluster,.a461-business-card,.v469-control-card-grid){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
html[data-aurea-screen="control-center"] body.imperium-v469 .a461-search-line{
  min-width:0!important;
  width:100%!important;
}

/* Functional cards discovered by the non-destructive v469 annotator. */
html[data-aurea-screen="control-center"] body.imperium-v469 .v469-control-card-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
}
html[data-aurea-screen="control-center"] body.imperium-v469 .v469-control-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}

/* Visual stability: decorative layers must never drive layout/repaint. */
body.imperium-v469 :where(.ambient,.ambient-a,.ambient-b){
  pointer-events:none!important;
  will-change:auto!important;
  animation:none!important;
  transition:none!important;
  transform:none!important;
}
body.imperium-v469 :where(.app-header,.mobile-dock,.card,.panel,.a461-business-card){
  will-change:auto!important;
  backface-visibility:hidden;
}

/* Mobile/tablet: sidebar is overlay-only; it must never reserve layout width. */
@media (max-width:1024px){
  body.imperium-v469 .app-body{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.imperium-v469 .main-column{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body.imperium-v469 #main-content{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-left:max(var(--imp469-mobile-pad),env(safe-area-inset-left))!important;
    padding-right:max(var(--imp469-mobile-pad),env(safe-area-inset-right))!important;
  }
  body.imperium-v469 .imperium326-sidebar{
    position:fixed!important;
    z-index:120!important;
    max-width:min(88vw,360px)!important;
  }

  /* Remove GPU-expensive blur/fixed decoration on constrained devices. */
  body.imperium-v469 :where(.ambient,.ambient-a,.ambient-b){
    display:none!important;
  }
  body.imperium-v469 :where(.app-header,.mobile-dock,.card,.panel,.a461-business-card,.a461-search-shell){
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  html[data-aurea-screen="control-center"] body.imperium-v469 #main-content > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  html[data-aurea-screen="control-center"] body.imperium-v469 .a461-search-shell{
    grid-template-columns:minmax(0,1fr)!important;
  }
  html[data-aurea-screen="control-center"] body.imperium-v469 .a461-search-line{
    min-width:0!important;
  }
}

/* Small phone */
@media (max-width:700px){
  body.imperium-v469 #main-content{
    padding-left:max(10px,env(safe-area-inset-left))!important;
    padding-right:max(10px,env(safe-area-inset-right))!important;
  }
  html[data-aurea-screen="control-center"] body.imperium-v469 .a461-chip-cluster{
    gap:7px!important;
  }
  html[data-aurea-screen="control-center"] body.imperium-v469 .a461-chip{
    flex:1 1 auto!important;
    min-width:0!important;
  }
}

/* Real desktop composition */
@media (min-width:1025px){
  body.imperium-v469 .app-body{
    width:100%!important;
    min-width:0!important;
  }
  body.imperium-v469 .main-column{
    min-width:0!important;
    width:auto!important;
  }
  body.imperium-v469 #main-content{
    padding-inline:clamp(20px,2.4vw,40px)!important;
  }
  html[data-aurea-screen="control-center"] body.imperium-v469 .v469-control-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
  html[data-aurea-screen="control-center"] body.imperium-v469 .a461-search-shell{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
}

/* Wide desktop: denser three-column operation center. */
@media (min-width:1440px){
  html[data-aurea-screen="control-center"] body.imperium-v469 .v469-control-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

/* User/browser accessibility preference always wins. */
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  body.imperium-v469 *,
  body.imperium-v469 *::before,
  body.imperium-v469 *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}

/* Reduced-transparency environments: solid surfaces instead of compositing blur. */
@media (prefers-reduced-transparency:reduce){
  body.imperium-v469 :where(.app-header,.mobile-dock,.card,.panel,.a461-business-card,.a461-search-shell){
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}


/* IMPERIUM BUILD470 R1 — BOTTOM FLICKER STABILITY
   Target: continuous lower-viewport flicker reported in HR web GUI. */

/* The dock/footer must never participate in animated compositing. */
body.imperium-v469 .mobile-dock,
body.imperium-v469 footer,
body.imperium-v469 .app-footer{
  animation:none!important;
  transition:none!important;
  transform:none!important;
  will-change:auto!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  filter:none!important;
  contain:layout paint!important;
}

/* Solid dock surface avoids repeated blur/repaint of content scrolling below it. */
body.imperium-v469 .mobile-dock{
  background:rgba(4,20,31,.98)!important;
  box-shadow:0 -1px 0 rgba(99,224,231,.12)!important;
}

/* On real desktop the mobile dock is not part of the composition. */
@media (min-width:1025px){
  body.imperium-v469 .mobile-dock{
    display:none!important;
  }
  body.imperium-v469 .main-column{
    padding-bottom:0!important;
  }
}

/* On mobile/tablet use a stable fixed height and avoid dynamic viewport feedback. */
@media (max-width:1024px){
  body.imperium-v469{
    min-height:100vh!important;
    min-height:100svh!important;
  }
  body.imperium-v469 .mobile-dock{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    overflow:hidden!important;
    isolation:isolate!important;
    z-index:140!important;
  }
  body.imperium-v469 .main-column{
    padding-bottom:calc(84px + env(safe-area-inset-bottom))!important;
  }
}

/* HR pages: disable decorative pseudo-elements in lower viewport that can repaint. */
body.imperium-v469 :where([data-hr],[class*="hr-"],[class*="people"],[class*="personnel"])::before,
body.imperium-v469 :where([data-hr],[class*="hr-"],[class*="people"],[class*="personnel"])::after{
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
