@import "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:#fff;--bg-card:#ffffffb3;--bg-glass:#ffffff73;--border-color:#e2e8f0cc;--border-glass:#fff9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#4f46e5;--accent-hover:#4338ca;--accent-soft:#4f46e514;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000a, 0 4px 6px -4px #00000005;--shadow-xl:0 20px 25px -5px #0000000f, 0 10px 10px -5px #0000000a;--shadow-glass:0 8px 32px 0 #1f26870d;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-xl:2rem;--transition-fast:.15s ease;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary:#090d16;--bg-secondary:#111827;--bg-card:#111827b3;--bg-glass:#11182773;--border-color:#1f2937cc;--border-glass:#ffffff0d;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#6b7280;--accent-primary:#6366f1;--accent-hover:#4f46e5;--accent-soft:#6366f126;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0003;--shadow-xl:0 20px 25px -5px #00000080, 0 10px 10px -5px #0000004d;--shadow-glass:0 8px 32px 0 #0000004d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;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;position:relative;overflow-x:hidden}body:before{content:"";opacity:.035;pointer-events:none;z-index:-1;width:65vh;max-width:500px;height:65vh;max-height:500px;transition:opacity var(--transition-normal);background-image:url(/logo-colegio.png);background-position:50%;background-repeat:no-repeat;background-size:contain;position:fixed;top:55%;left:50%;transform:translate(-50%,-50%)}[data-theme=dark] body:before{opacity:.02}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass-panel{background:var(--bg-glass);-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{box-shadow:var(--shadow-lg), var(--shadow-glass);border-color:#fff3;transform:translateY(-2px)}.container{width:100%;max-width:1400px;margin:0 auto;padding:2rem 1.5rem}.flex-between{justify-content:space-between;align-items:center;display:flex}.btn{font-family:var(--font-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 4px 14px #4f46e566}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #4f46e580}.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{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 14px #ef444466}.input-group{margin-bottom:1.25rem}.input-label{font-family:var(--font-secondary);color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.input-field{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);font-family:var(--font-primary);transition:all var(--transition-fast);padding:.75rem 1rem;font-size:.95rem}.input-field:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-soft);outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(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{border-radius:50%;width:12px;height:12px;display:inline-block;box-shadow:0 0 8px}.subject-badge{text-transform:uppercase;letter-spacing:.05em;background-color:var(--badge-bg);color:var(--badge-color);border:1px solid var(--badge-border);border-radius:50px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}@media (max-width:640px){body:before{width:40vh;height:40vh}.container{padding:1rem .75rem}}
