.school-module .screen-header,
.school-module-header {
  padding: 10px 2px 16px;
}

.school-module .screen-header p,
.school-module-header p {
  margin-bottom: 2px;
  color: var(--muted, #667085);
  font-weight: 700;
}

.school-module .screen-header h1,
.school-module-header h1 {
  margin-bottom: 0;
  font-size: clamp(2rem, 8vw, 3.2rem);
  line-height: 1;
  letter-spacing: 0;
}

.school-module .balance-panel {
  display: grid;
  gap: 10px;
  place-items: center;
  min-height: 150px;
  padding: 26px 18px;
  margin-bottom: 18px;
  background: var(--surface, #fff);
  border: 1px solid var(--line, #d7dce5);
  border-radius: 8px;
  box-shadow: var(--shadow, 0 8px 22px rgba(24, 32, 42, 0.08));
}

.school-module .balance-panel span {
  color: var(--muted, #667085);
  font-weight: 750;
}

.school-module .balance-panel strong {
  font-size: clamp(2.6rem, 15vw, 5rem);
  line-height: 0.95;
  letter-spacing: 0;
}

.school-module .school-accent {
  border-top: 5px solid var(--school, #0e9384);
}

.school-module .school-date-box {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.school-module .school-date-box > span {
  color: var(--muted, #667085);
  font-weight: 750;
}

.school-module .date-control {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 8px;
}

.school-module .date-control button {
  min-height: 52px;
  border: 1px solid var(--line, #d7dce5);
  background: var(--surface, #fff);
  border-radius: 8px;
  font: inherit;
  font-weight: 850;
}

.school-module .school-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.school-module .wide {
  grid-column: 1 / -1;
}

.school-module .adjust,
.school-module .wide-action,
.school-module .ghost-button {
  min-height: 48px;
  border-radius: 8px;
  border: 1px solid transparent;
  font: inherit;
  font-weight: 800;
}

.school-module .adjust {
  min-height: 72px;
  font-size: 1.45rem;
}

.school-module .positive {
  color: var(--positive, #027a48);
  background: var(--positive-bg, #ecfdf3);
  border-color: #abefc6;
}

.school-module .negative {
  color: var(--negative, #b42318);
  background: var(--negative-bg, #fef3f2);
  border-color: #fecdca;
}

.school-module .neutral {
  color: #344054;
  background: #f8fafc;
  border-color: #cbd5e1;
}

.school-module .wide-action {
  width: 100%;
  background: #20294f;
  color: white;
  border-color: #20294f;
}

.school-module .trade-action {
  background: #b76e00;
  border-color: #b76e00;
  margin-bottom: 24px;
}

.school-module .activity-section {
  margin-top: 4px;
}

.school-module .section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  min-width: 0;
}

.school-module .section-heading h2 {
  margin: 0;
  font-size: 1.15rem;
}

.school-module .ghost-button,
.school-module .text-button {
  background: transparent;
  color: #344054;
  border: 1px solid var(--line, #d7dce5);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 8px;
  font-weight: 750;
}

.school-module .text-button {
  border-color: transparent;
  color: #475467;
  padding-inline: 4px;
}

.school-module .activity-group {
  margin-bottom: 16px;
}

.school-module .activity-group h3 {
  margin: 18px 0 8px;
  color: #475467;
  font-size: 0.98rem;
}

.school-module .activity-item {
  background: var(--surface, #fff);
  border: 1px solid var(--line, #d7dce5);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  min-width: 0;
}

.school-module .activity-main {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.school-module .activity-title {
  font-size: 1.12rem;
  font-weight: 850;
  min-width: 0;
  overflow-wrap: anywhere;
}

.school-module .activity-meta,
.school-module .activity-reason {
  color: var(--muted, #667085);
}

.school-module .activity-reason {
  line-height: 1.35;
  min-width: 0;
  overflow-wrap: anywhere;
}

.school-module .activity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 6px;
}

.school-module .positive-text {
  color: var(--positive, #027a48);
}

.school-module .negative-text {
  color: var(--negative, #b42318);
}

.school-module .special-text {
  color: var(--trade, #b76e00);
}

.school-module .empty-state {
  color: var(--muted, #667085);
  background: rgba(255, 255, 255, 0.55);
  border: 1px dashed var(--line, #d7dce5);
  border-radius: 8px;
  padding: 18px;
}
