@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&display=swap";:root{--primary:#2ed06e;--primary-rgb:46, 208, 110;--secondary:#0f172a;--secondary-rgb:15, 23, 42;--primary-gradient:linear-gradient(135deg, #2ed06e 0%, #1a7a3e 100%);--background:#f8fafc;--surface:#fff;--text:#0f172a;--text-dim:#64748b;--accent:#2ed06e;--warning:#f59e0b;--glass:#ffffffb3;--glass-border:#0f172a1a;--card-bg:#fff;--card-shadow:0 10px 15px -3px #0f172a1a}[data-theme=dark]{--background:#020617;--surface:#0f172acc;--text:#fff;--text-dim:#94a3b8;--glass:#0f172a80;--glass-border:#ffffff1a;--card-bg:#0f172a66;--card-shadow:0 25px 50px -12px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);background:radial-gradient(circle at top left, var(--background) 0%, #e2e8f0 100%);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;font-family:Outfit,sans-serif;transition:background .3s,color .3s;overflow-x:hidden}[data-theme=dark] body{background:radial-gradient(circle at 0 0,#1e293b 0%,#0f172a 100%)}body:before{content:"";z-index:-1;background:radial-gradient(circle at 20% 30%,#6366f11a 0%,#0000 40%),radial-gradient(circle at 80% 70%,#ec48991a 0%,#0000 40%);width:100%;height:100%;position:fixed;top:0;left:0}.glass{background:var(--glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--card-shadow);border-radius:28px;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 10px 15px -3px #2ed06e4d}.btn-primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 20px 25px -5px #2ed06e66}.btn-primary:active{transform:translateY(0)scale(.98)}.input-group{margin-bottom:24px}label{color:var(--text);margin-bottom:10px;font-size:.95rem;font-weight:600;display:block}input,select,textarea{width:100%;color:var(--text);background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:14px 18px;font-family:inherit;font-size:1rem;transition:all .2s}input:focus,select:focus,textarea:focus{border-color:var(--primary);background:#fdfdfd;outline:none;box-shadow:0 0 0 4px #6366f11a}.card{max-width:650px;margin:60px auto;padding:48px}h1{text-align:center;color:var(--text);letter-spacing:-.02em;margin-bottom:35px;font-size:2.8rem;font-weight:800}.grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:20px;display:grid}.shirt-input{text-align:center}.success-message{text-align:center;padding:60px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}table{border-collapse:separate;border-spacing:0 10px;width:100%;margin-top:10px}th,td{text-align:left;padding:18px}tr td{background:var(--glass)}tr td:first-child{border-radius:12px 0 0 12px}tr td:last-child{border-radius:0 12px 12px 0}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;padding-bottom:5px;font-size:.75rem;font-weight:700}.badge{border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:700}.badge-profesor{color:var(--primary);background:#4f46e533}.badge-alumno{color:var(--secondary);background:#ec489933}.badge-externo{color:var(--accent);background:#10b98133}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate{animation:.6s forwards fadeIn}.fab-admin{background:var(--primary-gradient);color:#fff;cursor:pointer;z-index:1000;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:65px;height:65px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 8px 32px #2ed06e4d}.fab-admin:hover{transform:scale(1.15)rotate(15deg);box-shadow:0 12px 40px #6366f199}.fab-admin:active{transform:scale(.95)}.tooltip{cursor:help;align-items:center;display:inline-flex;position:relative}.tooltip .tooltiptext{visibility:hidden;color:#fff;text-align:center;z-index:1100;opacity:0;pointer-events:none;background-color:#1e293b;border:1px solid #ffffff1a;border-radius:8px;width:220px;margin-left:-110px;padding:10px;font-size:.8rem;font-weight:400;line-height:1.4;transition:opacity .3s;position:absolute;bottom:125%;left:50%;box-shadow:0 10px 15px -3px #00000080}.tooltip .tooltiptext:after{content:"";border:5px solid #0000;border-top-color:#1e293b;margin-left:-5px;position:absolute;top:100%;left:50%}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.event-selector-container{max-width:1400px;margin:0 auto;padding:30px 40px}.selector-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:30px;justify-content:space-between;align-items:center;margin-bottom:40px;padding:30px 40px;display:flex}.selector-header h1{text-align:left;background:linear-gradient(135deg, var(--text) 0%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:5px;font-size:2.2rem;font-weight:800}.selector-header p{color:var(--text-dim);font-weight:500}.btn-admin-access{background:rgba(var(--secondary-rgb), .05);border:2px solid var(--text);color:var(--text);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:12px 24px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.btn-admin-access:hover{background:var(--text);color:var(--background);transform:translateY(-2px);box-shadow:0 10px 20px #0000001a}.btn-volver{background:var(--glass);border:1px solid var(--glass-border);color:var(--text);z-index:100;border-radius:12px;align-items:center;gap:8px;padding:8px 16px;font-weight:600;transition:all .2s;display:flex;position:fixed;top:30px;left:30px}.btn-volver:hover{background:var(--text);color:var(--background);transform:translate(-5px)}.events-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:40px;display:grid}.event-card{background:var(--card-bg);cursor:pointer;border:1px solid var(--glass-border);box-shadow:var(--card-shadow);border-radius:32px;transition:all .5s cubic-bezier(.19,1,.22,1);position:relative;overflow:hidden}.event-card:hover{background:var(--surface);border-color:#fff3;transform:translateY(-12px)scale(1.02);box-shadow:0 30px 60px -12px #0003}[data-theme=dark] .event-card:hover{box-shadow:0 30px 60px -12px #00000080}.event-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#6366f11a,#0000 70%);width:100%;height:100%;position:absolute;top:0;left:0}.event-card-content{padding:30px}.org-badge{text-transform:uppercase;color:var(--text-dim);background:#f1f5f9;border-radius:8px;margin-bottom:12px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-block}.event-card h3{margin-bottom:15px;font-size:1.5rem;font-weight:700}.event-details{color:var(--text-dim);gap:15px;margin-bottom:25px;font-size:.85rem;display:flex}.event-details span{align-items:center;gap:5px;display:flex}.btn-enter{background:var(--primary-gradient,linear-gradient(135deg, var(--primary), var(--secondary)));color:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-weight:600;transition:opacity .2s;display:flex}.no-events{text-align:center;color:var(--text-dim);grid-column:1/-1;padding:100px}.loader{border:5px solid #fff;border-bottom-color:var(--primary);box-sizing:border-box;border-radius:50%;width:48px;height:48px;animation:1s linear infinite rotation;display:inline-block}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100vh;display:flex}
