/* Bright Star unified admin layout - one menu style for all feature pages */
:root{
  --bs-pink:#ec4899;
  --bs-pink-dark:#db2777;
  --bs-pink-soft:#fdf2f8;
  --bs-pink-line:#f9c9df;
  --bs-purple:#8b5cf6;
  --bs-dark:#25303d;
  --bs-dark2:#1d2633;
  --bs-text:#182235;
  --bs-muted:#708094;
  --bs-white:#ffffff;
}
body.bs-unified-page{background:linear-gradient(135deg,#fff7fb 0%,#f5f7fb 48%,#fdf2f8 100%) !important;color:var(--bs-text);padding-left:285px;min-height:100vh;}
body.bs-unified-page .sidebar, body.bs-unified-page .eschooly-sidebar, body.bs-unified-page aside.sidebar, body.bs-unified-page .side-nav{display:none!important;}
body.bs-unified-page .dashboard, body.bs-unified-page .eschooly-dashboard{display:block!important;min-height:100vh;background:transparent!important;}
body.bs-unified-page .main-content, body.bs-unified-page .dashboard-main, body.bs-unified-page main, body.bs-unified-page .content, body.bs-unified-page .container{margin-left:0!important;width:auto!important;max-width:none;}
.bs-unified-sidebar{position:fixed;left:0;top:0;width:285px;height:100vh;z-index:9999;background:linear-gradient(180deg,#2f3b4a 0%,#202b38 100%);color:#f8fafc;overflow-y:auto;box-shadow:8px 0 28px rgba(15,23,42,.20);font-family:Inter,Arial,Helvetica,sans-serif;}
.bs-unified-brand{height:116px;padding:17px 18px;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f472b6 0%,#db2777 100%);border-bottom:6px solid rgba(15,23,42,.42);}
.bs-unified-brand img{width:58px;height:58px;border-radius:18px;object-fit:cover;background:#fff;padding:5px;box-shadow:0 12px 24px rgba(0,0,0,.16);}
.bs-unified-brand h2{margin:0;color:#fff;font-size:21px;line-height:1.1;font-weight:950;letter-spacing:.2px;}
.bs-unified-brand p{margin:4px 0 0;color:rgba(255,255,255,.86);font-size:12px;font-weight:700;}
.bs-unified-menu{padding:12px 0 28px;}
.bs-menu-link,.bs-menu-title{min-height:44px;display:flex;align-items:center;gap:12px;padding:0 17px;color:#ecf2f8;text-decoration:none;font-size:14px;font-weight:850;border-left:4px solid transparent;cursor:pointer;transition:.18s ease;}
.bs-menu-link:hover,.bs-menu-title:hover,.bs-menu-link.active,.bs-menu-group.open>.bs-menu-title{background:linear-gradient(90deg,rgba(236,72,153,.95),rgba(244,114,182,.72));border-left-color:#fff;color:#fff;}
.bs-menu-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.08);font-size:13px;color:#fff;}
.bs-menu-caret{margin-left:auto;font-size:15px;transition:.18s;opacity:.9}.bs-menu-group.open .bs-menu-caret{transform:rotate(180deg)}
.bs-submenu{display:none;padding:7px 0 9px 40px;background:rgba(0,0,0,.20);border-left:4px solid rgba(244,114,182,.48);}
.bs-menu-group.open>.bs-submenu{display:block;}
.bs-submenu a{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;margin:2px 10px 2px 0;border-radius:10px;color:#e6edf6;text-decoration:none;font-size:13px;font-weight:800;transition:.16s;}
.bs-submenu a:before{content:"";width:8px;height:8px;border-radius:50%;background:#f472b6;box-shadow:0 0 0 3px rgba(244,114,182,.14);}
.bs-submenu a:hover,.bs-submenu a.active{background:rgba(244,114,182,.20);color:#fff;transform:translateX(2px);}
.bs-unified-footer{margin:10px 16px 20px;padding:12px;border-radius:16px;background:rgba(255,255,255,.06);font-size:12px;color:#cbd5e1;line-height:1.5;}
/* Consistent pink style for old pages */
body.bs-unified-page .topbar,body.bs-unified-page .top,body.bs-unified-page .page-title-card,body.bs-unified-page .appbar{background:linear-gradient(135deg,#f472b6,#db2777)!important;color:#fff!important;border:0!important;box-shadow:0 10px 25px rgba(219,39,119,.18)!important;}
body.bs-unified-page .topbar h1,body.bs-unified-page .top h1,body.bs-unified-page .page-title-card h1{color:#fff!important;}
body.bs-unified-page .box,body.bs-unified-page .panel,body.bs-unified-page .form-box,body.bs-unified-page .card,body.bs-unified-page .welcome-card,body.bs-unified-page .chart-card,body.bs-unified-page .admissions-card,body.bs-unified-page .mini-panel,body.bs-unified-page .fee-panel{border:1px solid var(--bs-pink-line)!important;box-shadow:0 14px 35px rgba(236,72,153,.12)!important;}
body.bs-unified-page button,body.bs-unified-page .btn{background:linear-gradient(135deg,#ec4899,#db2777)!important;color:#fff!important;box-shadow:0 10px 22px rgba(236,72,153,.22)!important;}
body.bs-unified-page button.secondary,body.bs-unified-page .btn.secondary{background:#fff!important;color:#db2777!important;border:1px solid #f9a8d4!important;box-shadow:none!important;}
body.bs-unified-page th{background:linear-gradient(135deg,#fce7f3,#f9a8d4)!important;color:#831843!important;}
body.bs-unified-page input:focus,body.bs-unified-page select:focus,body.bs-unified-page textarea:focus{border-color:#ec4899!important;box-shadow:0 0 0 4px rgba(236,72,153,.12)!important;}
/* Dashboard total cards: smaller clean icons */
body.bs-unified-page .stat-card{padding:22px 22px!important;}
body.bs-unified-page .stat-card strong{font-size:34px!important;padding-left:4px!important;position:relative;z-index:2;}
body.bs-unified-page .stat-icon{width:30px!important;height:30px!important;left:22px!important;bottom:22px!important;border-radius:10px!important;opacity:.72!important;border:1px solid rgba(255,255,255,.55)!important;background:rgba(255,255,255,.18)!important;}
body.bs-unified-page .stat-icon svg{width:17px!important;height:17px!important;fill:#fff!important;}
body.bs-unified-page .stat-card.blue{background:linear-gradient(135deg,#f472b6,#db2777)!important;}
body.bs-unified-page .stat-card.sky{background:linear-gradient(135deg,#f9a8d4,#a78bfa)!important;}
body.bs-unified-page .stat-card.rose{background:linear-gradient(135deg,#fb7185,#ec4899)!important;}
body.bs-unified-page .stat-card.navy{background:linear-gradient(135deg,#a855f7,#db2777)!important;}
@media(max-width:880px){body.bs-unified-page{padding-left:0}.bs-unified-sidebar{position:relative;width:100%;height:auto}.bs-unified-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}.bs-submenu{padding-left:16px}.bs-unified-brand{height:auto}.appbar{position:relative!important;}}
@media print{.bs-unified-sidebar{display:none!important}body.bs-unified-page{padding-left:0!important}.appbar,.topbar,.top{display:none!important}}

/* 2026-05 fixes: clean unified page, avoid old menu duplication and dashboard overlaps */
body.bs-unified-page .main,
body.bs-unified-page main.main,
body.bs-unified-page .main-content,
body.bs-unified-page .content,
body.bs-unified-page .container{margin-left:0!important;padding-left:24px!important;padding-right:24px!important;max-width:none!important;}
body.bs-unified-page .sidebar,
body.bs-unified-page .side-menu:not(.bs-unified-menu),
body.bs-unified-page .brand:not(.bs-unified-brand),
body.bs-unified-page aside:not(.bs-unified-sidebar):not(.right-column){display:none!important;}
body.bs-unified-page .bs-unified-sidebar{display:block!important;}
.stat-card{position:relative;overflow:hidden;min-height:128px!important;padding:22px 22px!important;}
.stat-card .stat-icon{position:absolute!important;right:20px!important;top:18px!important;left:auto!important;bottom:auto!important;width:38px!important;height:38px!important;border-radius:14px!important;background:rgba(255,255,255,.20)!important;opacity:.92!important;z-index:1!important;}
.stat-card .stat-icon svg{width:20px!important;height:20px!important;}
.stat-card strong{position:absolute!important;right:24px!important;bottom:22px!important;font-size:34px!important;line-height:1!important;z-index:2!important;max-width:60%;text-align:right;}
.stat-card h3{position:relative;z-index:2;max-width:70%;}
.stat-card .stat-sub{position:absolute!important;left:22px!important;bottom:22px!important;margin:0!important;z-index:2;max-width:50%;}
@media(max-width:820px){body.bs-unified-page .main,body.bs-unified-page main.main{padding-left:14px!important;padding-right:14px!important}.stat-card strong{position:static!important;display:block;margin-top:28px;text-align:right;max-width:none}.stat-card .stat-sub{position:static!important;margin-top:8px!important;max-width:none}}

/* Student Attendance P/L/A button final colors */
body.bs-unified-page .status-pill{
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  border:1.8px solid #ec4899!important;
  background:linear-gradient(135deg,#ff6db6,#db2777)!important;
  color:#ffffff!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(219,39,119,.22)!important;
  min-width:28px!important;
  padding:0!important;
  margin:0!important;
}
body.bs-unified-page .status-pill.active.present{
  background:#2563eb!important;
  border-color:#1d4ed8!important;
  color:#ffffff!important;
  box-shadow:0 7px 16px rgba(37,99,235,.30)!important;
}
body.bs-unified-page .status-pill.active.leave{
  background:#facc15!important;
  border-color:#eab308!important;
  color:#7a3e00!important;
  box-shadow:0 7px 16px rgba(250,204,21,.34)!important;
}
body.bs-unified-page .status-pill.active.absent{
  background:#ef4444!important;
  border-color:#dc2626!important;
  color:#ffffff!important;
  box-shadow:0 7px 16px rgba(239,68,68,.30)!important;
}

/* 2026-05 Salary Print Cleanup: remove admin branding/menu from every Salary printed page */
@media print{
  body.salary-print-page,
  body.salary-print-page.bs-unified-page{
    background:#fff !important;
    padding-left:0 !important;
    margin:0 !important;
    width:100% !important;
    min-height:auto !important;
    color:#111 !important;
  }

  body.salary-print-page .bs-unified-sidebar,
  body.salary-print-page .bs-unified-brand,
  body.salary-print-page .bs-unified-footer,
  body.salary-print-page .sidebar,
  body.salary-print-page aside,
  body.salary-print-page .side-nav,
  body.salary-print-page .side-menu,
  body.salary-print-page .school-badge,
  body.salary-print-page .brand,
  body.salary-print-page .menu,
  body.salary-print-page nav,
  body.salary-print-page .topbar,
  body.salary-print-page .top,
  body.salary-print-page .appbar,
  body.salary-print-page .page-top,
  body.salary-print-page .dashboard-header,
  body.salary-print-page .header,
  body.salary-print-page .navbar,
  body.salary-print-page .chat-widget,
  body.salary-print-page .chat-toggle,
  body.salary-print-page .chat-window,
  body.salary-print-page [class*="chat"]{
    display:none !important;
    visibility:hidden !important;
  }

  body.salary-print-page .dashboard,
  body.salary-print-page .layout,
  body.salary-print-page .main,
  body.salary-print-page main,
  body.salary-print-page .main-content,
  body.salary-print-page .content,
  body.salary-print-page .container{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:none !important;
    background:#fff !important;
    box-shadow:none !important;
  }

  body.salary-print-page .box:first-of-type,
  body.salary-print-page .actions,
  body.salary-print-page button,
  body.salary-print-page .btn,
  body.salary-print-page input,
  body.salary-print-page select,
  body.salary-print-page textarea,
  body.salary-print-page label,
  body.salary-print-page #searchBox,
  body.salary-print-page .print-hide{
    display:none !important;
  }

  body.salary-print-page table th:last-child,
  body.salary-print-page table td:last-child{
    display:none !important;
  }

  body.salary-print-page .box,
  body.salary-print-page .panel,
  body.salary-print-page .card{
    box-shadow:none !important;
    border:0 !important;
    margin:0 0 12px 0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  body.salary-print-page table{
    width:100% !important;
    border-collapse:collapse !important;
    font-size:12px !important;
  }
  body.salary-print-page th,
  body.salary-print-page td{
    border:1px solid #444 !important;
    padding:7px 8px !important;
    color:#111 !important;
    background:#fff !important;
  }
  body.salary-print-page th{
    font-weight:700 !important;
  }
}

/* Role based panels */
.bs-unified-brand small{display:block;margin-top:3px;color:rgba(255,255,255,.78);font-size:11px;font-weight:700;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.role-student .bs-unified-brand{background:linear-gradient(135deg,#60a5fa 0%,#2563eb 100%);}
body.role-teacher .bs-unified-brand{background:linear-gradient(135deg,#a78bfa 0%,#7c3aed 100%);}
body.role-student .bs-menu-link:hover,
body.role-student .bs-menu-title:hover,
body.role-student .bs-menu-link.active,
body.role-student .bs-menu-group.open>.bs-menu-title{background:linear-gradient(90deg,rgba(37,99,235,.95),rgba(96,165,250,.72));}
body.role-teacher .bs-menu-link:hover,
body.role-teacher .bs-menu-title:hover,
body.role-teacher .bs-menu-link.active,
body.role-teacher .bs-menu-group.open>.bs-menu-title{background:linear-gradient(90deg,rgba(124,58,237,.95),rgba(167,139,250,.72));}


/* Donation ticker banner */
.bs-donation-ticker{
  position:sticky;
  top:0;
  z-index:9998;
  margin:0 18px 16px 18px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:0 0 22px 22px;
  background:
    radial-gradient(circle at 4% 30%, rgba(255,255,255,.26), transparent 30%),
    linear-gradient(135deg,#ec4899,#8b5cf6 52%,#2563eb);
  color:#fff;
  box-shadow:0 16px 36px rgba(139,92,246,.25);
  overflow:hidden;
}
.bs-donation-ticker-label{
  white-space:nowrap;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.02em;
}
.bs-donation-ticker-track{
  overflow:hidden;
  white-space:nowrap;
  min-width:0;
}
.bs-donation-ticker-track span{
  display:inline-block;
  min-width:100%;
  padding-left:100%;
  animation:bsDonationMarquee 34s linear infinite;
  font-size:14px;
  font-weight:850;
  text-shadow:0 1px 3px rgba(0,0,0,.16);
}
.bs-donation-ticker:hover .bs-donation-ticker-track span{
  animation-play-state:paused;
}
@keyframes bsDonationMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-100%)}
}
body.role-student .bs-donation-ticker,
body.role-teacher .bs-donation-ticker{
  margin:0 12px 14px 12px;
}
.donation-banner-check{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  border:1px solid #f9c9df;
  border-radius:14px;
  background:#fff7fb;
  color:#9d174d;
  padding:0 12px;
  font-weight:800;
}
.donation-banner-check input{
  width:auto!important;
  min-height:auto!important;
}
@media(max-width:760px){
  .bs-donation-ticker{
    grid-template-columns:1fr;
    border-radius:0 0 18px 18px;
    margin:0 8px 12px 8px;
  }
  .bs-donation-ticker-label{
    width:max-content;
    max-width:100%;
  }
}
