:root{
 --brand:#7C3AED;--brand-strong:#5B21B6;--brand-soft:#F2ECFF;--brand-tint:#FAF8FF;
 --navy:#21154B;--blue:#6D28D9;--teal:#7C3AED;--bg:#F7F7FB;--line:#E4E1EC;--ink:#241F31;--muted:#6D6678;
 --ok:#15805D;--bad:#B4234D;--warn:#A76500;--radius:18px;--shadow:0 14px 34px rgba(51,35,80,.08)
}
html{scroll-behavior:smooth}body{background:linear-gradient(180deg,#faf9fd 0,#f6f5fa 240px,#f7f7fb 100%)}
.top{min-height:78px;border-bottom-color:#e8e2f0;box-shadow:0 3px 18px rgba(49,31,78,.04);z-index:60}
.brand{gap:12px}.brand-logo{width:48px;height:48px;border-radius:14px;display:block;object-fit:cover;box-shadow:0 7px 18px rgba(124,58,237,.18)}
.brand b{font-size:1.08rem;letter-spacing:.01em}.brand small{margin-top:2px}.eyebrow{color:var(--brand);letter-spacing:.11em}.primary{background:linear-gradient(135deg,var(--brand-strong),var(--brand));box-shadow:0 8px 18px rgba(124,58,237,.18)}
.primary:hover{filter:brightness(.97);transform:translateY(-1px)}a{color:var(--blue)}.secondary,.secondary.button{border-color:#d8ccef;color:var(--brand-strong)}
.card,.stats article,.table-wrap{border-color:var(--line);box-shadow:var(--shadow)}
input,select,textarea{accent-color:var(--brand)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(124,58,237,.14);border-color:#9b73ef!important}
th{background:linear-gradient(135deg,#2b185c,#4c1d95)}
.pill.good-bg,.status.ok{background:#e7f7f0;color:#0f6e50}
.nav-group-title{color:var(--brand)!important}.nav-group a[aria-current="page"],.nav-group a:hover{background:var(--brand-soft);color:var(--brand-strong)}
.teacher-shell .page-head h1,.page-head h1,.hero h1{color:var(--navy)}
.portal-login:before{content:"";position:absolute;inset:auto auto 8% 6%;width:220px;height:220px;background:radial-gradient(circle,rgba(124,58,237,.12),transparent 70%);pointer-events:none}
.portal-login{position:relative}.birthday-preview-card .preview-mark{background:none!important;color:transparent!important;background-image:url('/assets/brand/sipad-128.png')!important;background-size:cover!important;border-radius:16px}
.skip-link{position:fixed;left:14px;top:-80px;z-index:999;background:#fff;color:var(--brand-strong);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow)}.skip-link:focus{top:12px}
/* Paginación transversal */
.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 4px;padding:12px 2px}.pagination-summary{color:var(--muted);font-size:.93rem}.pagination-pages{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pager-btn{min-width:42px;height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8ccef;border-radius:12px;background:#fff;color:var(--brand-strong);font-weight:750}.pager-btn:hover{background:var(--brand-soft)}.pager-btn.is-current{background:var(--brand);border-color:var(--brand);color:#fff}.pager-btn.is-disabled{opacity:.42;pointer-events:none}.pager-ellipsis{color:var(--muted);padding:0 2px}.client-pagination{margin-top:14px}
/* Listados consistentes */
.list-count{font-variant-numeric:tabular-nums}.record,.template-row,.birthday-row,.review-row,.mini-card{transition:background .18s ease,border-color .18s ease}.record:hover,.template-row:hover,.birthday-row:hover{background:var(--brand-tint)}
.empty{min-height:180px;display:grid;place-items:center;text-align:center}.empty h2,.empty h3{color:var(--navy)}
/* Formularios y acciones */
.filters,.filter-grid{align-items:end}.filters input,.filters select,.filters button,.filter-grid input,.filter-grid select{min-height:48px}.actions{flex-wrap:wrap}.button,.primary,.secondary{transition:.16s ease}
/* Mejora responsive general */
@media(max-width:900px){.container{padding-inline:18px}.page-head{align-items:flex-start}.page-head .actions{width:100%}.page-head .actions>.button,.page-head .actions>button{flex:1 1 180px;text-align:center}.module-grid{grid-template-columns:1fr!important}.report-release-summary,.audit-summary,.closure-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.top{padding:10px 16px}.brand-logo{width:46px;height:46px}.container{padding:24px 14px 64px}.page-head{margin-bottom:20px}.page-head h1{font-size:clamp(31px,10vw,42px)}.page-head p{font-size:15px}.actions{display:grid!important;grid-template-columns:1fr;width:100%}.actions .button,.actions button{width:100%;justify-content:center}.filters{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.filters>*{width:100%}.audit-summary,.closure-summary,.report-release-summary{grid-template-columns:1fr!important}.pagination{justify-content:center;text-align:center}.pagination-summary{width:100%}.pagination-pages{justify-content:center}.pager-btn span{display:none}.pager-btn{padding:0 10px}.table-wrap{border-radius:14px}.card{padding:18px}.teacher-summary{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
