.navigation-bar{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:linear-gradient(180deg,var(--primary-color) 0%,var(--primary-dark) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-around;align-items:center;padding:0 24px;z-index:1000;box-shadow:0 -4px 20px #0000001a}.nav-button{background:transparent;border:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease;position:relative;padding:0;color:#fffc;-webkit-tap-highlight-color:transparent}.nav-button:hover:not(:disabled){transform:scale(1.1);color:#fff}.nav-button:active:not(:disabled){transform:scale(.95)}.nav-button:disabled{opacity:.3;cursor:not-allowed}.nav-button:first-child{color:#fff}.nav-button:first-child .nav-icon{stroke-width:3px;width:28px;height:28px}.nav-home{width:56px;height:56px;background:transparent;border:none;box-shadow:none;color:#fff}.nav-home .nav-icon{width:32px;height:32px;stroke-width:2.5px}.nav-logout{background:transparent;border:none;color:#fffc}.nav-logout:hover{color:#fcc}.nav-icon{width:24px;height:24px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.nav-install{background:#fff3;border-radius:12px;color:#fff}@keyframes bell-shake{0%,to{transform:rotate(0)}10%{transform:rotate(15deg)}20%{transform:rotate(-15deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-10deg)}50%{transform:rotate(5deg)}60%{transform:rotate(-5deg)}70%{transform:rotate(0)}}.nav-button.has-unread .nav-icon{animation:bell-shake 3s ease-in-out infinite;transform-origin:top center}@media (max-width: 480px){.navigation-bar{height:60px;padding:0 15px}}.paperdoll-container{position:relative;display:inline-flex;align-items:center;justify-content:center;line-height:0}.paperdoll-container.animate{animation:paperdoll-bounce 2s ease-in-out infinite}@keyframes paperdoll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.paperdoll-base{width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1;position:relative}.paperdoll-slot{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}.paperdoll-item{width:100%;height:100%;object-fit:contain;display:block;image-rendering:-webkit-optimize-contrast}.slot-back{z-index:0}.slot-head,.slot-face{z-index:3}.slot-neck,.slot-torso,.slot-front,.slot-legs,.slot-feet,.slot-wrist{z-index:2}.mascot-avatar-container{position:relative;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#ffffffe6;border:3px solid transparent;transition:all .3s ease;overflow:visible}.mascot-avatar-container:hover{transform:scale(1.05);border-color:#667eea;box-shadow:0 4px 15px #667eea4d}.mascot-avatar-container.selected{border-color:#667eea;background:linear-gradient(135deg,#e8ecff,#f0e8ff);box-shadow:0 4px 15px #667eea66}.mascot-avatar-check{position:absolute;bottom:-6px;right:-6px;background:#667eea;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 2px 6px #0003;z-index:10}.mascot-avatar{position:relative;width:50px;height:55px;transform-origin:bottom center}.mascot-avatar-body{width:100%;height:100%;background:linear-gradient(135deg,hsl(var(--mascot-hue, 200),75%,65%),hsl(var(--mascot-hue, 200),90%,48%));border-radius:25px 25px 20px 20px;position:relative;z-index:2;box-shadow:inset -3px -3px 8px #0000001a,inset 3px 3px 8px #fff6;animation:mascotBreathe 3s ease-in-out infinite}@keyframes mascotBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.mascot-avatar-face{position:absolute;top:15px;left:8px;right:8px;height:22px;display:flex;justify-content:space-between;align-items:center;padding:0 2px}.mascot-avatar-eye{width:12px;height:12px;background:#fff;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000001a;transition:transform .1s}.mascot-avatar-eye.blink{transform:scaleY(.1)}.mascot-avatar-pupil{width:5px;height:5px;background:#2d3436;border-radius:50%;position:absolute;top:3.5px;left:3.5px;animation:lookAround 4s ease-in-out infinite}@keyframes lookAround{0%,to{transform:translate(0)}25%{transform:translate(2px,1px)}50%{transform:translate(-2px)}75%{transform:translate(1px,-1px)}}.mascot-avatar-mouth{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:6px;height:4px;background:#2d3436;border-radius:0 0 6px 6px;opacity:.6;animation:mouthMove 5s ease-in-out infinite}@keyframes mouthMove{0%,80%,to{width:6px;height:4px;border-radius:0 0 6px 6px}85%,95%{width:10px;height:6px;border-radius:50%}}.mascot-avatar-arm{position:absolute;top:28px;width:12px;height:22px;background:linear-gradient(135deg,hsl(var(--mascot-hue, 200),75%,60%),hsl(var(--mascot-hue, 200),90%,42%));border-radius:6px;z-index:3;transition:all .3s ease;box-shadow:1px 1px 3px #0000001a}.mascot-avatar-arm.left{left:-8px;transform:rotate(15deg);transform-origin:top center;animation:armSwingLeft 3s ease-in-out infinite}.mascot-avatar-arm.right{right:-8px;transform:rotate(-15deg);transform-origin:top center;animation:armSwingRight 3s ease-in-out infinite}.mascot-avatar-arm.right.waving{animation:wave .5s ease-in-out infinite}@keyframes armSwingLeft{0%,to{transform:rotate(15deg)}50%{transform:rotate(20deg)}}@keyframes armSwingRight{0%,to{transform:rotate(-15deg)}50%{transform:rotate(-20deg)}}@keyframes wave{0%,to{transform:rotate(-30deg)}50%{transform:rotate(-60deg)}}.mascot-avatar-ear.bear{position:absolute;top:-8px;width:14px;height:14px;background:linear-gradient(135deg,hsl(var(--mascot-hue, 200),75%,65%),hsl(var(--mascot-hue, 200),90%,48%));border-radius:50%;z-index:1}.mascot-avatar-ear.bear.left{left:2px}.mascot-avatar-ear.bear.right{right:2px}.mascot-avatar-ear.bear:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;background:#ffc8c899;border-radius:50%}.mascot-avatar-ear.fox{position:absolute;top:-12px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:16px solid hsl(var(--mascot-hue, 200),75%,65%);z-index:1}.mascot-avatar-ear.fox.left{left:0;transform:rotate(-15deg)}.mascot-avatar-ear.fox.right{right:0;transform:rotate(15deg)}.mascot-avatar-antenna{position:absolute;top:-15px;left:50%;transform:translate(-50%);z-index:1}.antenna-stick{width:3px;height:10px;background:#888;margin:0 auto}.antenna-ball{width:8px;height:8px;background:#ff4757;border-radius:50%;margin:-2px auto 0;animation:antennaBlink 1s ease-in-out infinite}@keyframes antennaBlink{0%,to{opacity:1;box-shadow:0 0 5px #ff4757}50%{opacity:.5;box-shadow:0 0 2px #ff4757}}.mascot-avatar.type-robot .mascot-avatar-body{border-radius:10px 10px 15px 15px}.mascot-avatar.type-robot .mascot-avatar-eye{background:#2d3436;border:2px solid #74b9ff}.mascot-avatar.type-robot .mascot-avatar-pupil{background:#74b9ff;box-shadow:0 0 4px #74b9ff}.mascot-avatar.type-robot .mascot-avatar-arm{border-radius:4px}.mascot-avatar-ear.fox{border-bottom-color:hsl(var(--mascot-hue, 200),75%,65%)}.mascot-avatar-mouth.cat-mouth{width:12px!important;height:6px!important;border-radius:0 0 6px 6px!important;border-top:none!important}.mascot-avatar-mouth.cat-mouth:before,.mascot-avatar-mouth.cat-mouth:after{content:"";position:absolute;width:4px;height:4px;background:transparent;border:2px solid #333;border-radius:50%;top:-4px}.mascot-avatar-mouth.cat-mouth:before{left:-3px;border-right:none;border-top:none}.mascot-avatar-mouth.cat-mouth:after{right:-3px;border-left:none;border-top:none}.mascot-avatar-ear.dog{position:absolute;top:-5px;width:12px;height:18px;background:linear-gradient(135deg,hsl(var(--mascot-hue, 200),70%,55%),hsl(var(--mascot-hue, 200),85%,40%));border-radius:50% 50% 40% 40%;z-index:1}.mascot-avatar-ear.dog.left{left:-2px;transform:rotate(-20deg)}.mascot-avatar-ear.dog.right{right:-2px;transform:rotate(20deg)}.mascot-avatar-ear.bunny{position:absolute;top:-20px;width:10px;height:25px;background:linear-gradient(135deg,hsl(var(--mascot-hue, 200),70%,72%),hsl(var(--mascot-hue, 200),80%,55%));border-radius:50%;z-index:1}.mascot-avatar-ear.bunny.left{left:8px;transform:rotate(-10deg)}.mascot-avatar-ear.bunny.right{right:8px;transform:rotate(10deg)}.mascot-avatar-ear.bunny:after{content:"";position:absolute;top:5px;left:2px;width:6px;height:15px;background:#ffc8c8b3;border-radius:50%}.mascot-avatar.type-panda .mascot-avatar-body{background:linear-gradient(135deg,#fff,#dfe6e9)}.mascot-avatar.type-panda .mascot-avatar-arm{background:linear-gradient(135deg,#2d3436,#636e72)}.mascot-avatar.type-panda .mascot-avatar-ear.bear{background:#2d3436}.mascot-avatar.type-panda .mascot-avatar-eye{background:#2d3436;width:14px;height:14px;border-radius:40% 40% 50% 50%}.mascot-avatar.type-owl .mascot-avatar-body{background:linear-gradient(135deg,sienna,#8b4513);border-radius:50% 50% 45% 45%}.mascot-avatar.type-owl .mascot-avatar-arm{background:linear-gradient(135deg,sienna,#654321);border-radius:0 50% 50% 0;width:12px}.mascot-avatar-ear.owl{position:absolute;top:-8px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:12px solid #a0522d;z-index:1}.mascot-avatar-ear.owl.left{left:3px}.mascot-avatar-ear.owl.right{right:3px}.mascot-avatar-eye.owl-eye{width:14px;height:14px;border:3px solid #654321}.mascot-avatar-beak{position:absolute;bottom:12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #f39c12;z-index:5}.mascot-avatar.type-penguin .mascot-avatar-body{background:linear-gradient(135deg,#2d3436,#636e72)}.mascot-avatar.type-penguin .mascot-avatar-arm{background:linear-gradient(135deg,#2d3436,#636e72);border-radius:0 50% 50%}.mascot-avatar-belly{position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:28px;height:25px;background:#fff;border-radius:50%;z-index:2}.mascot-avatar.type-lion .mascot-avatar-body,.mascot-avatar.type-lion .mascot-avatar-arm{background:linear-gradient(135deg,#f9ca24,#f0932b)}.mascot-avatar-mane{position:absolute;top:-8px;left:-8px;right:-8px;bottom:10px;background:linear-gradient(135deg,#d35400,#e67e22);border-radius:50%;z-index:0}.mascot-avatar.type-monkey .mascot-avatar-body,.mascot-avatar.type-monkey .mascot-avatar-arm{background:linear-gradient(135deg,peru,#8b4513)}.mascot-avatar-ear.monkey{position:absolute;top:8px;width:12px;height:12px;background:#deb887;border-radius:50%;z-index:1}.mascot-avatar-ear.monkey.left{left:-6px}.mascot-avatar-ear.monkey.right{right:-6px}.mascot-avatar-muzzle{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:20px;height:12px;background:#deb887;border-radius:50%;z-index:3}.mascot-avatar{animation:idleBounce 2s ease-in-out infinite}@keyframes idleBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(1deg)}75%{transform:translateY(-2px) rotate(-1deg)}}.mascot-avatar-container:hover .mascot-avatar{animation:excited .3s ease-in-out infinite}@keyframes excited{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.05)}}.mascota-con-accesorios{position:relative;display:inline-flex;align-items:center;justify-content:center}.accesorio-sobre-mascota{position:absolute;pointer-events:none;z-index:10;line-height:1;text-align:center;display:flex;align-items:center;justify-content:center}.mascota-con-accesorios>.mascot-avatar-container{z-index:1}.global-mascot{position:fixed;z-index:9999;display:flex;flex-direction:column;align-items:center;cursor:grab;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none}.global-mascot.dragging{cursor:grabbing}.global-mascot.dragging .global-mascot-body{transform:scale(1.15);box-shadow:0 15px 40px #667eeab3}.global-mascot-close{position:absolute;top:-5px;right:-5px;width:28px;height:28px;border-radius:50%;background:#ff4757;color:#fff;border:2px solid white;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 2px 8px #ff475780;transition:transform .2s,background .2s;line-height:1;padding:0}.global-mascot-close:hover{transform:scale(1.1);background:#ff6b7a}.global-mascot-close:active{transform:scale(.95)}.global-mascot-body{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;padding:10px;box-shadow:0 10px 30px #667eea80;transition:transform .2s ease,box-shadow .2s ease}.global-mascot:hover .global-mascot-body{transform:scale(1.1)}.global-mascot-speech{background:#fff;padding:12px 18px;border-radius:20px;box-shadow:0 8px 25px #00000026;font-size:1rem;font-weight:600;color:#333;max-width:200px;text-align:center;margin-bottom:10px;position:relative;animation:speechPop .3s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}.global-mascot-speech:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid white}@keyframes speechPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.global-mascot-hint{font-size:.7rem;color:#ffffffe6;background:#00000080;padding:4px 10px;border-radius:10px;margin-top:8px;animation:fadeInUp .5s ease .5s both;pointer-events:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slideInRight{animation:slideInRight .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.slideInLeft{animation:slideInLeft .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}.slideInUp{animation:slideInUp .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.slideInDown{animation:slideInDown .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}.bounceIn{animation:bounceIn .8s cubic-bezier(.175,.885,.32,1.275)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.fadeIn{animation:fadeIn .5s ease}.zoomIn{animation:zoomIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes zoomIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.flipIn{animation:flipIn .6s ease}@keyframes flipIn{0%{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.rotateIn{animation:rotateIn .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(0)}to{opacity:1;transform:rotate(0) scale(1)}}.popIn{animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{opacity:0;transform:scale(.5)}80%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.slideOutRight{animation:slideOutRight .5s ease forwards}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.slideOutLeft{animation:slideOutLeft .5s ease forwards}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100px)}}.slideOutUp{animation:slideOutUp .5s ease forwards}@keyframes slideOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100px)}}.slideOutDown{animation:slideOutDown .5s ease forwards}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100px)}}.bounceOut{animation:bounceOut .5s ease forwards}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(1.1)}to{opacity:0;transform:scale(.3)}}.fadeOut{animation:fadeOut .4s ease forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.zoomOut{animation:zoomOut .4s ease forwards}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}.flipOut{animation:flipOut .5s ease forwards}@keyframes flipOut{0%{opacity:1;transform:rotateY(0)}to{opacity:0;transform:rotateY(90deg)}}.rotateOut{animation:rotateOut .5s ease forwards}@keyframes rotateOut{0%{opacity:1;transform:rotate(0) scale(1)}to{opacity:0;transform:rotate(180deg) scale(0)}}.popOut{animation:popOut .3s ease forwards}@keyframes popOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@media (max-width: 480px){.global-mascot-speech{max-width:160px;font-size:.9rem;padding:10px 14px}.global-mascot-hint{font-size:.65rem}}.animated-icon-wrapper{display:inline-block;position:relative}.animated-icon{position:relative;width:100px;height:110px;transition:all .3s ease}.animated-icon-body{width:100%;height:100%;border-radius:50px 50px 40px 40px;position:relative;z-index:2;box-shadow:inset -5px -5px 15px #0000001a,inset 5px 5px 15px #fff6;animation:iconBreathe 3s ease-in-out infinite}.animated-icon.blue .animated-icon-body{background:linear-gradient(135deg,#4facfe,#00f2fe)}.animated-icon.green .animated-icon-body{background:linear-gradient(135deg,#43e97b,#38f9d7)}.animated-icon.purple .animated-icon-body{background:linear-gradient(135deg,#a18cd1,#fbc2eb)}.animated-icon.orange .animated-icon-body{background:linear-gradient(135deg,#f6d365,#fda085)}.animated-icon.pink .animated-icon-body{background:linear-gradient(135deg,#ff9a9e,#fecfef 99%,#fecfef)}.animated-icon.red .animated-icon-body{background:linear-gradient(135deg,#ff6b6b,#ff8e8e)}.animated-icon.blue .animated-icon-arm{background:linear-gradient(135deg,#4facfe,#00c6fb)}.animated-icon.green .animated-icon-arm{background:linear-gradient(135deg,#43e97b,#38f9d7)}.animated-icon.purple .animated-icon-arm{background:linear-gradient(135deg,#a18cd1,#fbc2eb)}.animated-icon.orange .animated-icon-arm{background:linear-gradient(135deg,#f6d365,#fda085)}.animated-icon.pink .animated-icon-arm{background:linear-gradient(135deg,#ff9a9e,#fecfef)}.animated-icon.red .animated-icon-arm{background:linear-gradient(135deg,#ff6b6b,#ff8e8e)}@keyframes iconBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.animated-icon-face{position:absolute;top:30px;left:15px;right:15px;height:40px;display:flex;justify-content:space-between;align-items:center;padding:0 5px}.animated-icon-eye{width:24px;height:24px;background:#fff;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .1s}.animated-icon-eye.blink{transform:scaleY(.1)}.animated-icon-pupil{width:10px;height:10px;background:#2d3436;border-radius:50%;position:absolute;top:7px;left:7px;transition:transform .5s ease}.animated-icon-mouth{position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:10px;height:6px;background:#2d3436;border-radius:0 0 10px 10px;opacity:.6}.animated-icon-arm{position:absolute;top:55px;width:24px;height:45px;border-radius:12px;z-index:3;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:2px 2px 5px #0000001a}.animated-icon-arm.left{left:-10px;transform:rotate(20deg)}.animated-icon-arm.right{right:-10px;transform:rotate(-20deg)}.animated-icon-arm.right.waving{animation:iconWave .5s infinite alternate ease-in-out;transform-origin:top center}@keyframes iconWave{0%{transform:rotate(-20deg)}to{transform:rotate(-160deg)}}.animated-icon-leg{position:absolute;bottom:-10px;width:26px;height:25px;background:#2d3436;border-radius:0 0 15px 15px;z-index:1}.animated-icon-leg.left{left:20px}.animated-icon-leg.right{right:20px}.animated-icon-shadow{position:absolute;bottom:-15px;left:10px;right:10px;height:10px;background:#0000001a;border-radius:50%;filter:blur(4px);z-index:0;animation:iconShadowBreathe 3s ease-in-out infinite}@keyframes iconShadowBreathe{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.3}}.app-intro{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;z-index:9999;animation:introFadeIn .5s ease-out}.app-intro--fade-out{animation:introFadeOut .5s ease-out forwards}@keyframes introFadeIn{0%{opacity:0}to{opacity:1}}@keyframes introFadeOut{0%{opacity:1}to{opacity:0}}.app-intro__content{text-align:center;animation:contentSlideUp .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes contentSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.shadowpal-container{position:relative;width:120px;height:120px;margin:0 auto 32px}@keyframes floatAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.shadowpal-character{line-height:1;position:relative;z-index:2;filter:drop-shadow(0 8px 24px rgba(255,255,255,.3))}.shadowpal-character img{width:100px;height:100px;object-fit:contain}@keyframes characterPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.shadowpal-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;background:radial-gradient(circle,rgba(138,180,248,.4) 0%,transparent 70%);animation:glowPulse 2s ease-in-out infinite;z-index:1}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.3);opacity:.3}}.app-intro__title{font-size:32px;font-weight:800;margin:0 0 16px;line-height:1.2;letter-spacing:-.5px}.title-shadow{color:#8ab4f8;display:inline-block;animation:titleBounce .6s cubic-bezier(.68,-.55,.265,1.55) .3s backwards}.title-pal{color:#fff;display:inline-block;animation:titleBounce .6s cubic-bezier(.68,-.55,.265,1.55) .5s backwards}@keyframes titleBounce{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.app-intro__tagline{font-size:18px;color:#b8c5d6;font-weight:500;margin:0 0 40px;letter-spacing:.5px;animation:taglineFade .8s ease-out .8s backwards}@keyframes taglineFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro-loader{display:flex;justify-content:center;gap:12px;animation:loaderFade .5s ease-out 1s backwards}@keyframes loaderFade{0%{opacity:0}to{opacity:1}}.loader-dot{width:10px;height:10px;border-radius:50%;background:#8ab4f8;animation:dotBounce 1.4s ease-in-out infinite}.loader-dot:nth-child(1){animation-delay:0s}.loader-dot:nth-child(2){animation-delay:.2s}.loader-dot:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}@media (max-width: 480px){.shadowpal-container{width:100px;height:100px}.shadowpal-character{font-size:64px}.app-intro__title{font-size:48px}.app-intro__tagline{font-size:16px}}.login-page{height:100vh;width:100vw;background:url(/iconos/login.jpg) no-repeat center center fixed;background-size:cover;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;position:fixed;top:0;left:0}.login-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:-1}.login-container{width:100%;max-width:380px;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:40px 32px;box-shadow:0 8px 32px #0000001a;animation:slideUp .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;max-height:90vh;overflow-y:auto}.login-container::-webkit-scrollbar{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:40px}.login-icon{display:flex;justify-content:center;margin-bottom:20px}.emoji-face{width:100px;height:100px;background:#ffd93d;border-radius:50%;position:relative;box-shadow:inset -4px -4px 8px #0000001a,0 8px 16px #0003;border:2px solid #E6C229}.emoji-eyes{position:absolute;top:30px;left:20px;right:20px;display:flex;justify-content:space-between}.emoji-eye{width:24px;height:24px;background:#fff;border-radius:50%;position:relative;overflow:hidden}.emoji-pupil{width:12px;height:12px;background:#333;border-radius:50%;position:absolute;top:6px;left:6px;animation:lookAround 3s infinite}.emoji-mouth{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:40px;height:16px;border-bottom:4px solid #333;border-radius:0 0 20px 20px;animation:smileChange 4s infinite alternate}@keyframes lookAround{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px,-4px)}75%{transform:translateY(4px)}}@keyframes smileChange{0%{height:16px;border-radius:0 0 20px 20px}to{height:10px;border-radius:0 0 30px 30px}}.login-title{font-size:24px;font-weight:800;color:#fff;margin-bottom:8px;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.2}.login-subtitle{font-size:16px;color:#ffffffe6;font-weight:500}.install-badge{position:absolute;bottom:-10px;right:-10px;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:20px;padding:6px 12px;color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #4caf5066;display:flex;align-items:center;gap:4px;animation:pulse-download 2s ease-in-out infinite;transition:transform .2s ease}.install-badge:hover{transform:scale(1.1)}.install-badge-icon{font-size:16px}.install-badge-text{font-size:11px;white-space:nowrap}.install-app-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;transition:all .3s ease;box-shadow:0 4px 12px #4caf504d;animation:pulse-download 2s ease-in-out infinite}.install-app-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.install-icon{font-size:20px}@keyframes pulse-download{0%,to{box-shadow:0 4px 12px #4caf504d}50%{box-shadow:0 4px 20px #4caf5099}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{position:relative;margin-bottom:0}.floating-label input{width:100%;padding:24px 16px 8px;height:56px;border:2px solid transparent;background:var(--bg-primary);border-radius:16px;font-size:16px;color:var(--text-primary);transition:all .2s ease;font-weight:500}.floating-label input:focus{outline:none;background:var(--bg-secondary);border-color:var(--primary-color);box-shadow:0 4px 20px #0000000d}.floating-label label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--text-secondary);pointer-events:none;transition:all .2s ease;background:transparent;padding:0 4px}.floating-label input:focus+label,.floating-label input:not(:placeholder-shown)+label{top:14px;font-size:12px;color:var(--primary-color);font-weight:600;transform:translateY(-50%)}.floating-label input:not(:placeholder-shown)+label{color:var(--text-secondary)}.floating-label input:focus+label{color:var(--primary-color)}.toggle-password{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;cursor:pointer;padding:4px;color:var(--text-secondary);transition:color .2s;z-index:10}.toggle-password:hover{color:var(--primary-color)}.forgot-password-link{background:none;border:none;color:var(--primary-color);font-size:14px;font-weight:600;cursor:pointer;text-align:right;padding:8px 0;transition:all .2s ease;margin-top:4px;width:100%;display:block}.forgot-password-link:hover{opacity:.8;text-decoration:none}.error-message{display:flex;align-items:center;gap:12px;padding:14px;background:#fef2f2;border:1px solid #FECACA;border-radius:12px;color:#991b1b;font-size:14px;font-weight:500;animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.error-icon{font-size:18px}.login-button{width:100%;padding:18px;background:var(--primary-color);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 10px 20px #ff8c4240;margin-top:12px;letter-spacing:.5px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 30px #ff8c4259;background:var(--primary-dark)}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.login-footer{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.demo-hint{text-align:center;font-size:13px;color:var(--text-secondary);line-height:1.6;background:var(--bg-secondary);padding:16px;border-radius:12px}.demo-hint strong{color:var(--primary-color);display:block;margin-bottom:8px}@media (max-width: 480px){.login-container{padding:32px 24px}.login-title{font-size:28px}}.mascot-container{width:160px;height:160px;position:relative;display:flex;justify-content:center;align-items:flex-end;margin:0 auto 20px;perspective:500px}.mascot-container.entering .mascot{animation:walkIn 1.5s cubic-bezier(.4,0,.2,1) forwards}@keyframes walkIn{0%{transform:translate(-200%) rotate(-10deg)}20%{transform:translate(-160%) translateY(-10px) rotate(5deg)}40%{transform:translate(-120%) translateY(0) rotate(-5deg)}60%{transform:translate(-80%) translateY(-10px) rotate(5deg)}80%{transform:translate(-40%) translateY(0) rotate(-5deg)}to{transform:translate(0) rotate(0)}}.mascot{position:relative;width:100px;height:110px;transition:all .3s ease}.mascot-body{width:100%;height:100%;background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:50px 50px 40px 40px;position:relative;z-index:2;box-shadow:inset -5px -5px 15px #0000001a,inset 5px 5px 15px #fff6;animation:breathe 3s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.mascot-face{position:absolute;top:30px;left:15px;right:15px;height:40px;display:flex;justify-content:space-between;align-items:center;padding:0 5px}.mascot-eye{width:24px;height:24px;background:#fff;border-radius:50%;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .1s}.mascot-eye.blink{transform:scaleY(.1)}.mascot-pupil{width:10px;height:10px;background:#2d3436;border-radius:50%;position:absolute;top:7px;left:7px;transition:transform .1s ease}.mascot-mouth{position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:10px;height:6px;background:#2d3436;border-radius:0 0 10px 10px;opacity:.6}.mascot-blush{position:absolute;top:25px;left:0;right:0;height:10px;pointer-events:none}.mascot-blush:before,.mascot-blush:after{content:"";position:absolute;width:12px;height:6px;background:#ff9a9e;border-radius:50%;opacity:0;transition:opacity .3s}.mascot-blush:before{left:2px}.mascot-blush:after{right:2px}.mascot-blush.visible:before,.mascot-blush.visible:after{opacity:.6}.mascot-arm{position:absolute;top:55px;width:24px;height:45px;background:linear-gradient(135deg,#4facfe,#00c6fb);border-radius:12px;z-index:3;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:2px 2px 5px #0000001a}.mascot-arm.left{left:-10px;transform-origin:top right;transform:rotate(10deg)}.mascot-arm.right{right:-10px;transform-origin:top left;transform:rotate(-10deg)}.mascot-arm.right.waving{animation:wave .5s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(-20deg)}50%{transform:rotate(-140deg)}}.mascot-arm.left.covering-eye{transform:rotate(140deg) translate(10px) translateY(-5px);height:55px}.mascot-arm.right.covering-eye{transform:rotate(-140deg) translate(-10px) translateY(-5px);height:55px}.mascot-leg{position:absolute;bottom:-10px;width:22px;height:25px;background:#00c6fb;border-radius:0 0 12px 12px;z-index:1}.mascot-leg.left{left:20px}.mascot-leg.right{right:20px}.mascot-container.entering .mascot-leg.left{animation:legWalk .4s infinite alternate}.mascot-container.entering .mascot-leg.right{animation:legWalk .4s infinite alternate-reverse}@keyframes legWalk{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.mascot-shadow{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:80px;height:10px;background:#00000026;border-radius:50%;animation:shadowScale 3s ease-in-out infinite}@keyframes shadowScale{0%,to{transform:translate(-50%) scale(1);opacity:.3}50%{transform:translate(-50%) scale(.8);opacity:.5}}.mascot.walking .mascot-body{animation:walkBody .6s infinite alternate ease-in-out}@keyframes walkBody{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-5px) rotate(2deg)}}.mascot.happy .mascot-body{animation:happyJump .5s infinite alternate ease-in-out}@keyframes happyJump{0%{transform:translateY(0)}to{transform:translateY(-15px)}}.mascot.happy .mascot-arm.left{transform:rotate(140deg)}.mascot.happy .mascot-arm.right{transform:rotate(-140deg)}.mascot-leg.walking{animation:walkLeg .6s infinite alternate ease-in-out}.mascot.type-robot .mascot-body{border-radius:15px;background:linear-gradient(135deg,#a8edea,#fed6e3)}.mascot.type-robot .mascot-arm{border-radius:5px}.mascot.type-robot .mascot-leg{border-radius:0 0 5px 5px}.mascot-ear{position:absolute;top:-15px;width:25px;height:25px;z-index:1;transition:all .3s ease}.mascot-ear.bear{background:inherit;border-radius:50%;top:-10px}.mascot-ear.bear.left{left:10px}.mascot-ear.bear.right{right:10px}.mascot-ear.fox{background:inherit;border-radius:5px 20px 0 0;width:30px;height:35px;top:-20px}.mascot-ear.fox.left{left:5px;transform:rotate(-15deg)}.mascot-ear.fox.right{right:5px;transform:rotate(15deg) scaleX(-1)}.mascot-antenna{position:absolute;top:-25px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.antenna-stick{width:4px;height:15px;background:#2d3436}.antenna-ball{width:10px;height:10px;background:#ff7675;border-radius:50%;animation:blinkLight 1s infinite alternate}@keyframes blinkLight{0%{opacity:.5;box-shadow:0 0 #ff767500}to{opacity:1;box-shadow:0 0 10px #ff7675cc}}.mascot-mouth.laughing{height:12px;border-radius:0 0 15px 15px;background:#d63031;width:16px}.mascot.jumping{animation:jumpClick .5s ease-out}@keyframes jumpClick{0%{transform:scale(1) translateY(0)}40%{transform:scale(.9) translateY(10px)}60%{transform:scale(1.1) translateY(-40px) rotate(5deg)}80%{transform:scale(1.05) translateY(-10px)}to{transform:scale(1) translateY(0)}}.mascot-speech-bubble{position:absolute;top:-35px;right:-25px;background:#fff;color:#2d3436;padding:6px 10px;border-radius:12px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0000001a;opacity:0;transform:scale(.8) translateY(10px);transition:all .3s cubic-bezier(.175,.885,.32,1.275);pointer-events:none;white-space:nowrap;z-index:10;max-width:80px;text-align:center}.mascot-speech-bubble.visible{opacity:1;transform:scale(1) translateY(0)}.mascot-speech-bubble:after{content:"";position:absolute;bottom:-6px;left:10px;border-width:8px 8px 0;border-style:solid;border-color:white transparent transparent transparent;transform:rotate(15deg)}.mascot-ear{background:linear-gradient(135deg,#4facfe,#00f2fe)}@keyframes colorCycleGold{0%{color:gold;text-shadow:0 0 8px rgba(255,215,0,.3)}20%{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.3)}40%{color:#ffc107;text-shadow:0 0 8px rgba(255,193,7,.3)}60%{color:wheat;text-shadow:0 0 8px rgba(245,222,179,.3)}80%{color:#ffeb3b;text-shadow:0 0 8px rgba(255,235,59,.3)}to{color:gold;text-shadow:0 0 8px rgba(255,215,0,.3)}}@keyframes colorCycleWhite{0%{color:#fff;text-shadow:0 0 6px rgba(255,255,255,.2)}25%{color:gold;text-shadow:0 0 6px rgba(255,215,0,.2)}50%{color:#fff8dc;text-shadow:0 0 6px rgba(255,248,220,.2)}75%{color:#ffeeba;text-shadow:0 0 6px rgba(255,238,186,.2)}to{color:#fff;text-shadow:0 0 6px rgba(255,255,255,.2)}}@keyframes colorCycleAmber{0%{color:#ffc107;text-shadow:0 0 5px rgba(255,193,7,.15)}33%{color:#ffe082;text-shadow:0 0 5px rgba(255,224,130,.15)}66%{color:#fff;text-shadow:0 0 5px rgba(255,255,255,.15)}to{color:#ffc107;text-shadow:0 0 5px rgba(255,193,7,.15)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.register-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;position:relative;overflow-x:hidden}.register-header{position:sticky;top:0;z-index:100;background:#1e2850eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 16px #0003;border-bottom:1px solid rgba(255,215,0,.15)}.register-container .back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:transparent;border:none;color:gold;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.register-container .back-button:active{transform:scale(.95);background:#ffd7001a}.register-title{font-size:1.25rem;font-weight:700;margin:0;animation:colorCycleGold 3s ease-in-out infinite;letter-spacing:.5px}.register-form{flex:1;background:linear-gradient(180deg,#1e285af2,#281e50f2);border-radius:24px 24px 0 0;padding:1.5rem 1.25rem 2rem;margin-top:.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.form-section{margin-bottom:2rem;padding:1.25rem;background:#ffffff0f;border-radius:16px;border:1px solid rgba(255,215,0,.1)}.form-section:last-of-type{margin-bottom:1.5rem}.register-container .section-title{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0 0 1rem;padding:0 .25rem;animation:colorCycleGold 3s ease-in-out infinite;animation-delay:.5s}.register-container .input-group{margin-bottom:1.25rem}.register-container .input-group label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:.5rem;padding-left:.25rem;animation:colorCycleWhite 3s ease-in-out infinite;animation-delay:1s}.register-container .input-group input,.register-container .input-group select{width:100%;padding:.875rem 1rem;font-size:1rem;color:#f0f0f0;background:#ffffff14;border:1.5px solid rgba(255,215,0,.25);border-radius:12px;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.register-container .input-group input:focus,.register-container .input-group select:focus{outline:none;border-color:gold;background:#ffffff1f;box-shadow:0 0 0 3px #ffd70026}.register-container .input-group input:disabled,.register-container .input-group select:disabled{opacity:.6;cursor:not-allowed}.register-container .input-group input::placeholder{color:#fff6}.register-container .input-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23FFD700'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem}.register-container .input-group select option{background:#1e2850;color:#f0f0f0}.register-container .input-hint{display:block;font-size:.8125rem;margin-top:.375rem;padding-left:.25rem;animation:colorCycleAmber 3s ease-in-out infinite;animation-delay:1.5s}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper input{padding-right:3rem}.toggle-password-btn{position:absolute;right:.75rem;background:transparent;border:none;font-size:1.25rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;transition:transform .2s ease}.toggle-password-btn:active{transform:scale(.9)}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#dc262626;border:1px solid rgba(255,100,100,.3);border-radius:12px;margin-bottom:1.5rem;color:#fca5a5;font-size:.9375rem}.submit-button{width:100%;padding:1rem;font-size:1.05rem;font-weight:700;color:#1a1a2e;background:linear-gradient(135deg,gold,#ffc107,#ffe082);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #ffd70059;display:flex;align-items:center;justify-content:center;gap:.5rem;-webkit-tap-highlight-color:transparent;margin-bottom:1rem;letter-spacing:.3px}.submit-button:active{transform:translateY(1px);box-shadow:0 2px 8px #ffd70066}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{width:16px;height:16px;border:2px solid rgba(26,26,46,.3);border-top-color:#1a1a2e;border-radius:50%;animation:spin .6s linear infinite}.link-button{width:100%;padding:.75rem;font-size:.9375rem;font-weight:500;background:transparent;border:none;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;animation:colorCycleAmber 3s ease-in-out infinite;animation-delay:2s}@media (min-width: 640px){.register-container{align-items:center;justify-content:center;padding:2rem}.register-header{position:relative;max-width:480px;width:100%;border-radius:16px 16px 0 0}.register-form{max-width:480px;width:100%;border-radius:0 0 16px 16px;box-shadow:0 20px 60px #0000001a}}@media (prefers-color-scheme: dark){.register-header{background:#14193cf2;border-bottom-color:#ffd7001a}.register-form{background:linear-gradient(180deg,#14193cfa,#1e143cfa)}.input-group input,.input-group select{color:#f9fafb;background:#ffffff0f;border-color:#ffd70033}.input-group input:focus,.input-group select:focus{border-color:gold;background:#ffffff1a;box-shadow:0 0 0 3px #ffd7001f}}.register-form{scroll-behavior:smooth}@supports (padding: max(0px)){.register-form{padding-bottom:max(2rem,env(safe-area-inset-bottom))}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.consent-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column}.consent-header{position:sticky;top:0;z-index:100;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 10px #0000000d;border-bottom:1px solid rgba(0,0,0,.05)}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:transparent;border:none;color:#667eea;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.back-button:active{transform:scale(.95);background:#f3f4f6}.consent-title{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.consent-content{flex:1;background:#fff;border-radius:24px 24px 0 0;padding:1.5rem 1.25rem 2rem;margin-top:.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.consent-section{margin-bottom:2rem}.section-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #667eea}.text-content{font-size:.9375rem;line-height:1.7;color:#374151}.text-content h3{font-size:1rem;font-weight:600;color:#1f2937;margin:1.5rem 0 .75rem}.text-content p{margin:.75rem 0}.text-content ul{margin:.75rem 0;padding-left:1.5rem}.text-content li{margin:.5rem 0}.text-content strong{color:#667eea;font-weight:600}.text-content em{font-style:italic;color:#6b7280}.informed-consent{background:#f9fafb;padding:1.25rem;border-radius:12px;border-left:4px solid #667eea}.contact-box{background:#fff;padding:1rem;border-radius:8px;margin-top:1rem;border:1px solid #e5e7eb}.contact-box p{margin:.5rem 0}.contact-box a{color:#667eea;text-decoration:none;font-weight:500}.contact-box a:hover{text-decoration:underline}.consent-form{margin-top:2rem;padding-top:2rem;border-top:2px solid #e5e7eb}.form-section,.input-group{margin-bottom:1.5rem}.input-group label{display:block;font-size:.9375rem;font-weight:600;color:#374151;margin-bottom:.5rem}.input-group input{width:100%;padding:.875rem 1rem;font-size:1rem;color:#1f2937;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:12px;transition:all .2s ease}.input-group input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.input-hint{display:block;font-size:.8125rem;color:#6b7280;margin-top:.375rem}.checkbox-group{margin:1.5rem 0}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;margin-top:.125rem;cursor:pointer;accent-color:#667eea}.checkbox-text{font-size:.9375rem;line-height:1.6;color:#374151}.checkbox-text strong{color:#667eea}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin:1rem 0;color:#991b1b;font-size:.9375rem}.error-icon{font-size:1.25rem;flex-shrink:0}.submit-button{width:100%;padding:1rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d;-webkit-tap-highlight-color:transparent;margin-bottom:1rem}.submit-button:active{transform:translateY(1px);box-shadow:0 2px 8px #667eea4d}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.link-button{width:100%;padding:.75rem;font-size:.9375rem;font-weight:500;color:#667eea;background:transparent;border:none;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.link-button:active{opacity:.7}@media (min-width: 640px){.consent-container{align-items:center;justify-content:flex-start;padding:2rem}.consent-header{position:relative;max-width:768px;width:100%;border-radius:16px 16px 0 0}.consent-content{max-width:768px;width:100%;border-radius:0 0 16px 16px;box-shadow:0 20px 60px #0000001a;max-height:calc(100vh - 180px)}}@supports (padding: max(0px)){.consent-content{padding-bottom:max(2rem,env(safe-area-inset-bottom))}}.welcome-page{min-height:100vh;background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradientBG 15s ease infinite;display:flex;align-items:center;justify-content:center;color:#fff;padding:20px;text-align:center;position:relative;overflow:hidden}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.background-shapes{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.shape{position:absolute;filter:blur(50px);opacity:.6;animation:float 20s infinite}.shape-1{top:-10%;left:-10%;width:300px;height:300px;background:#ff9a9e;border-radius:40% 60% 70% 30%/40% 50% 60%;animation-delay:0s}.shape-2{bottom:-10%;right:-5%;width:350px;height:350px;background:#a18cd1;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation-delay:-5s}.shape-3{top:40%;left:40%;width:200px;height:200px;background:#fbc2eb;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-50px) rotate(10deg)}66%{transform:translate(-20px,20px) rotate(-5deg)}}.welcome-content{width:100%;max-width:400px;z-index:10;background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:30px;padding:40px 30px;border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 50px #00000026;animation:popIn .8s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.greeting-section{margin-bottom:30px}.greeting-text{font-size:1.5rem;font-weight:500;margin-bottom:5px;text-transform:uppercase;letter-spacing:2px;opacity:.9}.user-name-welcome{font-size:2.8rem;font-weight:800;margin:0;background:linear-gradient(to right,#fff,#f0f0f0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 10px 20px rgba(0,0,0,.1);line-height:1.1}.info-section{display:flex;flex-direction:column;gap:10px;margin-bottom:35px}.date-text{font-size:1.1rem;font-weight:500;opacity:.9;text-transform:capitalize}.time-text{font-size:3.5rem;font-weight:700;letter-spacing:-1px;text-shadow:0 4px 10px rgba(0,0,0,.1);margin:5px 0}.weather-badge{align-self:center;display:inline-flex;align-items:center;gap:8px;background:#ffffff40;padding:8px 20px;border-radius:50px;font-size:1.2rem;font-weight:700;box-shadow:0 4px 15px #0000000d;transition:transform .3s ease}.weather-badge:hover{transform:scale(1.05)}.phrase-section{margin-bottom:30px;min-height:80px;display:flex;align-items:center;justify-content:center}.motivational-phrase{font-size:1.4rem;font-style:italic;line-height:1.4;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.loading-bar-container{width:100%;height:6px;background:#fff3;border-radius:10px;overflow:hidden}.loading-bar{height:100%;background:#fff;width:0%;border-radius:10px;box-shadow:0 0 10px #ffffff80;animation:progress 8s linear forwards}@keyframes progress{0%{width:0%}to{width:100%}}.welcome-page:before,.welcome-page:after{display:none}.welcome-page.fade-out{opacity:0;transition:opacity 1s ease-out;pointer-events:none}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.reset-password-card{background:#fff;border-radius:24px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideUp .5s ease}.reset-password-loading{text-align:center;padding:40px 20px}.spinner{width:50px;height:50px;margin:0 auto 20px;border:4px solid #e0e6ed;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.reset-password-loading p{font-size:16px;color:#7f8c8d}.reset-password-error{text-align:center;padding:20px}.reset-password-error h1{font-size:24px;color:#e74c3c;margin:0 0 16px}.reset-password-error p{font-size:15px;color:#7f8c8d;margin:0 0 24px;line-height:1.6}.reset-password-header{text-align:center;margin-bottom:32px}.reset-password-header h1{font-size:28px;font-weight:700;color:#2c3e50;margin:0 0 12px}.user-email{font-size:14px;color:#667eea;font-weight:600;margin:0}.reset-password-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:15px;font-weight:600;color:#2c3e50}.password-input-wrapper{position:relative}.form-input{width:100%;padding:14px 50px 14px 16px;font-size:16px;border:2px solid #e0e6ed;border-radius:12px;background:#f8f9fa;color:#2c3e50;transition:all .3s ease;font-family:inherit}.form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.toggle-password{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;cursor:pointer;padding:8px;transition:all .2s ease;opacity:.6}.toggle-password:hover{opacity:1;transform:translateY(-50%) scale(1.1)}.alert{padding:14px 16px;border-radius:12px;font-size:14px;font-weight:500;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:#fee;color:#c33;border:1px solid #fcc}.alert-success{background:#efe;color:#3a3;border:1px solid #cfc}.btn-submit{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.reset-password-footer{text-align:center;margin-top:8px}.btn-back{background:none;border:none;color:#667eea;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;padding:8px}.btn-back:hover{color:#764ba2;text-decoration:underline}@media (max-width: 600px){.reset-password-card{padding:30px 24px}.reset-password-header h1{font-size:24px}}.tutorial-page{min-height:100vh;background:var(--bg-primary);padding:24px 24px 40px}.tutorial-header{text-align:center;margin-bottom:32px;animation:fadeIn .6s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.tutorial-icon{font-size:72px;margin-bottom:16px}.tutorial-icon img{width:90px;height:90px;object-fit:contain}.tutorial-title{font-size:32px;font-weight:800;color:var(--text-primary);margin-bottom:8px}.tutorial-subtitle{font-size:16px;color:var(--text-secondary);line-height:1.5;margin-bottom:32px}.start-button-top{width:100%;max-width:500px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:20px;font-size:18px;cursor:pointer;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 8px 32px #0003;animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 8px 32px #0003}50%{box-shadow:0 8px 32px var(--primary-light),0 0 40px var(--primary-color)}}.start-button-top:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 48px #0000004d}.start-button-top:active{transform:translateY(-2px) scale(1)}.start-button__icon{font-size:32px;animation:bounce 2s ease-in-out infinite}.start-button__text{flex:1;text-align:left;display:flex;flex-direction:column;gap:4px}.start-button__text strong{font-size:18px;font-weight:800;display:block;letter-spacing:.3px}.start-button__text small{font-size:13px;opacity:.9;font-weight:500}.start-arrow{font-size:28px;transition:transform .3s ease}.start-button-top:hover .start-arrow{transform:translate(8px)}.tools-section-title{display:flex;align-items:center;justify-content:center;gap:16px;margin:40px 0 24px}.divider-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.section-text{font-size:14px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.tools-grid{display:grid;gap:20px;margin-bottom:24px}.tool-card{background:var(--bg-secondary);border-radius:20px;padding:24px;cursor:pointer;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);border:2px solid transparent;box-shadow:var(--card-shadow);animation:slideIn .5s ease backwards}.tool-card:nth-child(1){animation-delay:.1s}.tool-card:nth-child(2){animation-delay:.2s}.tool-card:nth-child(3){animation-delay:.3s}.tool-card:nth-child(4){animation-delay:.4s}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.tool-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.tool-card--active{border-color:var(--tool-color);box-shadow:0 8px 32px #00000026;transform:scale(1.02)}.tool-card__icon{font-size:48px;margin-bottom:16px;display:inline-block;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.tool-card__title{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.tool-card__description{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.tool-card__details{margin-top:16px;padding-top:16px;border-top:2px solid var(--tool-color);animation:expandDetails .3s ease}@keyframes expandDetails{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.features-title{font-size:16px;font-weight:700;color:var(--tool-color);margin-bottom:12px}.features-list{list-style:none;padding:0;margin:0}.feature-item{font-size:14px;color:var(--text-primary);padding:8px 0;border-bottom:1px solid var(--border-color);line-height:1.5}.feature-item:last-child{border-bottom:none}.tool-card__hint{margin-top:12px;text-align:center;font-size:12px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 480px){.tutorial-page{padding:16px 16px 100px}.tutorial-icon{font-size:56px}.tutorial-title{font-size:26px}.tool-card{padding:20px}.tool-card__icon{font-size:40px}.tool-card__title{font-size:20px}}.mobile-button{width:100%;min-height:100px;border-radius:24px;padding:20px 24px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:20px;margin:0;background:#fff;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 20px #0000000d,0 2px 6px #0000000d;transition:all .3s cubic-bezier(.25,.8,.25,1);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.mobile-button--tasks{background:linear-gradient(135deg,#fff,#f0f7ff);border-left:6px solid #4facfe}.mobile-button--team{background:linear-gradient(135deg,#fff,#fff0f5);border-left:6px solid #ff6b6b}.mobile-button--chatbot{background:linear-gradient(135deg,#fff,#f0fff4);border-left:6px solid #43e97b}.mobile-button--default{background:linear-gradient(135deg,#fff,#f8f9fa);border-left:6px solid #6c757d}.mobile-button--pet{background:linear-gradient(135deg,#fff,#f1f8e9);border-left:6px solid #8bc34a}.mobile-button--panic{background:linear-gradient(135deg,#fff,#ffebee);border-left:6px solid #f44336}.mobile-button--games{background:linear-gradient(135deg,#fff,#f3e5f5);border-left:6px solid #9c27b0}.mobile-button--avatar{background:linear-gradient(135deg,#fff,#e8ecff);border-left:6px solid #667eea}.mobile-button--avatar .avatar-button-icon{display:flex;align-items:center;justify-content:center}.mobile-button:after{content:"→";position:absolute;right:24px;font-size:24px;color:#ccc;opacity:0;transform:translate(-10px);transition:all .3s ease}.mobile-button:hover:after{opacity:1;transform:translate(0)}.mobile-button:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 15px 30px #0000001a,0 5px 15px #0000000d}.mobile-button:active{transform:scale(.98)}.mobile-button__icon{font-size:42px;line-height:1;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));transition:transform .3s ease}.mobile-button:hover .mobile-button__icon{transform:scale(1.1) rotate(5deg)}.mobile-button__text{font-size:1.25rem;font-weight:700;color:#2d3436;letter-spacing:-.5px;flex:1;text-align:left}.visibility-toggle{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;font-size:18px;transition:all .3s ease;box-shadow:0 2px 8px #0003}.visibility-toggle.visible{background-color:#4caf50;color:#fff}.visibility-toggle.hidden{background-color:#f44336;color:#fff}.visibility-toggle:hover{transform:scale(1.1)}.visibility-toggle:active{transform:scale(.95)}.pending-reminders-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.pending-reminders-modal{background:var(--bg-primary);border-radius:24px;max-width:600px;width:100%;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.pending-reminders-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);padding:24px;display:flex;align-items:center;justify-content:space-between;color:#fff}.pending-reminders-header h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.5px}.close-reminders-btn{width:36px;height:36px;border-radius:50%;background:#fff3;border:none;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-reminders-btn:hover{background:#ffffff4d;transform:scale(1.1)}.pending-reminders-content{padding:24px;overflow-y:auto;max-height:calc(85vh - 120px)}.pending-reminders-subtitle{font-size:16px;color:var(--text-secondary);margin:0 0 20px;text-align:center;font-weight:500}.pending-tasks-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.pending-task-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:16px;transition:all .3s ease}.pending-task-card:hover{border-color:var(--primary-color);box-shadow:0 4px 16px #ff8c4226}.pending-task-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.pending-task-title{margin:0;font-size:18px;font-weight:700;color:var(--text-primary);flex:1}.mark-complete-btn{width:32px;height:32px;border-radius:50%;background:var(--color-success);border:none;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.mark-complete-btn:hover{transform:scale(1.15);box-shadow:0 4px 12px #4caf5066}.pending-task-info{display:flex;flex-direction:column;gap:10px}.pending-task-deadline,.pending-task-time-left{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.deadline-icon,.time-icon,.reminders-icon{font-size:16px}.pending-task-time-left{color:var(--primary-color);font-weight:600}.pending-task-reminders{display:flex;align-items:flex-start;gap:8px;margin-top:4px}.reminders-tags{display:flex;flex-wrap:wrap;gap:6px;flex:1}.reminder-tag{display:inline-block;padding:4px 10px;background:#ff8c4226;border:1px solid rgba(255,140,66,.3);border-radius:8px;font-size:12px;color:var(--primary-color);font-weight:600}.understood-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff8c424d}.understood-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4266}.understood-btn:active{transform:translateY(0)}@media (max-width: 600px){.pending-reminders-modal{max-height:90vh}.pending-reminders-header h2{font-size:20px}.pending-task-title{font-size:16px}}.page{min-height:100%;background:var(--bg-primary);padding:0;display:flex;flex-direction:column}.home-page{position:relative}.home-header{display:flex;justify-content:space-between;align-items:center;padding:24px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-bottom:1px solid var(--border-color);box-shadow:0 4px 16px #ff8c4233}.home-header__content{flex:1}.home-header__title{font-size:24px;font-weight:800;color:#fff;margin-bottom:6px;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.2}.home-header__subtitle{font-size:16px;color:#fffffff2;font-weight:500}.theme-toggle{width:52px;height:52px;border-radius:50%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:26px;transition:all .4s cubic-bezier(.68,-.55,.265,1.55);-webkit-tap-highlight-color:transparent;border:3px solid rgba(255,255,255,.5);box-shadow:0 4px 12px #00000026;cursor:pointer;position:relative;overflow:hidden}.theme-toggle:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#ffffff4d,#fff0);opacity:0;transition:opacity .3s ease}.theme-toggle:hover{background:#fff;transform:scale(1.1) rotate(20deg);box-shadow:0 6px 20px #00000040;border-color:#fff}.theme-toggle:hover:before{opacity:1}.theme-toggle:active{transform:scale(.95) rotate(0)}.theme-icon{display:block;animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.saldo-home-card{margin:20px 24px 0;background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;padding:24px;box-shadow:0 8px 24px #10b9814d;cursor:pointer;transition:all .3s ease;animation:slideDown .5s ease}.saldo-home-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #10b98166}.saldo-home-card:active{transform:translateY(-2px)}.saldo-home-content{display:flex;align-items:center;gap:16px;color:#fff}.saldo-home-icon{font-size:48px;animation:bounce 2s ease-in-out infinite}.saldo-home-info{flex:1;display:flex;flex-direction:column;gap:4px}.saldo-home-label{font-size:14px;font-weight:600;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.saldo-home-amount{font-size:36px;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.2);line-height:1}.saldo-home-arrow{font-size:28px;font-weight:700;opacity:.8;transition:transform .3s ease}.saldo-home-card:hover .saldo-home-arrow{transform:translate(4px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.home-content{flex:1;padding:24px 24px 20px;background:var(--bg-primary);display:flex;flex-direction:column;gap:16px}.home-welcome{font-size:20px;color:var(--text-primary);text-align:center;margin-bottom:28px;font-weight:600}.home-notifications-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:16px;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 6px 16px #00000014;margin-bottom:16px}.home-notifications-toggle__info{display:flex;flex-direction:column;gap:4px}.home-notifications-toggle__title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.home-notifications-toggle__status{font-size:.9rem;font-weight:600}.home-notifications-toggle__status.is-on{color:#2e7d32}.home-notifications-toggle__status.is-off{color:#c62828}.home-notifications-toggle__hint{font-size:.8rem;color:var(--text-secondary)}.home-notifications-toggle__switch{position:relative;display:inline-block;width:54px;height:30px}.home-notifications-toggle__switch input{opacity:0;width:0;height:0}.home-notifications-toggle__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e0e0e0;transition:.3s;border-radius:999px}.home-notifications-toggle__slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 6px #0003}.home-notifications-toggle__switch input:checked+.home-notifications-toggle__slider{background-color:#22c55e}.home-notifications-toggle__switch input:checked+.home-notifications-toggle__slider:before{transform:translate(24px)}.avatar-selector-panel{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:20px;margin-bottom:8px;box-shadow:0 8px 25px #667eea4d;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.avatar-selector-title{text-align:center;color:#fff;font-size:1rem;font-weight:600;margin:0 0 15px}.avatar-selector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-height:280px;overflow-y:auto;padding:5px}.avatar-selector-grid::-webkit-scrollbar{width:6px}.avatar-selector-grid::-webkit-scrollbar-track{background:#fff3;border-radius:3px}.avatar-selector-grid::-webkit-scrollbar-thumb{background:#ffffff80;border-radius:3px}.avatar-selector-item{display:flex;align-items:center;justify-content:center;padding:8px;background:#ffffffe6;border-radius:16px;cursor:pointer;transition:all .2s ease;border:3px solid transparent}.avatar-selector-item:hover{transform:scale(1.05);background:#fff}.avatar-selector-item.selected{border-color:gold;background:#fff;box-shadow:0 0 15px #ffd70080}.avatar-selector-item.disabled{opacity:.5;pointer-events:none}.home-business-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:24px;box-shadow:0 10px 30px #0000001a;overflow:hidden;position:relative;font-family:Segoe UI,system-ui,sans-serif;border:1px solid rgba(255,255,255,.5);margin-top:24px;margin-bottom:24px}.home-business-card .card-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);padding:24px;display:flex;align-items:center;gap:16px;color:#fff;position:relative}.home-business-card .card-header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:20px;background:#fff;border-radius:24px 24px 0 0}.home-business-card .avatar-circle{width:56px;height:56px;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;border:2px solid rgba(255,255,255,.4);box-shadow:0 4px 12px #0000001a}.home-business-card .user-identity{flex:1}.home-business-card .user-name{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff}.home-business-card .user-role{font-size:.8rem;opacity:.9;text-transform:uppercase;letter-spacing:1px;font-weight:500;margin-top:2px;display:block}.home-business-card .card-body{padding:10px 24px 24px;background:#fff}.home-business-card .info-group{margin-bottom:16px;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.home-business-card .info-group:last-child{border-bottom:none;margin-bottom:0}.home-business-card .info-group label{display:block;font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-weight:600}.home-business-card .info-group p{margin:0;font-size:1rem;color:#333;font-weight:500}.home-footer{position:relative;width:100%;padding:20px 20px 0;text-align:center;background:transparent;border-top:none;box-shadow:none;margin-top:auto}.home-footer p{font-size:13px;color:var(--text-secondary);font-weight:500}.avatar-showcase-section{background:linear-gradient(135deg,#667eea,#764ba2);margin:12px 20px;border-radius:20px;overflow:hidden;box-shadow:0 8px 25px #667eea4d}.avatar-showcase-header{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:background .3s ease}.avatar-showcase-header:hover{background:#ffffff1a}.avatar-showcase-preview{width:60px;height:60px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;overflow:visible;box-shadow:0 4px 12px #0003;border:3px solid rgba(255,255,255,.5)}.avatar-showcase-preview.mascot-preview{background:transparent;border:none;box-shadow:none}.avatar-showcase-img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:28px}.avatar-showcase-info{flex:1;margin-left:16px}.avatar-showcase-info h3{color:#fff;font-size:1.1rem;font-weight:700;margin:0 0 4px}.avatar-showcase-info p{color:#ffffffd9;font-size:.85rem;margin:0}.avatar-showcase-arrow{color:#fff;font-size:1rem;opacity:.8}.avatar-grid-container{background:#fffffff2;padding:20px;position:relative}.avatar-grid-title{text-align:center;color:#555;font-size:.9rem;margin:0 0 15px;font-weight:500}.avatar-saving-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;font-weight:600;color:#667eea;z-index:10}.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-height:280px;overflow-y:auto;padding-right:5px}.avatar-grid.mascot-grid{grid-template-columns:repeat(3,1fr);gap:15px;max-height:350px;padding:10px 5px}.mascot-grid-item{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s}.mascot-grid-item:hover{transform:scale(1.05)}.mascot-grid-item.disabled{opacity:.5;pointer-events:none}.avatar-grid::-webkit-scrollbar{width:6px}.avatar-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.avatar-grid::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.avatar-grid-item{aspect-ratio:1;border-radius:12px;border:2px solid #e0e0e0;background:#fff;padding:6px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;justify-content:center}.avatar-grid-item:hover{transform:scale(1.08);border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.avatar-grid-item.selected{border-color:#667eea;background:linear-gradient(135deg,#e8ecff,#f0e8ff);box-shadow:0 4px 15px #667eea66}.avatar-grid-item img{width:100%;height:100%;object-fit:contain}.avatar-grid-item .avatar-check{position:absolute;bottom:-4px;right:-4px;background:#667eea;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 2px 6px #0003}.avatar-grid-item:disabled{opacity:.5;cursor:not-allowed}.mascot-in-card{overflow:visible!important;background:transparent!important}.task-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease}.task-modal-content{background:#fff;border-radius:24px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s cubic-bezier(.68,-.55,.265,1.55);border:1px solid rgba(0,0,0,.05)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.task-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #f0f0f0;background:linear-gradient(to right,#fff,#fcfcfc)}.task-modal-title{font-size:24px;font-weight:800;color:#2d3436;margin:0;letter-spacing:-.5px}.form-label{display:block;font-size:14px;font-weight:700;color:#636e72;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-input,.form-textarea{width:100%;padding:14px 16px;border-radius:16px;border:2px solid #f1f2f6;background:#f8f9fa;font-size:16px;color:#2d3436;transition:all .3s ease}.form-input:focus,.form-textarea:focus{background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 4px #ff8c4226;outline:none}.save-btn{width:100%;padding:16px;border-radius:16px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;font-size:18px;font-weight:700;border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 20px #ff8c424d;margin-top:10px}.save-btn:hover{transform:translateY(-2px);box-shadow:0 15px 30px #ff8c4266}.save-btn:active{transform:scale(.98)}.form-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease;font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #ff8c421a}.form-input::placeholder{color:var(--text-secondary);opacity:.6}.form-textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.reminders-list{display:flex;flex-direction:column;gap:12px}.reminder-checkbox{display:flex;align-items:center;padding:14px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.reminder-checkbox:hover{border-color:var(--primary-color);background:var(--bg-secondary)}.reminder-checkbox input[type=checkbox]{width:22px;height:22px;margin-right:12px;cursor:pointer;accent-color:var(--primary-color)}.reminder-label{font-size:15px;color:var(--text-primary);font-weight:500}.reminder-checkbox:has(input:checked){border-color:var(--primary-color);background:#ff8c4214}.task-modal-actions{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:2px solid var(--border-color)}.btn-cancel,.btn-save{flex:1;padding:14px 24px;font-size:16px;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-cancel{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-cancel:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.btn-save{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 12px #ff8c424d}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4266}.btn-save:active{transform:translateY(0)}@media (max-width: 480px){.task-modal-content{max-width:100%;border-radius:20px 20px 0 0;max-height:85vh}.task-modal-header{padding:20px 20px 12px}.task-modal-title{font-size:20px}.task-modal-form{padding:20px}.task-modal-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.task-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.task-detail-modal{background:var(--bg-primary);border-radius:24px;max-width:600px;width:100%;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease}.task-detail-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);padding:24px;display:flex;align-items:center;justify-content:space-between;color:#fff}.task-detail-header h2{margin:0;font-size:22px;font-weight:700;flex:1}.close-detail-btn{width:36px;height:36px;border-radius:50%;background:#fff3;border:none;color:#fff;font-size:20px;cursor:pointer;transition:all .2s ease}.close-detail-btn:hover{background:#ffffff4d;transform:scale(1.1)}.task-detail-content{padding:24px;overflow-y:auto;max-height:calc(85vh - 200px)}.task-detail-section{margin-bottom:24px}.task-detail-section h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.task-description-text{font-size:15px;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;background:var(--bg-secondary);padding:16px;border-radius:12px;border-left:4px solid var(--primary-color)}.task-deadline-text{font-size:16px;font-weight:600;color:var(--primary-color);margin:0}.task-detail-reminders{list-style:none;padding:0;margin:0}.task-detail-reminders li{padding:10px 14px;background:var(--bg-secondary);border-radius:10px;margin-bottom:8px;font-size:14px;color:var(--text-secondary);border-left:3px solid var(--primary-color)}.task-detail-actions{padding:20px 24px;display:flex;gap:12px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.btn-detail-close{flex:1;padding:14px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;font-size:15px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.btn-detail-close:hover{border-color:var(--primary-color);color:var(--primary-color)}.btn-detail-complete{flex:2;padding:14px;background:linear-gradient(135deg,#4caf50,#388e3c);border:none;border-radius:12px;font-size:15px;font-weight:700;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4caf504d}.btn-detail-complete:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.page-header{display:flex;align-items:center;justify-content:center;gap:15px;padding:20px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #0000000d}.back-button,.add-button,.notification-alert-btn{width:44px;height:44px;border-radius:12px;background:var(--bg-primary);font-size:24px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);-webkit-tap-highlight-color:transparent;transition:all .3s ease;border:1px solid var(--border-color)}.back-button:hover,.add-button:hover,.notification-alert-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.05)}.back-button:active,.add-button:active,.notification-alert-btn:active{transform:scale(.95)}.notification-alert-btn{background:#ffc10726;border-color:#ffc1074d;animation:pulse-notification 2s ease infinite;overflow:hidden;padding:0}.emoji-face{width:32px;height:32px;background:#ffd93d;border-radius:50%;position:relative;box-shadow:inset -2px -2px 4px #0000001a;border:1px solid #E6C229;margin:auto}.emoji-eyes{position:absolute;top:10px;left:6px;right:6px;display:flex;justify-content:space-between}.emoji-eye{width:8px;height:8px;background:#fff;border-radius:50%;position:relative;overflow:hidden}.emoji-pupil{width:4px;height:4px;background:#333;border-radius:50%;position:absolute;top:2px;left:2px;animation:lookAround 4s infinite}.emoji-mouth{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:14px;height:6px;background:transparent;border-bottom:2px solid #333;border-radius:50%;opacity:.8;animation:talk 3s infinite}@keyframes talk{0%,90%,to{height:6px;border-radius:50%}92%{height:3px;border-radius:30%}94%{height:8px;border-radius:60%}96%{height:6px;border-radius:50%}}@keyframes lookAround{0%,to{transform:translate(0)}25%{transform:translate(-2px)}50%{transform:translate(2px,-1px)}75%{transform:translateY(1px)}}.page-title{font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.page-content{padding:24px 24px 100px}.section-title{font-size:22px;font-weight:700;color:var(--text-primary);margin-bottom:18px;letter-spacing:-.3px}.tasks-list{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.task-card{background:#fff;border-radius:24px;box-shadow:0 10px 20px #0000000d,0 2px 6px #0000000d;transition:all .3s cubic-bezier(.25,.8,.25,1);-webkit-tap-highlight-color:transparent;overflow:hidden;position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:0;margin-bottom:16px;border:1px solid rgba(0,0,0,.05);border-left:6px solid #ccc}.task-card:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 15px 30px #0000001a,0 5px 15px #0000000d}.task-card--priority-red{border-left-color:#ff6b6b;background:linear-gradient(to right,#fff5f5,#fff 30%)}.task-card--priority-orange{border-left-color:#ff9f43;background:linear-gradient(to right,#fff8f0,#fff 30%)}.task-card--priority-yellow{border-left-color:#feca57;background:linear-gradient(to right,#fffdf0,#fff 30%)}.task-card--priority-green{border-left-color:#1dd1a1;background:linear-gradient(to right,#f0fff9,#fff 30%)}.task-card--priority-purple{border-left-color:#5f27cd;background:linear-gradient(to right,#f3f0ff,#fff 30%)}.task-card--priority-pink{border-left-color:#e84393;background:linear-gradient(to right,#ffeaa7,#fff 30%)}.task-card--completed{border-left-color:#a4b0be;opacity:.8;background:#f8f9fa}.task-card-main{flex:1;display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;background:transparent;border:none;text-align:left;width:100%}.task-info{flex:1;display:flex;flex-direction:column;gap:6px}.task-title{font-size:18px;font-weight:700;color:#2d3436;margin:0;line-height:1.3}.task-deadline{display:flex;align-items:center;gap:6px;font-size:14px;color:#636e72;font-weight:500}.task-days-left{display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;border-radius:12px;background:#f1f2f6;color:#636e72;width:fit-content;margin-top:4px}.task-days-left--urgent{background:#ffeaa7;color:#d35400}.task-actions{display:flex;flex-direction:column;gap:8px;padding:12px;border-left:1px solid rgba(0,0,0,.05);background:#ffffff80}.task-action-btn{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .2s ease;background:#fff;box-shadow:0 2px 5px #0000001a}.task-action-btn:hover{transform:scale(1.1)}.task-action-btn--complete{color:#1dd1a1}.task-action-btn--complete:hover{background:#1dd1a1;color:#fff}.task-action-btn--edit{color:#54a0ff}.task-action-btn--edit:hover{background:#54a0ff;color:#fff}.task-action-btn--delete{color:#ff6b6b}.task-action-btn--delete:hover{background:#ff6b6b;color:#fff}.empty-state{text-align:center;padding:60px 24px}.empty-icon{font-size:72px;display:block;margin-bottom:16px;opacity:.5}.empty-text{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.empty-hint{font-size:14px;color:var(--text-secondary)}.task-priority-flag{position:absolute;top:-8px;right:12px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;z-index:10;box-shadow:0 6px 16px #00000040;border:3px solid white}.priority-flag-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.task-priority-flag--red{background:linear-gradient(135deg,#f44336,#d32f2f);animation:shake .5s ease infinite}.task-priority-flag--purple{background:linear-gradient(135deg,#9c27b0,#7b1fa2);animation:bounce-flag .8s ease infinite}.task-priority-flag--orange{background:linear-gradient(135deg,#ff9800,#f57c00)}.task-priority-flag--yellow{background:linear-gradient(135deg,#ffc107,#ffa000)}.task-priority-flag--green{background:linear-gradient(135deg,#4caf50,#388e3c)}.task-priority-flag--pink{background:linear-gradient(135deg,#fd79a8,#e84393)}.indicator-flag--pink{color:#e84393}@keyframes bounce-flag{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-5deg)}75%{transform:translate(4px) rotate(5deg)}}.team-project-card{background:linear-gradient(135deg,#ff8c420d,#ff6f0005);border:2px solid var(--primary-color);border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:var(--card-shadow);transition:all .3s ease}.team-project-card:hover{transform:translateY(-4px);box-shadow:var(--hover-shadow)}.team-project-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:18px;display:flex;align-items:center;gap:10px}.team-icon{font-size:26px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.team-members-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.team-member-item{background:var(--bg-secondary);border-radius:12px;padding:14px;border-left:4px solid var(--primary-color);box-shadow:0 1px 4px #0000000d;transition:all .3s ease}.team-member-item:hover{transform:translate(4px);box-shadow:0 2px 8px #ff8c4226}.team-member-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.member-checkbox{width:20px;height:20px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-size:14px}.member-name{font-weight:600;color:var(--text-primary);font-size:14px}.member-task{margin:0;font-size:13px;color:var(--text-secondary);padding-left:30px}.team-action-button{width:100%;padding:14px;background:#ff8c421a;border:2px dashed var(--primary-color);border-radius:14px;color:var(--primary-color);font-weight:700;font-size:15px;cursor:pointer;transition:all .3s ease}.team-action-button:hover{background:#ff8c4233;border-style:solid;transform:translateY(-2px)}.team-action-button:active{transform:scale(.98)}.quick-action-button{width:100%;padding:18px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-radius:18px;border:none;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:16px;cursor:pointer;transition:all .3s ease;margin-top:24px;box-shadow:0 6px 20px #ff8c4259;position:relative;overflow:hidden}.quick-action-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.quick-action-button:hover:before{left:100%}.quick-action-button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #ff8c4280}.quick-action-button:active{transform:translateY(-1px)}.quick-action-icon{font-size:20px}.feature-placeholder{background:var(--bg-secondary);border-radius:20px;padding:32px;text-align:center;margin-top:24px;opacity:.6}.feature-icon{font-size:40px;display:block;margin-bottom:12px}.feature-placeholder p{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.feature-placeholder small{font-size:14px;color:var(--text-secondary)}.tareas-page .tabs-container{display:flex!important;flex-direction:column!important;gap:12px;padding:24px;background:var(--bg-primary)}.tareas-page .tab-button{padding:18px 24px;border:2px solid;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 12px #0000001a}.tab-button:nth-child(1){background:linear-gradient(135deg,#2196f3,#1976d2);border-color:#1976d2;color:#fff}.tab-button:nth-child(2){background:linear-gradient(135deg,#4caf50,#388e3c);border-color:#388e3c;color:#fff}.tab-button:nth-child(3){background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#f57c00;color:#fff}.tab-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0003}.tab-button:active{transform:translateY(-1px)}.tab-button--active{box-shadow:0 8px 24px #0000004d;transform:scale(1.05)}.date-filter-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#ff8c421a;border:1px solid rgba(255,140,66,.3);border-radius:12px;margin-bottom:16px;font-size:14px;color:var(--primary-color);font-weight:600}.date-filter-banner button{padding:6px 12px;background:#fff;border:1px solid var(--border-color);border-radius:8px;font-size:12px;cursor:pointer;transition:all .2s ease}.date-filter-banner button:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.calendar-container{background:var(--bg-secondary);border-radius:16px;padding:20px;box-shadow:var(--card-shadow)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.calendar-nav-btn{width:40px;height:40px;border-radius:50%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:18px;cursor:pointer;transition:all .2s ease}.calendar-nav-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(1.1)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-weekday{text-align:center;font-size:12px;font-weight:700;color:var(--text-secondary);padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;cursor:default;transition:all .2s ease;position:relative}.calendar-day--empty{background:transparent;border:none}.calendar-day--has-tasks{cursor:pointer;border-width:2px}.calendar-day--has-tasks:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color)}.calendar-day-number{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.calendar-day-indicator{display:flex;align-items:center;gap:4px}.indicator-flag{display:inline-block;vertical-align:middle}.indicator-flag--red{color:#f44336;animation:pulse-indicator 2s ease infinite}.indicator-flag--purple{color:#9c27b0}.indicator-flag--orange{color:#ff9800}.indicator-flag--yellow{color:#ffc107}.indicator-flag--green{color:#4caf50}@keyframes pulse-indicator{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.task-count{font-size:10px;font-weight:700;color:var(--primary-color)}@media (max-width: 600px){.calendar-day-number{font-size:12px}.indicator-flag{width:10px;height:10px}.task-count{font-size:9px}}.legend-view{padding:1rem;animation:fadeIn .3s ease}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1rem}.legend-card{background:var(--bg-primary);padding:1.5rem;border-radius:12px;border-left:5px solid #ccc;box-shadow:0 2px 8px #0000001a;transition:transform .2s}.legend-card:hover{transform:translateY(-2px)}.legend-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.legend-header h3{margin:0;color:var(--text-primary)}.legend-icon{font-size:1.5rem}.legend-card p{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.equipos-page{min-height:100vh;background:var(--bg-primary);padding-bottom:100px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-icon{font-size:48px;animation:pulse 1.5s ease infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.equipos-header{text-align:center;padding:30px 24px 20px;background:linear-gradient(180deg,rgba(33,150,243,.1) 0%,transparent 100%)}.equipos-header-icon{font-size:56px;margin-bottom:10px;animation:bounce 2s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.equipos-header h1{font-size:26px;font-weight:800;color:var(--text-primary);margin:0 0 6px}.equipos-header p{font-size:14px;color:var(--text-secondary);margin:0}.equipos-tabs{display:flex;gap:0;padding:0 16px;margin-bottom:0}.equipos-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:var(--bg-secondary);border:2px solid var(--border-color);border-bottom:none;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.equipos-tab:first-child{border-radius:16px 0 0}.equipos-tab:last-child{border-radius:0 16px 0 0}.equipos-tab.active{background:var(--bg-primary);color:var(--primary-color);border-color:var(--primary-color);border-bottom:2px solid var(--bg-primary);margin-bottom:-2px;z-index:1}.tab-icon{font-size:18px}.tab-text{font-size:13px}.equipos-content{background:var(--bg-primary);margin:0 16px 24px;padding:20px;border:2px solid var(--primary-color);border-top:none;border-radius:0 0 16px 16px;min-height:400px}.como-usar-content{display:flex;flex-direction:column;gap:16px}.guide-card{padding:18px;background:var(--bg-secondary);border-radius:14px;border:1px solid var(--border-color)}.guide-card.guide-warning{background:#ff980014;border-color:#ff98004d}.guide-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.guide-icon{font-size:26px}.guide-card-header h2{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.guide-card p{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0}.roles-container{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.role-box{padding:14px;border-radius:12px;text-align:center}.role-admin{background:linear-gradient(135deg,#ffd70026,#ffb30014);border:2px solid rgba(255,193,7,.4)}.role-member{background:linear-gradient(135deg,#2196f31a,#2196f30d);border:2px solid rgba(33,150,243,.3)}.role-emoji{font-size:28px;display:block;margin-bottom:6px}.role-box h3{font-size:14px;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.role-box ul{list-style:none;padding:0;margin:0;text-align:left}.role-box li{font-size:11px;color:var(--text-secondary);padding:3px 0 3px 14px;position:relative}.role-box li:before{content:"•";position:absolute;left:3px;color:var(--primary-color)}.tasks-demo{margin:14px 0;display:flex;flex-direction:column;gap:8px}.task-demo-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-primary);border-radius:10px;border:1px solid var(--border-color)}.task-status-demo{font-size:16px}.task-demo-item div{font-size:12px;color:var(--text-primary)}.task-demo-item strong{color:var(--primary-color)}.guide-tip{margin-top:12px;padding:12px;background:#2196f314;border-radius:10px;font-size:13px;color:var(--text-primary);line-height:1.5}.progress-demo-box{margin:14px 0;padding:14px;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color)}.progress-demo-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px;color:var(--text-secondary)}.progress-demo-pct{font-weight:700;color:var(--primary-color)}.progress-demo-track{height:10px;background:var(--border-color);border-radius:5px;overflow:hidden}.progress-demo-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:5px;transition:width .5s ease}.guide-cta-box{text-align:center;padding:24px 20px;background:linear-gradient(135deg,#2196f31a,#2196f30d);border-radius:16px;border:2px dashed rgba(33,150,243,.3);margin-top:8px}.guide-cta-box p{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.btn-go-to-team{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none;padding:14px 28px;border-radius:50px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2196f34d}.btn-go-to-team:hover{transform:translateY(-2px);box-shadow:0 6px 25px #2196f366}.mi-equipo-content{min-height:300px}.error-message{display:flex;align-items:center;gap:10px;padding:14px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:10px;color:#d32f2f;font-size:14px;margin-bottom:16px}.crear-equipo-section{text-align:center}.crear-header{margin-bottom:24px}.crear-icon{font-size:48px;display:block;margin-bottom:10px}.crear-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 6px}.crear-header p{font-size:14px;color:var(--text-secondary);margin:0}.crear-form{text-align:left}.crear-form .form-group{margin-bottom:18px}.crear-form label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.label-icon{font-size:16px}.crear-form input,.crear-form textarea{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:12px;font-size:15px;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s ease;box-sizing:border-box}.crear-form input:focus,.crear-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2196f31a}.crear-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.crear-info-item{padding:14px 8px;background:var(--bg-secondary);border-radius:12px;text-align:center;border:1px solid var(--border-color)}.crear-info-item span{font-size:24px;display:block;margin-bottom:6px}.crear-info-item p{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.4}.btn-crear-equipo{width:100%;padding:16px;background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4caf504d}.btn-crear-equipo:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #4caf5066}.btn-crear-equipo:disabled{opacity:.6;cursor:not-allowed}.btn-ver-instrucciones{margin-top:20px;background:none;border:none;color:var(--primary-color);font-size:13px;cursor:pointer;padding:10px;text-decoration:underline}.btn-ver-instrucciones:hover{color:var(--text-primary)}.equipo-existente{padding:10px 0}.team-card-big{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease}.team-card-big:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a;border-color:var(--primary-color)}.team-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.team-card-name{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.admin-pill{background:linear-gradient(135deg,gold,#ffb300);color:#333;font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px}.team-card-desc{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.team-card-progress{margin-bottom:16px}.progress-info{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);margin-bottom:8px}.progress-track{height:12px;background:var(--bg-primary);border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:6px;transition:width .5s ease}.team-card-stats{display:flex;gap:20px;margin-bottom:12px}.stat-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.stat-icon{font-size:16px}.team-card-date{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.team-card-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:linear-gradient(135deg,#2196f31a,#2196f30d);border-radius:10px;font-size:14px;font-weight:600;color:var(--primary-color)}.action-arrow{font-size:18px;transition:transform .2s ease}.team-card-big:hover .action-arrow{transform:translate(4px)}.tab-badge{background:var(--primary-color);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:4px}.mis-equipos-content{display:flex;flex-direction:column;gap:16px}.btn-crear-nuevo{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;background:linear-gradient(135deg,#4caf50,#43a047);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #4caf504d}.btn-crear-nuevo:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.btn-crear-nuevo:active{transform:scale(.98)}.equipos-resumen{display:flex;gap:12px;justify-content:center}.resumen-item{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:14px;min-width:100px}.resumen-icon{font-size:24px;margin-bottom:6px}.resumen-num{font-size:28px;font-weight:800;color:var(--primary-color)}.resumen-label{font-size:12px;color:var(--text-secondary);font-weight:600}.equipos-lista{display:flex;flex-direction:column;gap:16px}.team-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px;cursor:pointer;transition:all .2s ease}.team-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.team-card.is-admin{border-color:gold;background:linear-gradient(to bottom,rgba(255,215,0,.05),var(--bg-secondary))}.team-card.is-member{border-color:var(--primary-color)}.team-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.team-card-name{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.role-pill{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700}.role-pill.admin{background:linear-gradient(135deg,gold,#ffc107);color:#333}.role-pill.member{background:linear-gradient(135deg,var(--primary-color),#1976D2);color:#fff}.team-card-desc{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.4}.team-card-progress{margin-bottom:12px}.progress-info{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px;color:var(--text-secondary)}.progress-pct{font-weight:700;color:var(--primary-color)}.progress-track{height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),#64B5F6);border-radius:4px;transition:width .3s ease}.team-card-stats{display:flex;gap:16px;margin-bottom:12px;font-size:13px;color:var(--text-primary)}.stat-item{display:flex;align-items:center;gap:6px;color:var(--text-primary)}.team-card-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:linear-gradient(135deg,#2196f31a,#2196f30d);border-radius:10px;font-size:13px;font-weight:600;color:var(--primary-color)}.team-card:hover .action-arrow{transform:translate(4px)}.no-equipos-state{text-align:center;padding:40px 20px;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:20px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.8}.no-equipos-state h3{font-size:20px;color:var(--text-primary);margin:0 0 8px}.no-equipos-state p{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.btn-crear-primero{padding:14px 28px;background:linear-gradient(135deg,#4caf50,#43a047);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer}.equipos-nota{display:flex;align-items:flex-start;gap:12px;padding:16px;background:linear-gradient(135deg,#2196f314,#2196f30a);border-left:4px solid var(--primary-color);border-radius:0 12px 12px 0}.equipos-nota span{font-size:20px;flex-shrink:0}.equipos-nota p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.guide-highlight{border:2px solid var(--primary-color);background:linear-gradient(to bottom,rgba(33,150,243,.08),var(--bg-secondary))}.multi-team-examples{display:flex;flex-direction:column;gap:10px;margin-top:12px}.example-team{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-primary);border-radius:10px;font-size:14px;font-weight:600;color:var(--text-primary)}.example-team span{font-size:20px}@media (max-width: 480px){.roles-container,.crear-info-grid{grid-template-columns:1fr}.equipos-tabs{padding:0 12px}.equipos-content{margin:0 12px 24px;padding:16px}.tab-text{font-size:12px}.equipos-tab{padding:14px 8px}}.equipo-detalle-page{min-height:100vh;background:var(--bg-primary)}.team-detail-header{background:var(--bg-secondary);padding:20px 24px;border-bottom:2px solid var(--border-color)}.header-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-delete-team-header{background:#f443361a;border:2px solid rgba(244,67,54,.3);color:#f44336;width:44px;height:44px;border-radius:12px;font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-delete-team-header:hover{background:#f44336;border-color:#f44336;color:#fff;transform:scale(1.05)}.back-btn{background:var(--bg-primary);border:1px solid var(--border-color);padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;margin-bottom:0;transition:all .2s ease}.back-btn:hover{background:var(--primary-color);color:#fff}.team-detail-name{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 8px;display:flex;align-items:center;gap:10px}.team-detail-desc{font-size:14px;color:var(--text-secondary);margin:0}.team-progress-card{background:var(--bg-secondary);padding:20px;margin:16px 24px;border-radius:16px;border:2px solid var(--border-color)}.progress-info{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.progress-info strong{margin-left:auto;font-size:18px;color:var(--primary-color)}.progress-bar-large{width:100%;height:14px;background:var(--bg-primary);border-radius:10px;overflow:hidden;border:1px solid var(--border-color)}.video-tutorial-btn{display:flex;align-items:center;gap:12px;width:calc(100% - 48px);margin:0 24px 16px;padding:16px;background:linear-gradient(135deg,#2196f31a,#2196f30d);border:2px solid rgba(33,150,243,.3);border-radius:12px;cursor:pointer;transition:all .3s ease}.video-tutorial-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2196f333}.video-icon{font-size:32px}.video-text{flex:1;text-align:left}.video-text strong{display:block;font-size:16px;color:var(--text-primary);margin-bottom:4px}.video-text small{font-size:13px;color:var(--text-secondary)}.play-icon{font-size:24px}.tabs-container{display:flex!important;flex-direction:row!important;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:2px solid var(--border-color);background:var(--bg-secondary)}.equipo-detalle-page .tab-btn{padding:14px 18px;background:linear-gradient(135deg,#e0e0e0,#bdbdbd);border:2px solid #9e9e9e;border-radius:12px;font-size:20px;font-weight:700;color:#333!important;cursor:pointer;white-space:nowrap;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:60px;box-shadow:0 3px 8px #00000026}.equipo-detalle-page .tab-btn:nth-child(1){background:linear-gradient(135deg,#2196f3,#1976d2);border-color:#1565c0;color:#fff!important}.equipo-detalle-page .tab-btn:nth-child(2){background:linear-gradient(135deg,#4caf50,#388e3c);border-color:#2e7d32;color:#fff!important}.equipo-detalle-page .tab-btn:nth-child(3){background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#e65100;color:#fff!important}.equipo-detalle-page .tab-btn:nth-child(4){background:linear-gradient(135deg,#9c27b0,#7b1fa2);border-color:#6a1b9a;color:#fff!important}[data-theme=dark] .equipo-detalle-page .tab-btn{box-shadow:0 3px 10px #0000004d}.equipo-detalle-page .tab-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #00000040}.equipo-detalle-page .tab-btn--active{transform:scale(1.05);box-shadow:0 6px 20px #0000004d;border-width:3px}.tab-content{padding:24px}.add-action-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:16px;transition:all .2s ease}.add-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4266}.tareas-list{display:flex;flex-direction:column;gap:12px}.tarea-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:16px}.tarea-completada{opacity:.7;border-color:#4caf50}.tarea-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tarea-header h4{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.completada-badge{padding:4px 12px;background:#4caf5033;color:#4caf50;border-radius:20px;font-size:12px;font-weight:600}.tarea-desc{font-size:14px;color:var(--text-secondary);margin:0 0 12px}.tarea-info{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.tarea-progress{margin:12px 0}.progress-header{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.progress-bar-small{height:10px;background:var(--bg-primary);border-radius:8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));transition:width .3s ease}.tarea-actions{display:flex;gap:8px;margin-top:12px}.btn-secondary-small,.btn-primary-small{flex:1;padding:10px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary-small{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-primary-small{background:var(--primary-color);color:#fff;border:none}.miembros-list{display:flex;flex-direction:column;gap:12px}.miembro-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px}.miembro-avatar{font-size:32px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:50%}.miembro-info{flex:1;display:flex;flex-direction:column;gap:4px}.miembro-info strong{font-size:15px;color:var(--text-primary)}.miembro-info small{font-size:12px;color:var(--text-secondary)}.miembro-rol{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid currentColor}.chat-section{display:flex;flex-direction:column;height:500px}.chat-messages{flex:1;overflow-y:auto;padding:16px;background:var(--bg-secondary);border-radius:12px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.chat-message{display:flex;gap:10px;align-items:flex-start}.chat-message-own{flex-direction:row-reverse}.chat-avatar{font-size:32px;flex-shrink:0}.chat-bubble{background:var(--bg-primary);padding:12px;border-radius:12px;max-width:70%}.chat-message-own .chat-bubble{background:#ff8c4233}.chat-bubble strong{display:block;font-size:13px;margin-bottom:4px;color:var(--text-primary)}.chat-bubble p{margin:0;font-size:14px;color:var(--text-primary)}.chat-bubble small{display:block;margin-top:6px;font-size:11px;color:var(--text-secondary)}.chat-input input{flex:1;padding:12px 16px;border:2px solid var(--border-color);border-radius:12px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary)}.send-btn{padding:12px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:18px;cursor:pointer}.chat-note{text-align:center;font-size:12px;color:var(--text-secondary);margin-top:8px}.solicitudes-list{display:flex;flex-direction:column;gap:12px}.solicitud-card{background:var(--bg-secondary);border:2px solid rgba(255,193,7,.5);border-radius:12px;padding:16px}.solicitud-card h4{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.solicitud-card p{font-size:14px;color:var(--text-secondary);margin:6px 0}.solicitud-razon{font-style:italic;padding:10px;background:var(--bg-primary);border-radius:8px;margin-top:8px}.solicitud-actions{display:flex;gap:10px;margin-top:16px}.btn-reject,.btn-approve{flex:1;padding:12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.btn-reject{background:#f4433633;color:#f44336}.btn-approve{background:#4caf5033;color:#4caf50}.video-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px}.video-modal-content{max-width:800px;padding:24px}.tutorial-video{width:100%;max-height:400px;border-radius:12px;margin:16px 0;background:#000}.video-note{text-align:center;font-size:13px;color:var(--text-secondary)}.empty-state-small{text-align:center;padding:40px 20px;color:var(--text-secondary)}.team-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999!important;display:flex!important;align-items:center;justify-content:center;padding:20px}.team-modal .modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1}.team-modal .modal-content{position:relative;background:#fff!important;border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080!important;border:3px solid #FF8C42!important;z-index:2}.team-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:2px solid #ddd;background:#fff!important}.team-modal .modal-header h2{font-size:22px;font-weight:700;color:#1a1a1a!important;margin:0}.team-modal .modal-close{background:transparent;border:none;font-size:28px;color:#666!important;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.team-modal .modal-close:hover{background:#f5f5f5!important;color:#1a1a1a!important}.team-modal .modal-body{padding:24px;background:#fff!important}.modal-subtitle{font-size:14px;color:#666!important;margin:0 0 16px}.users-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;margin-bottom:20px}.user-select-card{display:flex;align-items:center;gap:12px;padding:12px;background:#f5f5f5!important;border:2px solid #ddd;border-radius:12px;cursor:pointer;transition:all .2s ease}.user-select-card:hover{background:#e8e8e8!important;border-color:#ff8c42}.user-select-card.user-selected{background:#ff8c421a!important;border-color:#ff8c42}.user-avatar-large{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%}.user-info-card{flex:1;display:flex;flex-direction:column;gap:2px}.user-info-card strong{font-size:15px;color:#1a1a1a!important}.user-info-card small{font-size:12px;color:#666!important}.check-icon{font-size:20px;color:#ff8c42;font-weight:700}.role-selector{padding:16px;background:#2196f30d!important;border:1px solid rgba(33,150,243,.2);border-radius:12px}.role-selector label{display:block;font-size:13px;font-weight:600;color:#1a1a1a!important;margin-bottom:8px}.role-select,.assignee-select{width:100%;padding:10px 12px;font-size:14px;border:2px solid #ddd!important;border-radius:10px;background:#fff!important;color:#1a1a1a!important;font-family:inherit;cursor:pointer}.role-select:focus,.assignee-select:focus{outline:none;border-color:#ff8c42!important}.task-form{padding:24px;background:#fff!important}.task-form .form-group{margin-bottom:20px}.task-form .form-group label{display:block;font-size:14px;font-weight:600;color:#1a1a1a!important;margin-bottom:8px}.task-form .form-group input,.task-form .form-group textarea,.task-form .form-group select{width:100%;padding:12px 16px;font-size:15px;border:2px solid #ddd!important;border-radius:12px;background:#f5f5f5!important;color:#1a1a1a!important;transition:all .2s ease;font-family:inherit;resize:vertical}.task-form .form-group input:focus,.task-form .form-group textarea:focus,.task-form .form-group select:focus{outline:none;border-color:#ff8c42!important;box-shadow:0 0 0 4px #ff8c421a!important}.team-modal .info-box{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#2196f30d!important;border:1px solid rgba(33,150,243,.2);border-radius:10px;margin-bottom:20px}.team-modal .info-icon{font-size:18px;flex-shrink:0}.team-modal .info-box p{margin:0;font-size:12px;color:#1a1a1a!important;line-height:1.4}.team-modal .modal-actions{display:flex;gap:12px;padding:16px 24px;border-top:2px solid #ddd;background:#fff!important}.team-modal .btn-cancel,.team-modal .btn-save{flex:1;padding:14px 24px;font-size:16px;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:all .2s ease;font-family:inherit}.team-modal .btn-cancel{background:#f5f5f5!important;color:#1a1a1a!important;border:2px solid #ddd!important}.team-modal .btn-cancel:hover{background:#e0e0e0!important}.team-modal .btn-save{background:linear-gradient(135deg,#ff8c42,#ff6f00)!important;color:#fff!important;box-shadow:0 4px 12px #ff8c424d!important}.team-modal .btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4266!important}.team-modal .btn-save:disabled{opacity:.5;cursor:not-allowed}.team-modal .modal-actions-single{padding:20px 24px}.team-modal .btn-save-full{width:100%;flex:none}.admin-badge-header{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#ff8c42,#ff6f00);color:#fff;border-radius:20px;font-size:12px;font-weight:600;margin-left:10px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:40px}.loading-state span,.error-state span{font-size:48px;margin-bottom:16px}.loading-small{text-align:center;padding:20px;color:var(--text-secondary)}.info-section{display:flex;flex-direction:column;gap:16px}.info-card,.membership-card,.progress-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px}.info-card h3,.membership-card h3{font-size:18px;font-weight:700;margin:0 0 16px;color:var(--text-primary)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:var(--text-secondary);font-size:14px}.info-value{color:var(--text-primary);font-size:14px}.role-badge{padding:4px 12px;background:#ff8c4226;color:#ff8c42;border-radius:20px;font-weight:600}.membership-section{display:flex;flex-direction:column;gap:16px}.membership-info{margin-bottom:20px}.membership-actions{margin-top:20px;padding-top:20px;border-top:2px solid var(--border-color)}.admin-warning{background:#f443361a;border:2px solid rgba(244,67,54,.3);border-radius:12px;padding:16px;text-align:center}.admin-warning p{margin:0 0 16px;font-size:14px;color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,#f44336,#c62828);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f4433666}.btn-leave{width:100%;background:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-primary);padding:14px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-leave:hover{background:#f443361a;border-color:#f44336;color:#f44336}.members-section{display:flex;flex-direction:column;gap:12px}.members-list{display:flex;flex-direction:column;gap:10px}.member-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px}.member-admin{border-color:#ff8c42;background:#ff8c420d}.member-avatar{font-size:28px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:50%;overflow:hidden}.member-avatar.avatar-img,.chat-avatar.avatar-img,.student-avatar.avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover}.chat-avatar.avatar-img{width:36px;height:36px}.student-avatar.avatar-img{width:40px;height:40px}.member-info{flex:1}.member-info strong{display:block;font-size:15px;color:var(--text-primary)}.member-info small{font-size:12px;color:var(--text-secondary);display:block}.member-joined{font-style:italic;opacity:.8}.you-badge{padding:4px 10px;background:#4caf5026;color:#4caf50;border-radius:20px;font-size:11px;font-weight:600}.btn-remove-member{background:transparent;border:none;font-size:18px;cursor:pointer;padding:8px;opacity:.6;transition:opacity .2s}.btn-remove-member:hover{opacity:1}.no-members{text-align:center;padding:30px;color:var(--text-secondary)}.chat-section{display:flex;flex-direction:column;height:calc(100vh - 280px);min-height:400px}.chat-messages{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px;background:var(--bg-secondary);border-radius:12px;margin-bottom:12px}.no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.no-messages span{font-size:40px;margin-bottom:10px}.chat-message{display:flex;gap:10px;max-width:85%}.chat-message-own{flex-direction:row-reverse;align-self:flex-end}.chat-avatar{font-size:24px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:50%;flex-shrink:0}.chat-bubble{background:var(--bg-primary);padding:10px 14px;border-radius:4px 16px 16px}.chat-message-own .chat-bubble{background:linear-gradient(135deg,#ff8c42,#ff6f00);color:#fff;border-top-left-radius:16px;border-top-right-radius:4px}.chat-bubble strong{display:block;font-size:12px;margin-bottom:4px;opacity:.8}.chat-message-own .chat-bubble strong{display:none}.chat-bubble p{margin:0;font-size:14px;line-height:1.4}.chat-bubble small{display:block;font-size:10px;margin-top:4px;opacity:.6;text-align:right}.chat-input{display:flex;gap:10px}.chat-input input{flex:1;padding:14px 18px;border:2px solid var(--border-color);border-radius:30px;font-size:15px;background:var(--bg-secondary);color:var(--text-primary)}.chat-input input:focus{outline:none;border-color:#ff8c42}.send-btn{width:50px;height:50px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff8c42,#ff6f00);color:#fff;font-size:20px;cursor:pointer;transition:all .2s ease}.send-btn:hover:not(:disabled){transform:scale(1.05)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.tasks-section{display:flex;flex-direction:column;gap:12px;width:100%}.tasks-list{display:flex;flex-direction:column;gap:10px;width:100%}.task-card-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .2s ease}.task-card-compact:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.task-card-compact.task-completed{opacity:.8;border-color:#4caf50;background:#4caf500d}.task-card-compact.task-mine{border-left:4px solid var(--primary-color)}.task-compact-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.task-avatar-small{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;font-size:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.task-compact-info{display:flex;flex-direction:column;gap:2px;min-width:0}.task-compact-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-compact-title{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-compact-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.task-status-pill{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.task-status-pill.status-done{background:#4caf5026;color:#4caf50}.task-status-pill.status-pending{background:#ff980026;color:#f57c00}.btn-delete-compact{background:#f443361a;border:none;width:36px;height:36px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-delete-compact:hover{background:#f44336;transform:scale(1.05)}.task-expanded-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:9999;overflow-y:auto;animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.task-expanded-container{max-width:600px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.task-expanded-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.btn-back-expanded{background:var(--bg-secondary);border:2px solid var(--border-color);padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.btn-back-expanded:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.task-expanded-header h2{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.task-expanded-content{flex:1;display:flex;flex-direction:column;gap:20px}.task-expanded-assignee{display:flex;align-items:center;gap:16px;background:var(--bg-secondary);padding:20px;border-radius:16px;border:2px solid var(--border-color)}.task-avatar-large{width:60px;height:60px;border-radius:50%;object-fit:cover;font-size:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.task-expanded-assignee>div{display:flex;flex-direction:column;gap:8px}.task-expanded-assignee strong{font-size:18px;color:var(--text-primary)}.task-expanded-section{background:var(--bg-secondary);padding:16px 20px;border-radius:12px;border:2px solid var(--border-color)}.task-expanded-section label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.task-expanded-section h3{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.task-expanded-section p{font-size:15px;color:var(--text-primary);margin:0;line-height:1.6}.task-expanded-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:20px;border-top:2px solid var(--border-color)}.btn-toggle-expanded{width:100%;padding:16px 24px;border-radius:12px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.btn-toggle-expanded.btn-complete{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.btn-toggle-expanded.btn-complete:hover{transform:scale(1.02);box-shadow:0 4px 12px #4caf5066}.btn-toggle-expanded.btn-undo{background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary)}.btn-toggle-expanded.btn-undo:hover{background:var(--bg-primary)}.btn-delete-expanded{width:100%;padding:14px 24px;border-radius:12px;font-size:15px;font-weight:600;background:#f443361a;border:2px solid rgba(244,67,54,.3);color:#f44336;cursor:pointer;transition:all .2s ease}.btn-delete-expanded:hover{background:#f44336;border-color:#f44336;color:#fff}.task-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px;width:100%;box-sizing:border-box;transition:all .2s ease}.task-card:hover{box-shadow:var(--card-shadow);transform:translateY(-2px)}.task-completed{opacity:.7;border-color:#4caf50;background:#4caf500d}.task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}.task-header h4{margin:0;font-size:17px;font-weight:700;color:var(--text-primary);flex:1;word-break:break-word}.completed-badge{padding:6px 12px;background:#4caf5026;color:#4caf50;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.task-desc{font-size:14px;color:var(--text-secondary);margin:0 0 14px;line-height:1.5;word-break:break-word;white-space:pre-wrap;overflow-wrap:break-word;width:100%;display:block}.task-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-secondary);margin-bottom:16px;padding:10px 12px;background:var(--bg-primary);border-radius:8px}.task-meta span{display:flex;align-items:center;gap:6px}.task-actions{display:flex;flex-wrap:wrap;gap:10px}.btn-toggle-task{flex:1;min-width:140px;padding:12px 18px;border-radius:10px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.btn-complete{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;box-shadow:0 4px 12px #4caf504d}.btn-complete:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.btn-undo{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-undo:hover{background:var(--bg-secondary)}.btn-delete-task{padding:12px 16px;background:transparent;border:2px solid rgba(244,67,54,.3);border-radius:10px;cursor:pointer;font-size:14px;transition:all .2s ease}.btn-delete-task:hover{background:#f443361a;border-color:#f4433699}.no-tasks{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center}.no-tasks span{font-size:48px;margin-bottom:16px}.no-tasks p{font-size:16px;margin:0}.task-mine{border-color:var(--primary-color);background:#ff8c4208}.task-badges{display:flex;gap:8px;flex-wrap:wrap}.my-task-badge{padding:6px 12px;background:#ff8c4226;color:var(--primary-color);border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}.task-assignee{display:flex;align-items:center;gap:8px}.task-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}img.task-avatar{width:24px;height:24px}.students-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.student-card{display:flex;align-items:center;gap:12px;padding:12px;background:#f9f9f9;border-radius:10px;border:2px solid transparent}.student-card.student-selectable{cursor:pointer;transition:all .2s ease;background:#fff;border:2px solid #e0e0e0}.student-card.student-selectable:hover{background:#e3f2fd;border-color:#2196f3;transform:translate(5px)}.student-card .select-arrow{font-size:20px;color:#2196f3;font-weight:700}.student-avatar{font-size:24px}.student-avatar.avatar-img{width:40px;height:40px;border-radius:50%;object-fit:cover}.student-info{flex:1}.student-info strong{display:block;font-size:14px;color:#1a1a1a}.student-info small{font-size:12px;color:#666}.btn-add-student{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:16px;cursor:pointer;transition:all .2s ease}.btn-add-student:hover:not(:disabled){transform:scale(1.1)}.no-students{text-align:center;padding:30px;color:#666}.modal-small{text-align:center;padding:30px!important}.modal-small h2{margin-bottom:16px!important}.modal-small p{margin:0 0 10px;color:#666;font-size:14px}.modal-small .modal-actions{margin-top:20px;border-top:none!important;padding:0!important}.warning-box{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:10px;margin-bottom:20px}.warning-box p{margin:0;font-size:13px;color:#1a1a1a}.success-toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;padding:14px 24px;border-radius:50px;font-weight:600;font-size:14px;box-shadow:0 8px 30px #4caf5066;z-index:10000;display:flex;align-items:center;gap:10px;animation:toastSlideIn .3s ease,toastSlideOut .3s ease 2.7s forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(30px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(30px)}}.tab-badge{background:var(--primary-color);color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:6px}.team-actions-card{background:var(--bg-secondary);border-radius:16px;padding:20px;border:2px solid var(--border-color);margin-top:16px}.team-actions-card h3{font-size:16px;margin:0 0 16px;color:var(--text-primary)}.action-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.role-pill{background:linear-gradient(135deg,#2196f326,#2196f314);color:var(--primary-color);padding:6px 14px;border-radius:20px;font-weight:600;font-size:13px}.admin-actions,.member-actions{margin-top:8px}.warning-text{font-size:12px;color:#e65100;margin:0 0 12px;padding:10px;background:#ff98001a;border-radius:8px}.btn-danger-outline{background:transparent;border:2px solid #f44336;color:#f44336;padding:10px 20px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;width:100%}.btn-danger-outline:hover{background:#f44336;color:#fff}.btn-leave-outline{background:transparent;border:2px solid #FF9800;color:#ff9800;padding:10px 20px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;width:100%}.btn-leave-outline:hover{background:#ff9800;color:#fff}.modal-wide{max-width:500px}.steps-indicator{display:flex;align-items:center;justify-content:center;padding:20px;gap:0;border-bottom:1px solid var(--border-color)}.step{display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.4;transition:all .3s ease}.step-active{opacity:1}.step-number{width:32px;height:32px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--text-secondary);transition:all .3s ease}.step-active .step-number{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.step-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.step-line{width:60px;height:2px;background:var(--border-color);margin:0 12px 22px}.empty-state{text-align:center;padding:40px 20px}.empty-icon{font-size:48px;display:block;margin-bottom:12px}.empty-state p{margin:0 0 8px;font-size:16px;color:var(--text-primary);font-weight:600}.empty-state small{color:var(--text-secondary);font-size:13px}.student-selectable{cursor:pointer;transition:all .2s ease}.student-selectable:hover{background:#2196f31a;transform:translate(4px)}.select-arrow{font-size:18px;color:var(--primary-color);opacity:0;transition:all .2s ease}.student-selectable:hover .select-arrow{opacity:1}.selected-member-preview{display:flex;align-items:center;gap:14px;padding:16px;background:#2196f314;border:2px solid rgba(33,150,243,.3);border-radius:12px;margin-bottom:20px}.preview-avatar{width:48px;height:48px;border-radius:50%}.selected-member-preview strong{display:block;font-size:15px;color:var(--text-primary)}.selected-member-preview small{color:var(--text-secondary);font-size:12px}.btn-back{background:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-primary);padding:12px 24px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-back:hover{border-color:var(--primary-color);color:var(--primary-color)}.member-card,.student-card,.task-card{animation:fadeInUp .3s ease forwards}.member-card:nth-child(1){animation-delay:.05s}.member-card:nth-child(2){animation-delay:.1s}.member-card:nth-child(3){animation-delay:.15s}.member-card:nth-child(4){animation-delay:.2s}.member-card:nth-child(5){animation-delay:.25s}.task-card:nth-child(1){animation-delay:.05s}.task-card:nth-child(2){animation-delay:.1s}.task-card:nth-child(3){animation-delay:.15s}.task-card:nth-child(4){animation-delay:.2s}.task-card:nth-child(5){animation-delay:.25s}.member-co-admin{border-color:#9c27b0;background:#9c27b00d}.co-admin-badge{display:inline-block;background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;margin-right:6px}.member-actions{display:flex;gap:4px;align-items:center}.btn-promote-member{background:#9c27b01a;border:1px solid rgba(156,39,176,.3);color:#9c27b0;width:32px;height:32px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-promote-member:hover{background:#9c27b0;color:#fff;transform:scale(1.1)}.btn-promote-member.btn-demote{background:#ff98001a;border-color:#ff98004d;color:#ff9800}.btn-promote-member.btn-demote:hover{background:#ff9800;color:#fff}.task-progress-mini{display:flex;align-items:center;gap:6px;margin-top:4px}.progress-bar-mini{flex:1;height:4px;background:var(--bg-primary);border-radius:2px;overflow:hidden;max-width:100px}.progress-fill-mini{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:2px;transition:width .3s ease}.progress-text-mini{font-size:10px;color:var(--text-secondary);font-weight:600;min-width:30px}.task-progress-section{background:var(--bg-primary);padding:16px;border-radius:12px;margin:12px 0}.progress-control{display:flex;align-items:center;gap:16px;margin:12px 0}.progress-slider{flex:1;-webkit-appearance:none;height:8px;background:var(--bg-secondary);border-radius:4px;outline:none}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:linear-gradient(135deg,#4caf50,#8bc34a);border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #4caf5066;transition:transform .2s ease}.progress-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.progress-slider:disabled{opacity:.5;cursor:not-allowed}.progress-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;transform:none}.progress-value{display:flex;align-items:center;gap:8px}.progress-number{font-size:24px;font-weight:700;color:#4caf50;min-width:60px;text-align:center}.progress-hint{display:block;text-align:center;color:var(--text-secondary);font-style:italic;margin-top:8px}.task-expanded-section .progress-bar-large{margin-top:8px}.mi-mascota-page{min-height:100vh;background:var(--bg-primary);padding-bottom:100px}.mascota-header{display:flex;align-items:center;justify-content:center;gap:15px;padding:20px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000000d}.mascota-header .back-btn{width:44px;height:44px;border-radius:12px;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.mascota-header .back-btn:hover{background:var(--primary-color);color:#fff}.mascota-header h1{flex:1;text-align:center;color:var(--text-primary);font-size:1.3rem;margin:0;font-weight:700}.economia-display{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.monedas-display{background:linear-gradient(135deg,gold,#fa0);padding:8px 16px;border-radius:20px;display:flex;align-items:center;gap:6px;box-shadow:0 3px 10px #00000026}.moneda-icon{font-size:1.2rem}.monedas-cantidad{font-weight:700;color:#5a3d00;font-size:1rem}.deuda-display{background:linear-gradient(135deg,#ef4444,#dc2626);padding:4px 12px;border-radius:15px;display:flex;align-items:center;gap:4px;font-size:.8rem}.deuda-icon{font-size:.9rem}.deuda-cantidad{font-weight:700;color:#fff}.credito-display{background:linear-gradient(135deg,#8b5cf6,#7c3aed);padding:4px 12px;border-radius:15px;display:flex;align-items:center;gap:4px;font-size:.8rem;cursor:help}.credito-icon{font-size:.9rem}.credito-cantidad{font-weight:700;color:#fff}.mensaje-feedback{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:25px;font-weight:600;z-index:1105;animation:slideDown .3s ease}.mensaje-feedback.exito{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.mensaje-feedback.error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.mensaje-feedback-flotante{position:fixed;padding:10px 18px;border-radius:20px;font-weight:600;font-size:.9rem;z-index:1106;max-width:200px;text-align:center;box-shadow:0 4px 15px #0003;animation:popIn .3s ease;pointer-events:none}.mensaje-feedback-flotante.exito{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.mensaje-feedback-flotante.error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.mensaje-feedback-flotante:not([style*=left]){left:50%;transform:translate(-50%)}.mensaje-feedback-flotante.abajo:not([style*=left]){top:230px}.mensaje-feedback-flotante.arriba:not([style*=left]){top:80px}.mensaje-feedback-flotante:before{content:"";position:absolute;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent}.mensaje-feedback-flotante.abajo:before{top:-10px;left:20px;border-bottom:10px solid}.mensaje-feedback-flotante.abajo.exito:before{border-bottom-color:#10b981}.mensaje-feedback-flotante.abajo.error:before{border-bottom-color:#ef4444}.mensaje-feedback-flotante.arriba:before{bottom:-10px;left:20px;border-top:10px solid}.mensaje-feedback-flotante.arriba.exito:before{border-top-color:#10b981}.mensaje-feedback-flotante.arriba.error:before{border-top-color:#ef4444}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.tienda-mascota-flotante{position:fixed;top:140px;right:24px;left:auto;transform:none;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;z-index:200;transition:transform .2s ease}.tienda-mascota-flotante[style*="position: fixed"]{transform:none}.tienda-mascota-flotante.dragging{cursor:grabbing;transform:scale(1.05)}.tienda-mascota-flotante.dragging .drag-hint{opacity:0}.mascota-preview-draggable{position:relative;display:flex;align-items:center;justify-content:center;padding:10px;background:#fffffff2;border-radius:50%;box-shadow:0 10px 26px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .2s ease}.mascota-preview-draggable.grande{padding:15px}.tienda-mascota-flotante.dragging .mascota-preview-draggable{box-shadow:0 8px 30px #00000040}.drag-hint{position:absolute;bottom:-36px;left:50%;transform:translate(-50%);width:12px;height:12px;background:#fff;border-radius:50%;white-space:nowrap;opacity:.9;transition:opacity .3s ease,transform .3s ease;box-shadow:0 0 0 6px #667eea33,0 0 0 12px #667eea1f;border:2px solid rgba(102,126,234,.9);animation:dragHintPulse 1.4s ease-in-out infinite}.drag-hint:before{content:""}@keyframes dragHintPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.06)}}.armario-preview{display:flex;flex-direction:column;align-items:center;padding:20px;min-height:200px}.armario-preview .tienda-mascota-flotante{position:relative;transform:none;left:auto;top:auto}@media (max-width: 768px){.tienda-mascota-flotante{top:auto;bottom:110px;right:auto;left:50%;transform:translate(-50%);z-index:200}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mascota-showcase{padding:30px 20px;display:flex;flex-direction:column;align-items:center}.mascota-display{background:var(--bg-secondary);border-radius:24px;padding:30px;display:flex;flex-direction:column;align-items:center;width:100%;max-width:320px;box-shadow:0 4px 20px #00000014;border:1px solid var(--border-color)}.mascota-con-accesorios{position:relative;display:flex;justify-content:center;align-items:center;width:150px;height:150px}.accesorio-equipado{position:absolute;z-index:10;filter:drop-shadow(2px 2px 3px rgba(0,0,0,.3));pointer-events:none;display:flex;align-items:center;justify-content:center;line-height:1}.accesorio-media{width:100%;height:100%;object-fit:contain;display:block}.accesorio-emoji{display:block;line-height:1}.mascota-nombre{color:var(--text-primary);font-size:1.4rem;margin:20px 0 10px;text-align:center;font-weight:600}.accesorios-activos{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.accesorio-badge{background:var(--bg-primary);padding:6px 10px;border-radius:15px;font-size:1.2rem;border:1px solid var(--border-color)}.mascota-acciones{display:flex;gap:10px;margin-top:25px;width:100%;max-width:360px}.mascota-acciones.home-style{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px;width:100%;max-width:400px;padding:0 20px}.accion-btn-grande{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;padding:24px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;position:relative;min-height:120px}.accion-btn-grande:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.accion-btn-grande:active{transform:scale(.95)}.accion-btn-grande.cambiar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff}.accion-btn-grande.tienda{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;color:#78350f}.accion-btn-grande.armario{background:linear-gradient(135deg,#ec4899,#db2777);border:none;color:#fff}.accion-btn-grande.cartola{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.accion-icon-grande{font-size:2.5rem}.accion-texto-grande{font-size:1rem;font-weight:700;letter-spacing:.5px}.badge-count-grande{position:absolute;top:8px;right:8px;background:#ef4444;color:#fff;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:12px;min-width:24px;box-shadow:0 2px 8px #ef444466}.accion-btn{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000d;position:relative}.accion-btn:active{transform:scale(.95)}.accion-btn.cambiar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;color:#fff}.accion-btn.tienda{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;color:#78350f}.accion-btn.armario{background:linear-gradient(135deg,#ec4899,#db2777);border:none;color:#fff}.accion-icon{font-size:1.8rem}.accion-texto{font-size:.85rem;font-weight:600}.badge-count{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;font-size:.75rem;font-weight:700;padding:4px 8px;border-radius:10px;min-width:20px}.mascota-subpage{padding-bottom:100px}.mascota-subpage .mascota-header h1{font-size:1.3rem}.tienda-preview{display:flex;justify-content:center;padding:20px}.mascota-preview-small{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.accesorio-equipado-small{position:absolute;font-size:1.5rem;display:flex;align-items:center;justify-content:center;line-height:1}.armario-preview{display:flex;flex-direction:column;align-items:center;padding:30px 20px;background:var(--bg-secondary);border-radius:20px;margin:20px}.mascota-display-grande{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center}.equipados-actuales{display:flex;align-items:center;gap:8px;margin-top:15px;flex-wrap:wrap;justify-content:center}.equipados-label{font-size:.85rem;color:var(--text-secondary)}.armario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.accesorio-armario-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .3s ease}.accesorio-armario-card.equipado{border-color:#10b981;background:#10b9811a}.accesorio-armario-card:active{transform:scale(.95)}.accesorio-emoji-grande{font-size:2.5rem}.accesorio-estado{font-size:.7rem;color:var(--text-secondary)}.accesorio-armario-card.equipado .accesorio-estado{color:#10b981;font-weight:600}.contador-accesorios{font-size:.85rem;color:var(--text-secondary);padding:4px 12px;background:var(--bg-secondary);border-radius:15px}.cartola-resumen{display:flex;flex-direction:column;gap:12px;padding:20px}.resumen-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:16px;background:var(--bg-secondary)}.resumen-card.saldo{border-left:4px solid #10b981}.resumen-card.credito{border-left:4px solid #8b5cf6}.resumen-card.deuda{border-left:4px solid #ef4444}.resumen-info{display:flex;flex-direction:column}.resumen-label{font-size:.85rem;color:var(--text-secondary)}.resumen-valor{font-size:1.2rem;font-weight:700}.pagar-deuda-section{padding:20px;margin:0 20px;background:var(--bg-secondary);border-radius:16px}.pagar-deuda-section h3{margin-bottom:12px}.pagar-opciones{display:flex;gap:10px;flex-wrap:wrap}.pagar-btn{padding:10px 20px;border:none;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;cursor:pointer}.cartola-estadisticas{padding:20px}.cartola-estadisticas h3{margin-bottom:15px}.stat-item{background:var(--bg-secondary);padding:16px;border-radius:12px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.8rem;color:var(--text-secondary)}.stat-valor{font-size:1.3rem;font-weight:700}.stat-valor.gasto{color:#ef4444}.stat-valor.ingreso{color:#10b981}.cartola-historial{padding:20px}.cartola-historial h3{margin-bottom:15px}.transacciones-lista{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.transaccion-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border-radius:12px}.tx-icono{font-size:1.5rem;width:40px;text-align:center}.tx-info{flex:1}.tx-descripcion{display:block;font-size:.9rem}.tx-fecha{font-size:.75rem;color:var(--text-secondary)}.tx-monto{font-weight:700;font-size:.95rem}.tx-monto.positivo{color:#10b981}.tx-monto.negativo{color:#ef4444}.reset-section{padding:30px 20px;text-align:center;margin-top:20px;border-top:1px solid var(--border-color)}.btn-reset-cuenta{background:transparent;border:2px solid #ef4444;color:#ef4444;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-reset-cuenta:hover{background:#ef4444;color:#fff}.reset-warning{font-size:.8rem;color:var(--text-secondary);margin-top:8px}.cambiar-mascota-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px}.mascota-opcion{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .3s ease}.mascota-opcion:active{transform:scale(.9)}.mascota-opcion.seleccionada{border-color:#10b981;background:#10b9811a}.check-seleccion{position:absolute;top:4px;right:4px;background:#10b981;color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}.saving-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.saving-content{background:var(--bg-secondary);padding:20px 40px;border-radius:16px;font-weight:600}.panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.panel-contenido{background:var(--bg-secondary);border-radius:20px;width:100%;max-width:450px;max-height:80vh;overflow:hidden;animation:scaleIn .25s ease;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;border:1px solid var(--border-color)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.panel-header{display:flex;align-items:center;padding:20px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);position:relative}.panel-header h2{flex:1;color:var(--text-primary);font-size:1.3rem;margin:0}.monedas-mini{background:linear-gradient(135deg,gold,#fa0);padding:6px 12px;border-radius:15px;font-size:.9rem;font-weight:700;color:#5a3d00;margin-right:10px}.cerrar-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.cerrar-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.categorias-scroll{display:flex;gap:10px;padding:15px 20px;overflow-x:auto;scrollbar-width:none;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.mascota-tabs{display:flex;gap:10px;padding:12px 20px;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.mascota-tab{flex:1;padding:10px 12px;border-radius:14px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .2s ease}.mascota-tab.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 6px 16px #ff8c4240}.categorias-scroll::-webkit-scrollbar{display:none}.categoria-btn{background:var(--bg-secondary);border:1px solid var(--border-color);padding:10px 16px;border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:var(--text-primary);white-space:nowrap;transition:all .2s ease}.categoria-btn.activa{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px #ff8c424d}.categoria-btn span:first-child{font-size:1.3rem}.cat-nombre{font-size:.7rem}.accesorios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px;overflow-y:auto;flex:1}.accesorio-card{background:var(--bg-primary);border-radius:16px;padding:15px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;border:2px solid var(--border-color);transition:all .2s ease}.accesorio-card.comprado{border-color:#10b981;background:#10b9811a}.accesorio-emoji{font-size:2.5rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.accesorio-nombre{color:var(--text-primary);font-size:.75rem;text-align:center;line-height:1.2}.accesorio-precio{display:flex;flex-direction:column;align-items:center;gap:5px}.precio-valor{color:#fbbf24;font-size:.85rem;font-weight:600}.ya-tienes{color:#10b981;font-size:.8rem;font-weight:600}.comprar-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:6px 14px;border-radius:12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.comprar-btn:disabled{background:var(--text-secondary);color:var(--bg-primary);cursor:not-allowed;opacity:.6}.comprar-btn:active:not(:disabled){transform:scale(.95)}.armario-panel{max-height:70vh}.armario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px;overflow-y:auto}.armario-item{background:var(--bg-primary);border-radius:16px;padding:15px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;border:2px solid var(--border-color);transition:all .2s ease}.armario-item.equipado{border-color:#ec4899;background:#ec48991a;box-shadow:0 0 15px #ec489933}.armario-item:active{transform:scale(.95)}.armario-emoji{font-size:2.5rem}.armario-nombre{color:var(--text-primary);font-size:.75rem;text-align:center}.armario-estado{font-size:.7rem;color:var(--text-secondary)}.armario-item.equipado .armario-estado{color:#ec4899;font-weight:600}.empty-message,.loading-spinner{grid-column:1 / -1;text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-wardrobe{text-align:center;padding:50px 20px;color:var(--text-primary)}.empty-wardrobe p{font-size:1.2rem;margin-bottom:20px}.empty-wardrobe button{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;padding:12px 30px;border-radius:25px;font-size:1rem;font-weight:600;color:#78350f;cursor:pointer}.mascot-selector-panel{max-height:75vh}.mascot-selector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px;overflow-y:auto}.mascot-selector-item{background:var(--bg-primary);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;cursor:pointer;border:3px solid var(--border-color);transition:all .2s ease;position:relative}.mascot-selector-item:hover{background:var(--bg-secondary);transform:translateY(-2px)}.mascot-selector-item.selected{border-color:#10b981;background:#10b9811a}.mascot-selector-item.disabled{opacity:.6;pointer-events:none}.selected-check{position:absolute;top:5px;right:5px;background:#10b981;color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.saving-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:15px 30px;border-radius:10px;z-index:100}.prestamo-modal{max-width:400px;text-align:center}.prestamo-modal h2{color:var(--text-primary);margin-bottom:20px;font-size:1.5rem}.prestamo-info{display:flex;flex-direction:column;gap:15px}.prestamo-producto{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;background:var(--bg-primary);border-radius:12px;font-weight:600;color:var(--text-primary)}.prestamo-emoji{font-size:2rem}.prestamo-precio{color:gold;font-weight:700}.prestamo-detalle{padding:15px;background:var(--bg-primary);border-radius:12px;text-align:left}.prestamo-detalle p{margin:8px 0;color:var(--text-secondary)}.prestamo-detalle strong{color:var(--text-primary)}.prestamo-mensaje{padding:15px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-radius:12px;border:1px solid var(--primary-color)}.prestamo-mensaje p{margin:5px 0;color:var(--text-primary)}.prestamo-mensaje.exito{background:linear-gradient(135deg,#10b9811a,#0596691a);border-color:#10b981}.prestamo-advertencia{font-size:.85rem;color:#f59e0b!important;margin-top:10px!important}.prestamo-acciones{display:flex;flex-direction:column;gap:10px;margin-top:20px}.prestamo-btn{padding:14px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.prestamo-btn.aceptar{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.prestamo-btn.aceptar:hover{transform:scale(1.02);box-shadow:0 4px 15px #10b98166}.prestamo-btn.parcial{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.prestamo-btn.cancelar{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color)}.prestamo-btn.cancelar:hover{background:var(--bg-hover)}.banco-flotante{position:fixed;bottom:100px;right:20px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:12px 20px;border-radius:25px;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #ef444466;z-index:50;animation:pulse 2s infinite}.banco-flotante:hover{transform:scale(1.05)}@keyframes pulse{0%,to{box-shadow:0 4px 15px #ef444466}50%{box-shadow:0 4px 25px #ef444499}}.accion-btn.cartola{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.accion-btn.cartola:hover{transform:translateY(-3px);box-shadow:0 8px 25px #6366f166}.cartola-modal{max-width:500px;max-height:85vh;overflow-y:auto}.cartola-modal h2{color:var(--text-primary);margin-bottom:20px;text-align:center}.cartola-loading{text-align:center;padding:40px;color:var(--text-secondary)}.cartola-resumen{display:flex;gap:15px;margin-bottom:20px}.resumen-item{flex:1;padding:15px;border-radius:12px;text-align:center}.resumen-item.saldo{background:linear-gradient(135deg,#10b98126,#05966926);border:1px solid #10b981}.resumen-item.credito{background:linear-gradient(135deg,#8b5cf626,#7c3aed26);border:1px solid #8b5cf6}.resumen-item.credito .resumen-valor{color:#8b5cf6}.resumen-item.deuda{background:linear-gradient(135deg,#ef444426,#dc262626);border:1px solid #ef4444}.resumen-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:5px}.resumen-valor{display:block;font-size:1.3rem;font-weight:700;color:var(--text-primary)}.resumen-item.deuda .resumen-valor{color:#ef4444}.cartola-credito-info{background:#8b5cf61a;border-left:3px solid #8b5cf6;padding:10px 15px;border-radius:0 10px 10px 0;margin-bottom:15px;font-size:.85rem;color:var(--text-secondary)}.cartola-credito-info p{margin:0}.cartola-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.stat-item{display:flex;align-items:center;gap:8px;padding:12px;border-radius:10px;background:var(--bg-primary)}.stat-icon{font-size:1.2rem}.stat-label{flex:1;font-size:.85rem;color:var(--text-secondary)}.stat-valor{font-weight:600;font-size:.9rem}.stat-item.compras .stat-valor{color:#ef4444}.stat-item.prestamos .stat-valor{color:#8b5cf6}.stat-item.pagos .stat-valor{color:#f59e0b}.stat-item.recompensas .stat-valor{color:#10b981}.cartola-lista{border-top:1px solid var(--border-color);padding-top:15px}.cartola-lista h3{color:var(--text-primary);font-size:1rem;margin-bottom:15px}.cartola-vacia{text-align:center;padding:30px;color:var(--text-secondary)}.cartola-vacia p:first-child{font-size:1.5rem;margin-bottom:10px}.transacciones-lista{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.transaccion-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:var(--bg-primary);transition:all .2s ease}.transaccion-item:hover{transform:translate(5px)}.transaccion-icono{font-size:1.3rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-secondary)}.transaccion-item.compra .transaccion-icono{background:#ef44441a}.transaccion-item.prestamo .transaccion-icono{background:#8b5cf61a}.transaccion-item.pago_prestamo .transaccion-icono{background:#f59e0b1a}.transaccion-item.recompensa .transaccion-icono,.transaccion-item.regalo .transaccion-icono{background:#10b9811a}.transaccion-info{flex:1;display:flex;flex-direction:column;min-width:0}.transaccion-desc{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaccion-fecha{font-size:.75rem;color:var(--text-secondary)}.transaccion-monto{font-weight:700;font-size:.95rem;white-space:nowrap}.transaccion-monto.compra,.transaccion-monto.pago_prestamo{color:#ef4444}.transaccion-monto.prestamo{color:#8b5cf6}.transaccion-monto.recompensa,.transaccion-monto.regalo{color:#10b981}.cartola-reset{margin-top:20px;padding-top:20px;border-top:1px dashed var(--border-color);text-align:center}.btn-reset-cuenta{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #ef44444d}.btn-reset-cuenta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-reset-cuenta:active{transform:translateY(0)}.reset-hint{margin-top:8px;font-size:.75rem;color:var(--text-secondary)}@media (min-width: 400px){.accesorios-grid,.armario-grid{grid-template-columns:repeat(4,1fr)}.mascot-selector-grid{grid-template-columns:repeat(6,1fr)}}@media (max-width: 500px){.panel-contenido{max-height:75vh;margin:10px}.mascot-selector-grid{grid-template-columns:repeat(4,1fr);gap:8px;padding:15px}.mascot-selector-item{padding:8px}.armario-grid,.accesorios-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:15px}.prestamo-modal{margin:15px}.banco-flotante{bottom:80px;right:15px;padding:10px 16px;font-size:.9rem}.cartola-modal{margin:10px;max-height:90vh}.cartola-resumen{flex-direction:column;gap:10px}.cartola-stats{grid-template-columns:1fr 1fr;gap:8px}.stat-item{padding:10px;flex-direction:column;text-align:center;gap:4px}.transaccion-item{padding:10px;gap:8px}.transaccion-icono{width:35px;height:35px;font-size:1.1rem}.transaccion-desc{font-size:.9rem}.transaccion-monto{font-size:.85rem}.mascota-acciones{grid-template-columns:repeat(4,1fr);gap:8px}.accion-btn{padding:12px 8px}.accion-texto{font-size:.7rem}.accion-icon{font-size:1.3rem}}.color-palette-panel{max-width:700px;max-height:85vh;overflow-y:auto}@media (max-width: 768px){.panel-overlay{align-items:stretch;padding:0}.panel-contenido.color-palette-panel{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.color-palette-panel{max-height:100vh}.panel-header{padding:14px 16px}.colores-estadisticas{flex-wrap:wrap;gap:10px;padding:12px}.colores-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:6px}}.colores-estadisticas{display:flex;gap:15px;margin-bottom:20px;padding:15px;background:var(--bg-primary);border-radius:12px;justify-content:center}.colores-estadisticas .stat-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 20px}.colores-estadisticas .stat-numero{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.colores-estadisticas .stat-label{font-size:.85rem;color:var(--text-secondary)}.colores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;padding:10px 0}.color-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;padding:15px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .3s ease;position:relative}.color-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color)}.color-card.bloqueado{opacity:.6;background:repeating-linear-gradient(45deg,var(--bg-primary),var(--bg-primary) 10px,var(--bg-secondary) 10px,var(--bg-secondary) 20px)}.color-card.activo{border-color:var(--success-color);box-shadow:0 0 0 3px #22c55e33}.color-preview{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:50%;overflow:hidden}.color-info{text-align:center;display:flex;flex-direction:column;gap:5px}.color-info h4{margin:0;font-size:1rem;color:var(--text-primary)}.badge-inicial,.badge-actual{display:inline-block;padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:600}.badge-inicial{background:var(--primary-color);color:#fff}.badge-actual{background:var(--success-color);color:#fff}.color-action{width:100%}.btn-aplicar,.btn-comprar-color{width:100%;padding:8px 12px;border-radius:8px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-aplicar{background:var(--success-color);color:#fff}.btn-aplicar:disabled{background:var(--border-color);color:var(--text-secondary);cursor:default}.btn-comprar-color{background:var(--primary-color);color:#fff}.btn-comprar-color:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 8px #0003}.btn-comprar-color:disabled{background:var(--border-color);color:var(--text-secondary);cursor:not-allowed}.badge-bloqueados{background:var(--danger-color)}.accion-btn-grande.colores{background:linear-gradient(135deg,#667eea,#764ba2)}@media (max-width: 768px){.colores-grid{grid-template-columns:repeat(2,1fr)}.color-preview{width:60px;height:60px}}.mascota-cambiar-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding-bottom:80px}.mascota-header{position:sticky;top:0;z-index:100;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px 20px;box-shadow:0 2px 15px #0000001a;display:flex;align-items:center;gap:16px}.mascota-header .back-btn{background:#667eea;color:#fff;border:none;border-radius:12px;width:44px;height:44px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.mascota-header .back-btn:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.mascota-header h1{margin:0;font-size:22px;font-weight:700;color:#2d3748;flex:1}.mensaje-feedback{margin:20px;padding:16px 20px;border-radius:12px;font-weight:600;text-align:center;animation:slideInDown .3s ease}.mensaje-feedback.exito{background:linear-gradient(135deg,#84fab0,#8fd3f4);color:#065f46}.mensaje-feedback.error{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.cambiar-container{max-width:800px;margin:0 auto;padding:20px}.preview-section{margin-bottom:30px}.preview-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 40px #0000001a;text-align:center;position:relative;overflow:hidden}.preview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#667eea,#764ba2)}.preview-label{font-size:14px;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}.preview-mascota{margin:20px 0;display:flex;justify-content:center;align-items:center;min-height:200px}.preview-info{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:2px solid #e2e8f0}.preview-nombre{font-size:24px;font-weight:700;color:#2d3748}.preview-color{font-size:16px;color:#718096;font-weight:500}.selector-section{background:#fff;border-radius:20px;padding:25px;margin-bottom:20px;box-shadow:0 8px 30px #00000014}.selector-titulo{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:#2d3748;margin:0 0 20px}.selector-icono{font-size:28px}.tipos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px}.tipo-btn{background:#fff;border:3px solid #e2e8f0;border-radius:16px;padding:20px 15px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;overflow:hidden}.tipo-btn:hover{border-color:#cbd5e0;transform:translateY(-4px);box-shadow:0 8px 20px #0000001a}.tipo-btn.seleccionado{border-color:#667eea;background:linear-gradient(135deg,#f7fafc,#edf2f7);box-shadow:0 8px 25px #667eea33}.tipo-preview{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border-radius:12px;transition:all .3s ease}.tipo-btn:hover .tipo-preview{background:#edf2f7;transform:scale(1.1)}.tipo-nombre{font-size:16px;font-weight:600;color:#4a5568}.tipo-btn.seleccionado .tipo-nombre{color:#667eea}.tipo-btn .check-mark{position:absolute;top:10px;right:10px;background:#667eea;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;box-shadow:0 4px 12px #667eea66}.colores-grid-compacto{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}.color-btn{background:#fff;border:3px solid #e2e8f0;border-radius:14px;padding:15px 10px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.color-btn:hover:not(.bloqueado){border-color:#cbd5e0;transform:translateY(-3px);box-shadow:0 6px 16px #0000001a}.color-btn.seleccionado{border-color:#667eea;background:linear-gradient(135deg,#f7fafc,#edf2f7);box-shadow:0 6px 20px #667eea40}.color-btn.bloqueado{opacity:.5;cursor:not-allowed;background:#f7fafc}.color-muestra{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f7fafc;border-radius:10px}.color-nombre{font-size:13px;font-weight:600;color:#4a5568;text-align:center}.color-precio{font-size:12px;font-weight:700;color:#e53e3e;display:flex;align-items:center;gap:4px}.badge-gratis{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;font-size:9px;font-weight:700;padding:3px 6px;border-radius:6px;letter-spacing:.5px}.color-btn .check-mark{position:absolute;top:8px;right:8px;background:#667eea;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;box-shadow:0 3px 10px #667eea66}.colores-nota{margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,#fef5e7,#fdebd0);border-left:4px solid #f59e0b;border-radius:10px;font-size:14px;color:#92400e;line-height:1.5}.colores-nota .link-btn{background:none;border:none;color:#667eea;font-weight:700;text-decoration:underline;cursor:pointer;padding:0;font-size:inherit}.colores-nota .link-btn:hover{color:#5568d3}.acciones-footer{position:sticky;bottom:20px;background:#fff;border-radius:16px;padding:20px;box-shadow:0 10px 40px #00000026;display:flex;gap:12px;margin-top:30px}.btn-cancelar{flex:1;background:#fff;border:2px solid #e2e8f0;color:#4a5568;font-size:16px;font-weight:600;padding:16px 24px;border-radius:12px;cursor:pointer;transition:all .3s ease}.btn-cancelar:hover:not(:disabled){border-color:#cbd5e0;background:#f7fafc;transform:translateY(-2px)}.btn-guardar{flex:2;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;font-size:16px;font-weight:700;padding:16px 32px;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #667eea66}.btn-guardar:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #667eea80}.btn-guardar:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.cambiar-container{padding:15px}.preview-card{padding:20px}.tipos-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.colores-grid-compacto{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.acciones-footer{flex-direction:column;bottom:10px}.btn-guardar,.btn-cancelar{width:100%}}@media (max-width: 480px){.mascota-header h1{font-size:18px}.tipos-grid{grid-template-columns:repeat(2,1fr)}.preview-mascota{min-height:160px}}.welcome-animation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;z-index:10000;pointer-events:none}.welcome-animation-content{text-align:center;color:#fff;animation:scaleIn .6s cubic-bezier(.68,-.55,.265,1.55);position:relative}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.welcome-icon-wrapper{position:relative;display:inline-block;margin-bottom:20px}.welcome-icon{font-size:120px;display:block;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.welcome-icon[src]{width:120px;height:120px;object-fit:contain}.welcome-icon.wave-hand{transform-origin:70% 70%}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.welcome-lottie{position:absolute;top:0;right:0}.welcome-title{font-size:42px;font-weight:800;margin-bottom:12px;letter-spacing:-1px;text-shadow:0 4px 12px rgba(0,0,0,.3);animation:slideInLeft .6s ease .3s backwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.welcome-subtitle{font-size:20px;opacity:.95;margin-bottom:30px;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.2);animation:slideInRight .6s ease .5s backwards}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.welcome-loader{display:flex;justify-content:center;gap:12px;margin-top:30px}.loader-dot{width:12px;height:12px;background:#fff;border-radius:50%;animation:wave-loader 1.4s ease-in-out infinite}.loader-dot:nth-child(1){animation-delay:-.32s}.loader-dot:nth-child(2){animation-delay:-.16s}@keyframes wave-loader{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.3);opacity:1}}.fade-in-text{animation:fadeInText .5s ease}@keyframes fadeInText{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.info-banner{background:linear-gradient(135deg,#2196f326,#1e88e51a);border:2px solid rgba(33,150,243,.3);border-radius:16px;padding:20px;display:flex;gap:16px;margin-bottom:24px;box-shadow:var(--card-shadow)}.info-icon{font-size:28px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.info-banner p{font-size:15px;color:var(--text-primary);line-height:1.6;font-weight:500}.warning-card{background:#ffd3b64d;border-radius:20px;padding:32px 24px;text-align:center;margin-bottom:32px}.warning-icon{font-size:48px;display:block;margin-bottom:16px}.warning-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:20px;line-height:1.4}.config-button{background:var(--bg-secondary);color:var(--text-primary);font-size:16px;font-weight:600;padding:14px 32px;border-radius:16px;box-shadow:0 2px 8px var(--shadow);transition:transform .2s ease;-webkit-tap-highlight-color:transparent}.config-button:active{transform:scale(.98)}.contact-card{background:var(--bg-secondary);border-radius:16px;padding:20px;display:flex;gap:16px;align-items:center;box-shadow:0 2px 8px var(--shadow);margin-bottom:32px}.contact-icon{width:40px;height:40px;border-radius:12px;background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.contact-label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.contact-name{font-size:14px;font-weight:600;color:var(--text-primary)}.emergency-types{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:32px}.emergency-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease;-webkit-tap-highlight-color:transparent;box-shadow:var(--card-shadow);cursor:pointer;position:relative;overflow:hidden}.emergency-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-panic),#E53935);transform:scaleX(0);transition:transform .3s ease}.emergency-card:hover{transform:translate(4px);box-shadow:var(--hover-shadow);border-color:var(--color-panic)}.emergency-card:hover:before{transform:scaleX(1)}.emergency-card:active{transform:scale(.98)}.emergency-card--selected{border-color:var(--color-panic);background:linear-gradient(135deg,#f4433626,#e539351a);box-shadow:var(--hover-shadow)}.emergency-card--selected:before{transform:scaleX(1)}.emergency-icon{font-size:32px;flex-shrink:0}.emergency-label{font-size:16px;color:var(--text-primary);text-align:left}.panic-button{width:100%;background:linear-gradient(135deg,var(--color-panic) 0%,#E53935 100%);border-radius:32px;padding:40px 32px;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 12px 40px #f4433666;transition:all .3s ease;-webkit-tap-highlight-color:transparent;margin-top:24px;position:relative;overflow:hidden;border:3px solid rgba(255,255,255,.3)}.panic-button:before{content:"";position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,transparent 70%);animation:pulse-wave 2s ease infinite}@keyframes pulse-wave{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}.panic-button:hover:not(.panic-button--disabled){transform:translateY(-4px);box-shadow:0 16px 48px #f4433680}.panic-button:active:not(.panic-button--disabled){transform:scale(.98);box-shadow:0 8px 24px #f4433666}.panic-button--disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.panic-button__icon{font-size:72px;animation:shake 1s ease infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));z-index:1}@keyframes shake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.panic-button__text{font-size:26px;font-weight:800;color:#fff;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.2);z-index:1}.settings-button{width:40px;height:40px;border-radius:12px;background:transparent;font-size:20px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);-webkit-tap-highlight-color:transparent}.settings-button:active{background:var(--bg-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.modal-content{background:var(--bg-secondary);border-radius:24px;padding:28px;max-width:500px;width:100%;box-shadow:0 20px 60px #0006;max-height:80vh;overflow-y:auto;animation:slideUp .4s ease;border:2px solid var(--border-color)}.modal-title{font-size:24px;font-weight:800;color:var(--text-primary);margin-bottom:24px;text-align:center;letter-spacing:-.5px}.email-preview{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:var(--card-shadow)}.email-to,.email-subject{font-size:14px;color:var(--text-primary);margin-bottom:12px}.email-body{background:#fff;color:#1a1a1a;border-radius:12px;padding:16px;margin-top:16px}.email-body pre{font-size:13px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-button{padding:18px;border-radius:16px;font-size:17px;font-weight:700;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.modal-button--cancel{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.modal-button--cancel:hover{background:var(--bg-secondary);transform:translateY(-2px);box-shadow:var(--card-shadow)}.modal-button--cancel:active{transform:scale(.98)}.modal-button--confirm{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 6px 20px #ff8c4259}.modal-button--confirm:hover{transform:translateY(-3px);box-shadow:0 8px 24px #ff8c4280}.modal-button--confirm:active{transform:translateY(-1px)}.chatbot-page{background-color:var(--bg-primary);min-height:100vh;position:relative}.welcome-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeOut .5s ease 2.5s forwards}@keyframes fadeOut{to{opacity:0;visibility:hidden}}.welcome-bot{text-align:center;color:#fff;animation:bounceIn .8s ease}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.bot-avatar{font-size:120px;animation:pulse 2s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.wave-hand{font-size:60px;display:inline-block;animation:wave 1s ease infinite;transform-origin:70% 70%}@keyframes wave{0%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0)}to{transform:rotate(0)}}.welcome-title{font-size:36px;font-weight:700;margin:20px 0 10px;animation:slideUp .6s ease .3s backwards}.welcome-text{font-size:18px;opacity:.9;animation:slideUp .6s ease .5s backwards}.loading-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}.loading-dots span{width:10px;height:10px;background:#fff;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chatbot-content{opacity:1;transition:opacity .5s ease}.chatbot-content.hidden{opacity:0}.info-banner{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:20px;border-radius:16px;margin-bottom:24px;display:flex;align-items:flex-start;gap:16px;box-shadow:var(--hover-shadow)}.info-icon{font-size:32px;flex-shrink:0}.info-banner p{margin:0;line-height:1.6;font-size:15px;font-weight:500;color:#fff}.status-banner{background:linear-gradient(135deg,#4ecdc42e,#44a08d1f);border:2px solid rgba(78,205,196,.4);color:var(--text-primary);padding:16px 18px;border-radius:16px;margin-bottom:20px;display:flex;align-items:center;gap:12px;box-shadow:var(--card-shadow);animation:slideDown .4s ease}.status-icon{font-size:22px;animation:pulse 1.6s ease-in-out infinite}.status-banner p{margin:0;font-size:14px;font-weight:600}.section-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:16px;padding-left:4px;display:flex;align-items:center;gap:8px}.upload-section{margin-bottom:32px}.upload-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:var(--bg-secondary);border:3px dashed var(--border-color);border-radius:20px;cursor:pointer;transition:all .3s ease;box-shadow:var(--card-shadow)}.upload-card:hover{border-color:var(--primary-color);background:var(--bg-secondary);transform:translateY(-2px);box-shadow:var(--hover-shadow)}.upload-icon{font-size:64px;margin-bottom:16px;animation:float 3s ease infinite}.upload-icon-success{font-size:64px;margin-bottom:16px;color:var(--color-success);animation:successPop .5s ease}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.upload-text{font-size:17px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.upload-text-success{font-size:17px;font-weight:700;color:var(--color-success);margin:0 0 8px}.upload-hint{font-size:14px;color:var(--text-secondary);font-weight:500}.modes-section{margin-bottom:32px}.modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode-card--single{grid-column:1 / -1;justify-self:center;width:calc(50% - 8px)}.mode-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;padding:24px 16px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;box-shadow:var(--card-shadow);position:relative;overflow:hidden}.mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));transform:scaleX(0);transition:transform .3s ease}.mode-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:var(--hover-shadow)}.mode-card:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:var(--card-shadow)}.mode-card:disabled:before{transform:scaleX(0)}.mode-card:hover:before{transform:scaleX(1)}.mode-card--selected{border-color:var(--primary-color);background:linear-gradient(135deg,#ff8c421a,#ff6f000d);box-shadow:var(--hover-shadow)}.mode-card--selected:before{transform:scaleX(1)}.mode-icon{font-size:44px;margin-bottom:8px;filter:grayscale(.3);transition:all .3s ease}.mode-card:hover .mode-icon,.mode-card--selected .mode-icon{filter:grayscale(0);transform:scale(1.1)}.mode-label{font-size:15px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.mode-description{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.4;font-weight:500}.start-button{width:100%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:20px;padding:20px 24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 6px 20px #ff8c4259;margin-bottom:24px;font-weight:700;position:relative;overflow:hidden}.start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.start-button:hover:not(.start-button--disabled):before{left:100%}.start-button:hover:not(.start-button--disabled){transform:translateY(-3px);box-shadow:0 8px 24px #ff8c4280}.start-button:active:not(.start-button--disabled){transform:translateY(-1px)}.start-button--disabled{background:linear-gradient(135deg,#ccc,#999);cursor:not-allowed;box-shadow:none;opacity:.5}.start-button__icon{font-size:26px}.start-button__text{margin:0;font-size:17px;font-weight:700;letter-spacing:.5px}.preview-section{margin-top:32px;padding-top:24px;border-top:2px solid var(--border-color);animation:slideIn .5s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.preview-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.preview-title:before{content:"👁️";font-size:22px}.preview-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px;border-left:5px solid var(--primary-color);box-shadow:var(--card-shadow);transition:all .3s ease}.preview-card:hover{transform:translate(4px);box-shadow:var(--hover-shadow)}.preview-question{font-size:16px;color:var(--text-primary);margin:0 0 12px;line-height:1.6;font-weight:500}.preview-hint{font-size:13px;color:var(--text-secondary);font-style:italic;font-weight:500}.error-banner{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;padding:16px 20px;border-radius:16px;margin-bottom:24px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #ff6b6b4d;animation:slideDown .4s ease}.error-icon{font-size:24px}.upload-card--loading{opacity:.7;cursor:wait;pointer-events:none}.upload-icon-loading{font-size:48px;animation:pulse 1.5s ease-in-out infinite}.upload-text-loading{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.upload-instruction{margin-top:20px;padding:16px;background:linear-gradient(135deg,#ff8c421a,#ff6f000d);border-radius:12px;border:2px solid rgba(255,140,66,.2);display:flex;flex-direction:column;align-items:center;gap:8px}.upload-instruction-icon{font-size:28px;animation:bounce-slow 2s ease-in-out infinite}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.upload-instruction-text{font-size:14px;font-weight:600;color:var(--primary-color);margin:0;text-align:center}.document-loaded-container{display:flex;flex-direction:column;gap:16px}.document-info-card{background:var(--bg-secondary);border:2px solid var(--color-success);border-radius:16px;padding:20px;box-shadow:var(--card-shadow);transition:all .3s ease}.document-info-header{display:flex;align-items:center;gap:16px}.document-icon{font-size:48px;flex-shrink:0}.document-details{flex:1;min-width:0}.document-name{font-size:16px;font-weight:700;color:var(--text-primary);margin:0 0 6px;word-break:break-word}.document-stats{font-size:13px;color:var(--text-secondary);font-weight:500;display:block}.document-status{font-size:32px;color:var(--color-success);flex-shrink:0}.load-new-document-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff8c424d}.load-new-document-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff8c4266}.load-new-document-button:active{transform:translateY(0)}.load-new-icon{font-size:20px;animation:rotate-icon 2s linear infinite}@keyframes rotate-icon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.load-new-document-button:hover .load-new-icon{animation:rotate-icon .6s linear infinite}.start-button--loading{opacity:.7;cursor:wait;pointer-events:none}.cache-badge{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.result-section{margin-top:32px;animation:slideUp .5s ease}.result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.result-title{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.result-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;padding:24px;box-shadow:var(--card-shadow)}.result-content{font-size:15px;line-height:1.8;color:var(--text-primary);margin-bottom:20px}.result-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:2px solid var(--border-color);gap:12px}.result-footer small{font-size:13px;color:var(--text-secondary);font-weight:600}.quiz-container{display:flex;flex-direction:column;gap:24px}.quiz-question{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px;box-shadow:var(--card-shadow)}.quiz-question-title{font-size:17px;font-weight:600;color:var(--text-primary);margin:0 0 16px;line-height:1.5}.quiz-alternatives{display:flex;flex-direction:column;gap:12px}.quiz-alternative{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.quiz-alternative:hover{border-color:var(--primary-color);background:var(--primary-color);color:#fff;transform:translate(4px)}.quiz-alternative:active{transform:scale(.98)}.quiz-alternative-id{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary-color);color:#fff;border-radius:50%;font-weight:700;font-size:14px;flex-shrink:0}.quiz-alternative:hover .quiz-alternative-id{background:#fff;color:var(--primary-color)}.quiz-alternative-text{flex:1;font-size:15px;font-weight:500;line-height:1.4}.chat-section{margin-top:32px}.chat-messages{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;padding:20px;min-height:300px;max-height:500px;overflow-y:auto;margin-bottom:16px;display:flex;flex-direction:column;gap:16px}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-style:italic;text-align:center;padding:40px 20px}.chat-message{display:flex;gap:12px;animation:slideUp .3s ease}.chat-message--usuario{flex-direction:row-reverse}.chat-message--asistente{flex-direction:row}.chat-message-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;background:var(--bg-primary);border:2px solid var(--border-color)}.chat-message--usuario .chat-message-icon{background:var(--primary-color)}.chat-message--asistente .chat-message-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.chat-message-content{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:16px;padding:12px 16px;max-width:70%;word-wrap:break-word}.chat-message--usuario .chat-message-content{background:var(--primary-color);border-color:var(--primary-color)}.chat-message--usuario .chat-message-content p{color:#fff}.chat-message-content p{margin:0;font-size:15px;line-height:1.5;color:var(--text-primary)}.chat-input-container{display:flex;gap:12px;align-items:center}.chat-input{flex:1;padding:16px 20px;border:2px solid var(--border-color);border-radius:16px;font-size:15px;font-family:inherit;background:var(--bg-secondary);color:var(--text-primary);transition:all .3s ease}.chat-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #667eea1a}.chat-input::placeholder{color:var(--text-secondary)}.chat-send-button{width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d}.chat-send-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px #667eea66}.chat-send-button:active:not(:disabled){transform:scale(.95)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.chat-message-content{max-width:85%}.quiz-alternative{padding:12px 14px}.result-card{padding:20px}}.quiz-progress{display:flex;gap:16px;align-items:center;font-size:14px;font-weight:600;color:var(--text-secondary)}.quiz-score{background:var(--success-color, #10b981);color:#fff;padding:4px 12px;border-radius:12px;font-size:13px}.quiz-container-single{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;padding:28px;box-shadow:var(--card-shadow)}.quiz-question-single{display:flex;flex-direction:column;gap:24px}.quiz-alternatives-single{display:flex;flex-direction:column;gap:14px}.quiz-alternative-single{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg-primary);border:3px solid var(--border-color);border-radius:14px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%;position:relative}.quiz-alternative-single:hover:not(:disabled){border-color:var(--primary-color);transform:translate(4px);box-shadow:0 4px 12px #667eea26}.quiz-alternative-single:active:not(:disabled){transform:scale(.98)}.quiz-alternative-single:disabled{cursor:not-allowed}.quiz-alternative-single.selected{border-color:var(--primary-color);background:#667eea14;border-width:3px}.quiz-alternative-single.correct{border-color:#10b981;background:#10b9811a;border-width:3px}.quiz-alternative-single.wrong{border-color:#ef4444;background:#ef44441a;border-width:3px}.quiz-icon-correct{position:absolute;right:18px;font-size:24px;color:#10b981;animation:popIn .4s ease}.quiz-icon-wrong{position:absolute;right:18px;font-size:24px;color:#ef4444;animation:popIn .4s ease}@keyframes popIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.quiz-feedback{padding:20px;border-radius:14px;animation:slideDown .4s ease}.quiz-feedback.correct{background:#10b9811a;border:2px solid #10b981}.quiz-feedback.incorrect{background:#ef44441a;border:2px solid #ef4444}.quiz-feedback h5{margin:0 0 12px;font-size:16px;font-weight:700}.quiz-feedback.correct h5{color:#10b981}.quiz-feedback.incorrect h5{color:#ef4444}.quiz-feedback p{margin:0;font-size:15px;line-height:1.6;color:var(--text-primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quiz-actions{display:flex;justify-content:center;margin-top:8px}.quiz-submit-button,.quiz-next-button{padding:16px 32px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;min-width:200px}.quiz-submit-button:hover:not(:disabled),.quiz-next-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.quiz-submit-button:active:not(:disabled),.quiz-next-button:active:not(:disabled){transform:translateY(0)}.quiz-submit-button:disabled,.quiz-next-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.quiz-next-button{background:linear-gradient(135deg,#10b981,#059669)}.quiz-loading{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px;font-style:italic}.quiz-final-score{text-align:center;padding:40px 20px;animation:fadeIn .5s ease}.quiz-final-score h3{margin:0 0 16px;font-size:28px;color:var(--primary-color)}.final-score-text{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 28px}.quiz-restart-button{padding:14px 28px;background:var(--bg-primary);border:2px solid var(--primary-color);color:var(--primary-color);border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.quiz-restart-button:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.quiz-restart-button:active{transform:translateY(0)}@media (max-width: 768px){.quiz-container-single{padding:20px}.quiz-alternative-single{padding:14px 16px}.quiz-submit-button,.quiz-next-button{min-width:auto;width:100%}.quiz-final-score h3{font-size:24px}.final-score-text{font-size:20px}}.mascota-page{min-height:100vh;background:var(--bg-primary);position:relative;overflow-x:hidden}.mascota-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.mascota-loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.mascota-loading p{color:var(--text-secondary);font-size:16px;font-weight:500}.mascota-header{position:relative;padding:40px 20px 80px;text-align:center;overflow:hidden}.mascota-header-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:0 0 40px 40px}.mascota-header-content{position:relative;z-index:1}.mascota-title{font-size:32px;font-weight:800;color:#fff;margin:0 0 8px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.mascota-subtitle{font-size:18px;color:#ffffffe6;margin:0;font-weight:500}.mascota-container{padding:0 20px 20px;margin-top:-50px;position:relative;z-index:2}.mascota-avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:30px;position:relative}.mascota-avatar-glow{position:absolute;width:200px;height:200px;background:radial-gradient(circle,var(--primary-color) 0%,transparent 70%);opacity:.3;filter:blur(30px);animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.5}}.mascota-avatar-wrapper{background:var(--bg-secondary);border-radius:50%;padding:20px;box-shadow:0 10px 40px #00000026,0 0 0 4px var(--bg-secondary),0 0 0 8px var(--primary-color);position:relative;z-index:1}.mascota-name-badge{display:flex;flex-direction:column;align-items:center;margin-top:16px;padding:12px 24px;background:var(--bg-secondary);border-radius:20px;box-shadow:0 4px 15px #0000001a}.mascota-name{font-size:22px;font-weight:700;color:var(--text-primary)}.mascota-level{font-size:14px;color:var(--text-secondary);font-weight:500}.mascota-stats-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.mascota-stat-card{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--bg-secondary);border:2px solid transparent;border-radius:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00000014;text-align:left;width:100%;font-family:inherit}.mascota-stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f}.mascota-stat-card:active{transform:translateY(-1px)}.mascota-stat-card.equipos{border-color:#667eea33}.mascota-stat-card.equipos:hover{border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#667eea1a)}.mascota-stat-card.equipos .stat-card-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.mascota-stat-card.tareas{border-color:#4caf5033}.mascota-stat-card.tareas:hover{border-color:#4caf50;background:linear-gradient(135deg,#4caf500d,#4caf501a)}.mascota-stat-card.tareas .stat-card-icon{background:linear-gradient(135deg,#4caf50,#43a047)}.mascota-stat-card.actividades{border-color:#ff8c4233}.mascota-stat-card.actividades:hover{border-color:var(--primary-color);background:linear-gradient(135deg,#ff8c420d,#ff8c421a)}.mascota-stat-card.actividades .stat-card-icon{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark))}.mascota-stat-card.puntos{border-color:#ffc10733}.mascota-stat-card.puntos:hover{border-color:#ffc107;background:linear-gradient(135deg,#ffc1070d,#ffc1071a)}.mascota-stat-card.puntos .stat-card-icon{background:linear-gradient(135deg,#ffc107,#ff9800)}.mascota-stat-card.puntos .stat-card-arrow{font-weight:700;color:#ffc107}.stat-card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #00000026}.stat-card-icon span{font-size:28px}.stat-card-content{flex:1;display:flex;flex-direction:column;gap:4px}.stat-card-number{font-size:32px;font-weight:800;color:var(--text-primary);line-height:1}.stat-card-label{font-size:14px;color:var(--text-secondary);font-weight:500}.stat-card-arrow{font-size:24px;color:var(--text-secondary);opacity:.5;transition:all .3s ease}.mascota-stat-card:hover .stat-card-arrow{opacity:1;transform:translate(4px);color:var(--primary-color)}.mascota-message-card{display:flex;align-items:flex-start;gap:14px;padding:20px;background:linear-gradient(135deg,#ff8c420d,#ff8c421a);border:2px solid rgba(255,140,66,.2);border-radius:20px;margin-bottom:20px}.message-icon{font-size:32px;flex-shrink:0}.message-text{font-size:16px;color:var(--text-primary);line-height:1.5;margin:0;font-weight:500}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (min-width: 768px){.mascota-container{max-width:500px;margin-left:auto;margin-right:auto}.mascota-header{padding:50px 20px 90px}.mascota-title{font-size:38px}}@media (prefers-color-scheme: dark){.mascota-stat-card{box-shadow:0 4px 15px #0003}.mascota-avatar-wrapper{box-shadow:0 10px 40px #0000004d,0 0 0 4px var(--bg-secondary),0 0 0 8px var(--primary-color)}}.points-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.points-modal{background:var(--bg-secondary);border-radius:24px;width:100%;max-width:420px;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.points-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--bg-primary);border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:1}.points-modal-close:hover{background:var(--border-color);color:var(--text-primary)}.points-modal-header{text-align:center;padding:32px 24px 20px;background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:24px 24px 0 0}.points-modal-icon{font-size:48px;display:block;margin-bottom:12px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.points-modal-header h2{margin:0;font-size:26px;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2)}.points-modal-subtitle{margin:8px 0 0;font-size:15px;color:#ffffffe6;font-weight:500}.points-modal-content{padding:20px}.points-section{background:var(--bg-primary);border-radius:16px;padding:16px;margin-bottom:14px;border:2px solid var(--border-color)}.points-section-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--border-color)}.points-section-icon{font-size:24px}.points-section-header h3{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.points-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.points-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-secondary);border-radius:10px;transition:all .2s ease}.points-list li:hover{transform:translate(4px)}.points-action{font-size:14px;color:var(--text-primary);font-weight:500}.points-value{font-size:14px;font-weight:700;color:#ffc107;background:#ffc10726;padding:4px 10px;border-radius:20px;white-space:nowrap}.points-coming-soon{display:flex;align-items:flex-start;gap:12px;padding:16px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.3);border-radius:16px;margin-top:6px}.points-coming-soon span{font-size:24px;flex-shrink:0}.points-coming-soon p{margin:0;font-size:14px;color:var(--text-primary);line-height:1.5;font-weight:500}.shop-page{min-height:auto;background:var(--bg-primary);padding-bottom:250px}.shop-container{padding:20px 20px 150px;max-width:1200px;margin:0 auto}.shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.shop-header h2{font-size:28px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;text-align:left;margin:0}.points-display{display:flex;align-items:center;gap:10px;background:#fff;padding:12px 24px;border-radius:25px;box-shadow:0 4px 15px #0000001a}.points-icon{font-size:24px}.points-value{font-size:20px;font-weight:700;color:var(--primary-color)}.shop-categories{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap;justify-content:center}.category-button{padding:12px 24px;border-radius:25px;border:2px solid #ddd;background:#fff;cursor:pointer;transition:all .3s;font-weight:600;font-size:15px}.category-button:hover{border-color:var(--primary-color);color:var(--primary-color)}.category-button.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-color:transparent;box-shadow:0 4px 15px #667eea66}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-bottom:30px}.item-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:all .3s;border:3px solid transparent}.item-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px #00000026}.item-card.owned{border-color:#28a745}.item-card.equipped{background:linear-gradient(135deg,var(--primary-light)15 0%,var(--primary-dark)15 100%);border-color:var(--primary-dark);box-shadow:0 6px 20px #f5576c4d}.item-preview{width:100%;height:180px;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);display:flex;align-items:center;justify-content:center;padding:20px}.item-emoji{font-size:80px;animation:itemFloat 3s ease-in-out infinite}@keyframes itemFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}.item-info{padding:20px}.item-info h4{margin:0 0 12px;font-size:18px;color:var(--text-primary);font-weight:600}.item-price{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--primary-color);font-size:18px}.price-icon{font-size:20px}.action-button{width:100%;padding:14px;border:none;font-weight:700;cursor:pointer;transition:all .3s;text-transform:uppercase;font-size:14px;letter-spacing:.5px}.action-button.purchase{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.action-button.purchase:hover:not(:disabled){box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.action-button.purchase:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.action-button.equip{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.action-button.equip:hover{box-shadow:0 4px 15px #28a74566;transform:translateY(-2px)}.action-button.unequip{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.action-button.unequip:hover{box-shadow:0 4px 15px #dc354566;transform:translateY(-2px)}.no-items{text-align:center;padding:60px 20px;background:#fff;border-radius:20px;box-shadow:0 4px 15px #0000001a}.no-items p{font-size:18px;color:#666}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:20px;color:var(--primary-color);font-weight:600}@media (max-width: 768px){.shop-header{flex-direction:column}.shop-header h2{font-size:26px}.items-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:15px}.item-preview{height:140px}.item-emoji{font-size:60px}.shop-categories{gap:10px}.category-button{padding:10px 18px;font-size:14px}}.shadowpal-games-page{min-height:auto;background:var(--bg-primary)}.games-header{display:flex;align-items:center;gap:16px;padding:24px 20px 16px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border-bottom-left-radius:20px;border-bottom-right-radius:20px;box-shadow:0 10px 30px #0000001f}.games-back{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:12px;padding:10px 16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.games-back:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000026}.games-header__titles h2{font-size:24px;margin-bottom:4px}.games-header__titles p{font-size:14px;opacity:.9}.games-content{padding:20px}.games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}.games-card{position:relative;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;padding:24px 16px;border-radius:18px;background:var(--bg-secondary);border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 22px #00000014;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;color:var(--text-primary)}.games-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #00000026}.games-card__badge{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600}.games-card__icon{font-size:42px}.games-card__icon-img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.2))}.games-card__name{font-size:18px;font-weight:600;text-align:center}.games-card__cta{font-size:14px;font-weight:600;color:var(--primary-color)}.games-empty{background:var(--bg-secondary);border-radius:18px;padding:40px 30px;text-align:center;color:var(--text-secondary);box-shadow:0 10px 24px #00000014}.games-empty h3{margin-bottom:12px;color:var(--text-primary)}.creador-page{background:var(--bg-primary)}.creador-container{padding:24px 24px 100px}.creador-title{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.creador-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.creador-form{display:flex;flex-direction:column;gap:12px}.creador-label{display:flex;flex-direction:column;font-size:13px;color:var(--text-secondary)}.creador-input{margin-top:4px;padding:10px 12px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.creador-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff8c4240}.creador-button{margin-top:12px;padding:12px;border-radius:999px;border:none;background:var(--primary-color);color:#fff;font-weight:600;cursor:pointer}.creador-button:disabled{opacity:.6;cursor:not-allowed}.creador-error{color:#b91c1c;font-size:13px}.creador-success{color:#047857;font-size:13px}.gestor-page{background:var(--bg-primary)}.gestor-container{padding:24px 24px 100px}.gestor-title{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.gestor-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.gestor-filtros{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.gestor-search,.gestor-select{padding:10px 12px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;flex:1;min-width:150px}.gestor-search:focus,.gestor-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff8c4240}.gestor-table-wrapper{overflow-x:auto;margin-bottom:16px;border-radius:8px;background:var(--bg-secondary)}.gestor-table{width:100%;border-collapse:collapse;font-size:13px}.gestor-table thead{background:var(--bg-tertiary);position:sticky;top:0}.gestor-table th{padding:12px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.gestor-table td{padding:12px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.gestor-row:hover{background:#ff8c420d}.gestor-nombre{font-weight:500}.usuario-nombre{display:block}.gestor-email{color:var(--text-secondary);font-family:Monaco,Menlo,monospace;font-size:12px;word-break:break-all}.gestor-rol{text-align:center}.rol-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap}.rol-admin{background:#ec489926;color:#ec4899}.rol-profesor{background:#3b82f626;color:#3b82f6}.rol-estudiante{background:#22c55e26;color:#22c55e}.gestor-fecha{text-align:right;color:var(--text-secondary);font-size:12px}.gestor-loading,.gestor-empty{padding:32px;text-align:center;color:var(--text-secondary);font-size:14px;background:var(--bg-secondary);border-radius:8px;margin-bottom:16px}.gestor-error{padding:12px;margin-bottom:16px;border-radius:8px;background:#b91c1c26;color:#dc2626;font-size:13px}.gestor-info{padding:12px;background:var(--bg-secondary);border-radius:8px;font-size:13px;color:var(--text-secondary);margin-bottom:16px;text-align:center}.gestor-button{width:100%;padding:12px;border-radius:999px;border:none;background:var(--primary-color);color:#fff;font-weight:600;cursor:pointer;font-size:14px;transition:opacity .2s}.gestor-button:active{opacity:.8}.gestor-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.gestor-container{padding:16px 16px 80px}.gestor-title{font-size:20px}.gestor-filtros{flex-direction:column}.gestor-search,.gestor-select{width:100%;min-width:unset}.gestor-table{font-size:12px}.gestor-table th,.gestor-table td{padding:8px}.gestor-email,.gestor-fecha{font-size:11px}}.admin-usuarios-page{background:var(--bg-primary)}.admin-usuarios-container{padding:24px 24px 100px;max-width:800px;margin:0 auto}.admin-usuarios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.admin-usuarios-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.admin-usuarios-header-actions{display:flex;align-items:center;gap:10px}.admin-usuarios-count{background:var(--bg-secondary);padding:4px 12px;border-radius:999px;font-size:13px;color:var(--text-secondary);font-weight:600}.admin-usuarios-download-btn{display:flex;align-items:center;gap:6px;background:#1d6f42;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.admin-usuarios-download-btn:hover{background:#155a34;transform:translateY(-1px)}.admin-usuarios-download-btn:active{transform:translateY(0)}.admin-usuarios-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.admin-usuarios-search-wrapper{position:relative;margin-bottom:16px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none}.admin-usuarios-search{width:100%;padding:12px 40px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.admin-usuarios-search:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #ff8c4240}.search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:4px}.admin-usuarios-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.usuario-card{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;cursor:pointer;transition:border-color .2s,box-shadow .2s}.usuario-card:hover{border-color:var(--primary-color)}.usuario-card.expanded{border-color:var(--primary-color);box-shadow:0 2px 12px #ff8c4226}.usuario-card-main{display:flex;align-items:center;padding:12px 16px;gap:12px}.usuario-card-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ff8c42,#ff6b35);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;text-transform:uppercase}.usuario-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.usuario-card-name{font-weight:600;font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usuario-card-email{font-size:12px;color:var(--text-secondary);font-family:Monaco,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.usuario-card-status{display:flex;align-items:center;gap:8px;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:#22c55e;box-shadow:0 0 6px #22c55e80}.status-dot.offline{background:#6b7280}.expand-icon{font-size:10px;color:var(--text-secondary)}.usuario-card-details{padding:0 16px 16px;border-top:1px solid var(--border-color);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:11px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:13px;color:var(--text-primary);word-break:break-word}.admin-usuarios-loading{padding:48px;text-align:center;color:var(--text-secondary);font-size:14px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}.admin-usuarios-empty{padding:32px;text-align:center;color:var(--text-secondary);font-size:14px;background:var(--bg-secondary);border-radius:12px;margin-bottom:16px}.admin-usuarios-error{padding:12px;margin-bottom:16px;border-radius:8px;background:#b91c1c26;color:#dc2626;font-size:13px}.admin-usuarios-button{width:100%;padding:12px;border-radius:999px;border:none;background:var(--primary-color);color:#fff;font-weight:600;cursor:pointer;font-size:14px;transition:opacity .2s;margin-top:8px}.admin-usuarios-button:active{opacity:.8}@media (max-width: 480px){.admin-usuarios-container{padding:16px 16px 80px}.admin-usuarios-title{font-size:20px}.detail-grid{grid-template-columns:1fr}.usuario-card-main{padding:10px 12px}}.push-subs-container{padding:20px 20px 80px;max-width:800px;margin:0 auto}.push-header{text-align:center;margin-bottom:20px}.push-header h1{color:#333;font-size:1.8rem}.user-selector{margin-bottom:20px}.search-input{width:100%;padding:12px;border:2px solid #ddd;border-radius:12px;font-size:1rem;margin-bottom:10px;box-sizing:border-box}.user-list{max-height:200px;overflow-y:auto;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 4px 6px #0000000d}.user-option{padding:12px;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.user-option:last-child{border-bottom:none}.user-option:hover{background-color:#f9f9f9}.user-option.selected{background-color:#e3f2fd;color:#1976d2;font-weight:700}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.status-dot.active{background-color:#4caf50;box-shadow:0 0 5px #4caf50}.status-dot.inactive{background-color:#ccc}.user-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 12px #0000001a;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.card-header{display:flex;align-items:center;margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:15px}.avatar-placeholder{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin-right:15px}.user-info h2{margin:0;font-size:1.4rem;color:#333}.user-email{color:#666;font-size:.9rem;margin:5px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.stat-box{background:#f8f9fa;padding:10px;border-radius:10px;text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#2196f3}.stat-label{font-size:.75rem;color:#666;text-transform:uppercase}.devices-section h3{font-size:1.1rem;color:#444;margin-bottom:10px}.device-list{display:flex;flex-direction:column;gap:10px}.device-item{display:flex;align-items:center;background:#fff;border:1px solid #e0e0e0;padding:12px;border-radius:10px}.device-icon{font-size:1.5rem;margin-right:15px;color:#555}.device-details{flex:1}.device-name{font-weight:700;color:#333;display:block}.device-meta{font-size:.8rem;color:#888}.no-subs{text-align:center;color:#999;padding:20px;background:#f5f5f5;border-radius:10px}.loading-spinner{text-align:center;padding:40px;color:#666}.user-map-container{height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5}.map-header{padding:15px 20px;background:#fff;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:15px;z-index:1000}.map-header h1{margin:0;font-size:1.2rem;color:#333}.back-btn{background:none;border:none;font-size:1rem;color:#666;cursor:pointer;padding:5px 10px;border-radius:5px;transition:background .2s}.back-btn:hover{background:#eee}.map-controls{padding:15px 20px;background:#fff;border-bottom:1px solid #eee;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.user-select{flex:1;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:1rem;max-width:400px}.users-count{font-size:.9rem;color:#666;background:#eee;padding:5px 10px;border-radius:15px}.map-view{flex:1;width:100%;z-index:1}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 4px 12px #00000026}.leaflet-popup-content{margin:15px;font-family:Segoe UI,system-ui,sans-serif}.test-notif-page{padding:20px;max-width:600px;margin:0 auto}.test-content{display:flex;flex-direction:column;gap:20px}.status-card{background:var(--bg-secondary);border-radius:16px;padding:30px 20px;text-align:center;box-shadow:var(--card-shadow);transition:all .3s ease;border:2px solid transparent}.status-card.active{border-color:var(--color-success);background:#22c55e1a}.status-card.inactive{border-color:var(--border-color);background:var(--bg-primary)}.status-icon{font-size:48px;margin-bottom:15px}.status-card h2{margin:0 0 10px;color:var(--text-primary);font-size:1.2rem}.status-card p{color:var(--text-secondary);margin-bottom:25px;font-size:.95rem;line-height:1.5}.toggle-btn{width:100%;padding:15px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;border:none;transition:transform .2s}.toggle-btn:active{transform:scale(.98)}.status-card.active .toggle-btn{background:var(--color-error);color:#fff;box-shadow:0 4px 12px #ef44444d}.status-card.inactive .toggle-btn{background:var(--color-success);color:#fff;box-shadow:0 4px 12px #22c55e4d}.stats-card,.info-card{background:var(--bg-secondary);border-radius:16px;padding:20px;box-shadow:var(--card-shadow)}.stats-card h3,.info-card h3{margin:0 0 15px;color:var(--text-primary);font-size:1.1rem}.counter-display{display:flex;flex-direction:column;align-items:center;margin:20px 0}.count-number{font-size:3rem;font-weight:800;color:var(--primary-color);line-height:1}.count-label{color:var(--text-secondary);font-size:.9rem}.refresh-btn{width:100%;padding:10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-weight:500;cursor:pointer}.note{font-size:.8rem;color:var(--text-disabled);margin-top:15px;text-align:center;font-style:italic}.info-card ul{list-style:none;padding:0;margin:0}.info-card li{padding:8px 0;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.info-card li:last-child{border-bottom:none}.notifications-page{background-color:#f5f5f5;min-height:100vh;padding-bottom:80px}.notifications-header{background:#fff;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 5px #0000000d;position:sticky;top:0;z-index:100}.notifications-header h1{font-size:1.2rem;margin:0;color:#333}.back-btn,.clear-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:5px}.clear-btn{font-size:.9rem;color:#f44336;font-weight:700}.notifications-list{padding:15px;display:flex;flex-direction:column;gap:12px}.notification-card{background:#fff;border-radius:12px;padding:15px;display:flex;gap:15px;box-shadow:0 2px 8px #0000000d;transition:transform .2s}.notification-card.unread{background:#e3f2fd;border-left:4px solid #2196F3}.notification-card:active{transform:scale(.98)}.notification-card.panic-alert{border-left:4px solid #f44336;background:#fff5f5}.notif-icon{font-size:1.5rem;background:#f0f0f0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.notification-card.custom .notif-icon{background:#fff3e0}.notification-card.creation_notice .notif-icon{background:#e8f5e9}.notif-content{flex:1}.notif-content h3{margin:0 0 5px;font-size:1rem;color:#333}.notif-content p{margin:0 0 8px;font-size:.9rem;color:#666;line-height:1.4}.notif-time{font-size:.75rem;color:#999;display:block;text-align:right}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;color:#999;text-align:center}.empty-icon{font-size:4rem;margin-bottom:15px;opacity:.5}.mis-monedas-page{background-color:var(--bg-primary);min-height:100vh;padding-bottom:80px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:20px}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.saldo-section{padding:20px;display:flex;flex-direction:column;gap:16px}.saldo-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);border-radius:20px;padding:32px 24px;box-shadow:0 8px 24px #00000026;color:#fff;text-align:center;animation:slideUp .5s ease}.saldo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.saldo-label{font-size:15px;font-weight:600;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.saldo-icon{font-size:28px}.saldo-amount{font-size:56px;font-weight:800;margin:12px 0;text-shadow:0 4px 8px rgba(0,0,0,.2);line-height:1}.saldo-footer{margin-top:8px}.saldo-hint{font-size:14px;opacity:.85;font-weight:500}.prestamo-card{background:#ef44441a;border:2px solid #ef4444;border-radius:16px;padding:20px;animation:slideUp .6s ease}.prestamo-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.prestamo-icon{font-size:24px}.prestamo-label{font-size:15px;font-weight:700;color:#ef4444;text-transform:uppercase;letter-spacing:.5px}.prestamo-amount{font-size:32px;font-weight:800;color:#ef4444;margin-bottom:8px}.prestamo-hint{font-size:13px;color:var(--text-secondary);margin:0}.stats-section{padding:0 20px 20px}.section-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px 16px;text-align:center;display:flex;flex-direction:column;gap:8px;transition:all .3s ease;animation:slideUp .4s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a;border-color:var(--primary-color)}.stat-icon{font-size:32px}.stat-value{font-size:28px;font-weight:800;color:var(--primary-color)}.stat-label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.info-section{padding:0 20px 20px}.info-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px;animation:slideUp .5s ease}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.info-list li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--text-primary);line-height:1.5}.info-icon{font-size:20px;flex-shrink:0}.transacciones-section{padding:0 20px 20px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-icon{font-size:64px;display:block;margin-bottom:16px}.transacciones-list{display:flex;flex-direction:column;gap:12px}.transaccion-item{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:14px;padding:16px;display:flex;align-items:center;gap:14px;transition:all .3s ease;animation:slideUp .3s ease}.transaccion-item:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.transaccion-item.positivo{border-left:4px solid #10b981}.transaccion-item.negativo{border-left:4px solid #ef4444}.transaccion-item.neutro{border-left:4px solid #f59e0b}.transaccion-icon{font-size:28px;flex-shrink:0}.transaccion-info{flex:1;min-width:0}.transaccion-descripcion{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaccion-fecha{font-size:12px;color:var(--text-secondary)}.transaccion-monto{text-align:right;flex-shrink:0}.monto-valor{display:block;font-size:18px;font-weight:800;margin-bottom:4px}.monto-valor.positivo{color:#10b981}.monto-valor.negativo{color:#ef4444}.monto-saldo{display:block;font-size:11px;color:var(--text-secondary)}.acciones-section{padding:0 20px 20px}.acciones-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.accion-button{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .3s ease;animation:slideUp .4s ease}.accion-button:hover{border-color:var(--primary-color);background:var(--primary-color);transform:translateY(-4px);box-shadow:0 8px 16px #667eea4d}.accion-button:hover .accion-label{color:#fff}.accion-button:active{transform:translateY(0)}.accion-icon{font-size:36px}.accion-label{font-size:14px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;transition:color .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.saldo-amount{font-size:48px}.stats-grid,.acciones-grid{grid-template-columns:1fr}}.juegos-psicometricos{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px 20px 120px}.juegos-header{text-align:center;margin-bottom:30px;position:relative}.juegos-header h1{color:#fff;font-size:2rem;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.juegos-header .subtitulo{color:#ffffffe6;font-size:1rem;margin-top:8px}.btn-volver{position:absolute;left:0;top:0;background:#fff3;border:none;color:#fff;padding:10px 20px;border-radius:25px;cursor:pointer;font-size:.95rem;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.btn-volver:hover{background:#ffffff4d;transform:scale(1.05)}.admin-panel{display:flex;justify-content:center;margin-bottom:25px}.btn-admin-perfiles{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(255,255,255,.3);color:#fff;padding:15px 30px;border-radius:30px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 5px 20px #0000004d}.btn-admin-perfiles:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0006;border-color:#ffffff80}.categorias-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-width:1200px;margin:0 auto}.categoria-card{background:#fff;border-radius:24px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 30px #00000026;position:relative;overflow:hidden}.categoria-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--categoria-color)}.categoria-card:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--categoria-color);opacity:0;transition:opacity .3s ease;pointer-events:none}.categoria-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0003}.categoria-card:hover:after{opacity:.05}.categoria-icono{font-size:4rem;margin-bottom:15px;display:block}.categoria-nombre{color:#333;font-size:1.4rem;margin:0 0 10px;font-weight:700}.categoria-descripcion{color:#666;font-size:.95rem;margin:0 0 15px;line-height:1.4}.categoria-cantidad{display:inline-block;background:var(--categoria-color);color:#fff;padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600}.categoria-header{padding-top:60px}.header-categoria{display:flex;align-items:center;justify-content:center;gap:15px}.header-icono{font-size:2.5rem}.juegos-lista{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:15px}.juego-item{background:#fff;border-radius:20px;padding:20px 25px;display:flex;align-items:center;gap:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #0000001a}.juego-item:hover{transform:translate(10px);box-shadow:0 8px 25px #00000026}.juego-icono-grande{font-size:3rem;flex-shrink:0;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--tema-color, #667eea) 0%,rgba(0,0,0,.1) 100%);background-blend-mode:overlay;border-radius:16px}.juego-info{flex:1;text-align:left}.juego-info .juego-nombre{color:#333;font-size:1.2rem;margin:0 0 5px;font-weight:600}.juego-info .juego-descripcion{color:#777;font-size:.9rem;margin:0}.btn-jugar-mini{background:linear-gradient(135deg,var(--tema-color, #667eea) 0%,#764ba2 100%);border:none;color:#fff;padding:12px 24px;border-radius:25px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-jugar-mini:hover{transform:scale(1.05);box-shadow:0 5px 15px #667eea66}.juegos-footer{text-align:center;margin-top:40px;color:#ffffffd9;font-size:.95rem}@media (max-width: 768px){.juegos-psicometricos{padding:15px 15px 100px}.juegos-header{padding-top:50px}.juegos-header h1{font-size:1.6rem}.btn-volver{position:absolute;left:50%;transform:translate(-50%);top:0}.categorias-grid{grid-template-columns:1fr;gap:15px}.categoria-card{padding:25px}.categoria-icono{font-size:3rem}.categoria-nombre{font-size:1.2rem}.categoria-header{padding-top:50px}.header-categoria{flex-direction:column;gap:10px}.header-icono{font-size:2rem}.juego-item{padding:15px;gap:15px}.juego-icono-grande{font-size:2.2rem;width:55px;height:55px}.juego-info .juego-nombre{font-size:1.05rem}.juego-info .juego-descripcion{font-size:.85rem}.btn-jugar-mini{padding:10px 18px;font-size:.85rem}}@media (max-width: 480px){.juego-item{flex-wrap:wrap}.juego-icono-grande{width:50px;height:50px;font-size:2rem}.juego-info{flex:1;min-width:150px}.btn-jugar-mini{width:100%;margin-top:10px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.categoria-card{animation:fadeInUp .5s ease forwards}.categoria-card:nth-child(1){animation-delay:.05s}.categoria-card:nth-child(2){animation-delay:.1s}.categoria-card:nth-child(3){animation-delay:.15s}.categoria-card:nth-child(4){animation-delay:.2s}.categoria-card:nth-child(5){animation-delay:.25s}.categoria-card:nth-child(6){animation-delay:.3s}.juego-item{animation:fadeInUp .4s ease forwards}.juego-item:nth-child(1){animation-delay:.05s}.juego-item:nth-child(2){animation-delay:.1s}.juego-item:nth-child(3){animation-delay:.15s}.juego-item:nth-child(4){animation-delay:.2s}.juego-item:nth-child(5){animation-delay:.25s}.juego-item:nth-child(6){animation-delay:.3s}.juego-item:nth-child(7){animation-delay:.35s}.recomendaciones-section{max-width:1200px;margin:0 auto 30px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:20px;border:1px solid rgba(255,255,255,.2)}.recomendaciones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.recomendaciones-header h2{color:#fff;font-size:1.3rem;margin:0}.btn-toggle-rec{background:#fff3;border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;transition:all .3s ease}.btn-toggle-rec:hover{background:#ffffff4d}.perfil-mensaje{color:#ffffffd9;font-size:.9rem;margin:0 0 15px}.recomendaciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.recomendacion-card{background:#fff;border-radius:16px;padding:15px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;position:relative;overflow:hidden}.recomendacion-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.recomendacion-card.prioridad-alta:before{background:linear-gradient(180deg,gold,orange)}.recomendacion-card.prioridad-media:before{background:linear-gradient(180deg,#4ecdc4,#45b7d1)}.recomendacion-card.prioridad-baja:before{background:linear-gradient(180deg,#96ceb4,#88d8b0)}.recomendacion-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0003}.rec-icono{font-size:2rem;flex-shrink:0}.rec-info{flex:1;min-width:0}.rec-info h4{margin:0 0 4px;font-size:1rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec-razones{margin:0;font-size:.75rem;color:#666;text-transform:capitalize}.rec-prioridad{font-size:1.2rem;flex-shrink:0}.btn-mostrar-rec{display:block;margin:0 auto 25px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 25px;border-radius:25px;font-size:.95rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.btn-mostrar-rec:hover{background:#ffffff4d;transform:scale(1.05)}.recomendacion-card{animation:slideInRight .4s ease forwards;opacity:0}.recomendacion-card:nth-child(1){animation-delay:.1s}.recomendacion-card:nth-child(2){animation-delay:.2s}.recomendacion-card:nth-child(3){animation-delay:.3s}.recomendacion-card:nth-child(4){animation-delay:.4s}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media (max-width: 600px){.recomendaciones-grid{grid-template-columns:1fr}.recomendaciones-header h2{font-size:1.1rem}.recomendacion-card{padding:12px}.rec-icono{font-size:1.6rem}}.juegos-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:25px;background:#ffffff26;padding:8px;border-radius:30px;max-width:400px;margin-left:auto;margin-right:auto}.tab-btn{flex:1;background:transparent;border:none;color:#ffffffb3;padding:12px 20px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-btn:hover{background:#ffffff1a;color:#fff}.tab-btn.activa{background:#fff;color:#667eea;box-shadow:0 4px 15px #0003}.avance-section{max-width:800px;margin:0 auto}.avance-resumen{background:#ffffff26;border-radius:20px;padding:25px;text-align:center;margin-bottom:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.avance-stat{margin-bottom:15px}.avance-stat .stat-numero{font-size:3rem;font-weight:700;color:#fff;display:block;line-height:1}.avance-stat .stat-label{color:#fffc;font-size:1.1rem}.avance-barra-container{height:12px;background:#fff3;border-radius:10px;overflow:hidden;margin-bottom:10px}.avance-barra-progreso{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:10px;transition:width .5s ease}.avance-partidas{color:#ffffffb3;font-size:.95rem;margin:0}.avance-cargando{text-align:center;padding:40px;color:#fff}.avance-cargando span{font-size:2.5rem;display:block;margin-bottom:10px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.avance-lista{display:flex;flex-direction:column;gap:12px}.avance-juego{background:#fff;border-radius:16px;padding:16px;display:flex;align-items:center;gap:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.avance-juego:hover{transform:translate(5px);box-shadow:0 6px 20px #00000026}.avance-juego.no-jugado{opacity:.7;background:#fffc}.avance-juego-icono{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px}.avance-juego-info{flex:1}.avance-juego-info h4{margin:0 0 5px;font-size:1rem;color:#333}.avance-juego-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nivel-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;color:#fff;font-weight:600}.veces-jugado{color:#666;font-size:.85rem}.no-jugado-label{color:#999;font-size:.85rem;font-style:italic}.avance-juego-estrellas{display:flex;gap:2px}.avance-juego-estrellas .estrella{font-size:1.2rem;color:#ddd;transition:color .3s ease}.avance-juego-estrellas .estrella.activa{color:gold;text-shadow:0 0 5px rgba(255,215,0,.5)}@media (max-width: 600px){.juegos-tabs{max-width:100%}.tab-btn{font-size:.9rem;padding:10px 15px}.avance-juego{padding:12px}.avance-juego-icono{width:40px;height:40px;font-size:1.5rem}.avance-juego-estrellas .estrella{font-size:1rem}}.juego-item.bloqueado{opacity:.7;background:repeating-linear-gradient(45deg,#fff,#fff 10px,#f5f5f5 10px,#f5f5f5 20px)}.juego-item.bloqueado:hover{transform:translate(5px)}.juego-icono-grande{position:relative}.candado-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;z-index:10;text-shadow:0 2px 4px rgba(0,0,0,.3)}.badge-bloqueado{display:inline-block;margin-left:10px;padding:3px 8px;background:#ef4444;color:#fff;border-radius:8px;font-size:.7rem;font-weight:600}.btn-desbloquear-mini{background:linear-gradient(135deg,#f59e0b,#ef4444);border:none;color:#fff;padding:12px 24px;border-radius:25px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-desbloquear-mini:hover{transform:scale(1.05);box-shadow:0 5px 15px #f59e0b66}.desbloqueo-modal{text-align:center;padding:30px;max-width:450px}.modal-icono-juego{font-size:4rem;margin-bottom:15px}.desbloqueo-modal h2{color:#333;margin:0 0 10px;font-size:1.5rem}.modal-descripcion{color:#666;margin:0 0 20px;font-size:.95rem}.desbloqueo-info{display:flex;gap:20px;justify-content:center;margin:20px 0}.precio-badge,.saldo-badge{display:flex;flex-direction:column;align-items:center;gap:5px;padding:15px 25px;border-radius:12px;background:#f5f5f5}.precio-badge{border:2px solid #f59e0b}.saldo-badge{border:2px solid #10b981}.precio-label,.saldo-label{font-size:.8rem;color:#666;font-weight:600;text-transform:uppercase}.precio-valor,.saldo-valor{font-size:1.5rem;font-weight:700;color:#333}.advertencia-monedas{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;margin:15px 0;font-size:.9rem;font-weight:600}.modal-acciones{display:flex;gap:10px;margin-top:20px}.btn-desbloquear-juego{flex:1;background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;padding:14px 20px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-desbloquear-juego:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #10b98166}.btn-desbloquear-juego:disabled{background:#d1d5db;cursor:not-allowed;color:#9ca3af}.btn-cancelar{flex:1;background:#fff;border:2px solid #e5e7eb;color:#6b7280;padding:14px 20px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancelar:hover{background:#f9fafb;border-color:#d1d5db}@media (max-width: 600px){.juego-item.bloqueado .candado-overlay{font-size:1.5rem}.desbloqueo-info{flex-direction:column;gap:10px}.modal-acciones{flex-direction:column}}.perfil-cognitivo{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px 20px 100px;color:#fff}.perfil-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;flex-wrap:wrap}.perfil-header h1{flex:1;font-size:1.8rem;margin:0}.btn-volver{background:#ffffff1a;border:none;color:#fff;padding:10px 20px;border-radius:25px;cursor:pointer;font-size:.95rem;transition:all .3s ease}.btn-volver:hover{background:#fff3}.admin-badge,.rol-badge{background:linear-gradient(135deg,#667eea,#764ba2);padding:8px 16px;border-radius:20px;font-size:.85rem}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:20px}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.error-icon{font-size:3rem}.error-container button{background:#667eea;border:none;color:#fff;padding:12px 30px;border-radius:25px;cursor:pointer}.filtros-container{display:flex;align-items:center;gap:15px;margin-bottom:25px}.input-busqueda{flex:1;max-width:400px;padding:12px 20px;border-radius:25px;border:none;background:#ffffff1a;color:#fff;font-size:1rem}.input-busqueda::placeholder{color:#ffffff80}.total-usuarios{color:#ffffffb3;font-size:.9rem}.usuarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.usuario-card{background:#ffffff0d;border-radius:20px;padding:20px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:15px;border:1px solid rgba(255,255,255,.1)}.usuario-card:hover{background:#ffffff1a;transform:translateY(-5px)}.usuario-avatar{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.usuario-info h3{margin:0;font-size:1.1rem}.usuario-rol{color:#fff9;font-size:.85rem;text-transform:capitalize}.usuario-stats{display:flex;flex-direction:column;gap:5px}.usuario-stats .stat{font-size:.85rem;color:#fffc}.usuario-stats .stat.fuerte{color:#4caf50}.mini-barras{display:flex;gap:8px;height:40px;align-items:flex-end}.mini-barra{width:20px;height:100%;background:#ffffff1a;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end}.mini-relleno{width:100%;border-radius:4px;transition:height .5s ease}.perfil-detalle{display:flex;flex-direction:column;gap:30px}.resumen-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.resumen-card{background:#ffffff0d;border-radius:16px;padding:20px;text-align:center;display:flex;flex-direction:column;gap:8px}.resumen-card.fuerte{border:2px solid #4CAF50}.resumen-card.debil{border:2px solid #FF9800}.resumen-icon{font-size:2rem}.resumen-valor{font-size:1.3rem;font-weight:700}.resumen-label{font-size:.85rem;color:#fff9}.seccion-puntajes,.seccion-dificultad,.seccion-recomendaciones,.seccion-historial{background:#ffffff0d;border-radius:20px;padding:25px}.seccion-puntajes h2,.seccion-dificultad h2,.seccion-recomendaciones h2,.seccion-historial h2{margin:0 0 20px;font-size:1.2rem}.barras-container{display:flex;flex-direction:column;gap:20px}.barra-item{display:flex;flex-direction:column;gap:8px}.barra-info{display:flex;align-items:center;gap:10px}.barra-icono{font-size:1.3rem}.barra-nombre{flex:1}.barra-puntaje{font-weight:700;font-size:1.1rem}.barra-fondo{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden}.barra-relleno{height:100%;border-radius:6px;transition:width .8s ease}.barra-nivel{font-size:.8rem;color:#fff9}.dificultad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.dificultad-item{background:#ffffff0d;border-radius:12px;padding:15px;text-align:center}.dificultad-icono{font-size:1.5rem;display:block;margin-bottom:8px}.dificultad-nombre{display:block;font-size:.9rem;margin-bottom:10px;color:#fffc}.dificultad-estrellas{display:flex;justify-content:center;gap:3px}.estrella{color:#fff3;font-size:1.2rem}.estrella.activa{color:gold}.recomendaciones-lista{display:flex;flex-direction:column;gap:12px}.recomendacion-item{display:flex;align-items:center;gap:15px;background:#ffffff0d;padding:15px;border-radius:12px}.rec-prioridad{background:#667eea;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.rec-info{flex:1}.rec-juego{display:block;font-weight:600;margin-bottom:3px}.rec-razon{font-size:.85rem;color:#fff9}.rec-categoria{padding:5px 12px;border-radius:15px;font-size:.75rem;color:#fff}.historial-tabla{overflow-x:auto}.historial-header,.historial-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;padding:12px}.historial-header{background:#ffffff1a;border-radius:8px;font-weight:600;font-size:.9rem}.historial-row{border-bottom:1px solid rgba(255,255,255,.05);font-size:.9rem}.historial-row:last-child{border-bottom:none}.sin-resultados{text-align:center;padding:50px;color:#ffffff80}.sin-resultados span{font-size:3rem;display:block;margin-bottom:15px}@media (max-width: 768px){.perfil-header{flex-direction:column;align-items:flex-start;gap:10px}.perfil-header h1{font-size:1.4rem}.usuarios-grid{grid-template-columns:1fr}.resumen-cards{grid-template-columns:repeat(2,1fr)}.historial-header,.historial-row{grid-template-columns:1.5fr 1fr .8fr .8fr;font-size:.8rem;padding:10px 8px}.recomendacion-item{flex-wrap:wrap}.rec-categoria{width:100%;text-align:center;margin-top:10px}}.analisis-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px 20px 80px}.analisis-header{text-align:center;color:#fff;margin-bottom:30px;position:relative}.analisis-header h1{font-size:2rem;margin:10px 0;font-weight:700}.analisis-subtitle{font-size:1rem;opacity:.9;margin-top:5px}.back-btn{position:absolute;left:0;top:0;background:#fff3;border:none;color:#fff;padding:10px 15px;border-radius:10px;font-size:.9rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.back-btn:hover{background:#ffffff4d;transform:translate(-3px)}.juegos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;max-width:1200px;margin:0 auto}.juego-card{background:#fff;border-radius:20px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.juego-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.juego-icono{font-size:4rem;margin-bottom:15px}.juego-nombre{font-size:1.4rem;color:#333;margin:10px 0;font-weight:600}.juego-descripcion{color:#666;font-size:.9rem;margin:10px 0}.juego-categoria{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:5px 15px;border-radius:20px;font-size:.85rem;margin-top:10px}.usuarios-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:15px}.usuario-card{background:#fff;border-radius:15px;padding:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.usuario-card:hover{transform:translate(5px);box-shadow:0 4px 15px #00000026}.usuario-info{flex:1;min-width:200px}.usuario-nombre{font-size:1.2rem;color:#333;margin:0 0 5px;font-weight:600}.usuario-email{color:#666;font-size:.9rem;margin:0}.usuario-stats{display:flex;gap:15px}.stat-badge{display:flex;flex-direction:column;align-items:center;background:#f5f5f5;padding:10px 15px;border-radius:10px}.stat-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.2rem;font-weight:700;color:#667eea;margin-top:5px}.usuario-detalle-card{background:#fff;border-radius:20px;padding:30px;max-width:700px;margin:0 auto;box-shadow:0 4px 20px #0000001a}.usuario-detalle-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #f0f0f0;flex-wrap:wrap;gap:15px}.usuario-detalle-header h2{font-size:1.8rem;color:#333;margin:0 0 5px}.juego-badge{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 20px;border-radius:25px;font-weight:600}.juego-badge-icono{font-size:1.5rem}.juego-badge-nombre{font-size:.95rem}.sesiones-info{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:30px}.info-item{display:flex;flex-direction:column;gap:5px;padding:15px;background:#f9f9f9;border-radius:10px}.info-label{font-size:.85rem;color:#666;font-weight:500}.info-value{font-size:1.1rem;color:#333;font-weight:600}.metricas-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:25px;border-radius:15px;margin-top:20px}.metricas-titulo{font-size:1.4rem;color:#333;margin:0 0 20px;text-align:center;font-weight:700}.metrica-item{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#fff;border-radius:10px;margin-bottom:10px;box-shadow:0 2px 5px #0000000d}.metrica-item:last-child{margin-bottom:0}.metrica-label{font-size:1rem;color:#555;font-weight:500}.metrica-valores{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.metrica-valor{font-size:1.3rem;color:#667eea;font-weight:700}.metrica-clasificacion{font-size:.75rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;background:#f0f0f0;border-radius:8px}.loading-container,.error-container,.empty-container{text-align:center;padding:60px 20px;color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.error-message,.empty-message{font-size:1.1rem;background:#fff3;padding:20px;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:500px;margin:0 auto}@media (max-width: 768px){.analisis-page{padding:15px 15px 80px}.analisis-header h1{font-size:1.5rem}.juegos-grid{grid-template-columns:1fr}.usuario-card{flex-direction:column;align-items:flex-start}.usuario-stats{width:100%;justify-content:space-around}.usuario-detalle-header{flex-direction:column}.sesiones-info{grid-template-columns:1fr}.back-btn{position:static;margin-bottom:15px}}.juegos-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:2rem}.tab-btn{padding:12px 24px;background:#fff3;border:2px solid transparent;color:#fff;font-size:1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tab-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.tab-btn.activa{background:#fff;color:#667eea;border-color:#fff;box-shadow:0 4px 15px #0003}.indicadores-container{max-width:1200px;margin:0 auto;padding:20px}.indicador-seccion{background:#fff;border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 4px 20px #0000001a}.indicador-titulo{font-size:1.5rem;color:#2c3e50;margin-bottom:10px;font-weight:700;border-bottom:3px solid #667eea;padding-bottom:10px}.indicador-descripcion{font-size:1rem;color:#555;margin-bottom:20px;line-height:1.6}.indicador-metricas{display:grid;gap:20px}.metrica-explicacion{background:#f8f9fa;padding:20px;border-radius:12px;border-left:4px solid #667eea}.metrica-explicacion h4{font-size:1.1rem;color:#2c3e50;margin:0 0 10px;font-weight:600}.metrica-explicacion>p{font-size:.95rem;color:#666;margin-bottom:15px;line-height:1.5}.clasificacion-tabla{display:flex;flex-direction:column;gap:8px}.clasificacion-fila{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-radius:8px;font-size:.9rem;font-weight:500}.clasificacion-fila .valor{font-weight:700;font-family:Courier New,monospace}.clasificacion-fila .nivel{font-weight:600}.clasificacion-fila.excelente{background:#d4edda;color:#155724}.clasificacion-fila.normal{background:#d1ecf1;color:#0c5460}.clasificacion-fila.bajo{background:#fff3cd;color:#856404}.clasificacion-fila.deficitario{background:#f8d7da;color:#721c24}@media (max-width: 768px){.indicadores-container{padding:10px}.indicador-seccion{padding:15px}.indicador-titulo{font-size:1.2rem}.tab-btn{padding:10px 16px;font-size:.9rem}.clasificacion-fila{padding:8px 12px;font-size:.85rem}.metrica-explicacion{padding:15px}}.update-prompt{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#1e1e28f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 10px 30px #0000004d;z-index:10000;width:90%;max-width:400px;animation:slideUp .5s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.update-prompt__content{display:flex;align-items:center;gap:12px}.update-prompt__icon{font-size:24px}.update-prompt__text{display:flex;flex-direction:column}.update-prompt__text strong{color:#fff;font-size:14px;margin-bottom:2px}.update-prompt__text p{color:#ffffffb3;font-size:12px;margin:0}.update-prompt__button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:transform .2s ease;white-space:nowrap}.update-prompt__button:hover{transform:scale(1.05)}.update-prompt__button:active{transform:scale(.95)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:0px;background:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-color:var(--bg-primary);overscroll-behavior-y:none}#root{min-height:100vh;display:flex;justify-content:center;background:var(--bg-primary);padding:0}.app-container{width:100%;max-width:430px;min-height:100vh;position:relative;box-shadow:0 0 50px #0000004d;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}:root{--bg-primary: #F5F5F5;--bg-secondary: #FFFFFF;--text-primary: #333333;--text-secondary: #666666;--text-disabled: #999999;--primary-color: #FF8C42;--primary-dark: #FF6F00;--primary-light: #FFB074;--color-tasks: #FF8C42;--color-pet: #4CAF50;--color-panic: #F44336;--color-chatbot: #FF8C42;--color-success: #4CAF50;--color-warning: #FFC107;--color-error: #F44336;--color-info: #2196F3;--border-color: #E0E0E0;--shadow: rgba(0, 0, 0, .1);--card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--hover-shadow: 0 4px 16px rgba(255, 140, 66, .2);--nav-height: 70px}[data-theme=dark]{--bg-primary: #1A1A1A;--bg-secondary: #2D2D2D;--text-primary: #FFFFFF;--text-secondary: #B3B3B3;--text-disabled: #666666;--primary-color: #FF8C42;--primary-dark: #FF6F00;--primary-light: #FFB074;--color-tasks: #FF8C42;--color-pet: #66BB6A;--color-panic: #EF5350;--color-chatbot: #FF8C42;--color-success: #66BB6A;--color-warning: #FFCA28;--color-error: #EF5350;--color-info: #42A5F5;--border-color: #404040;--shadow: rgba(0, 0, 0, .3);--card-shadow: 0 2px 8px rgba(0, 0, 0, .3);--hover-shadow: 0 4px 16px rgba(255, 140, 66, .3)}button{cursor:pointer;border:none;outline:none;font-family:inherit}a{text-decoration:none;color:inherit}html{scroll-behavior:smooth}input,textarea,select{font-size:16px}.page{padding-bottom:calc(var(--nav-height) + 20px);min-height:100%;flex:1;width:100%}.nav-spacer{width:100%;height:calc(var(--nav-height) + 24px);flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}button,a,[role=button],input[type=button],input[type=submit]{min-height:44px;min-width:44px}button:disabled,[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}
