/* 2.28: complete sticky dashboard shell, clearer login and balanced attendance header. */

/* Header, holiday strip and navigation move as one persistent desktop unit. */
body .wlcrm-app .wlcrm-sticky-stack{
  position:sticky!important;
  top:var(--wp-admin--admin-bar--height,0px)!important;
  z-index:9000!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  border-bottom:1px solid #dce6f1!important;
  background:rgba(255,255,255,.975)!important;
  box-shadow:0 7px 20px rgba(24,51,82,.075)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body .wlcrm-app .wlcrm-sticky-stack>.wlcrm-header{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  left:auto!important;
  z-index:auto!important;
  width:100%!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body .wlcrm-app .wlcrm-sticky-stack-marker{width:100%!important;height:0!important}
body .wlcrm-app .wlcrm-sticky-stack-spacer{width:100%!important;height:0;transition:none!important}
body .wlcrm-app .wlcrm-sticky-stack.wlcrm-sticky-stack-fixed{
  position:fixed!important;
  top:var(--wlcrm-fixed-top)!important;
  left:var(--wlcrm-fixed-left)!important;
  z-index:9000!important;
  width:var(--wlcrm-fixed-width)!important;
  margin:0!important;
}
html{scroll-padding-top:var(--wlcrm-sticky-offset,0px)}
body .wlcrm-app :is(.wlcrm-panel,[id]){scroll-margin-top:var(--wlcrm-sticky-offset,0px)}

/* The compact identity area brings attendance actions left; metrics receive flexible room. */
@media(min-width:1200px){
  body .wlcrm-app .wlcrm-attendance{
    grid-template-columns:minmax(60px,.32fr) 70px 60px repeat(3,minmax(80px,145px)) repeat(4,minmax(50px,1fr))!important;
    gap:5px!important;
  }
  body .wlcrm-app .wlcrm-attendance-top>* ,
  body .wlcrm-app .wlcrm-att-buttons>* ,
  body .wlcrm-app .wlcrm-att-stats>*{min-width:0!important}
}
@media(min-width:768px) and (max-width:1199px){
  body .wlcrm-app .wlcrm-attendance{
    grid-template-columns:minmax(60px,.32fr) 70px 60px repeat(3,minmax(80px,145px)) repeat(4,minmax(50px,1fr))!important;
    gap:5px!important;
  }
  body .wlcrm-app .wlcrm-attendance-top>* ,
  body .wlcrm-app .wlcrm-att-buttons>* ,
  body .wlcrm-app .wlcrm-att-stats>*{min-width:0!important}
}

/* Restore strong contrast throughout the pale, minimal login screen. */
body .wlcrm-login-brand{background:linear-gradient(145deg,#eef5ff 0%,#f8fbff 58%,#fff 100%)!important;color:#19304a!important}
body .wlcrm-login-brand .wlcrm-login-brand-top>span{color:#294761!important}
body .wlcrm-login-brand .wlcrm-login-mark{border:1px solid #bdd0ea!important;background:#fff!important;color:#155fd8!important;box-shadow:0 6px 18px rgba(21,95,216,.12)!important}
body .wlcrm-login-brand .wlcrm-login-kicker{color:#155fd8!important}
body .wlcrm-login-brand h2{color:#19304a!important;text-shadow:none!important}
body .wlcrm-login-brand .wlcrm-login-brand-copy>p{color:#526a82!important}
body .wlcrm-login-brand .wlcrm-login-benefits>span{color:#294761!important}
body .wlcrm-login-brand .wlcrm-login-benefits b{border:1px solid #c9dbf7!important;background:#e6efff!important;color:#155fd8!important}
body .wlcrm-login-form-inner h1{color:#102a43!important}
body .wlcrm-login-intro{color:#526a82!important}
body .wlcrm-login-page form label{color:#19304a!important}
body .wlcrm-login-links span{color:#66758b!important}
body .wlcrm-login-page .login-password{position:relative!important}
body .wlcrm-login-page .login-password .wlcrm-password-toggle{
  top:auto!important;
  right:9px!important;
  bottom:9px!important;
  left:auto!important;
  transform:none!important;
}

/* A three-row sticky block would consume too much of a small phone viewport. */
@media(max-width:767px),(max-height:599px){
  body .wlcrm-app .wlcrm-sticky-stack,
  body .wlcrm-app .wlcrm-sticky-stack.wlcrm-sticky-stack-fixed{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    left:auto!important;
    width:100%!important;
    max-width:100%!important;
  }
  body .wlcrm-app .wlcrm-sticky-stack-spacer,
  body .wlcrm-app .wlcrm-header-spacer{display:none!important;height:0!important}
  body .wlcrm-app .wlcrm-header.wlcrm-header-fixed{
    position:static!important;
    inset:auto!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
  }
  body .wlcrm-app .wlcrm-att-stats{grid-template-columns:repeat(4,minmax(52px,1fr))!important}
}
