@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap");:root{--font-primary:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-secondary:"Plus Jakarta Sans",sans-serif;--bg-primary:#f8fafc;--bg-secondary:#ffffff;--bg-card:rgba(255,255,255,0.7);--bg-glass:rgba(255,255,255,0.45);--border-color:rgba(226,232,240,0.8);--border-glass:rgba(255,255,255,0.6);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#4f46e5;--accent-hover:#4338ca;--accent-soft:rgba(79,70,229,0.08);--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -1px rgba(0,0,0,0.03);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.04),0 4px 6px -4px rgba(0,0,0,0.02);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.06),0 10px 10px -5px rgba(0,0,0,0.04);--shadow-glass:0 8px 32px 0 rgba(31,38,135,0.05);--radius-sm:0.375rem;--radius-md:0.75rem;--radius-lg:1.25rem;--radius-xl:2rem;--transition-fast:0.15s ease;--transition-normal:0.3s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.5s cubic-bezier(0.4,0,0.2,1)}[data-theme=dark]{--bg-primary:#0d1117;--bg-secondary:#161b25;--bg-card:rgba(22,27,37,0.92);--bg-glass:rgba(22,27,37,0.88);--border-color:rgba(99,112,138,0.35);--border-glass:rgba(255,255,255,0.08);--text-primary:#f0f4ff;--text-secondary:#b8c3d9;--text-muted:#6b7a96;--accent-primary:#818cf8;--accent-hover:#6366f1;--accent-soft:rgba(129,140,248,0.14);--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.5);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.35),0 2px 4px -1px rgba(0,0,0,0.25);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.45),0 4px 6px -4px rgba(0,0,0,0.25);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.55),0 10px 10px -5px rgba(0,0,0,0.35);--shadow-glass:0 8px 32px 0 rgba(0,0,0,0.4)}*{box-sizing:border-box;padding:0;margin:0}body{font-family:var(--font-primary);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;position:relative;transition:background-color var(--transition-normal),color var(--transition-normal);background-image:radial-gradient(at 0 0,var(--bg-primary) 0,transparent 50%),radial-gradient(at 50% 0,var(--accent-soft) 0,transparent 40%),radial-gradient(at 100% 0,var(--bg-primary) 0,transparent 50%);background-attachment:fixed}body:before{content:"";position:fixed;top:55%;left:50%;transform:translate(-50%,-50%);width:65vh;height:65vh;max-width:500px;max-height:500px;background-image:url(/logo-colegio.png);background-repeat:no-repeat;background-position:50%;background-size:contain;opacity:.035;pointer-events:none;z-index:-1;transition:opacity var(--transition-normal)}[data-theme=dark] body:before{opacity:.02}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);transition:transform var(--transition-normal),box-shadow var(--transition-normal),border var(--transition-normal)}.glass-panel-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glass);border-color:rgba(255,255,255,.2)}.container{max-width:1400px;margin:0 auto;padding:2rem 1.5rem;width:100%}.flex-between{display:flex;justify-content:space-between;align-items:center}.btn{font-family:var(--font-secondary);font-weight:600;padding:.625rem 1.25rem;border-radius:var(--radius-md);border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all var(--transition-fast);font-size:.875rem;white-space:nowrap}.btn-primary{background:var(--accent-primary);color:white;box-shadow:0 4px 14px 0 rgba(79,70,229,.4)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px 0 rgba(79,70,229,.5)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--text-muted)}.btn-danger{background:#ef4444;color:white}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 14px 0 rgba(239,68,68,.4)}.input-group{margin-bottom:1.25rem}.input-label{display:block;font-family:var(--font-secondary);font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.input-field{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-primary);font-size:.95rem;transition:all var(--transition-fast)}.input-field:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-fade{animation:fadeIn var(--transition-normal) forwards}.animate-slide{animation:slideUp var(--transition-normal) cubic-bezier(.16,1,.3,1) forwards}.animate-scale{animation:scaleIn var(--transition-normal) cubic-bezier(.16,1,.3,1) forwards}.color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 8px currentColor}.subject-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:50px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background-color:var(--badge-bg);color:var(--badge-color);border:1px solid var(--badge-border)}@media (max-width:640px){body:before{width:40vh;height:40vh}.container{padding:1rem .75rem}}