@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1.25rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)}body.dark-theme{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent-primary: #3b82f6;--accent-primary-hover: #2563eb;--accent-secondary: #8b5cf6;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--gradient-primary: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--gradient-bg: radial-gradient(circle at top right, rgba(59, 130, 246, .1), transparent 50%), radial-gradient(circle at bottom left, rgba(139, 92, 246, .1), transparent 50%);--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .3);--glass-blur: blur(16px);--glass-bg-hover: rgba(51, 65, 85, .7);--glass-border-hover: rgba(255, 255, 255, .15);--input-bg: rgba(15, 23, 42, .6);--table-hover: rgba(255, 255, 255, .03)}body.light-theme{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent-primary: #2563eb;--accent-primary-hover: #1d4ed8;--accent-secondary: #7c3aed;--success: #059669;--warning: #d97706;--error: #dc2626;--gradient-primary: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--gradient-bg: radial-gradient(circle at top right, rgba(37, 99, 235, .05), transparent 50%), radial-gradient(circle at bottom left, rgba(124, 58, 237, .05), transparent 50%);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .05);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .05);--glass-blur: blur(16px);--glass-bg-hover: rgba(255, 255, 255, .95);--glass-border-hover: rgba(0, 0, 0, .1);--input-bg: #ffffff;--table-hover: rgba(0, 0, 0, .02)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:var(--bg-primary);background-image:var(--gradient-bg);background-attachment:fixed;color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:var(--spacing-sm)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none}ul{list-style:none}input,select,textarea{font-family:inherit}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.gap-xs{gap:var(--spacing-xs)}.w-full{width:100%}.h-full{height:100%}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.block{display:block}.inline-block{display:inline-block}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-uppercase,.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.m-0{margin:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:var(--spacing-xl)}.mt-10{margin-top:var(--spacing-2xl)}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:var(--spacing-md)}.mb-6{margin-bottom:var(--spacing-lg)}.mb-8{margin-bottom:var(--spacing-xl)}.mb-10{margin-bottom:var(--spacing-2xl)}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:var(--spacing-lg)}.p-8{padding:var(--spacing-xl)}.p-10{padding:var(--spacing-2xl)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.bg-input{background:var(--input-bg)}.bg-table-hover{background:var(--table-hover)}.border-glass{border:1px solid var(--glass-border)}.border-b-glass{border-bottom:1px solid var(--glass-border)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-lg{box-shadow:var(--shadow-base)}.hover-table-row:hover{background:var(--table-hover)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-gap{gap:var(--spacing-lg)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;letter-spacing:-.02em}.text-3xl{font-size:1.875rem;letter-spacing:-.03em}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.glass-panel{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:all var(--transition-normal)}.glass-panel:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-2px);box-shadow:0 12px 40px #00000073}.btn-primary{background:var(--gradient-primary);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-weight:600;transition:all var(--transition-bounce);display:inline-flex;align-items:center;gap:var(--spacing-sm);box-shadow:0 4px 15px #3b82f666}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #3b82f699}.btn-secondary{background:#ffffff0d;color:var(--text-primary);border:1px solid var(--glass-border);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-weight:500;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--glass-border-hover)}.icon-btn{padding:var(--spacing-sm);border-radius:var(--radius-full);color:var(--text-secondary);background:transparent;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text-primary);background:var(--glass-bg-hover)}.input-glass{background:var(--input-bg);border:1px solid var(--glass-border);color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);width:100%;transition:all var(--transition-fast);outline:none}.input-glass::placeholder{color:var(--text-muted)}.input-glass:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f633;background:var(--input-bg)}.badge{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge-success{background:#10b98126;color:var(--success);border:1px solid rgba(16,185,129,.3)}.badge-warning{background:#f59e0b26;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.badge-error{background:#ef444426;color:var(--error);border:1px solid rgba(239,68,68,.3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-slow) forwards}@keyframes pulse-glow{0%{box-shadow:0 0 #3b82f666}70%{box-shadow:0 0 0 10px #3b82f600}to{box-shadow:0 0 #3b82f600}}.animate-pulse-glow{animation:pulse-glow 2s infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--table-hover)}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--glass-border-hover)}.sports-loader{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.loader-core{width:56px;height:56px;border-radius:50%;background:var(--gradient-primary);box-shadow:0 0 30px var(--accent-primary);display:flex;align-items:center;justify-content:center;z-index:10;animation:core-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.core-icon{width:28px;height:28px;animation:spin-slow 10s linear infinite}.premium-sport-icon{width:36px;height:36px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2));border-radius:50%;background:var(--glass-bg)}.orbit-track{position:absolute;top:50%;left:50%;border-radius:50%;border:1px dashed var(--glass-border);transform:translate(-50%,-50%)}.track-1{width:110px;height:110px;animation:spin 4s linear infinite}.track-2{width:160px;height:160px;animation:spin-reverse 5s linear infinite;border-color:#f59e0b33}.track-3{width:220px;height:220px;animation:spin 7s linear infinite;border-color:#10b98133}.orbit-item{position:absolute;top:-18px;left:50%;margin-left:-18px}.item-1{animation:spin-reverse 4s linear infinite}.item-2{animation:spin 5s linear infinite}.item-3{animation:spin-reverse 7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{to{transform:rotate(-360deg)}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes core-pulse{0%,to{transform:scale(1);box-shadow:0 0 20px var(--accent-primary)}50%{transform:scale(1.1);box-shadow:0 0 40px var(--accent-primary)}}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg)}.dashboard-charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg)}.dashboard-bottom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.dashboard-chart-area{height:320px;width:100%}.dashboard-subtitle{font-size:1rem}.stat-card{padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;height:100%}.stat-value{font-size:1.875rem}.tesoreria-top-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg)}.tesoreria-chart-area{height:280px;width:100%}.tesoreria-mid-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.tesoreria-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);align-items:end}.reservas-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:var(--spacing-xl);flex-wrap:wrap}.reservas-recursos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.disciplinas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.socios-search-bar{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.socios-search-input{flex:1;min-width:200px;position:relative}.socios-search-select{min-width:160px}@media(max-width:768px){.flex-col-mobile{flex-direction:column!important}.grid-cols-2,.grid-cols-3,.grid-cols-4,.md-grid-cols-2,.md-grid-cols-4,.lg-grid-cols-3{grid-template-columns:1fr!important}.dashboard-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.dashboard-charts-grid,.dashboard-bottom-grid{grid-template-columns:1fr;gap:.75rem}.dashboard-chart-area{height:240px}.dashboard-subtitle{font-size:.875rem}.stat-card{padding:1.125rem}.stat-value{font-size:1.5rem}.tesoreria-top-grid,.tesoreria-mid-grid{grid-template-columns:1fr;gap:.75rem}.tesoreria-chart-area{height:220px}.tesoreria-form-grid,.reservas-recursos-grid,.disciplinas-grid{grid-template-columns:1fr;gap:.75rem}.socios-search-bar{flex-direction:column;align-items:stretch}.socios-search-input,.socios-search-select{width:100%;min-width:unset}.table-responsive,.table-container{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.p-10{padding:var(--spacing-lg)!important}.text-3xl{font-size:1.5rem!important}.gap-xl{gap:var(--spacing-lg)!important}table th,table td{padding:.75rem .875rem!important;font-size:.875rem!important}}@media(max-width:1024px){.dashboard-stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-charts-grid,.tesoreria-top-grid{grid-template-columns:1fr}.disciplinas-grid,.tesoreria-form-grid{grid-template-columns:repeat(2,1fr)}}.landing-root{position:relative;min-height:100vh;width:100%;overflow-x:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center}.landing-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.18;pointer-events:none;z-index:0}.landing-blob-tr{width:55vw;height:55vw;top:-10%;right:-10%;background:var(--accent-primary)}.landing-blob-bl{width:40vw;height:40vw;bottom:-10%;left:-10%;background:var(--accent-secondary)}.landing-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:3rem;width:100%;max-width:1200px;padding:4rem 3rem;align-items:center;box-sizing:border-box}.landing-copy{display:flex;flex-direction:column;justify-content:center}.landing-badge{display:inline-flex;padding:.4rem 1rem;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-bg);margin-bottom:1.5rem;width:fit-content}.landing-badge span{font-size:.75rem;font-weight:700;background:var(--gradient-primary);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.04em}.landing-title{font-size:3rem;font-weight:900;line-height:1.2;margin-bottom:1.25rem;color:var(--text-primary)}.landing-desc{font-size:1.05rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2rem}.landing-features{display:flex;flex-direction:column;gap:1rem}.landing-feature{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.125rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md)}.landing-form-wrap{display:flex;align-items:center;justify-content:center}.landing-form-card{position:relative;width:100%;max-width:440px;padding:2.5rem 2rem;overflow:hidden}@media(max-width:768px){.landing-inner{grid-template-columns:1fr;padding:2rem 1.25rem 2.5rem;gap:2rem}.landing-form-wrap{order:-1}.landing-form-card{padding:2rem 1.5rem}.landing-title{font-size:1.875rem}.landing-desc{font-size:.9375rem;margin-bottom:1.25rem}.landing-blob-tr,.landing-blob-bl{width:70vw;height:70vw;opacity:.12}}.app-container{display:flex;min-height:100vh;width:100vw;overflow:hidden}.sidebar{width:260px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;padding:var(--spacing-lg);z-index:10;flex-shrink:0}.sidebar-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl)}.sidebar-footer{padding:1.25rem;margin-top:auto}.sidebar-nav{display:flex;flex-direction:column;flex:1;gap:var(--spacing-xs)}.nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);color:var(--text-secondary);border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;transition:all var(--transition-fast);touch-action:manipulation}.nav-link:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.nav-link.active{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #3b82f64d}.nav-label{white-space:nowrap}.main-content{flex:1;display:flex;flex-direction:column;height:100vh;overflow-y:auto;overflow-x:hidden}.topbar{height:64px;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--spacing-xl);background:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--glass-border)}.topbar-page-title{display:none;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--text-muted));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-right:auto}.topbar-actions{display:flex;align-items:center;gap:var(--spacing-md)}.user-profile{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.user-profile:hover{background:var(--glass-bg-hover)}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff;flex-shrink:0}.page-container{padding:var(--spacing-xl);max-width:1400px;margin:0 auto;width:100%;animation:fadeIn .4s ease-out;box-sizing:border-box}.page-header{margin-bottom:var(--spacing-xl)}.page-title{font-size:2rem;background:linear-gradient(135deg,var(--text-primary),var(--text-muted));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.page-transition{animation:slideInFromRight .3s ease-out}@media(max-width:768px){.app-container{flex-direction:column}.sidebar{width:100%;height:60px;flex-direction:row;padding:0;border-right:none;border-top:1px solid var(--glass-border);position:fixed;bottom:0;left:0;right:0;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);align-items:stretch}.sidebar-header,.sidebar-footer{display:none!important}.sidebar-nav{flex-direction:row;width:100%;flex:1;gap:0;align-items:stretch;justify-content:space-around}.nav-link{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:6px 4px 8px;gap:3px;border-radius:0;font-size:9px;font-weight:600;min-height:60px;line-height:1}.nav-link svg{width:22px;height:22px;flex-shrink:0}.nav-label{display:block;font-size:9px;text-align:center;white-space:nowrap}.nav-link.active{background:transparent;color:var(--accent-primary);box-shadow:none;border-top:2px solid var(--accent-primary)}.main-content{height:auto;min-height:100vh;padding-bottom:60px}.topbar{height:56px;padding:0 1rem;justify-content:space-between}.topbar-page-title{display:block}.user-name{display:none}.page-container{padding:1rem}.page-title{font-size:1.4rem}.page-header{margin-bottom:1rem}}
