:root{--cem-white:#ffffff;--cem-red:#ED1C24;--cem-blue:#222658;--cem-blue-dark:#171A40;--cem-yellow:#FBE800;--cem-yellow-dark:#D8C900;--cem-bg:#F4F5F8;--cem-text:#20243D;--cem-muted:#667085;--cem-border:#E3E5EC;--primary:var(--cem-blue);--primary-2:var(--cem-blue-dark);--accent:var(--cem-yellow);--danger:var(--cem-red)}
body,input,button,select,textarea{font-family:'Lato',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
h1,h2,h3,h4,h5,h6,.brand-text strong,.card-title,.page-title{font-family:'Montserrat','Lato',sans-serif}
body.app-body{background:var(--cem-bg);color:var(--cem-text)}
.topbar{border-top:4px solid var(--cem-red)}
.topbar,.topbar--admin,.topbar--docente,.topbar--alumno,.topbar--padre{background:linear-gradient(135deg,var(--cem-blue),var(--cem-blue-dark))}
.brand-icon-wrap{background:#fff;border-color:rgba(255,255,255,.35)}
.brand-icon-wrap img{object-fit:contain;max-width:100%;max-height:100%}
.module-badge,.badge,.nav-pill.is-active{background:var(--cem-red);color:#fff}
.btn-primary,.button-primary,button[type="submit"]{background:var(--cem-red);border-color:var(--cem-red);color:#fff}
.btn-primary:hover,.button-primary:hover,button[type="submit"]:hover{filter:brightness(.94)}
a{accent-color:var(--cem-red)}
:focus-visible{outline:3px solid rgba(251,232,0,.72);outline-offset:2px}
.site-footer{border-top:4px solid var(--cem-yellow)}
