/* V143 — School Suite Professional Accordion & Page Density System
   Keeps long operational pages compact without hiding critical actions. */
:root{
  --spa-border:#dbe7f6;
  --spa-soft:#f8fbff;
  --spa-soft-2:#eef5ff;
  --spa-text:#0f172a;
  --spa-muted:#64748b;
  --spa-primary:#2563eb;
  --spa-shadow:0 14px 34px rgba(15,23,42,.07);
}
.portal-content .pro-accordion-card{
  position:relative!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:clip!important;
  border-color:var(--spa-border)!important;
  box-shadow:var(--spa-shadow)!important;
  transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease;
}
.portal-content .pro-accordion-card.is-open{
  border-color:#bfdbfe!important;
  box-shadow:0 18px 44px rgba(37,99,235,.08)!important;
}
.portal-content .pro-accordion-head{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-width:0!important;
  padding-right:54px!important;
}
.portal-content .pro-accordion-head > *{min-width:0!important;}
.portal-content .pro-accordion-toggle{
  position:absolute!important;
  top:50%!important;
  right:0!important;
  transform:translateY(-50%)!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
  border:1px solid #c7d8f2!important;
  background:linear-gradient(180deg,#fff,#f2f7ff)!important;
  color:#174ea6!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  box-shadow:0 7px 18px rgba(30,64,175,.08)!important;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease!important;
  z-index:3!important;
}
.portal-content .pro-accordion-toggle:hover{
  background:#e8f1ff!important;
  box-shadow:0 10px 22px rgba(30,64,175,.14)!important;
}
.portal-content .pro-accordion-toggle i,
.portal-content .pro-accordion-toggle svg{
  transition:transform .22s ease!important;
}
.portal-content .pro-accordion-card.is-collapsed .pro-accordion-toggle i,
.portal-content .pro-accordion-card.is-collapsed .pro-accordion-toggle svg{
  transform:rotate(-90deg)!important;
}
.portal-content .pro-accordion-summary-note{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-top:6px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:#eff6ff!important;
  color:#1d4ed8!important;
  font-size:.74rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  white-space:normal!important;
}
.portal-content .pro-accordion-content{
  min-width:0!important;
  max-width:100%!important;
  opacity:1;
  max-height:12000px;
  transition:max-height .32s ease,opacity .2s ease,margin .24s ease,padding .24s ease;
}
.portal-content .pro-accordion-card.is-collapsed > .pro-accordion-content{
  max-height:0!important;
  opacity:0!important;
  overflow:hidden!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  border-top-color:transparent!important;
  border-bottom-color:transparent!important;
  pointer-events:none!important;
}
/* Long data regions remain compact even when expanded. */
.portal-content .pro-accordion-card.is-open .table-responsive,
.portal-content .pro-accordion-card.is-open [class*='table-wrap'],
.portal-content .pro-accordion-card.is-open [class*='table-card']{
  max-width:100%!important;
  overflow:auto!important;
  scrollbar-gutter:stable both-edges;
}
.portal-content .pro-accordion-card.pro-accordion-data-heavy.is-open .table-responsive,
.portal-content .pro-accordion-card.pro-accordion-data-heavy.is-open [class*='table-wrap']{
  max-height:min(66vh,760px)!important;
  border-radius:14px!important;
}
.portal-content .pro-accordion-card.pro-accordion-data-heavy.is-open table thead th{
  position:sticky;
  top:0;
  z-index:5;
}
.pro-accordion-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  max-width:1280px;
  margin:0 auto 14px;
  padding:10px 12px;
  border:1px solid #dbe7f6;
  border-radius:16px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 10px 26px rgba(15,23,42,.05);
}
.pro-accordion-toolbar-copy{display:flex;align-items:center;gap:9px;min-width:0;color:#475569;font-size:.82rem;font-weight:750;}
.pro-accordion-toolbar-copy i{color:#2563eb;font-size:1rem;}
.pro-accordion-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;}
.pro-accordion-toolbar button{
  border:1px solid #cbd5e1;
  background:#fff;
  color:#1e3a8a;
  border-radius:11px;
  padding:7px 10px;
  font-weight:850;
  font-size:.78rem;
  cursor:pointer;
}
.pro-accordion-toolbar button:hover{background:#eff6ff;border-color:#bfdbfe;}
/* Generic density polish for wide/long school pages. */
.portal-content > *, .portal-content section, .portal-content article{min-width:0;max-width:100%;}
.portal-content .row > *{min-width:0;}
.portal-content .card-body,.portal-content [class*='-body'],.portal-content [class*='-content']{min-width:0;}
.portal-content pre,.portal-content code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;}
.portal-content img,.portal-content svg,.portal-content canvas{max-width:100%;}
.portal-content input,.portal-content select,.portal-content textarea{max-width:100%;}
.portal-content .btn-group,.portal-content [class*='actions']{max-width:100%;flex-wrap:wrap;}
body.theme-dark .pro-accordion-toolbar,
body.theme-dark .portal-content .pro-accordion-toggle{background:#101c2d!important;border-color:#334155!important;color:#dbeafe!important;}
body.theme-dark .portal-content .pro-accordion-card{border-color:#25344a!important;}
body.theme-dark .portal-content .pro-accordion-summary-note{background:#142a4c!important;color:#bfdbfe!important;}
@media(max-width:768px){
  .pro-accordion-toolbar{padding:9px 10px;border-radius:14px;}
  .pro-accordion-toolbar-copy{width:100%;}
  .portal-content .pro-accordion-head{padding-right:48px!important;}
  .portal-content .pro-accordion-toggle{width:36px!important;height:36px!important;min-width:36px!important;}
  .portal-content .pro-accordion-card.pro-accordion-data-heavy.is-open .table-responsive,
  .portal-content .pro-accordion-card.pro-accordion-data-heavy.is-open [class*='table-wrap']{max-height:62vh!important;}
}
@media print{
  .pro-accordion-toolbar,.pro-accordion-toggle,.pro-accordion-summary-note{display:none!important;}
  .portal-content .pro-accordion-card > .pro-accordion-content{max-height:none!important;opacity:1!important;overflow:visible!important;pointer-events:auto!important;}
}
