.app-header{--accent-color: #D4AF37;position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--bg-card);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:300}.header-academia{display:flex;align-items:center;gap:.875rem}.header-academia-logo{width:38px;height:38px;min-width:38px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;overflow:hidden}.header-academia-logo img{width:100%;height:100%;object-fit:cover}.header-academia-logo span{font-size:1.125rem;font-weight:700}.header-academia-info{display:flex;flex-direction:column;gap:.125rem}.header-academia-name{font-size:1.0625rem;font-weight:600;color:var(--text-primary)}.header-view-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .375rem;border-radius:100px;width:fit-content}.header-view-badge.student{background:rgba(var(--accent-color-rgb, 212, 175, 55),.15);color:var(--accent-color)}.header-profile{position:relative}.profile-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease}.profile-trigger:hover{border-color:var(--border-color)}.profile-trigger.open{border-color:var(--accent-color)}.profile-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar span{font-size:.75rem;font-weight:600}.profile-name{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.profile-trigger svg:last-child{color:var(--text-muted);transition:transform .2s ease}.profile-trigger.open svg:last-child{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006;padding:.375rem;animation:dropdownSlide .2s ease;z-index:310;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{padding:.75rem;display:flex;flex-direction:column;gap:.125rem}.dropdown-user-name{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.dropdown-user-role{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.profile-dropdown .dropdown-item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:all .2s ease;text-align:left}.profile-dropdown .dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.profile-dropdown .dropdown-item.switch-view{color:var(--accent-color)}.profile-dropdown .dropdown-item.switch-view:hover{background:rgba(var(--accent-color-rgb, 212, 175, 55),.1)}.profile-dropdown .dropdown-item.danger:hover{background:#ef44441a;color:#ef4444}.profile-dropdown .dropdown-divider{height:1px;background:var(--border-subtle);margin:.375rem 0}@media(max-width:768px){.app-header{padding:0 1rem}.header-academia-name,.header-view-badge,.profile-name{display:none}}.app-sidebar{--sidebar-width-expanded: 260px;--sidebar-width-collapsed: 70px;--transition-speed: .3s;position:fixed;left:0;top:calc(var(--header-height) + 1px);bottom:0;width:var(--sidebar-width-expanded);background:var(--bg-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;z-index:200;transition:width var(--transition-speed) cubic-bezier(.4,0,.2,1);overflow:visible!important;overflow-x:hidden}.app-sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-toggle{position:absolute;top:50%;right:-12px;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--gold);border-radius:50%;cursor:pointer;z-index:100;box-shadow:0 0 10px #00000080;transition:all .3s ease}.sidebar-toggle:hover{background:var(--gold);color:#000;border-color:var(--gold);transform:translateY(-50%) scale(1.2)}.collapsed .sidebar-toggle{right:-12px}.sidebar-nav{flex:1;padding:1.5rem .75rem;overflow-y:auto;overflow-x:hidden}.nav-group{margin-bottom:1.5rem}.nav-group-title{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);padding:0 1rem;margin-bottom:.5rem;opacity:.8}.nav-group-items{display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(4px)}.collapsed .nav-link:hover{transform:none}.nav-link.active{background:var(--gold-subtle);color:var(--gold);box-shadow:inset 4px 0 0 var(--gold);border-radius:0 var(--radius-md) var(--radius-md) 0}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.collapsed .nav-link{justify-content:center;padding:.75rem 0;gap:0}.nav-label{transition:opacity .2s ease}.superadmin-sidebar-tag{display:flex;align-items:center;gap:8px;margin:1rem;padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:#ef4444;font-size:.65rem;font-weight:800}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-subtle);min-height:50px}.sidebar-version{display:block;text-align:center;font-size:.65rem;color:var(--text-muted);letter-spacing:.05em}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:10px}.app-layout{min-height:100vh;background:var(--bg-deep)}.app-layout.with-sidebar .main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);padding:1.5rem;min-height:calc(100vh - var(--header-height));overflow-y:auto;background:var(--bg-deep)}.app-layout.no-sidebar .main-content{margin-left:0;margin-top:var(--header-height);padding:0;min-height:calc(100vh - var(--header-height));overflow-y:auto;background:var(--bg-deep)}@media(max-width:1024px){.app-layout.with-sidebar .main-content{margin-left:var(--sidebar-collapsed, 64px)}}@media(max-width:768px){.app-layout.with-sidebar .main-content,.app-layout.no-sidebar .main-content{margin-left:0;padding:1rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;background:var(--bg-deep);color:var(--text-primary)}.loading-container p{color:var(--text-muted);font-size:.875rem}.access-denied-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;background:var(--bg-deep);padding:2rem;text-align:center}.access-denied-icon{color:#ef4444;margin-bottom:.5rem}.access-denied-container h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.access-denied-container p{color:var(--text-muted);font-size:.9375rem;margin:0;max-width:300px}.btn-back{margin-top:1rem;padding:.625rem 1.5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:var(--bg-hover);border-color:var(--border-color)}.landing-page{min-height:100vh;background:var(--bg-deep)}.container{max-width:1160px;margin:0 auto;padding:0 1.5rem}.landing-header{position:fixed;top:0;left:0;width:100%;background:#0a0a0c99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-bottom:1px solid var(--border-bronze);transition:all .3s}.landing-header.scrolled{background:#0a0a0cf2}.landing-nav{display:flex;justify-content:space-between;align-items:center;height:80px}.logo-text{font-family:var(--font-title);font-size:1.5rem;color:var(--gold-premium);font-weight:700}.nav-list{display:flex;align-items:center;gap:2rem;list-style:none}.nav-link-item{color:var(--text-secondary);font-weight:500;transition:color .3s;text-decoration:none}.nav-link-item:hover{color:var(--gold-premium)}.hero{padding:12rem 0 6rem;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(62,39,18,.2) 0%,transparent 50%)}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-family:var(--font-title);font-size:3rem;line-height:1.2;color:var(--text-primary);margin-bottom:1.5rem}.hero-subtitle{font-size:1.2rem;color:var(--text-secondary);margin-bottom:2rem}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-social-proof{margin-top:2rem;font-style:italic;color:var(--text-muted)}.section-title{font-family:var(--font-title);font-size:2.25rem;text-align:center;color:var(--text-primary);margin-bottom:1rem}.section-title.left{text-align:left}.section-subtitle{font-size:1.1rem;max-width:600px;margin:0 auto 3rem;text-align:center;color:var(--text-secondary)}.features-section{padding:5rem 0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.feature-card{background:var(--bg-card);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-bronze);transition:transform .3s,box-shadow .3s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 0 25px #d4af371a}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.125rem;margin-bottom:.5rem}.feature-benefit{color:var(--gold-premium);font-size:.875rem;font-style:italic;margin-bottom:.75rem}.how-it-works-section{padding:5rem 0;background:var(--bg-card);border-top:1px solid var(--border-bronze);border-bottom:1px solid var(--border-bronze)}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.step-card{text-align:center}.step-number{font-family:var(--font-title);font-size:2rem;color:var(--gold-premium);border:2px solid var(--border-bronze);width:60px;height:60px;line-height:56px;border-radius:50%;margin:0 auto 1rem}.step-card h3{margin-bottom:.5rem}.pricing-section{padding:5rem 0}.pricing-grid{display:grid;grid-template-columns:1fr;gap:3rem}@media(min-width:900px){.pricing-grid{grid-template-columns:1fr 1fr}}.pricing-card{background:var(--bg-card);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-bronze);margin-bottom:1.5rem;position:relative}.pricing-card.featured{border-color:var(--gold-premium);box-shadow:0 0 30px #d4af3726}.featured-tag{position:absolute;top:-12px;right:20px;background:var(--gold-premium);color:var(--bg-deep);padding:.375rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700}.price{font-family:var(--font-title);font-size:2.5rem;color:var(--text-primary);margin:.5rem 0}.price span{font-size:1rem;color:var(--text-secondary)}.pricing-card ul{list-style:none;margin-top:1.5rem}.pricing-card li{margin-bottom:.75rem;padding-left:1.5rem;position:relative;color:var(--text-secondary)}.pricing-card li:before{content:"✓";color:var(--gold-premium);position:absolute;left:0}.contact-column h3{font-size:1.5rem;margin-bottom:1rem}.contact-column>p{color:var(--text-secondary);margin-bottom:2rem}.contact-form input{margin-bottom:1rem}.full-width{width:100%}.form-status{margin-top:1rem;text-align:center;color:var(--gold-premium);font-weight:600}.landing-footer{background:var(--bg-card);padding-top:3rem;border-top:1px solid var(--border-bronze)}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem;padding-bottom:2rem}.footer-brand p{color:var(--text-secondary);margin-top:.5rem}.footer-links-list{display:flex;gap:2rem}.footer-links-list a{color:var(--text-secondary);transition:color .3s;text-decoration:none}.footer-links-list a:hover{color:var(--gold-premium)}.footer-bottom{text-align:center;padding:1.5rem 0;border-top:1px solid var(--border-bronze);color:var(--text-muted);font-size:.875rem}@media(max-width:768px){.nav-list{gap:1rem}.nav-link-item{display:none}.hero{padding:8rem 0 4rem}.hero-title{font-size:2rem}.section-title{font-size:1.75rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f1419,#1a1f26);padding:1rem}.login-container{width:100%;max-width:400px;background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-lg);padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo{font-size:3rem;display:block;margin-bottom:1rem}.login-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.login-header p{color:var(--text-tertiary);font-size:.9375rem;margin:0}.social-buttons{display:flex;flex-direction:column;gap:.75rem}.btn-google{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1rem;background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.btn-google:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--primary-color)}.btn-google:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:20px;height:20px}.btn-apple{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1rem;background-color:#000;border:1px solid #333333;border-radius:8px;font-size:1rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.btn-apple:hover:not(:disabled){background-color:#1a1a1a;border-color:#444}.btn-apple:disabled{opacity:.7;cursor:not-allowed}.apple-icon{width:20px;height:20px}.divider{display:flex;align-items:center;margin:1.5rem 0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input{padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--bg-input);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.form-group input::placeholder{color:var(--text-tertiary)}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.125rem;padding:.25rem;opacity:.7;transition:opacity .2s ease}.error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background-color:var(--danger-light);border-radius:8px;color:var(--danger-color);font-size:.875rem}.btn-login{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.btn-login:hover:not(:disabled){background-color:var(--primary-dark)}.btn-login:active:not(:disabled){transform:scale(.98)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-top:2rem;text-align:center}.login-footer p{color:var(--text-tertiary);font-size:.8125rem;margin:0;line-height:1.5}@media(max-width:480px){.login-container{padding:1.5rem}.login-header h1{font-size:1.5rem}}.invitation-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f1419,#1a1f26);padding:1rem}.invitation-container{width:100%;max-width:450px;background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-lg);padding:2.5rem;border:1px solid var(--border-color)}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.loading-state p{color:var(--text-secondary)}.error-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:2rem 0}.error-icon{font-size:3rem}.error-state h2{color:var(--text-primary);margin:0}.error-state p{color:var(--text-secondary);margin:0}.success-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:2rem 0}.success-icon{font-size:4rem}.success-state h2{color:var(--text-primary);margin:0}.success-state p{color:var(--text-secondary);margin:0}.redirect-msg{font-size:.875rem;opacity:.7}.invitation-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2rem}.invitation-header .academia-logo{width:100px;height:100px;border-radius:16px;object-fit:contain;background-color:var(--bg-primary);padding:12px;margin-bottom:1.25rem}.invitation-header .academia-logo-placeholder{width:100px;height:100px;border-radius:16px;background-color:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:3rem;margin-bottom:1.25rem}.invitation-header h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.invitation-details{text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.invitation-message{color:var(--text-secondary);margin:0 0 .5rem;font-size:.9375rem}.invitation-details .academia-name{font-size:1.5rem;font-weight:700;color:var(--primary-color);margin:0 0 1.5rem}.invitation-info{display:flex;flex-direction:column;gap:.75rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--bg-secondary);border-radius:8px}.info-label{font-size:.875rem;color:var(--text-tertiary)}.role-badge{background-color:var(--primary-light);color:var(--primary-color);padding:.25rem .75rem;border-radius:20px;font-size:.8125rem}.error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background-color:var(--danger-light);border-radius:8px;color:var(--danger-color);font-size:.875rem;margin-bottom:1rem}.invitation-actions{display:flex;flex-direction:column;gap:1rem}.btn-accept{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-accept.btn-google{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-color)}.btn-accept.btn-google:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--primary-color)}.btn-accept.btn-apple{background-color:#000;color:#fff;border:1px solid #333333}.btn-accept.btn-apple:hover:not(:disabled){background-color:#1a1a1a;border-color:#444}.btn-accept:disabled{opacity:.7;cursor:not-allowed}.btn-accept .google-icon,.btn-accept .apple-icon{width:20px;height:20px}.btn-secondary{display:flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--primary-color)}.btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.terms-note{font-size:.8125rem;color:var(--text-tertiary);text-align:center;margin:0;line-height:1.5}.divider{display:flex;align-items:center;margin:.5rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background-color:var(--border-color)}.divider span{padding:0 1rem;color:var(--text-tertiary);font-size:.875rem}.btn-email{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-email:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--primary-color)}.email-icon{font-size:1.25rem}.email-form{display:flex;flex-direction:column;gap:1rem;width:100%}.email-form .form-group{display:flex;flex-direction:column;gap:.5rem}.email-form label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.email-form input{padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--bg-input);color:var(--text-primary);transition:border-color .2s ease}.email-form input:focus{outline:none;border-color:var(--primary-color)}.email-form input::placeholder{color:var(--text-tertiary)}.password-input{position:relative;display:flex}.password-input input{flex:1;padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.125rem;padding:.25rem;opacity:.7}.password-toggle:hover{opacity:1}.field-hint{font-size:.75rem;color:var(--text-tertiary)}.field-hint.warning{color:var(--warning-color, #f59e0b)}.email-hint{font-size:.8125rem;color:var(--text-tertiary);margin:0;text-align:center}.btn-submit-email{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-submit-email:hover:not(:disabled){background-color:var(--primary-dark)}.btn-submit-email:disabled{opacity:.7;cursor:not-allowed}.btn-back{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.5rem;transition:color .2s ease}.btn-back:hover:not(:disabled){color:var(--primary-color)}.btn-back:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.invitation-container{padding:1.5rem}.invitation-header h1,.invitation-details .academia-name{font-size:1.25rem}}.indumentaria-alumno{padding:0}.indumentaria-alumno-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.indumentaria-alumno-loading p{color:var(--text-muted)}.indumentaria-alumno .message{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;margin-bottom:1rem}.indumentaria-alumno .message.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.indumentaria-alumno .message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.indumentaria-alumno .message button{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex}.indumentaria-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.indumentaria-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.9375rem;font-weight:500}.indumentaria-tabs .tab:hover,.indumentaria-tabs .tab.active{color:var(--text-primary)}.indumentaria-tabs .tab .badge{font-size:.75rem;padding:.125rem .5rem;border-radius:100px;color:#fff;font-weight:600}.category-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.category-btn{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:100px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.875rem}.category-btn:hover{border-color:var(--text-muted)}.category-btn.active{color:#fff;border-color:transparent}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.product-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .2s}.product-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.product-image{position:relative;aspect-ratio:1;background:var(--bg-primary)}.product-image img{width:100%;height:100%;object-fit:cover}.product-image .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.sold-out-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center}.sold-out-overlay span{background:#ef4444;color:#fff;padding:.5rem 1rem;border-radius:4px;font-weight:600;font-size:.875rem}.product-info{padding:1rem;display:flex;flex-direction:column;gap:.25rem}.product-info h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.product-color{font-size:.8125rem;color:var(--text-muted)}.product-price{font-size:1.125rem;font-weight:700;margin-top:.25rem}.btn-reservar{display:flex;align-items:center;justify-content:center;gap:.25rem;margin-top:.75rem;padding:.625rem;border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s;font-size:.875rem}.btn-reservar:hover{opacity:.9}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-muted);text-align:center}.btn-ver-productos{margin-top:.5rem;padding:.75rem 1.5rem;background:transparent;border:1px solid;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-ver-productos:hover{opacity:.8}.order-card{display:flex;gap:1rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px}.order-image{width:64px;height:64px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-primary)}.order-image img{width:100%;height:100%;object-fit:cover}.order-image .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.order-info{flex:1;min-width:0}.order-info h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.order-details{font-size:.875rem;color:var(--text-secondary);margin:0}.order-date{font-size:.8125rem;color:var(--text-muted);margin:.25rem 0 0}.order-notes{font-size:.8125rem;color:var(--text-secondary);margin:.5rem 0 0;padding:.5rem;background:var(--bg-primary);border-radius:4px}.order-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.order-price{font-size:1rem;font-weight:700}.status-badge{padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600}.status-pending{background:#eab30826;color:#eab308}.status-approved{background:#3b82f626;color:#3b82f6}.status-delivered{background:#22c55e26;color:#22c55e}.status-cancelled{background:#ef444426;color:#ef4444}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-card);border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--bg-secondary);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);z-index:1}.modal-close:hover{background:var(--bg-hover)}.modal-product{display:flex;flex-direction:column}.modal-image{aspect-ratio:16/9;background:var(--bg-primary)}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-image .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.modal-info{padding:1.5rem}.modal-info h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.modal-info .color{font-size:.9375rem;color:var(--text-muted);margin:0 0 .5rem}.modal-info .descripcion{font-size:.9375rem;color:var(--text-secondary);margin:0 0 .75rem}.modal-info .precio{font-size:1.5rem;font-weight:700;margin:0}.modal-form{padding:0 1.5rem 1.5rem}.modal-form .form-group{margin-bottom:1.25rem}.modal-form label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.talles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.talle-btn{padding:.75rem .5rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.125rem}.talle-btn:hover:not(.disabled){border-color:var(--text-muted)}.talle-btn.disabled{opacity:.4;cursor:not-allowed}.talle-btn .talle-name{font-weight:600;color:var(--text-primary)}.talle-btn .talle-stock{font-size:.75rem;color:var(--text-muted)}.cantidad-control{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);border-radius:8px;padding:.5rem;width:fit-content}.cantidad-control button{width:36px;height:36px;border:none;border-radius:6px;background:var(--bg-hover);color:var(--text-primary);font-size:1.25rem;cursor:pointer;transition:all .2s}.cantidad-control button:disabled{opacity:.4;cursor:not-allowed}.cantidad-control button:hover:not(:disabled){background:var(--bg-primary)}.cantidad-control span{font-size:1.125rem;font-weight:600;color:var(--text-primary);min-width:2rem;text-align:center}.modal-form textarea{width:100%;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9375rem;resize:none}.modal-form textarea:focus{outline:none;border-color:var(--text-muted)}.order-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem;font-size:1.125rem;font-weight:600}.btn-confirmar-reserva{width:100%;padding:1rem;border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirmar-reserva:disabled{cursor:not-allowed}.btn-confirmar-reserva:hover:not(:disabled){opacity:.9}.reserva-note{text-align:center;font-size:.8125rem;color:var(--text-muted);margin:1rem 0 0}@media(max-width:600px){.products-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.product-info{padding:.75rem}.product-info h3{font-size:.9375rem}.order-card{flex-wrap:wrap}.order-right{width:100%;flex-direction:row;justify-content:space-between;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.talles-grid{grid-template-columns:repeat(3,1fr)}}.alumno-panel{--color-primary: #D4AF37;--color-secondary: #B8960C;--faixa-color: #fff;--bg-deep: #0a0a0b;--bg-card: #111113;--bg-elevated: #18181b;--bg-hover: #1f1f23;--bg-input: #0d0d0e;--border-subtle: #27272a;--border-color: #3f3f46;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--success-color: #22c55e;--warning-color: #f59e0b;--danger-color: #ef4444;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.5);--shadow-lg: 0 8px 24px rgba(0,0,0,.6);--shadow-glow: 0 0 20px rgba(212, 175, 55, .15)}.alumno-panel *{box-sizing:border-box}.alumno-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem;color:var(--text-secondary);background:var(--bg-deep)}.alumno-loading .loading-spinner{width:44px;height:44px;border:3px solid var(--border-subtle);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.btn-logout-alt{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.btn-logout-alt:hover{border-color:var(--danger-color);color:var(--danger-color)}.alumno-panel{display:flex;min-height:100vh;background:var(--bg-deep)}.mobile-header{display:none;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:50}.menu-toggle{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background .2s}.menu-toggle:hover{background:var(--bg-hover)}.header-brand{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text-primary)}.header-logo{width:28px;height:28px;border-radius:var(--radius-sm);object-fit:cover}.header-logo-placeholder{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#000}.header-avatar{position:relative;width:36px;height:36px}.header-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar-faixa{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-card)}.alumno-sidebar{width:260px;background:var(--bg-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform .3s ease}.sidebar-header{padding:1.25rem;border-bottom:1px solid var(--border-subtle)}.sidebar-brand{display:flex;align-items:center;gap:.75rem}.sidebar-brand img{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover}.brand-placeholder{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#000}.brand-info{flex:1;min-width:0}.brand-info h2{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-subtitle{font-size:.75rem;color:var(--text-muted)}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.sidebar-nav button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1.25rem;background:none;border:none;color:var(--text-secondary);font-size:.9375rem;cursor:pointer;transition:all .2s ease;text-align:left;border-left:3px solid transparent}.sidebar-nav button:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav button.active{color:var(--color-primary);background:linear-gradient(90deg,rgba(212,175,55,.1) 0%,transparent 100%);border-left-color:var(--color-primary)}.sidebar-nav button span{flex:1}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.5rem}.switch-staff-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:#d4af371a;border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-md);color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.switch-staff-btn:hover{background:#d4af3726;border-color:var(--color-primary)}.whatsapp-link{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#25d36614;border:1px solid rgba(37,211,102,.2);border-radius:var(--radius-md);color:#25d366;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s ease}.whatsapp-link:hover{background:#25d3661f}.logout-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.logout-btn:hover{border-color:var(--danger-color);color:var(--danger-color)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:99;display:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.alumno-main{flex:1;margin-left:260px;min-height:100vh;padding:1.5rem 2rem}.section-header{margin-bottom:1.5rem}.section-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.section-subtitle{color:var(--text-muted);font-size:.9rem;margin-top:.25rem}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-title h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.btn-view-all{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-view-all:hover{opacity:.8}.section-inicio{max-width:900px;margin:0 auto}.welcome-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);margin-bottom:1.5rem}.hero-left{display:flex;align-items:center;gap:1rem}.hero-avatar-wrapper{position:relative;width:72px;height:72px;flex-shrink:0}.hero-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.hero-faixa-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:3px solid;pointer-events:none}.hero-info{min-width:0}.hero-greeting{font-size:.8125rem;color:var(--text-muted)}.hero-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:.125rem 0 .5rem}.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem}.faixa-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:500}.status-badge.ok{background:#22c55e1a;color:var(--success-color)}.status-badge.warning{background:#ef44441a;color:var(--danger-color)}.status-badge svg{width:14px;height:14px}.hero-right{flex-shrink:0}.hero-stat{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-deep);border-radius:var(--radius-lg)}.hero-stat svg{color:var(--color-primary)}.hero-stat .stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.hero-stat .stat-label{font-size:.75rem;color:var(--text-muted);display:block}.journey-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:1.25rem;margin-bottom:1.5rem}.journey-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.journey-title{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--text-primary)}.journey-title svg{color:var(--color-primary)}.journey-count{font-size:.875rem;font-weight:600;color:var(--color-primary)}.journey-bar-wrapper{position:relative;margin-bottom:.75rem}.journey-bar{height:12px;background:var(--bg-deep);border-radius:var(--radius-full);overflow:hidden}.journey-bar-fill{height:100%;border-radius:var(--radius-full);position:relative;transition:width .5s ease}.journey-bar-glow{position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3));animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.5}50%{opacity:1}}.journey-milestones{position:absolute;top:0;left:0;right:0;height:12px;pointer-events:none}.milestone{position:absolute;top:50%;transform:translate(-50%,-50%);width:4px;height:4px;background:var(--border-color);border-radius:50%}.journey-footer{display:flex;justify-content:space-between;align-items:center}.journey-percent{font-size:.8125rem;color:var(--text-muted)}.journey-remaining{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;color:var(--color-primary)}.journey-remaining svg{width:14px;height:14px}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all .2s ease}.stat-card:hover{border-color:var(--border-color)}.stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);flex-shrink:0}.stat-content{min-width:0}.stat-content .stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-content .stat-label{font-size:.75rem;color:var(--text-muted)}.areas-preview{margin-bottom:1.5rem}.areas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.area-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.area-card:hover{border-color:var(--border-color);transform:translateY(-1px)}.area-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:1.25rem;flex-shrink:0}.area-info{flex:1;min-width:0}.area-label{display:block;font-weight:500;color:var(--text-primary);font-size:.9rem}.area-count{font-size:.75rem;color:var(--text-muted)}.area-total{font-size:.875rem;font-weight:600;color:var(--text-secondary);padding:.25rem .5rem;background:var(--bg-elevated);border-radius:var(--radius-sm)}.recent-classes{margin-bottom:1.5rem}.classes-list{display:flex;flex-direction:column;gap:.5rem}.class-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s ease}.class-card.has-content{cursor:pointer}.class-card.has-content:hover{border-color:var(--border-color)}.class-main{display:flex;align-items:center;gap:1rem;padding:1rem}.class-date{display:flex;flex-direction:column;align-items:center;width:44px;flex-shrink:0}.date-day{font-size:1.125rem;font-weight:700;color:var(--text-primary);line-height:1}.date-month{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.class-info{flex:1;min-width:0}.class-name{display:block;font-weight:500;color:var(--text-primary);font-size:.9rem}.class-tech-count{font-size:.75rem;color:var(--color-primary)}.class-status{flex-shrink:0}.status-indicator{display:flex;align-items:center;gap:.25rem}.status-indicator.documented{color:var(--success-color)}.status-indicator.documented svg:first-child{width:18px;height:18px}.status-indicator.documented svg:last-child{width:14px;height:14px;color:var(--text-muted)}.pending-dot{width:8px;height:8px;background:var(--text-muted);border-radius:50%}.class-content{padding:0 1rem 1rem;border-top:1px solid var(--border-subtle);margin-top:0;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tech-block{display:flex;flex-direction:column;gap:.125rem;padding:.75rem;margin-top:.75rem;background:var(--bg-deep);border-radius:var(--radius-md);border-left:3px solid}.tech-block.kimono{border-left-color:#3b82f6}.tech-block.nogi{border-left-color:#8b5cf6}.tech-area{font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.tech-detail{font-size:.8125rem;color:var(--text-secondary)}.class-notes{margin-top:.75rem;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-secondary)}.notes-label{font-weight:500;color:var(--text-muted);margin-right:.375rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--text-muted)}.empty-state svg{width:32px;height:32px;margin-bottom:.75rem;opacity:.5}.empty-state p{margin:0;font-size:.875rem}.empty-state span{font-size:.75rem;margin-top:.25rem}.section-tecnicas{max-width:900px;margin:0 auto}.tech-overview{display:flex;gap:1rem;margin-bottom:1.5rem}.overview-stat{flex:1;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center}.overview-stat.main{background:linear-gradient(135deg,#d4af371a,#d4af3708);border-color:#d4af3740}.overview-value{display:block;font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.2}.overview-stat.main .overview-value{color:var(--color-primary)}.overview-label{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.tech-areas-detailed{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.tech-area-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem}.area-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.area-icon-large{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:1.5rem;flex-shrink:0}.area-title h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.area-stats{font-size:.75rem;color:var(--text-muted)}.area-techniques{display:flex;flex-direction:column;gap:.5rem}.technique-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-deep);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-secondary);border-left:3px solid transparent}.technique-chip.kimono{border-left-color:#3b82f6}.technique-chip.nogi{border-left-color:#8b5cf6}.more-techniques{font-size:.75rem;color:var(--text-muted);padding-left:.75rem}.area-empty{padding:1rem;background:var(--bg-deep);border-radius:var(--radius-md);text-align:center}.area-empty p{margin:0;font-size:.8125rem;color:var(--text-muted)}.tech-timeline{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem}.tech-timeline h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.timeline-list{display:flex;flex-direction:column;gap:1rem}.timeline-item{display:flex;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.timeline-item:last-child{border-bottom:none;padding-bottom:0}.timeline-date{width:60px;flex-shrink:0;font-size:.8125rem;font-weight:500;color:var(--text-muted)}.timeline-content{flex:1;min-width:0}.timeline-class{display:block;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.timeline-blocks{display:flex;flex-direction:column;gap:.375rem}.timeline-block{display:block;padding:.375rem .5rem;background:var(--bg-deep);border-radius:var(--radius-sm);border-left:2px solid;font-size:.8125rem;color:var(--text-secondary)}.section-pagos{max-width:700px;margin:0 auto}.payment-status-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;border-radius:var(--radius-lg);margin-bottom:1.5rem}.payment-status-card.ok{background:#22c55e14;border:1px solid rgba(34,197,94,.2)}.payment-status-card.warning{background:#ef444414;border:1px solid rgba(239,68,68,.2)}.status-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.payment-status-card.ok .status-icon{background:#22c55e26;color:var(--success-color)}.payment-status-card.warning .status-icon{background:#ef444426;color:var(--danger-color)}.status-info{flex:1}.status-title{display:block;font-size:1.0625rem;font-weight:600;color:var(--text-primary)}.status-subtitle{font-size:.8125rem;color:var(--text-secondary)}.payments-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.payments-list{display:flex;flex-direction:column;gap:.5rem}.payment-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.payment-icon{color:var(--text-muted)}.payment-info{flex:1;min-width:0}.payment-concept{display:block;font-weight:500;color:var(--text-primary)}.payment-date{font-size:.8125rem;color:var(--text-muted)}.payment-amount{font-weight:600;color:var(--success-color)}.section-perfil{max-width:600px;margin:0 auto}.perfil-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden}.perfil-photo-section{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-card) 100%);border-bottom:1px solid var(--border-subtle)}.perfil-photo{position:relative;width:100px;height:100px;margin-bottom:1rem}.perfil-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover}.photo-upload-btn{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#000;border:2px solid var(--bg-card)}.photo-upload-btn input{display:none}.uploading-text{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.perfil-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.perfil-faixa{display:inline-flex;padding:.375rem .875rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600}.perfil-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border-subtle)}.perfil-stat{display:flex;flex-direction:column;align-items:center;padding:1.25rem .75rem;border-right:1px solid var(--border-subtle)}.perfil-stat:last-child{border-right:none}.perfil-stat svg{color:var(--color-primary);margin-bottom:.5rem}.perfil-stat-value{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.perfil-stat-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em}.perfil-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-muted);margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9375rem;transition:all .2s ease}.form-group input:focus{outline:none;border-color:var(--color-primary)}.readonly-field{padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:.9375rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border-bottom:1px solid var(--border-subtle)}.info-item:last-of-type{border-bottom:none}.info-label{font-size:.875rem;color:var(--text-muted)}.info-value{font-weight:500;color:var(--text-primary)}.btn-edit-profile{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1rem;padding:.75rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-edit-profile:hover{background:var(--bg-hover)}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-cancel{flex:1;padding:.75rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9375rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{border-color:var(--border-color);color:var(--text-primary)}.btn-save{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:none;border-radius:var(--radius-md);color:#000;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save:hover{opacity:.9}@media(max-width:1024px){.alumno-main{padding:1.5rem}.quick-stats{grid-template-columns:repeat(2,1fr)}.tech-areas-detailed{grid-template-columns:1fr}}@media(max-width:900px){.alumno-sidebar{transform:translate(-100%)}.alumno-sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.alumno-main{margin-left:0}.mobile-header{display:flex}}@media(max-width:640px){.alumno-main{padding:1rem}.welcome-hero{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem}.hero-left{flex-direction:column;text-align:center}.hero-badges{justify-content:center}.hero-right{display:flex;justify-content:center}.quick-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:.875rem}.stat-icon{width:36px;height:36px}.stat-content .stat-value{font-size:1.125rem}.areas-grid{grid-template-columns:1fr}.tech-overview{flex-direction:column}.perfil-stats{grid-template-columns:1fr}.perfil-stat{border-right:none;border-bottom:1px solid var(--border-subtle);padding:1rem}.perfil-stat:last-child{border-bottom:none}.form-actions{flex-direction:column}}.owner-dashboard{max-width:1400px;margin:0 auto;padding:1.5rem}.owner-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:1rem;color:#71717a}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.dashboard-header h1{font-size:1.75rem;font-weight:600;color:#fff;margin:0}.header-filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-tabs{display:flex;background:#1a1a1a;border-radius:.5rem;padding:.25rem;border:1px solid #333}.filter-tabs .tab{padding:.5rem 1rem;background:none;border:none;border-radius:.375rem;color:#71717a;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-tabs .tab:hover{color:#a1a1aa}.filter-tabs .tab.active{background:#d4af37;color:#000}.filter-dropdowns{display:flex;gap:.5rem}.filter-dropdown{position:relative;display:flex;align-items:center;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;padding:0 .75rem;transition:all .2s ease}.filter-dropdown:hover{border-color:#444}.filter-dropdown:focus-within{border-color:#d4af37}.filter-dropdown svg:first-child{color:#71717a;flex-shrink:0}.filter-dropdown svg:last-child{color:#71717a;flex-shrink:0;pointer-events:none}.filter-dropdown select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:#fff;font-size:.875rem;padding:.625rem .25rem .625rem .5rem;cursor:pointer;min-width:80px}.filter-dropdown select:focus{outline:none}.filter-dropdown select option{background:#1a1a1a;color:#fff}.filter-select{padding:.625rem 2rem .625rem .875rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;color:#fff;font-size:.875rem;cursor:pointer;min-width:100px;transition:all .2s ease}.filter-select:hover{border-color:#444}.filter-select:focus{outline:none;border-color:#d4af37}.filter-select option{background:#1a1a1a;color:#fff}.insights-section{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.insight-card{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1a1a1a;border:1px solid #333;border-radius:.75rem;flex:1;min-width:200px;transition:all .2s ease}.insight-card.clickable{cursor:pointer}.insight-card.clickable:hover{border-color:#444;transform:translateY(-1px)}.insight-card.alert{background:#ef444414;border-color:#ef444440}.insight-card.alert .insight-icon{color:#ef4444}.insight-card.success{background:#22c55e14;border-color:#22c55e40}.insight-card.success .insight-icon{color:#22c55e}.insight-card.info{background:#3b82f614;border-color:#3b82f640}.insight-card.info .insight-icon{color:#3b82f6}.insight-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.insight-message{flex:1;font-size:.875rem;color:#a1a1aa}.insight-card svg:last-child{color:#52525b;flex-shrink:0}.dashboard-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #262626}.dashboard-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;color:#71717a;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard-tab:hover{border-color:#444;color:#a1a1aa}.dashboard-tab.active{background:#d4af371a;border-color:#d4af37;color:#d4af37}.dashboard-tab svg{width:18px;height:18px}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem}.kpi-card{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:all .2s ease}.kpi-card:hover{border-color:#444}.kpi-card.primary{background:linear-gradient(135deg,#d4af371a,#d4af3705);border-color:#d4af374d}.kpi-icon{width:40px;height:40px;background:#262626;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#71717a;flex-shrink:0}.kpi-card.primary .kpi-icon{background:#d4af3726;color:#d4af37}.kpi-content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.kpi-value{font-size:1.5rem;font-weight:600;color:#fff;line-height:1.2}.kpi-value.accent{color:#22c55e}.kpi-label{font-size:.8125rem;color:#71717a}.kpi-sublabel{font-size:.75rem;color:#52525b}.kpi-trend{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:.25rem;margin-top:.25rem;width:fit-content}.kpi-trend.up{background:#22c55e26;color:#22c55e}.kpi-trend.down{background:#ef444426;color:#ef4444}.income-breakdown{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem}.income-breakdown h3{font-size:.9375rem;font-weight:600;color:#fff;margin:0 0 1rem}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.breakdown-card{padding:1rem;background:#0d0d0d;border-radius:.5rem}.breakdown-card .breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.breakdown-label{font-size:.8125rem;font-weight:500;color:#a1a1aa}.breakdown-count{font-size:.75rem;color:#71717a}.breakdown-amount{font-size:1.25rem;font-weight:600;color:#fff;display:block;margin-bottom:.75rem}.breakdown-bar{height:6px;background:#262626;border-radius:3px;overflow:hidden}.breakdown-fill{height:100%;border-radius:3px;transition:width .5s ease}.breakdown-fill.cuotas{background:linear-gradient(90deg,#22c55e,#16a34a)}.breakdown-fill.indumentaria{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.breakdown-fill.otros{background:linear-gradient(90deg,#f59e0b,#d97706)}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.charts-grid.secondary{margin-bottom:0}.chart-card{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;padding:1.25rem;transition:all .2s ease}.chart-card:hover{border-color:#444}.chart-card.chart-wide{grid-column:span 2}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chart-header h3{font-size:.9375rem;font-weight:600;color:#fff;margin:0}.chart-total{font-size:.875rem;font-weight:600;color:#d4af37}.chart-total.positive{color:#22c55e}.chart-total.negative{color:#ef4444}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#27272a}.recharts-legend-item-text{color:#a1a1aa!important;font-size:.8125rem!important}.recharts-tooltip-wrapper{outline:none}.faixas-card .faixas-content{display:flex;flex-direction:column;gap:.75rem}.egresos-section{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;padding:1.5rem}.egresos-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.egresos-header h2{font-size:1.125rem;font-weight:600;color:#fff;margin:0 0 .25rem}.egresos-total{font-size:.875rem;color:#71717a;margin:0}.expenses-list{display:flex;flex-direction:column;gap:.75rem}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#0d0d0d;border-radius:.5rem;transition:all .2s ease}.expense-item:hover{background:#151515}.expense-info{display:flex;flex-direction:column;gap:.25rem}.expense-concept{font-size:.9375rem;font-weight:500;color:#fff}.expense-category{font-size:.75rem;color:#71717a;text-transform:capitalize}.expense-right{display:flex;align-items:center;gap:1rem}.expense-amount{font-size:1rem;font-weight:600;color:#ef4444}.btn-icon-danger{padding:.5rem;background:none;border:none;color:#71717a;cursor:pointer;border-radius:.375rem;transition:all .2s ease}.btn-icon-danger:hover{background:#ef444426;color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#52525b;gap:1rem}.empty-state svg{width:48px;height:48px;opacity:.5}.empty-state p{margin:0;font-size:.9375rem}.rentabilidad-section{display:flex;flex-direction:column;gap:1.5rem}.rentabilidad-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.rentabilidad-card{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;padding:1.5rem;text-align:center}.rentabilidad-card.resultado.positive{background:#22c55e14;border-color:#22c55e40}.rentabilidad-card.resultado.negative{background:#ef444414;border-color:#ef444440}.rentabilidad-label{font-size:.8125rem;color:#71717a;display:block;margin-bottom:.5rem}.rentabilidad-value{font-size:1.5rem;font-weight:600;color:#fff}.rentabilidad-value.positive{color:#22c55e}.rentabilidad-value.negative{color:#ef4444}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;width:100%;max-width:400px;max-height:90vh;overflow:hidden;animation:modalSlide .2s ease}@keyframes modalSlide{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.modal-close{padding:.5rem;background:none;border:none;color:#71717a;cursor:pointer;border-radius:.375rem;transition:all .2s ease}.modal-close:hover{background:#262626;color:#fff}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group label{font-size:.8125rem;font-weight:500;color:#a1a1aa}.form-group input,.form-group select{padding:.75rem 1rem;background:#0d0d0d;border:1px solid #333;border-radius:.5rem;color:#fff;font-size:.9375rem;transition:all .2s ease}.form-group input::placeholder{color:#52525b}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#d4af37;border:none;border-radius:.5rem;color:#000;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#e5c349;box-shadow:0 0 20px #d4af374d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:.75rem 1.25rem;background:none;border:1px solid #333;border-radius:.5rem;color:#a1a1aa;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-ghost:hover{border-color:#444;color:#fff}.btn-ghost-gold{padding:.75rem 1.25rem;background:none;border:1px solid #D4AF37;border-radius:.5rem;color:#d4af37;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-ghost-gold:hover{background:#d4af371a}@media(max-width:1200px){.kpi-grid,.rentabilidad-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.chart-card.chart-wide{grid-column:span 1}.rentabilidad-summary{grid-template-columns:1fr}}@media(max-width:600px){.owner-dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-header h1{font-size:1.5rem}.header-filters{width:100%;flex-wrap:wrap}.filter-tabs{width:100%;justify-content:center}.filter-dropdowns{width:100%}.filter-dropdown{flex:1}.dashboard-tabs{flex-wrap:wrap}.dashboard-tab{flex:1;justify-content:center}.kpi-grid{grid-template-columns:1fr}.insights-section{flex-direction:column}.insight-card{min-width:100%}.breakdown-grid{grid-template-columns:1fr}.egresos-header{flex-direction:column;gap:1rem}.egresos-header .btn-primary{width:100%;justify-content:center}}.editar-perfil{max-width:700px;margin:0 auto}.editar-perfil-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.perfil-header{margin-bottom:1.5rem}.perfil-header h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.perfil-header p{color:var(--text-tertiary);font-size:.9375rem;margin:0}.message{padding:1rem;border-radius:var(--radius-md);font-size:.9375rem;display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.message.success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.message.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.perfil-form{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:2rem}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-subtle)}.avatar-wrapper{position:relative;width:120px;height:120px;border-radius:50%;cursor:pointer;overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d4af37,#b8972e)}.avatar-placeholder svg{width:48px;height:48px;color:#000}.avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:#000000b3;opacity:0;transition:opacity .3s ease}.avatar-overlay svg{color:#fff}.avatar-overlay span{font-size:.75rem;color:#fff}.avatar-wrapper:hover .avatar-overlay{opacity:1}.avatar-hint{font-size:.8125rem;color:var(--text-muted);margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.form-group input,.form-group select{padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.9375rem;background:var(--bg-elevated);color:#fff;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a}.form-group select{cursor:pointer}.form-actions{display:flex;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.btn-save{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover:not(:disabled){background:#e5c349;box-shadow:0 4px 16px #d4af374d}.btn-save:disabled{opacity:.7;cursor:not-allowed}@media(max-width:600px){.perfil-form{padding:1.5rem}.form-grid{grid-template-columns:1fr}.btn-save{width:100%}}.crop-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.crop-modal{background:var(--bg-card);border-radius:var(--radius-lg);width:450px;max-width:95vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.crop-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.crop-modal-header h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.crop-modal-header .btn-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem}.crop-container{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.crop-preview{position:relative;width:250px;height:250px;margin:0 auto;border-radius:50%;overflow:hidden;background:var(--bg-elevated)}.crop-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .1s ease}.crop-image-wrapper img{width:100%;height:100%;object-fit:cover}.crop-circle-mask{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #D4AF37;border-radius:50%;pointer-events:none;box-shadow:0 0 0 9999px #00000080}.crop-controls{display:flex;flex-direction:column;gap:.75rem}.crop-controls label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.crop-controls input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--bg-elevated);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.crop-controls input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#d4af37;cursor:pointer}.crop-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border-subtle)}.crop-modal-footer .btn-cancel{padding:.625rem 1.25rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;cursor:pointer}.crop-modal-footer .btn-confirm{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#d4af37;border:none;border-radius:var(--radius-md);color:#000;font-size:.875rem;font-weight:600;cursor:pointer}.crop-modal-footer .btn-confirm:hover{background:#c9a432}.gestion-alumnos{padding:1.5rem;max-width:1200px;margin:0 auto}.alumnos-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:1rem;color:#71717a}.loading-spinner{width:40px;height:40px;border:3px solid #27272a;border-top-color:#d4af37;border-radius:50%;animation:spin 1s linear infinite}.alumnos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem}.header-left{display:flex;align-items:baseline;gap:.75rem}.header-left h1{font-size:1.5rem;font-weight:600;color:#fff;margin:0}.header-count{font-size:.875rem;color:#71717a}.header-stats{display:flex;gap:.5rem}.stat-pill{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:2rem;font-size:.8125rem;border:1px solid transparent;cursor:pointer;transition:all .2s ease;background:none}.stat-pill.healthy{background:#22c55e1a;color:#22c55e;border-color:#22c55e33}.stat-pill.healthy:hover,.stat-pill.healthy.active{background:#22c55e33;border-color:#22c55e}.stat-pill.warning{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b33}.stat-pill.warning:hover,.stat-pill.warning.active{background:#f59e0b33;border-color:#f59e0b}.stat-pill.danger{background:#ef44441a;color:#ef4444;border-color:#ef444433}.stat-pill.danger:hover,.stat-pill.danger.active{background:#ef444433;border-color:#ef4444}.stat-pill svg{flex-shrink:0}.stat-value{font-weight:700}.stat-label{opacity:.8}.alumnos-message{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.875rem}.alumnos-message.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.25);color:#22c55e}.alumnos-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#ef4444}.alumnos-message button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;opacity:.7}.alumnos-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-container{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;transition:all .2s ease}.search-container:focus-within{border-color:#d4af37}.search-container svg{color:#71717a;flex-shrink:0}.search-container input{flex:1;background:none;border:none;outline:none;font-size:.9375rem;color:#fff}.search-container input::placeholder{color:#52525b}.clear-search{background:none;border:none;cursor:pointer;color:#71717a;padding:.25rem;display:flex}.clear-search:hover{color:#fff}.filters-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}.filter-select-wrapper{display:flex;flex-direction:column;gap:.25rem;min-width:160px}.filter-select-wrapper label{font-size:.6875rem;font-weight:600;color:#71717a;text-transform:uppercase;letter-spacing:.05em}.filter-select-wrapper select{padding:.5rem 2rem .5rem .75rem;background:#1a1a1a;border:1px solid #333;border-radius:.375rem;color:#fff;font-size:.8125rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:all .2s ease}.filter-select-wrapper select:hover{border-color:#444}.filter-select-wrapper select:focus{outline:none;border-color:#d4af37}.filter-select-wrapper select.active{border-color:#d4af37;background-color:#d4af370d}.btn-clear-filters{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;border:1px solid #333;border-radius:.375rem;color:#71717a;font-size:.8125rem;cursor:pointer;transition:all .2s ease}.btn-clear-filters:hover{border-color:#ef4444;color:#ef4444}.alumnos-list{display:flex;flex-direction:column;gap:.5rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#1a1a1a;border:1px solid #333;border-radius:.75rem;text-align:center}.empty-state svg{color:#52525b;margin-bottom:1rem}.empty-state h3{font-size:1rem;color:#fff;margin:0 0 .25rem}.empty-state p{font-size:.875rem;color:#71717a;margin:0}.alumno-card{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;cursor:pointer;transition:all .15s ease}.alumno-card:hover{border-color:#444;background:#1f1f1f}.alumno-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.alumno-avatar span{font-size:.875rem;font-weight:600}.alumno-info{flex:1;min-width:0}.alumno-name{display:flex;align-items:center;gap:.5rem;font-weight:500;color:#fff;font-size:.9375rem}.becado-badge{display:flex;align-items:center;justify-content:center;color:#d4af37}.alumno-email{font-size:.8125rem;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alumno-faixa{flex-shrink:0;width:100px}.faixa-block{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:.375rem;border:1px solid;min-height:36px}.faixa-text{font-size:.8125rem;font-weight:600;white-space:nowrap}.alumno-sedes{display:flex;flex-wrap:wrap;gap:.25rem;width:140px;flex-shrink:0}.sede-pill{display:inline-flex;padding:.25rem .5rem;background:#262626;border-radius:1rem;font-size:.6875rem;color:#a1a1aa;white-space:nowrap}.sede-pill.empty{background:transparent;border:1px dashed #444;color:#52525b}.sede-pill.more{background:#333;color:#71717a}.alumno-payment{flex-shrink:0;width:110px}.payment-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:600}.payment-badge svg{flex-shrink:0}.payment-badge.al-dia{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.payment-badge.por-vencer{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.payment-badge.vencido{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.alumno-action{flex-shrink:0;color:#52525b;transition:color .15s ease}.alumno-card:hover .alumno-action{color:#d4af37}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;width:500px;max-width:95vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content.modal-large{width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #333}.btn-close{background:none;border:none;color:#71717a;cursor:pointer;padding:.25rem;display:flex;border-radius:.25rem;transition:all .2s ease}.btn-close:hover{background:#262626;color:#fff}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-photo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #333}.modal-photo{width:80px;height:80px;border-radius:50%;overflow:hidden;background:#262626;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.modal-photo img{width:100%;height:100%;object-fit:cover}.modal-photo svg{color:#52525b;width:40px;height:40px}.modal-student-name{font-size:1.125rem;font-weight:600;color:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem}.form-group label{font-size:.75rem;font-weight:500;color:#71717a}.form-group input,.form-group select{padding:.625rem .875rem;background:#0d0d0d;border:1px solid #333;border-radius:.375rem;color:#fff;font-size:.875rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#d4af37}.readonly-field{padding:.625rem .875rem;background:#0d0d0d;border:1px solid #262626;border-radius:.375rem;color:#52525b;font-size:.875rem}.becado-section{background:#d4af3714;border:1px solid rgba(212,175,55,.2);border-radius:.5rem;padding:1rem;margin-bottom:1.25rem}.becado-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;font-weight:500;color:#fff;margin-bottom:.375rem}.becado-label svg{color:#d4af37}.becado-section small{display:block;font-size:.75rem;color:#71717a;margin-left:1.875rem}.custom-checkbox{width:18px;height:18px;border:2px solid #444;border-radius:4px;display:flex;align-items:center;justify-content:center;background:transparent;transition:all .2s ease;flex-shrink:0}.custom-checkbox.checked{background:#d4af37;border-color:#d4af37}.custom-checkbox svg{color:#000}.sedes-section{margin-bottom:.5rem}.sedes-section>label{display:block;font-size:.75rem;font-weight:500;color:#71717a;margin-bottom:.625rem}.sedes-checkbox-list{display:flex;flex-wrap:wrap;gap:.5rem}.sede-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#0d0d0d;border:1px solid #333;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.sede-checkbox:hover{border-color:#444}.sede-checkbox span{font-size:.8125rem;color:#a1a1aa}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid #333}.btn-cancel{padding:.625rem 1.25rem;background:transparent;border:1px solid #333;border-radius:.375rem;color:#a1a1aa;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{border-color:#444;color:#fff}.btn-save{padding:.625rem 1.25rem;background:#d4af37;border:none;border-radius:.375rem;color:#000;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}@media(max-width:900px){.alumnos-header{flex-direction:column;align-items:flex-start}.header-stats{width:100%;justify-content:space-between}.stat-pill{flex:1;justify-content:center}.stat-label{display:none}.alumno-card{flex-wrap:wrap;gap:.75rem}.alumno-info{flex:1;min-width:calc(100% - 60px);order:1}.alumno-avatar{order:0}.alumno-faixa{width:auto;order:2}.alumno-sedes{width:auto;flex:1;order:3}.alumno-payment{width:auto;order:4}.alumno-action{order:5}.form-grid{grid-template-columns:1fr}}@media(max-width:600px){.gestion-alumnos{padding:1rem}.header-left h1{font-size:1.25rem}.filters-row{flex-direction:column}.filter-select-wrapper{width:100%}.alumno-sedes{display:none}.alumno-faixa{width:80px}.faixa-block{padding:.375rem .5rem}.faixa-text{font-size:.75rem}.payment-badge{padding:.25rem .5rem;font-size:.6875rem}}.gestion-profesores{padding:1.5rem;max-width:1200px;margin:0 auto}.profesores-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-muted)}.profesores-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-count{font-size:.875rem;color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--bg-card);border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);text-align:center}.empty-state svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:1rem}.empty-state p{font-size:1rem;color:var(--text-primary);margin:0 0 .5rem}.empty-state span{font-size:.875rem;color:var(--text-muted)}.profesores-list{display:flex;flex-direction:column;gap:1rem}.profesor-card{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all .3s ease}.profesor-card:hover{border-color:#d4af374d}.profesor-header{display:flex;align-items:center;gap:1rem;flex:1}.profesor-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#c9a430);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.profesor-avatar img{width:100%;height:100%;object-fit:cover}.profesor-avatar span{font-size:1.25rem;font-weight:600;color:#000}.profesor-info{display:flex;flex-direction:column}.profesor-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.profesor-email{font-size:.8125rem;color:var(--text-muted)}.profesor-metrics{display:flex;gap:2rem}.metric{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:80px}.metric svg{color:#d4af37;margin-bottom:.25rem}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.metric-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}@media(max-width:768px){.profesor-card{flex-direction:column;align-items:stretch;gap:1rem}.profesor-metrics{justify-content:space-around;padding-top:1rem;border-top:1px solid var(--border-subtle)}}.gestion-staff{padding:1.5rem;max-width:1200px;margin:0 auto}.staff-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-muted)}.staff-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}.staff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.btn-add-staff{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#d4af37,#c9a430);border:none;border-radius:var(--radius-md);color:#000;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add-staff:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.staff-message{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.staff-message.success{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.staff-message.error{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.staff-message button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.staff-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease}.staff-card:hover{border-color:var(--border-color)}.staff-card.inactive{opacity:.6}.staff-card-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border-subtle)}.staff-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#c9a430);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.staff-avatar img{width:100%;height:100%;object-fit:cover}.staff-avatar span{font-size:1rem;font-weight:600;color:#000}.staff-info{flex:1;min-width:0}.staff-name{display:block;font-size:.9375rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-email{display:block;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-badge{padding:.25rem .625rem;border-radius:100px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.staff-card-body{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sedes-info{display:flex;align-items:center;gap:.375rem;font-size:.8125rem}.sedes-info .label{color:var(--text-muted)}.sedes-info .global{color:#22c55e}.inactive-tag{font-size:.6875rem;padding:.125rem .5rem;background:#ef444426;color:#ef4444;border-radius:100px}.card-actions{display:flex;gap:12px;margin-top:20px;padding-top:15px;border-top:1px solid #27272a}.btn-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;width:fit-content;min-width:90px;height:36px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.btn-action.primary{background-color:#d4af37;color:#000}.btn-action.primary:hover{background-color:#e5c349;transform:translateY(-1px)}.btn-action.danger{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.btn-action.danger:hover{background-color:#ef4444;color:#fff}.staff-card{background:#18181b;border:1px solid #27272a;border-radius:12px;padding:20px;display:flex;flex-direction:column;min-width:300px}.modal-content{width:100%;max-width:600px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}.form-group{display:flex;flex-direction:row;gap:.5rem}.form-group>label{font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.form-hint{font-size:.75rem;color:var(--text-muted);margin:0}.search-wrapper{position:relative;width:350px}.search-input{display:flex;align-items:center;gap:.5rem;padding:0 .875rem;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-md)}.search-input svg{color:var(--text-muted);flex-shrink:0}.search-input input{flex:1;padding:.75rem 0;color:var(--text-primary);font-size:.875rem}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;z-index:100;max-height:280px;overflow-y:auto}.search-dropdown button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:none;border:none;border-bottom:1px solid var(--border-subtle);text-align:left;cursor:pointer;transition:background .15s ease}.search-dropdown button:last-child{border-bottom:none}.search-dropdown button:hover{background:var(--bg-hover)}.result-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.result-avatar img{width:100%;height:100%;object-fit:cover}.result-avatar span{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.result-info{flex:1;min-width:0}.result-name{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary)}.result-email{display:block;font-size:.75rem;color:var(--text-muted)}.no-results{padding:1rem;text-align:center;color:var(--text-muted);font-size:.875rem}.selected-user{display:flex;align-items:left;gap:.75rem;width:300px;padding:.875rem;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-md)}.selected-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#c9a430);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.selected-avatar img{width:100%;height:100%;object-fit:cover}.selected-avatar span{font-size:1rem;font-weight:600;color:#000}.selected-info{flex:1;min-width:0}.selected-name{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary)}.selected-email{display:block;font-size:.75rem;color:var(--text-muted)}.selected-uid{display:block;font-size:.625rem;color:var(--text-muted);font-family:monospace;margin-top:.125rem}.btn-clear{padding:.25rem;background:none;border:none;color:var(--text-muted);cursor:pointer}.btn-clear:hover{color:var(--text-primary)}.role-selector{display:flex;gap:.75rem}.role-option{flex:1;display:flex;flex-direction:column;padding:.875rem;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:left}.role-option:hover{border-color:var(--border-color)}.role-option.selected{border-color:var(--role-color);background:color-mix(in srgb,var(--role-color) 10%,transparent)}.role-header{display:flex;justify-content:space-between;align-items:center}.role-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.role-option.selected .role-label{color:var(--role-color)}.role-option.selected svg{color:var(--role-color)}.role-desc{font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.access-section{border-top:1px solid var(--border-subtle);padding-top:1rem;margin-top:.5rem}.access-section .checkbox-option{padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:.5rem}.access-section .checkbox-option:last-child{margin-bottom:0}.checkbox-option{display:flex;align-items:center;gap:1 rem;cursor:pointer;font-size:.875rem;color:var(--text-primary)}.checkbox-option input[type=checkbox]{width:18px;height:18px;align-items:center;margin:10px;accent-color:#D4AF37;cursor:pointer}.sedes-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.sede-chip{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.sede-chip:hover{border-color:var(--border-color)}.sede-chip.selected{background:#22c55e26;border-color:#22c55e;color:#22c55e}.sede-chip svg{width:14px;height:14px}@media(max-width:640px){.gestion-staff{padding:1rem}.staff-header{flex-direction:column;align-items:stretch}.btn-add-staff{justify-content:center}.staff-grid{grid-template-columns:1fr}}.gestion-clases{max-width:1200px;margin:0 auto}.clases-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.clases-loading p{color:var(--text-muted)}.clases-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-left h1{font-size:1.5rem;font-weight:600;margin:0 0 .25rem;color:#fff}.header-left p{color:var(--text-muted);font-size:.875rem;margin:0}.header-actions{display:flex;gap:.75rem;align-items:center}.view-toggle{display:flex;background:var(--bg-card);border-radius:var(--radius-md);padding:.25rem;border:1px solid var(--border-subtle)}.view-toggle button{padding:.5rem .875rem;background:transparent;border:none;color:var(--text-muted);font-size:.8125rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.375rem}.view-toggle button:hover{color:var(--text-secondary)}.view-toggle button.active{background:#d4af37;color:#000;font-weight:500}.btn-add{padding:.625rem 1.25rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem}.btn-add:hover{background:#e5c349;transform:translateY(-1px)}.sede-filter{padding:.5rem 2rem .5rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;font-size:.8125rem;cursor:pointer;min-width:160px}.sede-filter:focus{outline:none;border-color:#d4af37}.grillas-container{display:flex;flex-direction:column;gap:2rem}.sede-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.sede-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.sede-info{display:flex;align-items:center;gap:.75rem}.sede-info svg{color:#d4af37}.sede-info h2{font-size:1rem;font-weight:600;color:#fff;margin:0}.sede-count{background:var(--bg-card);color:var(--text-muted);padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:500}.grilla-semanal{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-subtle)}.dia-column{background:var(--bg-card);min-height:200px}.dia-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.dia-nombre{font-size:.75rem;font-weight:600;color:#d4af37;text-transform:uppercase;letter-spacing:.03em}.dia-count{background:#d4af3726;color:#d4af37;padding:.125rem .5rem;border-radius:100px;font-size:.625rem;font-weight:600}.dia-clases{padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.clase-card-mini{background:var(--bg-elevated);border-radius:var(--radius-md);padding:.75rem;border-left:2px solid;cursor:pointer;transition:all .3s ease;position:relative}.clase-card-mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:2px 0 0 2px;opacity:0;transition:opacity .3s ease}.clase-card-mini:hover{transform:translate(4px);background:var(--bg-hover)}.clase-card-mini:hover:before{opacity:.4;box-shadow:0 0 12px currentColor}.clase-horario{font-size:.75rem;color:var(--text-primary);font-weight:500;margin-bottom:.25rem}.clase-card-mini .clase-nombre{font-size:.8125rem;font-weight:600;color:#fff;margin-bottom:.25rem;line-height:1.3}.clase-nivel{font-size:.6875rem;color:var(--text-secondary);margin-bottom:.375rem;background:var(--bg-elevated);padding:.125rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);display:inline-block}.clase-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.clase-tipo{font-size:.625rem;font-weight:600;padding:.1875rem .5rem;border-radius:100px;color:#fff;text-transform:uppercase;letter-spacing:.02em}.clase-profesor{font-size:.6875rem;color:var(--text-secondary)}.no-clases{text-align:center;padding:1rem .5rem;color:var(--text-muted);font-size:.75rem;opacity:.5}.lista-clases{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.clases-table{width:100%}.table-header{display:grid;grid-template-columns:1.8fr 1fr .9fr .7fr 1fr 1fr .8fr .7fr;gap:.75rem;padding:.875rem 1.25rem;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#d4af37}.table-row{display:grid;grid-template-columns:1.8fr 1fr .9fr .7fr 1fr 1fr .8fr .7fr;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle);align-items:center;transition:background var(--transition-fast)}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--bg-hover)}.table-row.inactive{opacity:.5}.cell-nombre .nombre{font-weight:600;color:#fff;display:block;margin-bottom:.25rem}.cell-nombre .nivel-badge{font-size:.625rem;background:var(--bg-elevated);color:var(--text-muted);padding:.125rem .5rem;border-radius:100px}.cell-dias{font-size:.8125rem;color:var(--text-secondary)}.cell-horario{font-size:.8125rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.cell-tipo .tipo-badge{display:inline-block;font-size:.6875rem;font-weight:600;padding:.25rem .625rem;border-radius:100px;color:#fff;text-transform:uppercase}.cell-profesor,.cell-sede{font-size:.8125rem;color:var(--text-secondary)}.cell-sede .no-sede{color:var(--text-muted);font-style:italic}.cell-estado .toggle-btn{padding:.375rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-muted);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast)}.cell-estado .toggle-btn.active{background:#22c55e26;border-color:#22c55e;color:#22c55e}.cell-acciones{display:flex;gap:.5rem}.cell-acciones .btn-edit,.cell-acciones .btn-delete{width:32px;height:32px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all var(--transition-fast)}.cell-acciones .btn-edit:hover{border-color:#d4af37;background:#d4af371a}.cell-acciones .btn-delete:hover{border-color:#ef4444;background:#ef44441a}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state span{font-size:3rem;display:block;margin-bottom:1rem}.empty-state h3{font-size:1.125rem;color:#fff;margin:0 0 .5rem}.empty-state p{margin:0 0 1.5rem;font-size:.875rem}.empty-state button{padding:.75rem 1.5rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-subtle);animation:slideUp .2s ease-out}.modal-header h2{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.25rem;line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:#fff}.clase-form{padding:1.5rem}.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;font-size:.875rem;transition:all var(--transition-fast)}.form-group textarea{resize:vertical;min-height:80px}.dias-selector{display:flex;flex-wrap:wrap;gap:.5rem}.dia-btn{padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s ease}.dia-btn:hover{border-color:#d4af37;color:#d4af37}.dia-btn.selected{background:#d4af37;color:#000;border-color:#d4af37;font-weight:600}.tipo-selector{display:flex;gap:.5rem}.tipo-btn{flex:1;padding:.625rem;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;text-align:center;transition:all .3s ease}.tipo-btn:hover{border-color:var(--text-muted)}.tipo-btn.selected{font-weight:600;color:#fff}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;text-transform:none;font-size:.875rem;color:var(--text-secondary)}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#D4AF37}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.btn-save{padding:.75rem 1.5rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-save:hover{background:#e5c349}@media(max-width:1200px){.grilla-semanal{grid-template-columns:repeat(7,1fr)}.dia-nombre{font-size:.6875rem}}@media(max-width:1024px){.grilla-semanal{grid-template-columns:repeat(4,1fr)}.header-actions{flex-wrap:wrap}}@media(max-width:768px){.grilla-semanal{grid-template-columns:repeat(2,1fr)}.dia-column{min-height:auto}.clases-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:space-between;gap:.5rem}.sede-filter{flex:1}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.grilla-semanal{grid-template-columns:1fr}.view-toggle{display:none}}.gestion-sedes{padding:1.5rem;max-width:1200px;margin:0 auto}.sedes-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-muted)}.sedes-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}.sedes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.header-title{display:flex;align-items:center;gap:.75rem}.header-title svg{color:#d4af37}.header-title h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.header-actions{display:flex;gap:.75rem}.btn-secondary{padding:.625rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:var(--border-color);color:var(--text-primary)}.btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#d4af37,#c9a430);border:none;border-radius:var(--radius-md);color:#000;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.sedes-message{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.sedes-message.success{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.sedes-message.error{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.sedes-message button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.multisede-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1rem 1.25rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);margin-bottom:1.5rem}.multisede-info p{margin:0;font-size:.875rem;color:var(--text-secondary)}.multisede-info strong{color:#3b82f6}.btn-activate-multisede{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f6;border:none;border-radius:var(--radius-md);color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-activate-multisede:hover{background:#2563eb}.btn-activate-multisede svg{width:16px;height:16px}.sedes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);gap:1rem}.empty-state svg{width:48px;height:48px;color:var(--text-muted)}.empty-state p{color:var(--text-muted);margin:0}.empty-state button{padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer}.sede-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease}.sede-card:hover{border-color:var(--border-color)}.sede-card.inactive{opacity:.6}.sede-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;border-bottom:1px solid var(--border-subtle)}.sede-info h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.sede-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.principal-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;color:#d4af37;background:#d4af3726;padding:.125rem .5rem;border-radius:100px}.principal-badge svg{width:10px;height:10px}.sede-direccion{font-size:.8125rem;color:var(--text-muted);margin:.25rem 0 0}.sede-telefono{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0}.inactive-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:.125rem .5rem;background:#ef444426;color:#ef4444;border-radius:100px}.sede-pricing{padding:1rem}.sede-pricing h4{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 .625rem}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.pricing-item{display:flex;flex-direction:column;padding:.5rem;background:var(--bg-elevated);border-radius:var(--radius-sm)}.pricing-label{font-size:.6875rem;color:var(--text-muted)}.pricing-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.sede-card-actions{display:flex;gap:.25rem;padding:.5rem 1rem 1rem}.btn-icon{padding:.5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.btn-icon.danger:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease}.modal-content{width:100%;max-width:480px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}.modal-content.modal-lg{max-width:560px}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.btn-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem}.btn-close:hover{color:var(--text-primary)}.modal-body{padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.modal-description{font-size:.875rem;color:var(--text-muted);margin:0}.form-section{display:flex;flex-direction:column;gap:.875rem}.form-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#d4af37;margin:0}.form-row.checkboxes{display:flex;gap:1.5rem;flex-wrap:wrap}.form-group label{font-size:.75rem;font-weight:500;color:var(--text-muted)}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=number]{padding:.625rem .875rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#d4af37}.input-currency{display:flex;align-items:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.input-currency span{color:var(--text-muted);font-size:1rem;margin-right:200px;padding-right:25px}.input-currency input{flex:1;padding:.625rem .75rem;background:transparent;border:none;color:var(--text-primary);font-size:1rem;outline:none;margin-left:40px}.input-currency input::placeholder{color:var(--text-muted)}.pricing-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.875rem;color:var(--text-primary);padding:.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all .2s ease}.checkbox-label:hover{border-color:var(--border-color)}.checkbox-label input[type=checkbox]{display:none}.checkbox-visual{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);transition:all .2s ease;flex-shrink:0}.checkbox-label input[type=checkbox]:checked+.checkbox-visual{background:#d4af37;border-color:#d4af37}.checkbox-visual svg{width:14px;height:14px;color:#000;opacity:0;transform:scale(.5);transition:all .15s ease}.checkbox-label input[type=checkbox]:checked+.checkbox-visual svg{opacity:1;transform:scale(1)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border-subtle)}.btn-cancel{padding:.625rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;cursor:pointer}.btn-save{padding:.625rem 1.25rem;background:linear-gradient(135deg,#d4af37,#c9a430);border:none;border-radius:var(--radius-md);color:#000;font-size:.875rem;font-weight:600;cursor:pointer}@media(max-width:768px){.gestion-sedes{padding:1rem}.sedes-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.sedes-grid,.form-row,.pricing-form-grid{grid-template-columns:1fr}}:root{--bg-deep: #08080a;--bg-card: #101013;--bg-elevated: #1a1a1e;--bg-hover: #222228;--bg-input: #0c0c0e;--bg-primary: #08080a;--bg-secondary: #101013;--bg-tertiary: #1a1a1e;--bg-modal: rgba(18, 18, 20, .8);--border-subtle: rgba(255, 255, 255, .08);--border-color: rgba(255, 255, 255, .12);--border-gold: rgba(212, 175, 55, .4);--text-primary: #ffffff;--text-secondary: #b4b4bb;--text-tertiary: #8a8a93;--text-muted: #6b6b73;--success-color: #22c55e;--success-light: rgba(34, 197, 94, .15);--success-border: rgba(34, 197, 94, .3);--danger-color: #ef4444;--danger-light: rgba(239, 68, 68, .15);--danger-border: rgba(239, 68, 68, .3);--warning-color: #f59e0b;--warning-light: rgba(245, 158, 11, .15);--warning-border: rgba(245, 158, 11, .3);--info-color: #3b82f6;--info-light: rgba(59, 130, 246, .15);--info-border: rgba(59, 130, 246, .3);--gold: #D4AF37;--gold-light: #e5c654;--gold-dark: #b8962e;--gold-subtle: rgba(212, 175, 55, .1);--gold-rgb: 212, 175, 55;--brand-primary: var(--gold);--brand-primary-light: var(--gold-light);--brand-primary-dark: var(--gold-dark);--brand-primary-subtle: var(--gold-subtle);--brand-primary-rgb: var(--gold-rgb);--primary-color: var(--gold);--academia-primary: #D4AF37;--academia-primary-light: #e5c654;--academia-primary-subtle: rgba(212, 175, 55, .1);--academia-primary-rgb: 212, 175, 55;--header-height: 56px;--sidebar-width: 220px;--sidebar-collapsed: 64px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-card: 0 2px 8px rgba(0, 0, 0, .3);--shadow-glow-gold: 0 0 20px rgba(212, 175, 55, .3);--shadow-dropdown: 0 10px 30px rgba(0, 0, 0, .5);--font-title: "Orbitron", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .2s ease;--transition-normal: .3s ease;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;background-color:var(--bg-deep);color:var(--text-secondary);line-height:1.6;min-height:100vh;font-size:15px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:-1}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-body);color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h4{font-size:1rem}p{color:var(--text-secondary);font-weight:400}a{color:var(--brand-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--brand-primary-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:500;font-size:.875rem;cursor:pointer;transition:all var(--transition-normal);border:1px solid transparent;text-decoration:none}.btn-primary{background:var(--gold);color:#000;border-color:var(--gold);font-weight:600}.btn-primary:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-1px);box-shadow:var(--shadow-glow-gold)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-tertiary);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-ghost-gold{background:transparent;color:var(--gold);border:1px solid var(--border-gold)}.btn-ghost-gold:hover{background:var(--gold-subtle);border-color:var(--gold)}.btn-danger{background:var(--danger-light);color:var(--danger-color);border-color:transparent}.btn-danger:hover{background:#ef444440;transform:translateY(-1px)}.btn-success{background:var(--success-light);color:var(--success-color);border-color:transparent}.btn-success:hover{background:#22c55e40;transform:translateY(-1px)}.btn-warning{background:var(--warning-light);color:var(--warning-color);border-color:transparent}.btn-warning:hover{background:#f59e0b40;transform:translateY(-1px)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon--danger:hover{background:var(--danger-light);border-color:var(--danger-border);color:var(--danger-color)}.btn-icon--success:hover{background:var(--success-light);border-color:var(--success-border);color:var(--success-color)}.btn-icon--gold:hover{background:var(--gold-subtle);border-color:var(--border-gold);color:var(--gold)}.btn-icon--sm{width:28px;height:28px}.btn-icon--lg{width:44px;height:44px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card);transition:all var(--transition-normal)}.card:hover{border-color:var(--border-color)}.card--compact{padding:1rem}.card--elevated{background:var(--bg-elevated)}.card--clickable{cursor:pointer}.card--clickable:hover{background:var(--bg-elevated);transform:translateY(-2px);border-color:var(--gold)}.card--gold{background:linear-gradient(135deg,#d4af371a,#d4af3708);border-color:var(--border-gold)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-modal);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalSlideIn .3s ease}.modal-content--sm{max-width:400px}.modal-content--lg{max-width:600px}.modal-content--xl{max-width:800px}@keyframes modalSlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-size:1.125rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:1.5rem}input,select,textarea{font-family:var(--font-body);font-size:.9375rem;font-weight:400;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;width:100%;transition:all var(--transition-normal)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d4af3726}input::placeholder{color:var(--text-muted)}select{padding-right:2.75rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a93' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}select option{background:var(--bg-card);color:var(--text-primary);padding:.5rem}label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-tertiary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group label{margin-bottom:0}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-hint{font-weight:400;text-transform:none;letter-spacing:normal;font-size:.75rem;color:var(--text-muted)}.input-currency__symbol{position:absolute;left:1rem;color:var(--text-muted);font-weight:500;pointer-events:none}.input-currency input{padding-left:2rem}.search-box{position:relative;display:flex;align-items:center}.search-box__icon{position:absolute;left:1rem;color:var(--text-muted);pointer-events:none;display:flex;align-items:center;justify-content:center}.search-box__input{padding-left:2.75rem;padding-right:2.5rem}.search-box__clear{position:absolute;right:.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all var(--transition-fast);opacity:0;visibility:hidden}.search-box__clear--visible{opacity:1;visibility:visible}.search-box__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:.25rem;max-height:300px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-dropdown)}.search-dropdown__item{width:100%;padding:.875rem 1rem;background:none;border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.search-dropdown__item:last-child{border-bottom:none}.search-dropdown__item:hover{background:var(--bg-hover)}.message{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-radius:var(--radius-md);font-size:.875rem;gap:.75rem}.message--success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-border)}.message--error{background:var(--danger-light);color:var(--danger-color);border:1px solid var(--danger-border)}.message--warning{background:var(--warning-light);color:var(--warning-color);border:1px solid var(--warning-border)}.message--info{background:var(--info-light);color:var(--info-color);border:1px solid var(--info-border)}.message__content{flex:1;display:flex;align-items:center;gap:.5rem}.message__close{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity var(--transition-fast)}.message__close:hover{opacity:1}.alert{padding:1rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;display:flex;align-items:center;gap:.75rem}.alert-warning{background:var(--warning-light);color:var(--warning-color);border:1px solid var(--warning-border)}.alert-danger{background:var(--danger-light);color:var(--danger-color);border:1px solid var(--danger-border)}.alert-success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-border)}.alert-info{background:var(--info-light);color:var(--info-color);border:1px solid var(--info-border)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;white-space:nowrap}.status-badge--success{background:var(--success-light);color:var(--success-color);border:1px solid var(--success-border)}.status-badge--warning{background:var(--warning-light);color:var(--warning-color);border:1px solid var(--warning-border)}.status-badge--danger{background:var(--danger-light);color:var(--danger-color);border:1px solid var(--danger-border)}.status-badge--info{background:var(--info-light);color:var(--info-color);border:1px solid var(--info-border)}.status-badge--neutral{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color)}.status-badge--gold{background:var(--gold-subtle);color:var(--gold);border:1px solid var(--border-gold)}.badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:100px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}.badge-success{background:var(--success-light);color:var(--success-color)}.badge-warning{background:var(--warning-light);color:var(--warning-color)}.badge-danger{background:var(--danger-light);color:var(--danger-color)}.badge-info{background:var(--info-light);color:var(--info-color)}.badge-neutral{background:var(--bg-elevated);color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.spinner--sm{width:20px;height:20px;border-width:2px}.spinner--lg{width:56px;height:56px;border-width:4px}.spinner--white{border-color:#fff3;border-top-color:#fff}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner.small{width:20px;height:20px;border-width:2px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--text-muted)}.loading-state p{margin:0;font-size:.9375rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.empty-state__icon{width:64px;height:64px;color:var(--text-muted);margin-bottom:1rem;opacity:.5}.empty-state__title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.empty-state__text{font-size:.875rem;color:var(--text-muted);max-width:300px;line-height:1.5}.empty-state-icon{width:64px;height:64px;color:var(--text-muted);margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.empty-state-text{font-size:.875rem;color:var(--text-muted);max-width:300px}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tab:hover{border-color:var(--text-muted);color:var(--text-secondary)}.tab--active{background:var(--gold-subtle);border-color:var(--gold);color:var(--gold)}.tab-switcher{display:flex;gap:.25rem;padding:.25rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.tab-switcher__btn{flex:1;padding:.625rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.tab-switcher__btn:hover{color:var(--text-primary)}.tab-switcher__btn--active{background:var(--gold);color:#000}.pills-container{display:flex;flex-wrap:wrap;gap:.5rem}.pill{padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.pill:hover{background:var(--bg-hover);border-color:var(--border-color)}.pill--selected,.pill.selected{background:var(--gold-subtle);border-color:var(--gold);color:var(--gold)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:1rem;border-bottom:1px solid var(--border-subtle)}td{padding:1rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.9375rem}tr:hover td{background:var(--bg-hover)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast)}.dropdown--open .dropdown-menu,.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);border:none;background:none;width:100%;text-align:left}.dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.dropdown-item--danger:hover,.dropdown-item.danger:hover{background:var(--danger-light);color:var(--danger-color)}.dropdown-divider{height:1px;background:var(--border-subtle);margin:.5rem 0}.kpi-value{font-size:2.25rem;font-weight:600;color:var(--text-primary);line-height:1}.kpi-value--success{color:var(--success-color)}.kpi-value--danger{color:var(--danger-color)}.kpi-value--warning{color:var(--warning-color)}.kpi-value.success{color:var(--success-color)}.kpi-value.danger{color:var(--danger-color)}.kpi-value.warning{color:var(--warning-color)}.kpi-label{font-size:.8125rem;font-weight:400;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.avatar{width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar__initials,.avatar-initials{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.avatar--circle,.avatar-circle{border-radius:50%}.avatar--sm{width:32px;height:32px;font-size:.75rem}.avatar--lg{width:56px;height:56px;font-size:1.25rem}.avatar--xl{width:72px;height:72px;font-size:1.5rem}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-lg{width:56px;height:56px;font-size:1.25rem}.avatar-xl{width:72px;height:72px;font-size:1.5rem}.progress-bar{height:8px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden}.progress-bar--thick,.progress-bar.thick{height:12px}.progress-bar__fill,.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .5s ease}.progress-bar__fill--gold,.progress-bar-fill.gold{background:linear-gradient(90deg,var(--gold-dark),var(--gold))}.progress-bar__fill--success,.progress-bar-fill.success{background:linear-gradient(90deg,#16a34a,var(--success-color))}.progress-bar--glow,.progress-bar-glow{box-shadow:0 0 8px var(--gold)}.icon{width:20px;height:20px;stroke-width:1.5}.icon--sm{width:16px;height:16px}.icon--lg{width:24px;height:24px}.icon-sm{width:16px;height:16px}.icon-lg{width:24px;height:24px}.glow-gold{box-shadow:var(--shadow-glow-gold)}.glow-pulse{animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 10px #d4af374d}50%{box-shadow:0 0 20px #d4af3780}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.faixa-blanca,.faixa-blanco{background:#f4f4f5;color:#18181b}.faixa-gris{background:#71717a;color:#fff}.faixa-amarilla,.faixa-amarillo{background:#facc15;color:#18181b}.faixa-violeta,.faixa-morada,.faixa-purpura,.faixa-púrpura,.faixa-roxa{background:#8b5cf6;color:#fff}.faixa-marron,.faixa-marrón{background:#92400e;color:#fff}.faixa-negra,.faixa-negro{background:#18181b;color:#fff;border:1px solid var(--border-color)}.nivel-tag,.nivel-badge{display:inline-block;font-size:.6875rem;font-weight:500;padding:.1875rem .625rem;border-radius:100px;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-subtle)}.nivel-tag.principiante,.nivel-badge.principiante{background:#22c55e1a;border-color:#22c55e4d;color:#22c55e}.nivel-tag.intermedio,.nivel-badge.intermedio{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}.nivel-tag.avanzado,.nivel-badge.avanzado{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.nivel-tag.kids,.nivel-badge.kids{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}.nivel-tag.competicion,.nivel-badge.competicion{background:#8b5cf61a;border-color:#8b5cf64d;color:#8b5cf6}.text-success{color:var(--success-color)!important}.text-danger{color:var(--danger-color)!important}.text-warning{color:var(--warning-color)!important}.text-info{color:var(--info-color)!important}.text-muted{color:var(--text-muted)!important}.text-primary{color:var(--text-primary)!important}.text-gold{color:var(--brand-primary)!important}.bg-success{background:var(--success-light)!important}.bg-danger{background:var(--danger-light)!important}.bg-warning{background:var(--warning-light)!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.5rem!important}.mt-2{margin-top:1rem!important}.mt-3{margin-top:1.5rem!important}.mt-4{margin-top:2rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.5rem!important}.mb-2{margin-bottom:1rem!important}.mb-3{margin-bottom:1.5rem!important}.mb-4{margin-bottom:2rem!important}.gap-1{gap:.5rem!important}.gap-2{gap:1rem!important}.gap-3{gap:1.5rem!important}.d-flex{display:flex!important}.d-none{display:none!important}.d-block{display:block!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.align-center{align-items:center!important}.justify-between{justify-content:space-between!important}.justify-center{justify-content:center!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.font-bold{font-weight:600!important}.font-normal{font-weight:400!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}.registrar-pago{padding:1rem;width:100%;max-width:1200px;margin:0 auto}.pagos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.pagos-header h1{font-size:1.75rem;font-weight:600;color:#fff;margin:0}.pagos-summary{display:flex;gap:.75rem}.summary-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:2rem;font-weight:600;font-size:.9rem}.summary-chip.ingreso{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.summary-chip.egreso{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.pagos-message{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}.pagos-message.success{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.pagos-message.error{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.pagos-message button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.7}.pagos-message button:hover{opacity:1}.pagos-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.5rem;border:1px solid #333;background:#1a1a1a;color:#888;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:#222;color:#ccc}.tab-btn.active.ingreso{background:#22c55e26;border-color:#22c55e;color:#22c55e}.tab-btn.active.egreso{background:#ef444426;border-color:#ef4444;color:#ef4444}.pagos-form-container{margin-bottom:2rem}.pagos-form{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;padding:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.8rem;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.label-hint{font-weight:400;text-transform:none;letter-spacing:normal;font-size:.75rem;color:#666;margin-left:.5rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.pagos-form input[type=text],.pagos-form input[type=number],.pagos-form input[type=date],.pagos-form select{width:100%;padding:.75rem 1rem;background:#0d0d0d;border:1px solid #333;border-radius:.5rem;color:#fff;font-size:.95rem;transition:border-color .2s ease}.pagos-form input:focus,.pagos-form select:focus{outline:none;border-color:#d4af37}.pagos-form input::placeholder{color:#555}.input-currency{position:relative;display:flex;align-items:center}.input-currency span{position:absolute;left:1rem;color:#666;font-weight:500}.input-currency input{padding-left:2rem!important}.student-search-wrapper{position:relative}.search-input-box{position:relative;display:flex;align-items:center}.search-input-box svg{position:absolute;left:1rem;color:#666;pointer-events:none}.search-input-box input{padding-left:2.75rem!important;padding-right:2.5rem!important}.btn-clear{position:absolute;right:.5rem;background:none;border:none;color:#666;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.btn-clear:hover{background:#333;color:#fff}.student-dropdown{position:absolute;top:100%;left:0;right:0;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;margin-top:.25rem;max-height:300px;overflow-y:auto;z-index:100;box-shadow:0 10px 30px #00000080}.student-dropdown button{width:100%;padding:.875rem 1rem;background:none;border:none;border-bottom:1px solid #262626;color:#fff;cursor:pointer;text-align:left;transition:background .2s ease}.student-dropdown button:last-child{border-bottom:none}.student-dropdown button:hover{background:#262626}.student-row{display:flex;justify-content:space-between;align-items:center}.s-name{font-weight:500}.s-faixa{font-size:.8rem;color:#888;padding:.125rem .5rem;background:#333;border-radius:.25rem}.s-status{display:block;font-size:.8rem;color:#22c55e;margin-top:.25rem}.selected-student-info{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#d4af371a,#d4af370d);border:1px solid rgba(212,175,55,.4);border-radius:.75rem;margin-bottom:1.25rem;box-shadow:0 0 20px #d4af3726,inset 0 1px #d4af371a}.student-avatar{width:40px;height:40px;background:#d4af3733;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#d4af37;flex-shrink:0}.student-details{flex:1;min-width:0}.student-name{display:block;font-weight:600;color:#fff;font-size:1rem}.student-faixa{display:block;font-size:.8rem;color:#d4af37}.student-status{font-size:.8rem;padding:.375rem .75rem;border-radius:1rem;white-space:nowrap}.student-status.active{background:#22c55e26;color:#22c55e}.student-status.inactive{background:#eab30826;color:#eab308}.income-category-selector{display:flex;flex-wrap:wrap;gap:.5rem}.category-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#0d0d0d;border:1px solid #333;border-radius:.5rem;color:#888;cursor:pointer;transition:all .2s ease;font-size:.85rem}.category-btn:hover{border-color:#555;color:#ccc}.category-btn.selected{background:#d4af3726;border-color:#d4af37;color:#d4af37}.cat-icon{font-size:1.1rem}.cat-label{font-weight:500}.plan-cards-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:600px){.plan-cards-selector{grid-template-columns:1fr}}.plan-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 1rem;background:#0d0d0d;border:1px solid #333;border-radius:.75rem;cursor:pointer;transition:all .2s ease;text-align:center;min-height:140px}.plan-card:hover{border-color:#555;background:#151515}.plan-card.selected{background:#d4af371a;border-color:#d4af37;box-shadow:0 0 15px #d4af3733}.plan-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#262626;border-radius:50%;margin-bottom:.75rem;color:#888}.plan-card.selected .plan-card-icon{background:#d4af3733;color:#d4af37}.plan-card-label{display:block;font-weight:600;color:#fff;font-size:.9rem;margin-bottom:.25rem}.plan-card-desc{display:block;font-size:.75rem;color:#666;margin-bottom:.5rem}.plan-card-price{display:block;font-weight:700;color:#d4af37;font-size:.95rem}.sede-selector{display:flex;flex-wrap:wrap;gap:.5rem}.sede-btn{padding:.625rem 1rem;background:#0d0d0d;border:1px solid #333;border-radius:.5rem;color:#888;cursor:pointer;transition:all .2s ease;font-size:.9rem}.sede-btn:hover{border-color:#555;color:#ccc}.sede-btn.selected{background:#d4af3726;border-color:#d4af37;color:#d4af37}.pack-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.pack-btn{display:flex;flex-direction:column;align-items:center;padding:1rem;background:#0d0d0d;border:1px solid #333;border-radius:.75rem;cursor:pointer;transition:all .2s ease}.pack-btn:hover{border-color:#555}.pack-btn.selected{background:#d4af371a;border-color:#d4af37;box-shadow:0 0 15px #d4af3733}.pack-credits{font-size:1.75rem;font-weight:700;color:#fff;line-height:1}.pack-btn.selected .pack-credits{color:#d4af37}.pack-label{font-size:.75rem;color:#666;text-transform:uppercase;margin:.25rem 0 .5rem}.pack-price{font-size:.85rem;font-weight:600;color:#888}.pack-btn.selected .pack-price{color:#d4af37}.expense-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}@media(max-width:600px){.expense-category-grid{grid-template-columns:repeat(2,1fr)}}.expense-cat-btn{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem .5rem;background:#0d0d0d;border:1px solid #333;border-radius:.5rem;color:#888;cursor:pointer;transition:all .2s ease;font-size:.8rem}.expense-cat-btn:hover{border-color:#555;color:#ccc}.expense-cat-btn.selected{background:#ef44441a;border-color:#ef4444;color:#ef4444}.expense-cat-btn span:first-child{font-size:1.25rem}.btn-submit{width:100%;padding:1rem;border-radius:.5rem;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.btn-submit.ingreso{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-submit.ingreso:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 15px #22c55e4d}.btn-submit.egreso{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-submit.egreso:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 15px #ef44444d}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.form-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:#555;text-align:center}.form-placeholder svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.form-placeholder p{margin:0;font-size:.95rem}.movimientos-section{background:#1a1a1a;border:1px solid #333;border-radius:.75rem;overflow:hidden}.movimientos-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #333;flex-wrap:wrap;gap:1rem}.movimientos-header h2{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.movimientos-filters{display:flex;gap:.75rem}.movimientos-filters select,.movimientos-filters input{padding:.5rem .75rem;background:#0d0d0d;border:1px solid #333;border-radius:.375rem;color:#fff;font-size:.85rem}.movimientos-filters select:focus,.movimientos-filters input:focus{outline:none;border-color:#d4af37}.movimientos-list{max-height:500px;overflow-y:auto}.movimiento-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #262626;transition:background .2s ease}.movimiento-item:last-child{border-bottom:none}.movimiento-item:hover{background:#222}.mov-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.movimiento-item.ingreso .mov-icon{background:#22c55e26;color:#22c55e}.movimiento-item.egreso .mov-icon{background:#ef444426;color:#ef4444}.mov-info{flex:1;min-width:0}.mov-concepto{display:block;font-weight:500;color:#fff;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mov-detalle{display:block;font-size:.8rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mov-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.mov-fecha{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:#666}.mov-monto{font-weight:600;font-size:.95rem}.mov-monto.ingreso{color:#22c55e}.mov-monto.egreso{color:#ef4444}.btn-delete{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:.375rem;color:#666;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-delete:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:#555;text-align:center}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.empty-state p{margin:0;font-size:.95rem}.pagos-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#888}.loading-spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:600px){.registrar-pago{padding:1rem}.pagos-header h1{font-size:1.5rem}.pagos-form{padding:1rem}.selected-student-info{flex-wrap:wrap}.student-status{width:100%;text-align:center;margin-top:.5rem}.pack-selector{grid-template-columns:1fr 1fr 1fr;gap:.5rem}.pack-btn{padding:.75rem .5rem}.pack-credits{font-size:1.5rem}.movimiento-item{flex-wrap:wrap}.mov-meta{width:100%;flex-direction:row;justify-content:space-between;margin-top:.5rem;padding-left:52px}}.student-dropdown.empty{padding:1.5rem;text-align:center}.student-dropdown.empty p{margin:0;color:#666;font-size:.9rem}.dropdown-avatar{width:36px;height:36px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;color:#666}.dropdown-avatar img{width:100%;height:100%;object-fit:cover}.dropdown-info{flex:1;min-width:0;margin-left:.75rem}.dropdown-info .s-name{display:block;font-weight:500;color:#fff}.dropdown-info .s-meta{display:flex;gap:.75rem;margin-top:.125rem}.dropdown-info .s-dni,.dropdown-info .s-email{font-size:.75rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.student-row .s-faixa{padding:.25rem .625rem;border-radius:.25rem;font-size:.75rem;font-weight:500;flex-shrink:0;margin-left:auto}.selected-student-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#d4af3714,#d4af3705);border:1px solid rgba(212,175,55,.3);border-radius:.75rem;margin-bottom:1.25rem;box-shadow:0 0 20px #d4af371a}.student-card-avatar{position:relative;width:56px;height:56px;flex-shrink:0}.student-card-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2px solid rgba(212,175,55,.4)}.student-card-avatar .avatar-placeholder{width:100%;height:100%;border-radius:50%;background:#d4af3726;display:flex;align-items:center;justify-content:center;color:#d4af37;border:2px solid rgba(212,175,55,.3)}.student-card-avatar .avatar-placeholder svg{width:24px;height:24px}.student-card-avatar .faixa-indicator{position:absolute;bottom:0;right:0;width:16px;height:16px;border-radius:50%;border:2px solid #1a1a1a}.student-card-info{flex:1;min-width:0}.student-card-name{display:block;font-weight:600;font-size:1.05rem;color:#fff;margin-bottom:.25rem}.student-card-details{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.student-card-details .detail-item{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:#888}.student-card-details .detail-item svg{color:#666;flex-shrink:0}.student-card-faixa{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.student-card-status{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:.5rem;font-size:.8rem;font-weight:500;white-space:nowrap;flex-shrink:0}.student-card-status.ok{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.25)}.student-card-status.warning{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.mov-user{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:#d4af37;margin-bottom:.125rem}.mov-user svg{width:14px;height:14px;flex-shrink:0}.plan-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media(min-width:600px){.plan-selector{grid-template-columns:repeat(4,1fr)}}.plan-btn{display:flex;flex-direction:column;align-items:center;padding:.875rem .5rem;background:#0d0d0d;border:1px solid #333;border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.plan-btn:hover{border-color:#555;background:#151515}.plan-btn.selected{background:#d4af371a;border-color:#d4af37;box-shadow:0 0 10px #d4af3726}.plan-btn .plan-name{font-size:.8rem;font-weight:500;color:#ccc;margin-bottom:.25rem}.plan-btn.selected .plan-name{color:#fff}.plan-btn .plan-price{font-size:.9rem;font-weight:700;color:#888}.plan-btn.selected .plan-price{color:#d4af37}.pagos-form input.readonly{background:#151515;color:#888;cursor:not-allowed}@media(max-width:600px){.selected-student-card{flex-direction:column;text-align:center;gap:.75rem}.student-card-avatar{margin:0 auto}.student-card-info{width:100%}.student-card-details{justify-content:center}.student-card-status{width:100%;justify-content:center}.dropdown-info .s-meta{flex-direction:column;gap:.125rem}.dropdown-info .s-dni,.dropdown-info .s-email{max-width:none}}.historial-asistencias{padding:0;max-width:1200px;margin:0 auto}.historial-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.historial-header h1{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;color:var(--text-primary)}.historial-header p{color:var(--text-tertiary);font-size:.9375rem;margin:0}.btn-ghost-gold{padding:.625rem 1rem;background:transparent;color:#d4af37;border:1px solid #D4AF37;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-ghost-gold:hover:not(:disabled){background:#d4af371a;box-shadow:0 0 16px #d4af3733}.btn-ghost-gold:disabled{opacity:.5;cursor:not-allowed}.message{padding:.875rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.filtros-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.quick-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.quick-label{font-size:.8125rem;color:var(--text-muted);font-weight:500}.quick-pill{padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s ease}.quick-pill:hover{border-color:#d4af37;color:#d4af37}.quick-pill.active{background:#d4af37;border-color:#d4af37;color:#000;font-weight:600}.filtros-row{display:flex;flex-wrap:wrap;gap:1rem}.filtro-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filtro-group label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.filtro-group input,.filtro-group select{padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-input);color:var(--text-primary);font-size:.9375rem}.filtro-group input:focus,.filtro-group select:focus{outline:none;border-color:var(--primary-color)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.stat-icon{display:flex;align-items:center;justify-content:center;color:#d4af37}.stat-icon svg{width:24px;height:24px}.stat-content .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-content .stat-label{font-size:.8125rem;color:var(--text-tertiary);margin-top:.25rem}.view-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:none;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.tab svg{width:18px;height:18px}.tab:hover{background:var(--bg-hover);color:var(--text-primary)}.tab.active{background:#d4af3726;color:#d4af37}.tab.active svg{color:#d4af37}.table-container{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.data-table td{padding:1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:var(--bg-hover)}.cell-center{text-align:center}.cell-nombre{font-weight:500}.tipo-badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;padding:.25rem .625rem;border-radius:4px;display:inline-block}.tipo-badge.gi{background-color:#dbeafe;color:#1d4ed8}.tipo-badge.no-gi{background-color:#fef3c7;color:#b45309}.tipo-badge.mixto{background-color:#f3e8ff;color:#7c3aed}.alumnos-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .5rem;background-color:var(--primary-light);color:var(--primary-color);border-radius:16px;font-weight:600}.alumno-cell{display:flex;align-items:center;gap:.75rem}.alumno-avatar-sm{width:36px;height:36px;border-radius:50%;overflow:hidden;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.alumno-avatar-sm img{width:100%;height:100%;object-fit:cover}.alumno-avatar-sm span{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.alumno-nombre{font-weight:500}.rank{font-size:1.25rem}.rank-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background-color:var(--bg-tertiary);color:var(--text-secondary);border-radius:50%;font-size:.8125rem;font-weight:600}.asistencias-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:32px;padding:0 .75rem;background-color:var(--success-light);color:var(--success-color);border-radius:16px;font-weight:700}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.25rem}.empty-state p{margin:0;color:var(--text-tertiary)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-tertiary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media(max-width:768px){.historial-header{flex-direction:column}.btn-export{width:100%;justify-content:center}.filtros-row{flex-direction:column}.filtro-group{width:100%}.stats-row{grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem}.stat-icon,.stat-content .stat-value{font-size:1.5rem}.view-tabs{width:100%}.tab{flex:1;text-align:center}.table-container{overflow-x:auto}.data-table{min-width:600px}}.indumentaria{max-width:1200px;margin:0 auto}.indumentaria-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.indumentaria-loading p{color:var(--text-muted)}.indumentaria-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.header-title{display:flex;align-items:flex-start;gap:.875rem}.header-title svg{color:#d4af37;margin-top:.25rem}.btn-new-product{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-new-product:hover{background:#e5c349;transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d}.filters-section{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.filters-row{display:flex;gap:1rem;align-items:center}.search-box{position:relative;flex:1;max-width:400px}.search-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-box input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;font-size:.875rem;transition:all var(--transition-fast)}.search-box input:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 2px #d4af371a}.search-box input::placeholder{color:var(--text-muted)}.btn-show-hidden{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-show-hidden:hover{border-color:#d4af37;color:#d4af37}.btn-show-hidden.active{background:#d4af371a;border-color:#d4af37;color:#d4af37}.category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.category-btn{padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.category-btn:hover{border-color:#d4af37;color:#d4af37}.category-btn.active{background:#d4af37;border-color:#d4af37;color:#000;font-weight:600}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--bg-card);border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);text-align:center}.empty-state svg{color:var(--text-muted);margin-bottom:1rem;width:48px;height:48px}.empty-state p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}.empty-state button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.empty-state button:hover{background:#e5c349}.product-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-fast)}.product-card:hover{border-color:#d4af374d;box-shadow:0 8px 24px #0000004d}.product-card.hidden-product{opacity:.6}.product-card.hidden-product:hover{opacity:1}.product-image{position:relative;aspect-ratio:1 / 1;background:var(--bg-elevated);overflow:hidden;border-radius:12px 12px 0 0}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-card:hover .product-image img{transform:scale(1.05)}.no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.product-category{position:absolute;top:.75rem;left:.75rem;padding:.25rem .75rem;background:#000000bf;color:#fff;font-size:.6875rem;font-weight:600;text-transform:uppercase;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hidden-badge{position:absolute;top:.75rem;right:.75rem;padding:.25rem .625rem;background:#ef4444e6;color:#fff;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm)}.product-actions-overlay{position:absolute;bottom:.75rem;right:.75rem;display:flex;gap:.5rem;opacity:0;transition:opacity var(--transition-fast)}.product-card:hover .product-actions-overlay{opacity:1}.btn-action{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#000000bf;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-action:hover{background:#d4af37;color:#000}.btn-action.active{background:#22c55e}.product-info{padding:1.25rem}.product-name{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .5rem;line-height:1.3}.product-price{font-size:1.25rem;font-weight:700;color:#d4af37;margin:0 0 1rem}.stock-grid{display:flex;gap:.375rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.25rem}.stock-grid::-webkit-scrollbar{height:4px}.stock-grid::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.stock-item{display:flex;flex-direction:column;align-items:center;padding:.375rem .625rem;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);min-width:44px;flex-shrink:0}.stock-item.out-of-stock{background:#ef44441a;border-color:#ef44444d}.stock-item.out-of-stock .stock-qty{color:#ef4444}.stock-item.low-stock{background:#f59e0b1a;border-color:#f59e0b4d}.stock-item.low-stock .stock-qty{color:#f59e0b}.stock-talle{font-size:.5625rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.stock-qty{font-size:.9375rem;font-weight:700;color:#fff}.stock-single{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary)}.stock-single .stock-qty{font-weight:600;color:#fff}.stock-single .stock-qty.out-of-stock{color:#ef4444}.product-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-subtle)}.total-stock{font-size:.75rem;color:var(--text-muted)}.btn-edit-stock{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#d4af371a;border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-md);color:#d4af37;font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-edit-stock:hover{background:#d4af37;border-color:#d4af37;color:#000}.modal-content.modal-large{max-width:700px;max-height:95vh}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.image-upload-section{margin-bottom:.5rem;display:flex;flex-direction:column;align-items:center}.image-upload-area{width:100%;height:200px;border-radius:var(--radius-lg);border:2px dashed var(--border-subtle);background:var(--bg-elevated);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .2s ease;position:relative;cursor:pointer}.image-upload-area:hover{border-color:#d4af37;background:#d4af370d}.image-upload-area.has-image{border-style:solid}.image-upload-area.has-image:hover .upload-overlay{opacity:1}.upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .2s ease;border-radius:calc(var(--radius-lg) - 2px);color:#fff;font-size:.875rem}.upload-placeholder{padding:1rem;text-align:center}.upload-placeholder span{font-size:.75rem;display:block;margin-top:.5rem}.image-preview{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--radius-lg) - 2px)}.form-group{margin-bottom:0}.form-group label{font-size:.7rem;margin-bottom:.35rem}.form-group input,.form-group select,.input-with-currency{height:42px}.form-group textarea{min-height:80px}.input-with-currency .currency{left:.875rem;font-size:.875rem}.input-with-currency input{height:100%;width:100%}.info-note{padding:.625rem;font-size:.75rem}.stock-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.stock-edit-row{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all .3s ease}.stock-edit-row:hover{border-color:#d4af37}.talle-label{font-weight:600;color:#d4af37;font-size:.875rem;margin-bottom:.75rem}.stock-controls{display:flex;align-items:center;gap:.375rem}.btn-qty{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .3s ease}.btn-qty:hover{background:#d4af37;border-color:#d4af37;color:#000}.btn-qty:active{transform:scale(.95)}.stock-controls input{width:50px;padding:.5rem .25rem;text-align:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:#fff;font-size:1.125rem;font-weight:700}.stock-controls input:focus{outline:none;border-color:#d4af37}.stock-total{margin-top:1rem;padding:1rem;background:var(--bg-elevated);border-radius:var(--radius-md);text-align:center;font-weight:600;color:#d4af37;font-size:1rem}.modal-product-info{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-product-info img{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0}.modal-product-placeholder{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);flex-shrink:0;color:var(--text-muted)}.modal-product-info h3{font-size:1rem;font-weight:600;color:#fff;margin:0 0 .25rem}.modal-product-info p{font-size:.875rem;color:#d4af37;margin:0;font-weight:600}.image-upload-section{margin-bottom:1.5rem;grid-column:1 / -1}.image-upload-area{position:relative;width:100%;height:180px;background:var(--bg-elevated);border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;transition:all var(--transition-fast)}.image-upload-area:hover{border-color:#d4af37}.image-upload-area.uploading{pointer-events:none;opacity:.7}.image-preview{width:100%;height:100%;object-fit:cover}.upload-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted)}.upload-placeholder svg{color:#d4af37}.upload-placeholder span{font-size:.875rem}.upload-hint{font-size:.75rem!important;color:var(--text-muted)!important}.upload-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3;color:#d4af37;font-weight:600}.btn-remove-image{margin-top:.75rem;width:100%;padding:.5rem;background:transparent;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:.8125rem;cursor:pointer;transition:all var(--transition-fast)}.btn-remove-image:hover{background:#ef44441a}.form-group label{display:block;font-size:.75rem;font-weight:500;color:#a1a1aa;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;font-size:.875rem;transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 2px #d4af371a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:250px}.form-group select:disabled{opacity:.6;cursor:not-allowed}.input-with-currency{position:relative;display:flex;align-items:center}.input-with-currency .currency{position:absolute;left:1rem;color:#fff;font-weight:600;font-size:.9375rem;pointer-events:none;z-index:1}.input-with-currency input{padding-left:2.25rem!important;font-weight:600;font-size:1rem}.input-with-currency input::-webkit-outer-spin-button,.input-with-currency input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-with-currency input[type=number]{-moz-appearance:textfield}.info-note{display:flex;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-secondary);border-left:3px solid #D4AF37}.info-note svg{flex-shrink:0;color:#d4af37;margin-top:1px}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border-subtle)}.btn-cancel{padding:.75rem 1.25rem;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-cancel:hover{background:var(--bg-hover)}.btn-save{padding:.75rem 1.25rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}@media(max-width:768px){.indumentaria-header{flex-direction:column}.btn-new-product{width:100%;justify-content:center}.filters-row{flex-direction:column}.search-box{max-width:100%}.btn-show-hidden{width:100%;justify-content:center}.products-grid,.form-row{grid-template-columns:1fr}.stock-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.category-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.category-btn{flex-shrink:0}}.indumentaria-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-subtle, #2d2d2d);padding-bottom:.5rem}.indumentaria-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;color:#fff;cursor:pointer;transition:all .3s ease;font-size:.9375rem;font-weight:500}.indumentaria-tabs .tab:hover{color:#d4af37}.indumentaria-tabs .tab.active{color:#d4af37;border-bottom-color:#d4af37;background:#d4af371a}.indumentaria-tabs .tab-count{font-size:.75rem;padding:.125rem .5rem;border-radius:100px;background:var(--bg-elevated);color:#fff}.indumentaria-tabs .tab-badge{font-size:.75rem;padding:.125rem .5rem;border-radius:100px;background:#ef4444;color:#fff;font-weight:600}.orders-section{padding:0}.orders-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.order-filter-btn{padding:.5rem 1rem;background:var(--bg-secondary, #1a1a1a);border:1px solid var(--border-subtle, #2d2d2d);border-radius:100px;color:var(--text-muted, #888);cursor:pointer;transition:all .2s;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.order-filter-btn:hover{border-color:var(--text-muted, #888)}.order-filter-btn.active{background:#d4af37;border-color:#d4af37;color:#000}.order-filter-btn .filter-count{font-size:.75rem;padding:.125rem .375rem;border-radius:100px;background:#0003}.orders-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted, #888);gap:1rem;text-align:center}.orders-list{display:flex;flex-direction:column;gap:.75rem}.order-card{display:flex;gap:1rem;padding:1rem;background:var(--bg-card, #141414);border:1px solid var(--border-subtle, #2d2d2d);border-radius:12px;transition:all .2s}.order-card:hover{border-color:var(--text-muted, #888)}.order-card.pending{border-left:3px solid #eab308}.order-card.approved{border-left:3px solid #3b82f6}.order-card.delivered{border-left:3px solid #22c55e}.order-card.cancelled{border-left:3px solid #ef4444;opacity:.6}.order-product{width:80px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-secondary, #1a1a1a)}.order-product img{width:100%;height:100%;object-fit:cover}.order-product-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #888)}.order-details{flex:1;min-width:0}.order-details h4{font-size:1rem;font-weight:600;color:var(--text-primary, #fff);margin:0 0 .5rem}.order-student{display:flex;flex-direction:column;gap:.125rem;margin:0 0 .5rem;font-size:.875rem}.order-student strong{color:var(--text-primary, #fff)}.order-student span{color:var(--text-muted, #888);font-size:.8125rem}.order-specs{font-size:.875rem;color:var(--text-secondary, #b0b0b0);margin:0 0 .25rem}.order-specs strong{color:var(--text-primary, #fff)}.order-date{font-size:.8125rem;color:var(--text-muted, #888);margin:0}.order-note{font-size:.8125rem;color:var(--text-secondary, #b0b0b0);margin:.5rem 0 0;padding:.5rem;background:var(--bg-secondary, #1a1a1a);border-radius:6px}.order-note em{color:var(--text-muted, #888)}.order-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;flex-shrink:0}.order-status{padding:.375rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600}.order-status.status-pending{background:#eab30826;color:#eab308}.order-status.status-approved{background:#3b82f626;color:#3b82f6}.order-status.status-delivered{background:#22c55e26;color:#22c55e}.order-status.status-cancelled{background:#ef444426;color:#ef4444}.order-buttons{display:flex;gap:.5rem}.order-buttons button{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.order-buttons .btn-approve{background:#22c55e;color:#fff}.order-buttons .btn-approve:hover{background:#16a34a}.order-buttons .btn-deliver{background:#3b82f6;color:#fff}.order-buttons .btn-deliver:hover{background:#2563eb}.order-buttons .btn-cancel{background:var(--bg-secondary, #1a1a1a);color:#ef4444;border:1px solid #ef4444}.order-buttons .btn-cancel:hover{background:#ef44441a}@media(max-width:768px){.order-card{flex-wrap:wrap}.order-product{width:60px;height:60px}.order-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle, #2d2d2d)}}.image-upload-section{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-subtle)}.image-preview-container{width:150px;height:150px;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center}.image-preview-container .image-preview{width:100%;height:100%;object-fit:cover}.image-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted)}.image-placeholder svg{width:40px;height:40px;opacity:.5}.image-placeholder span{font-size:.75rem}.image-actions{display:flex;gap:.75rem}.btn-upload-image{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#d4af371a;border:1px solid #D4AF37;border-radius:var(--radius-md);color:#d4af37;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-upload-image:hover:not(:disabled){background:#d4af3733}.btn-upload-image:disabled{opacity:.6;cursor:not-allowed}.image-upload-section .btn-remove-image{padding:.625rem 1rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-muted);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.image-upload-section .btn-remove-image:hover{border-color:#ef4444;color:#ef4444}.image-upload-section .upload-hint{font-size:.6875rem;color:var(--text-muted)}.crear-qr{max-width:1200px;margin:0 auto}.qr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.qr-loading p{color:var(--text-muted)}.qr-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.header-left p{color:var(--text-muted);margin:0;font-size:.875rem}.sedes-filter{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.filter-label{font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.clases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}.clase-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease;position:relative}.clase-card:hover{border-color:#d4af374d;box-shadow:0 4px 20px #0003}.clase-card.current-class{border-color:#d4af37;box-shadow:0 0 20px #d4af374d;animation:pulse-gold 2s ease-in-out infinite}.clase-card.current-class:before{content:"🔴 EN HORARIO";position:absolute;top:-10px;right:12px;background:#d4af37;color:#000;padding:.25rem .75rem;border-radius:100px;font-size:.625rem;font-weight:700;letter-spacing:.05em}@keyframes pulse-gold{0%,to{box-shadow:0 0 20px #d4af374d}50%{box-shadow:0 0 30px #d4af3780,0 0 40px #d4af3733}}.clase-card-header{display:flex;align-items:flex-start;gap:.75rem}.clase-tipo-indicator{width:4px;height:100%;min-height:40px;border-radius:2px;flex-shrink:0}.clase-title-section{flex:1;min-width:0}.clase-title-section h3{margin:0;font-size:1.0625rem;font-weight:600;color:#fff;line-height:1.3}.nivel-tag{display:inline-block;margin-top:.375rem;font-size:.6875rem;color:var(--text-muted);background:var(--bg-elevated);padding:.125rem .5rem;border-radius:100px}.tipo-badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;padding:.375rem .75rem;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.clase-info{display:flex;flex-direction:column;gap:.5rem;padding-left:1rem;border-left:1px solid var(--border-subtle);margin-left:.125rem}.info-row{display:flex;align-items:center;gap:.625rem;color:var(--text-secondary);font-size:.875rem}.info-row svg{color:var(--text-muted);flex-shrink:0}.btn-crear-qr{width:100%;display:flex;align-items:center;justify-content:center;gap:.625rem;padding:1rem 1.25rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:auto}.btn-crear-qr:hover:not(:disabled){background:#e5c349;transform:translateY(-1px);box-shadow:0 4px 16px #d4af3766}.btn-crear-qr:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}.modal-footer{display:flex;justify-content:center;padding:1rem 1.5rem 1.5rem}.btn-primary{padding:.875rem 2.5rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}@media(max-width:768px){.qr-header{flex-direction:column}.today-badge{align-items:flex-start;width:100%}.clases-grid{grid-template-columns:1fr}.sedes-filter{flex-direction:column;align-items:flex-start}.filter-chips{width:100%}.pin-value{font-size:2rem}}.ver-asistencias{max-width:1200px;margin:0 auto}.asistencias-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.asistencias-loading p{color:var(--text-muted)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.header-content{display:flex;align-items:center;gap:1rem}.header-content h1{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.header-subtitle{color:#a1a1aa;margin:0;font-size:.875rem}.today-badge{display:flex;flex-direction:column;align-items:flex-end;padding:.6rem 1.2rem;background:#d4af371a;border:1px solid #D4AF37;border-radius:12px}.today-label{font-size:.65rem;font-weight:700;text-transform:uppercase;color:#d4af37;letter-spacing:1px}.today-date{font-size:.95rem;font-weight:600;color:#fff}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:#18181b;border:1px solid #27272a;border-radius:16px;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px);border-color:#3f3f46}.stat-card.highlight{border-color:#22c55e66;background:linear-gradient(135deg,rgba(34,197,94,.05) 0%,transparent 100%)}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#27272a;border-radius:12px;color:#a1a1aa}.stat-card.highlight .stat-icon{background:#22c55e33;color:#22c55e}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:800;color:#fff;line-height:1.1}.stat-card.highlight .stat-value{color:#22c55e}.stat-label{font-size:.75rem;font-weight:600;color:#71717a;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.today-badge{align-items:flex-start;width:100%}}.message{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border-radius:var(--radius-md);margin-bottom:1.25rem;font-size:.875rem;font-weight:500}.message.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444}.message svg{flex-shrink:0}.sedes-filter{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.filter-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}.sede-chip{padding:.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:100px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.sede-chip:hover{border-color:#d4af37;color:#d4af37}.sede-chip.active{background:#d4af37;border-color:#d4af37;color:#000;font-weight:600}.attendances-list{display:flex;flex-direction:column;gap:1.25rem}.attendance-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-fast)}.attendance-card:hover{border-color:#d4af374d}.attendance-card.closed{opacity:.6}.attendance-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem;background:var(--bg-elevated);gap:1rem}.attendance-main{display:flex;gap:1rem;flex:1}.tipo-indicator{width:4px;border-radius:2px;flex-shrink:0;align-self:stretch}.attendance-info h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#fff}.attendance-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.meta-item svg{color:#d4af37}.tipo-badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;padding:.25rem .625rem;border-radius:var(--radius-sm)}.tipo-badge.gi{background:#3b82f626;color:#3b82f6}.tipo-badge.nogi,.tipo-badge.no-gi{background:#8b5cf626;color:#8b5cf6}.tipo-badge.mixto{background:#22c55e26;color:#22c55e}.attendance-right{display:flex;align-items:center;gap:1.5rem}.presentes-counter{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.25rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md)}.presentes-number{font-size:1.75rem;font-weight:700;color:#22c55e;line-height:1}.presentes-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.attendance-status{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.status-badge{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;padding:.375rem .875rem;border-radius:100px}.status-badge.active{background:#22c55e1a;color:#22c55e}.status-badge.closed{background:#ef44441a;color:#ef4444}.pin-display{font-size:.9375rem;font-weight:700;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#d4af37;letter-spacing:.1em}.attendance-actions{display:flex;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.btn-finalizar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:var(--radius-md);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;justify-content:center}.btn-finalizar:hover{box-shadow:0 4px 16px #ef444466;transform:translateY(-1px)}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-hover);border-color:#d4af37;color:#d4af37}.btn-danger{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-danger:hover{background:#ef4444;border-color:#ef4444;color:#fff}.attendance-alumnos{padding:1.25rem}.alumnos-header{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.alumnos-header svg{color:#d4af37}.alumnos-header h4{margin:0;font-size:.9375rem;font-weight:600;color:#fff}.alumnos-count{background:#d4af37;color:#000;font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:100px;margin-left:auto}.no-alumnos{color:var(--text-muted);font-style:italic;font-size:.875rem;margin:0}.alumnos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.alumno-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-md);transition:background var(--transition-fast)}.alumno-item:hover{background:var(--bg-hover)}.alumno-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#d4af3726;color:#d4af37;border-radius:50%;font-size:.6875rem;font-weight:600;flex-shrink:0}.alumno-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--bg-card);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border-subtle)}.alumno-avatar img{width:100%;height:100%;object-fit:cover}.alumno-avatar span{font-size:.9375rem;font-weight:600;color:var(--text-muted)}.alumno-info{display:flex;flex-direction:column;min-width:0}.alumno-nombre{font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem}.alumno-hora{font-size:.75rem;color:var(--text-muted)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-card);border:2px dashed var(--border-subtle);border-radius:var(--radius-lg)}.empty-state svg{color:var(--text-muted);margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:#fff;font-size:1.125rem}.empty-state p{margin:0;color:var(--text-muted);font-size:.875rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:420px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.btn-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.btn-close:hover{color:#fff}.modal-body{padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.qr-clase-nombre{margin:0;font-size:1.375rem;font-weight:700;color:#d4af37}.qr-sede{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--text-secondary);font-size:.9375rem}.qr-sede svg{color:var(--text-muted)}.qr-profesor{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem;color:#d4af37;font-size:.9375rem;font-weight:500}.qr-profesor svg{color:#d4af37}.qr-container{background:#fff;padding:1rem;border-radius:var(--radius-lg);box-shadow:0 4px 20px #0003}.qr-pin{display:flex;flex-direction:column;align-items:center;gap:.375rem;margin-top:.5rem;padding:1rem 2rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.pin-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.1em}.pin-value{font-size:2.5rem;font-weight:700;color:#d4af37;letter-spacing:.5rem;font-family:SF Mono,Monaco,Inconsolata,monospace}.qr-instructions{margin:0;font-size:.8125rem;color:var(--text-muted);max-width:280px;line-height:1.5}.modal-footer{display:flex;justify-content:center;gap:.75rem;padding:1rem 1.5rem 1.5rem}.btn-primary{padding:.75rem 1.5rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:hover{background:#e5c349}@media(max-width:768px){.asistencias-header{flex-direction:column}.today-badge{align-items:flex-start;width:100%}.stats-row{flex-direction:column}.stat-card{width:100%}.attendance-header{flex-direction:column}.attendance-status{flex-direction:row;align-items:center;width:100%;justify-content:space-between}.attendance-actions{flex-wrap:wrap}.attendance-actions button{flex:1;justify-content:center}.alumnos-grid{grid-template-columns:1fr}.sedes-filter{flex-direction:column;align-items:flex-start}.filter-chips{width:100%}}.mis-clases{padding:1.5rem;max-width:800px;margin:0 auto}.mis-clases-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#71717a}.loading-spinner{width:40px;height:40px;border:3px solid #27272a;border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}.mis-clases-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.mis-clases-header h1{font-size:1.5rem;font-weight:600;color:#fff;margin:0}.header-filters{display:flex;align-items:center;gap:.5rem}.filter-dropdown{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;color:#71717a}.filter-dropdown input{background:transparent;border:none;color:#fff;font-size:.875rem;padding:.5rem 0}.filter-dropdown input:focus{outline:none}.stats-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;margin-bottom:1rem}.stat-item{display:flex;align-items:center;gap:.375rem}.stat-item svg{flex-shrink:0}.stat-value{font-weight:600;color:#fff;font-size:.9rem}.stat-label{color:#71717a;font-size:.8rem}.stat-item.success,.stat-item.success .stat-value{color:#22c55e}.stat-item.warning,.stat-item.warning .stat-value{color:#d4af37}.stat-divider{width:1px;height:20px;background:#333}.list-message,.editor-message{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.875rem}.list-message.success,.editor-message.success{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.25)}.list-message.error,.editor-message.error{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.list-message button,.editor-message button{background:none;border:none;color:inherit;font-size:1.125rem;cursor:pointer;padding:0;opacity:.7}.list-message button:hover,.editor-message button:hover{opacity:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:#1a1a1a;border:1px solid #333;border-radius:.75rem;text-align:center}.empty-state svg{color:#d4af37;opacity:.5;margin-bottom:1rem}.empty-state h3{color:#fff;font-size:1rem;font-weight:600;margin:0 0 .5rem}.empty-state p{color:#71717a;font-size:.875rem;margin:0;max-width:320px;line-height:1.5}.empty-state strong{color:#d4af37}.clases-list{display:flex;flex-direction:column;gap:.5rem}.clase-card-compact{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.clase-card-compact:hover{border-color:#444;background:#1f1f1f}.clase-card-compact.no-content{border-left:3px solid #D4AF37}.clase-card-compact.has-content{border-left:3px solid #22c55e}.card-left{display:flex;align-items:center;gap:1rem;min-width:0}.card-date{font-size:.8rem;font-weight:600;color:#a1a1aa;min-width:50px}.card-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.card-title{font-weight:500;color:#fff;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{display:flex;align-items:center;gap:.375rem;color:#71717a;font-size:.75rem}.card-meta svg{flex-shrink:0}.meta-dot{color:#444}.card-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.content-badge{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:600}.content-badge.success{background:#22c55e26;color:#22c55e}.content-badge.pending{background:#d4af3726;color:#d4af37}.card-right>svg{color:#52525b}.editor-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.btn-back{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;color:#a1a1aa;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#222;color:#fff}.editor-header h1{font-size:1.25rem;font-weight:600;color:#fff;margin:0}.clase-info-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:linear-gradient(135deg,#d4af371a,#d4af3708);border:1px solid rgba(212,175,55,.25);border-radius:.5rem;margin-bottom:1rem}.clase-info-main{display:flex;align-items:center;gap:.75rem}.clase-info-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#d4af3726;border-radius:.5rem;color:#d4af37}.clase-info-text{display:flex;flex-direction:column;gap:.125rem}.clase-info-name{font-weight:600;color:#fff;font-size:.95rem}.clase-info-meta{font-size:.8rem;color:#a1a1aa}.clase-info-students{display:flex;align-items:center;gap:.375rem;color:#d4af37;font-weight:600;font-size:.9rem}.editor-section{background:#1a1a1a;border:1px solid #333;border-radius:.5rem;padding:1.25rem;margin-bottom:.75rem}.editor-section h2{font-size:.8rem;font-weight:600;color:#71717a;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.editor-section textarea{width:100%;padding:.75rem;background:#0d0d0d;border:1px solid #333;border-radius:.375rem;color:#fff;font-size:.875rem;resize:vertical;font-family:inherit}.editor-section textarea:focus{outline:none;border-color:#d4af37}.editor-section textarea::placeholder{color:#52525b}.tech-blocks-list{margin-bottom:.75rem}.empty-blocks{padding:1.5rem;text-align:center;color:#52525b;font-size:.875rem}.empty-blocks p{margin:0}.tech-block-chip{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#0d0d0d;border:1px solid #333;border-radius:.375rem;margin-bottom:.5rem}.tech-block-chip.kimono{border-left:3px solid #3b82f6}.tech-block-chip.nogi{border-left:3px solid #8b5cf6}.block-number{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#262626;border-radius:50%;font-size:.7rem;font-weight:600;color:#71717a;flex-shrink:0}.block-content{flex:1;min-width:0}.block-summary{display:block;font-weight:500;color:#fff;font-size:.85rem}.block-tecnica{display:block;font-size:.75rem;color:#71717a;margin-top:.125rem}.btn-delete-block{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:.25rem;color:#52525b;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-delete-block:hover{background:#ef44441a;color:#ef4444}.btn-start-wizard{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#d4af371a;border:1px dashed rgba(212,175,55,.4);border-radius:.375rem;color:#d4af37;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-start-wizard:hover{background:#d4af3726;border-color:#d4af37}.wizard-container{background:#0d0d0d;border:1px solid #333;border-radius:.5rem;padding:1rem}.wizard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #262626}.wizard-header h3{font-size:.9rem;font-weight:600;color:#fff;margin:0}.btn-close-wizard{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:.25rem;color:#52525b;cursor:pointer;transition:all .2s ease}.btn-close-wizard:hover{background:#1a1a1a;color:#fff}.wizard-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem;padding:.5rem .75rem;background:#1a1a1a;border-radius:.375rem}.crumb{font-size:.8rem;color:#a1a1aa;padding:.125rem .375rem;background:#262626;border-radius:.25rem}.crumb.kimono{background:#3b82f633;color:#60a5fa}.crumb.nogi{background:#8b5cf633;color:#a78bfa}.crumb-arrow{color:#444;font-size:.75rem}.wizard-step{margin-bottom:.5rem}.wizard-step label{display:block;font-size:.75rem;font-weight:500;color:#71717a;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;margin-top:.75rem}.wizard-step label:first-child{margin-top:0}.wizard-step select,.wizard-step input[type=text]{width:100%;padding:.625rem .75rem;background:#1a1a1a;border:1px solid #333;border-radius:.375rem;color:#fff;font-size:.875rem}.wizard-step select:focus,.wizard-step input:focus{outline:none;border-color:#d4af37}.wizard-step input::placeholder{color:#52525b}.option-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.option-cards.four{grid-template-columns:repeat(4,1fr)}.option-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.875rem .5rem;background:#1a1a1a;border:1px solid #333;border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.option-card:hover{border-color:#444}.option-card.selected{background:#d4af371a;border-color:#d4af37}.option-icon{font-size:1.25rem;margin-bottom:.25rem}.option-label{font-size:.8rem;font-weight:500;color:#a1a1aa}.option-card.selected .option-label{color:#d4af37}.option-chips{display:flex;flex-wrap:wrap;gap:.375rem}.option-chip{padding:.375rem .75rem;background:#1a1a1a;border:1px solid #333;border-radius:1rem;color:#a1a1aa;font-size:.8rem;cursor:pointer;transition:all .2s ease}.option-chip:hover{border-color:#444;color:#fff}.option-chip.selected{background:#d4af3726;border-color:#d4af37;color:#d4af37}.wizard-summary{margin-top:1rem;padding-top:.75rem;border-top:1px solid #262626}.summary-preview{font-size:.8rem;color:#a1a1aa;padding:.5rem .75rem;background:#1a1a1a;border-radius:.375rem;margin-bottom:.75rem}.summary-preview strong{color:#d4af37}.summary-tecnica{color:#71717a}.btn-add-block{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#d4af37;border:none;border-radius:.375rem;color:#000;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-add-block:hover{background:#e5c349}.editor-actions{display:flex;gap:.75rem;margin-top:1rem}.btn-cancel{flex:1;padding:.75rem;background:#1a1a1a;border:1px solid #333;border-radius:.375rem;color:#a1a1aa;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#222;color:#fff}.btn-save{flex:2;padding:.75rem;background:#d4af37;border:none;border-radius:.375rem;color:#000;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save:hover:not(:disabled){background:#e5c349}.btn-save:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.mis-clases{padding:1rem}.mis-clases-header h1{font-size:1.25rem}.stats-bar{flex-wrap:wrap;gap:.75rem}.stat-divider{display:none}.clase-card-compact{flex-wrap:wrap;gap:.75rem}.card-left{width:100%}.card-right{width:100%;justify-content:flex-end}.option-cards.four{grid-template-columns:repeat(2,1fr)}.clase-info-card{flex-direction:column;align-items:flex-start;gap:.75rem}.editor-actions{flex-direction:column}.btn-cancel,.btn-save{flex:none}}.enviar-invitacion{padding:1rem;width:100%;max-width:1200px;margin:0 auto}@media(min-width:768px){.registrar-pago{padding:1.5rem}}.invitacion-header{margin-bottom:1.5rem}.invitacion-header h1{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.invitacion-header p{color:var(--text-tertiary);font-size:.9375rem;margin:0}.message{padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.9375rem}.message.success{background-color:var(--success-light);color:var(--success-color)}.message.error{background-color:var(--danger-light);color:var(--danger-color)}.invitacion-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem}.card h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-input);color:var(--text-primary);font-size:.9375rem}.form-group input:focus{outline:none;border-color:var(--primary-color)}.form-group .hint{display:block;font-size:.75rem;color:var(--text-tertiary);margin-top:.375rem}.role-selector{display:grid;grid-template-columns:3fr 3fr 3fr;gap:.75rem}.role-btn{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:1rem;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s ease}.role-btn:hover{border-color:var(--primary-color)}.role-btn.active{background-color:var(--primary-light);border-color:var(--primary-color)}.role-icon{font-size:1.5rem;color:#fff}.role-name{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.btn-submit{width:100%;padding:.875rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-submit:hover:not(:disabled){background-color:var(--primary-dark)}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.tipo-alumno-selector{display:grid;grid-template-columns:2fr 2fr;gap:.75rem}.generated-link{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.generated-link h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.link-instructions{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem}.link-instructions strong{color:var(--text-primary)}.link-box{display:flex;gap:.5rem;margin-bottom:1rem}.link-box input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;font-family:monospace}.btn-copy{padding:.75rem 1rem;background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.btn-copy:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.share-buttons{display:flex;gap:.75rem}.btn-share{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;text-decoration:none;text-align:center;transition:transform .2s ease}.btn-share:hover{transform:translateY(-2px)}.btn-share.whatsapp{background-color:#25d366;color:#fff}.btn-share.email{background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.invitations-card{display:flex;flex-direction:column}.loading-invitations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.75rem}.loading-spinner.small{width:32px;height:32px}.empty-invitations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.empty-invitations span{font-size:2.5rem;margin-bottom:.75rem}.empty-invitations p{color:var(--text-tertiary);margin:0}.invitations-list{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.invitation-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-secondary);border-radius:10px;gap:1rem}.invitation-main{flex:1;min-width:0}.invitation-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.375rem}.invitation-email{font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invitation-role{font-size:.75rem;padding:.125rem .5rem;border-radius:4px;background-color:var(--bg-hover);color:var(--text-secondary);white-space:nowrap}.invitation-role.profesor{background-color:#8b5cf626;color:#8b5cf6}.invitation-meta{display:flex;align-items:center;gap:.75rem}.invitation-date{font-size:.75rem;color:var(--text-tertiary)}.status-badge{font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase}.status-badge.pending{background-color:var(--warning-light);color:var(--warning-color)}.status-badge.accepted{background-color:var(--success-light);color:var(--success-color)}.status-badge.expired{background-color:var(--danger-light);color:var(--danger-color)}.invitation-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-copy-small,.btn-whatsapp-small{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;font-size:1rem;cursor:pointer;transition:transform .2s ease}.btn-copy-small{background-color:var(--bg-hover)}.btn-whatsapp-small{background-color:#25d366;text-decoration:none}.btn-copy-small:hover,.btn-whatsapp-small:hover{transform:scale(1.1)}@media(max-width:1024px){.invitacion-content{grid-template-columns:1fr}}@media(max-width:600px){.share-buttons{flex-direction:column}.invitation-info{flex-direction:column;align-items:flex-start;gap:.375rem}.invitation-item{flex-direction:column;align-items:stretch}.invitation-actions{justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}}.academia-banner-component{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:2rem;overflow:hidden}.banner-logo-container{width:140px;height:140px;border-radius:var(--radius-xl);background:var(--bg-elevated);border:3px solid;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;position:relative;transition:all var(--transition-fast)}.banner-logo-container.editable{cursor:pointer}.banner-logo-container.editable:hover{transform:scale(1.02)}.logo-edit-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;color:#000;font-size:.75rem;font-weight:600;opacity:0;transition:opacity var(--transition-fast)}.banner-logo-container.editable:hover .logo-edit-overlay{opacity:1}.banner-info-container{flex:1;display:flex;flex-direction:column;gap:.875rem}.banner-social-links{display:flex;gap:.75rem;margin-top:.25rem}.banner-color-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}@media(max-width:768px){.academia-banner-component{padding:1.5rem}.banner-content{flex-direction:column;text-align:center}.banner-logo-container{width:120px;height:120px}.banner-academia-name{font-size:1.5rem}.banner-contact-info,.banner-social-links,.banner-color-indicator{justify-content:center}}.configuracion-academia{max-width:1100px;margin:0 auto}.config-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.config-loading p{color:var(--text-muted)}.config-header{margin-bottom:1.5rem}.config-header h1{font-size:1.5rem;font-weight:600;color:#fff;margin:0}.academia-banner{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:2rem;overflow:hidden}.banner-decoration{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.decoration-circle{position:absolute;border-radius:50%}.decoration-circle.circle-1{width:300px;height:300px;top:-100px;right:-50px}.decoration-circle.circle-2{width:200px;height:200px;bottom:-80px;left:-60px}.banner-content{position:relative;z-index:1;display:flex;align-items:center;gap:2rem}.banner-logo-container{width:140px;height:140px;border-radius:var(--radius-xl);background:var(--bg-elevated);border:3px solid;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;position:relative;cursor:pointer;transition:all var(--transition-fast)}.banner-logo-container:hover{transform:scale(1.02)}.banner-logo-img{width:100%;height:100%;object-fit:cover}.banner-logo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.logo-initials{font-size:2.5rem;font-weight:700;opacity:.8}.upload-spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.logo-edit-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem;color:#000;font-size:.6875rem;font-weight:600;opacity:0;transition:opacity var(--transition-fast)}.banner-logo-container:hover .logo-edit-overlay{opacity:1}.banner-info-container{flex:1;display:flex;flex-direction:column;gap:.75rem}.banner-academia-name{font-size:1.75rem;font-weight:700;margin:0;line-height:1.2}.banner-contact-info{display:flex;flex-wrap:wrap;gap:1rem}.contact-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.contact-item svg{color:var(--text-muted);flex-shrink:0}.contact-item a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.contact-item a:hover{color:#d4af37}.banner-social-links{display:flex;gap:.625rem}.social-link{width:36px;height:36px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast)}.social-link:hover{transform:translateY(-2px);border-color:transparent}.social-link.instagram:hover{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff}.social-link.youtube:hover{background:red;color:#fff}.social-link.whatsapp:hover{background:#25d366;color:#fff}.banner-color-indicator{display:flex;align-items:center;gap:.5rem}.banner-color-indicator .color-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--bg-deep)}.banner-color-indicator .color-label{font-size:.75rem;color:var(--text-muted)}.config-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;margin-top:1.5rem}.section-header{margin-bottom:1.25rem}.section-header h2{font-size:1.125rem;font-weight:600;color:#fff;margin:0 0 .25rem}.section-subtitle{font-size:.8125rem;color:var(--text-muted);margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.75rem;font-weight:500;color:#a1a1aa;text-transform:uppercase;letter-spacing:.03em}.label-with-icon{display:inline-flex;align-items:center;gap:.5rem}.label-with-icon svg{color:var(--text-muted);width:14px;height:14px}.form-group input{width:100%;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;font-size:.875rem;transition:all var(--transition-fast)}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 2px #d4af371a}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:600;font-size:.875rem;pointer-events:none;z-index:1}.input-with-icon input[type=number]{padding-left:2.5rem!important}.color-selector-container{display:flex;flex-direction:column;gap:1.5rem}.color-presets-section,.custom-color-section{display:flex;flex-direction:column;gap:.75rem}.presets-label{font-size:.75rem;font-weight:500;color:#a1a1aa;text-transform:uppercase;letter-spacing:.03em}.presets-grid{display:flex;flex-wrap:wrap;gap:.625rem}.preset-btn{width:44px;height:44px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all var(--transition-fast)}.preset-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.preset-btn.selected{border-color:#fff;box-shadow:0 0 0 3px var(--bg-deep),0 4px 12px #0000004d;transform:scale(1.05)}.preset-btn svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.custom-color-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.color-picker{width:50px;height:44px;border:none;border-radius:var(--radius-md);cursor:pointer;padding:0;overflow:hidden}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:var(--radius-md)}.color-hex-input{width:120px;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#fff;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.875rem;text-transform:uppercase}.color-hex-input:focus{outline:none;border-color:#d4af37}.color-preview-row{display:flex;align-items:center;gap:.5rem;margin-left:auto}.preview-swatch{width:32px;height:32px;border-radius:var(--radius-sm);border:2px solid var(--bg-deep)}.preview-label{font-size:.75rem;color:var(--text-muted);margin-left:.5rem}.config-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:center}.btn-save-main{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.875rem 2.5rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-width:220px}.btn-save-main:hover:not(:disabled){background:#e5c349;transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.btn-save-main:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-save-main.saved{background:#22c55e;color:#fff}.btn-spinner{width:16px;height:16px;border:2px solid rgba(0,0,0,.2);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:900px){.form-grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.configuracion-academia{padding:0 1rem}.banner-content{flex-direction:column;text-align:center}.banner-logo-container{width:120px;height:120px}.banner-academia-name{font-size:1.5rem}.banner-contact-info,.banner-social-links,.banner-color-indicator{justify-content:center}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.custom-color-row{flex-direction:column;align-items:flex-start}.color-preview-row{margin-left:0;margin-top:.5rem}.btn-save-main{width:100%}}.configuracion-faixas{max-width:1200px;margin:0 auto;padding:20px;color:#fff}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.config-header h1{font-size:24px;font-weight:700;margin:0}.btn-save{background-color:#d4af37;color:#000;padding:10px 24px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save:hover:not(:disabled){background-color:#e5c349;transform:translateY(-1px)}.btn-save.saved{background-color:#22c55e;color:#fff}.tabs-container{display:flex;background:#111;padding:6px;border-radius:10px;margin-bottom:30px;border:1px solid #222;gap:6px}.tab-btn{flex:1;padding:12px;border:none;border-radius:6px;background:transparent;color:#a1a1aa;font-weight:600;cursor:pointer;transition:all .2s ease}.tab-btn.active{background:#d4af37;color:#000}.belts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.belt-card{background:#18181b;border-radius:12px;border:1px solid #27272a;overflow:hidden;display:flex;flex-direction:column}.belt-title{padding:12px;margin:0;font-size:14px;text-align:center;font-weight:800;letter-spacing:1px;text-transform:uppercase}.belt-title.blanco{background:#fff;color:#000}.belt-title.gris{background:#94a3b8;color:#fff}.belt-title.amarillo{background:#fbbf24;color:#000}.belt-title.naranja{background:#f97316;color:#fff}.belt-title.verde{background:#22c55e;color:#fff}.belt-title.azul{background:#2563eb;color:#fff}.belt-title.violeta{background:#7c3aed;color:#fff}.belt-title.marron{background:#78350f;color:#fff}.belt-title.negro{background:#0f172a;color:#fff}.grados-inputs{padding:20px;display:flex;flex-direction:column;gap:16px}.grado-field{display:flex;justify-content:space-between;align-items:center}.grado-field label{font-size:13px;color:#a1a1aa;font-weight:500}.input-group{display:flex;align-items:center;background:#09090b;border-radius:8px;border:1px solid #27272a;overflow:hidden}.input-group button{width:32px;height:38px;border:none;background:transparent;color:#fff;font-size:18px;cursor:pointer}.input-group button:hover{background:#27272a}.input-group input{width:70px;height:38px;border:none;background:transparent;text-align:center;color:#fff;font-weight:700;font-size:16px;outline:none}.input-group input::-webkit-outer-spin-button,.input-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.belt-total{margin-top:auto;padding:12px;background:#d4af370d;text-align:center;font-size:13px;font-weight:600;color:#d4af37;border-top:1px solid #27272a}@media(max-width:768px){.config-header{flex-direction:column;gap:15px;align-items:flex-start}.header-actions,.btn-save{width:100%}}.dashboard{max-width:1200px;margin:0 auto}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:50vh;gap:1rem}.dashboard-loading p{color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-subtle);border-top-color:#d4af37;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.header-left h1{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 .25rem}.header-left .subtitle{color:var(--text-muted);margin:0;font-size:.875rem}.today-badge{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#d4af3726,#d4af370d);border:1px solid #D4AF37;border-radius:var(--radius-lg)}.today-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#d4af37}.today-date{font-size:1rem;font-weight:600;color:#d4af37}.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.kpi-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all var(--transition-fast)}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#d4af37;transform:translateY(-2px);box-shadow:0 4px 12px #d4af3726}.kpi-card.primary{background:linear-gradient(135deg,#d4af3726,#d4af370d);border-color:#d4af374d}.kpi-card.primary .kpi-icon{background:#d4af3733;color:#d4af37}.kpi-card.warning{background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border-color:#f59e0b4d}.kpi-card.warning .kpi-icon{background:#f59e0b33;color:#f59e0b}.kpi-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-muted);flex-shrink:0}.kpi-content{display:flex;flex-direction:column;flex:1;gap:.125rem}.kpi-value{font-size:1.75rem;font-weight:700;color:#fff;line-height:1}.kpi-label{font-size:.875rem;color:var(--text-secondary)}.kpi-sublabel{font-size:.75rem;color:var(--text-muted)}.kpi-card svg:last-child{color:#d4af37;flex-shrink:0}.week-attendance-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.section-header svg{color:#d4af37}.section-header h2{font-size:1.0625rem;font-weight:600;color:#fff;margin:0}.week-timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.day-column{display:flex;flex-direction:column;align-items:center;gap:.5rem}.day-name{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.day-column.today .day-name{color:#d4af37}.day-bar-container{width:100%;height:100px;background:var(--bg-elevated);border-radius:var(--radius-md);display:flex;align-items:flex-end;justify-content:center;padding:4px;transition:all var(--transition-fast)}.day-column.today .day-bar-container{border:2px solid #D4AF37;box-shadow:0 0 12px #d4af3733}.day-bar{width:100%;background:linear-gradient(180deg,#22c55e,#16a34a);border-radius:var(--radius-sm);display:flex;align-items:flex-start;justify-content:center;padding-top:4px;transition:height .3s ease}.day-column.future .day-bar{background:var(--bg-hover)}.day-count{font-size:.6875rem;font-weight:700;color:#fff}.day-column.future .day-count{color:var(--text-muted)}.day-date{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.day-column.today .day-date{color:#d4af37;font-weight:700}.attendance-trend{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem}.attendance-trend.positive{background:#22c55e1a;color:#22c55e}.attendance-trend.negative{background:#ef44441a;color:#ef4444}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem}.card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.card-header svg{color:#d4af37;flex-shrink:0;margin-top:2px}.card-header h2{font-size:1.0625rem;font-weight:600;color:#fff;margin:0}.card-subtitle{font-size:.75rem;color:var(--text-muted);display:block;margin-top:.125rem}.ranking-list{display:flex;flex-direction:column;gap:.625rem}.ranking-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-md);transition:background var(--transition-fast)}.ranking-item:hover{background:var(--bg-hover)}.ranking-position{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;border-radius:50%;flex-shrink:0}.ranking-position.pos-1{background:linear-gradient(135deg,#d4af37,#b8942e);color:#000}.ranking-position.pos-2{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff}.ranking-position.pos-3{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff}.ranking-position.pos-4,.ranking-position.pos-5{background:var(--bg-card);color:var(--text-muted)}.ranking-avatar{width:40px;height:40px;border-radius:50%;background:#d4af3726;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:2px solid var(--border-subtle)}.ranking-avatar img{width:100%;height:100%;object-fit:cover}.ranking-avatar span{font-weight:600;color:#d4af37}.ranking-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.ranking-name{font-weight:500;color:#fff;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-faixa,.faixa-badge{font-size:.6875rem;padding:.125rem .5rem;border-radius:4px;font-weight:500;text-align:center;min-width:60px;display:inline-block}.faixa-blanco{background:#f8fafc;color:#1f2937}.faixa-amarillo{background:#eab308;color:#1f2937}.faixa-naranja{background:#f97316;color:#fff}.faixa-verde{background:#22c55e;color:#fff}.faixa-azul{background:#3b82f6;color:#fff}.faixa-violeta{background:#8b5cf6;color:#fff}.faixa-marron{background:#92400e;color:#fff}.faixa-negro{background:#1f2937;color:#fff;border:1px solid #374151}.faixa-blanca{background:#f8fafc;color:#1f2937}.faixa-amarilla{background:#eab308;color:#1f2937}.faixa-púrpura,.faixa-morada{background:#8b5cf6;color:#fff}.faixa-marrón{background:#92400e;color:#fff}.faixa-negra{background:#1f2937;color:#fff;border:1px solid #374151}.ranking-faixa{background:var(--bg-card);color:var(--text-muted)}.ranking-value{font-weight:700;color:#d4af37;font-size:.875rem;flex-shrink:0}.risk-list{display:flex;flex-direction:column;gap:.625rem}.risk-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.risk-avatar{width:40px;height:40px;border-radius:50%;background:#f59e0b26;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:2px solid rgba(245,158,11,.3)}.risk-avatar img{width:100%;height:100%;object-fit:cover}.risk-avatar span{font-weight:600;color:#f59e0b}.risk-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.risk-name{font-weight:500;color:#fff;font-size:.875rem}.risk-days{font-size:.75rem;color:#f59e0b}.btn-whatsapp{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#25d366;border-radius:var(--radius-md);color:#fff;text-decoration:none;transition:all var(--transition-fast);flex-shrink:0}.btn-whatsapp:hover{transform:scale(1.08);box-shadow:0 4px 12px #25d3664d}.empty-message{color:var(--text-muted);text-align:center;padding:1.5rem;font-size:.875rem}.empty-message.success{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#22c55e;background:#22c55e1a;border-radius:var(--radius-md)}.promotion-card{margin-bottom:1.5rem}.promotion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.promotion-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.promotion-avatar{width:48px;height:48px;border-radius:50%;background:#d4af3726;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:2px solid #D4AF37}.promotion-avatar img{width:100%;height:100%;object-fit:cover}.promotion-avatar span{font-weight:600;color:#d4af37;font-size:1.125rem}.promotion-info{flex:1;display:flex;flex-direction:column;gap:.375rem;min-width:0}.promotion-name{font-weight:600;color:#fff;font-size:.9375rem}.promotion-faixas{display:flex;align-items:center;gap:.5rem}.promotion-faixas .arrow{color:var(--text-muted);font-size:.875rem}.promotion-stats{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.promotion-progress{flex-shrink:0}.progress-ring{width:52px;height:52px}.progress-ring .progress-bg{fill:none;stroke:var(--bg-card);stroke-width:3}.progress-ring .progress-fill{fill:none;stroke:#22c55e;stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}.progress-ring .progress-text{fill:#fff;font-size:.5rem;font-weight:700;text-anchor:middle}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.chart-card{min-height:280px}.faixa-chart{display:flex;flex-direction:column;align-items:center}.faixa-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem}.legend-item{display:flex;align-items:center;gap:.375rem;min-width:80px}.legend-color{width:12px;height:12px;border-radius:3px;border:1px solid var(--border-subtle);flex-shrink:0}.legend-label{font-size:.75rem;color:var(--text-secondary);min-width:50px}.legend-value{font-size:.75rem;font-weight:600;color:#fff}.birthday-card{margin-bottom:1.5rem}.birthday-list{display:flex;flex-wrap:wrap;gap:.75rem}.birthday-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-md);flex:1;min-width:200px}.birthday-avatar{width:40px;height:40px;border-radius:50%;background:#ec489926;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;border:2px solid rgba(236,72,153,.3)}.birthday-avatar img{width:100%;height:100%;object-fit:cover}.birthday-avatar span{font-weight:600;color:#ec4899}.birthday-info{flex:1;display:flex;flex-direction:column;gap:.125rem}.birthday-name{font-weight:500;color:#fff;font-size:.875rem}.birthday-date{font-size:.75rem;color:var(--text-muted)}.today-classes-card{margin-bottom:1.5rem}.today-classes-list{display:flex;flex-direction:column;gap:.75rem}.today-class-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.class-time{display:flex;flex-direction:column;align-items:center;background:var(--bg-card);padding:.5rem .75rem;border-radius:var(--radius-md);min-width:70px}.time-start{font-weight:700;font-size:.9375rem;color:#d4af37}.time-end{font-size:.75rem;color:var(--text-muted)}.class-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.class-name{font-weight:600;color:#fff;font-size:.9375rem}.class-tipo{font-size:.75rem;color:var(--text-muted)}.btn-take-attendance{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#d4af37;color:#000;border:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-take-attendance:hover{background:#e5c349;transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d}.btn-take-attendance svg{width:16px;height:16px}@media(max-width:1024px){.kpi-row{grid-template-columns:repeat(2,1fr)}.promotion-grid{grid-template-columns:1fr}}@media(max-width:900px){.main-grid,.charts-grid{grid-template-columns:1fr}.week-timeline{gap:.375rem}.day-bar-container{height:80px}.day-name{font-size:.625rem}}@media(max-width:768px){.dashboard-header{flex-direction:column}.today-badge{align-items:flex-start;width:100%}}@media(max-width:600px){.kpi-row{grid-template-columns:1fr}.birthday-item{min-width:100%}.today-class-item{flex-wrap:wrap}.btn-take-attendance{width:100%;justify-content:center}}
