*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background:linear-gradient(135deg,#ff416c 0%,#ff4b2b 25%,#764ba2 75%,#667eea 100%);min-height:100vh}.App{min-height:100vh;position:relative}.navbar{position:fixed;top:0;width:100%;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:.25rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo-image{height:120px;width:auto;object-fit:contain}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{text-decoration:none;color:#333;font-weight:500;transition:color .3s ease}.nav-links a:hover{color:#ff416c}.nav-admin{color:#667eea!important;font-weight:600!important}.nav-admin:hover{color:#5a67d8!important}.nav-signin{background:transparent;color:#333;border:2px solid #333;padding:.5rem 1.2rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.nav-signin:hover{background:#333;color:#fff;transform:translateY(-2px)}.nav-cta{background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 25px #ff416c4d}.hero{padding:140px 2rem 80px;background:linear-gradient(135deg,#ff416c 0%,#ff4b2b 25%,#764ba2 75%,#667eea 100%);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,193,55,.1) 0%,transparent 50%),radial-gradient(circle at 40% 60%,rgba(255,65,108,.1) 0%,transparent 50%);animation:floatingHearts 6s ease-in-out infinite}@keyframes floatingHearts{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(1deg)}}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem}.gradient-text{background:linear-gradient(45deg,#ff416c,#ff4b2b,#ffc837,#ff416c);background-size:200% 200%;animation:gradientPulse 2s ease-in-out infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.gradient-text:after{content:"💖";position:absolute;right:-60px;top:50%;transform:translateY(-50%);font-size:.8em;animation:heartbeat 1.5s ease-in-out infinite}@keyframes gradientPulse{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes heartbeat{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.2)}}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.9;line-height:1.6}.hero-stats{display:flex;gap:2rem;margin-bottom:3rem}.stat{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:800;color:#ffc837}.stat-label{font-size:.9rem;opacity:.8}.hero-form{display:flex;gap:1rem;margin-bottom:2rem}.email-input{flex:1;padding:1rem 1.5rem;border:none;border-radius:50px;font-size:1rem;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.email-input::placeholder{color:#666}.cta-button{background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;border:none;padding:1rem 2rem;border-radius:50px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;white-space:nowrap}.cta-button:hover{transform:translateY(-2px);box-shadow:0 15px 35px #ff416c66}.hero-visual{display:flex;justify-content:center;align-items:center}.phone-mockup{width:300px;height:600px;background:#333;border-radius:40px;padding:20px;position:relative;box-shadow:0 25px 50px #0000004d}.phone-screen{width:100%;height:100%;background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);border-radius:25px;padding:2rem 1.5rem;overflow:hidden}.app-demo{height:100%;display:flex;flex-direction:column;gap:2rem}.demo-profile{background:white;padding:1.5rem;border-radius:20px;box-shadow:0 10px 25px #0000001a;display:flex;gap:1rem;align-items:center}.demo-avatar{width:60px;height:60px;background:linear-gradient(45deg,#ff416c,#ff4b2b);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff}.demo-info h3{font-size:1rem;margin-bottom:.5rem;color:#333}.demo-info p{font-size:.8rem;color:#666;line-height:1.4}.demo-features{display:flex;flex-direction:column;gap:1rem}.demo-feature{background:white;padding:1rem;border-radius:15px;box-shadow:0 5px 15px #0000001a;font-weight:600;color:#333;text-align:center}.features{padding:80px 2rem;background:white}.container{max-width:1200px;margin:0 auto}.section-title{text-align:center;font-size:2.5rem;font-weight:800;margin-bottom:1rem;color:#333}.section-subtitle{text-align:center;font-size:1.2rem;color:#666;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.feature-card{background:white;padding:2.5rem;border-radius:20px;box-shadow:0 15px 35px #0000001a;text-align:center;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.feature-card.premium{background:linear-gradient(135deg,#fff 0%,#f8f9ff 100%);border:2px solid #ff416c}.feature-card.premium:before{content:"⭐ PREMIUM";position:absolute;top:1rem;right:1rem;background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.7rem;font-weight:700}.feature-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px #00000026}.feature-card.premium:hover{box-shadow:0 25px 50px #ff416c33}.feature-stats{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}.feature-stats .stat{background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600}.feature-icon{font-size:3rem;margin-bottom:1.5rem}.feature-card h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:#333}.feature-card p{color:#666;line-height:1.6}.testimonials{padding:80px 2rem;background:linear-gradient(135deg,#f8f9ff 0%,#fff 100%)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.testimonial-card{background:white;padding:2rem;border-radius:20px;box-shadow:0 10px 25px #0000001a;transition:transform .3s ease}.testimonial-card:hover{transform:translateY(-5px)}.testimonial-content{margin-bottom:1.5rem}.testimonial-content p{font-style:italic;font-size:1.1rem;line-height:1.6;color:#333}.testimonial-author{display:flex;align-items:center;gap:1rem}.author-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(45deg,#ff416c,#ff4b2b);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.author-info h4{margin:0;font-weight:600;color:#333}.author-info span{color:#666;font-size:.9rem}.pricing{padding:80px 2rem;background:white}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.pricing-card{background:white;padding:2.5rem;border-radius:20px;box-shadow:0 15px 35px #0000001a;text-align:center;transition:transform .3s ease,box-shadow .3s ease;border:2px solid transparent;position:relative}.pricing-card.popular{border:2px solid #ff416c;transform:scale(1.05)}.popular-badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-size:.8rem;font-weight:700}.subscription-badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);background:linear-gradient(45deg,#764ba2,#667eea);color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-size:.8rem;font-weight:700}.pricing-card.subscription{background:linear-gradient(135deg,#f8f9ff 0%,#e8f2ff 100%);border:2px solid #764ba2}.pricing-card h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.price{margin-bottom:2rem}.currency{font-size:1.5rem;color:#666}.amount{font-size:3rem;font-weight:800;color:#ff416c}.period{font-size:1rem;color:#666}.features-list{list-style:none;margin-bottom:2rem;text-align:left}.features-list li{padding:.5rem 0;color:#333;font-weight:500}.pricing-btn{width:100%;padding:1rem 2rem;border:2px solid #ff416c;background:white;color:#ff416c;border-radius:50px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.pricing-btn.primary{background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;border:none}.pricing-btn.coaching{background:linear-gradient(45deg,#764ba2,#667eea);color:#fff;border:none}.pricing-btn.ai-premium{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none}.pricing-btn.dominator{background:linear-gradient(45deg,#ffc837,#ff416c);color:#fff;border:none;animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 0 20px #ffc8374d}to{box-shadow:0 0 30px #ff416c80}}.pricing-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px #ff416c4d}.pricing-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px #00000026}.pricing-card.popular:hover{transform:scale(1.05) translateY(-10px)}.footer{background:#333;color:#fff;padding:3rem 2rem 1rem}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.footer-brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.5rem}.footer-logo-image{height:140px;width:auto;object-fit:contain;filter:brightness(.9)}.footer-links{display:flex;gap:2rem}.footer-links a{color:#ccc;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:#ff416c}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid #555;color:#ccc}@media (max-width: 768px){.nav-container{padding:1rem}.nav-links{gap:1rem}.nav-links a{display:none}.nav-signin{padding:.4rem 1rem;font-size:.8rem}.nav-cta{padding:.5rem 1.2rem;font-size:.8rem}.hero-container{grid-template-columns:1fr;text-align:center;gap:2rem}.hero-title{font-size:2.5rem}.hero-form{flex-direction:column}.phone-mockup{width:250px;height:500px}.features-grid{grid-template-columns:1fr}.hero-stats{justify-content:center}.footer-content{flex-direction:column;gap:1rem;text-align:center}.footer-links{flex-wrap:wrap;justify-content:center}}@media (max-width: 480px){.hero{padding:100px 1rem 60px}.hero-title{font-size:2rem}.features{padding:60px 1rem}.section-title{font-size:2rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-container p{font-size:1.2rem;font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(8,10,15,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .28s ease-out}.modal-content{background:linear-gradient(180deg,#ffffff 0%,#fbfbfb 100%);border-radius:18px;padding:1.75rem;max-width:520px;width:calc(100% - 40px);max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 18px 35px #090a0e59;cursor:pointer;transition:transform .12s ease,color .12s ease;line-height:1}.modal-content .modal-content{background:linear-gradient(180deg,#ffffff 0%,#fbfbfb 100%);border-radius:18px;padding:2.25rem;max-width:540px;width:calc(100% - 48px);max-height:92vh;overflow-y:auto;position:relative;box-shadow:0 18px 35px #090a0e59;animation:slideUp .32s cubic-bezier(.16,.84,.3,1);border:1px solid rgba(16,18,20,.03)}.modal-close:hover{color:#ff416c}.modal-hero{display:flex;gap:1rem;align-items:center;padding:.25rem 0 1rem;border-bottom:1px solid #f1f1f1;margin-bottom:1.15rem}.modal-avatar{width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.9rem;background:linear-gradient(135deg,#ff416c,#ff4b2b);color:#fff;box-shadow:0 8px 18px #ff416c2e}.modal-avatar .modal-hero{display:flex;gap:1rem;align-items:center;padding:.75rem 0 1.1rem;border-bottom:1px solid #f1f1f1;margin-bottom:1.25rem}.modal-avatar img{width:100%;height:100%;object-fit:contain;border-radius:12px}.modal-hero-text h2{margin:0;font-size:1.3rem;color:#222}.modal-hero-text .muted{margin-top:6px;color:#6d7176;font-size:.935rem}.auth-form{margin-bottom:1rem;padding-top:.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.auth-form{margin-bottom:1rem;padding-top:.75rem;padding-left:.15rem;padding-right:.15rem}.form-group input{width:100%;padding:.9rem 1rem;border:1px solid #e9e9ea;border-radius:10px;font-size:.98rem;transition:border-color .18s ease,box-shadow .18s ease;background:#fff;box-shadow:inset 0 0 0 1px #00000003}.form-group input:focus{outline:none;border-color:#ff6b88;box-shadow:0 6px 18px #ff416c0f}.auth-btn{width:100%;padding:.95rem 1rem;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;display:flex;align-items:center;justify-content:center;gap:.6rem}.auth-btn .form-group{margin-bottom:1.25rem;padding-left:.25rem;padding-right:.25rem}.auth-btn.primary{background:linear-gradient(90deg,#ff416c 0%,#ff6b88 100%);color:#fff;box-shadow:0 12px 28px #ff416c1f}.auth-btn.primary:hover{transform:translateY(-2px);box-shadow:0 18px 38px #ff416c2e}.btn-sub{display:block;font-size:.78rem;opacity:.95;color:#fffffff2;font-weight:600}.auth-divider{text-align:center;margin:1.25rem 0;position:relative}.auth-btn{width:100%;padding:1rem;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;display:flex;align-items:center;justify-content:center;gap:.6rem}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e1e1e1}:is() .auth-divider{text-align:center;margin:1.5rem 0;position:relative}.auth-divider span{background:white;padding:0 1rem;color:#666;font-weight:500}.auth-divider span .social-row{display:flex;gap:.9rem;flex-direction:column;padding:0 .25rem}.auth-footer{text-align:center;padding-top:.6rem}.auth-footer p{color:#666;font-size:.95rem}.social-btn{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border-radius:12px;font-weight:700;border:1px solid #e9e9ea;background:white;cursor:pointer}.social-row{display:flex;gap:.75rem;flex-direction:column}.social-btn{display:flex;align-items:center;gap:.8rem;padding:.78rem .9rem;border-radius:10px;font-weight:700;border:1px solid #e9e9ea;background:white;cursor:pointer}.social-btn .auth-footer{text-align:center;padding-top:.9rem;padding-bottom:.4rem}.social-btn .social-icon{width:18px;height:18px}.social-btn.google{border-color:#e6e6e6}.social-btn.apple{border-color:#dcdcdc}.modal-avatar+.modal-hero-text{padding-left:2px}.link-btn{background:none;border:none;color:#ff416c;font-weight:600;cursor:pointer;text-decoration:underline;margin-left:.5rem}.link-btn:hover{color:#ff4b2b}.welcome-modal{background:rgba(0,0,0,.8)}.welcome-content{max-width:600px;text-align:center;background:linear-gradient(135deg,#ff416c 0%,#ff4b2b 100%);color:#fff}.welcome-animation{animation:bounceIn .6s ease-out}.welcome-emoji{font-size:4rem;margin-bottom:1rem;animation:rotate 2s ease-in-out infinite}.welcome-content h1{font-size:2.5rem;margin-bottom:1rem;font-weight:800}.welcome-content h2{font-size:1.8rem;margin-bottom:1rem;opacity:.9}.welcome-content p{font-size:1.2rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.welcome-stats{display:flex;justify-content:space-around;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-emoji{font-size:2rem}.stat-item span:last-child{font-weight:600;font-size:.9rem}.welcome-btn{background:rgba(255,255,255,.2);border:2px solid white;color:#fff;padding:1rem 2rem;border-radius:50px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease}.welcome-btn:hover{background:white;color:#ff416c;transform:translateY(-2px)}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes rotate{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@media (max-width: 768px){.modal-content{padding:1rem;width:calc(100% - 24px);border-radius:14px}.modal-avatar{width:56px;height:56px;font-size:1.6rem}.modal-hero-text h2{font-size:1.1rem}.modal-hero-text .muted{font-size:.88rem}.btn-sub{font-size:.72rem}}.auth-error{background:#fee;border:1px solid #fcc;border-radius:8px;padding:1rem;margin:1rem 0;text-align:center}.auth-error p{color:#c33;margin:0;font-weight:500}.dashboard{min-height:100vh;background:linear-gradient(135deg,#f8f9ff 0%,#fff 100%)}.dashboard-header{background:white;border-bottom:1px solid #e1e1e1;padding:1rem 0;position:sticky;top:0;z-index:100}.dashboard-nav{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.5rem}.dashboard-logo-image{height:140px;width:auto;object-fit:contain}.logo-icon{font-size:2rem}.logo-text{background:linear-gradient(45deg,#ff416c,#ff4b2b,#ffc837,#ff416c);background-size:200% 200%;animation:gradientShift 3s ease-in-out infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800}.nav-actions{display:flex;align-items:center;gap:1rem}.user-greeting{font-weight:600;color:#333}.sign-out-btn{background:#f1f1f1;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;transition:background .3s ease}.sign-out-btn:hover{background:#e1e1e1}.dashboard-content{display:grid;grid-template-columns:250px 1fr;max-width:1200px;margin:0 auto;min-height:calc(100vh - 80px)}.dashboard-sidebar{background:white;border-right:1px solid #e1e1e1;padding:2rem 0}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.nav-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:none;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;font-weight:500;color:#666;text-align:left}.nav-item:hover{background:#f8f9ff;color:#333}.nav-item.active{background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff}.nav-icon{font-size:1.2rem}.dashboard-main{padding:2rem}.tab-content h1{margin-bottom:.5rem;color:#333;font-size:2rem}.tab-content p{margin-bottom:2rem;color:#666;font-size:1.1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:white;padding:1.5rem;border-radius:15px;box-shadow:0 5px 15px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-icon{font-size:2rem;width:60px;height:60px;background:linear-gradient(45deg,#ff416c,#ff4b2b);border-radius:50%;display:flex;align-items:center;justify-content:center}.stat-info h3{margin:0 0 .5rem;color:#333;font-size:1rem}.stat-info p{margin:0;color:#666;font-weight:600}.quick-actions h2{margin-bottom:1rem;color:#333}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-btn{background:white;border:2px solid #ff416c;padding:1.5rem;border-radius:15px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-weight:600;color:#ff416c}.action-btn:hover{background:linear-gradient(45deg,#ff416c,#ff4b2b);color:#fff;transform:translateY(-5px)}.action-btn span{font-size:2rem}.feature-placeholder{background:white;padding:3rem;border-radius:20px;text-align:center;box-shadow:0 10px 25px #0000001a}.placeholder-icon{font-size:4rem;margin-bottom:1rem}.feature-placeholder p{color:#666;font-size:1.2rem}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (max-width: 768px){.dashboard-content{grid-template-columns:1fr}.dashboard-sidebar{border-right:none;border-bottom:1px solid #e1e1e1;padding:1rem 0}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:0 1rem}.nav-item{min-width:120px;justify-content:center}.dashboard-main{padding:1rem}.nav-actions{flex-direction:column;gap:.5rem}.user-greeting{font-size:.9rem}}.photo-analyzer{padding:2rem;max-width:1200px;margin:0 auto}.analyzer-header{text-align:center;margin-bottom:2rem}.analyzer-header h1{color:#333;margin-bottom:.5rem}.analyzer-header p{color:#666;font-size:1.1rem}.upload-section{margin-bottom:2rem}.upload-area{border:2px dashed #ddd;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa}.upload-area:hover{border-color:#ff6b6b;background:#fff5f5}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-area p{margin:.5rem 0;font-size:1.2rem;color:#333}.upload-area small{color:#666}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.photo-item{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.photo-item img{width:100%;height:200px;object-fit:cover}.photo-actions{position:absolute;top:8px;right:8px;display:flex;gap:.5rem}.action-btn{background:rgba(255,255,255,.9);border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease}.action-btn:hover{background:white;transform:scale(1.1)}.action-btn.remove{background:rgba(255,107,107,.9);color:#fff}.action-btn.remove:hover{background:#ff6b6b}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.analyze-btn,.style-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.analyze-btn:hover,.style-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.analysis-results{background:white;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a;margin-bottom:2rem}.analysis-results h2{color:#333;margin-bottom:1.5rem;text-align:center}.overall-score{text-align:center;margin-bottom:2rem;padding:1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:8px}.overall-score h3{margin:0;font-size:1.5rem}.photo-rankings{margin-bottom:2rem}.photo-rankings h3{color:#333;margin-bottom:1rem}.ranking-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:.5rem}.rank{font-size:1.2rem;font-weight:700;color:#667eea;min-width:40px}.ranking-item img{width:60px;height:60px;border-radius:8px;object-fit:cover}.rank-details p{margin:.2rem 0;font-size:.9rem;color:#666}.recommendations{background:#f8f9fa;padding:1.5rem;border-radius:8px}.recommendations h3{color:#333;margin-bottom:1rem}.recommendations p{margin-bottom:1rem;line-height:1.6}.tips ul{margin:0;padding-left:1.5rem}.tips li{margin-bottom:.5rem;line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:12px;max-width:600px;max-height:80vh;width:90%;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h3{margin:0;color:#333}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.modal-body{padding:1.5rem}.modal-photo{width:100%;max-height:300px;object-fit:cover;border-radius:8px;margin-bottom:1rem}.suggestions-content,.heatmap-content{line-height:1.6;white-space:pre-wrap}.style-modal .modal-content{max-width:600px}.style-content{line-height:1.6;white-space:pre-wrap;font-size:1rem}.style-recommendations{background:white;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a;margin-top:2rem}.style-recommendations h2{color:#333;margin-bottom:1.5rem;text-align:center}.style-content{line-height:1.6;white-space:pre-wrap}.close-style-btn{display:block;margin:2rem auto 0;background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.close-style-btn:hover{background:#5a67d8}.expression-coaching-section{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:2px solid #e9ecef}.expression-coaching-section h3{color:#333;margin-bottom:1rem;text-align:center}.coaching-controls{display:flex;gap:1rem;justify-content:center;align-items:center}.expression-select{padding:.75rem 1rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;background:white;min-width:150px}.expression-select:focus{outline:none;border-color:#667eea}.coaching-btn{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.coaching-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b66}.facial-modal .modal-content{max-width:700px}.facial-content{line-height:1.6;white-space:pre-wrap;font-size:1rem}.expression-coaching-display{background:white;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a;margin-top:2rem;border:2px solid #ff6b6b}.expression-coaching-display h2{color:#333;margin-bottom:1.5rem;text-align:center;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.coaching-content{line-height:1.6;white-space:pre-wrap;font-size:1rem}.close-coaching-btn{display:block;margin:2rem auto 0;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a24 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:600}.close-coaching-btn:hover{background:linear-gradient(135deg,#ee5a24 0%,#ff6b6b 100%)}.advanced-heatmap-section{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.advanced-heatmap-section h3{color:#fff;margin-bottom:1rem;text-align:center}.heatmap-controls{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.analysis-select{padding:.75rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;background:rgba(255,255,255,.1);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:150px}.analysis-select:focus{outline:none;border-color:#fff}.analysis-select option{background:#667eea;color:#fff}.score-input{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);padding:1rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.score-input label{font-size:.9rem;font-weight:600}.score-slider{width:120px;height:6px;border-radius:3px;background:rgba(255,255,255,.3);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.score-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:white;cursor:pointer;box-shadow:0 2px 6px #0003}.score-input span{font-weight:700;font-size:1.1rem}.optimization-btn{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.visual-heatmap-btn{background:rgba(255,0,0,.2);color:#fff;border:2px solid rgba(255,0,0,.3);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.visual-heatmap-btn:hover{background:rgba(255,0,0,.3);border-color:#ff000080;transform:translateY(-2px)}.visual-heatmap-modal .modal-content{max-width:900px}.heatmap-container{position:relative;display:inline-block;margin-bottom:2rem}.heatmap-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0003}.heatmap-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.heatmap-point{position:absolute;width:60px;height:60px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;text-shadow:1px 1px 2px rgba(0,0,0,.8);animation:pulse 2s infinite;box-shadow:0 0 20px #ffffff80}.point-label{font-size:10px;text-align:center;margin-bottom:2px}.point-intensity{font-size:8px;opacity:.9}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.1);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:.8}}.heatmap-legend{display:flex;justify-content:center;gap:2rem;margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.legend-color{width:20px;height:20px;border-radius:50%}.legend-color.high{background:rgba(255,0,0,.8)}.legend-color.medium{background:rgba(255,165,0,.8)}.legend-color.low{background:rgba(255,255,0,.8)}.heatmap-insights{background:white;border-radius:8px;padding:1.5rem;border:1px solid #e9ecef}.heatmap-insights h4{color:#333;margin-bottom:1rem;text-align:center}.insights-content{line-height:1.6;white-space:pre-wrap;font-size:1rem}.optimization-modal .modal-content{max-width:700px}.optimization-content{line-height:1.6;white-space:pre-wrap;font-size:1rem}@media (max-width: 768px){.photo-analyzer{padding:1rem}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.ranking-item{flex-direction:column;text-align:center}.action-buttons{flex-direction:column}.modal-content{width:95%;margin:1rem}}.conversation-coach{padding:2rem;max-width:1000px;margin:0 auto}.coach-header{text-align:center;margin-bottom:2rem}.coach-header h1{color:#333;margin-bottom:.5rem}.coach-header p{color:#666;font-size:1.1rem}.coach-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #eee;overflow-x:auto;flex-wrap:wrap}.tab-btn{background:#f8f9fa;border:none;padding:.75rem 1rem;border-radius:8px 8px 0 0;cursor:pointer;font-weight:600;color:#666;transition:all .3s ease;white-space:nowrap;flex-shrink:0;min-width:120px}.tab-btn:hover{background:#e9ecef;color:#333}.tab-btn.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 2px 8px #667eea4d}.tab-content{background:white;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a;min-height:400px}.analysis-section{text-align:center}.analysis-section h2{color:#333;margin-bottom:1rem}.analysis-section p{color:#666;margin-bottom:2rem}.analyze-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.analyze-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.analyze-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.analysis-results{margin-top:2rem;text-align:left}.analysis-results h3{color:#333;margin-bottom:1.5rem;text-align:center}.analysis-content{line-height:1.6;white-space:pre-wrap;background:#f8f9fa;padding:1.5rem;border-radius:8px;font-size:1rem}.input-group{margin-bottom:1.5rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.input-group input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.input-group input:focus{outline:none;border-color:#667eea}.input-group textarea{width:100%;padding:1rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .3s ease}.input-group textarea:focus{outline:none;border-color:#667eea}.input-group select{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;background:white;cursor:pointer}.input-group select:focus{outline:none;border-color:#667eea}.generate-btn,.humor-btn,.analyze-conversation-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;margin-bottom:2rem}.generate-btn:hover,.humor-btn:hover,.analyze-conversation-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.suggestions-results,.humor-results,.conversation-results{margin-top:2rem;text-align:left}.suggestions-results h3,.humor-results h3,.conversation-results h3{color:#333;margin-bottom:1.5rem;text-align:center}.suggestions-content,.humor-content{line-height:1.6;white-space:pre-wrap;background:#f8f9fa;padding:1.5rem;border-radius:8px;font-size:1rem}.conversation-results .analysis-content{background:white;border:1px solid #eee}.analysis-item{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.analysis-item strong{color:#333;display:block;margin-bottom:.5rem}.analysis-item ul{margin:0;padding-left:1.5rem}.analysis-item li{margin-bottom:.5rem;line-height:1.5}.openers-results{margin-top:2rem;text-align:left}.openers-results h3{color:#333;margin-bottom:1.5rem;text-align:center}.openers-list{display:flex;flex-direction:column;gap:1rem}.opener-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.opener-number{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.opener-text{flex:1;line-height:1.5;font-size:1rem}.copy-btn{background:#28a745;color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s ease;flex-shrink:0}.copy-btn:hover{background:#218838;transform:scale(1.1)}.tone-results{margin-top:2rem;text-align:left}.tone-results h3{color:#333;margin-bottom:1.5rem;text-align:center}.tone-content{background:white;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.tone-item{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.tone-item strong{color:#333;display:block;margin-bottom:.5rem}.tone-item ul{margin:0;padding-left:1.5rem}.tone-item li{margin-bottom:.5rem;line-height:1.5}.input-row{display:flex;gap:1rem}.input-row .input-group{flex:1}.date-results{margin-top:2rem;text-align:left}.date-results h3{color:#333;margin-bottom:1.5rem;text-align:center}.date-content{line-height:1.6;white-space:pre-wrap;background:#f8f9fa;padding:1.5rem;border-radius:8px;font-size:1rem}.conversation-history{text-align:left}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{background:white;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-header h4{margin:0;color:#333}.history-date{color:#666;font-size:.9rem}.history-score{color:#667eea;font-weight:600;margin-bottom:.5rem}.history-preview{color:#666;margin-bottom:1rem;line-height:1.5}.history-insights{border-top:1px solid #e9ecef;padding-top:1rem}.insights-preview{color:#555;font-size:.9rem;line-height:1.4}.no-history,.loading-history{text-align:center;padding:3rem;color:#666}@media (max-width: 768px){.conversation-coach{padding:1rem}.coach-tabs{flex-wrap:wrap}.tab-btn{flex:1;min-width:120px;padding:.75rem 1rem;font-size:.9rem}.tab-content{padding:1.5rem}.input-row{flex-direction:column}.opener-item,.history-header{flex-direction:column;align-items:flex-start;gap:.5rem}.input-group textarea{font-size:16px}}.ai-stylist{max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.stylist-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:15px;color:#fff;box-shadow:0 8px 32px #667eea4d}.stylist-header h1{margin:0 0 10px;font-size:2.5rem;font-weight:700}.stylist-header p{margin:0;font-size:1.1rem;opacity:.9}.stylist-tabs{display:flex;justify-content:center;margin-bottom:30px;background:white;border-radius:12px;padding:5px;box-shadow:0 4px 20px #0000001a;flex-wrap:wrap}.tab-btn{padding:12px 20px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:1rem;font-weight:600;transition:all .3s ease;color:#666;flex:1;min-width:200px;margin:2px}.tab-content h2{color:#333;margin-bottom:10px;font-size:1.8rem;font-weight:700}.tab-content p{color:#666;margin-bottom:30px;font-size:1.1rem}.stylist-form{margin-bottom:30px}.form-row{display:flex;gap:20px;margin-bottom:20px;flex-wrap:wrap}.input-group{flex:1;min-width:250px;margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:1rem}.input-group select,.input-group textarea{width:100%;padding:12px 15px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .3s ease;background:white}.input-group select:focus,.input-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-group textarea{resize:vertical;min-height:100px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:10px}.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:background-color .3s ease;font-size:.95rem}.checkbox-item:hover{background:#e9ecef}.checkbox-item input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:#667eea}.stylist-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:15px 30px;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66;width:100%;max-width:300px;margin:0 auto;display:block}.stylist-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.stylist-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.stylist-results{margin-top:30px;padding:25px;background:linear-gradient(135deg,#f8f9ff 0%,#e8f2ff 100%);border-radius:12px;border-left:5px solid #667eea}.stylist-results h3{color:#333;margin-bottom:20px;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:10px}.results-content{color:#555;line-height:1.6;font-size:1rem;white-space:pre-wrap;background:white;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000000d}@media (max-width: 768px){.ai-stylist{padding:15px}.stylist-header h1{font-size:2rem}.stylist-tabs{flex-direction:column}.tab-btn{min-width:auto}.form-row{flex-direction:column;gap:15px}.input-group{min-width:auto}.checkbox-grid{grid-template-columns:1fr}.tab-content{padding:20px}}@media (max-width: 480px){.stylist-header{padding:15px}.stylist-header h1{font-size:1.8rem}.tab-content{padding:15px}.stylist-btn{padding:12px 20px;font-size:1rem}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.stylist-btn:disabled{animation:pulse 1.5s ease-in-out infinite}.results-content::-webkit-scrollbar{width:8px}.results-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.results-content::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.results-content::-webkit-scrollbar-thumb:hover{background:#5a67d8}.gamification{max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.gamification-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#666}.gamification-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:15px;color:#fff;box-shadow:0 8px 32px #667eea4d}.gamification-header h1{margin:0 0 10px;font-size:2.5rem;font-weight:700}.gamification-header p{margin:0;font-size:1.1rem;opacity:.9}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px}.stat-card{background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px;border:1px solid rgba(255,255,255,.2)}.stat-icon{font-size:2rem}.stat-info h3{margin:0;font-size:1.8rem;font-weight:700}.stat-info p{margin:5px 0 0;font-size:.9rem;opacity:.8}.gamification-tabs{display:flex;justify-content:center;margin-bottom:30px;background:white;border-radius:12px;padding:5px;box-shadow:0 4px 20px #0000001a;flex-wrap:wrap}.tab-btn{padding:12px 20px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:1rem;font-weight:600;transition:all .3s ease;color:#666;flex:1;min-width:150px;margin:2px}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.achievement-card{background:white;border-radius:12px;padding:20px;border:2px solid #ddd;transition:all .3s ease;position:relative;overflow:hidden}.achievement-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.achievement-card.unlocked{background:linear-gradient(135deg,#f8f9ff 0%,#e8f2ff 100%)}.achievement-card.locked{opacity:.7;filter:grayscale(20%)}.achievement-icon{font-size:3rem;text-align:center;margin-bottom:15px}.achievement-info h3{margin:0 0 10px;font-size:1.2rem;font-weight:600;color:#333}.achievement-info p{margin:0 0 15px;color:#666;font-size:.9rem;line-height:1.4}.achievement-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-size:.85rem}.category{background:#f8f9fa;padding:4px 8px;border-radius:6px;color:#666}.points{color:#667eea;font-weight:600}.progress-bar{background:#f0f0f0;border-radius:10px;height:8px;position:relative;margin-bottom:10px}.progress-fill{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);height:100%;border-radius:10px;transition:width .3s ease}.progress-text{position:absolute;right:0;top:-20px;font-size:.8rem;color:#666;font-weight:600}.unlock-date{font-size:.8rem;color:#888;text-align:center}.rarity-badge{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:6px;color:#fff;font-size:.7rem;font-weight:600;text-transform:uppercase}.streaks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.streak-card{background:white;border-radius:12px;padding:20px;border:2px solid #ddd;transition:all .3s ease;text-align:center}.streak-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001a}.streak-card.active{border-color:#ff6b35;background:linear-gradient(135deg,#fff5f0 0%,#ffebe6 100%)}.streak-card.inactive{border-color:#ccc;opacity:.8}.streak-icon{font-size:3rem;margin-bottom:15px}.streak-info h3{margin:0 0 20px;font-size:1.1rem;font-weight:600;color:#333}.streak-numbers{display:flex;justify-content:space-around;margin-bottom:15px}.streak-numbers .number{font-size:2rem;font-weight:700;color:#667eea;display:block}.streak-numbers .label{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.streak-status{font-size:.9rem;font-weight:600}.status-active{color:#ff6b35}.status-inactive{color:#888}.progress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.progress-card{background:white;border-radius:12px;padding:20px;border:1px solid #e1e5e9;transition:all .3s ease}.progress-card:hover{box-shadow:0 4px 15px #0000001a}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.progress-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#333}.percentage{font-size:1.4rem;font-weight:700;color:#667eea}.progress-bar{background:#f0f0f0;border-radius:10px;height:12px;position:relative;margin-bottom:15px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);height:100%;border-radius:10px;transition:width .5s ease}.progress-details{display:flex;justify-content:space-between;font-size:.85rem;color:#666}.leaderboard-container h2{text-align:center;margin-bottom:30px;color:#333;font-size:1.8rem}.leaderboard-list{max-width:600px;margin:0 auto}.leaderboard-entry{display:flex;align-items:center;padding:15px 20px;margin-bottom:10px;background:white;border-radius:10px;border:1px solid #e1e5e9;transition:all .3s ease}.leaderboard-entry:hover{box-shadow:0 4px 15px #0000001a}.leaderboard-entry.top-three{border-color:gold;background:linear-gradient(135deg,#fff9e6 0%,#fff2cc 100%)}.rank{font-size:1.5rem;font-weight:700;margin-right:15px;min-width:40px;text-align:center}.user-info{flex:1}.user-name{display:block;font-weight:600;color:#333;margin-bottom:2px}.user-metric{font-size:.9rem;color:#666}.achievement-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.achievement-modal{background:white;border-radius:20px;padding:0;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}.modal-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:20px;text-align:center;border-radius:20px 20px 0 0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700}.modal-content{padding:30px 20px;text-align:center}.achievement-display{display:flex;flex-direction:column;align-items:center;gap:20px}.achievement-icon-large{font-size:4rem;animation:bounce .6s ease}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.achievement-details h3{margin:0 0 10px;font-size:1.3rem;font-weight:600;color:#333}.achievement-details p{margin:0 0 20px;color:#666;line-height:1.5}.achievement-rewards{display:flex;gap:15px;justify-content:center;align-items:center}.achievement-rewards .points{background:#667eea;color:#fff;padding:8px 12px;border-radius:20px;font-weight:600;font-size:.9rem}.achievement-rewards .rarity{font-weight:600;text-transform:uppercase;font-size:.9rem}.modal-actions{padding:20px;border-top:1px solid #e1e5e9;text-align:center}.modal-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 30px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}@media (max-width: 768px){.gamification{padding:15px}.gamification-header h1{font-size:2rem}.stats-overview{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.gamification-tabs{flex-direction:column}.tab-btn{min-width:auto}.achievements-grid,.streaks-grid,.progress-grid{grid-template-columns:1fr}.tab-content{padding:20px}.achievement-modal{margin:20px}}@media (max-width: 480px){.gamification-header{padding:15px}.gamification-header h1{font-size:1.8rem}.stat-card,.achievement-card,.streak-card,.progress-card{padding:15px}.leaderboard-entry{padding:12px 15px}}.community{max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.community-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#666}.community-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:15px;color:#fff;box-shadow:0 8px 32px #667eea4d}.community-header h1{margin:0 0 10px;font-size:2.5rem;font-weight:700}.community-header p{margin:0;font-size:1.1rem;opacity:.9}.community-tabs{display:flex;justify-content:center;margin-bottom:30px;background:white;border-radius:12px;padding:5px;box-shadow:0 4px 20px #0000001a;flex-wrap:wrap}.feed-section h2{margin-bottom:20px;color:#333;font-size:1.8rem}.feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.create-post-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.create-post-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.create-post-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:white;border-radius:20px;padding:30px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}.modal-content h3{margin-top:0;color:#333;font-size:1.5rem}.form-group textarea{resize:vertical;min-height:120px}.modal-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px}.posts-list{display:flex;flex-direction:column;gap:20px}.post-card{background:white;border-radius:12px;padding:20px;border:1px solid #e1e5e9;transition:all .3s ease}.post-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.post-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.post-author{display:flex;align-items:center;gap:12px}.author-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem}.author-info{display:flex;flex-direction:column}.author-name{font-weight:600;color:#333}.post-time{font-size:.85rem;color:#666}.post-type{font-size:1.5rem}.post-content h3{margin:0 0 10px;color:#333;font-size:1.2rem}.post-content p{margin:0 0 15px;color:#666;line-height:1.6}.post-category{background:#f8f9fa;padding:4px 8px;border-radius:6px;color:#666;font-size:.85rem;font-weight:600}.post-actions{display:flex;gap:15px;margin-top:15px}.action-btn{background:#f8f9fa;border:none;padding:8px 12px;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:5px}.action-btn:hover{background:#e9ecef}.action-btn.liked{background:#ffe6e6;color:#e74c3c}.forums-section h2{margin-bottom:30px;color:#333;font-size:1.8rem}.forums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.forum-card{background:white;border-radius:12px;padding:20px;border:1px solid #e1e5e9;transition:all .3s ease;cursor:pointer}.forum-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.forum-icon{font-size:2.5rem;text-align:center;margin-bottom:15px}.forum-info h3{margin:0 0 10px;color:#333;font-size:1.2rem}.forum-info p{margin:0 0 15px;color:#666;font-size:.9rem;line-height:1.5}.forum-stats{display:flex;justify-content:space-between;font-size:.85rem;color:#888}.events-section h2{margin-bottom:30px;color:#333;font-size:1.8rem}.events-list{display:flex;flex-direction:column;gap:20px}.event-card{background:white;border-radius:12px;padding:20px;border:1px solid #e1e5e9;transition:all .3s ease}.event-card:hover{box-shadow:0 8px 25px #0000001a}.event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.event-header h3{margin:0;color:#333;font-size:1.2rem}.event-type{background:#f8f9fa;padding:4px 8px;border-radius:6px;color:#666;font-size:.8rem;font-weight:600;text-transform:uppercase}.event-card p{margin:0 0 15px;color:#666;line-height:1.6}.event-details{display:flex;justify-content:space-between;margin-bottom:15px;font-size:.9rem;color:#666}.register-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:10px 20px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.register-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.polls-section h2{margin-bottom:30px;color:#333;font-size:1.8rem}.polls-list{display:flex;flex-direction:column;gap:20px}.poll-card{background:white;border-radius:12px;padding:20px;border:1px solid #e1e5e9;transition:all .3s ease}.poll-card:hover{box-shadow:0 8px 25px #0000001a}.poll-card h3{margin:0 0 10px;color:#333;font-size:1.2rem}.poll-card p{margin:0 0 20px;color:#666;line-height:1.6}.poll-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.poll-option{background:#f8f9fa;border:2px solid #e1e5e9;padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:left;font-size:1rem}.poll-option:hover{background:#e9ecef;border-color:#667eea}.poll-stats{display:flex;justify-content:space-between;font-size:.85rem;color:#666}@media (max-width: 768px){.community{padding:15px}.community-header h1{font-size:2rem}.community-tabs{flex-direction:column}.tab-btn{min-width:auto}.feed-header{flex-direction:column;gap:15px;align-items:stretch}.modal-content{margin:20px;padding:20px}.forums-grid,.posts-list{grid-template-columns:1fr}.post-header{flex-direction:column;align-items:flex-start;gap:10px}.event-details{flex-direction:column;gap:8px}.poll-options{gap:8px}}@media (max-width: 480px){.community-header{padding:15px}.community-header h1{font-size:1.8rem}.tab-content{padding:20px}.post-card,.forum-card,.event-card,.poll-card{padding:15px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.date-planning{max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.date-planning-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#666}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.date-planning-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:15px;color:#fff;box-shadow:0 8px 32px #667eea4d}.date-planning-header h1{margin:0 0 10px;font-size:2.5rem;font-weight:700}.date-planning-header p{margin:0;font-size:1.1rem;opacity:.9}.date-planning-tabs{display:flex;justify-content:center;margin-bottom:30px;background:white;border-radius:12px;padding:5px;box-shadow:0 4px 20px #0000001a;flex-wrap:wrap}.tab-btn{padding:12px 20px;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:1rem;font-weight:600;transition:all .3s ease;color:#666;flex:1;min-width:120px;margin:2px}.tab-btn.active{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 15px #667eea66}.tab-content{background:white;border-radius:15px;padding:30px;box-shadow:0 8px 32px #0000001a;margin-top:20px}.ideas-section h2{margin-bottom:20px;color:#333;font-size:1.8rem}.ideas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters select{padding:8px 12px;border:2px solid #e1e5e9;border-radius:8px;font-size:.9rem;background:white;cursor:pointer;transition:border-color .3s ease}.filters select:focus{outline:none;border-color:#667eea}.ideas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.idea-card{background:white;border-radius:12px;padding:20px;border:1px solid #e1e5e9;transition:all .3s ease;position:relative;overflow:hidden}.idea-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.idea-header{margin-bottom:15px}.idea-header h3{margin:0 0 10px;color:#333;font-size:1.2rem}.idea-meta{display:flex;gap:10px;flex-wrap:wrap}.idea-meta span{background:#f8f9fa;padding:4px 8px;border-radius:6px;font-size:.8rem;color:#666;font-weight:600}.idea-description{margin:0 0 15px;color:#666;line-height:1.5}.idea-stats{display:flex;gap:15px;margin-bottom:15px}.stat{flex:1}.stat .label{display:block;font-size:.8rem;color:#666;margin-bottom:5px;text-align:center}.rating-bar{background:#f0f0f0;border-radius:10px;height:6px;position:relative;overflow:hidden}.rating-fill{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);height:100%;border-radius:10px;transition:width .5s ease}.idea-rating{font-size:.9rem;color:#666;margin-bottom:15px;text-align:center}.idea-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tag{background:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.idea-actions{display:flex;gap:10px}.action-btn{flex:1;padding:10px 15px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.action-btn.primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.action-btn.secondary{background:#f8f9fa;color:#666}.action-btn.secondary:hover{background:#e9ecef}.recommendations-section h2{margin-bottom:30px;color:#333;font-size:1.8rem}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.recommendation-card{position:relative}.match-score{position:absolute;top:-10px;right:20px;background:linear-gradient(135deg,#ff6b35 0%,#f7931e 100%);color:#fff;padding:8px 12px;border-radius:20px;font-size:.8rem;font-weight:700;z-index:10;box-shadow:0 4px 15px #ff6b354d}.recommendation-card .idea-card{margin-top:15px}.reason{background:#fff3cd;color:#856404;padding:10px;border-radius:8px;margin:15px 0;font-size:.9rem;border:1px solid #ffeaa7}.plans-section h2{margin-bottom:20px;color:#333;font-size:1.8rem}.plans-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.create-plan-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.create-plan-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.plans-list{display:flex;flex-direction:column;gap:20px}.plan-card{background:white;border-radius:12px;padding:20px;border:1px solid #e1e5e9;transition:all .3s ease}.plan-card:hover{box-shadow:0 8px 25px #0000001a}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.plan-header h3{margin:0;color:#333;font-size:1.2rem}.plan-status{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.plan-status.upcoming{background:#e3f2fd;color:#1976d2}.plan-status.completed{background:#e8f5e8;color:#2e7d32}.plan-card p{margin:0 0 15px;color:#666;line-height:1.5}.plan-details{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.detail{display:flex;align-items:center;gap:5px;font-size:.9rem;color:#666}.plan-itinerary{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:15px}.plan-itinerary h4{margin:0 0 10px;color:#333;font-size:1rem}.itinerary-preview{display:flex;flex-direction:column;gap:8px}.itinerary-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#666}.itinerary-item .time{font-weight:600;min-width:60px}.more-items{font-style:italic;color:#888}.plan-actions{display:flex;gap:10px;flex-wrap:wrap}.preferences-section h2{margin-bottom:10px;color:#333;font-size:1.8rem}.preferences-section>p{margin-bottom:30px;color:#666}.preferences-form{max-width:800px}.preference-group{margin-bottom:30px}.preference-group h3{margin:0 0 15px;color:#333;font-size:1.1rem}.options{display:flex;flex-wrap:wrap;gap:15px}.option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 15px;border:2px solid #e1e5e9;border-radius:8px;transition:all .3s ease;background:white}.option:hover{border-color:#667eea}.option.checkbox{min-width:120px}.option input[type=radio],.option input[type=checkbox]{margin:0}.preference-actions{text-align:center;margin-top:40px}.save-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:15px 30px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal-content{background:white;border-radius:20px;padding:0;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e1e5e9}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.modal-body{padding:30px}.modal-actions{padding:20px 30px;border-top:1px solid #e1e5e9;display:flex;justify-content:flex-end;gap:15px}.modal-actions button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.modal-actions button:first-child{background:#f8f9fa;color:#666}.modal-actions button:last-child{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.rating-section{margin-top:30px;padding-top:20px;border-top:1px solid #e1e5e9}.rating-section h3{margin:0 0 15px;color:#333;font-size:1.1rem}.rating-stars{display:flex;gap:5px}.star{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#ddd;transition:color .3s ease}.star:hover,.star:hover~.star{color:gold}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state h3{margin:0 0 10px;color:#333}.empty-state p{margin:0 0 30px}.empty-state button{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.empty-state button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}@media (max-width: 768px){.date-planning{padding:15px}.date-planning-header h1{font-size:2rem}.date-planning-tabs{flex-direction:column}.tab-btn{min-width:auto}.ideas-header{flex-direction:column;align-items:stretch}.filters{justify-content:center}.ideas-grid,.recommendations-grid{grid-template-columns:1fr}.idea-actions,.plan-actions{flex-direction:column}.action-btn{width:100%}.plans-header{flex-direction:column;align-items:stretch}.plan-header{flex-direction:column;align-items:flex-start}.plan-details{flex-direction:column;gap:8px}.options{flex-direction:column}.option{justify-content:flex-start}.form-row{flex-direction:column}.modal-content{margin:20px;padding:0}.modal-header,.modal-body,.modal-actions{padding-left:20px;padding-right:20px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media (max-width: 480px){.date-planning-header{padding:15px}.date-planning-header h1{font-size:1.8rem}.tab-content{padding:20px}.idea-card,.plan-card{padding:15px}.idea-stats{flex-direction:column;gap:10px}.stat{display:flex;align-items:center;gap:10px}.stat .label{min-width:60px}.rating-stars{justify-content:center}}.learning-academy{padding:20px;max-width:1200px;margin:0 auto}.academy-header{text-align:center;margin-bottom:30px}.academy-header h1{color:#333;font-size:2.5rem;margin-bottom:10px}.academy-header p{color:#666;font-size:1.1rem}.academy-tabs{display:flex;justify-content:center;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.course-card{background:white;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e0e0e0}.course-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #00000026}.course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.course-header h3{color:#333;font-size:1.3rem;margin:0;flex:1}.difficulty-badge{color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase}.course-description{color:#666;margin-bottom:15px;line-height:1.5}.course-meta{display:flex;justify-content:space-between;margin-bottom:15px;font-size:.9rem;color:#888}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;margin-bottom:8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ffa500);border-radius:4px;transition:width .3s ease}.progress-text{text-align:center;font-size:.9rem;color:#666;margin-bottom:15px}.course-btn{width:100%;padding:12px;background:linear-gradient(135deg,#ff6b6b,#ffa500);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.course-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b4d}.progress-overview{background:white;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a}.progress-overview h2{color:#333;margin-bottom:30px;text-align:center}.progress-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.achievements-section{background:white;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a;text-align:center}.achievements-section h2{color:#333;margin-bottom:30px}.achievement-placeholder{padding:40px}.placeholder-icon{font-size:3rem;margin-bottom:20px;opacity:.5}.achievement-placeholder p{color:#666;font-size:1.1rem}.modal-content{background:white;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.course-modal .course-detail{padding:30px}.course-lessons{margin-top:20px}.course-lessons h3{color:#333;margin-bottom:15px}.lesson-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:10px}.lesson-info{display:flex;align-items:center;flex:1}.lesson-icon{font-size:1.2rem;margin-right:15px}.lesson-title{color:#333;font-weight:500}.lesson-btn{padding:8px 16px;background:#ff6b6b;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.lesson-btn:hover{background:#ff5252}.lesson-modal .lesson-content{padding:30px}.video-container{margin-bottom:20px}.video-container iframe{width:100%;height:400px;border-radius:8px}.lesson-text{line-height:1.6;color:#555;margin-bottom:30px}.lesson-text p{margin-bottom:15px}.lesson-actions{display:flex;gap:15px;justify-content:flex-end}.complete-btn,.quiz-btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.complete-btn{background:#4CAF50;color:#fff}.complete-btn:hover{background:#45a049}.quiz-btn{background:#2196F3;color:#fff}.quiz-btn:hover{background:#1976D2}.quiz-modal .quiz-content{padding:30px}.quiz-description{color:#666;margin-bottom:30px;font-size:1.1rem}.quiz-questions{margin-bottom:30px}.question-item{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #ff6b6b}.question-item h4{color:#333;margin-bottom:15px;font-size:1.1rem}.options{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;cursor:pointer;padding:10px;border-radius:6px;transition:background .3s ease}.option:hover{background:#e0e0e0}.option input[type=radio]{margin-right:10px}.text-answer{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;resize:vertical;min-height:100px}.quiz-actions{display:flex;justify-content:center}.submit-quiz-btn{padding:15px 30px;background:linear-gradient(135deg,#ff6b6b,#ffa500);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.submit-quiz-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b4d}.submit-quiz-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}@media (max-width: 768px){.learning-academy{padding:15px}.academy-header h1{font-size:2rem}.academy-tabs{flex-direction:column}.tab-btn{padding:12px 20px}.courses-grid{grid-template-columns:1fr}.course-card{padding:15px}.progress-stats{grid-template-columns:1fr}.lesson-actions{flex-direction:column}.modal-content{margin:10px;max-height:95vh}.modal-header{padding:15px 20px}.modal-header h2{font-size:1.3rem}}.notification-system{padding:20px;max-width:1000px;margin:0 auto}.notification-header{text-align:center;margin-bottom:30px;position:relative}.notification-header h1{color:#333;font-size:2.5rem;margin-bottom:10px}.notification-header p{color:#666;font-size:1.1rem}.unread-badge{position:absolute;top:0;right:0;background:#ff6b6b;color:#fff;padding:5px 12px;border-radius:20px;font-size:.9rem;font-weight:700}.notification-tabs{display:flex;justify-content:center;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.notifications-list{display:flex;flex-direction:column;gap:15px}.notification-item{background:white;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;border:1px solid #e0e0e0;cursor:pointer;transition:all .3s ease;position:relative;display:flex;align-items:flex-start;gap:15px}.notification-item:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.notification-item.unread{border-left:4px solid #ff6b6b;background:linear-gradient(135deg,#fff5f5,white)}.notification-item.read{opacity:.8}.notification-icon{font-size:2rem;flex-shrink:0}.notification-content{flex:1}.notification-content .notification-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;text-align:left;position:static}.notification-content .notification-header h4{color:#333;margin:0;font-size:1.1rem;flex:1}.notification-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.priority-badge{color:#fff;padding:3px 8px;border-radius:12px;font-size:.8rem;font-weight:700;text-transform:uppercase}.notification-time{color:#666;font-size:.9rem}.notification-message{color:#555;line-height:1.5;margin-bottom:15px}.notification-actions{display:flex;gap:10px}.mark-read-btn,.action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.mark-read-btn{background:#4CAF50;color:#fff}.mark-read-btn:hover{background:#45a049}.action-btn{background:#2196F3;color:#fff}.action-btn:hover{background:#1976D2}.unread-indicator{position:absolute;top:20px;right:20px;width:10px;height:10px;background:#ff6b6b;border-radius:50%}.empty-state{text-align:center;padding:60px 20px;background:white;border-radius:12px;box-shadow:0 2px 8px #0000001a}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.empty-state h3{color:#333;margin-bottom:10px}.empty-state p{color:#666;font-size:1.1rem}.preferences-panel{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.preferences-panel h2{color:#333;margin-bottom:10px}.preferences-panel>p{color:#666;margin-bottom:30px}.preferences-list{display:flex;flex-direction:column;gap:25px}.preference-item{border:1px solid #e0e0e0;border-radius:8px;padding:20px;background:#fafafa}.preference-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.preference-header h4{color:#333;margin:0;font-size:1.1rem}.preference-type{font-size:1.5rem}.preference-options{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.option{display:flex;align-items:center;cursor:pointer;font-size:1rem}.option input[type=checkbox]{margin-right:10px;width:18px;height:18px}.preference-settings{display:flex;flex-direction:column;gap:15px}.setting-group{display:flex;align-items:center;gap:15px}.setting-group label{font-weight:700;color:#333;min-width:100px}.time-inputs{display:flex;align-items:center;gap:10px}.time-inputs input[type=time]{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.setting-group input[type=number]{padding:8px;border:1px solid #ddd;border-radius:4px;width:80px;font-size:.9rem}.preferences-actions{text-align:center;margin-top:30px}.save-preferences-btn{padding:15px 30px;background:linear-gradient(135deg,#ff6b6b,#ffa500);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.save-preferences-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b4d}.analytics-panel{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a;text-align:center}.analytics-panel h2{color:#333;margin-bottom:10px}.analytics-panel>p{color:#666;margin-bottom:30px}.analytics-placeholder{padding:40px}.analytics-placeholder .placeholder-icon{font-size:3rem;margin-bottom:20px;opacity:.5}.analytics-placeholder p{color:#666;font-size:1.1rem}@media (max-width: 768px){.notification-system{padding:15px}.notification-header h1{font-size:2rem}.notification-tabs{flex-direction:column}.tab-btn{padding:12px 20px}.notification-item{flex-direction:column;gap:10px}.notification-meta{flex-direction:column;align-items:flex-start;gap:5px}.notification-actions{justify-content:center}.preference-options{flex-direction:column;gap:8px}.setting-group{flex-direction:column;align-items:flex-start;gap:8px}.time-inputs{flex-wrap:wrap}}.mood-tracker{padding:20px;max-width:1000px;margin:0 auto}.mood-header{text-align:center;margin-bottom:30px}.mood-header h1{color:#333;font-size:2.5rem;margin-bottom:10px}.mood-header p{color:#666;font-size:1.1rem}.mood-tabs{display:flex;justify-content:center;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.tab-btn{background:none;border:none;padding:15px 30px;font-size:1rem;cursor:pointer;border-bottom:3px solid transparent;transition:all .3s ease}.tab-btn:hover{background-color:#f5f5f5}.tab-btn.active{border-bottom-color:#ff6b6b;color:#ff6b6b;font-weight:700}.mood-content{min-height:400px}.tracker-section{display:flex;flex-direction:column;gap:30px}.quick-entry{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a;text-align:center}.quick-entry h2{color:#333;margin-bottom:20px}.add-entry-btn{background:linear-gradient(135deg,#ff6b6b,#ffa500);color:#fff;border:none;padding:15px 30px;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.add-entry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b4d}.recent-entries{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.recent-entries h3{color:#333;margin-bottom:20px}.entries-list{display:flex;flex-direction:column;gap:15px}.entry-card{border:1px solid #e0e0e0;border-radius:8px;padding:15px;transition:all .3s ease}.entry-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#ff6b6b}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mood-emoji{font-size:1.5rem}.entry-date{color:#666;font-size:.9rem}.mood-level{font-weight:700;color:#ff6b6b}.entry-details{display:flex;justify-content:space-between;align-items:center}.category{display:flex;align-items:center;gap:5px;font-weight:500}.notes{color:#666;font-size:.9rem;margin:0;flex:1;text-align:right}.analytics-section{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a}.analytics-section h2{color:#333;margin-bottom:30px;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.stat-card{background:#f8f9fa;border-radius:8px;padding:20px;text-align:center;border:1px solid #e0e0e0}.stat-icon{font-size:2rem;margin-bottom:10px}.stat-info h3{color:#333;margin:0 0 5px;font-size:.9rem}.stat-info p{color:#ff6b6b;font-size:1.5rem;font-weight:700;margin:0}.mood-chart{margin-top:30px}.mood-chart h3{color:#333;margin-bottom:20px}.chart-placeholder{background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;padding:40px;text-align:center}.insights-section{background:white;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000001a;text-align:center}.insights-section h2{color:#333;margin-bottom:30px}.insights-placeholder{padding:40px}.empty-state,.empty-analytics{text-align:center;padding:40px}.empty-icon{font-size:3rem;margin-bottom:20px;opacity:.5}.empty-state p,.empty-analytics p{color:#666;font-size:1.1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:white;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e0e0e0}.modal-header h2{color:#333;margin:0;font-size:1.5rem}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#333}.mood-form{padding:30px}.form-group{margin-bottom:25px}.form-group label{display:block;color:#333;font-weight:500;margin-bottom:8px}.mood-slider{display:flex;align-items:center;gap:15px}.mood-emoji{font-size:2rem}.slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;border-radius:4px;background:linear-gradient(90deg,#F44336,#FF9800,#4CAF50);outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:white;border:2px solid #ff6b6b;cursor:pointer}.mood-value{font-weight:700;color:#ff6b6b;min-width:40px;text-align:center}.mood-select,.weather-select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;background:white}.notes-textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;resize:vertical;min-height:80px}.trigger-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.trigger-btn{padding:8px 16px;border:none;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.trigger-btn.positive{background:#4CAF50;color:#fff}.trigger-btn.positive:hover{background:#45a049}.trigger-btn.negative{background:#F44336;color:#fff}.trigger-btn.negative:hover{background:#d32f2f}.triggers-list{display:flex;flex-direction:column;gap:8px}.trigger-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f5f5f5;border-radius:6px}.trigger-type{font-size:1.2rem}.remove-trigger{background:none;border:none;color:#f44336;cursor:pointer;font-size:1.2rem;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.form-row .form-group{margin-bottom:15px}.form-row input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px}.cancel-btn,.save-btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.cancel-btn{background:#f5f5f5;color:#666}.cancel-btn:hover{background:#e0e0e0}.save-btn{background:linear-gradient(135deg,#ff6b6b,#ffa500);color:#fff}.save-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b4d}.loading-spinner{text-align:center;padding:50px;font-size:1.2rem;color:#666}@media (max-width: 768px){.mood-tracker{padding:15px}.mood-header h1{font-size:2rem}.mood-tabs{flex-direction:column}.tab-btn{padding:12px 20px}.stats-grid{grid-template-columns:1fr}.trigger-buttons{flex-direction:column}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.modal-content{margin:10px;max-height:95vh}.modal-header{padding:15px 20px}.modal-header h2{font-size:1.3rem}.mood-form{padding:20px}}.gemini-image-editor{max-width:1200px;margin:0 auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.editor-header{text-align:center;margin-bottom:30px}.editor-header h2{color:#333;margin-bottom:10px;font-size:2.5em}.editor-header p{color:#666;font-size:1.1em}.editor-tabs{display:flex;justify-content:center;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.editor-tabs button{background:none;border:none;padding:15px 25px;cursor:pointer;font-size:1em;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .3s ease}.editor-tabs button:hover{color:#007bff}.editor-tabs button.active{color:#007bff;border-bottom-color:#007bff}.editor-content{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.image-section{background:#f8f9fa;padding:20px;border-radius:10px;border:2px dashed #dee2e6}.image-upload{text-align:center;margin-bottom:20px}.upload-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:15px 30px;border-radius:25px;cursor:pointer;font-size:1.1em;font-weight:600;transition:transform .2s ease}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}.image-preview{text-align:center}.image-preview h3{color:#333;margin-bottom:15px}.image-preview img{max-width:100%;max-height:300px;border-radius:10px;box-shadow:0 4px 8px #0000001a}.controls-section{background:white;padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.edit-tab h3,.enhance-tab h3,.variations-tab h3,.generate-tab h3{color:#333;margin-bottom:20px;font-size:1.5em}.edit-tab textarea,.generate-tab textarea{width:100%;padding:15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;resize:vertical;margin-bottom:15px;font-family:inherit}.edit-tab textarea:focus,.generate-tab textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.action-btn{background:linear-gradient(135deg,#28a745 0%,#20c997 100%);color:#fff;border:none;padding:12px 25px;border-radius:25px;cursor:pointer;font-size:1em;font-weight:600;transition:transform .2s ease;width:100%}.action-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}.enhancement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.enhancement-btn{background:white;border:2px solid #e0e0e0;padding:15px;border-radius:10px;cursor:pointer;text-align:left;transition:all .3s ease}.enhancement-btn:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff1a;transform:translateY(-2px)}.enhancement-label{font-size:1.1em;font-weight:600;color:#333;margin-bottom:5px}.enhancement-desc{font-size:.9em;color:#666}.quick-prompts{margin-top:20px}.quick-prompts h4{color:#333;margin-bottom:10px}.quick-prompt-btn{background:#f8f9fa;border:1px solid #dee2e6;padding:8px 15px;border-radius:20px;cursor:pointer;margin:5px;font-size:.9em;transition:all .2s ease}.quick-prompt-btn:hover{background:#007bff;color:#fff;border-color:#007bff}.processing{grid-column:1 / -1;text-align:center;padding:40px;background:white;border-radius:10px;box-shadow:0 2px 10px #0000001a}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.processing p{color:#666;font-size:1.1em;margin:0}.error-message{grid-column:1 / -1;background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;border:1px solid #f5c6cb;text-align:center;font-weight:500}.result-section{grid-column:1 / -1;background:white;padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000001a;text-align:center}.result-section h3{color:#333;margin-bottom:20px;font-size:1.5em}.result-image{margin-bottom:20px}.result-image img{max-width:100%;max-height:400px;border-radius:10px;box-shadow:0 4px 8px #0000001a}.download-btn{background:linear-gradient(135deg,#dc3545 0%,#c82333 100%);color:#fff;border:none;padding:10px 20px;border-radius:25px;cursor:pointer;font-size:.9em;font-weight:600;transition:transform .2s ease}.download-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}.variations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.variation-item{background:#f8f9fa;padding:15px;border-radius:10px;text-align:center}.variation-item img{width:100%;height:200px;object-fit:cover;border-radius:8px;margin-bottom:10px}.edit-description{color:#666;font-style:italic;margin-top:10px}@media (max-width: 768px){.editor-content{grid-template-columns:1fr;gap:20px}.editor-tabs{flex-wrap:wrap}.editor-tabs button{flex:1;min-width:120px;padding:10px 15px;font-size:.9em}.enhancement-grid,.variations-grid{grid-template-columns:1fr}.gemini-image-editor{padding:15px}.editor-header h2{font-size:2em}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem}.login-container{background:white;border-radius:16px;padding:3rem;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;text-align:center}.login-header{margin-bottom:2rem}.admin-logo{margin-bottom:1rem}.admin-logo-image{height:200px;width:auto;object-fit:contain}.login-header h1{color:#333;margin-bottom:.5rem;font-size:2rem}.login-header p{color:#666;font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.form-group input{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:8px;border:1px solid #fcc;font-size:.9rem;display:flex;align-items:center;gap:.5rem;justify-content:center}.login-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;margin-top:1rem}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea4d}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid #e1e5e9}.login-footer p{color:#666;font-size:.9rem;margin:0}@media (max-width: 480px){.admin-login{padding:1rem}.login-container{padding:2rem}.login-header h1{font-size:1.5rem}.form-group input{font-size:16px}}.admin-dashboard{min-height:100vh;background:#f8f9fa}.dashboard-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:1rem 2rem;box-shadow:0 2px 10px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-content h1{margin:0;font-size:1.8rem}.admin-info{display:flex;align-items:center;gap:1rem}.logout-btn{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem}@media (max-width: 768px){.charts-grid{grid-template-columns:1fr}}.logout-btn:hover{background:rgba(255,255,255,.3);transform:translateY(-1px)}.dashboard-tabs{background:white;display:flex;gap:0;border-bottom:1px solid #e1e5e9;max-width:1200px;margin:0 auto}.tab-btn{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-weight:600;color:#666;border-bottom:3px solid transparent;transition:all .3s ease;font-size:1rem}.tab-btn:hover{background:#f8f9fa;color:#333}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;background:#f8f9ff}.dashboard-content{max-width:1200px;margin:0 auto;padding:2rem}.overview-section h2{color:#333;margin-bottom:2rem;font-size:1.8rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:3rem}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .3s ease}.stat-card:hover{transform:translateY(-2px)}.stat-icon{font-size:2rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;color:#fff}.stat-content h3{margin:0 0 .25rem;font-size:2rem;color:#333}.stat-content p{margin:0 0 .5rem;color:#666;font-size:.9rem}.stat-change{color:#28a745;font-size:.8rem;font-weight:600}.charts-section h3{color:#333;margin-bottom:1.5rem;font-size:1.4rem}.charts-placeholder{background:white;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 4px 12px #0000001a;color:#666}.users-section{padding:2rem}.users-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.users-header h2{margin:0;color:#333;font-size:1.8rem}.users-stats{display:flex;gap:1rem;flex-shrink:0}.users-stats .stat-card{background:white;border-radius:12px;padding:1rem;box-shadow:0 2px 10px #0000001a;min-width:120px;text-align:center}.users-stats .stat-icon{font-size:1.5rem;margin-bottom:.5rem}.users-stats .stat-content h3{margin:0;font-size:1.4rem;color:#333}.users-stats .stat-content p{margin:.25rem 0 0;font-size:.9rem;color:#666}.users-controls{background:white;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a}.controls-row{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.search-form{display:flex;gap:.5rem;flex:1;max-width:400px}.search-input{flex:1;padding:.75rem;border:1px solid #e9ecef;border-radius:6px;font-size:1rem}.search-btn{background:#667eea;color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background .3s ease}.search-btn:hover{background:#5a67d8}.filter-controls{display:flex;gap:.5rem;align-items:center}.filter-select{padding:.75rem;border:1px solid #e9ecef;border-radius:6px;background:white;font-size:.9rem}.filter-toggle-btn,.export-btn{background:#f8f9fa;color:#666;border:1px solid #e9ecef;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.filter-toggle-btn:hover,.export-btn:hover{background:#e9ecef;color:#333}.advanced-filters{border-top:1px solid #e9ecef;padding-top:1rem;margin-top:1rem}.filter-row{display:flex;gap:1rem;align-items:center}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.9rem;font-weight:600;color:#666}.filter-group select{padding:.5rem;border:1px solid #e9ecef;border-radius:4px;background:white;font-size:.9rem}.users-table-container{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem}.users-table{width:100%}.table-header{display:grid;grid-template-columns:80px 2fr 1fr 1fr 1fr 120px;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-weight:600;color:#666;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:80px 2fr 1fr 1fr 1fr 120px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;align-items:center;transition:background .2s ease}.table-row:hover{background:#f8f9fa}.table-row:last-child{border-bottom:none}.user-id{font-weight:600;color:#667eea;font-size:.9rem}.user-info{display:flex;flex-direction:column;gap:.25rem}.user-primary{display:flex;flex-direction:column;gap:.125rem}.user-primary strong{color:#333;font-size:.95rem}.username{color:#666;font-size:.85rem;font-weight:500}.user-meta{display:flex;gap:1rem;font-size:.8rem;color:#888}.join-date{display:flex;flex-direction:column;gap:.125rem;font-size:.9rem}.date-relative{color:#888;font-size:.8rem}.subscription-info{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.subscription-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.subscription-badge.active{background:#d4edda;color:#155724}.subscription-badge.inactive{background:#f8d7da;color:#721c24}.subscription-badge.expired{background:#fff3cd;color:#856404}.subscription-badge.none{background:#e9ecef;color:#6c757d}.expiry-date{font-size:.8rem;color:#888}.user-activity{display:flex;flex-direction:column;gap:.25rem}.activity-metrics{display:flex;gap:.75rem;font-size:.85rem;color:#666}.last-active{font-size:.8rem;color:#888}.actions{display:flex;gap:.25rem;justify-content:center}.view-btn,.revoke-btn,.grant-btn,.delete-btn{background:none;border:1px solid #e9ecef;padding:.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.view-btn:hover{background:#e3f2fd;border-color:#2196f3;color:#2196f3}.revoke-btn:hover{background:#ffebee;border-color:#f44336;color:#f44336}.grant-btn:hover{background:#e8f5e8;border-color:#4caf50;color:#4caf50}.delete-btn:hover{background:#ffebee;border-color:#f44336;color:#f44336}.no-users{text-align:center;padding:3rem;color:#666}.no-users-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.no-users h3{margin:0 0 .5rem;color:#333}.no-users p{margin:0;font-size:.9rem}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem;background:white;border-radius:12px;box-shadow:0 2px 10px #0000001a}.page-btn{background:#667eea;color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background .3s ease}.page-btn:hover:not(:disabled){background:#5a67d8}.page-btn:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed}.page-info{font-weight:600;color:#666}@media (max-width: 1024px){.users-header{flex-direction:column;align-items:stretch}.users-stats{justify-content:center}.table-header,.table-row{grid-template-columns:60px 2fr 1fr 1fr 80px}.table-header div:last-child,.actions{display:none}}@media (max-width: 768px){.controls-row{flex-direction:column;align-items:stretch}.search-form{max-width:none}.filter-controls{justify-content:center}.filter-row{flex-direction:column;align-items:stretch}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header{display:none}.table-row{padding:1rem;border:1px solid #e9ecef;border-radius:8px;margin-bottom:1rem}.table-row:last-child{margin-bottom:0}.user-info,.join-date,.subscription-info,.user-activity{margin-bottom:.75rem}.actions{justify-content:flex-start;display:flex}.view-btn,.revoke-btn,.grant-btn,.delete-btn{width:auto;padding:.5rem .75rem;font-size:.8rem}}@media (max-width: 480px){.stats-grid,.engagement-grid,.churn-stats,.realtime-stats .stats-grid,.charts-grid{grid-template-columns:1fr}}.admin{min-height:100vh}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.loading-spinner{font-size:3rem;margin-bottom:1rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-loading p{font-size:1.2rem;margin:0}
