/* v5.2.5 Header & Shell Polish
   Surgical UI-only patch: compact operational header, lighter status badge,
   cleaner sidebar logo block, no changes to Registry, roles, data or workflow. */

.ldg40-root .ldg40-layout{
  gap:18px!important;
  padding:18px 22px!important;
}

.ldg40-root .ldg40-layout main{
  padding-bottom:28px!important;
}

/* Compact operational hero: less landing-page, more console header. */
.ldg40-root .ldg40-hero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(260px,320px)!important;
  gap:18px!important;
  min-height:118px!important;
  padding:22px 24px!important;
  border-radius:22px!important;
  align-items:center!important;
  background:
    linear-gradient(120deg,rgba(255,255,255,.055),rgba(255,255,255,0) 42%),
    linear-gradient(135deg,#073759 0%,#0a4772 62%,#0b5b7b 100%)!important;
  box-shadow:0 18px 40px rgba(5,35,61,.16)!important;
  overflow:hidden!important;
}

.ldg40-root .ldg40-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 74%!important;
  width:260px!important;
  background:radial-gradient(circle at 50% 30%,rgba(149,209,31,.22),rgba(149,209,31,0) 68%)!important;
  pointer-events:none!important;
}

.ldg40-root .ldg40-hero > div,
.ldg40-root .ldg40-hero > aside{
  position:relative!important;
  z-index:1!important;
}

.ldg40-root .ldg40-hero p{
  margin:0 0 8px!important;
  color:#d9efff!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
}

.ldg40-root .ldg40-hero h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(29px,2.25vw,42px)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  max-width:1100px!important;
}

.ldg40-root .ldg40-hero span{
  display:block!important;
  margin-top:9px!important;
  max-width:980px!important;
  color:#eff9ff!important;
  font-size:16px!important;
  line-height:1.42!important;
  font-weight:750!important;
}

/* Status becomes a compact badge, not a second card competing with the header. */
.ldg40-root .ldg40-hero aside{
  min-height:86px!important;
  padding:16px 18px!important;
  border-radius:18px!important;
  align-content:center!important;
  gap:5px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16)!important;
  color:#fff!important;
}

.ldg40-root .ldg40-hero aside small{
  color:#e7f7ff!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.ldg40-root .ldg40-hero aside strong{
  color:#fff!important;
  font-size:22px!important;
  line-height:1.12!important;
  font-weight:950!important;
  letter-spacing:-.015em!important;
}

.ldg40-root .ldg40-hero aside em{
  color:#f4fbff!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-style:normal!important;
  font-weight:800!important;
}

/* Sidebar polish: clearer logo area, less heavy block. */
.ldg40-root .ldg40-sidebar{
  border-radius:22px!important;
  padding:15px!important;
  background:linear-gradient(180deg,#052b46 0%,#073858 100%)!important;
  box-shadow:0 18px 45px rgba(4,35,58,.18)!important;
}

.ldg40-root .ldg40-brand{
  display:grid!important;
  gap:10px!important;
  padding:6px 4px 16px!important;
  margin-bottom:13px!important;
}

.ldg40-root .ldg40-brand img{
  width:auto!important;
  max-width:122px!important;
  max-height:74px!important;
  object-fit:contain!important;
  margin:0 auto 4px!important;
  display:block!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:18px!important;
  padding:8px!important;
}

.ldg40-root .ldg40-brand strong{
  color:#fff!important;
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:950!important;
}

.ldg40-root .ldg40-brand span{
  color:#e6f5ff!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  font-weight:750!important;
}

.ldg40-root .ldg40-sidebar nav a{
  min-height:56px!important;
  border-radius:15px!important;
}

.ldg40-root .ldg40-sidebar nav strong{
  font-size:14.5px!important;
}

.ldg40-root .ldg40-sidebar nav small{
  font-size:12.5px!important;
}

.ldg40-root .ldg40-access{
  border-radius:18px!important;
  background:rgba(255,255,255,.10)!important;
}

/* Keep control/switch area visually subordinate to the compact header. */
.ldg40-root .ldg40-switch{
  margin-top:14px!important;
  padding:14px!important;
  border-radius:18px!important;
}

/* General card spacing aligned with compact shell. */
.ldg40-root .ldg40-content{
  margin-top:18px!important;
  gap:18px!important;
}

@media(max-width:1380px){
  .ldg40-root .ldg40-hero{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .ldg40-root .ldg40-hero aside{
    max-width:none!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px 12px!important;
  }
  .ldg40-root .ldg40-hero aside small,
  .ldg40-root .ldg40-hero aside strong,
  .ldg40-root .ldg40-hero aside em{
    align-self:center!important;
  }
}

@media(max-width:720px){
  .ldg40-root .ldg40-layout{
    padding:12px!important;
  }
  .ldg40-root .ldg40-hero{
    padding:18px!important;
    border-radius:20px!important;
  }
  .ldg40-root .ldg40-hero h1{
    font-size:30px!important;
  }
  .ldg40-root .ldg40-hero aside{
    grid-template-columns:1fr!important;
  }
}
