.school-cms{max-width:900px;margin:0 auto;padding:22px clamp(16px,4vw,36px) 72px;min-height:100dvh}
    .school-cms a{color:var(--accent)}.school-cms .cms-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:28px}
    .school-cms .cms-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:850;font-size:15px}
    .school-cms .cms-logo-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--accent-subtle);color:var(--accent);border-radius:12px}
    .school-cms h1{font-size:clamp(24px,5vw,35px);line-height:1.3;margin:0 0 10px;letter-spacing:-.5px}
    .school-cms h2{font-size:17px;margin:0 0 9px}.school-cms p{line-height:1.75;color:var(--muted);margin:5px 0}
    .school-cms .cms-intro{margin-bottom:25px}.school-cms .cms-section{background:#fff;border:1px solid var(--stroke);border-radius:20px;padding:clamp(18px,4vw,26px);margin:18px 0;box-shadow:var(--shadow)}
    .school-cms .cms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .school-cms .cms-field{display:grid;gap:7px;min-width:0}.school-cms label{font-weight:750;color:var(--ink);font-size:13px}
    .school-cms input:not([type=checkbox]),.school-cms select,.school-cms textarea{font:inherit;font-size:16px;color:var(--ink);width:100%;min-width:0;padding:11px 13px;border:1px solid var(--stroke);border-radius:12px;background:white;min-height:46px;box-sizing:border-box}
    .school-cms textarea{min-height:125px;resize:vertical;line-height:1.6}.school-cms input:focus,.school-cms select:focus,.school-cms textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
    .school-cms .cms-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:23px}
    .school-cms .cms-hint{font-size:12px;margin-top:7px;color:var(--muted)}.school-cms .cms-error{color:#a72f2f;background:#fff1f1;border:1px solid #f4d3d3;border-radius:12px;padding:12px}
    .school-cms .cms-success{color:#127148;background:#e9f8f0;border:1px solid #cce9d7;border-radius:12px;padding:12px}
    .school-cms .cms-progress{background:var(--accent-subtle);border:1px solid var(--stroke);border-radius:12px;padding:13px;color:var(--ink)}
    .school-cms .cms-link{min-height:44px;display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:3px}
    /* Higher specificity than .school-cms a: keep login CTA text visible on its blue background. */
    .school-cms a.cms-login-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;color:#fff;text-decoration:none;font-size:15px;font-weight:750;line-height:1.45;white-space:normal;text-align:center}
    .school-cms a.cms-login-button:visited{color:#fff}
    .school-cms a.cms-login-button:hover{color:#fff;background:var(--ink)}
    .school-cms .cms-login-hint{font-size:13px;line-height:1.65;margin:11px 0 15px;color:var(--muted)}

    .school-cms .cms-note{border-left:3px solid var(--warm-accent);padding:12px 16px;background:#fff8f0;border-radius:8px;color:var(--ink)}
    .school-cms .cms-flex{display:flex;flex-direction:column;gap:12px}.school-cms [hidden]{display:none!important}
    @media(max-width:640px){.school-cms .cms-grid{grid-template-columns:1fr}.school-cms .cms-actions{align-items:stretch}.school-cms .cms-actions button{width:100%}}
    @media(prefers-reduced-motion:no-preference){.school-cms .cms-section{animation:schoolFade .22s ease-out}@keyframes schoolFade{from{opacity:.8;transform:translateY(5px)}to{opacity:1;transform:none}}}

.school-cms .cms-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.school-cms .cms-section-heading h2{margin:0}
.school-cms #school-list-state{margin:0 0 12px}
.school-cms #refresh-records{min-height:44px}
.school-cms #record{margin-bottom:7px}
.school-cms #status{background:var(--surface)}
.school-cms .cms-caution{padding:12px;border-radius:12px;background:var(--accent-subtle);border:1px solid var(--stroke)}
@media(max-width:640px){.school-cms .cms-section-heading{align-items:stretch}.school-cms #refresh-records{width:100%}}
