.academy-monthly-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(180px, .8fr) auto;
    gap: 1rem;
    align-items: end;
    padding: 1rem;
    border-inline-start: 4px solid var(--accent-primary);
}

.academy-monthly-field,
.academy-report-template label {
    display: grid;
    gap: .4rem;
    color: var(--text-secondary);
    font-size: .82rem;
    font-weight: 700;
}

.academy-monthly-actions {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
}

.academy-monthly-actions .action-btn { width: auto; }

.academy-monthly-source-note {
    margin: .75rem 0 1rem;
    padding: .7rem .9rem;
    border-radius: 10px;
    color: #bfdbfe;
    background: rgba(59, 130, 246, .1);
    border: 1px solid rgba(59, 130, 246, .24);
    font-size: .84rem;
}

.academy-monthly-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(135px, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.academy-monthly-kpis > div { padding: .85rem 1rem; }
.academy-monthly-kpis span { display: block; color: var(--text-secondary); font-size: .76rem; }
.academy-monthly-kpis strong { display: block; margin-top: .3rem; font: 800 1.45rem 'Outfit', 'Tajawal', sans-serif; color: var(--accent-secondary); }
.academy-monthly-kpis > div:nth-child(2) strong { color: var(--accent-success); }
.academy-monthly-kpis > div:nth-child(3) strong { color: #22c55e; }

.academy-monthly-list-card { padding: 1rem; }
.academy-monthly-list-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: .8rem; }
.academy-monthly-list-head h3 { margin: 0 0 .2rem; }
.academy-monthly-list-head .inp { max-width: 260px; }

.academy-monthly-table-wrap { overflow: auto; border-radius: 12px; }
.academy-monthly-table { width: 100%; min-width: 980px; border-collapse: separate; border-spacing: 0 .45rem; }
.academy-monthly-table th { padding: .45rem .65rem; color: var(--text-secondary); font-size: .75rem; text-align: right; white-space: nowrap; }
.academy-monthly-table td { padding: .65rem; background: rgba(255, 255, 255, .035); border-block: 1px solid rgba(255, 255, 255, .06); vertical-align: middle; }
.academy-monthly-table td:first-child { border-radius: 0 10px 10px 0; border-inline-start: 3px solid rgba(148, 163, 184, .45); }
.academy-monthly-table td:last-child { border-radius: 10px 0 0 10px; }
.academy-monthly-table tr[data-status="reviewed"] td:first-child { border-inline-start-color: var(--accent-success); }
.academy-monthly-table tr[data-status="sent"] td:first-child { border-inline-start-color: #22c55e; }
.academy-monthly-table textarea { min-width: 230px; min-height: 58px; resize: vertical; }

.academy-score-main { color: white; font: 800 1rem 'Outfit', 'Tajawal', sans-serif; white-space: nowrap; }
.academy-score-live-change { color: var(--accent-warning); font-size: .68rem; display: block; margin-top: .2rem; }
.academy-delta { display: inline-flex; align-items: center; gap: .25rem; border-radius: 999px; padding: .22rem .5rem; font-size: .73rem; white-space: nowrap; }
.academy-delta.up { color: #86efac; background: rgba(34, 197, 94, .13); }
.academy-delta.down { color: #fca5a5; background: rgba(239, 68, 68, .13); }
.academy-delta.flat, .academy-delta.new { color: #cbd5e1; background: rgba(148, 163, 184, .13); }
.academy-review-actions { display: flex; flex-wrap: wrap; gap: .35rem; min-width: 180px; }
.academy-review-actions .action-btn { width: auto; padding: .38rem .55rem; font-size: .72rem; }

.academy-review-status { display: inline-flex; align-items: center; gap: .3rem; border-radius: 999px; padding: .24rem .55rem; font-size: .7rem; white-space: nowrap; }
.academy-review-status.not_prepared { color: #cbd5e1; background: rgba(148, 163, 184, .14); }
.academy-review-status.draft { color: #fde68a; background: rgba(245, 158, 11, .14); }
.academy-review-status.reviewed { color: #93c5fd; background: rgba(59, 130, 246, .14); }
.academy-review-status.sent { color: #86efac; background: rgba(34, 197, 94, .14); }

.academy-reports-layout { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(360px, .9fr); gap: 1rem; }
.academy-report-progress, .academy-report-template { padding: 1rem; }
.academy-report-progress h3, .academy-report-template h3 { margin-top: 0; }
.academy-report-template { display: grid; gap: .75rem; }
.academy-template-numbers { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.academy-report-queue-item { display: flex; justify-content: space-between; align-items: center; gap: .7rem; padding: .65rem; margin-bottom: .45rem; background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .06); border-radius: 10px; }
.academy-report-queue-item small { color: var(--text-secondary); display: block; }

@media (max-width: 1050px) {
    .academy-monthly-toolbar { grid-template-columns: 1fr 1fr; }
    .academy-monthly-actions { grid-column: 1 / -1; }
    .academy-monthly-kpis { grid-template-columns: repeat(3, 1fr); }
    .academy-reports-layout { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .academy-monthly-toolbar { grid-template-columns: 1fr; }
    .academy-monthly-actions { grid-column: auto; }
    .academy-monthly-actions .action-btn { flex: 1; }
    .academy-monthly-kpis { grid-template-columns: 1fr 1fr; }
    .academy-monthly-list-head { align-items: stretch; flex-direction: column; }
    .academy-monthly-list-head .inp { max-width: none; }
    .academy-template-numbers { grid-template-columns: 1fr; }
}
