/* Shared page frame, same look as the checkout: one white rounded card over the full-bleed scene. */
body { padding: 28px 18px 40px; background: #cfe9fb url('../images/school-background.webp') center top / cover fixed no-repeat; }
.app-shell { max-width: 1060px; min-height: 0; background: rgba(255,255,255,.96); border: 1px solid #fff; border-radius: 28px; box-shadow: 0 18px 50px rgba(52,95,140,.2); padding: 14px 22px 0; }
.school-ribbon { display: none; }
.header { margin-top: 0; }
@media (max-width: 760px) {
    body { padding: 12px 10px 28px; }
    .app-shell { border-radius: 22px; padding: 10px 12px 0; min-height: 0; }
}
@media print { body { background: #fff; padding: 0; } .app-shell { border: 0; box-shadow: none; padding: 0; } }
@media (min-width: 851px) {
    .app-shell .header { gap: 10px; }
    .app-shell .header .brand { flex-shrink: 0; }
    .app-shell .header .brand-logo { width: 170px; height: auto; }
    .app-shell .nav { gap: 0; }
    .app-shell .nav a { padding-inline: 8px; font-size: 15px; }
    .app-shell .header-actions { gap: 8px; flex-shrink: 0; }
    .app-shell .header-actions .button { white-space: nowrap; padding-inline: 14px; font-size: 15px; }
}
