/* School Master redesign regression fixes v1
   User-reported production polish after the approved master redesign.
   Visual/layout only except logout confirmation and help navigation handled in component/JS. */

/* PUBLIC HEADER + CTA CONTRAST */
.public-site-header{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  min-height:88px!important;
  padding:10px max(24px,calc((100vw - 1240px)/2 + 24px))!important;
  gap:24px!important;
  border-bottom:1px solid #e8e4ef!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 6px 24px rgba(32,24,54,.055)!important;
}
.public-brand{gap:14px!important;min-width:max-content!important}
.public-brand img{
  width:64px!important;height:64px!important;padding:4px!important;box-sizing:border-box!important;
  border-radius:19px!important;
  background:radial-gradient(circle at 50% 45%,rgba(245,158,11,.22),rgba(124,58,237,.08) 54%,transparent 72%)!important;
  filter:drop-shadow(0 7px 13px rgba(109,40,217,.22)) drop-shadow(0 0 8px rgba(245,158,11,.15))!important;
}
.public-brand strong{font-size:17px!important}.public-brand small{font-size:10px!important}
.public-nav{gap:18px!important;flex-wrap:nowrap!important}
.public-site-header .public-nav>a{color:#4f485c!important}
.public-site-header .public-nav .public-nav-login,
.public-site-header .public-nav .public-nav-login:visited{color:#302a40!important;background:#fff!important;border-color:#dcd5e8!important}
.public-site-header .public-nav .public-nav-demo,
.public-site-header .public-nav .public-nav-demo:visited,
.public-site-header .public-nav .public-nav-demo:hover,
.public-site-header .public-nav .public-nav-demo:focus{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#5b21b6)!important;border-color:transparent!important;text-shadow:0 1px 1px rgba(35,12,80,.18)!important}
.public-cta .public-actions .public-btn,
.public-cta .public-actions .public-btn:visited{color:#312a42!important;background:#fff!important;border:1px solid #dad5e5!important}
.public-cta .public-actions .public-btn.primary,
.public-cta .public-actions .public-btn.primary:visited,
.public-cta .public-actions .public-btn.primary:hover{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#5b21b6)!important;border-color:transparent!important}
.public-site-main>section:first-child{scroll-margin-top:104px}

/* Avoid legacy/focus rectangles on non-interactive headings. */
.sm-page-head h1,.public-site-main h1,.public-site-main h2{outline:none!important;outline-offset:0!important}
.sm-page-head h1{border:0!important;box-shadow:none!important}

/* APP BRAND — slightly larger with glow while retaining school custom logo support. */
.sm-brand-wrap{padding-top:10px!important;padding-bottom:10px!important}
.sm-brand-link{display:flex!important;justify-content:center!important;align-items:center!important}
.sm-brand-logo{
  width:min(138px,82%)!important;max-height:102px!important;height:auto!important;object-fit:contain!important;
  border-radius:22px!important;
  filter:drop-shadow(0 9px 16px rgba(138,72,255,.24)) drop-shadow(0 0 10px rgba(245,158,11,.18))!important;
}

/* DASHBOARD — richer 3D icon tiles, clearer top hierarchy. */
.sm-kpi-card{overflow:hidden!important}
.sm-kpi-icon{
  width:50px!important;height:50px!important;min-width:50px!important;border-radius:16px!important;
  display:grid!important;place-items:center!important;
  color:var(--accent)!important;
  background:linear-gradient(145deg,#fff 0%,var(--soft) 56%,color-mix(in srgb,var(--accent) 14%,#fff) 100%)!important;
  border:1px solid color-mix(in srgb,var(--accent) 22%,#fff)!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.92),inset 0 -5px 10px rgba(31,20,62,.06),0 9px 18px color-mix(in srgb,var(--accent) 15%,transparent)!important;
  transform:translateY(-1px)!important;
}
.sm-kpi-icon svg{width:24px!important;height:24px!important;filter:drop-shadow(0 2px 1px rgba(255,255,255,.8)) drop-shadow(0 4px 5px rgba(40,23,72,.13))!important}

/* Quick Actions is deliberately lifted above the heavier Production Operations block. */
.sm-dashboard-grid>article:has(.sm-quick-grid){order:-1!important;grid-column:1/-1!important;border-top:3px solid #6d28d9!important}
.sm-dashboard-grid>article:has(.sm-quick-grid) .sm-panel-head{margin-bottom:10px!important}
.sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid button{
  min-height:92px!important;padding:14px!important;border-radius:16px!important;
  background:linear-gradient(145deg,#fff,#f8f5ff)!important;border:1px solid #e4ddf1!important;
  box-shadow:0 9px 22px rgba(46,30,85,.06)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid button:hover{transform:translateY(-2px)!important;border-color:#cbbaf0!important;box-shadow:0 14px 26px rgba(80,43,151,.11)!important}
.sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid button>span{
  width:46px!important;height:46px!important;margin:0 auto 8px!important;border-radius:15px!important;display:grid!important;place-items:center!important;
  color:#5b21b6!important;background:linear-gradient(145deg,#fff,#eee5ff)!important;border:1px solid #ddd0fa!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.95),inset 0 -6px 10px rgba(91,33,182,.08),0 9px 18px rgba(91,33,182,.14)!important;
}
.sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid button>span svg{width:23px!important;height:23px!important;filter:drop-shadow(0 4px 5px rgba(69,34,125,.16))!important}
.sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid button strong{font-size:12px!important}

/* OFFLINE / SYNC — prevent hero text clipping and reserve clean working width. */
.sm-hybrid-grid{min-width:0!important}
.sm-hybrid-hero{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:20px!important;min-width:0!important;overflow:visible!important}
.sm-hybrid-hero>div:last-child{min-width:0!important;max-width:100%!important}
.sm-hybrid-hero h2,.sm-hybrid-hero p{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;max-width:100%!important}
.sm-hybrid-hero p{line-height:1.55!important}
.sm-hybrid-icon{flex:0 0 auto!important}

/* HELP / TOUR — panels never stack on each other or obscure topbar. */
.sm-help-mini-panel{
  width:min(310px,calc(100vw - 28px))!important;max-height:min(520px,calc(100vh - 150px))!important;
  overflow:auto!important;overscroll-behavior:contain!important;
}
.sm-help-v2-panel{max-height:min(580px,calc(100vh - 128px))!important;overscroll-behavior:contain!important}
.sm-help-tour-callout{width:min(300px,calc(100vw - 24px))!important;max-height:170px!important;overflow:auto!important;z-index:2147482600!important}
.sm-help-tour-highlight{outline:3px solid #f59e0b!important;outline-offset:3px!important;box-shadow:0 0 0 7px rgba(245,158,11,.12)!important}
body.sm-help-tour-running .sm-help-mini-panel,
body.sm-help-tour-running .sm-help-v2-panel{display:none!important}

@media(max-width:1180px){
  .public-site-header{padding-inline:20px!important;gap:16px!important}
  .public-brand img{width:56px!important;height:56px!important}
  .public-nav{gap:12px!important}.public-site-header .public-nav>a{font-size:11.5px!important}
  .public-nav-login,.public-nav-demo{padding:9px 11px!important}
}
@media(max-width:980px){
  .public-site-header{position:static!important;align-items:flex-start!important;flex-direction:column!important;padding:14px 18px!important}
  .public-nav{width:100%!important;flex-wrap:wrap!important;gap:9px 14px!important}
  .sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .public-brand img{width:54px!important;height:54px!important}
  .sm-dashboard-grid>article:has(.sm-quick-grid) .sm-quick-grid{grid-template-columns:1fr 1fr!important}
  .sm-help-mini-panel{right:10px!important;bottom:128px!important;max-height:calc(100vh - 190px)!important}
  .sm-help-v2-panel{right:10px!important;bottom:78px!important;width:calc(100vw - 20px)!important;max-height:calc(100vh - 98px)!important}
}
