/* SchoolPro shared styles. Page-specific rules live in static/css/pages/. */
:root{color-scheme:light;--sp-primary:#4f46e5;--sp-text:#172033;--sp-muted:#64748b;--sp-bg:#f5f7fb;--sp-border:#e2e8f0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--sp-text);font-family:Inter,"Segoe UI",Arial,sans-serif}a{transition:color .15s ease,background-color .15s ease}img{max-width:100%}button,input,select,textarea{font:inherit}
.sp-site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 5%;background:#fff;border-bottom:1px solid var(--sp-border)}.sp-site-brand{font-weight:800;text-decoration:none;color:var(--sp-text)}.sp-site-footer{padding:20px 5%;color:var(--sp-muted);font-size:14px}
@media(max-width:640px){.sp-site-header{align-items:flex-start;flex-wrap:wrap}}


/* Extracted from templates/base.html; shared Django UI utilities. */
body{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:.65rem;color:#cbd5e1;font-size:.875rem;font-weight:500}.nav-link:hover,.nav-link.active{background:#334155;color:#fff}.nav-label{padding:.4rem .8rem .55rem;color:#94a3b8;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.field{display:block;width:100%;border:1px solid #cbd5e1;border-radius:.75rem;padding:.75rem .9rem;background:#fff;color:#0f172a}.field:focus{outline:2px solid #c7d2fe;border-color:#6366f1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.7rem 1rem;font-size:.875rem;font-weight:700}.btn-primary{background:#4f46e5;color:white}.btn-primary:hover{background:#4338ca}.table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:1rem;background:#fff}table{width:100%;border-collapse:collapse}thead{background:#f8fafc}th{padding:.85rem 1rem;text-align:left;color:#64748b;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}td{padding:.85rem 1rem;border-top:1px solid #f1f5f9;color:#334155;font-size:.875rem}tbody tr:hover{background:#f8fafc}.legacy-content .card,.legacy-content .saas-stat,.legacy-content .saas-panel,.legacy-content .saas-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;box-shadow:0 1px 2px #0f172a08}.legacy-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.legacy-content select,.legacy-content textarea{width:100%;border:1px solid #cbd5e1;border-radius:.75rem;padding:.7rem .85rem;background:#fff}.legacy-content .btn-primary{background:#4f46e5;color:#fff}.legacy-content .alert{padding:.8rem 1rem;border-radius:.75rem;margin-bottom:1rem}.legacy-content .alert-danger{background:#fff1f2;color:#9f1239}.legacy-content .alert-success{background:#ecfdf5;color:#065f46}.legacy-content .alert-warning{background:#fffbeb;color:#92400e}.legacy-content .alert-info{background:#eef2ff;color:#3730a3}

/* Extracted inline-style utilities; scoped by semantic component classes. */
.inline-width-auto { width:auto !important; }
.form-container-narrow { max-width:760px; margin-left:auto; margin-right:auto; }
.auth-card-narrow { max-width:520px; margin-left:auto; margin-right:auto; }
.inline-success-banner { background:#ecfdf5; color:#065f46; padding:12px 14px; border-radius:9px; }
.student-preview-image { width:88px; height:88px; object-fit:cover; border-radius:12px; margin-top:10px; }
.button-danger { background:#b91c1c !important; color:#fff !important; }
.password-reset-card { max-width:560px; margin:0 auto; background:#fff; padding:28px; border-radius:16px; }
.logout-inline-form { display:inline; }
