*{margin:0;padding:0;box-sizing:border-box}:root{--primary-yellow: #FFD700;--sky-blue: #87CEEB;--white: #FFFFFF;--accent-orange: #FFA500;--navy-blue: #000080;--primary-green: #87af4e;--olive-gold: #94831b;--description-blue: #296fb4}body{font-family:Poppins,sans-serif;line-height:1.6;color:var(--navy-blue);background-color:var(--white)}.navbar{background-color:var(--white);padding:1rem 2rem;box-shadow:0 2px 10px #0000001a;position:fixed;width:100%;top:0;z-index:1000;transition:background .3s ease,backdrop-filter .3s ease}.navbar.scrolled{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{height:50px;width:auto}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{text-decoration:none;color:var(--navy-blue);font-weight:500;transition:color .3s ease}.nav-menu a:hover{color:var(--primary-yellow)}.hero{margin-top:80px;min-height:90vh;position:relative;overflow:hidden}.hero-background{background:linear-gradient(135deg,var(--sky-blue) 0%,#B8E6F5 100%);padding:4rem 2rem 6rem;border-radius:0 0 50px 50px}.hero-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;min-height:70vh}.hero-text{z-index:2}.hero-title{font-size:3rem;font-weight:700;color:var(--navy-blue);margin-bottom:1.5rem;line-height:1.2}.hero-subtitle{font-size:1.5rem;color:var(--primary-green);margin-bottom:1rem;opacity:1;font-weight:600;line-height:1.3}.hero-description{font-size:1.1rem;color:var(--navy-blue);margin-bottom:2rem;opacity:1;font-weight:400;line-height:1.6}.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn{padding:1rem 2rem;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;font-family:Poppins,sans-serif}.btn-primary{background-color:var(--accent-orange);color:var(--white);box-shadow:0 4px 15px #ffa5004d}.btn-primary:hover{background-color:#ff8c00;transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066}.btn-secondary{background-color:transparent;color:var(--navy-blue);border:2px solid var(--navy-blue)}.btn-secondary:hover{background-color:var(--navy-blue);color:var(--white);transform:translateY(-2px)}.hero-image{display:flex;justify-content:center;align-items:center}.hero-image img{max-width:100%;height:auto;border-radius:20px;box-shadow:0 10px 30px #0000001a}.carousel-container{position:relative;width:100%;max-width:600px;margin:0 auto}.carousel-slide{position:relative;width:100%;overflow:hidden;border-radius:20px;box-shadow:0 10px 30px #0000001a}.carousel-image{width:100%;height:auto;display:block;transition:opacity .5s ease-in-out}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;font-size:2.5rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10;box-shadow:0 4px 15px #0003}.carousel-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #0000004d}.carousel-arrow-prev{left:10px}.carousel-arrow-next{right:10px}.carousel-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.carousel-dot{width:12px;height:12px;border-radius:50%;border:2px solid white;background:#ffffff80;cursor:pointer;transition:all .3s ease}.carousel-dot:hover{background:#fffc;transform:scale(1.2)}.carousel-dot.active{background:var(--primary-yellow);border-color:var(--primary-yellow);transform:scale(1.3)}.trust-bar{background-color:var(--white);padding:3rem 2rem;border-top:1px solid rgba(135,206,235,.2);border-bottom:1px solid rgba(135,206,235,.2);position:relative}.trust-container{max-width:1200px;margin:0 auto}.trust-items{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap}.trust-card{background:linear-gradient(135deg,#ffd70026,#87ceeb26);border-radius:20px;padding:3rem 3.5rem;max-width:900px;text-align:center;position:relative;overflow:hidden;box-shadow:0 10px 40px #0000801a;border:2px solid rgba(255,215,0,.3);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.trust-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px #ffd70040;border-color:var(--primary-yellow)}.trust-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,215,0,.15) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.trust-card.hovered:before{opacity:1;animation:shimmer 8s linear infinite}.trust-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,215,0,.1) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.trust-card.hovered .trust-glow{opacity:1}@keyframes shimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.trust-heading{font-size:2.5rem;font-weight:700;color:var(--navy-blue);margin-bottom:1rem;position:relative;z-index:1;transition:color .3s ease}.trust-card:hover .trust-heading{color:var(--primary-green)}.trust-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:0 auto 2rem;border-radius:2px;position:relative;z-index:1;transition:width .3s ease}.trust-card:hover .trust-divider{width:150px}.trust-description{font-size:1.2rem;color:var(--navy-blue);line-height:1.8;font-weight:500;position:relative;z-index:1;max-width:800px;margin:0 auto;transition:opacity .3s ease}.trust-card:hover .trust-description{opacity:1}.trust-item:not(:last-child):after{content:"";position:absolute;right:-1rem;top:50%;transform:translateY(-50%);width:1px;height:40px;background:linear-gradient(to bottom,transparent,var(--sky-blue),transparent)}.problem-solution{background:linear-gradient(180deg,var(--white) 0%,rgba(135,206,235,.1) 50%,var(--white) 100%);padding:5rem 2rem}.problem-container{max-width:1200px;margin:0 auto}.mission-section{padding:2rem 0}.mission-header{text-align:center;margin-bottom:4rem}.mission-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:1.5rem auto 0;border-radius:2px}.mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.mission-card{background:linear-gradient(135deg,#ffffffe6,#fffffff2);border-radius:20px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 10px 40px #0000801a;border:2px solid var(--card-color);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.mission-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px #00008033;border-color:var(--card-color)}.mission-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.mission-card.hovered:before{opacity:.15;animation:cardShimmer 6s linear infinite}@keyframes cardShimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mission-number{font-size:4rem;font-weight:700;color:var(--card-color);opacity:.3;line-height:1;margin-bottom:1rem;position:relative;z-index:1;transition:all .3s ease}.mission-card:hover .mission-number{opacity:.6;transform:scale(1.05)}.mission-card-content{position:relative;z-index:1}.mission-card-title{font-size:1.5rem;font-weight:600;color:var(--navy-blue);margin-bottom:1rem;line-height:1.4;transition:color .3s ease}.mission-card:hover .mission-card-title{color:var(--card-color)}.mission-card-description{font-size:1rem;color:var(--navy-blue);line-height:1.7;opacity:.85;transition:opacity .3s ease}.mission-card:hover .mission-card-description{opacity:1}.mission-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.mission-card.hovered .mission-glow{opacity:.1}.mission-card-decoration{position:absolute;bottom:0;right:0;width:80px;height:80px;background:var(--card-color);opacity:.1;border-radius:50%;transform:translate(30%,30%)}.section-title{font-size:2.5rem;font-weight:700;color:var(--navy-blue);text-align:center;margin-bottom:1rem;position:relative}.section-subtitle{font-size:1.1rem;color:var(--navy-blue);text-align:center;margin-bottom:3rem;opacity:.8;max-width:600px;margin-left:auto;margin-right:auto}.problem-section{margin-bottom:4rem}.challenges-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-top:3rem}.challenge-item{background:var(--white);border-radius:15px;padding:2rem;box-shadow:0 5px 20px #0000001a;border-left:4px solid var(--accent-orange);transition:all .3s ease;display:flex;align-items:flex-start;gap:1rem}.challenge-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026;border-left-color:var(--primary-yellow)}.challenge-icon{font-size:2.5rem;background:#ffa5001a;border-radius:50%;padding:.5rem;min-width:60px;height:60px;display:flex;align-items:center;justify-content:center}.challenge-text h3{font-size:1.2rem;color:var(--navy-blue);margin-bottom:.5rem;font-weight:600}.challenge-text p{font-size:.95rem;color:var(--navy-blue);opacity:.7;line-height:1.6}.solution-section{margin-top:4rem}.solution-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-top:3rem}.solution-text{display:flex;flex-direction:column;gap:2rem}.solution-point{background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:15px;padding:1.5rem;border-left:4px solid var(--primary-yellow);transition:all .3s ease}.solution-point:hover{transform:translate(10px);box-shadow:0 5px 20px #ffd70033}.solution-point h3{font-size:1.2rem;color:var(--navy-blue);margin-bottom:.5rem;font-weight:600}.solution-point p{font-size:.95rem;color:var(--navy-blue);opacity:.8;line-height:1.6}.solution-cta{text-align:center;background:var(--white);border-radius:20px;padding:2rem;box-shadow:0 5px 25px #0000001a;border:2px solid var(--primary-yellow)}.cta-text{font-size:1.1rem;color:var(--navy-blue);margin-bottom:1.5rem;font-weight:600}.solution-btn{background:linear-gradient(135deg,var(--accent-orange) 0%,#FF8C00 100%);color:var(--white);padding:1rem 2rem;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffa5004d}.solution-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066}.solution-image img{width:100%;height:auto;border-radius:20px;box-shadow:0 10px 30px #0000001a}.star-framework{background:linear-gradient(135deg,#ffd7000d,#87ceeb1a);padding:5rem 2rem;position:relative;overflow:visible;z-index:1}.star-container{max-width:1200px;margin:0 auto}.star-header{text-align:center;margin-bottom:4rem}.star-framework-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:2rem auto 0;border-radius:2px}.star-framework-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:4rem}.star-icon-container{position:relative;cursor:pointer;transition:all .4s ease;z-index:10}.star-icon-container:hover{transform:translateY(-10px)}.star-icon-container:hover .star-description{opacity:1;visibility:visible;transform:translateY(0)}.star-icon{background:var(--white);border-radius:20px;padding:2rem;text-align:center;box-shadow:0 8px 25px #0000001a;position:relative;overflow:hidden;transition:all .3s ease;border:3px solid var(--card-color)}.star-icon:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--card-color);opacity:1;transition:opacity .3s ease}.star-letter{font-size:4rem;font-weight:700;margin-bottom:.5rem;line-height:1;color:var(--card-color)}.star-label{font-size:1.1rem;font-weight:600;color:var(--navy-blue)}.star-description{position:absolute;top:100%;left:0;right:0;background:linear-gradient(135deg,#fffffffa,#fffffff2);border-radius:20px;padding:2rem 1.5rem;box-shadow:0 10px 40px #00008033;opacity:0;visibility:hidden;transform:translateY(-20px);transition:all .4s ease;z-index:100;border:2px solid var(--card-color);text-align:center}.star-description h3{font-size:1.3rem;font-weight:600;color:var(--card-color);margin-bottom:.75rem}.star-description p{font-size:.95rem;color:var(--navy-blue);line-height:1.6;opacity:.85}.course-highlights{background:linear-gradient(180deg,var(--white) 0%,rgba(135,206,235,.05) 100%);padding:5rem 2rem}.course-container{max-width:1200px;margin:0 auto}.course-header{text-align:center!important;margin-bottom:2rem;display:block;width:100%}.course-header .section-title{text-align:center!important;display:block;width:100%}.course-description-section{text-align:center!important;margin-bottom:3rem;max-width:900px;margin-left:auto;margin-right:auto;display:block;width:100%}.course-description-section .section-subtitle{text-align:center!important;display:block;width:100%}.course-highlights-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:2rem auto 0;border-radius:2px}.course-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:4rem}.course-card{background:linear-gradient(135deg,#ffffffe6,#fffffff2);border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000001a;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;border:2px solid var(--card-color)}.course-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px #00008033;border-color:var(--card-color)}.course-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.course-card.hovered:before{opacity:.15;animation:courseShimmer 6s linear infinite}@keyframes courseShimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.course-emoji{font-size:3rem;text-align:center;margin-bottom:1rem;position:relative;z-index:1;transition:transform .3s ease}.course-card:hover .course-emoji{transform:scale(1.1) rotate(5deg)}.course-logo{text-align:center;display:flex;justify-content:center;align-items:center;margin:1rem 0}.course-logo img{width:60px!important;height:auto!important}.course-content{position:relative;z-index:1}.course-title{font-size:1.4rem;font-weight:600;color:var(--navy-blue);margin-bottom:.5rem;text-align:center;transition:color .3s ease}.course-card:hover .course-title{color:var(--card-color)}.course-grades{font-size:.9rem;color:var(--card-color);text-align:center;margin-bottom:1rem;font-weight:600;transition:opacity .3s ease}.course-card:hover .course-grades{opacity:.8}.course-description{font-size:.95rem;color:var(--navy-blue);line-height:1.6;margin-bottom:1rem;opacity:.85;transition:opacity .3s ease}.course-card:hover .course-description{opacity:1}.course-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.course-card.hovered .course-glow{opacity:.1}.course-decoration{position:absolute;bottom:0;right:0;width:80px;height:80px;background:var(--card-color);opacity:.1;border-radius:50%;transform:translate(30%,30%);filter:blur(30px);transition:opacity .4s ease}.course-card.hovered .course-decoration{opacity:.2}.subject-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.subject-list li{font-size:.9rem;color:var(--navy-blue);padding:.75rem 1rem;line-height:1.5;border-radius:10px;transition:all .3s ease;cursor:pointer;background:#87ceeb14;border:2px solid transparent;font-weight:500;text-align:center}.subject-list li:hover{background:#ffd70026;border-color:var(--primary-yellow);transform:translateY(-2px);box-shadow:0 4px 12px #ffd70033}.subject-list li:active{transform:translateY(0);box-shadow:0 2px 6px #ffd70026}.course-decoration{position:absolute;bottom:0;right:0;width:80px;height:80px;background:var(--card-color);opacity:.1;border-radius:50%;transform:translate(30%,30%)}.our-approach{background:linear-gradient(180deg,var(--white) 0%,rgba(135,206,235,.08) 50%,var(--white) 100%);padding:6rem 2rem}.approach-container{max-width:1200px;margin:0 auto}.approach-header{text-align:center;margin-bottom:5rem}.approach-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:2rem auto 0;border-radius:2px}.approach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem}.approach-card{background:linear-gradient(135deg,#fffffff2,#fffffffa);border-radius:24px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 10px 40px #0000801f;border:2px solid var(--card-color);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.approach-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 20px 60px #00008033;border-color:var(--card-color)}.approach-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.approach-card.hovered:before{opacity:.15;animation:approachShimmer 7s linear infinite}@keyframes approachShimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.approach-number{font-size:5rem;font-weight:700;color:var(--card-color);opacity:.25;line-height:1;margin-bottom:.5rem;position:relative;z-index:1;transition:all .3s ease}.approach-card:hover .approach-number{opacity:.5;transform:scale(1.05)}.approach-emoji{font-size:4rem;text-align:center;margin:1rem 0;position:relative;z-index:1;transition:transform .3s ease}.approach-card:hover .approach-emoji{transform:scale(1.1) rotate(5deg)}.cpa-logo{display:flex;justify-content:center;align-items:center;margin:1rem 0;position:relative;z-index:1}.cpa-logo-svg{width:180px;height:70px;filter:drop-shadow(0 4px 8px rgba(0,0,128,.15));transition:transform .3s ease}.approach-card:hover .cpa-logo-svg{transform:scale(1.1)}.bar-model-logo{display:flex;justify-content:center;align-items:center;margin:1rem 0;position:relative;z-index:1}.bar-model-logo-svg{width:180px;height:55px;filter:drop-shadow(0 4px 8px rgba(0,0,128,.15));transition:transform .3s ease}.approach-card:hover .bar-model-logo-svg{transform:scale(1.1)}.approach-content{position:relative;z-index:1}.approach-title{font-size:1.4rem;font-weight:600;color:var(--navy-blue);margin-bottom:1rem;line-height:1.4;transition:color .3s ease}.approach-card:hover .approach-title{color:var(--card-color)}.approach-description{font-size:.95rem;color:var(--navy-blue);line-height:1.7;margin-bottom:1.5rem;opacity:.85;transition:opacity .3s ease}.approach-card:hover .approach-description{opacity:1}.approach-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.approach-card.hovered .approach-glow{opacity:.1}.approach-points{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.approach-point{background:#87ceeb14;padding:.85rem 1rem;border-radius:12px;border-left:3px solid var(--card-color);transition:all .3s ease}.approach-point:hover{background:#ffd7001f;border-left-color:var(--primary-yellow);transform:translate(5px)}.point-label{display:block;font-size:1rem;font-weight:600;color:var(--card-color);margin-bottom:.25rem}.point-desc{display:block;font-size:.85rem;color:var(--navy-blue);line-height:1.5;opacity:.8}.approach-note{font-size:.9rem;font-style:italic;color:var(--navy-blue);opacity:.7;line-height:1.6;padding-top:1rem;border-top:1px solid rgba(135,206,235,.3)}.approach-decoration{position:absolute;bottom:-20px;right:-20px;width:100px;height:100px;background:var(--card-color);opacity:.08;border-radius:50%;transform:translate(40%,40%)}.approach-cta{text-align:center;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:20px;padding:2.5rem;border:2px solid var(--primary-yellow);margin-top:3rem}.approach-cta p{font-size:1.3rem;color:var(--navy-blue);margin-bottom:1.5rem;font-weight:600}.approach-consultation-btn{background:var(--white);color:var(--navy-blue);padding:1rem 2.5rem;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0000801a;border:2px solid var(--primary-yellow)}.approach-consultation-btn:hover{background:var(--primary-yellow);transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.key-benefits{background:linear-gradient(180deg,var(--white) 0%,rgba(135,206,235,.06) 50%,var(--white) 100%);padding:6rem 2rem}.benefits-container{max-width:1200px;margin:0 auto}.benefits-header{text-align:center;margin-bottom:5rem}.benefits-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:2rem auto 0;border-radius:2px}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.benefit-card{background:linear-gradient(135deg,#fffffff2,#fffffffa);border-radius:20px;padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 10px 35px #0000801a;border:2px solid var(--card-color);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.benefit-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 60px #00008033;border-color:var(--card-color)}.benefit-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.benefit-card.hovered:before{opacity:.15;animation:benefitShimmer 6s linear infinite}@keyframes benefitShimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.benefit-number{font-size:4rem;font-weight:700;color:var(--card-color);opacity:.25;line-height:1;margin-bottom:.5rem;position:relative;z-index:1;transition:all .3s ease}.benefit-card:hover .benefit-number{opacity:.5;transform:scale(1.05)}.benefit-emoji{font-size:3.5rem;text-align:center;margin:.5rem 0;position:relative;z-index:1;transition:transform .3s ease}.benefit-card:hover .benefit-emoji{transform:scale(1.1) rotate(5deg)}.benefit-content{position:relative;z-index:1}.benefit-title{font-size:1.3rem;font-weight:600;color:var(--navy-blue);margin-bottom:1rem;line-height:1.4;transition:color .3s ease}.benefit-card:hover .benefit-title{color:var(--card-color)}.benefit-description{font-size:.95rem;color:var(--navy-blue);line-height:1.7;opacity:.85;transition:opacity .3s ease}.benefit-card:hover .benefit-description{opacity:1}.benefit-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-color) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.benefit-card.hovered .benefit-glow{opacity:.1}.benefit-decoration{position:absolute;bottom:-10px;right:-10px;width:90px;height:90px;background:var(--card-color);opacity:.08;border-radius:50%;transform:translate(35%,35%);transition:opacity .4s ease}.benefit-card.hovered .benefit-decoration{opacity:.15}.course-cta{text-align:center;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:20px;padding:2.5rem;border:2px solid var(--primary-yellow);margin-top:3rem}.course-cta p{font-size:1.3rem;color:var(--navy-blue);margin-bottom:1.5rem;font-weight:600}.course-consultation-btn{background:var(--white);color:var(--navy-blue);padding:1rem 2.5rem;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0000801a;border:2px solid var(--primary-yellow)}.course-consultation-btn:hover{background:var(--primary-yellow);transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.benefits-cta{text-align:center;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:20px;padding:2.5rem;border:2px solid var(--primary-yellow);margin-top:3rem}.benefits-cta p{font-size:1.3rem;color:var(--navy-blue);margin-bottom:1.5rem;font-weight:600}.benefits-consultation-btn{background:var(--white);color:var(--navy-blue);padding:1rem 2.5rem;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0000801a;border:2px solid var(--primary-yellow)}.benefits-consultation-btn:hover{background:var(--primary-yellow);transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.learning-formats{background:linear-gradient(180deg,var(--white) 0%,rgba(135,206,235,.05) 100%);padding:5rem 2rem}.formats-container{max-width:1200px;margin:0 auto}.consultation-btn:hover{background:var(--navy-blue);color:var(--white);transform:translateY(-2px)}.learning-formats{background:linear-gradient(180deg,var(--white) 0%,rgba(255,215,0,.05) 50%,var(--white) 100%);padding:5rem 2rem}.learning-container{max-width:1200px;margin:0 auto}.learning-header{text-align:center;margin-bottom:4rem}.learning-formats-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:2rem auto 0;border-radius:2px}.learning-columns{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:4rem}.learning-format{background:var(--white);border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000001a;transition:all .4s ease;position:relative;overflow:hidden}.learning-format:hover{transform:translateY(-10px);box-shadow:0 20px 50px #00000026}.offline-format{border-top:4px solid #45B7D1}.online-format{border-top:4px solid var(--accent-orange)}.learning-format:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;opacity:0;transition:opacity .3s ease}.offline-format:before{background:linear-gradient(90deg,#45b7d1,#2196f3)}.online-format:before{background:linear-gradient(90deg,var(--accent-orange),#FF8C00)}.learning-format:hover:before{opacity:1}.format-header{text-align:center;margin-bottom:2rem}.format-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;font-size:2.5rem;margin-bottom:1rem;transition:all .3s ease}.offline-icon{background:linear-gradient(135deg,#45b7d1,#2196f3)}.online-icon{background:linear-gradient(135deg,var(--accent-orange) 0%,#FF8C00 100%)}.learning-format:hover .format-icon{transform:scale(1.1) rotate(5deg)}.format-header h3{font-size:1.4rem;font-weight:700;color:var(--navy-blue);margin:0}.format-image{margin-bottom:2rem;border-radius:15px;overflow:hidden}.format-image img{width:100%;height:250px;object-fit:cover;border-radius:15px;transition:transform .3s ease}.learning-format:hover .format-image img{transform:scale(1.05)}.format-content{text-align:center}.format-description{margin-bottom:2rem}.format-description p{font-size:1rem;color:var(--navy-blue);opacity:.8;line-height:1.6}.format-features{margin-bottom:2rem;text-align:left}.format-features h4{font-size:1.1rem;font-weight:600;color:var(--navy-blue);margin-bottom:1rem;text-align:center}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--navy-blue);opacity:.8;margin-bottom:.75rem;padding:.5rem;background:#87ceeb1a;border-radius:10px;transition:all .3s ease}.feature-list li:hover{background:#ffd7001a;transform:translate(5px)}.feature-icon{font-size:1.2rem;min-width:24px}.format-btn{width:100%;padding:1rem 2rem;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.offline-btn{background:linear-gradient(135deg,#45b7d1,#2196f3);color:var(--white)}.online-btn{background:linear-gradient(135deg,var(--accent-orange) 0%,#FF8C00 100%);color:var(--white)}.format-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.format-cta{text-align:center;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:20px;padding:2.5rem;border:2px solid var(--primary-yellow)}.format-cta p{font-size:1.3rem;color:var(--navy-blue);margin-bottom:1.5rem;font-weight:600}.format-consultation-btn{background:var(--white);color:var(--navy-blue);padding:1rem 2.5rem;border:2px solid var(--navy-blue);border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.format-consultation-btn:hover{background:var(--navy-blue);color:var(--white);transform:translateY(-2px)}@media(max-width:768px){.hero-content{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{justify-content:center;flex-direction:column;align-items:center}.btn{width:250px}.nav-menu{gap:1rem;font-size:.9rem}.trust-bar{padding:2rem 1rem}.trust-items{flex-direction:column;gap:1.5rem}.trust-item{width:100%;max-width:350px;min-width:auto}.trust-item:not(:last-child):after{display:none}.trust-icon{width:50px;height:50px;font-size:2rem}.trust-number{font-size:1.5rem}.trust-label{font-size:.9rem}.problem-solution{padding:3rem 1rem}.section-title{font-size:1.8rem}.section-subtitle{font-size:1rem;margin-bottom:2rem}.challenges-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}.challenge-item{padding:1.5rem;flex-direction:column;text-align:center}.challenge-icon{margin-bottom:1rem;font-size:2rem;width:50px;height:50px}.solution-content{grid-template-columns:1fr;gap:2rem;text-align:center}.solution-point:hover{transform:none}.star-framework{padding:3rem 1rem}.star-framework-content{grid-template-columns:1fr;gap:2rem}.star-icon{padding:1.5rem}.star-letter{font-size:2.5rem}.star-label{font-size:1rem}.star-description{position:static;opacity:1;visibility:visible;transform:none;margin-top:1rem;box-shadow:none;border:1px solid rgba(135,206,235,.3);width:100%;max-width:100%;pointer-events:auto}.course-highlights{padding:3rem 1rem}.course-cards{grid-template-columns:1fr;gap:2rem}.course-card{padding:2rem}.course-icon-wrapper{width:70px;height:70px;font-size:2rem}.course-icon h3{font-size:1.3rem}.course-description p{font-size:.95rem}.course-subjects{margin-bottom:1.5rem}.subject-list li{font-size:.9rem;padding:.4rem}.course-btn{padding:.9rem 1.5rem;font-size:.95rem}.course-cta{padding:2rem 1.5rem}.course-cta p{font-size:1.1rem}.consultation-btn{padding:.9rem 2rem;font-size:1rem}.learning-formats{padding:3rem 1rem}.learning-columns{grid-template-columns:1fr;gap:2rem}.learning-format{padding:1.5rem}.format-icon{width:70px;height:70px;font-size:2rem}.format-header h3{font-size:1.2rem}.format-image img{height:200px}.format-description p{font-size:.95rem}.feature-list li{font-size:.9rem;padding:.4rem}.format-btn{padding:.9rem 1.5rem;font-size:.95rem}.format-cta{padding:2rem 1.5rem}.format-cta p{font-size:1.1rem}.format-consultation-btn{padding:.9rem 2rem;font-size:1rem}}@media(max-width:480px){.hero-background{padding:2rem 1rem 4rem}.hero-title{font-size:1.8rem}.hero-subtitle{font-size:1rem}.btn{padding:.8rem 1.5rem;font-size:.9rem}}.final-cta{background:linear-gradient(135deg,var(--sky-blue) 0%,#B8E6F5 100%);padding:5rem 2rem;position:relative;overflow:hidden}.final-cta:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>') repeat;background-size:50px 50px;opacity:.3}.final-cta-container{max-width:1200px;margin:0 auto;position:relative;z-index:2}.final-cta-content{text-align:center}.final-cta-text{margin-bottom:4rem}.final-cta-title{font-size:3rem;font-weight:700;color:var(--white);margin-bottom:1.5rem;line-height:1.2;text-shadow:2px 2px 4px rgba(0,0,128,.2)}.final-cta-subtitle{font-size:1.3rem;color:var(--white);margin-bottom:2.5rem;opacity:.95;font-weight:400;max-width:700px;margin-left:auto;margin-right:auto;line-height:1.6}.final-cta-buttons{display:flex;gap:1.5rem;justify-content:center;align-items:center;flex-wrap:wrap}.final-cta-btn{background:linear-gradient(135deg,var(--accent-orange) 0%,#FF8C00 100%);color:var(--white);padding:1.2rem 3rem;border:none;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 25px #ffa50066;text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.final-cta-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.final-cta-btn:hover:before{left:100%}.final-cta-btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px #ffa50080;background:linear-gradient(135deg,#ff8c00,#ff7f00)}@media(max-width:768px){.final-cta{padding:3rem 1rem}.final-cta-title{font-size:2.2rem}.final-cta-subtitle{font-size:1.1rem;margin-bottom:2rem}.final-cta-buttons{flex-direction:column;gap:1rem}.final-cta-btn{width:250px;padding:1rem 2rem;font-size:1rem}}@media(max-width:480px){.final-cta{padding:2rem 1rem}.final-cta-title{font-size:1.8rem}.final-cta-subtitle{font-size:1rem}.final-cta-btn{width:200px;padding:.9rem 1.5rem;font-size:.95rem}}.why-choose-us{padding:6rem 2rem;background:linear-gradient(180deg,#fff,#f8f9ff);position:relative;overflow:hidden}.why-choose-container{max-width:1400px;margin:0 auto}.why-choose-header{text-align:center;margin-bottom:4rem;position:relative;z-index:2}.why-choose-subtitle{font-size:1.5rem;color:var(--primary-green);margin-top:1rem;margin-bottom:1.5rem;font-weight:600;letter-spacing:1px}.why-choose-divider{height:3px;width:100px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));margin:2rem auto 0;border-radius:2px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;margin-bottom:3rem}.feature-card{background:#fff;border-radius:20px;padding:2rem;position:relative;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:2px solid transparent;overflow:hidden;box-shadow:0 10px 30px #00008014}.feature-card:before{content:"";position:absolute;inset:0;background:var(--card-bg-color);opacity:0;transition:opacity .4s ease;z-index:0}.feature-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 50px #00008026;border-color:var(--primary-yellow)}.feature-card:hover:before{opacity:1}.feature-icon-wrapper{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;position:relative;z-index:1}.feature-icon-bg{width:70px;height:70px;border-radius:15px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 8px 20px #00000026;transition:all .4s ease}.feature-card:hover .feature-icon-bg{transform:rotate(10deg) scale(1.1);box-shadow:0 12px 30px #0003}.feature-icon{font-size:2.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.feature-number{font-size:1.2rem;color:var(--navy-blue);background:linear-gradient(135deg,#ffd7004d,#87ceeb4d);padding:.5rem 1rem;border-radius:25px;font-weight:700;letter-spacing:2px}.feature-content{position:relative;z-index:1}.feature-title{font-size:1.3rem;font-weight:700;color:var(--navy-blue);margin-bottom:1rem;line-height:1.4;transition:color .3s ease}.feature-card:hover .feature-title{color:var(--primary-green)}.feature-description{font-size:1rem;color:#555;line-height:1.7;opacity:.9;transition:opacity .3s ease}.feature-card:hover .feature-description{opacity:1}.feature-decoration{position:absolute;top:1rem;right:1rem;z-index:0;opacity:.1;transition:opacity .4s ease}.feature-card:hover .feature-decoration{opacity:.2}.feature-circle{position:absolute;border-radius:50%;background:var(--card-gradient)}.feature-circle-1{width:80px;height:80px;top:0;right:0}.feature-circle-2{width:50px;height:50px;top:60px;right:40px}.feature-circle-3{width:30px;height:30px;top:100px;right:20px}.feature-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--card-gradient) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.feature-card:hover .feature-glow{opacity:.05}.why-choose-cta{text-align:center;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:20px;padding:2.5rem;border:2px solid var(--primary-yellow);margin-top:3rem}.why-choose-cta p{font-size:1.3rem;color:var(--navy-blue);margin-bottom:1.5rem;font-weight:600}.why-choose-consultation-btn{background:var(--white);color:var(--navy-blue);padding:1rem 2.5rem;border-radius:50px;text-decoration:none;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #0000801a;border:2px solid var(--primary-yellow)}.why-choose-consultation-btn:hover{background:var(--primary-yellow);transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}@media(max-width:1024px){.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}}@media(max-width:768px){.why-choose-us{padding:4rem 1rem}.why-choose-subtitle{font-size:1.2rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.feature-card{padding:1.5rem}.feature-icon{font-size:2rem}.feature-icon-bg{width:60px;height:60px}.feature-title{font-size:1.15rem}.feature-description{font-size:.95rem}}@media(max-width:480px){.why-choose-us{padding:3rem .5rem}.feature-card{padding:1.25rem}.feature-icon-wrapper{gap:.75rem}.feature-number{font-size:1rem;padding:.4rem .8rem}}.testimonials{padding:6rem 2rem;background:linear-gradient(180deg,#f8f9ff,#fff);position:relative;overflow:hidden}.testimonials-container{max-width:1200px;margin:0 auto}.testimonials-header{text-align:center;margin-bottom:4rem}.testimonials-divider{height:4px;width:120px;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green),var(--sky-blue));margin:2rem auto 0;border-radius:2px}.testimonials-slider{position:relative}.slider-container{position:relative;display:flex;align-items:center;justify-content:center;gap:2rem}.slider-wrapper{position:relative;width:100%;max-width:800px;overflow:hidden}.testimonial-slide{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .5s ease-in-out}.testimonial-slide.active{position:relative}.testimonial-card{background:#fff;border-radius:25px;padding:3rem;position:relative;box-shadow:0 15px 50px #0000801a;border:3px solid transparent;background-clip:padding-box;transition:all .3s ease;overflow:hidden}.testimonial-card:before{content:"";position:absolute;inset:0;border-radius:25px;padding:3px;background:var(--card-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.3}.testimonial-emoji{font-size:4rem;text-align:center;margin-bottom:1.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.testimonial-rating{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem}.star{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));animation:twinkle 2s ease-in-out infinite}.star:nth-child(2){animation-delay:.2s}.star:nth-child(3){animation-delay:.4s}.star:nth-child(4){animation-delay:.6s}.star:nth-child(5){animation-delay:.8s}@keyframes twinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.testimonial-text{font-size:1.15rem;line-height:1.8;color:#333;text-align:center;margin-bottom:2rem;font-style:italic;position:relative;z-index:1}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:2rem;border-top:2px solid rgba(0,0,128,.1);position:relative;z-index:1}.author-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary-yellow),var(--primary-green));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;box-shadow:0 4px 15px #ffd7004d}.author-info{text-align:left}.author-name{font-size:1.2rem;font-weight:700;color:var(--navy-blue);margin-bottom:.25rem}.author-role{font-size:.95rem;color:var(--primary-green);font-weight:500}.testimonial-decoration{position:absolute;top:2rem;right:2rem;opacity:.05}.quote-mark{font-size:8rem;font-family:Georgia,serif;color:var(--navy-blue);line-height:1}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;background:#fff;border:2px solid var(--primary-yellow);color:var(--navy-blue);font-size:2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0000801a;z-index:10}.slider-arrow:hover{background:var(--primary-yellow);color:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #ffd70066}.slider-arrow-prev{left:-25px}.slider-arrow-next{right:-25px}.slider-dots{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.dot{width:12px;height:12px;border-radius:50%;background:#00008033;border:none;cursor:pointer;transition:all .3s ease;padding:0}.dot:hover{background:#00008066;transform:scale(1.2)}.dot.active{background:var(--primary-yellow);width:40px;border-radius:6px;box-shadow:0 2px 10px #ffd70066}.slider-progress{width:100%;max-width:800px;height:4px;background:#0000801a;border-radius:2px;margin:2rem auto 0;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-yellow),var(--primary-green));border-radius:2px;width:100%;transform-origin:left}@keyframes progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:1024px){.slider-arrow-prev{left:0}.slider-arrow-next{right:0}.testimonial-card{padding:2.5rem}}@media(max-width:768px){.testimonials{padding:4rem 1rem}.slider-container{gap:1rem}.slider-arrow{width:40px;height:40px;font-size:1.5rem}.slider-arrow-prev{left:-20px}.slider-arrow-next{right:-20px}.testimonial-card{padding:2rem}.testimonial-emoji{font-size:3rem}.testimonial-text{font-size:1rem}.author-avatar{width:50px;height:50px;font-size:1.2rem}.author-name{font-size:1.1rem}.author-role{font-size:.9rem}.quote-mark{font-size:6rem}}@media(max-width:480px){.testimonials{padding:3rem .5rem}.testimonial-card{padding:1.5rem}.testimonial-emoji{font-size:2.5rem;margin-bottom:1rem}.testimonial-text{font-size:.95rem;line-height:1.6}.testimonial-author{flex-direction:column;text-align:center;gap:.75rem}.author-info{text-align:center}.slider-arrow{width:35px;height:35px;font-size:1.2rem}.slider-arrow-prev{left:-10px}.slider-arrow-next{right:-10px}.dot{width:10px;height:10px}.dot.active{width:30px}}.classroom-gallery{padding:5rem 2rem;background:linear-gradient(135deg,var(--sky-blue) 0%,var(--white) 100%);position:relative;overflow:hidden}.classroom-gallery:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23FFD700" fill-opacity="0.05"><path d="M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z"/></g></g></svg>');opacity:.5}.gallery-container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.gallery-header{text-align:center;margin-bottom:3rem}.gallery-header .section-title{font-size:2.8rem;font-weight:700;color:var(--navy-blue);margin-bottom:1rem;position:relative;display:inline-block}.gallery-header .section-subtitle{font-size:1.2rem;color:var(--description-blue);margin-bottom:1.5rem}.gallery-divider{width:100px;height:4px;background:linear-gradient(90deg,var(--primary-yellow),var(--sky-blue));margin:1.5rem auto;border-radius:2px}.gallery-content{position:relative}.gallery-slider{position:relative;max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:1rem}.gallery-slide-wrapper{position:relative;width:100%;overflow:hidden;border-radius:20px;box-shadow:0 10px 40px #00000026}.gallery-slides-container{display:flex;width:100%;transition:transform .5s ease-in-out}.gallery-slide{min-width:100%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.gallery-image-container{position:relative;width:100%;height:500px;overflow:hidden;border-radius:20px}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-slide.active .gallery-image,.gallery-slide:first-child .gallery-image{transform:scale(1.05)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,128,.9),transparent);padding:3rem 2rem 2rem;transform:translateY(0);transition:transform .3s ease}.gallery-text{color:var(--white);text-align:left}.gallery-image-title{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;color:var(--primary-yellow)}.gallery-image-description{font-size:1.1rem;line-height:1.6;opacity:.95}.gallery-side-by-side{display:flex;width:100%;height:100%;gap:10px}.gallery-side-by-side .gallery-image{flex:1;width:50%;height:100%;object-fit:cover;border-radius:10px}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:#ffffffe6;border:none;border-radius:50%;font-size:2rem;color:var(--navy-blue);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10;box-shadow:0 4px 15px #0003}.gallery-arrow:hover{background:var(--primary-yellow);color:var(--navy-blue);transform:translateY(-50%) scale(1.1)}.gallery-arrow-prev{left:-25px}.gallery-arrow-next{right:-25px}.gallery-dots{display:flex;justify-content:center;gap:.75rem;margin-top:2rem}.gallery-dot{width:12px;height:12px;border-radius:50%;background:#0000804d;border:none;cursor:pointer;transition:all .3s ease}.gallery-dot:hover{background:#00008099}.gallery-dot.active{width:40px;border-radius:10px;background:var(--primary-yellow)}.gallery-progress{width:100%;max-width:1000px;height:4px;background:#0000801a;margin:1.5rem auto 0;border-radius:2px;overflow:hidden}.gallery-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-yellow),var(--sky-blue));width:100%;transform-origin:left}@keyframes galleryProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:1024px){.gallery-slider{gap:.5rem}.gallery-arrow{width:40px;height:40px;font-size:1.5rem}.gallery-arrow-prev{left:-20px}.gallery-arrow-next{right:-20px}.gallery-image-container{height:400px}.gallery-image-title{font-size:1.5rem}.gallery-image-description{font-size:1rem}}@media(max-width:768px){.classroom-gallery{padding:3rem 1rem}.gallery-header .section-title{font-size:2rem}.gallery-header .section-subtitle{font-size:1rem}.gallery-slider{gap:.25rem}.gallery-arrow{width:35px;height:35px;font-size:1.2rem}.gallery-arrow-prev{left:-17px}.gallery-arrow-next{right:-17px}.gallery-image-container{height:300px}.gallery-overlay{padding:2rem 1.5rem 1.5rem}.gallery-image-title{font-size:1.3rem}.gallery-image-description{font-size:.95rem}}@media(max-width:480px){.classroom-gallery{padding:2rem .5rem}.gallery-header .section-title{font-size:1.6rem}.gallery-arrow{width:30px;height:30px;font-size:1rem}.gallery-arrow-prev{left:-15px}.gallery-arrow-next{right:-15px}.gallery-image-container{height:250px}.gallery-overlay{padding:1.5rem 1rem 1rem}.gallery-image-title{font-size:1.1rem}.gallery-image-description{font-size:.85rem;line-height:1.5}.gallery-dot{width:10px;height:10px}.gallery-dot.active{width:30px}}.gallery-image-error{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87ceeb,gold);color:var(--navy-blue);font-size:1.2rem;font-weight:600;text-align:center;padding:2rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--sky-blue, #87CEEB) 0%,#B8E6F5 100%);z-index:0}.login-background:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>') repeat;background-size:50px 50px;opacity:.3}.login-content{position:relative;z-index:1;width:100%;max-width:450px;padding:2rem;animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-card{background:var(--white, #FFFFFF);border-radius:20px;padding:3rem 2.5rem;box-shadow:0 20px 60px #00008026;border:2px solid var(--primary-yellow, #FFD700)}.login-header{text-align:center;margin-bottom:2.5rem}.login-logo{height:80px;width:auto;margin-bottom:1.5rem}.login-title{font-size:2rem;font-weight:700;color:var(--navy-blue, #000080);margin-bottom:.5rem;font-family:Poppins,sans-serif}.login-subtitle{font-size:1rem;color:var(--navy-blue, #000080);opacity:.7;font-family:Poppins,sans-serif}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-label{font-size:.95rem;font-weight:600;color:var(--navy-blue, #000080);font-family:Poppins,sans-serif}.form-input{padding:1rem 1.25rem;border:2px solid rgba(135,206,235,.3);border-radius:12px;font-size:1rem;font-family:Poppins,sans-serif;color:var(--navy-blue, #000080);background:var(--white, #FFFFFF);transition:all .3s ease}.form-input:focus{outline:none;border-color:var(--primary-yellow, #FFD700);box-shadow:0 0 0 4px #ffd7001a}.form-input::placeholder{color:#00008066}.password-input-wrapper .form-input{padding-right:3.5rem;width:100%}.password-toggle-button{position:absolute;right:.75rem;background:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .2s ease;border-radius:8px;background:#87ceeb1a}.error-message{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;padding:1rem 1.25rem;border-radius:12px;display:flex;align-items:center;gap:.75rem;font-size:.95rem;font-weight:500;font-family:Poppins,sans-serif;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.login-button{padding:1rem 2rem;background:linear-gradient(135deg,var(--accent-orange, #FFA500) 0%,#FF8C00 100%);color:var(--white, #FFFFFF);border:none;border-radius:12px;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffa5004d;margin-top:.5rem}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066;background:linear-gradient(135deg,#ff8c00,#ff7f00)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button.loading{position:relative;color:transparent}.login-button.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.login-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(135,206,235,.3);text-align:center}.register-prompt{font-size:.9rem;color:var(--navy-blue, #000080);font-family:Poppins,sans-serif}.register-link{color:var(--accent-orange, #FFA500);text-decoration:none;font-weight:600;transition:color .3s ease}.register-link:hover{color:var(--primary-yellow, #FFD700);text-decoration:underline}.demo-credentials{text-align:center;font-size:.9rem;color:var(--navy-blue, #000080);font-weight:600;font-family:Poppins,sans-serif;margin-bottom:1rem}.credentials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.credential-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:10px;font-size:.85rem;font-family:Poppins,sans-serif;color:var(--navy-blue, #000080)}.role-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.admin-badge{background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff}.teacher-badge{background:linear-gradient(135deg,var(--primary-yellow, #FFD700) 0%,var(--accent-orange, #FFA500) 100%);color:#fff}.student-badge{background:linear-gradient(135deg,#45b7d1,#2196f3);color:#fff}@media(max-width:768px){.login-content{padding:1rem}.login-card{padding:2rem 1.5rem}.login-logo{height:60px}.login-title{font-size:1.5rem}.credentials-grid{grid-template-columns:1fr}}@media(max-width:480px){.login-card{padding:1.5rem 1rem}.login-title{font-size:1.3rem}.form-input{padding:.875rem 1rem}.login-button{padding:.875rem 1.5rem}}.admin-layout{display:flex;min-height:100vh;background:linear-gradient(180deg,#fff,#87ceeb0d);overflow-x:hidden}.time-display,[class*=pulse]:not(.loading-spinner):not(.spin),[class*=shimmer],[class*=glow]:not(.status-pulse){animation-play-state:paused}.time-display:hover,[class*=pulse]:hover:not(.loading-spinner):not(.spin),[class*=shimmer]:hover,[class*=glow]:hover:not(.status-pulse){animation-play-state:running}@supports (transform: translate3d(0,0,0)){.sidebar,.modal-overlay,.premium-session-card,.showcase-class-card{will-change:transform;backface-visibility:hidden;perspective:1000px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hamburger{position:fixed;top:1rem;left:1rem;z-index:1001;display:none;flex-direction:column;gap:.375rem;background:linear-gradient(135deg,#d4a017,#b8860b);border:none;border-radius:8px;padding:.75rem;cursor:pointer;box-shadow:0 4px 15px #d4a01759;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.hamburger:hover{transform:scale(1.05);box-shadow:0 6px 20px #d4a01773}.hamburger-line{width:24px;height:3px;background:#fff;border-radius:3px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.sidebar{position:fixed;left:0;top:0;height:100vh;width:260px;background:linear-gradient(180deg,#fff9e6,#fff3cd);box-shadow:4px 0 20px #d4a0174d;display:flex;flex-direction:column;z-index:1000;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar.collapsed{width:80px}.sidebar-collapse-btn{position:absolute;top:1rem;right:.75rem;z-index:10;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#d4a01726;border:1px solid rgba(212,160,23,.3);border-radius:6px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.sidebar-collapse-btn:hover{background:#d4a01740;border-color:#b8860b;transform:scale(1.1)}.collapse-icon{color:#b8860b;font-size:1rem;font-weight:700;line-height:1;transition:transform .3s ease;display:inline-block}.collapse-icon.collapsed{transform:rotate(180deg)}.sidebar-header{padding:4rem 1.5rem 1.5rem;border-bottom:1px solid rgba(212,160,23,.2);text-align:center;transition:padding .3s ease}.sidebar.collapsed .sidebar-header{padding:4rem .5rem 1.5rem}.sidebar-logo-wrapper{position:relative;width:120px;height:120px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .sidebar-logo-wrapper{width:48px;height:48px;margin:0 auto .75rem}.sidebar-logo{position:absolute;width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity .3s ease;z-index:1}.sidebar.collapsed .sidebar-logo{opacity:0}.sidebar-logo-icon{position:absolute;font-size:2.5rem;line-height:1;opacity:0;transform:scale(.5);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.sidebar.collapsed .sidebar-logo-icon{opacity:1;transform:scale(1)}.sidebar-title{color:#b8860b;font-size:1.25rem;font-weight:600;margin:0;font-family:Poppins,sans-serif;transition:opacity .3s ease;white-space:nowrap}.sidebar.collapsed .sidebar-title{display:none}.sidebar-nav{flex:1;padding:2rem 0;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track{background:#d4a01714;border-radius:10px}.sidebar-nav::-webkit-scrollbar-thumb{background:#d4a01740;border-radius:10px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#d4a01766}.sidebar-menu{list-style:none;padding:0;margin:0}.sidebar-menu-item{margin-bottom:.25rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;color:#4a3728;text-decoration:none;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;border-left:3px solid transparent;white-space:nowrap}.sidebar-link-icon{font-size:1.25rem;line-height:1;min-width:24px;text-align:center}.sidebar-link-text{flex:1;transition:opacity .3s ease}.sidebar.collapsed .sidebar-link-text{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .sidebar-link{justify-content:center;padding:1rem 0}.sidebar-link:hover{background:#d4a01726;color:#b8860b;border-left-color:#b8860b}.sidebar.collapsed .sidebar-link:hover{background:transparent}.sidebar-link.active{background:#d4a01733;color:#b8860b;border-left-color:#b8860b;font-weight:600}.sidebar-link.disabled{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;color:#4a372866;cursor:not-allowed;border-left:3px solid transparent;white-space:nowrap;opacity:.5;position:relative}.sidebar-link.disabled:after{content:"Coming Soon";position:absolute;right:1rem;font-size:.65rem;background:#ffa5004d;color:orange;padding:.2rem .5rem;border-radius:4px;font-weight:600;opacity:0;transition:opacity .3s ease}.sidebar:hover .sidebar-link.disabled:after,.sidebar-link.disabled:hover:after{opacity:1}.sidebar.collapsed .sidebar-link.disabled:after{display:none}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(212,160,23,.15)}.sidebar-logout{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem;background:#d4a01726;color:#4a3728;text-align:center;text-decoration:none;border-radius:10px;font-family:Poppins,sans-serif;font-weight:600;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;border:1px solid rgba(212,160,23,.25);white-space:nowrap}.sidebar-logout:disabled{opacity:.6;cursor:not-allowed}.sidebar-logout-icon{font-size:1.25rem;line-height:1;min-width:24px}.sidebar-logout-text{flex:1;transition:opacity .3s ease}.sidebar.collapsed .sidebar-logout-text{opacity:0;width:0;overflow:hidden}.sidebar.collapsed .sidebar-logout{justify-content:center;padding:.875rem 0}.sidebar-logout:hover:not(:disabled){background:linear-gradient(135deg,#d4a017,#b8860b);color:#fff;border-color:#b8860b;transform:translateY(-2px);box-shadow:0 4px 15px #d4a0174d}.sidebar.collapsed .sidebar-logout:hover:not(:disabled){transform:scale(1.1)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.sidebar-overlay.open{opacity:1;visibility:visible}.admin-main-content{flex:1;margin-left:260px;padding:2rem;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1);overflow-x:hidden}.sidebar.collapsed~.admin-main-content,.sidebar.collapsed+.admin-main-content{margin-left:80px}@media(max-width:1024px){.hamburger{display:flex}.sidebar-collapse-btn{display:none}.sidebar{transform:translate(-100%);width:260px!important}.sidebar.open{transform:translate(0)}.admin-main-content{margin-left:0!important;padding-top:5rem}.sidebar-logo-wrapper{width:120px!important;height:120px!important;margin:0 auto 1rem!important}.sidebar-logo{opacity:1!important}.sidebar-logo-icon{opacity:0!important}.sidebar.collapsed .sidebar-logo,.sidebar.collapsed .sidebar-title,.sidebar.collapsed .sidebar-link-text,.sidebar.collapsed .sidebar-logout-text{display:block!important;opacity:1!important;width:auto!important}.sidebar.collapsed .sidebar-link{justify-content:flex-start!important;padding:1rem 1.5rem!important}.sidebar.collapsed .sidebar-logout{justify-content:center!important;padding:.875rem!important}.sidebar-header{padding:2rem 1.5rem 1.5rem!important}}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem}.admin-header h1{color:navy;font-size:2rem;font-weight:700;margin:0;font-family:Poppins,sans-serif}.admin-header .datetime-container{display:flex;align-items:center;gap:1rem}.date-card,.time-card{background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:12px;padding:.625rem 1rem;border:2px solid #FFD700;display:flex;align-items:center;gap:.5rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.date-card:hover,.time-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ffd7004d}.date-icon,.time-icon{font-size:1.25rem;line-height:1}.date-text{color:navy;font-size:.875rem;font-weight:600;font-family:Poppins,sans-serif}.time-text{color:inherit;font-size:1.125rem;font-weight:700;font-family:Poppins,sans-serif}.admin-welcome-card{background:#fff;padding:2rem;border-radius:20px;box-shadow:0 10px 30px #0000801a;border:2px solid #FFD700;margin-bottom:2rem}.admin-welcome-card h2{color:navy;font-size:1.5rem;margin-bottom:.5rem;font-family:Poppins,sans-serif}.admin-welcome-card p{color:navy;opacity:.8;line-height:1.6;margin:0;font-family:Poppins,sans-serif}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.25rem;border-radius:15px;box-shadow:0 10px 30px #0000801a;border-left:4px solid;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00008026}.stat-card.stat-yellow{border-left-color:gold}.stat-card.stat-blue{border-left-color:#87ceeb}.stat-card.stat-red{border-left-color:#ff6b6b}.stat-card.stat-green{border-left-color:#4ecdc4}.stat-card h3{color:navy;font-size:.9rem;margin-bottom:.5rem;font-family:Poppins,sans-serif;font-weight:600}.stat-card .stat-value{font-size:2rem;font-weight:700;font-family:Poppins,sans-serif}.stat-card.stat-yellow .stat-value{color:orange}.stat-card.stat-blue .stat-value{color:#45b7d1}.datetime-card .date{color:navy;font-size:1.25rem;font-weight:600;margin-bottom:.5rem;font-family:Poppins,sans-serif}.datetime-card .time{color:orange;font-size:2.5rem;font-weight:700;font-family:Poppins,sans-serif}.table-container{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000801a;border:2px solid #FFD700;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.table-header h3{color:navy;font-size:1.5rem;margin:0;font-family:Poppins,sans-serif;font-weight:700}.table-search{flex:1;max-width:400px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:#fff;border:2px solid rgba(135,206,235,.3);border-radius:12px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.search-input-wrapper:focus-within{border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.search-icon{padding-left:1rem;color:navy;opacity:.6;font-size:1rem}.search-input{flex:1;border:none;background:transparent;padding:.75rem 1rem;font-size:.95rem;font-family:Poppins,sans-serif;color:navy;outline:none}.search-input::placeholder{color:navy;opacity:.4}.search-clear-btn{background:transparent;border:none;color:navy;opacity:.6;font-size:1.5rem;padding:0 .75rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;line-height:1}.search-clear-btn:hover{opacity:1;color:#ff6b6b}table{width:100%;border-collapse:collapse;font-family:Poppins,sans-serif}thead{background:linear-gradient(135deg,navy,#1a237e)}thead th{padding:1rem;text-align:left;color:gold;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}tbody tr{border-bottom:1px solid rgba(135,206,235,.2);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}tbody tr:hover{background:#ffd7000d}tbody tr:last-child{border-bottom:none}tbody td{padding:1rem;color:navy;font-size:.95rem}tbody td .student-name{font-weight:600}tbody td .time-badge{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border-radius:20px;font-size:.85rem;font-weight:600}.time-display{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-radius:12px;font-family:Poppins,sans-serif;font-weight:600;font-size:.9rem;transition:transform .3s ease,box-shadow .3s ease;will-change:transform;animation:pulse 2s ease-in-out infinite;animation-play-state:paused}.time-display:hover{animation-play-state:running}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.time-display.time-morning{background:linear-gradient(135deg,gold,orange);color:#1a1a1a;box-shadow:0 4px 15px #ffd7004d}.time-display.time-afternoon{background:linear-gradient(135deg,#87ceeb,#45b7d1);color:#000;box-shadow:0 4px 15px #87ceeb4d}.time-display:hover{box-shadow:0 6px 20px #00008033}.time-icon{font-size:1.1rem;line-height:1}.time-text{line-height:1}tbody td .subject-badge{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,#ffd70033,#87ceeb33);color:navy;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid rgba(255,215,0,.3)}.view-activity-btn{padding:.5rem 1rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;box-shadow:0 4px 15px #ffa5004d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.view-activity-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066;background:linear-gradient(135deg,#ff8c00,#ff7f00)}.empty-state{text-align:center;padding:3rem;color:navy;opacity:.6}.empty-state p{font-size:1.1rem;margin:0;font-family:Poppins,sans-serif}@media(max-width:1024px){.hamburger{display:flex}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.admin-main-content{margin-left:0;padding-top:5rem}}@media(max-width:768px){.admin-main-content{padding:1.5rem 1rem}.admin-header{flex-direction:column;align-items:flex-start;gap:1rem}.admin-header h1{font-size:1.5rem}.admin-header .datetime-container{width:100%;justify-content:space-between}.date-card,.time-card{flex:1;padding:.75rem .875rem}.date-text{font-size:.8rem}.time-text{font-size:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card .stat-value{font-size:1.75rem}.datetime-card .date{font-size:1rem}.datetime-card .time{font-size:2rem}.table-container{padding:1rem;overflow-x:auto}table{min-width:600px}thead th,tbody td{padding:.75rem .5rem;font-size:.85rem}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;animation:fadeIn .3s ease}.modal-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000804d;max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease;border:2px solid #FFD700}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{background:linear-gradient(135deg,navy,#1a237e);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #FFD700}.modal-header h2{color:gold;font-size:1.5rem;margin:0;font-family:Poppins,sans-serif;font-weight:700}.modal-close-btn{background:#ffd70033;border:1px solid rgba(255,215,0,.4);color:gold;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.modal-close-btn:hover{background:#ffd7004d;transform:rotate(90deg)}.modal-body{padding:2rem;overflow-y:auto;flex:1}.berita-acara-content{display:flex;flex-direction:column;gap:1.5rem}.ba-header-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:15px;border:1px solid rgba(255,215,0,.3)}.ba-info-row{display:flex;flex-direction:column;gap:.25rem}.ba-label{color:navy;font-size:.85rem;font-weight:600;opacity:.7;font-family:Poppins,sans-serif}.ba-value{color:navy;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif}.ba-section{padding:1.25rem;background:#fff;border-radius:12px;border:1px solid rgba(135,206,235,.3);box-shadow:0 4px 15px #0000800d}.ba-section h3{color:navy;font-size:1rem;margin:0 0 .75rem;font-family:Poppins,sans-serif;font-weight:700}.ba-section p{color:navy;opacity:.8;line-height:1.6;margin:0;font-family:Poppins,sans-serif}.ba-performance-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif}.ba-performance-badge.excellent{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.ba-performance-badge.good{background:linear-gradient(135deg,orange,#ff8c00);color:#fff}.ba-homework-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif}.ba-homework-badge.completed{background:#4ecdc433;color:#4ecdc4;border:1px solid #4ECDC4}.ba-homework-badge.pending{background:#ff6b6b33;color:#ff6b6b;border:1px solid #FF6B6B}.ba-image-placeholder{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#87ceeb1a,#ffd7001a);border-radius:12px;border:2px dashed rgba(135,206,235,.4)}.ba-icon{font-size:3rem;margin-bottom:1rem}.ba-image-placeholder p{color:navy;font-size:1.1rem;font-weight:600;margin:0 0 .5rem;font-family:Poppins,sans-serif}.ba-image-placeholder small{color:navy;opacity:.6;font-size:.85rem;font-family:Poppins,sans-serif}.ba-readonly-notice{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#ffd7001a;border-radius:10px;border:1px solid rgba(255,215,0,.3)}.notice-icon{font-size:1.5rem}.ba-readonly-notice span:last-child{color:navy;font-size:.9rem;font-weight:500;font-family:Poppins,sans-serif}.ba-empty-state{text-align:center;padding:3rem 2rem}.ba-empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5}.ba-empty-state h3{color:navy;font-size:1.5rem;margin:0 0 1rem;font-family:Poppins,sans-serif;font-weight:700}.ba-empty-state p{color:navy;opacity:.7;line-height:1.6;margin:0 0 .5rem;font-family:Poppins,sans-serif}.ba-status{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background:#ffa50033;color:orange;border-radius:20px;font-weight:600;font-size:.9rem;font-family:Poppins,sans-serif;border:1px solid rgba(255,165,0,.3)}.modal-footer{padding:1.5rem 2rem;border-top:1px solid rgba(135,206,235,.2);display:flex;justify-content:flex-end;gap:1rem}.modal-close-btn-bottom{padding:.875rem 2rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;box-shadow:0 4px 15px #ffa5004d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.modal-close-btn-bottom:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066}@media(max-width:768px){.modal-overlay{padding:1rem}.modal-container{max-height:95vh}.modal-header{padding:1.25rem 1.5rem}.modal-header h2{font-size:1.25rem}.modal-body{padding:1.5rem}.ba-header-info{grid-template-columns:1fr}.ba-empty-icon{font-size:3rem}.ba-empty-state h3{font-size:1.25rem}}.add-class-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:20px;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 4px 15px #4ecdc44d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.add-class-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.add-icon{font-size:1.25rem;font-weight:700;line-height:1}.add-class-btn-empty{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 4px 15px #4ecdc44d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.add-class-btn-empty:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.action-buttons{display:flex;align-items:center;gap:.5rem}.action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;font-size:1rem}.action-btn .action-icon{font-size:1rem;line-height:1}.action-btn.view-btn{background:linear-gradient(135deg,#87ceeb,#45b7d1);color:navy}.action-btn.view-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87ceeb66}.action-btn.edit-btn{background:linear-gradient(135deg,gold,orange);color:navy}.action-btn.edit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffd70066}.action-btn.delete-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.action-btn.delete-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b66}.action-btn.delete-btn.disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6}.action-btn.delete-btn.disabled:hover{transform:none;box-shadow:none}.action-btn.assign-btn{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff}.action-btn.assign-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #a78bfa66}.action-btn.toggle-btn{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.action-btn.toggle-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4ecdc466}.action-btn.toggle-btn.inactive{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.action-btn.toggle-btn.inactive:hover{box-shadow:0 4px 12px #7f8c8d66}.form-modal{max-width:500px}.class-form{padding:2rem;display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:navy;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif}.form-group select{padding:.75rem 1rem;border:2px solid rgba(135,206,235,.3);border-radius:10px;font-size:.95rem;font-family:Poppins,sans-serif;color:navy;background:#fff;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;cursor:pointer}.form-group select:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.form-group select.error{border-color:#ff6b6b}.form-group select.error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.error-text{color:#ff6b6b;font-size:.8rem;font-weight:500;font-family:Poppins,sans-serif}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.btn-cancel,.btn-submit{flex:1;padding:.875rem 1.5rem;border:none;border-radius:25px;font-size:.95rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-cancel{background:#87ceeb33;color:navy;border:1px solid rgba(135,206,235,.3)}.btn-cancel:hover{background:#87ceeb4d;transform:translateY(-2px)}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.delete-modal{max-width:450px}.delete-modal-content{padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.delete-icon-wrapper{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b33,#ee5a6f33);border-radius:50%;border:2px solid rgba(255,107,107,.3)}.delete-icon-wrapper.warning{background:linear-gradient(135deg,#ffc10733,#ff980033);border:2px solid rgba(255,193,7,.4)}.delete-icon-wrapper.warning .delete-icon{color:#ffc107}.delete-icon{font-size:2.5rem;color:#ff6b6b}.delete-modal-content h2{color:navy;font-size:1.5rem;font-family:Poppins,sans-serif;font-weight:700;margin:0}.delete-message{color:navy;font-size:1rem;font-family:Poppins,sans-serif;line-height:1.6;opacity:.9;margin:0}.delete-message strong{color:#ff6b6b;font-weight:600}.delete-warning{color:navy;font-size:.9rem;font-family:Poppins,sans-serif;font-style:italic;opacity:.7;margin:0}.delete-actions{display:flex;gap:1rem;width:100%;margin-top:.5rem}.btn-delete-cancel,.btn-delete-confirm{flex:1;padding:.875rem 1.5rem;border:none;border-radius:25px;font-size:.95rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-delete-cancel{background:#87ceeb33;color:navy;border:1px solid rgba(135,206,235,.3)}.btn-delete-cancel:hover{background:#87ceeb4d;transform:translateY(-2px)}.btn-delete-confirm{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;box-shadow:0 4px 15px #ff6b6b4d}.btn-delete-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}@media(max-width:768px){.table-header{flex-direction:column;align-items:flex-start;gap:1rem}.add-class-btn{width:100%;justify-content:center}.action-buttons{flex-wrap:wrap}.action-btn{width:32px;height:32px}.form-modal{max-width:95vw}.class-form{padding:1.5rem}.delete-modal{max-width:95vw}.delete-modal-content{padding:2rem 1.5rem}.delete-modal-content h2{font-size:1.25rem}.form-actions,.delete-actions{flex-direction:column}}.fee-badge{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,#96ceb4,#4ecdc4);color:navy;border-radius:20px;font-size:.9rem;font-weight:700;font-family:Poppins,sans-serif}.fee-masker-inline{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .5rem;background:linear-gradient(135deg,#0000800d,#ffd7000d);border-radius:8px;border:1px solid rgba(0,0,128,.1);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.fee-masker-inline:hover{background:linear-gradient(135deg,#00008014,#ffd70014);border-color:#00008033;box-shadow:0 2px 8px #0000801a}.fee-value-inline{font-family:Poppins,sans-serif;font-weight:600;font-size:.9rem;color:navy;letter-spacing:.3px}.fee-toggle-btn-inline{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,navy,#1a237e);border:none;cursor:pointer;padding:.3rem;font-size:.85rem;border-radius:6px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;min-width:28px;min-height:28px}.fee-toggle-btn-inline:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 4px 12px #0000804d}.fee-toggle-btn-inline:active{transform:scale(.95) rotate(-5deg)}.fee-masker-card{width:100%;margin:.5rem 0}.fee-masker-content{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:2px solid rgba(0,0,128,.1);box-shadow:0 4px 12px #00008014;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.fee-masker-content:hover{background:linear-gradient(135deg,#fff,#f0f0f0);border-color:#00008033;box-shadow:0 6px 20px #0000801f;transform:translateY(-2px)}.fee-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:linear-gradient(135deg,#0000801a,#ffd7001a);border-radius:50%;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #00008033}50%{box-shadow:0 0 0 10px #00008000}}.fee-details{flex:1;display:flex;flex-direction:column;gap:.25rem}.fee-label{font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.fee-value{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:700;color:navy;letter-spacing:.5px}.fee-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:linear-gradient(135deg,navy,#1a237e);color:gold;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 4px 12px #00008033;white-space:nowrap}.fee-toggle-btn:hover{background:linear-gradient(135deg,#1a237e,navy);transform:translateY(-2px);box-shadow:0 6px 16px #0000804d}.fee-toggle-btn:active{transform:translateY(0);box-shadow:0 2px 8px #00008033}.toggle-icon{font-size:1rem;display:inline-block;transition:transform .3s ease}.fee-toggle-btn:hover .toggle-icon{transform:scale(1.2) rotate(10deg)}.toggle-text{letter-spacing:.3px}.fee-badge,.fee-masker .fee-value,.fee-masker .fee-toggle-btn,.info-value:has(.fee-masker),.fee-value-inline,.fee-toggle-btn-inline,.fee-value,.fee-toggle-btn{text-decoration:none!important}.enriched-course-info .fee-masker-card{grid-column:1 / -1}.enriched-course-info .fee-masker-content{padding:.875rem 1rem;margin-bottom:.5rem}.fee-masker-card .fee-icon{font-size:1.5rem;width:40px;height:40px}.fee-masker-card .fee-value{font-size:1.1rem}.student-form-modal{max-width:550px}.form-group input{padding:.75rem 1rem;border:2px solid rgba(135,206,235,.3);border-radius:10px;font-size:.95rem;font-family:Poppins,sans-serif;color:navy;background:#fff;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.form-group input:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.form-group input.error{border-color:#ff6b6b}.form-group input.error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.form-group input::placeholder{color:navy;opacity:.4}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3.5rem;width:100%}.password-toggle-button{position:absolute;right:.75rem;background:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:transform .2s ease,background-color .2s ease,color .2s ease;border-radius:8px;background:#87ceeb1a}.password-toggle-button:hover:not(:disabled){background:#87ceeb33;transform:scale(1.1)}.password-toggle-button:disabled{opacity:.5;cursor:not-allowed}.currency-input-wrapper{position:relative;display:flex;align-items:center}.currency-prefix{position:absolute;left:1rem;color:navy;font-weight:600;font-family:Poppins,sans-serif;font-size:.95rem;opacity:.7}.currency-input-wrapper input{padding-left:2.5rem}.field-hint{display:block;margin-top:.5rem;color:navy;font-size:.8rem;font-family:Poppins,sans-serif;opacity:.6;font-style:italic}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.form-modal.course-form-modal{max-width:600px}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;background:linear-gradient(135deg,#ffd70014,#87ceeb14);border:2px solid rgba(135,206,235,.3);border-radius:10px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.checkbox-label:hover{background:linear-gradient(135deg,#ffd7001f,#87ceeb1f);border-color:gold}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:#4ECDC4;cursor:pointer}.checkbox-text{color:navy;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;box-shadow:0 2px 8px #4ecdc44d}.status-badge.inactive{background:#ff6b6b33;color:#ff6b6b;border:1px solid #FF6B6B}.action-btn.verify-btn{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:navy}.action-btn.verify-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #8e44ad66}.form-group textarea{padding:.75rem 1rem;border:2px solid rgba(135,206,235,.3);border-radius:10px;font-size:.95rem;font-family:Poppins,sans-serif;color:navy;background:#fff;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;resize:vertical;min-height:100px}.form-group textarea:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.form-group textarea.error{border-color:#ff6b6b}.form-group textarea.error:focus{box-shadow:0 0 0 3px #ff6b6b1a}.form-group textarea::placeholder{color:navy;opacity:.4}.form-group textarea:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.6}.settings-container{max-width:900px;margin:0 auto}.settings-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000801a;border:2px solid #FFD700;overflow:hidden}.settings-header{padding:2rem 2rem 1.5rem;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-bottom:1px solid rgba(135,206,235,.2)}.settings-header h3{color:navy;font-size:1.5rem;font-weight:700;margin:0 0 .5rem;font-family:Poppins,sans-serif}.settings-description{color:navy;opacity:.8;font-size:.95rem;margin:0;font-family:Poppins,sans-serif}.settings-body{padding:2rem}.setting-item{margin-bottom:2rem}.setting-item:last-child{margin-bottom:0}.setting-label-group{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.setting-label{color:navy;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;margin:0}.setting-badge{padding:.25rem .75rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.setting-item>.setting-description{color:navy;opacity:.7;font-size:.9rem;line-height:1.5;margin-bottom:1rem;font-family:Poppins,sans-serif}.setting-input-group{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.setting-input{flex:1;max-width:200px;padding:.875rem 1rem;border:2px solid rgba(135,206,235,.3);border-radius:12px;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;color:navy;background:#fff;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.setting-input:focus{outline:none;border-color:gold;box-shadow:0 0 0 4px #ffd7001a}.setting-unit{color:navy;font-size:.95rem;font-weight:600;font-family:Poppins,sans-serif;opacity:.7}.setting-examples{background:linear-gradient(135deg,#ffd7000d,#87ceeb0d);border-radius:12px;padding:1rem;border:1px solid rgba(255,215,0,.2)}.setting-examples strong{color:navy;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif}.setting-examples ul{margin:.5rem 0 0;padding-left:1.5rem;list-style:none}.setting-examples ul li{color:navy;opacity:.8;font-size:.85rem;margin-bottom:.25rem;font-family:Poppins,sans-serif}.setting-examples ul li:before{content:"•";color:gold;font-weight:700;display:inline-block;width:1em;margin-left:-1em}.setting-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(135,206,235,.3),transparent);margin:2rem 0}.setting-calculation-preview{background:linear-gradient(135deg,#00008008,#87ceeb0d);border-radius:15px;padding:1.5rem;border:2px solid rgba(255,215,0,.3);margin-top:2rem}.setting-calculation-preview h4{color:navy;font-size:1.1rem;font-weight:700;margin:0 0 1rem;font-family:Poppins,sans-serif}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.preview-item{text-align:center;padding:1rem;background:#fff;border-radius:10px;border:1px solid rgba(135,206,235,.2)}.preview-label{display:block;color:navy;opacity:.7;font-size:.85rem;font-weight:500;margin-bottom:.5rem;font-family:Poppins,sans-serif}.preview-value{display:block;color:orange;font-size:1rem;font-weight:700;font-family:Poppins,sans-serif}.preview-explanation{background:#ffffffb3;border-radius:10px;padding:1rem;border:1px solid rgba(135,206,235,.2)}.preview-explanation p{color:navy;font-size:.9rem;font-weight:600;margin:0 0 .75rem;font-family:Poppins,sans-serif}.preview-explanation ul{margin:0;padding-left:1.5rem;list-style:none}.preview-explanation ul li{color:navy;opacity:.8;font-size:.85rem;margin-bottom:.5rem;font-family:Poppins,sans-serif;line-height:1.5}.preview-explanation ul li:before{content:"➤";color:#4ecdc4;font-weight:700;display:inline-block;width:1.5em;margin-left:-1.5em}.settings-footer{padding:1.5rem 2rem;background:linear-gradient(135deg,#ffd7000d,#87ceeb0d);border-top:1px solid rgba(135,206,235,.2)}.save-success{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border-radius:10px;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif;margin-bottom:1rem}.success-icon{font-size:1.2rem}.settings-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-reset,.btn-save{padding:.875rem 2rem;border:none;border-radius:25px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-reset{background:#87ceeb33;color:navy;border:1px solid rgba(135,206,235,.3)}.btn-reset:hover:not(:disabled){background:#87ceeb4d;transform:translateY(-2px)}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.btn-save{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;box-shadow:0 4px 15px #4ecdc44d}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.btn-save:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.settings-container{padding:0}.settings-header,.settings-body,.settings-footer{padding:1.5rem}.settings-header h3{font-size:1.25rem}.setting-label{font-size:1rem}.setting-input-group{flex-direction:column;align-items:flex-start}.setting-input{max-width:100%;width:100%}.preview-grid{grid-template-columns:1fr}.settings-actions{flex-direction:column}.btn-reset,.btn-save{width:100%}}.periods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.period-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 30px #0000801a;border:2px solid #FFD700;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.period-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00008026;border-color:orange}.period-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.period-icon{font-size:2rem}.period-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.period-badge.completed{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.period-badge.pending{background:linear-gradient(135deg,gold,orange);color:#fff}.period-title{color:navy;font-size:1.5rem;font-weight:700;margin:0 0 .5rem;font-family:Poppins,sans-serif}.period-subtitle{color:navy;opacity:.7;font-size:.9rem;margin:0;font-family:Poppins,sans-serif}.btn-back{background:transparent;border:none;color:navy;font-size:.95rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;margin-bottom:1rem;padding:.5rem 0;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-back:hover{color:orange}.financial-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.financial-card{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 10px 30px #0000801a;border-top:4px solid;display:flex;align-items:center;gap:1rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.financial-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00008026}.financial-revenue{border-top-color:#4ecdc4}.financial-cost{border-top-color:#ff6b6b}.financial-margin{border-top-color:gold}.financial-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.5rem;flex-shrink:0}.financial-revenue .financial-icon{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.financial-cost .financial-icon{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.financial-margin .financial-icon{background:linear-gradient(135deg,gold,orange);color:#fff}.financial-content h4{color:navy;font-size:.9rem;font-weight:600;margin:0 0 .5rem;font-family:Poppins,sans-serif}.financial-value{color:navy;font-size:1.75rem;font-weight:700;margin:0 0 .25rem;font-family:Poppins,sans-serif}.financial-label{color:navy;opacity:.7;font-size:.85rem;margin:0;font-family:Poppins,sans-serif}.invoice-tabs{display:flex;gap:1rem;margin-bottom:2rem}.invoice-tab{flex:1;padding:1rem 1.5rem;background:#fff;border:2px solid rgba(135,206,235,.3);border-radius:15px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;color:navy;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem}.invoice-tab:hover{border-color:gold;background:#ffd7000d}.invoice-tab.active{background:linear-gradient(135deg,navy,#1a237e);color:gold;border-color:gold;box-shadow:0 4px 15px #00008033}.tab-icon{font-size:1.25rem}.invoice-section{margin-bottom:2rem}.invoice-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000801a;border:2px solid #FFD700;overflow:hidden}.invoice-header{padding:2rem;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-bottom:1px solid rgba(135,206,235,.2)}.invoice-header h3{color:navy;font-size:1.5rem;font-weight:700;margin:0 0 .5rem;font-family:Poppins,sans-serif}.invoice-header p{color:navy;opacity:.8;font-size:.95rem;margin:0;font-family:Poppins,sans-serif}.invoice-body{padding:0}.invoice-table{width:100%;border-collapse:collapse;font-family:Poppins,sans-serif}.invoice-table thead{background:linear-gradient(135deg,navy,#1a237e)}.invoice-table thead th{padding:1rem;text-align:left;color:gold;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.invoice-table tbody tr{border-bottom:1px solid rgba(135,206,235,.2);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.invoice-table tbody tr:hover{background:#ffd7000d}.invoice-table tbody tr:last-child{border-bottom:none}.invoice-table tbody td{padding:1rem;color:navy;font-size:.95rem;text-decoration:none!important}.invoice-table tbody td *,.invoice-table tbody td a,.invoice-table tbody td a:link,.invoice-table tbody td a:visited,.invoice-table tbody td a:hover,.invoice-table tbody td a:active{text-decoration:none!important}.student-name,.teacher-name{font-weight:600;text-decoration:none!important}.session-count{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,#87ceeb,#45b7d1);color:navy;border-radius:20px;font-size:.85rem;font-weight:600}.duration-badge{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,#96ceb4,#4ecdc4);color:navy;border-radius:20px;font-size:.85rem;font-weight:600}.amount-badge{display:inline-block;padding:.375rem .75rem;background:linear-gradient(135deg,gold,orange);color:navy;border-radius:20px;font-size:.9rem;font-weight:700}.amount-badge.payroll{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.btn-view-details{padding:.5rem 1rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;box-shadow:0 4px 15px #ffa5004d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-view-details:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066}.empty-invoice-state{text-align:center;padding:3rem;color:navy;opacity:.6}.empty-invoice-state .empty-icon{font-size:4rem;display:block;margin-bottom:1rem}.empty-invoice-state h4{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;font-family:Poppins,sans-serif}.empty-invoice-state p{font-size:.95rem;margin:0;font-family:Poppins,sans-serif}.btn-generate{margin-top:1rem;padding:.875rem 2rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 4px 15px #4ecdc44d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.session-details-modal{max-width:1200px}.session-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:15px;border:1px solid rgba(255,215,0,.3)}.summary-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;background:#fff;border-radius:10px}.summary-label{color:navy;opacity:.7;font-size:.85rem;font-weight:500;margin-bottom:.5rem;font-family:Poppins,sans-serif}.summary-value{color:orange;font-size:1.25rem;font-weight:700;font-family:Poppins,sans-serif}.summary-value.amount{color:#4ecdc4}.sessions-list h3{color:navy;font-size:1.25rem;font-weight:700;margin:0 0 1rem;font-family:Poppins,sans-serif}.sessions-table-wrapper{overflow-x:auto}.sessions-table{width:100%;border-collapse:collapse;font-family:Poppins,sans-serif;font-size:.85rem}.sessions-table thead{background:linear-gradient(135deg,navy,#1a237e);position:sticky;top:0}.sessions-table thead th{padding:.75rem .5rem;text-align:center;color:gold;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.sessions-table tbody tr{border-bottom:1px solid rgba(135,206,235,.2)}.sessions-table tbody tr:hover{background:#ffd7000d}.sessions-table tbody td{padding:.75rem .5rem;text-align:center;color:navy}.duration-cell{display:flex;flex-direction:column;align-items:center;gap:.25rem}.overtime-indicator{font-size:.75rem;color:#ff6b6b;font-weight:700}.overtime-badge{display:inline-block;padding:.25rem .5rem;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border-radius:12px;font-size:.75rem;font-weight:700}.no-overtime{color:navy;opacity:.5;font-size:.85rem}.overtime-amount{color:#ff6b6b;font-weight:700;font-size:.85rem}.final-amount{color:#4ecdc4;font-weight:700;font-size:.9rem}.empty-sessions{text-align:center;padding:2rem;color:navy;opacity:.6}.empty-sessions p{margin:0;font-family:Poppins,sans-serif}.btn-close-modal{padding:.875rem 2rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 4px 15px #ffa5004d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-close-modal:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066}@media(max-width:768px){.periods-grid,.financial-summary-grid{grid-template-columns:1fr}.invoice-tabs{flex-direction:column}.session-summary{grid-template-columns:1fr}.invoice-table{font-size:.85rem}.invoice-table thead th,.invoice-table tbody td{padding:.75rem .5rem}.sessions-table{font-size:.75rem}}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.form-section:last-child{border-bottom:none}.form-section-title{display:flex;align-items:center;font-size:1.1rem;font-weight:600;color:navy;margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:2px solid #FFD700}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.schedules-list{display:flex;flex-direction:column;gap:1rem}.schedule-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem;transition:transform .2s ease,background-color .2s ease,color .2s ease}.schedule-item:hover{border-color:gold;box-shadow:0 2px 8px #ffd70033}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.schedule-number{font-weight:600;color:navy;font-size:.95rem}.remove-schedule-btn{padding:.4rem .8rem;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.remove-schedule-btn:hover:not(:disabled){background:#c82333;transform:scale(1.05)}.remove-schedule-btn:disabled{opacity:.5;cursor:not-allowed}.add-schedule-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:15px;font-size:.85rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 2px 8px #4ecdc44d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.add-schedule-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4ecdc466}.add-schedule-btn:disabled{opacity:.5;cursor:not-allowed}.no-schedules-text{color:#6c757d;font-style:italic;text-align:center;padding:2rem;background:#f8f9fa;border-radius:8px;border:1px dashed #dee2e6;margin:0}.empty-schedules-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;background:linear-gradient(135deg,#87ceeb0d,#ffd7000d);border-radius:12px;border:2px dashed rgba(135,206,235,.4)}.empty-state-hint{color:#87ceeb;font-size:.85rem;font-style:italic}.student-form{display:flex;flex-direction:column;gap:1.25rem}.form-section{background:#fff;border-radius:16px;padding:1.25rem;border:2px solid rgba(135,206,235,.15);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.form-section:hover{border-color:#87ceeb4d;box-shadow:0 4px 12px #87ceeb1a}.primary-section{border-color:#ffd70040;background:linear-gradient(135deg,#ffd70008,#fffffff2)}.primary-section:hover{border-color:#ffd70066;box-shadow:0 4px 12px #ffd70026}.security-section{border-color:#4ecdc433;background:linear-gradient(135deg,#4ecdc408,#fffffff2)}.details-section{border-color:#87ceeb26}.parent-section{border-color:#ff9f4033;background:linear-gradient(135deg,#ff9f4005,#fffffff2)}.schedules-section{border-color:#9b59b633;background:linear-gradient(135deg,#9b59b605,#fffffff2)}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem}.section-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:linear-gradient(135deg,#87ceeb,#45b7d1);color:#fff;border-radius:20px;font-size:.75rem;font-weight:700;font-family:Poppins,sans-serif;margin-left:.5rem}.form-row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:.5rem}@media(max-width:600px){.form-row-2{grid-template-columns:1fr}}.field-hint{display:block;font-size:.75rem;color:#87ceeb;margin-top:.25rem;font-weight:500;font-family:Poppins,sans-serif;font-style:italic}.highlighted-field{background:linear-gradient(135deg,#ffd70014,#ff9f400d);padding:1rem;border-radius:12px;border:2px solid rgba(255,215,0,.2);margin-bottom:1rem}.highlighted-field label{font-weight:700;color:navy;font-size:.95rem;display:block;margin-bottom:.5rem}.highlighted-field .field-hint{color:orange}.schedule-item{background:linear-gradient(135deg,#87ceeb08,#fffffff2);border:2px solid rgba(135,206,235,.2);border-radius:12px;padding:1rem;margin-bottom:1rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.schedule-item:hover{border-color:#87ceeb;box-shadow:0 4px 12px #87ceeb26}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid rgba(135,206,235,.15)}.schedule-number{display:flex;align-items:center;gap:.5rem;font-weight:700;color:navy;font-size:.95rem;font-family:Poppins,sans-serif}.schedule-icon{font-size:1.2rem}.schedule-fields{display:flex;flex-direction:column;gap:1rem}.schedule-field-group{display:flex;flex-direction:column;gap:.4rem}.schedule-field-group label{font-weight:600;color:#495057;font-size:.85rem;font-family:Poppins,sans-serif}.schedule-time-group{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:500px){.schedule-time-group{grid-template-columns:1fr}}.empty-icon{font-size:3rem;margin-bottom:.5rem;opacity:.5}.add-schedule-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:20px;font-size:.85rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 2px 8px #4ecdc44d;display:flex;align-items:center;gap:.5rem}.add-schedule-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4ecdc466;background:linear-gradient(135deg,#44a08d,#3a8a7a)}.add-schedule-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.remove-schedule-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:20px;font-size:.8rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 2px 8px #ff6b6b4d}.remove-schedule-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b66;background:linear-gradient(135deg,#ee5a6f,#e04a5f)}.remove-schedule-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.schedules-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.schedule-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.schedule-card:hover{border-color:#87ceeb;box-shadow:0 4px 12px #87ceeb26}.schedule-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#87ceeb1a,#fffffff2);border-bottom:1px solid #e0e0e0}.schedule-title{font-weight:600;color:navy;font-size:.9rem;font-family:Poppins,sans-serif}.schedule-remove-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#e53e3e;font-size:1.25rem;line-height:1;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.schedule-remove-btn:hover:not(:disabled){background:#e53e3e;border-color:#e53e3e;color:#fff}.schedule-remove-btn:disabled{opacity:.5;cursor:not-allowed}.schedule-card-body{display:flex;gap:.75rem;padding:1rem;flex-wrap:wrap}.schedule-field-inline{flex:1;min-width:120px;display:flex;flex-direction:column;gap:.4rem}.schedule-field-inline label{font-weight:600;color:#495057;font-size:.8rem;font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.5px}.schedule-field-inline select{padding:.5rem .75rem;border:1px solid #e0e0e0;border-radius:8px;font-size:.9rem;color:#333;font-family:Poppins,sans-serif;background:#fff;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.schedule-field-inline select:hover{border-color:#87ceeb}.schedule-field-inline select:focus{outline:none;border-color:navy;box-shadow:0 0 0 3px #0000801a}.schedule-field-inline select.error{border-color:#dc3545;background-color:#fff5f5}.schedule-card-errors{padding:0 1rem .75rem}.schedule-card-errors .error-text{display:block;margin-bottom:.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:2px solid rgba(135,206,235,.15);margin-top:.5rem}.btn-cancel,.btn-submit{padding:.875rem 2rem;border:none;border-radius:25px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-cancel{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff;box-shadow:0 4px 12px #6c757d4d}.btn-cancel:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6c757d66;background:linear-gradient(135deg,#5a6268,#495057)}.btn-submit{background:linear-gradient(135deg,gold,orange);color:navy;box-shadow:0 4px 15px #ffd70066}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffd70080;background:linear-gradient(135deg,orange,#ff8c00)}.form-group select option[value=male]{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><text y="20" font-size="20">👦</text></svg>');background-repeat:no-repeat;background-position:8px center;padding-left:2rem}.form-group select option[value=female]{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><text y="20" font-size="20">👧</text></svg>');background-repeat:no-repeat;background-position:8px center;padding-left:2rem}.section-icon{margin-right:.5rem;font-size:1.2rem}.form-modal.student-form-modal{max-width:700px;max-height:90vh;overflow-y:auto}.form-modal.student-form-modal .modal-body{max-height:calc(90vh - 150px);overflow-y:auto;padding-right:1rem}.form-modal.student-form-modal .modal-body::-webkit-scrollbar{width:8px}.form-modal.student-form-modal .modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.form-modal.student-form-modal .modal-body::-webkit-scrollbar-thumb{background:gold;border-radius:10px}.form-modal.student-form-modal .modal-body::-webkit-scrollbar-thumb:hover{background:#e6c200}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-weight:500;color:#333;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.6rem .8rem;border:1px solid #ced4da;border-radius:8px;font-family:Poppins,sans-serif;font-size:.9rem;transition:transform .2s ease,background-color .2s ease,color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7001a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.6}.form-group input.error,.form-group select.error{border-color:#dc3545}.error-text{color:#dc3545;font-size:.8rem;margin-top:-.2rem}.currency-input-wrapper{display:flex;align-items:center;position:relative}.currency-input-wrapper .currency-prefix{position:absolute;left:.8rem;color:#6c757d;font-weight:500}.currency-input-wrapper input{padding-left:2.5rem!important}.fee-field-wrapper{margin-bottom:1.5rem}.fee-field-wrapper label{font-weight:600;color:navy;font-size:.95rem;display:block;margin-bottom:.5rem;font-family:Poppins,sans-serif}.fee-input-container{display:flex;align-items:center;position:relative;background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:.25rem .5rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 2px 8px #0000000d}.fee-input-container:hover{border-color:navy;box-shadow:0 4px 12px #0000801a}.fee-input-container:focus-within{border-color:navy;box-shadow:0 0 0 3px #0000801a}.fee-currency{font-weight:600;color:navy;font-size:1rem;padding:0 .5rem 0 .75rem;font-family:Poppins,sans-serif;-webkit-user-select:none;user-select:none}.fee-input{flex:1;border:none;outline:none;padding:.75rem .5rem;font-size:1.1rem;font-weight:600;color:navy;font-family:Poppins,sans-serif;background:transparent;min-width:120px;letter-spacing:.5px}.fee-input::placeholder{color:#adb5bd;font-weight:400;font-size:1rem}.fee-input:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.fee-input-error{border-color:#dc3545!important}.fee-suffix{font-size:.85rem;color:#6c757d;font-weight:500;padding:0 .5rem;white-space:nowrap;font-family:Poppins,sans-serif}.fee-error-text{margin-top:.35rem}.field-hint{color:#6c757d;font-size:.75rem;margin-top:.2rem;font-style:italic}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border:none;border-radius:20px;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover:not(:disabled){background:#5a6268}.btn-submit{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;box-shadow:0 4px 15px #4ecdc44d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.details-modal{max-width:650px}.details-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(135,206,235,.2)}.details-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.details-section-title{color:navy;font-size:1.1rem;font-weight:700;margin-bottom:1rem;font-family:Poppins,sans-serif;display:flex;align-items:center;gap:.5rem}.details-section-title:before{content:"●";color:gold;font-size:1.2rem}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1 / -1}.detail-label{color:navy;font-size:.8rem;font-weight:600;opacity:.7;text-transform:uppercase;letter-spacing:.5px;font-family:Poppins,sans-serif}.detail-value{color:navy;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif}.detail-value.mono{font-family:Courier New,monospace;font-size:.9rem}.detail-value.status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase}.detail-value.status.active{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.detail-value.status.inactive{background:#ff6b6b33;color:#ff6b6b;border:1px solid #FF6B6B}.schedules-table{margin-top:1rem}.schedules-table table{width:100%;border-collapse:collapse;font-family:Poppins,sans-serif;font-size:.9rem}.schedules-table thead{background:linear-gradient(135deg,#0000800d,#1a237e0d)}.schedules-table thead th{padding:.75rem 1rem;text-align:left;color:navy;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #FFD700}.schedules-table tbody tr{border-bottom:1px solid rgba(135,206,235,.15)}.schedules-table tbody tr:hover{background:#ffd7000d}.schedules-table tbody tr:last-child{border-bottom:none}.schedules-table tbody td{padding:.75rem 1rem;color:navy;font-weight:500}.schedule-days-summary{margin-top:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:8px;border:1px solid rgba(255,215,0,.2);font-family:Poppins,sans-serif}.schedule-days-summary .detail-label{font-weight:700;color:navy}.schedule-days-summary .detail-value{color:orange;font-weight:600}.empty-schedules{text-align:center;padding:2rem;color:navy;opacity:.6}.empty-schedules p{font-family:Poppins,sans-serif;font-size:.95rem;font-style:italic;margin:0}.registered-classes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.registered-class-card{background:#fff;border:2px solid rgba(135,206,235,.3);border-radius:12px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 2px 8px #00008014}.registered-class-card:hover{border-color:#4ecdc4;box-shadow:0 4px 16px #4ecdc433;transform:translateY(-2px)}.class-card-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:linear-gradient(135deg,#0000800d,#1a237e08);border-bottom:2px solid rgba(135,206,235,.2)}.class-course-badge{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;padding:.375rem .875rem;border-radius:20px;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #4ecdc44d}.class-status-badge{padding:.375rem .75rem;border-radius:20px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.class-status-badge.active{background:linear-gradient(135deg,#4ecdc426,#44a08d1a);color:#44a08d;border:1px solid rgba(78,205,196,.3)}.class-status-badge.inactive{background:#ff6b6b1a;color:#ff6b6b;border:1px solid rgba(255,107,107,.3)}.class-card-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.class-info-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#87ceeb0d;border-radius:8px;transition:transform .2s ease,background-color .2s ease,color .2s ease}.class-info-row:hover{background:#87ceeb1a}.class-info-icon{font-size:1.25rem;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #00008014}.class-info-content{display:flex;flex-direction:column;gap:.125rem;flex:1}.class-info-label{font-family:Poppins,sans-serif;font-size:.7rem;font-weight:600;color:navy;opacity:.6;text-transform:uppercase;letter-spacing:.5px}.class-info-value{font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;color:navy}.meta-info{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#87ceeb1a,#ffd7000d);border-radius:10px;border:1px solid rgba(135,206,235,.2)}.meta-info .detail-item{margin-bottom:.75rem}.meta-info .detail-item:last-child{margin-bottom:0}.meta-info .detail-label{font-size:.75rem}.meta-info .detail-value{font-size:.85rem;opacity:.8}.courses-list{display:flex;flex-direction:column;gap:1rem}.course-card{background:linear-gradient(135deg,#ffffffe6,#f8f9fae6);border:1px solid rgba(135,206,235,.3);border-radius:12px;padding:1rem;transition:all .2s}.course-card:hover{border-color:#87ceeb;box-shadow:0 4px 12px #87ceeb33}.course-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(135,206,235,.2)}.course-name{font-size:1rem;font-weight:600;color:navy;font-family:Poppins,sans-serif}.course-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:.75rem}.course-detail-item{display:flex;flex-direction:column;gap:.25rem}.course-detail-label{font-size:.75rem;color:#6c757d;font-weight:500;font-family:Poppins,sans-serif}.course-detail-value{font-size:.875rem;color:navy;font-weight:600;font-family:Poppins,sans-serif}.course-schedules{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(135,206,235,.3)}.course-schedules-title{font-size:.8rem;color:#6c757d;font-weight:500;font-family:Poppins,sans-serif;margin-bottom:.5rem;display:block}.course-schedules-list{display:flex;flex-wrap:wrap;gap:.5rem}.course-schedule-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:#87ceeb1a;border-radius:12px}.schedule-day-badge-small{display:inline-block;padding:.125rem .5rem;background-color:#87ceeb;color:#fff;border-radius:8px;font-size:.7rem;font-weight:600;font-family:Poppins,sans-serif}.schedule-time-small{font-size:.75rem;color:navy;font-weight:500;font-family:Poppins,sans-serif}.empty-courses-message{padding:1.5rem;text-align:center;background-color:#f8f9fa80;border-radius:8px;border:1px dashed rgba(135,206,235,.4)}.empty-courses-message p{margin:0;color:#6c757d;font-size:.875rem;font-family:Poppins,sans-serif}.enriched-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.enriched-course-card{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:2px solid rgba(135,206,235,.2);border-radius:16px;padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00008014;position:relative;overflow:hidden}.enriched-course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#87ceeb,gold,#4ecdc4);opacity:0;transition:opacity .3s ease}.enriched-course-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00008026;border-color:#87ceeb}.enriched-course-card:hover:before{opacity:1}.enriched-course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid rgba(135,206,235,.15)}.enriched-course-title{display:flex;align-items:center;gap:.5rem;flex:1}.course-icon{font-size:1.5rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.enriched-course-name{font-size:1rem;font-weight:700;color:navy;font-family:Poppins,sans-serif;line-height:1.3}.course-status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:700;font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.course-status-badge.active{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;box-shadow:0 2px 8px #4ecdc44d}.course-status-badge.inactive{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;box-shadow:0 2px 8px #ff6b6b4d}.enriched-course-description{background:linear-gradient(135deg,#87ceeb14,#ffd7000d);padding:.75rem;border-radius:10px;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem;border:1px solid rgba(135,206,235,.15)}.description-icon{font-size:1rem;line-height:1.4}.enriched-course-description span:last-child{font-size:.8rem;color:#495057;line-height:1.5;font-family:Poppins,sans-serif}.enriched-course-info{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.info-item{background:linear-gradient(135deg,#fffc,#f8fafccc);padding:.75rem;border-radius:10px;text-align:center;border:1px solid rgba(135,206,235,.2);transition:transform .2s ease,background-color .2s ease,color .2s ease}.info-item:hover{background:#fff;border-color:#87ceeb;transform:translateY(-2px);box-shadow:0 4px 12px #87ceeb26}.info-label{display:block;font-size:.7rem;color:#6c757d;font-weight:600;font-family:Poppins,sans-serif;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.info-value{display:block;font-size:.9rem;color:navy;font-weight:700;font-family:Poppins,sans-serif}.enriched-course-dates{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#ffd70014,#ffa5000d);padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;border:1px solid rgba(255,215,0,.2)}.date-item{flex:1;text-align:center}.date-label{display:block;font-size:.65rem;color:#8b7355;font-weight:600;font-family:Poppins,sans-serif;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.date-value{display:block;font-size:.8rem;color:navy;font-weight:700;font-family:Poppins,sans-serif}.date-arrow{font-size:1.2rem;color:gold;font-weight:700}.enriched-course-schedules{background:linear-gradient(135deg,#4ecdc40d,#87ceeb0d);padding:.875rem;border-radius:10px;border:1px solid rgba(135,206,235,.2)}.schedules-title{font-size:.75rem;font-weight:700;color:navy;font-family:Poppins,sans-serif;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.schedules-grid{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-badge{display:inline-flex;flex-direction:column;align-items:center;padding:.5rem .75rem;background:linear-gradient(135deg,#87ceeb,#45b7d1);color:#fff;border-radius:10px;font-size:.75rem;font-weight:600;font-family:Poppins,sans-serif;box-shadow:0 2px 8px #87ceeb40;transition:transform .2s ease,background-color .2s ease,color .2s ease}.schedule-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87ceeb59;background:linear-gradient(135deg,#45b7d1,#3da5d8)}.schedule-day{font-weight:700;text-transform:capitalize}.schedule-time{font-size:.7rem;opacity:.95;margin-top:.125rem}@media(max-width:768px){.enriched-courses-grid,.enriched-course-info{grid-template-columns:1fr}.info-item{padding:.6rem}.schedules-grid{justify-content:center}}.existing-course-section{margin-bottom:1.5rem}.existing-courses-list{display:flex;flex-direction:column;gap:1.25rem}.existing-course-card{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:2px solid rgba(78,205,196,.3);border-radius:16px;padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00008014;position:relative;overflow:hidden}.existing-course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4ecdc4,#44a08d)}.existing-course-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid rgba(78,205,196,.15)}.existing-course-title{display:flex;align-items:center;gap:.5rem;flex:1}.existing-course-name{font-size:1rem;font-weight:700;color:navy;font-family:Poppins,sans-serif;line-height:1.3}.existing-course-description{background:linear-gradient(135deg,#4ecdc414,#44a08d0d);padding:.75rem;border-radius:10px;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.5rem;border:1px solid rgba(78,205,196,.15)}.existing-course-description span:last-child{font-size:.8rem;color:#495057;line-height:1.5;font-family:Poppins,sans-serif}.existing-course-info{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.existing-course-dates{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#4ecdc414,#44a08d0d);padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;border:1px solid rgba(78,205,196,.2)}.existing-course-schedules{background:linear-gradient(135deg,#4ecdc40d,#44a08d0d);padding:.875rem;border-radius:10px;border:1px solid rgba(78,205,196,.2);margin-bottom:1rem}.edit-prompt{background:linear-gradient(135deg,#ffd7001a,#ffc10714);border:1px solid rgba(255,215,0,.3);border-radius:10px;padding:.75rem 1rem;text-align:center}.edit-prompt span{font-size:.85rem;color:#8b7355;font-weight:600;font-family:Poppins,sans-serif}.view-schedules-btn{padding:.375rem .875rem;background:linear-gradient(135deg,#87ceeb,#45b7d1);color:navy;border:none;border-radius:15px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;box-shadow:0 2px 8px #87ceeb4d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.view-schedules-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #87ceeb66;background:linear-gradient(135deg,#45b7d1,#3da5d8)}.modal-footer{padding:1.5rem 2rem;border-top:1px solid rgba(135,206,235,.2);display:flex;justify-content:flex-end}.btn-close{padding:.875rem 2rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 4px 15px #ffa5004d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-close:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066}@media(max-width:768px){.details-modal{max-width:95vw}.details-grid{grid-template-columns:1fr}.schedules-table table{font-size:.8rem}.schedules-table thead th,.schedules-table tbody td{padding:.6rem .5rem}}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff9;border-top:1px solid rgba(135,206,235,.2);border-radius:0 0 15px 15px;flex-wrap:wrap;gap:1rem}.pagination-info{font-size:.9rem;color:#4a5568;font-family:Poppins,sans-serif}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#87ceeb,#45b7d1);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;box-shadow:0 2px 8px #87ceeb4d}.pagination-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #87ceeb66;background:linear-gradient(135deg,#7bceed,#3aa8c8)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pagination-pages{display:flex;gap:.25rem;align-items:center}.pagination-page{min-width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(135,206,235,.3);border-radius:8px;font-size:.875rem;font-weight:500;font-family:Poppins,sans-serif;color:#4a5568;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.pagination-page:hover:not(.active):not(.ellipsis){background:#87ceeb33;border-color:#87ceeb}.pagination-page.active{background:linear-gradient(135deg,#45b7d1,#3da5d8);color:#fff;border-color:transparent;box-shadow:0 2px 8px #45b7d166}.pagination-page.ellipsis{border:none;cursor:default;background:transparent}@media(max-width:768px){.pagination-container{flex-direction:column;text-align:center}.pagination-info{width:100%;text-align:center}.pagination-controls{width:100%;justify-content:center;flex-wrap:wrap}.pagination-btn{font-size:.8rem;padding:.4rem .75rem}.pagination-page{min-width:2rem;height:2rem;font-size:.8rem}}.validation-summary{margin-bottom:1.5rem;background:linear-gradient(135deg,#fff5f5,#fed7d7);border:2px solid #FC8181;border-radius:12px;padding:1rem 1.5rem;box-shadow:0 4px 12px #fc818133;animation:slideDown .3s ease-out}.validation-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(252,129,129,.3);margin-bottom:.75rem}.validation-icon{font-size:1.5rem;line-height:1}.validation-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#c53030;font-family:Poppins,sans-serif;flex:1}.validation-dismiss{background:transparent;border:none;color:#c53030;font-size:1.5rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:transform .2s ease,background-color .2s ease,color .2s ease;line-height:1}.validation-dismiss:hover{background:#fc818133}.validation-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.validation-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#fff9;border-radius:6px;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.validation-item:hover{background:#ffffffe6;transform:translate(4px)}.validation-bullet{color:#c53030;font-weight:700;font-size:1rem}.validation-message{flex:1;color:#742a2a;font-size:.95rem;font-family:Poppins,sans-serif}.validation-arrow{color:#c53030;font-size:1.2rem;opacity:0;transition:opacity .2s ease}.validation-item:hover .validation-arrow{opacity:1}.validation-footer{padding-top:.75rem;border-top:1px solid rgba(252,129,129,.3);margin-top:.75rem}.validation-hint{font-size:.85rem;color:#9b2c2c;font-family:Poppins,sans-serif;font-style:italic}input.error,select.error,textarea.error{animation:shake .5s ease-in-out;border-color:#fc8181!important;box-shadow:0 0 0 3px #fc818133!important}.error-text{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.modal-container.teacher-form-modal{max-width:950px;width:95vw;max-height:92vh;display:flex;flex-direction:column}.teacher-form-modal .modal-body{overflow-y:auto;overflow-x:hidden;padding:1.75rem;max-height:calc(92vh - 140px)}.teacher-form-modal .modal-body::-webkit-scrollbar{width:10px}.teacher-form-modal .modal-body::-webkit-scrollbar-track{background:#87ceeb1a;border-radius:10px}.teacher-form-modal .modal-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,gold,orange);border-radius:10px;border:2px solid white}.teacher-form-modal .modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,orange,#ff8c00)}.teacher-form-modal .class-form{padding:0;gap:1.25rem}.teacher-form-modal .form-section{margin-bottom:1.75rem;padding-bottom:1.25rem}.teacher-form-modal .form-row{gap:1.25rem}.teacher-form-modal .form-group{gap:.5rem}.teacher-form-modal .form-group label{font-size:.9rem;font-weight:600}.teacher-form-modal .form-group input,.teacher-form-modal .form-group select{padding:.75rem .875rem;font-size:.95rem}.teacher-form-modal .form-actions{margin-top:1.5rem;padding-top:1rem}.teacher-form-modal .form-section-title{font-size:1rem;margin-bottom:.875rem}@media(max-width:1024px){.modal-container.teacher-form-modal{max-width:95vw;max-height:90vh}.teacher-form-modal .modal-body{padding:1.5rem;max-height:calc(90vh - 130px)}}@media(max-width:768px){.modal-container.teacher-form-modal{max-width:100vw;max-height:100vh;border-radius:0;width:100vw}.teacher-form-modal .modal-body{padding:1.25rem;max-height:calc(100vh - 130px)}.teacher-form-modal .form-row{grid-template-columns:1fr}.teacher-form-modal .form-section{margin-bottom:1.5rem}}.course-assignment-toggle-section{background:linear-gradient(135deg,#ffd70014,#ffa5000d);border:1.5px solid rgba(255,215,0,.2);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.course-assignment-toggle-section:hover{border-color:#ffd7004d;box-shadow:0 4px 20px #ffd7001a}.course-assignment-toggle-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.toggle-info{flex:1}.toggle-info .form-section-title{margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.toggle-description{font-size:.85rem;color:#000080b3;margin:0;line-height:1.4}.course-assignment-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,navy,#1a237e);color:gold;border:1px solid rgba(255,215,0,.3);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;white-space:nowrap;box-shadow:0 2px 8px #00008033}.course-assignment-toggle-btn:hover:not(:disabled){background:linear-gradient(135deg,#1a237e,#283593);border-color:gold;transform:translateY(-1px);box-shadow:0 4px 15px #ffd7004d}.course-assignment-toggle-btn:active:not(:disabled){transform:translateY(0)}.course-assignment-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.course-assignment-toggle-btn.active{background:linear-gradient(135deg,#ffa500e6,#ff8c00e6);color:navy;border-color:navy}.course-assignment-toggle-btn.active:hover:not(:disabled){background:linear-gradient(135deg,#ff8c00,#ff6400)}.toggle-icon{font-size:1.1rem;font-weight:700;line-height:1}@media(max-width:768px){.course-assignment-toggle-header{flex-direction:column;align-items:flex-start}.course-assignment-toggle-btn{width:100%;justify-content:center}.toggle-description{font-size:.8rem}}.assign-class-modal{max-width:750px;max-height:92vh;display:flex;flex-direction:column}.assign-class-modal .modal-body{overflow-y:auto;overflow-x:hidden;padding:1.75rem;max-height:calc(92vh - 140px)}.assign-class-modal .modal-body::-webkit-scrollbar{width:10px}.assign-class-modal .modal-body::-webkit-scrollbar-track{background:#87ceeb1a;border-radius:10px}.assign-class-modal .modal-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,gold,orange);border-radius:10px;border:2px solid white}.assign-class-modal .modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,orange,#ff8c00)}.teacher-info-display{background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border:2px solid rgba(255,215,0,.3);border-radius:15px;padding:1rem 1.5rem;margin-bottom:1.5rem}.teacher-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(135,206,235,.15)}.teacher-info-row:last-child{border-bottom:none}.teacher-info-row .info-label{color:navy;font-size:.85rem;font-weight:600;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.teacher-info-row .info-value{color:orange;font-size:1rem;font-weight:700}.input-hint{display:block;color:navy;font-size:.8rem;opacity:.7;font-style:italic;margin-top:.35rem}.summary-section{background:linear-gradient(135deg,#4ecdc414,#44a08d14);border:2px solid rgba(78,205,196,.3);border-radius:15px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.summary-section .form-section-title{color:#44a08d;border-bottom-color:#4ecdc44d}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff;border-radius:10px;border:1px solid rgba(78,205,196,.2)}.summary-label{color:navy;font-size:.85rem;font-weight:600;opacity:.8}.summary-value{color:#4ecdc4;font-size:.95rem;font-weight:700}.summary-duration{text-align:center;padding:.75rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border-radius:10px;font-size:.9rem;font-weight:600}.assign-class-btn{padding:.4rem .875rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:15px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:Poppins,sans-serif;box-shadow:0 2px 8px #4ecdc44d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;display:inline-flex;align-items:center;gap:.35rem}.assign-class-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4ecdc466;background:linear-gradient(135deg,#44a08d,#3a8f7a)}.assign-class-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.section-description{color:navy;font-size:.85rem;opacity:.7;margin-bottom:1rem;font-family:Poppins,sans-serif}.weekly-schedules-list{display:flex;flex-direction:column;gap:1rem}.weekly-schedules-list .schedule-item{background:linear-gradient(135deg,#fffc,#f8f9facc);border:2px solid rgba(135,206,235,.3);border-radius:12px;padding:1rem 1.25rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.weekly-schedules-list .schedule-item:hover{border-color:gold;box-shadow:0 4px 12px #ffd70033}.schedule-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:.75rem;align-items:end}.schedule-row .form-group{margin-bottom:0}.schedule-row .form-group label{font-size:.8rem;margin-bottom:.35rem}.schedule-actions{display:flex;align-items:center;justify-content:center}.btn-remove-schedule{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:8px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;line-height:1}.btn-remove-schedule:hover:not(:disabled){transform:scale(1.1) rotate(90deg);box-shadow:0 4px 12px #ff6b6b66}.btn-add-schedule{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 4px 15px #4ecdc44d;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-add-schedule:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.btn-add-schedule:disabled{opacity:.6;cursor:not-allowed}.schedule-preview{margin-top:.75rem;padding:.5rem .75rem;background:linear-gradient(135deg,#4ecdc41a,#44a08d1a);border-radius:8px;font-size:.85rem;font-weight:600;color:navy;font-family:Poppins,sans-serif}.schedule-preview small{opacity:.7;font-weight:500}.summary-schedules{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(78,205,196,.2)}.summary-schedules .summary-label{font-size:.85rem;margin-bottom:.5rem}.summary-schedule-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#fff;border-radius:6px;font-size:.85rem;color:navy;font-weight:600;margin-bottom:.35rem}.summary-schedule-item small{color:#4ecdc4;font-weight:700}@media(max-width:768px){.assign-class-modal{max-width:100vw;max-height:100vh;border-radius:0;width:100vw}.assign-class-modal .modal-body{padding:1.25rem;max-height:calc(100vh - 130px)}.assign-class-modal .form-row,.summary-grid{grid-template-columns:1fr}.teacher-info-display{padding:.75rem 1rem}.teacher-info-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.available-sessions-list{display:flex;flex-direction:column;gap:1.5rem}.day-group{display:flex;flex-direction:column;gap:.75rem}.day-group-title{color:navy;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;padding-bottom:.5rem;border-bottom:2px solid rgba(255,215,0,.3)}.session-card{position:relative;display:block;cursor:pointer;padding:1rem;background:#fff;border:2px solid rgba(135,206,235,.3);border-radius:12px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.session-card:hover{border-color:#4ecdc4;box-shadow:0 4px 12px #4ecdc433;transform:translateY(-2px)}.session-card.selected{border-color:#4ecdc4;background:linear-gradient(135deg,#4ecdc41a,#44a08d1a);box-shadow:0 4px 12px #4ecdc44d}.session-card-content{display:flex;flex-direction:column;gap:.5rem}.session-course{color:navy;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif}.session-details{display:flex;gap:.75rem;flex-wrap:wrap}.session-date{color:#4ecdc4;font-size:.875rem;font-weight:600;font-family:Poppins,sans-serif}.session-time{color:navy;opacity:.8;font-size:.875rem;font-weight:500;font-family:Poppins,sans-serif}.session-teacher{color:navy;opacity:.7;font-size:.85rem;font-family:Poppins,sans-serif}.session-capacity{color:orange;font-size:.8rem;font-family:Poppins,sans-serif}.session-day{color:#4ecdc4;font-size:.875rem;font-weight:600;font-family:Poppins,sans-serif}.session-duration{color:navy;opacity:.8;font-size:.875rem;font-weight:500;font-family:Poppins,sans-serif}.session-fee{color:#87af4e;font-size:.85rem;font-weight:600;font-family:Poppins,sans-serif}.schedule-form-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1rem}.schedule-form-group{flex:1;min-width:140px}.schedule-form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:navy;font-size:.875rem;font-family:Poppins,sans-serif}.schedule-form-group select{width:100%;padding:.625rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;font-family:Poppins,sans-serif;transition:border-color .2s}.schedule-form-group select:focus{outline:none;border-color:#87ceeb}.schedule-form-group select.error{border-color:#dc3545}.schedule-form-action{flex:0 0 auto}.schedule-form-action label{visibility:hidden}.btn-add-schedule{width:100%;padding:.625rem 1rem;background:linear-gradient(135deg,#87ceeb,#4ecdc4);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Poppins,sans-serif}.btn-add-schedule:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4ecdc44d}.btn-add-schedule:disabled{opacity:.5;cursor:not-allowed}.schedule-duration-hint{margin-top:.75rem;padding:.75rem;border-radius:6px;font-size:.875rem;font-family:Poppins,sans-serif}.schedule-duration-hint.valid{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.schedule-duration-hint.invalid{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.schedules-list{margin-top:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:8px}.schedules-list h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:navy;font-family:Poppins,sans-serif}.schedule-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#fff;border-radius:6px;margin-bottom:.5rem;border:1px solid #e0e0e0;transition:all .2s}.schedule-item:hover{border-color:#87ceeb}.schedule-item.has-error{border-color:#dc3545;background-color:#fff5f5}.schedule-details{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.schedule-day-badge{display:inline-block;padding:.25rem .75rem;background-color:#87ceeb;color:#fff;border-radius:12px;font-size:.8rem;font-weight:600;font-family:Poppins,sans-serif}.schedule-time{color:navy;font-size:.875rem;font-weight:500;font-family:Poppins,sans-serif}.error-inline{color:#dc3545;font-size:.8rem;font-family:Poppins,sans-serif}.btn-remove-schedule{width:32px;height:32px;border:none;background-color:#dc3545;color:#fff;border-radius:50%;font-size:1.25rem;line-height:1;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-remove-schedule:hover:not(:disabled){background-color:#c82333;transform:scale(1.1)}.btn-remove-schedule:disabled{opacity:.5;cursor:not-allowed}.empty-schedules-hint{padding:1rem;text-align:center;color:#6c757d;font-size:.875rem;font-family:Poppins,sans-serif;background-color:#f8f9fa;border-radius:6px;border:1px dashed #dee2e6}.nodata-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;min-height:300px}.nodata-illustration-table,.nodata-illustration-search,.nodata-illustration-list,.nodata-illustration-modal{position:relative;margin-bottom:1.5rem}.nodata-emoji{font-size:4rem;line-height:1;margin-bottom:1rem;display:block;animation:nodata-float 3s ease-in-out infinite}@keyframes nodata-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.nodata-table-empty{position:relative;background:linear-gradient(135deg,#87ceeb1a,#ffd7000d);border-radius:12px;padding:1rem;border:2px dashed rgba(135,206,235,.3)}.nodata-table-header{display:flex;gap:.5rem;margin-bottom:.75rem}.nodata-table-body{display:flex;justify-content:center}.nodata-table-row{display:flex;gap:.5rem}.nodata-cell{width:50px;height:8px;background:linear-gradient(90deg,#87ceeb,#4ecdc4);border-radius:4px}.nodata-cell-dashed{width:50px;height:8px;border:1px dashed rgba(135,206,235,.4);border-radius:4px}.nodata-illustration-search .nodata-emoji{font-size:3rem;margin-bottom:.5rem}.nodata-dots{display:flex;justify-content:center;gap:.5rem}.nodata-dots span{width:8px;height:8px;background:#87ceeb4d;border-radius:50%;animation:nodata-pulse 1.5s ease-in-out infinite}.nodata-dots span:nth-child(2){animation-delay:.3s}.nodata-dots span:nth-child(3){animation-delay:.6s}@keyframes nodata-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.nodata-empty-list{background:linear-gradient(135deg,#ffffff80,#f8f9fa80);border-radius:8px;padding:1rem;margin-top:.5rem;border:1px solid rgba(135,206,235,.2)}.nodata-line{height:8px;background:linear-gradient(90deg,#87ceeb66,#87ceeb1a);border-radius:4px;margin-bottom:.5rem;width:100%}.nodata-line.short{width:60%}.nodata-folder-empty{position:relative}.nodata-folder{width:80px;height:60px;background:linear-gradient(135deg,gold,orange);border-radius:4px 8px 8px 4px;margin:0 auto;position:relative;box-shadow:0 4px 12px #ffa5004d}.nodata-folder:before{content:"";position:absolute;top:-8px;left:0;width:30px;height:12px;background:linear-gradient(135deg,orange,gold);border-radius:4px 4px 0 0}.nodata-sparkles{display:flex;justify-content:space-around;margin-top:.5rem}.nodata-sparkles span{font-size:.875rem;animation:nodata-sparkle 2s ease-in-out infinite}.nodata-sparkles span:nth-child(2){animation-delay:.5s}.nodata-sparkles span:nth-child(3){animation-delay:1s}@keyframes nodata-sparkle{0%,to{opacity:.3;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.nodata-title{font-size:1.25rem;font-weight:600;color:navy;margin:0 0 .75rem;font-family:Poppins,sans-serif}.nodata-message{font-size:.95rem;color:#6c757d;margin:0 0 1.5rem;max-width:400px;line-height:1.5;font-family:Poppins,sans-serif}.nodata-action{margin-top:1rem}.nodata-container.table{background:linear-gradient(135deg,#f8f9fa80,#ffffff80);border-radius:12px;border:1px dashed rgba(135,206,235,.3)}.nodata-container.modal{min-height:200px;padding:2rem}.nodata-container.list{min-height:150px;padding:2rem}.nodata-container.search,.nodata-container.nodata-compact{min-height:150px;padding:1.5rem}.nodata-container.nodata-compact .nodata-emoji{font-size:2.5rem}.nodata-container.nodata-compact .nodata-title{font-size:1rem}.nodata-container.nodata-compact .nodata-message{font-size:.875rem}.empty-hint{color:navy;opacity:.6;font-size:.875rem;margin-top:.5rem}.status-indicator{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:Poppins,sans-serif}.status-indicator.status-scheduled{background:linear-gradient(135deg,gold,orange);color:navy}.status-indicator.status-ongoing{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.status-indicator.status-completed{background:linear-gradient(135deg,#96ceb4,#4ecdc4);color:navy}.status-indicator.status-cancelled{background:#ff6b6b33;color:#ff6b6b;border:1px solid #FF6B6B}.checkin-btn.status-available{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;box-shadow:0 4px 15px #4ecdc44d}.checkin-btn.status-available:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.checkin-btn.status-locked{background:linear-gradient(135deg,#d3d3d3,#b0b0b0);color:#666;cursor:not-allowed}.checkin-btn.status-ongoing{background:linear-gradient(135deg,#87ceeb,#45b7d1);color:navy;box-shadow:0 4px 15px #87ceeb4d}.checkin-btn.status-ongoing:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #87ceeb66}.checkin-btn.status-completed{background:linear-gradient(135deg,#96ceb4,#4ecdc4);color:navy;cursor:default}.checkin-btn.status-cancelled{background:#ff6b6b33;color:#ff6b6b;border:1px solid #FF6B6B;cursor:default}.schedule-cards-container{padding:1rem}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.schedule-header h3{margin:0;color:navy;font-size:1.5rem;font-weight:600}.refresh-btn{padding:.625rem 1.5rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-weight:600;font-size:.875rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 2px 8px #ffa5004d}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ffa50066}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding:.5rem}.schedule-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;display:flex;flex-direction:column}.schedule-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.card-date-header{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#87ceeb,#b8e6f5)}.card-date-header.time-morning{background:linear-gradient(135deg,gold,orange)}.card-date-header.time-afternoon{background:linear-gradient(135deg,#87ceeb,#6bb3d9)}.card-date-header.time-evening{background:linear-gradient(135deg,#9370db,#8a2be2)}.date-info{display:flex;align-items:center;gap:.5rem}.date-icon{font-size:1.25rem}.date-text{font-size:.95rem;font-weight:600;color:navy;font-family:Poppins,sans-serif}.status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:Poppins,sans-serif}.status-badge.status-scheduled{background:#87ceeb4d;color:navy}.status-badge.status-ongoing{background:#87ceeb80;color:navy;animation:pulse 2s infinite}.status-badge.status-completed{background:#96ceb480;color:navy}.status-badge.status-cancelled{background:#ff6b6b4d;color:#ff6b6b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.card-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;flex:1}.card-info-row{display:flex;align-items:center;gap:.75rem}.info-icon{font-size:1.25rem;width:24px;text-align:center}.info-text{font-size:.95rem;color:#333;font-family:Poppins,sans-serif;font-weight:500}.student-name{color:navy;font-weight:600}.course-name{color:#666;font-style:italic}.card-footer{padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #e9ecef}.checkin-btn{width:100%;padding:.875rem 1rem;border:none;border-radius:10px;font-family:Poppins,sans-serif;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-text{flex:1;text-align:center}.checkin-btn.btn-checkin{background:linear-gradient(135deg,#87af4e,#6b9b3d);color:#fff;box-shadow:0 4px 12px #87af4e4d}.checkin-btn.btn-checkin:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #87af4e66}.checkin-btn.btn-locked{background:linear-gradient(135deg,#ccc,#999);color:#666;cursor:not-allowed}.checkin-btn.btn-ongoing{background:linear-gradient(135deg,#87ceeb,#6bb3d9);color:navy;box-shadow:0 4px 12px #87ceeb4d}.checkin-btn.btn-ongoing:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #87ceeb66}.checkin-btn.btn-completed{background:linear-gradient(135deg,#96ceb4,#4ecdc4);color:navy;cursor:default}.checkin-btn.btn-cancelled{background:#ff6b6b33;color:#ff6b6b;border:1px solid #FF6B6B;cursor:default}.checkin-btn:disabled{opacity:.7;cursor:not-allowed}.empty-state{text-align:center;padding:3rem 2rem;color:#999;font-family:Poppins,sans-serif}.empty-state p{margin:.5rem 0;font-size:1rem}@media(max-width:768px){.cards-grid{grid-template-columns:1fr;gap:1rem}.schedule-header{flex-direction:column;gap:1rem;align-items:stretch}.refresh-btn{width:100%}}.all-schedules-container{padding:1rem;margin-top:2rem}.all-schedules-header{padding:1rem 1.5rem;background:#fff;border-radius:12px 12px 0 0;border-bottom:2px solid #FFD700}.all-schedules-header h3{margin:0;color:navy;font-size:1.5rem;font-weight:600;font-family:Poppins,sans-serif}.all-schedules-header .subtitle{margin:.5rem 0 0;color:#666;font-size:.9rem;font-family:Poppins,sans-serif}.tab-navigation{display:flex;gap:.5rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e9ecef}.tab-button{padding:.625rem 1.25rem;background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#666;font-family:Poppins,sans-serif;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;min-width:50px}.tab-button:hover{border-color:gold;color:navy}.tab-button.active{background:linear-gradient(135deg,navy,#000060);border-color:navy;color:gold}.table-wrapper{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.schedules-table{width:100%;border-collapse:collapse;font-family:Poppins,sans-serif}.schedules-table thead{background:linear-gradient(135deg,navy,#000060)}.schedules-table th{padding:1rem;text-align:left;font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;color:gold!important}.schedules-table tbody tr{border-bottom:1px solid #e9ecef;transition:transform .2s ease,background-color .2s ease,color .2s ease}.schedules-table tbody tr:hover{background:#87ceeb0d}.schedules-table td{padding:1rem;font-size:.95rem}.student-name-cell{color:navy;font-weight:600;display:block}.course-name-cell{color:#333;font-style:italic;display:block}.date-cell{color:#555;display:block}.time-cell{color:#555;font-weight:500;display:block}.status-indicator{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-indicator.status-scheduled{background:#87ceeb4d;color:navy}.status-indicator.status-ongoing{background:#87ceeb80;color:navy;animation:pulse 2s infinite}.status-indicator.status-completed{background:#96ceb480;color:navy}.status-indicator.status-cancelled{background:#ff6b6b4d;color:#ff6b6b}.tab-info{padding:1rem;background:#fff;border-radius:0 0 12px 12px;color:#666;font-family:Poppins,sans-serif;font-size:.875rem;text-align:center}@media(max-width:768px){.schedules-table{font-size:.85rem}.schedules-table th,.schedules-table td{padding:.75rem .5rem}.all-schedules-header h3{font-size:1.25rem}.tab-navigation{flex-wrap:wrap}.tab-button{padding:.5rem 1rem;font-size:.85rem}}.checkin-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}@keyframes fadeInCheckin{0%{opacity:0}to{opacity:1}}.modal-content.checkin-modal{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #FFD700;background:linear-gradient(135deg,navy,#000060);border-radius:16px 16px 0 0}.modal-header h2{margin:0;color:gold;font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:600}.close-button{background:none;border:none;color:gold;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.close-button:hover{background:#ffd70033;transform:rotate(90deg)}.session-info{padding:1.5rem 2rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.session-info p{margin:.5rem 0;color:#333;font-family:Poppins,sans-serif}.checkin-step{padding:2rem;text-align:center}.step-number{display:inline-block;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;margin-bottom:1rem;font-family:Poppins,sans-serif}.checkin-step h3{color:navy;font-family:Poppins,sans-serif;margin-bottom:.5rem}.checkin-step p{color:#666;font-family:Poppins,sans-serif;margin-bottom:1.5rem}.generate-code-btn{padding:1rem 2rem;background:linear-gradient(135deg,#87af4e,#6b9b3d);color:#fff;border:none;border-radius:12px;font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 4px 12px #87af4e4d}.generate-code-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #87af4e66}.generate-code-btn:disabled{opacity:.6;cursor:not-allowed}.code-display{display:flex;flex-direction:column;gap:1rem;align-items:center}.code-box{background:linear-gradient(135deg,navy,#000060);color:gold;padding:1.5rem 2rem;border-radius:12px;font-size:2rem;font-weight:700;letter-spacing:.25rem;font-family:Courier New,monospace;border:3px solid #FFD700;min-width:200px}.copy-btn{padding:.75rem 1.5rem;background:#f8f9fa;color:navy;border:2px solid #000080;border-radius:8px;font-family:Poppins,sans-serif;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.copy-btn:hover{background:navy;color:#fff}.next-step-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,navy,#000060);color:gold;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.next-step-btn:hover{transform:translate(5px);box-shadow:0 4px 12px #0000804d}.camera-section{display:flex;flex-direction:column;gap:1rem;align-items:center}.video-wrapper{width:100%;display:flex;justify-content:center;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px #00008026}.camera-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:480px}.action-divider{display:flex;align-items:center;width:100%;color:navy;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:500;opacity:.7}.action-divider:before,.action-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,128,.2),transparent)}.action-divider span{padding:0 1rem}.upload-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 2rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:12px;font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 4px 12px #ffa5004d}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffa50066;background:linear-gradient(135deg,#ff8c00,#ff7f00)}.upload-btn .btn-icon{font-size:1.25rem}.capture-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#87ceeb,#6bb3d9);color:navy;border:none;border-radius:12px;font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 4px 12px #87ceeb4d}.capture-btn .btn-icon{font-size:1.25rem}.upload-info{text-align:center;color:#666;font-family:Poppins,sans-serif;font-size:.8rem}.upload-info p{margin:0}.upload-error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border-radius:10px;font-size:.9rem;font-weight:500;font-family:Poppins,sans-serif;animation:shake .5s ease}.upload-error-message .error-icon{font-size:1.25rem}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.photo-actions{display:flex;gap:1rem;width:100%;max-width:480px}.photo-actions .btn-icon{font-size:1.1rem}.capture-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #87ceeb66}.photo-preview{display:flex;flex-direction:column;gap:1rem;align-items:center}.retake-btn{padding:.75rem 1.5rem;background:#f8f9fa;color:#666;border:2px solid #ddd;border-radius:8px;font-family:Poppins,sans-serif;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.retake-btn:hover{background:#ddd}.completion-summary{background:#f8f9fa;border-radius:12px;padding:1.5rem;margin:1.5rem 0;text-align:left}.summary-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e9ecef}.summary-item:last-child{border-bottom:none}.summary-item .label{font-weight:600;color:navy;font-family:Poppins,sans-serif}.summary-item .value{color:#333;font-family:Poppins,sans-serif}.value-with-copy{display:flex;align-items:center;gap:.75rem}.code-value{font-family:Courier New,monospace;font-weight:700;font-size:1rem;color:navy;letter-spacing:1px}.copy-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#0000800d;border:1px solid rgba(0,0,128,.15);border-radius:8px;font-size:.9rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;flex-shrink:0}.copy-icon-btn:hover{background:#0000801a;border-color:#0000804d;transform:scale(1.05)}.copy-icon-btn.copied{background:linear-gradient(135deg,#87af4e,#6b9b3d);border-color:#6b9b3d;color:#fff}.copy-feedback{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#87af4e,#6b9b3d);color:#fff;border-radius:10px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;margin:1rem 0;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.copy-btn.copied{background:linear-gradient(135deg,#87af4e,#6b9b3d);color:#fff}.complete-btn{padding:1rem 2rem;background:linear-gradient(135deg,#87af4e,#6b9b3d);color:#fff;border:none;border-radius:12px;font-family:Poppins,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 4px 12px #87af4e4d;width:100%}.complete-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #87af4e66}.progress-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 2rem;border-top:1px solid #e9ecef}.progress-dot{width:12px;height:12px;border-radius:50%;background:#e9ecef;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.progress-dot.active{background:gold;box-shadow:0 0 10px #ffd70080}.progress-line{width:40px;height:2px;background:#e9ecef;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.progress-line.active{background:gold}@media(max-width:768px){.modal-content.checkin-modal{width:95%;margin:1rem}.modal-header h2{font-size:1.25rem}.checkin-step{padding:1.5rem 1rem}.code-box{font-size:1.5rem;padding:1rem 1.5rem;min-width:150px}.photo-actions{flex-direction:column;width:100%}.photo-actions button{width:100%}}.teacher-info-section{padding:0;margin-bottom:1.5rem}.teacher-info-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea40}.teacher-avatar{width:50px;height:50px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-initial{font-size:1.5rem;font-weight:700;color:#fff}.teacher-details{flex:1}.teacher-name{margin:0;font-size:1.125rem;font-weight:600;color:#fff}.teacher-email{margin:.25rem 0 0;font-size:.875rem;color:#ffffffd9}.form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.form-section-header .form-section-title{margin-bottom:0}.section-badge{padding:.25rem .75rem;background:#e9ecef;color:#495057;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.schedule-adder{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.schedule-field{flex:1}.schedule-field select{width:100%;padding:.625rem .875rem;border:1px solid #dee2e6;border-radius:8px;font-size:.875rem;background:#fff;transition:transform .2s ease,background-color .2s ease,color .2s ease}.schedule-field select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.schedule-field select.error{border-color:#dc3545}.btn-add-schedule-inline{width:42px;height:42px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-add-schedule-inline:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.btn-add-schedule-inline:disabled{opacity:.5;cursor:not-allowed}.schedule-errors-inline{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.error-text-inline{padding:.375rem .75rem;background:#fee;color:#c33;border-radius:6px;font-size:.8rem}.schedule-duration-hint{padding:.5rem .875rem;border-radius:6px;font-size:.875rem;font-weight:500;text-align:center;margin-bottom:1rem}.schedule-duration-hint.valid{background:#d4edda;color:#155724}.schedule-duration-hint.invalid{background:#f8d7da;color:#721c24}.schedules-list{display:flex;flex-direction:column;gap:.5rem}.schedule-chip{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;transition:transform .2s ease,background-color .2s ease,color .2s ease}.schedule-chip:hover{background:#fff;box-shadow:0 2px 8px #00000014}.schedule-chip-day{padding:.25rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.schedule-chip-time{flex:1;font-weight:500;color:#495057}.schedule-chip-duration{padding:.25rem .625rem;background:#e9ecef;color:#6c757d;border-radius:6px;font-size:.75rem;font-weight:600}.schedule-chip-error{color:#dc3545;font-size:.8rem}.schedule-chip-remove{width:28px;height:28px;border:none;background:#fee;color:#c33;border-radius:6px;font-size:1.25rem;line-height:1;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center}.schedule-chip-remove:hover:not(:disabled){background:#dc3545;color:#fff}.summary-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.summary-card{padding:1rem;background:#f8f9fa;border-radius:10px;text-align:center;transition:transform .2s ease,background-color .2s ease,color .2s ease}.summary-card:hover{background:#fff;box-shadow:0 2px 8px #00000014;transform:translateY(-2px)}.summary-card-label{display:block;font-size:.75rem;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.375rem}.summary-card-value{display:block;font-size:1rem;font-weight:600;color:#212529}@media(max-width:768px){.schedule-adder{flex-wrap:wrap}.schedule-adder>*{flex:1 1 45%}.btn-add-schedule-inline{flex:1 1 100%}.summary-cards{grid-template-columns:1fr}}.student-checkin-modal{max-width:550px}.code-input-section{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.code-input-field{width:100%;padding:1rem 1.25rem;font-size:1.5rem;font-weight:600;font-family:Poppins,sans-serif;text-align:center;letter-spacing:.25rem;text-transform:uppercase;border:3px solid rgba(135,206,235,.3);border-radius:12px;background:linear-gradient(135deg,#ffd7000d,#87ceeb0d);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.code-input-field:focus{outline:none;border-color:gold;box-shadow:0 0 0 4px #ffd70026;background:#fff}.code-input-field::placeholder{text-transform:none;letter-spacing:normal;font-weight:400;font-size:1rem;color:#00008066}.code-input-field:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.7}.validation-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#ff6b6b,#ff8e53);color:#fff;border-radius:10px;font-size:.9rem;font-weight:500;animation:shake .5s ease}.error-icon{font-size:1.25rem}.validate-code-btn{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 4px 15px #ffa5004d}.validate-code-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffa50066;background:linear-gradient(135deg,#ff8c00,#ff7f00)}.validate-code-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.help-text{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#ffd7001a,#87ceeb1a);border-radius:10px;border-left:3px solid #FFD700;font-size:.85rem;color:navy;line-height:1.5}.help-icon{font-size:1.1rem;flex-shrink:0}.teacher-name{font-weight:500;color:navy}@media(max-width:600px){.student-checkin-modal{max-width:95vw;margin:1rem}.code-input-field{font-size:1.25rem;padding:.875rem 1rem}.help-text{font-size:.8rem}}.tabs-container{width:100%;margin-bottom:2rem}.tabs-nav{position:relative;background:#fff;border-radius:16px;padding:.5rem;box-shadow:0 4px 20px #00008014;margin-bottom:2rem;overflow:hidden}.tabs-list{display:flex;gap:.5rem;position:relative;z-index:1}.tabs-indicator{position:absolute;top:.5rem;bottom:.5rem;background:linear-gradient(135deg,navy,#1a237e);border-radius:12px;transition:transform .35s cubic-bezier(.4,0,.2,1),background-color .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #00008040;z-index:0}.tab-button{position:relative;display:flex;align-items:center;gap:.625rem;padding:.875rem 1.5rem;background:transparent;border:none;border-radius:12px;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;color:navy;cursor:pointer;transition:transform .25s ease,background-color .25s ease,color .25s ease;white-space:nowrap;z-index:1;flex:1;justify-content:center}.tab-button:hover:not(.disabled):not(.active){background:#0000800d;color:navy}.tab-button.active{color:gold;font-weight:600}.tab-button.active .tab-icon{transform:scale(1.1)}.tab-button.disabled{opacity:.5;cursor:not-allowed}.tab-button:focus-visible{outline:2px solid #FFA500;outline-offset:2px}.tab-icon{font-size:1.25rem;transition:transform .25s ease;line-height:1}.tab-label{line-height:1}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border-radius:12px;font-size:.75rem;font-weight:700;line-height:1}.tab-button.active .tab-badge{background:linear-gradient(135deg,gold,orange);color:navy}.tabs-content{animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tabs-sm .tabs-nav{padding:.375rem}.tabs-sm .tab-button{padding:.625rem 1rem;font-size:.85rem;gap:.5rem}.tabs-sm .tab-icon{font-size:1rem}.tabs-sm .tabs-indicator{top:.375rem;bottom:.375rem}.tabs-lg .tabs-nav{padding:.625rem}.tabs-lg .tab-button{padding:1rem 2rem;font-size:1.05rem;gap:.75rem}.tabs-lg .tab-icon{font-size:1.4rem}.tabs-lg .tabs-indicator{top:.625rem;bottom:.625rem}.tabs-underline .tabs-nav{background:transparent;box-shadow:none;padding:0;border-bottom:2px solid rgba(0,0,128,.1)}.tabs-underline .tabs-list{gap:1rem}.tabs-underline .tab-button{border-radius:8px 8px 0 0;padding:.875rem 1.5rem;border-bottom:3px solid transparent;margin-bottom:-2px}.tabs-underline .tab-button.active{background:linear-gradient(180deg,rgba(0,0,128,.05) 0%,transparent 100%);border-bottom-color:navy;color:navy}.tabs-underline .tabs-indicator{display:none}.tabs-pill .tabs-nav{background:linear-gradient(135deg,#0000800d,#87ceeb0d);border:1px solid rgba(0,0,128,.1)}.tabs-pill .tabs-indicator{background:linear-gradient(135deg,orange,#ff8c00)}.tabs-pill .tab-button.active{color:#fff}@media(max-width:768px){.tabs-nav{padding:.375rem}.tabs-list{gap:.375rem}.tab-button{padding:.75rem 1rem;font-size:.85rem;gap:.5rem}.tab-icon{font-size:1rem}.tab-label{display:none}.tab-button .tab-icon{display:block}.tabs-lg .tab-button{padding:.75rem 1rem}.tabs-indicator{top:.375rem;bottom:.375rem}}@media(max-width:480px){.tabs-container{margin-bottom:1.5rem}.tabs-nav{padding:.25rem}.tab-button{padding:.625rem .875rem}.tab-badge{min-width:20px;height:20px;font-size:.7rem;padding:0 .375rem}}@media(prefers-reduced-motion:reduce){.tabs-indicator,.tab-button{transition:none}.tabs-content{animation:none}}.invoice-pdf-modal .modal-container{max-width:900px;max-height:95vh;overflow-y:auto}.invoice-actions{display:flex;gap:1rem;margin-bottom:1.5rem;justify-content:flex-end}.btn-download-pdf,.btn-print{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:10px;font-family:Poppins,sans-serif;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.btn-download-pdf{background:linear-gradient(135deg,navy,#1a237e);color:gold;box-shadow:0 4px 12px #0000804d}.btn-download-pdf:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00008066;background:linear-gradient(135deg,#1a237e,#283593)}.btn-print{background:linear-gradient(135deg,orange,#ff8c00);color:#fff;box-shadow:0 4px 12px #ffa5004d}.btn-print:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffa50066;background:linear-gradient(135deg,#ff8c00,#ff7f00)}.invoice-preview{background:#f5f5f5;border-radius:12px;padding:2rem;overflow-x:auto}.invoice-document{background:#fff;max-width:210mm;margin:0 auto;padding:40px;box-shadow:0 4px 20px #0000001a;font-family:Poppins,Arial,sans-serif}.invoice-document .invoice-header{display:flex;justify-content:space-between;margin-bottom:40px;padding-bottom:20px;border-bottom:3px solid #000080}.invoice-document .company-logo h1{color:navy;font-size:28px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}.invoice-document .logo-star{font-size:28px}.invoice-document .company-logo p{color:#666;font-size:14px;margin:4px 0}.invoice-document .invoice-details{text-align:right}.invoice-document .invoice-details h2{color:navy;font-size:26px;font-weight:700;margin-bottom:12px}.invoice-document .invoice-details p{color:#555;margin:6px 0;font-size:14px}.invoice-document .invoice-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}.invoice-document .bill-to,.invoice-document .invoice-info{background:linear-gradient(135deg,#00008008,#87ceeb08);padding:24px;border-radius:12px;border-left:4px solid #000080}.invoice-document .bill-to h3,.invoice-document .invoice-info h3{color:navy;margin-bottom:16px;font-size:16px;font-weight:600}.invoice-document .bill-to p,.invoice-document .invoice-info p{margin:10px 0;font-size:14px;color:#333}.invoice-document .bill-to strong{color:navy;font-size:16px}.invoice-document .invoice-table{width:100%;border-collapse:collapse;margin-bottom:40px;font-size:13px}.invoice-document .invoice-table thead{background:linear-gradient(135deg,navy,#1a237e)}.invoice-document .invoice-table th{color:gold;padding:14px 12px;text-align:left;font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.invoice-document .invoice-table td{padding:12px;border-bottom:1px solid #e9ecef;color:#333}.invoice-document .invoice-table tbody tr:nth-child(2n){background:#f8f9fa}.invoice-document .invoice-table tbody tr:hover{background:#ffd7000d}.invoice-document .amount-cell{text-align:right;font-weight:700;color:navy;font-size:14px}.invoice-document .overtime-badge{display:inline-block;padding:3px 10px;background:linear-gradient(135deg,orange,#ff8c00);color:#fff;border-radius:12px;font-size:11px;font-weight:600}.invoice-document .summary-section{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}.invoice-document .summary-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:24px;border-radius:12px;border:1px solid rgba(0,0,128,.1)}.invoice-document .summary-card h4{color:navy;margin-bottom:20px;font-size:16px;font-weight:600}.invoice-document .summary-row{display:flex;justify-content:space-between;margin:12px 0;font-size:14px;color:#555}.invoice-document .summary-row strong{color:navy}.invoice-document .summary-row.total{border-top:2px solid #000080;padding-top:16px;margin-top:16px;font-weight:700;font-size:16px;color:navy}.invoice-document .overtime-text{color:orange}.invoice-document .footer{border-top:3px solid #000080;padding-top:24px;margin-top:40px;text-align:center}.invoice-document .footer p{color:#666;font-size:12px;margin:6px 0}.invoice-document .footer p strong{color:navy}@media(max-width:768px){.invoice-document{padding:20px}.invoice-document .invoice-header{flex-direction:column;gap:20px}.invoice-document .invoice-details{text-align:left}.invoice-document .invoice-grid,.invoice-document .summary-section{grid-template-columns:1fr}.invoice-actions{flex-direction:column}.invoice-document .invoice-table{font-size:11px}.invoice-document .invoice-table th,.invoice-document .invoice-table td{padding:8px 6px}}@media(max-width:600px){.invoice-document .invoice-table{display:block;overflow-x:auto}.invoice-document .invoice-table thead{display:none}.invoice-document .invoice-table tbody tr{display:block;margin-bottom:15px;border:1px solid #e9ecef;border-radius:8px;padding:10px}.invoice-document .invoice-table td{display:flex;justify-content:space-between;padding:6px 0;border:none}.invoice-document .invoice-table td:before{content:attr(data-label);font-weight:600;color:navy}}.action-buttons{display:flex;gap:.5rem;align-items:center}.btn-view-details,.btn-generate-invoice{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:none;border-radius:8px;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;white-space:nowrap}.btn-view-details{background:linear-gradient(135deg,#87ceeb,#6bb3d9);color:navy}.btn-view-details:hover{transform:translateY(-1px);box-shadow:0 4px 12px #87ceeb66;background:linear-gradient(135deg,#6bb3d9,#5aa3c9)}.btn-generate-invoice{background:linear-gradient(135deg,navy,#1a237e);color:gold}.btn-generate-invoice:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00008066;background:linear-gradient(135deg,#1a237e,#283593)}@media(max-width:768px){.action-buttons{flex-direction:column;gap:.375rem;width:100%}.btn-view-details,.btn-generate-invoice{width:100%;justify-content:center;padding:.625rem 1rem;font-size:.8rem}}.existing-sessions-section{margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.existing-sessions-title{font-size:.9rem;font-weight:600;color:#495057;margin-bottom:.75rem}.existing-sessions-list{display:flex;flex-direction:column;gap:.5rem}.existing-session-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #dee2e6}.session-info{display:flex;flex-direction:column;gap:.25rem}.session-course{font-weight:500;color:#212529;font-size:.875rem}.session-time{font-size:.8rem;color:#6c757d}.session-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.session-status.scheduled{background:#fff3cd;color:#856404}.session-status.ongoing{background:#d1ecf1;color:#0c5460}.session-status.completed{background:#d4edda;color:#155724}.session-status.cancelled{background:#f8d7da;color:#721c24}.day-group{margin-bottom:2rem}.day-group-title{font-size:1.1rem;font-weight:600;color:#495057;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #FFA500}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.session-card{position:relative;display:flex;cursor:pointer;background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:1rem;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.session-card:hover{border-color:orange;transform:translateY(-2px);box-shadow:0 4px 15px #ffa50033}.session-card.selected{border-color:orange;background:linear-gradient(135deg,#fff9f0,#fff);box-shadow:0 4px 20px #ffa5004d}.session-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.session-card-content{display:flex;flex-direction:column;gap:.75rem;width:100%}.session-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.session-course{font-size:1rem;font-weight:600;color:#212529;flex:1}.selected-badge{background:linear-gradient(135deg,orange,#ff8c00);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.session-details{display:flex;flex-direction:column;gap:.5rem}.session-detail-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.detail-icon{font-size:1rem;opacity:.7}.session-day{color:#495057;font-weight:500}.session-time{color:#6c757d}.session-teacher{display:flex;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid #e9ecef}.teacher-icon{font-size:1rem}.teacher-name{font-size:.875rem;color:#495057;font-weight:500}.loading-text{color:#6c757d;font-style:italic}.schedule-cards-container{width:100%;padding:.5rem}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1rem 1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;border:1px solid #e9ecef}.schedule-header h3{margin:0;font-size:1.25rem;font-weight:600;font-family:Poppins,sans-serif;color:navy}.schedule-subtitle{margin:.15rem 0 0;font-size:.85rem;color:#6c757d;font-family:Poppins,sans-serif;font-weight:400}.refresh-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#495057;font-weight:500;font-family:Poppins,sans-serif;font-size:.85rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;box-shadow:0 1px 2px #0000000a}.refresh-btn:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd;box-shadow:0 2px 4px #00000014}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn.loading svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem 2rem;background:#fff;border-radius:12px;border:1px solid #e9ecef}.empty-state .empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.6}.empty-state h3{margin:0 0 .4rem;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;color:navy}.empty-state p{margin:0;font-size:.9rem;color:#6c757d;font-family:Poppins,sans-serif}.loading-spinner{width:36px;height:36px;border:3px solid #e9ecef;border-top-color:gold;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.loading-state p{margin:0;color:#6c757d;font-size:.95rem}.admin-loading,.admin-error,.admin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:1rem}.admin-loading .loading-spinner{width:48px;height:48px;border:4px solid #e9ecef;border-top-color:gold;border-radius:50%;animation:spin .8s linear infinite}.admin-loading p{margin:0;color:#6c757d;font-size:1rem;font-family:Poppins,sans-serif}.admin-error .error-icon{font-size:3rem;margin-bottom:.5rem}.admin-error h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;color:#dc3545}.admin-error p{margin:0;font-size:.9rem;color:#6c757d;font-family:Poppins,sans-serif}.admin-empty .empty-icon{font-size:3rem;margin-bottom:.5rem;opacity:.6}.admin-empty h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;color:navy}.admin-empty p{margin:0;font-size:.9rem;color:#6c757d;font-family:Poppins,sans-serif}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.session-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f;border:1px solid #e9ecef;transition:transform .2s ease,background-color .2s ease,color .2s ease;display:flex;flex-direction:column}.session-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;background:#f8f9fa;border-bottom:1px solid #e9ecef}.header-right{display:flex;align-items:center;gap:.5rem}.view-photo-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;padding:0}.view-photo-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:scale(1.1);box-shadow:0 4px 12px #667eea66}.view-photo-icon{font-size:.95rem;line-height:1}.date-badge{background:#fff;padding:.3rem .65rem;border-radius:6px;font-size:.75rem;font-weight:600;font-family:Poppins,sans-serif;color:#495057;border:1px solid #dee2e6}.status-badge{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:6px;font-size:.7rem;font-weight:600;font-family:Poppins,sans-serif;border:1px solid}.status-icon{font-size:.8rem;line-height:1}.status-label{text-transform:uppercase;letter-spacing:.3px;line-height:1}.card-body{padding:1rem;display:flex;flex-direction:column;gap:.65rem;flex:1}.card-row{display:flex;align-items:center;gap:.65rem}.row-icon{font-size:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:8px;flex-shrink:0}.row-content{display:flex;flex-direction:column;gap:.05rem}.row-label{font-size:.65rem;font-weight:500;font-family:Poppins,sans-serif;color:#6c757d;text-transform:uppercase;letter-spacing:.3px;line-height:1.2}.row-value{font-size:.85rem;font-weight:500;font-family:Poppins,sans-serif;color:#212529;line-height:1.3}.card-footer{padding:.85rem 1rem;background:#f8f9fa;border-top:1px solid #e9ecef}.action-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1rem;border:none;border-radius:8px;font-size:.85rem;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.action-button:disabled{cursor:not-allowed}.button-icon{font-size:.9rem;line-height:1}.button-text{font-size:.85rem;line-height:1}.btn-checkin{background:gold;color:navy}.btn-checkin:hover:not(:disabled){background:#fc0;box-shadow:0 2px 6px #ffd7004d}.btn-checkedin{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.btn-checkedin:hover:not(:disabled){background:#c8e6c9}.btn-checkedin-time{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 12px #667eea4d;animation:pulse-checkin 2s ease-in-out infinite}.btn-checkedin-time:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}@keyframes pulse-checkin{0%,to{box-shadow:0 4px 12px #667eea4d}50%{box-shadow:0 4px 20px #667eea99}}.btn-checkedout-time{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;box-shadow:0 4px 12px #11998e4d}.btn-checkedout-time:hover:not(:disabled){background:linear-gradient(135deg,#0e8278,#32d56d);transform:translateY(-1px);box-shadow:0 6px 16px #11998e66}.btn-completed{background:#e8eaf6;color:#1a237e;border:1px solid #c5cae9}.btn-ongoing{background:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.btn-ongoing:hover:not(:disabled){background:#ffe0b2}.btn-cancelled{background:#ffebee;color:#c62828;border:1px solid #ffcdd2;opacity:.7}.btn-waiting{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.all-schedules-container{width:100%;padding:.5rem}.schedules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1rem 1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;border:1px solid #e9ecef}.schedules-header h3{margin:0;font-size:1.25rem;font-weight:600;font-family:Poppins,sans-serif;color:navy}.schedules-subtitle{margin:.15rem 0 0;font-size:.85rem;color:#6c757d;font-family:Poppins,sans-serif;font-weight:400}.total-sessions-badge{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.total-number{font-size:1.35rem;font-weight:700;font-family:Poppins,sans-serif;color:gold}.total-label{font-size:.65rem;font-weight:500;font-family:Poppins,sans-serif;color:#6c757d;text-transform:uppercase;letter-spacing:.3px}.table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f;border:1px solid #e9ecef}.schedules-table{width:100%;border-collapse:collapse}.schedules-table thead{background:#f8f9fa;border-bottom:2px solid #e9ecef}.schedules-table thead th{padding:.85rem 1rem;text-align:left;font-size:.75rem;font-weight:600;font-family:Poppins,sans-serif;color:#495057;text-transform:uppercase;letter-spacing:.5px}.schedules-table tbody tr{border-bottom:1px solid #f1f3f4;transition:background .15s ease}.schedules-table tbody tr:hover{background:#f8f9fa}.schedules-table tbody td{padding:.85rem 1rem}.table-cell{display:inline-flex;align-items:center;font-size:.85rem}.cell-icon{font-size:.95rem;margin-right:.5rem;opacity:.8}.course-cell .cell-icon{margin-right:.5rem}.student-cell{display:flex;align-items:center;gap:.5rem}.student-avatar{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#e1f5fe;border-radius:50%;color:#0277bd;font-weight:600;font-size:.75rem;font-family:Poppins,sans-serif}.date-cell{font-size:.85rem;color:#495057;font-weight:500;font-family:Poppins,sans-serif}.time-cell{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#6c757d;font-weight:500;font-family:Poppins,sans-serif}.table-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border-radius:6px;font-size:.7rem;font-weight:600;font-family:Poppins,sans-serif;border:1px solid}.table-status-badge .status-icon{font-size:.75rem;line-height:1}.table-status-badge .status-label{text-transform:uppercase;letter-spacing:.3px;line-height:1}.pagination-wrapper{display:flex;justify-content:center;align-items:center;gap:.4rem;margin-top:1rem;padding:.75rem}.pagination-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .85rem;background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#495057;font-weight:500;font-family:Poppins,sans-serif;font-size:.8rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;box-shadow:0 1px 2px #0000000a}.pagination-btn:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.pagination-numbers{display:flex;gap:.3rem}.pagination-number{min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#495057;font-weight:500;font-family:Poppins,sans-serif;font-size:.8rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.pagination-number:hover{background:#f8f9fa;border-color:#adb5bd}.pagination-number.active{background:gold;border-color:gold;color:navy;font-weight:600}.table-info{text-align:center;padding:.75rem;margin-top:.25rem;font-size:.8rem;color:#6c757d;font-family:Poppins,sans-serif}.table-info strong{color:navy;font-weight:600}@media(max-width:768px){.cards-grid{grid-template-columns:1fr}.schedule-header,.schedules-header{flex-direction:column;gap:.85rem;align-items:stretch}.schedules-table{font-size:.8rem}.schedules-table thead th{padding:.65rem .5rem;font-size:.65rem}.schedules-table tbody td{padding:.65rem .5rem}.table-wrapper{overflow-x:auto}.pagination-btn{padding:.45rem .65rem;font-size:.75rem}.pagination-number{min-width:30px;height:30px;font-size:.75rem}}.coming-soon-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.coming-soon-content{text-align:center;max-width:500px;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.coming-soon-icon{font-size:5rem;margin-bottom:1.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.coming-soon-content h2{font-size:2rem;font-weight:700;color:navy;margin-bottom:.5rem;font-family:Poppins,sans-serif}.coming-soon-content>p{font-size:1.2rem;color:#6c757d;margin-bottom:2rem;font-family:Poppins,sans-serif}.coming-soon-description{font-size:1rem!important;color:#495057!important;margin-bottom:1.5rem!important}.coming-soon-features{list-style:none;padding:0;margin:0 auto 2rem;max-width:300px;text-align:left}.coming-soon-features li{padding:.75rem 0;font-size:1rem;color:#495057;font-family:Poppins,sans-serif;border-bottom:1px solid #e9ecef}.coming-soon-features li:last-child{border-bottom:none}.coming-soon-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,navy,#4169e1);color:#fff;border-radius:50px;font-weight:600;font-size:1rem;font-family:Poppins,sans-serif;box-shadow:0 4px 15px #0000804d}.pulse-dot{width:10px;height:10px;background:#0f0;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media(max-width:768px){.coming-soon-icon{font-size:4rem}.coming-soon-content h2{font-size:1.5rem}.coming-soon-content>p{font-size:1rem}}.image-viewer-overlay{position:fixed;inset:0;background:#000000f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.image-viewer-container{position:relative;width:100%;max-width:90vw;height:calc(100vh - 4rem);display:flex;flex-direction:column;background:#1a1a2e;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.image-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid rgba(255,255,255,.1)}.image-viewer-header h3{margin:0;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;color:#fff}.image-viewer-header .close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:1.5rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.image-viewer-header .close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.image-viewer-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:#0f0f1e}.viewer-image{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-viewer-controls{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.5rem;background:#1a1a2e;border-top:1px solid rgba(255,255,255,.1)}.zoom-controls{display:flex;align-items:center;justify-content:center;gap:.5rem}.zoom-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:1.2rem;font-weight:600;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease}.zoom-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:scale(1.1);box-shadow:0 4px 15px #667eea66}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-btn.reset-btn{background:linear-gradient(135deg,#11998e,#38ef7d)}.zoom-btn.reset-btn:hover:not(:disabled){background:linear-gradient(135deg,#0e8278,#32d56d);box-shadow:0 4px 15px #11998e66}.zoom-level{min-width:60px;text-align:center;font-size:.9rem;font-weight:600;font-family:Poppins,sans-serif;color:#fff;padding:0 .5rem}.shortcuts-hint{text-align:center;font-size:.7rem;font-weight:500;font-family:Poppins,sans-serif;color:#fff9}@media(max-width:768px){.image-viewer-container{height:calc(100vh - 2rem)}.image-viewer-header h3{font-size:.95rem}.zoom-btn{width:36px;height:36px;font-size:1rem}.zoom-level{font-size:.8rem;min-width:50px}.shortcuts-hint{font-size:.6rem}}.premium-session-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:24px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.premium-session-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff80,#fff0);opacity:0;transition:opacity .3s ease;pointer-events:none}.premium-session-card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000001a}.premium-session-card:hover:before{opacity:1}.premium-session-card.card-completed{background:linear-gradient(135deg,#f5f3ff,#ede9fe)}.premium-card-header{padding:24px 28px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.premium-card-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 15s infinite linear;pointer-events:none}@keyframes shimmer{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.header-content{display:flex;align-items:center;gap:16px;position:relative;z-index:1}.student-avatar,.teacher-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:3px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:0 4px 12px #00000026;text-transform:uppercase}.header-info h4.teacher-name,.header-info h4.student-name{margin:0 0 4px;font-size:18px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.header-info p.course-name{margin:0;font-size:14px;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.15)}.header-actions{display:flex;gap:8px;position:relative;z-index:1}.icon-btn{width:40px;height:40px;border-radius:12px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background-color .2s ease,color .2s ease;box-shadow:0 2px 8px #0000001a}.icon-btn:hover{background:#ffffff4d;transform:scale(1.05)}.icon-btn:active{transform:scale(.95)}.icon-btn.expanded{background:#fff6}.icon-btn.content-btn{background:#ffd70040;color:gold;animation:pulse-subtle 3s ease-in-out infinite}.icon-btn.content-btn:hover{background:#ffd70059;transform:scale(1.1);box-shadow:0 4px 15px #ffd7004d}@keyframes pulse-subtle{0%,to{box-shadow:0 2px 8px #ffd70033}50%{box-shadow:0 2px 15px #ffd70066}}.attendance-photo-btn{background:#ffffff40}.attendance-photo-btn:hover{background:#ffffff59}.timeline-section{padding:20px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid rgba(0,0,0,.06)}.timeline-info{flex:1}.timeline-time{display:flex;align-items:center;gap:10px;margin-bottom:6px}.time-icon{font-size:20px;filter:grayscale(20%)}.time-text{font-size:20px;font-weight:700;color:#1e293b;letter-spacing:.02em}.timeline-date{font-size:14px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.progress-bar{width:100%;max-width:150px;height:6px;background:linear-gradient(90deg,#e2e8f0,#f1f5f9);border-radius:3px;overflow:hidden;box-shadow:inset 0 1px 2px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb,#1d4ed8);border-radius:3px;transition:width .3s ease;box-shadow:0 0 10px #3b82f680;animation:progress-glow 2s ease-in-out infinite}@keyframes progress-glow{0%,to{box-shadow:0 0 10px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc}}.badges-row{display:flex;gap:12px;padding:16px 28px;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-icon{font-size:14px}.duration-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;font-size:13px;font-weight:600;border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px #0000000d}.expanded-content{padding:0 28px 24px;animation:expand-in .3s ease}@keyframes expand-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.times-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.time-check-in,.time-check-out{padding:16px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.time-check-in{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #10b981}.time-check-out{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #8b5cf6}.time-label{font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.time-value{font-size:16px;font-weight:700;color:#1e293b}.lesson-notes-section{background:linear-gradient(135deg,#fef9c3,#fef08a);border-radius:16px;padding:20px;border:2px solid #fbbf24;box-shadow:0 4px 12px #fbbf2426}.notes-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.notes-icon{font-size:20px}.notes-title{font-size:15px;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.05em}.notes-content{margin:0;font-size:14px;line-height:1.7;color:#78350f;white-space:pre-wrap;word-break:break-word}.attendance-photo-section{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:16px;padding:20px;border:2px solid #3b82f6;box-shadow:0 4px 12px #3b82f626;margin-bottom:20px}.attendance-photo-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.photo-icon{font-size:20px}.photo-title{font-size:15px;font-weight:700;color:#1e40af;text-transform:uppercase;letter-spacing:.05em}.attendance-photo-thumbnail{width:100%;height:250px;border-radius:12px;background-size:cover;background-position:center;background-repeat:no-repeat;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000026;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.attendance-photo-thumbnail:hover{transform:scale(1.02);box-shadow:0 8px 20px #0003}.photo-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0009,#0006);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.attendance-photo-thumbnail:hover .photo-overlay{opacity:1}.view-text{color:#fff;font-size:16px;font-weight:600;letter-spacing:.05em}.premium-card-footer{padding:20px 28px 28px;display:flex;flex-direction:column;align-items:center;gap:8px}.premium-btn{width:100%;padding:16px 24px;border-radius:16px;border:none;color:#fff;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 12px #00000026;transition:transform .2s ease,background-color .2s ease,color .2s ease;position:relative;overflow:hidden}.premium-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transition:left .5s ease}.premium-btn:hover:not(:disabled):before{left:100%}.premium-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #0003}.premium-btn:active:not(:disabled){transform:translateY(0)}.premium-btn:disabled{cursor:not-allowed;opacity:.8;box-shadow:none}.btn-icon{font-size:18px}.btn-text{font-size:16px}.btn-subtitle{font-size:13px;color:#64748b;font-weight:500;letter-spacing:.03em}.btn-checkin{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-checkin:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8)}.btn-checkedin{background:linear-gradient(135deg,#10b981,#059669)}.btn-checkedin-time{background:linear-gradient(135deg,#8b5cf6,#6366f1);animation:pulse-purple 2s ease-in-out infinite}@keyframes pulse-purple{0%,to{box-shadow:0 4px 12px #8b5cf64d}50%{box-shadow:0 4px 20px #8b5cf680}}.btn-checkedout-time{background:linear-gradient(135deg,#10b981,#059669)}.btn-ongoing{background:linear-gradient(135deg,#f59e0b,#d97706);animation:pulse-amber 2s ease-in-out infinite}@keyframes pulse-amber{0%,to{box-shadow:0 4px 12px #f59e0b4d}50%{box-shadow:0 4px 20px #f59e0b80}}.btn-completed{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.btn-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-waiting{background:linear-gradient(135deg,#94a3b8,#64748b)}.btn-locked{background:linear-gradient(135deg,#cbd5e1,#94a3b8)}@media(max-width:768px){.premium-card-header{padding:20px}.header-content{gap:12px}.student-avatar,.teacher-avatar{width:48px;height:48px;font-size:20px}.header-info h4.teacher-name,.header-info h4.student-name{font-size:16px}.header-info p.course-name{font-size:12px}.timeline-section{padding:16px 20px;flex-direction:column;align-items:flex-start}.progress-bar{max-width:100%;margin-top:12px}.badges-row{padding:12px 20px}.expanded-content{padding:0 20px 20px}.times-grid{grid-template-columns:1fr}.premium-card-footer{padding:16px 20px 24px}.premium-btn{padding:14px 20px;font-size:14px}}.loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.6}.empty-state h3{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 10px}.empty-state p{font-size:14px;color:#64748b;margin:0}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.schedule-header h3{font-size:24px;font-weight:700;color:#1e293b;margin:0}.schedule-subtitle{font-size:14px;color:#64748b;margin:4px 0 0}.refresh-btn{padding:10px 20px;border-radius:12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid rgba(0,0,0,.08);color:#475569;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease;box-shadow:0 2px 4px #0000000d}.refresh-btn:hover:not(:disabled){background:linear-gradient(135deg,#f1f5f9,#e2e8f0);transform:translateY(-1px)}.refresh-btn:disabled{opacity:.6;cursor:wait}.invoice-management-container{padding:20px 0}.invoice-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-bottom:3rem}.invoice-feature-card{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:2px solid rgba(0,0,128,.1);border-radius:20px;padding:2rem;box-shadow:0 4px 20px #00008014;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.invoice-feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00008026;border-color:#87ceeb}.feature-icon{font-size:3rem;margin-bottom:1rem}.invoice-feature-card h3{color:navy;font-size:1.5rem;margin-bottom:.75rem;font-weight:700;font-family:Poppins,sans-serif}.invoice-feature-card p{color:#6c757d;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.feature-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.stat-item{display:flex;flex-direction:column}.stat-label{font-size:.8rem;color:#6c757d;font-weight:500;margin-bottom:.25rem}.stat-value{font-size:1.5rem;color:navy;font-weight:700;font-family:Poppins,sans-serif}.stat-value.pending{color:orange}.feature-btn{width:100%;padding:12px 20px;background:linear-gradient(135deg,navy,#1a237e);color:gold;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;font-family:Poppins,sans-serif}.feature-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000804d}.invoice-breakdown-section{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:2px solid rgba(135,206,235,.2);border-radius:20px;padding:2rem;margin-bottom:2rem}.invoice-breakdown-section h2{color:navy;font-size:1.5rem;margin-bottom:1.5rem;font-weight:700;font-family:Poppins,sans-serif}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.breakdown-item{display:flex;gap:1rem;align-items:flex-start}.breakdown-icon{font-size:2rem;flex-shrink:0}.breakdown-content h4{color:navy;font-size:1rem;margin-bottom:.5rem;font-weight:600;font-family:Poppins,sans-serif}.breakdown-content p{color:#6c757d;font-size:.85rem;line-height:1.5}.invoice-actions-section{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border:2px solid rgba(0,0,128,.1);border-radius:20px;padding:2rem}.invoice-actions-section h2{color:navy;font-size:1.5rem;margin-bottom:1.5rem;font-weight:700;font-family:Poppins,sans-serif}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid rgba(0,0,128,.1);border-radius:14px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000801f;border-color:#87ceeb;background:linear-gradient(135deg,#fff,#e9ecef)}.action-icon{font-size:1.5rem}.action-label{font-weight:600;color:navy;font-family:Poppins,sans-serif}.action-arrow{font-size:1.2rem;color:#87ceeb}.company-logo-img{height:60px;object-fit:contain;margin-bottom:10px}.enrolled-classes-section{margin-top:1.5rem;background:linear-gradient(135deg,#ff6b6b08,#ffa50005);border:2px solid rgba(255,107,107,.15);border-radius:16px;padding:1.5rem}.enrolled-classes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem}.enrolled-class-card{background:#fff;border:2px solid rgba(255,107,107,.2);border-radius:12px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;box-shadow:0 2px 8px #ff6b6b1a}.enrolled-class-card:hover{border-color:#ff6b6b;box-shadow:0 4px 16px #ff6b6b33;transform:translateY(-2px)}.class-card-actions{padding:.875rem 1rem;background:linear-gradient(135deg,#ff6b6b0d,#ffa50008);border-top:1px solid rgba(255,107,107,.15);display:flex;justify-content:flex-end}.remove-class-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#ff6b6b1a,#ee5a5a14);border:1.5px solid rgba(255,107,107,.3);border-radius:8px;color:#ff6b6b;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.remove-class-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff6b6b33,#ee5a5a26);border-color:#ff6b6b;transform:scale(1.02);box-shadow:0 2px 8px #ff6b6b33}.remove-class-btn:disabled{opacity:.5;cursor:not-allowed}.remove-icon{font-size:1rem;line-height:1}.invoice-page-wrapper{position:relative;width:100%;min-height:100vh;overflow-x:hidden}.invoice-page-wrapper .modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem;animation:fadeInInvoice .3s ease}@keyframes fadeInInvoice{0%{opacity:0}to{opacity:1}}.invoice-page-wrapper .modal-container.invoice-pdf-modal{max-width:900px;max-height:95vh;overflow-y:auto}.today-showcase-container{margin-top:2rem;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:24px;padding:2rem;border:2px solid rgba(102,126,234,.1);box-shadow:0 8px 32px #667eea1a}.showcase-loading{text-align:center;padding:4rem 2rem}.loading-pulse{display:flex;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.loading-pulse span{width:16px;height:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;animation:pulse-bounce 1.4s ease-in-out infinite}.loading-pulse span:nth-child(1){animation-delay:0s}.loading-pulse span:nth-child(2){animation-delay:.2s}.loading-pulse span:nth-child(3){animation-delay:.4s}@keyframes pulse-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.showcase-loading p{font-family:Poppins,sans-serif;color:#667eea;font-size:1.1rem;font-weight:500;margin:0}.showcase-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid rgba(102,126,234,.1)}.showcase-title-section{display:flex;align-items:center;gap:1.5rem}.showcase-icon-wrapper{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.showcase-main-icon{font-size:3rem;position:relative;z-index:2;animation:float-icon 3s ease-in-out infinite}@keyframes float-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.showcase-pulse-ring{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);animation:pulse-ring 2s ease-out infinite;opacity:.3}@keyframes pulse-ring{0%{transform:scale(1);opacity:.3}to{transform:scale(1.5);opacity:0}}.showcase-title-content{display:flex;flex-direction:column;gap:.25rem}.showcase-title{font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:700;color:#667eea;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.showcase-subtitle{font-family:Poppins,sans-serif;font-size:.95rem;color:#667eeab3;margin:0;font-weight:500}.showcase-quick-stats{display:flex;gap:1rem;flex-wrap:wrap}.quick-stat-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#fff;border-radius:16px;box-shadow:0 4px 16px #667eea1a;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;border:2px solid transparent}.quick-stat-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea33;border-color:#667eea33}.quick-stat-icon{font-size:1.75rem;line-height:1}.quick-stat-content{display:flex;flex-direction:column;gap:.125rem}.quick-stat-value{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:700;color:#667eea;line-height:1}.quick-stat-label{font-family:Poppins,sans-serif;font-size:.75rem;color:#667eeab3;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.showcase-progress-section{margin-bottom:2rem;padding:1.25rem 1.5rem;background:#fff;border-radius:16px;box-shadow:0 4px 16px #667eea14}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-label{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:#667eea}.progress-percentage{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:700;color:#764ba2}.progress-bar-container{position:relative;height:12px;background:linear-gradient(90deg,#667eea1a,#764ba21a);border-radius:10px;overflow:hidden}.progress-bar{position:relative;width:100%;height:100%}.progress-fill{position:relative;height:100%;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:10px;transition:width .8s ease;overflow:hidden}.progress-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:progress-shine 2s ease-in-out infinite}@keyframes progress-shine{0%{left:-100%}to{left:100%}}.showcase-period-tabs{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.period-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:12px;border:2px solid rgba(102,126,234,.15);background:#fff;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;font-family:Poppins,sans-serif}.period-tab:hover{border-color:#667eea4d;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.period-tab.active{border-color:transparent;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}.period-tab-icon{font-size:1.25rem;line-height:1}.period-tab-label{font-size:.9rem;font-weight:600}.period-tab-count{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;background:#fff3;border-radius:12px;font-size:.8rem;font-weight:700}.period-tab:not(.active) .period-tab-count{background:#667eea1a;color:#667eea}.showcase-classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.showcase-class-card{position:relative;background:#fff;border-radius:20px;padding:0;overflow:hidden;border-width:2px;border-style:solid;box-shadow:0 4px 20px #667eea14;transition:all .4s ease;animation:card-fade-in .5s ease backwards}@keyframes card-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.showcase-class-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #667eea33}.class-card-glow{position:absolute;top:0;left:0;width:100%;height:4px;opacity:.6}.class-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-bottom:1px solid rgba(102,126,234,.1)}.class-time-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border-radius:10px;box-shadow:0 2px 8px #667eea1a}.time-text{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:#667eea}.class-status-indicator{position:relative;width:12px;height:12px;border-radius:50%;display:flex;align-items:center;justify-content:center}.status-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:inherit;animation:status-pulse 2s ease-in-out infinite;animation-play-state:paused}.modern-status-badge:hover .status-pulse,.class-card-header:hover .status-pulse{animation-play-state:running}@keyframes status-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.8);opacity:0}}.class-card-body{padding:1.5rem}.class-course-name{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:700;color:#667eea;margin:0 0 1.25rem;line-height:1.3}.class-participants{display:flex;flex-direction:column;gap:.75rem}.participant-row{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:linear-gradient(135deg,#667eea0d,#764ba208);border-radius:10px;transition:transform .2s ease,background-color .2s ease,color .2s ease}.participant-row:hover{background:linear-gradient(135deg,#667eea14,#764ba20d);transform:translate(4px)}.participant-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #667eea1a}.participant-info{display:flex;flex-direction:column;gap:.125rem;flex:1}.participant-label{font-family:Poppins,sans-serif;font-size:.7rem;color:#667eea99;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.participant-name{font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;color:#667eea}.class-card-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea08,#764ba205);border-top:1px solid rgba(102,126,234,.08)}.class-status-text{font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600}.class-action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.class-action-btn:hover{transform:translate(4px);box-shadow:0 4px 12px #667eea4d}.class-action-btn span:last-child{transition:transform .3s ease}.class-action-btn:hover span:last-child{transform:translate(4px)}@media(max-width:768px){.today-showcase-container{padding:1.5rem}.showcase-header{flex-direction:column;gap:1.5rem}.showcase-quick-stats{width:100%;justify-content:space-between}.quick-stat-item{flex:1;min-width:calc(50% - .5rem)}.showcase-classes-grid{grid-template-columns:1fr}.showcase-period-tabs{justify-content:flex-start}.period-tab{flex:1;min-width:calc(50% - .375rem);justify-content:center}}.view-class-modal{max-width:550px}.class-status-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;border-radius:12px;margin-bottom:1.5rem;color:#fff;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:600}.status-emoji{font-size:1.5rem}.class-detail-section{margin-bottom:1.5rem}.class-detail-section:last-of-type{margin-bottom:0}.detail-section-title{display:flex;align-items:center;gap:.5rem;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;color:#667eea;margin-bottom:.75rem}.section-icon{font-size:1.25rem}.detail-card{background:linear-gradient(135deg,#667eea08,#764ba205);border:2px solid rgba(102,126,234,.1);border-radius:12px;padding:1rem}.detail-card.compact{background:#667eea05;border:1px solid rgba(102,126,234,.08);border-radius:8px;padding:.75rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.detail-row:not(:last-child){border-bottom:1px solid rgba(102,126,234,.08)}.detail-label{font-family:Poppins,sans-serif;font-size:.85rem;color:#667eeab3;font-weight:500}.detail-value{font-family:Poppins,sans-serif;font-size:.95rem;color:#667eea;font-weight:600}.detail-value.time-value{font-family:Courier New,monospace;font-size:1rem}.detail-value.mono{font-family:Courier New,monospace;font-size:.8rem;opacity:.7}.participants-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.participant-card{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#fff;border:2px solid rgba(102,126,234,.1);border-radius:12px;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.participant-card:hover{border-color:#667eea40;transform:translateY(-2px);box-shadow:0 4px 12px #667eea1a}.participant-avatar{width:45px;height:45px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.participant-avatar.teacher{background:linear-gradient(135deg,#4ecdc426,#44a08d1a)}.participant-avatar.student{background:linear-gradient(135deg,#ff6b6b26,#ee5a5a1a)}.participant-info{display:flex;flex-direction:column;gap:.125rem}.participant-type{font-family:Poppins,sans-serif;font-size:.7rem;color:#667eea99;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.participant-name{font-family:Poppins,sans-serif;font-size:.9rem;color:#667eea;font-weight:600}.class-form-modal{max-width:550px}.enhanced-class-form .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.enhanced-class-form .form-group{margin-bottom:1rem}.enhanced-class-form label{display:block;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:#667eea;margin-bottom:.5rem}.enhanced-class-form select,.enhanced-class-form input{width:100%;padding:.75rem 1rem;border:2px solid rgba(102,126,234,.15);border-radius:10px;font-family:Poppins,sans-serif;font-size:.95rem;color:#667eea;background:#fff;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.enhanced-class-form select:hover,.enhanced-class-form input:hover{border-color:#667eea4d}.enhanced-class-form select:focus,.enhanced-class-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.enhanced-class-form select.error,.enhanced-class-form input.error{border-color:#ff6b6b}.enhanced-class-form .error-text{display:block;font-family:Poppins,sans-serif;font-size:.8rem;color:#ff6b6b;margin-top:.375rem}.status-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.status-option{position:relative;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-width:2px;border-style:solid;border-radius:10px;background:#fff;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.status-option:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.status-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.status-option input[type=radio]+.status-label{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600}.form-preview{margin-top:1.5rem;padding:1rem;background:linear-gradient(135deg,#667eea0d,#764ba208);border:2px solid rgba(102,126,234,.1);border-radius:12px}.form-preview h4{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:#667eea;margin:0 0 .75rem}.preview-content{display:flex;flex-direction:column;gap:.5rem}.preview-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(102,126,234,.08)}.preview-item:last-child{border-bottom:none}.preview-label{font-family:Poppins,sans-serif;font-size:.85rem;color:#667eeab3;font-weight:500}.preview-value{font-family:Poppins,sans-serif;font-size:.9rem;color:#667eea;font-weight:600;text-align:right}.class-card-actions{display:flex;gap:.5rem}.class-action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.class-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.class-action-btn.view-btn{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.class-action-btn.view-btn:hover{box-shadow:0 4px 12px #4ecdc44d}.class-action-btn.edit-btn{background:linear-gradient(135deg,orange,#ff8c00)}.class-action-btn.edit-btn:hover{box-shadow:0 4px 12px #ffa5004d}@media(max-width:600px){.participants-grid,.enhanced-class-form .form-row-2,.status-options{grid-template-columns:1fr}.class-card-actions{flex-direction:column}.class-action-btn{width:100%;justify-content:center}}.secret-password-overlay{z-index:10000}.secret-password-modal{max-width:420px;width:90%;border-radius:20px;overflow:hidden;animation:slideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.secret-password-header{background:linear-gradient(135deg,navy,#1a237e);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.secret-password-header h2{margin:0;color:gold;font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:600}.secret-password-body{padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.secret-password-icon{font-size:3rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.secret-password-message{margin:0;color:#667eea;font-family:Poppins,sans-serif;font-size:.95rem;text-align:center;font-weight:500}.secret-password-inputs{display:flex;gap:.5rem;justify-content:center}.secret-password-digit{width:45px;height:55px;border:2px solid rgba(102,126,234,.2);border-radius:10px;font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:600;text-align:center;color:#667eea;background:#fff;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;outline:none}.secret-password-digit:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-2px)}.secret-password-digit.error{border-color:#dc3545;background:#dc35450d}.secret-password-digit.error:focus{box-shadow:0 0 0 3px #dc35451a}.secret-password-digit:disabled{background:#667eea0d;cursor:not-allowed}.secret-password-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#dc35451a;border:1px solid rgba(220,53,69,.2);border-radius:10px;color:#dc3545;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.error-icon{font-size:1rem}.secret-password-loading{display:flex;align-items:center;gap:.75rem;color:#667eea;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500}.secret-password-loading .loading-spinner{width:20px;height:20px;border:2px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.secret-password-footer{padding:1rem 1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;gap:1rem;justify-content:flex-end;border-top:1px solid rgba(102,126,234,.1)}.secret-password-footer .btn-cancel{padding:.625rem 1.5rem;background:#fff;border:1px solid rgba(102,126,234,.2);border-radius:10px;color:#667eea;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:500;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.secret-password-footer .btn-cancel:hover{background:#667eea0d;border-color:#667eea}.secret-password-footer .btn-cancel:disabled{opacity:.5;cursor:not-allowed}.secret-password-footer .btn-submit{padding:.625rem 1.5rem;background:linear-gradient(135deg,navy,#1a237e);border:none;border-radius:10px;color:gold;font-family:Poppins,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.secret-password-footer .btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0000804d}.secret-password-footer .btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:480px){.secret-password-modal{max-width:95%}.secret-password-digit{width:40px;height:50px;font-size:1.25rem}.secret-password-inputs{gap:.375rem}.secret-password-footer{flex-direction:column}.secret-password-footer .btn-cancel,.secret-password-footer .btn-submit{width:100%}}.all-classes-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem;padding:.5rem}.modern-class-card{position:relative;background:#fff;border-radius:16px;overflow:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0);transition:box-shadow .3s ease,transform .3s ease}.modern-class-card:hover{box-shadow:0 10px 40px #0000001a;transform:translateY(-4px) translateZ(0)}.card-gradient-border{position:absolute;inset:0;padding:2px;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;border-radius:16px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:gradient-shift 3s ease infinite;animation-play-state:paused;pointer-events:none}.modern-class-card:hover .card-gradient-border{opacity:1;animation-play-state:running}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.modern-card-content{position:relative;background:#fff;border-radius:14px;padding:1.5rem;height:100%;z-index:1}.modern-class-card .quick-actions{opacity:0;visibility:hidden;transform:translate(10px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease}.modern-class-card:hover .quick-actions{opacity:1;visibility:visible;transform:translate(0)}.action-btn{background:#f8f9fa;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;transition:transform .2s ease,background-color .2s ease;font-size:16px;display:inline-flex;align-items:center;justify-content:center}.action-btn:hover{transform:scale(1.1)}.action-btn:active{transform:scale(.95)}.modern-status-badge{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;transition:transform .2s ease}.modern-status-badge:hover{transform:scale(1.05)}.card-top-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-course-section{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.course-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;flex-shrink:0}.course-icon{font-size:20px}.card-course-name{font-size:1.1rem;font-weight:700;color:#1a1a2e;margin:0;line-height:1.3}.card-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.info-item-modern{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8f9fa;border-radius:8px;transition:background-color .2s ease}.info-item-modern:hover{background:#f0f0f0}.info-icon-modern{font-size:18px;flex-shrink:0}.info-content-modern{display:flex;flex-direction:column;min-width:0}.info-label-modern{font-size:.7rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.info-value-modern{font-size:.85rem;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-edit-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:1rem}.card-edit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.card-edit-btn:active{transform:translateY(0)}.header-left{display:flex;flex-direction:column}.header-subtitle{margin:.25rem 0 0;font-size:.9rem;color:#6c757d}.dashboard-classes-section{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 16px #00008014;border:1px solid rgba(0,0,128,.08)}.classes-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.classes-header-left h2.classes-section-title{margin:0;font-size:1.5rem;font-weight:700;color:navy}.classes-section-subtitle{margin:.25rem 0 0;font-size:.875rem;color:#6c757d}.view-toggle{display:flex;gap:.5rem;background:#0000800a;padding:.25rem;border-radius:12px}.view-toggle-btn{padding:.625rem 1rem;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;background:transparent;color:#6c757d}.view-toggle-btn:hover{background:#0000800f}.view-toggle-btn.active{background:linear-gradient(135deg,navy,#1a237e);color:gold}.view-icon{font-size:1rem}@media(max-width:768px){.classes-section-header{flex-direction:column;gap:1rem;align-items:flex-start}.view-toggle{width:100%}.view-toggle-btn{flex:1;justify-content:center}}.all-classes-view{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.all-classes-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-content{display:flex;flex-direction:column;align-items:center}.stat-label{font-size:.65rem;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,navy,#1a237e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.all-classes-filters{background:linear-gradient(135deg,#00008005,#87ceeb05);border:1px solid rgba(0,0,128,.08);border-radius:16px;padding:1.25rem;margin-bottom:1.5rem}.filter-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}@media(max-width:1024px){.filter-row{grid-template-columns:1fr}}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-required .filter-label:after{content:" *";color:#dc3545}.filter-label{font-size:.8125rem;font-weight:600;color:navy}.date-range-inputs{display:flex;align-items:center;gap:.5rem}.date-input-wrapper{flex:1;position:relative;display:flex;align-items:center;background:#fff;border:1px solid rgba(0,0,128,.15);border-radius:8px;padding:0 .5rem;transition:all .2s ease}.date-input-wrapper:focus-within{border-color:#ff8c00;box-shadow:0 0 0 3px #ff8c001a}.date-input-icon{font-size:.875rem;color:#6c757d}.date-input{flex:1;border:none;background:transparent;padding:.5rem;font-size:.875rem;color:navy;outline:none}.date-separator{color:#6c757d;font-size:.875rem;padding:0 .25rem}.filter-select{width:100%;padding:.625rem .875rem;border:1px solid rgba(0,0,128,.15);border-radius:8px;background:#fff;font-size:.875rem;color:navy;outline:none;cursor:pointer;transition:all .2s ease}.filter-select:focus{border-color:#ff8c00;box-shadow:0 0 0 3px #ff8c001a}.filter-actions{display:flex;gap:.75rem}.btn-filter{padding:.625rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.375rem}.btn-reset{background:#0000800d;color:navy;border:1px solid rgba(0,0,128,.1)}.btn-reset:hover{background:#0000801a}.btn-search{background:linear-gradient(135deg,navy,#1a237e);color:gold}.btn-search:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000804d}.all-classes-empty{background:#fff;border-radius:16px;padding:3rem 2rem;text-align:center;border:1px solid rgba(0,0,128,.08)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.all-classes-empty h3{margin:0 0 .5rem;font-size:1.125rem;color:navy}.all-classes-empty p{margin:0;color:#6c757d;font-size:.875rem}.all-classes-loading{background:#fff;border-radius:16px;padding:3rem 2rem;text-align:center}.loading-spinner{width:40px;height:40px;margin:0 auto 1rem;border:3px solid rgba(0,0,128,.1);border-top-color:navy;border-radius:50%;animation:spin .8s linear infinite}.all-classes-loading p{margin:0;color:#6c757d}.all-classes-error{background:#fff;border-radius:16px;padding:3rem 2rem;text-align:center}.error-icon{font-size:3rem;display:block;margin-bottom:1rem}.all-classes-error h3{margin:0 0 .5rem;color:#dc3545}.all-classes-error p{margin:0 0 1rem;color:#6c757d}.btn-retry{padding:.625rem 1.5rem;background:linear-gradient(135deg,navy,#1a237e);border:none;border-radius:8px;color:gold;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-retry:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000804d}.dashboard-pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#00008005,#87ceeb05);border-radius:12px}.pagination-btn{padding:.5rem 1rem;background:linear-gradient(135deg,navy,#1a237e);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.pagination-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000804d}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{display:flex;gap:1rem;font-size:.875rem;color:#6c757d}.pagination-total{color:navy;font-weight:600}@media(max-width:768px){.dashboard-pagination{flex-direction:column;gap:1rem}.pagination-info{flex-direction:column;align-items:center;gap:.25rem}}.all-classes-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;margin-bottom:2rem}@media(max-width:768px){.all-classes-grid-modern{grid-template-columns:1fr;gap:1.5rem}}.modern-class-card{position:relative;background:#fff;border-radius:28px;overflow:visible;box-shadow:0 4px 24px #0000801a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}.modern-class-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#00008005,#87ceeb05);opacity:0;transition:opacity .3s ease;z-index:0;pointer-events:none;border-radius:28px}.modern-class-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px #0000802e}.modern-class-card:hover:before{opacity:1}.card-gradient-border{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,navy,#ff8c00,#4ecdc4,navy);background-size:300% 100%;animation:gradientFlow 4s ease infinite;z-index:10;border-radius:28px 28px 0 0}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.modern-card-content{position:relative;z-index:1;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.card-top-section{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modern-status-badge{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-radius:24px;font-size:.9rem;font-weight:700;box-shadow:0 4px 14px #0000801f;transition:all .3s ease;flex-shrink:0}.status-pulse{width:9px;height:9px;border-radius:50%;background:currentColor;animation:pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.quick-actions{display:flex;gap:.6rem;opacity:0;transform:translate(10px);transition:all .3s ease;flex-shrink:0}.quick-actions.visible{opacity:1;transform:translate(0)}.action-btn{width:44px;height:44px;border:none;border-radius:14px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 14px #0000801f}.action-btn:hover{transform:translateY(-2px)}.action-edit{background:linear-gradient(135deg,navy,#1a237e)}.action-edit:hover{box-shadow:0 6px 20px #00008059}.action-delete{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.action-delete:hover{box-shadow:0 6px 20px #ff6b6b59}.action-view{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.action-view:hover{box-shadow:0 6px 20px #4ecdc459}.card-course-section{display:flex;align-items:center;gap:1.25rem;padding:1.25rem;background:linear-gradient(135deg,#0000800d,#87ceeb0d);border-radius:20px;border:2px solid rgba(0,0,128,.1);transition:all .3s ease}.modern-class-card:hover .card-course-section{background:linear-gradient(135deg,#00008014,#87ceeb14);border-color:#0000802e}.course-icon-wrapper{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,navy,#1a237e);border-radius:16px;flex-shrink:0;box-shadow:0 6px 16px #00008040}.course-icon{font-size:1.75rem}.card-course-name{margin:0;font-size:1.15rem;font-weight:800;background:linear-gradient(135deg,navy,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.4;word-break:break-word}.card-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-item-modern{display:flex;align-items:center;gap:.875rem;padding:1rem;background:#fff;border:2px solid rgba(0,0,128,.1);border-radius:16px;transition:all .3s ease}.info-item-modern:hover{background:linear-gradient(135deg,#0000800a,#87ceeb0a);border-color:#0000802e;transform:translateY(-1px);box-shadow:0 4px 14px #0000801a}.info-icon-modern{font-size:1.35rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0000801a,#87ceeb1a);border-radius:12px;flex-shrink:0}.info-content-modern{display:flex;flex-direction:column;min-width:0;flex:1}.info-label-modern{font-size:.7rem;color:#6c757d;font-weight:600;text-transform:uppercase;letter-spacing:.5px;line-height:1.2}.info-value-modern{font-size:.9rem;color:navy;font-weight:700;word-wrap:break-word;word-break:break-word;line-height:1.3}.card-edit-btn{display:flex;align-items:center;justify-content:center;gap:.875rem;padding:1.125rem;background:linear-gradient(135deg,navy,#1a237e);border:none;border-radius:16px;color:gold;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 18px #00008038}.card-edit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00008059;background:linear-gradient(135deg,#1a237e,navy)}.card-edit-btn .edit-icon{font-size:1.2rem}@media(max-width:480px){.card-info-grid{grid-template-columns:1fr}.quick-actions{opacity:1;transform:translate(0)}.modern-card-content{padding:1.5rem}.card-course-name{font-size:1rem}}@media(max-width:480px)and (min-width:380px){.all-classes-grid-modern{grid-template-columns:1fr}}.schedule-cards-container{padding:0}.schedule-header{margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,navy,#1a237e);border-radius:16px;box-shadow:0 8px 24px #00008040;border:2px solid rgba(255,215,0,.3)}.schedule-header h3{margin:0;color:gold;font-size:1.4rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.schedule-subtitle{margin:.25rem 0 0;color:#ffffffd9;font-size:.9rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem;padding:.5rem}@media(max-width:768px){.cards-grid{grid-template-columns:1fr;gap:1rem}}.premium-session-card{background:linear-gradient(145deg,#fff,#f8fbff,#f0f4f8);border-radius:20px;overflow:visible;border:3px solid #000080;box-shadow:0 8px 32px #00008033,0 2px 8px #00008026,inset 0 1px #fffc;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.premium-session-card:before{content:"";position:absolute;top:-3px;left:20px;right:20px;height:3px;background:linear-gradient(90deg,gold,#ff8c00,gold);border-radius:20px 20px 0 0;z-index:10}.premium-session-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:linear-gradient(90deg,navy,#1a237e,#ff8c00,#1a237e,navy);border-radius:0 0 17px 17px;z-index:1}.premium-card-footer{position:relative;z-index:2}.premium-session-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 48px #0000804d,0 8px 24px #ff8c0033,inset 0 1px #ffffffe6;border-color:#ff8c00}.premium-session-card:hover:before{background:linear-gradient(90deg,#ff8c00,gold,#ff8c00);animation:goldShine 2s ease infinite}@keyframes goldShine{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.premium-card-header{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,navy,#1a237e,#0d1545);border-bottom:3px solid #FFD700;position:relative;overflow:hidden}.premium-card-header:before{content:"";position:absolute;top:-50%;right:-30%;width:60%;height:200%;background:radial-gradient(ellipse,rgba(255,215,0,.15) 0%,transparent 70%);animation:headerGlow 4s ease-in-out infinite;pointer-events:none}@keyframes headerGlow{0%,to{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(20px)}}.header-content{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.student-avatar{width:58px;height:58px;min-width:58px;border-radius:50%;background:linear-gradient(145deg,gold,#ff8c00);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;color:navy;border:4px solid rgba(255,255,255,.3);box-shadow:0 4px 16px #ff8c0080,inset 0 2px 4px #fff6;text-shadow:none}.header-info h4.student-name{margin:0 0 4px;font-size:1.15rem;font-weight:700;color:gold;text-shadow:0 2px 8px rgba(0,0,0,.5);letter-spacing:.3px}.header-info p.course-name{margin:0;font-size:.85rem;font-weight:500;color:#87ceebf2;text-shadow:0 1px 3px rgba(0,0,0,.4)}.header-actions{display:flex;gap:.5rem;position:relative;z-index:1}.icon-btn{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#ffd70040,#ff8c0033);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,215,0,.4);color:gold;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 3px 12px #0003}.icon-btn:hover{background:linear-gradient(145deg,#ffd70066,#ff8c0059);border-color:gold;transform:scale(1.1);box-shadow:0 6px 20px #ffd70066}.icon-btn.expanded{background:linear-gradient(145deg,gold,#ff8c00);color:navy;border-color:gold}.timeline-section{padding:1.5rem 1.5rem 1.25rem;background:linear-gradient(135deg,navy,#1a237e);border-bottom:3px solid #FFD700;border-radius:17px 17px 0 0}.timeline-info{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.photo-viewer-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(145deg,#ffd70040,#ff8c0033);border:2px solid rgba(255,215,0,.4);border-radius:10px;color:gold;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 12px #0003}.photo-viewer-btn:hover{background:linear-gradient(145deg,#ffd70066,#ff8c0059);border-color:gold;transform:scale(1.05);box-shadow:0 6px 20px #ffd70066}.timeline-time{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,navy,#1a237e);border-radius:10px;box-shadow:0 3px 12px #00008033}.time-icon{font-size:1rem}.time-text{font-size:.95rem;font-weight:700;color:gold;letter-spacing:.5px}.timeline-date{font-size:.85rem;font-weight:600;color:navy;padding:.4rem .85rem;background:#87ceeb4d;border-radius:8px;border:1px solid rgba(135,206,235,.5)}.progress-bar{height:6px;background:#00008026;border-radius:10px;overflow:hidden;border:1px solid rgba(0,0,128,.1)}.progress-fill{height:100%;background:linear-gradient(90deg,navy,#ff8c00,gold);border-radius:10px;transition:width .5s ease;box-shadow:0 0 10px #ff8c0080}.badges-row{display:flex;gap:.75rem;padding:1rem 1.5rem;background:#fff;border-bottom:2px solid rgba(0,0,128,.08)}.status-badge{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:10px;font-size:.8rem;font-weight:700;border:2px solid;box-shadow:0 3px 12px #0000001f}.status-badge.scheduled{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-color:#94a3b8;color:#475569}.status-badge.ongoing{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#ff8c00;color:#c2410c}.status-badge.completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#22c55e;color:#15803d}.status-badge.cancelled{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444;color:#b91c1c}.status-label{font-weight:700;text-transform:uppercase;letter-spacing:.5px}.duration-badge{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,navy,#1a237e);border-radius:10px;font-size:.8rem;font-weight:700;color:gold;border:2px solid rgba(255,215,0,.3);box-shadow:0 3px 12px #00008026}.expanded-content{padding:1.25rem 1.5rem;background:linear-gradient(180deg,#87ceeb14,#fff);border-top:2px solid rgba(0,0,128,.1);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.times-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.time-check-in,.time-check-out{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:linear-gradient(135deg,#fff,#f8fafc);border:2px solid rgba(0,0,128,.15);border-radius:10px;box-shadow:0 2px 8px #00008014}.time-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.time-value{font-size:1rem;font-weight:700;color:navy}.lesson-notes-section{padding:1rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid rgba(255,140,0,.3);border-radius:12px;box-shadow:0 2px 8px #ff8c001a}.notes-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.notes-icon{font-size:1rem}.notes-title{font-size:.85rem;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.notes-content{margin:0;font-size:.9rem;color:#78350f;line-height:1.6}.premium-card-footer{padding:1.25rem 1.5rem 1.5rem;background:linear-gradient(180deg,#fff,#87ceeb14);border-top:2px solid rgba(0,0,128,.1);border-radius:0 0 17px 17px;position:relative;z-index:2}.premium-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.85rem 1.5rem;border-radius:12px;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;border:3px solid;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 16px #00008033}.premium-btn:disabled{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)!important;border-color:#94a3b8!important;color:#64748b!important;cursor:not-allowed;box-shadow:none}.premium-btn.btn-checkin{background:linear-gradient(145deg,gold,#ff8c00);border-color:gold;color:navy}.premium-btn.btn-checkin:hover:not(:disabled){background:linear-gradient(145deg,#ff8c00,gold);border-color:#ff8c00;transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #ff8c0066}.premium-btn.btn-checkedin-time{background:linear-gradient(145deg,navy,#1a237e);border-color:navy;color:gold}.premium-btn.btn-checkedin-time:hover:not(:disabled){border-color:gold;box-shadow:0 0 20px #ffd7004d}.premium-btn.btn-checkedout-time,.premium-btn.btn-completed{background:linear-gradient(145deg,#22c55e,#16a34a);border-color:#22c55e;color:#fff}.premium-btn.btn-cancelled{background:linear-gradient(145deg,#ef4444,#dc2626);border-color:#ef4444;color:#fff}.premium-btn.btn-ongoing{background:linear-gradient(145deg,#ff8c00,#f97316);border-color:#ff8c00;color:#fff}.premium-btn.btn-waiting{background:linear-gradient(145deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;color:#64748b}.btn-icon{font-size:1.1rem}.btn-text{font-weight:700}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:linear-gradient(135deg,#fff,#f8fbff);border:3px dashed #000080;border-radius:20px;box-shadow:0 4px 16px #0000801a}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.empty-state h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:navy}.empty-state p{margin:0;color:#64748b;font-size:.9rem}.loading-spinner{width:48px;height:48px;border:4px solid rgba(0,0,128,.1);border-top-color:#ff8c00;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:480px){.premium-card-header{padding:1.25rem}.student-avatar{width:50px;height:50px;min-width:50px;font-size:1.4rem}.header-info h4.student-name{font-size:1rem}.header-info p.course-name{font-size:.75rem}.icon-btn{width:38px;height:38px;font-size:.9rem}}.session-content-modal-overlay{position:fixed;inset:0;background:#000080b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:3000;padding:1rem;animation:modalFadeIn .25s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.session-content-modal{background:linear-gradient(145deg,#fff,#f8f9fa);border-radius:20px;box-shadow:0 20px 60px #0000804d,0 0 0 1px #ffd7001a;width:100%;max-width:580px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideUp .35s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.session-content-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.75rem 2rem;background:linear-gradient(135deg,navy,#1a237e);border-bottom:2px solid #FFD700;position:relative;overflow:hidden}.session-content-modal-header:before{content:"";position:absolute;top:-50%;right:-20%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,215,0,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.modal-header-left{display:flex;gap:1rem;align-items:flex-start;position:relative;z-index:1}.modal-icon{width:48px;height:48px;background:linear-gradient(135deg,#ffd70033,#ffd7001a);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;border:1px solid rgba(255,215,0,.3)}.modal-header-left h2{margin:0;font-family:Poppins,sans-serif;font-size:1.35rem;font-weight:600;color:gold;letter-spacing:-.02em}.modal-session-info{margin:.25rem 0 0;font-family:Poppins,sans-serif;font-size:.85rem;color:#ffd700cc}.modal-close-btn{width:36px;height:36px;border-radius:10px;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);color:gold;font-size:1.1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.modal-close-btn:hover:not(:disabled){background:#ffd70033;border-color:gold;transform:scale(1.05)}.modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.session-content-modal-body{padding:2rem;overflow-y:auto;flex:1}.form-label{display:block;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:navy;margin-bottom:.6rem}.required{color:#ff6b6b;margin-left:2px}.optional{font-weight:400;color:#999;font-size:.8rem;margin-left:2px}.form-input,.form-textarea{width:100%;padding:.85rem 1rem;border:2px solid #e8e8e8;border-radius:12px;font-family:Poppins,sans-serif;font-size:.95rem;color:#333;transition:all .2s ease;background:#fafafa}.form-input:focus,.form-textarea:focus{outline:none;border-color:gold;background:#fff;box-shadow:0 0 0 4px #ffd7001a}.form-input.error{border-color:#ff6b6b;background:#fff5f5}.form-textarea{resize:vertical;min-height:70px;line-height:1.5}.error-message{display:block;font-family:Poppins,sans-serif;font-size:.8rem;color:#ff6b6b;margin-top:.4rem}.content-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.content-type-option{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border:2px solid #e8e8e8;border-radius:12px;cursor:pointer;transition:all .25s ease;text-align:center;background:#fafafa}.content-type-option:hover{border-color:navy;background:#00008008;transform:translateY(-2px)}.content-type-option.active{background:linear-gradient(135deg,#0000800d,#00008014);box-shadow:0 4px 15px #00008026}.content-type-option input[type=radio]{display:none}.content-type-label{font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500;color:#333;line-height:1.3}.upload-type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.upload-type-option{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border:2px solid #e8e8e8;border-radius:12px;cursor:pointer;transition:all .25s ease;background:#fafafa}.upload-type-option:hover{border-color:navy;background:#00008008}.upload-type-option.active{border-color:navy;background:linear-gradient(135deg,#0000800d,#00008014)}.upload-type-option input[type=radio]{display:none}.upload-type-icon{font-size:1.5rem}.upload-type-label{font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;color:#333}.file-drop-zone{border:2.5px dashed #d0d0d0;border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:linear-gradient(145deg,#fafafa,#f5f5f5)}.file-drop-zone:hover{border-color:navy;background:linear-gradient(145deg,#00008005,#0000800a)}.file-drop-zone.dragging{border-color:gold;border-style:solid;background:linear-gradient(145deg,#ffd70014,#ffd7001f);transform:scale(1.02)}.file-drop-zone.error{border-color:#ff6b6b;background:#fff5f5}.hidden-file-input{display:none}.drop-zone-content{pointer-events:none}.drop-zone-icon{font-size:3rem;margin-bottom:1rem;transition:transform .3s ease}.file-drop-zone.dragging .drop-zone-icon{transform:scale(1.2)}.drop-zone-text{font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;color:navy;margin:0 0 .5rem}.drop-zone-subtext{font-family:Poppins,sans-serif;font-size:.85rem;color:#999;margin:0}.selected-file-preview{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#00008008,#0000800d);border:2px solid rgba(0,0,128,.2);border-radius:14px;animation:previewSlideIn .3s ease}@keyframes previewSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.file-preview-icon{font-size:2rem;flex-shrink:0}.file-preview-info{flex:1;min-width:0}.file-preview-name{font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;color:navy;margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-size{font-family:Poppins,sans-serif;font-size:.8rem;color:#999;margin:0}.file-remove-btn{width:32px;height:32px;border-radius:50%;background:#ff6b6b;color:#fff;border:none;font-size:1.1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.file-remove-btn:hover:not(:disabled){background:#ee5a6f;transform:scale(1.1)}.file-remove-btn:disabled{opacity:.5;cursor:not-allowed}.youtube-preview-container{margin-top:1rem;border-radius:12px;overflow:hidden;animation:previewSlideIn .3s ease}.youtube-preview-thumbnail{position:relative;width:100%;padding-top:56.25%;background:#000;border-radius:12px;overflow:hidden}.youtube-preview-thumbnail img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.youtube-play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#ff0000e6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;box-shadow:0 4px 20px #00000080}.upload-progress-container{padding:1.25rem 1.5rem;background:linear-gradient(135deg,#0000800d,#00008014);border-radius:12px;border:1px solid rgba(0,0,128,.1)}.upload-progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.upload-progress-text{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500;color:navy}.upload-progress-percent{font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:gold;background:#0000801a;padding:.25rem .75rem;border-radius:12px}.upload-progress-bar{height:8px;background:#0000801a;border-radius:10px;overflow:hidden}.upload-progress-fill{height:100%;background:linear-gradient(90deg,navy,gold);border-radius:10px;transition:width .3s ease;position:relative}.upload-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.session-content-modal-footer{display:flex;gap:1rem;justify-content:flex-end;align-items:center;padding:1.5rem 2rem;border-top:1px solid #e8e8e8;background:linear-gradient(180deg,#fafafa,#f5f5f5);position:relative}.session-content-modal-footer:before{content:"";position:absolute;top:0;left:2rem;right:2rem;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,128,.1) 20%,rgba(255,215,0,.3) 50%,rgba(0,0,128,.1) 80%,transparent 100%)}.btn-cancel{position:relative;padding:.9rem 2rem;min-height:48px;border-radius:14px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500;color:#666;background:#fff;border:1.5px solid #e0e0e0;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.5rem;overflow:hidden;z-index:1}.btn-cancel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,128,.03) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.btn-cancel:hover:not(:disabled){color:navy;border-color:navy;transform:translate(-2px)}.btn-cancel:hover:not(:disabled):before{opacity:1}.btn-cancel:active:not(:disabled){transform:translate(0)}.btn-cancel:disabled{opacity:.4;cursor:not-allowed;background:#f5f5f5}.btn-submit{position:relative;padding:.9rem 2.5rem;min-height:48px;border-radius:14px;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;color:#fff;background:linear-gradient(135deg,navy,#1a237e,navy);background-size:200% 200%;border:none;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.65rem;overflow:hidden;box-shadow:0 4px 15px #0000804d,0 0 #00008066,inset 0 1px #ffffff1a;z-index:1}.btn-submit:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.4) 50%,transparent 100%);transition:left .6s ease}.btn-submit:after{content:"";position:absolute;inset:0;border-radius:14px;box-shadow:0 0 20px #00008066,0 0 40px #ffd7001a;opacity:0;transition:opacity .3s ease}.btn-submit:hover:not(:disabled){background-position:100% 0;transform:translateY(-3px) translate(2px);box-shadow:0 8px 25px #00008066,0 0 0 4px #ffd7001a,inset 0 1px #fff3}.btn-submit:hover:not(:disabled):before{left:100%}.btn-submit:hover:not(:disabled):after{opacity:1}.btn-submit:active:not(:disabled){transform:translateY(-1px) translate(2px);box-shadow:0 4px 15px #0000804d,0 0 0 2px #ffd70033,inset 0 1px #ffffff1a}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;background:linear-gradient(135deg,#999,#777);box-shadow:none}.btn-submit:disabled:before,.btn-submit:disabled:after{display:none}.btn-icon{font-size:1.1rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));transition:transform .3s ease}.btn-submit:hover:not(:disabled) .btn-icon{transform:scale(1.1) rotate(-5deg)}.btn-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.25);border-top-color:gold;border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 10px #ffd70080}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.btn-cancel-icon{font-size:.9rem;opacity:.6;transition:opacity .2s ease}.btn-cancel:hover:not(:disabled) .btn-cancel-icon{opacity:1}.btn-arrow{font-size:1rem;font-weight:700;transition:transform .3s ease;opacity:.8}.btn-submit:hover:not(:disabled) .btn-arrow{transform:translate(4px);opacity:1}@media(max-width:640px){.session-content-modal{max-width:100%;margin:0;border-radius:16px 16px 0 0;align-self:flex-end;max-height:85vh}.session-content-modal-header{padding:1.25rem 1.5rem}.modal-header-left h2{font-size:1.15rem}.session-content-modal-body{padding:1.5rem}.content-type-selector,.upload-type-selector{grid-template-columns:1fr}.session-content-modal-footer{padding:1.25rem 1.5rem;flex-direction:column-reverse;gap:.75rem}.btn-cancel,.btn-submit{width:100%;justify-content:center;padding:.9rem 2rem;min-height:48px}}@media(prefers-reduced-motion:reduce){.session-content-modal,.selected-file-preview,.youtube-preview-container,.btn-submit,.file-drop-zone{animation:none!important;transition:none!important}}.btn-cancel:focus-visible,.btn-submit:focus-visible,.modal-close-btn:focus-visible,.file-drop-zone:focus-visible{outline:2px solid #FFD700;outline-offset:2px}.stats-summary{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.stat-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.25rem 1.5rem;flex:1;min-width:180px;box-shadow:0 2px 8px #0000800d;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 16px #0000801a;transform:translateY(-2px)}.stat-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,navy,#1a237e);border-radius:12px}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.75rem;font-weight:700;color:navy;line-height:1;margin:0}.stat-label{font-size:.875rem;color:#666;font-weight:500;margin:0}.courses-table{width:100%}.courses-table th,.courses-table td{padding:1rem}.course-info{display:flex;flex-direction:column;gap:.25rem}.course-name{font-weight:600;color:#333;font-size:.95rem}.course-description{font-size:.8rem;color:#777;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-name{text-transform:capitalize}.schedule-cell{font-size:.85rem;color:#555;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duration-cell,.materials-cell{font-size:.85rem;color:#555}.materials-count{font-weight:600;color:navy}.progress-cell{display:flex;flex-direction:column;gap:.4rem;min-width:120px}.progress-bar{width:100%;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,navy,#4ecdc4);border-radius:3px;transition:width .5s ease}.progress-text{font-size:.75rem;color:#666;font-weight:500}.btn-view-materials-row{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.85rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea33;white-space:nowrap}.btn-view-materials-row:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-view-materials-row:active{transform:translateY(0)}.btn-view-materials-row .btn-icon{font-size:1rem;font-weight:300;line-height:1}@media(max-width:1200px){.courses-table th:nth-child(4),.courses-table td:nth-child(4){display:none}}@media(max-width:768px){.stats-summary{flex-direction:column}.stat-card{min-width:100%}.courses-table th:nth-child(3),.courses-table td:nth-child(3),.courses-table th:nth-child(4),.courses-table td:nth-child(4){display:none}.progress-cell{min-width:80px}}.admin-welcome-card{display:flex;justify-content:space-between;align-items:center}.btn-add-content-main{display:inline-flex;align-items:center;gap:.6rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:25px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4ecdc44d;white-space:nowrap}.btn-add-content-main:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.btn-add-content-main:active{transform:translateY(0)}.btn-add-icon{font-size:1.25rem;font-weight:300;line-height:1}.btn-manage-content{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:navy!important;color:gold!important;border:none;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:background .2s ease}.btn-manage-content:hover{background:#1a237e!important}.btn-manage-content:disabled{background:#ccc!important;color:#757575!important;cursor:not-allowed}.btn-add-material-row{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.85rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #4ecdc433;white-space:nowrap}.btn-add-material-row:hover{transform:translateY(-1px);box-shadow:0 4px 12px #4ecdc44d}.btn-add-material-row:active{transform:translateY(0)}.btn-add-material-row .btn-icon{font-size:1rem;font-weight:300;line-height:1}.btn-see-material-row{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.85rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea33;white-space:nowrap}.btn-see-material-row:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-see-material-row:active{transform:translateY(0)}.btn-see-material-row .btn-icon{font-size:1rem;font-weight:300;line-height:1}.teacher-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#667eea;color:#fff;font-weight:600;font-size:.8rem;margin-right:.5rem}.table-cell{display:inline-flex;align-items:center;gap:.5rem}.cell-icon{font-size:1rem;opacity:.7}.course-cell,.student-cell{font-weight:500;color:#333}.date-cell{color:#555;font-size:.9rem}.time-cell{color:#555;font-size:.85rem}.table-status-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:16px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border:1px solid transparent}.status-icon{font-size:.9rem}.status-label{line-height:1}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination-btn{padding:.5rem 1rem;background:navy!important;color:gold!important;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.pagination-btn:hover:not(:disabled){background:#1a237e!important}.pagination-btn:disabled{background:#ccc!important;color:#757575!important;cursor:not-allowed}.pagination-info{font-size:.9rem;color:#555}.admin-results-count{text-align:center;margin-top:1rem;color:#777;font-size:.85rem}.student-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:navy;color:gold;font-weight:600;font-size:.9rem;margin-right:.5rem}.student-info{display:flex;align-items:center}.student-name-cell .name{font-weight:600;color:#333}.admin-welcome-card{background:navy;color:gold;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.admin-welcome-card h2{margin:0 0 .5rem;font-size:1.5rem;color:gold!important}.admin-welcome-card p{margin:0;font-size:1rem;color:gold!important}.search-box{position:relative;max-width:500px}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem}.search-input:focus{outline:none;border-color:navy}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none}.admin-table thead th{background:navy;color:gold;font-weight:600;font-size:.8rem;padding:.75rem 1rem;border:none}.admin-table thead th:first-child{border-radius:6px 0 0}.admin-table thead th:last-child{border-radius:0 6px 0 0}.admin-table tbody td{border-bottom:1px solid #eee;padding:.75rem 1rem}.admin-empty{text-align:center;padding:3rem 1rem}.empty-icon{font-size:3rem;margin-bottom:1rem}.admin-empty h3{margin:0 0 .5rem;color:navy;font-size:1.1rem}.admin-empty p{margin:0;color:#888}.materials-empty{text-align:center;padding:4rem 2rem}.materials-empty .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.materials-empty h3{margin:0 0 .5rem;color:navy;font-size:1.25rem}.materials-empty p{margin:0;color:#888}.materials-feed{display:flex;flex-direction:column;gap:2rem}.materials-date-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.materials-date-header-feed{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,navy,#1a237e);color:gold;border-bottom:1px solid #e0e0e0}.materials-date-header-feed h3{margin:0;font-size:1.1rem;font-weight:600}.materials-count{font-size:.85rem;opacity:.8;background:#ffd70026;padding:.25rem .75rem;border-radius:12px}.material-item-feed{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;transition:background .2s ease;cursor:pointer}.material-item-feed:hover{background:#00008008}.material-item-icon{font-size:1.5rem;flex-shrink:0;width:40px;text-align:center}.material-item-link{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.material-item-title{font-weight:600;color:navy;font-size:1rem}.material-item-filename{font-size:.85rem;color:#666}.material-item-meta{font-size:.8rem;color:#999}.material-item-uploader{font-size:.8rem;color:#888;font-style:italic;white-space:nowrap}.contents-container{background:transparent}.contents-feed{display:flex;flex-direction:column;gap:2rem}.contents-date-items{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#fafafa}.content-item-card{display:flex;gap:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .2s ease}.content-item-card:hover{box-shadow:0 4px 15px #0000801a;border-color:navy}.content-item-image{flex-shrink:0;width:80px;height:80px;border-radius:8px;overflow:hidden;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.content-item-image img{width:100%;height:100%;object-fit:cover}.content-item-placeholder{font-size:2.5rem;opacity:.5}.content-item-info{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:0}.content-item-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.alt-duration-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#e3f2fd;color:#1565c0}.content-item-title{margin:0;font-size:1.1rem;font-weight:600;color:navy;line-height:1.4}.content-item-path{margin:0;font-size:.9rem;color:#666;display:flex;align-items:center;gap:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-icon{flex-shrink:0}.content-item-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#888}.meta-item{display:flex;align-items:center;gap:.3rem}.meta-icon{flex-shrink:0}.view-content-btn{align-self:flex-start;padding:.5rem 1.25rem;background:navy;color:gold;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-content-btn:hover:not(:disabled){background:#1a237e;transform:translateY(-1px);box-shadow:0 2px 8px #00008033}.view-content-btn:disabled{background:#ccc;color:#757575;cursor:not-allowed}@media(max-width:768px){.content-item-card{flex-direction:column}.content-item-image{width:100%;height:120px}.contents-date-items,.content-item-card{padding:1rem}.stats-summary{flex-direction:column}}.btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;color:navy;border:2px solid #000080;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;margin-bottom:1.5rem}.btn-back:hover{background:navy;color:gold}.class-info-header{background:linear-gradient(135deg,navy,#1a237e);color:gold;border-radius:12px;padding:2rem;margin-bottom:2rem}.class-info-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:700}.class-info-header h2{margin:0 0 .75rem;font-size:1.25rem;font-weight:500;opacity:.9}.class-info-header p{margin:0;font-size:1rem;opacity:.85}.material-item-card{margin-bottom:1.5rem}.video-embed-container{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.video-embed-container:hover{box-shadow:0 4px 20px #0000801a}.video-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.material-icon-large{font-size:2.5rem;flex-shrink:0}.video-info{flex:1}.material-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:navy;line-height:1.4}.material-description{margin:0 0 .5rem;font-size:.95rem;color:#555;line-height:1.5}.material-meta{font-size:.85rem;color:#888;font-style:italic}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;background:#000}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-open-link{display:inline-block;margin-top:1rem;color:navy;text-decoration:none;font-weight:600;font-size:.9rem;transition:color .2s ease}.video-open-link:hover{color:#667eea;text-decoration:underline}.file-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.25rem 1.5rem;cursor:pointer;transition:all .3s ease}.file-card:hover{background:#f8f9fa;border-color:navy;box-shadow:0 2px 12px #0000801a}.file-icon{font-size:2rem;flex-shrink:0;width:50px;text-align:center}.file-info{flex:1;min-width:0}.file-name{margin:.25rem 0;font-size:.9rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:.8rem;color:#888}.file-description{margin:.5rem 0 0;font-size:.85rem;color:#555;line-height:1.4}.file-download-btn{padding:.6rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.file-download-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.materials-date-items{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#fafafa;border-radius:0 0 12px 12px}.teacher-cell{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;color:#333}@media(max-width:768px){.class-info-header{padding:1.5rem}.class-info-header h1{font-size:1.5rem}.class-info-header h2{font-size:1rem}.video-header{flex-direction:column;align-items:flex-start}.material-icon-large{font-size:2rem}.file-card{flex-direction:column;align-items:flex-start}.file-download-btn{width:100%;text-align:center}}.student-materials-page{background:linear-gradient(135deg,#f8f9ff,#fff5f5);min-height:100vh}.student-course-header{display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 40px #667eea4d;position:relative;overflow:hidden}.student-course-header:before{content:"";position:absolute;top:-50%;right:-10%;width:200px;height:200px;background:#ffffff1a;border-radius:50%}.student-course-header:after{content:"";position:absolute;bottom:-30%;left:-5%;width:150px;height:150px;background:#ffffff14;border-radius:50%}.course-header-decoration{font-size:4rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));position:relative;z-index:1}.course-header-content{flex:1;position:relative;z-index:1}.course-header-content h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.course-teacher{margin:0;font-size:1.1rem;color:#ffffffe6;display:flex;align-items:center;gap:.5rem}.teacher-icon{font-size:1.3rem}.course-header-stats{display:flex;gap:1rem;position:relative;z-index:1}.mini-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:.75rem 1rem;min-width:60px}.mini-stat-icon{font-size:1.5rem}.mini-stat-value{font-size:1.25rem;font-weight:700;color:#fff}.student-loading{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#fff9e6,#fff4d6);border-radius:20px;border:2px dashed #ffd700}.loading-emoji{font-size:4rem;margin-bottom:1rem}.loading-subtext{color:#888;font-size:.9rem;margin-top:.5rem}.student-error{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#ffe6e6,#ffd6d6);border-radius:20px}.btn-retry{margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-retry:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea4d}.student-empty-state{text-align:center;padding:5rem 2rem;background:linear-gradient(135deg,#f0f9ff,#e8f4ff);border-radius:30px;position:relative;overflow:hidden}.empty-illustration{position:relative;width:200px;height:150px;margin:0 auto 2rem}.empty-emoji-main{font-size:6rem;position:relative;z-index:1}.empty-emoji-float{position:absolute;font-size:2.5rem;animation:float 3s ease-in-out infinite}.empty-float-1{top:0;left:0;animation-delay:0s}.empty-float-2{top:20px;right:10px;animation-delay:.5s}.empty-float-3{bottom:10px;left:30px;animation-delay:1s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.student-empty-state h3{margin:0 0 1rem;font-size:1.75rem;font-weight:700;color:#667eea}.student-empty-state p{margin:.5rem 0;color:#666;font-size:1.1rem}.empty-subtext{color:#999!important;font-size:1rem!important}.student-materials-feed{display:flex;flex-direction:column;gap:2rem}.student-session-group{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s ease}.student-session-group:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.student-session-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.05)}.session-header-left{display:flex;align-items:center;gap:1rem}.session-date-emoji{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 4px 15px #0000001a}.session-date-info{display:flex;flex-direction:column;gap:.25rem}.session-date-title{margin:0;font-size:1.25rem;font-weight:700;color:#333}.session-date-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#fff;border-radius:15px;font-size:.85rem;font-weight:600;color:#666}.session-header-right{display:flex;gap:.5rem}.session-status-dot{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;font-size:.9rem;box-shadow:0 2px 8px #0000001a}.student-session-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;padding:1.5rem}.student-content-card{display:flex;align-items:stretch;gap:1rem;background:#fff;border:2px solid var(--card-accent, #e0e0e0);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease;position:relative}.student-content-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-accent, #e0e0e0);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.student-content-card:hover:before{transform:scaleX(1)}.student-content-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.content-card-icon{width:100px;min-width:100px;display:flex;align-items:center;justify-content:center;position:relative;padding:1rem}.content-card-icon.content-clickable{cursor:pointer;transition:all .3s ease}.content-card-icon.content-clickable:hover{transform:scale(1.05);filter:brightness(1.1)}.content-icon-emoji{font-size:3rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.content-thumbnail{width:100%;height:100%;object-fit:cover;border-radius:12px}.youtube-badge{position:absolute;bottom:.5rem;right:.5rem;font-size:1.2rem;background:#ffffffe6;padding:.25rem;border-radius:50%;box-shadow:0 2px 8px #0003}.content-card-body{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:1rem 3.5rem 1rem 1rem}.content-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.content-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.content-status-indicator{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%;font-size:.85rem}.content-card-title{margin:0;font-size:1.1rem;font-weight:700;color:#333;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.content-card-description{margin:0;font-size:.9rem;color:#777;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.content-card-footer{display:flex;align-items:center;gap:.5rem;margin-top:auto}.content-meta{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:#999}.meta-icon{font-size:1rem}.content-card-action{position:absolute;top:1rem;right:1rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 2px 8px #00000026;cursor:pointer;transition:all .3s ease}.content-card-action:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000040}.content-card-action:active{transform:scale(.95)}.action-icon{font-size:1.2rem;pointer-events:none}.student-footer-message{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:2rem;padding:1rem 2rem;background:linear-gradient(135deg,#fff9e6,#fff4d6);border-radius:50px;border:2px solid #ffd700}.footer-emoji{font-size:1.5rem}.student-footer-message p{margin:0;font-size:1rem;font-weight:600;color:#d4a017}@media(max-width:768px){.student-course-header{flex-direction:column;text-align:center;padding:1.5rem}.course-header-decoration{font-size:3rem}.course-header-content h1{font-size:1.5rem}.course-teacher{justify-content:center}.student-session-items{grid-template-columns:1fr}.content-card-body{padding-right:3rem}.empty-illustration{width:150px;height:120px}.empty-emoji-main{font-size:4rem}}Teacher Course Classes - New Design ============================================================ */ .course-classes-container{display:flex;flex-direction:column;gap:1.5rem}.course-class-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .3s ease}.course-class-card:hover{box-shadow:0 4px 20px #0000801a}.course-class-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:linear-gradient(135deg,#f8f9fa,#fff);cursor:pointer;transition:background .2s ease;gap:1rem}.course-class-header:hover{background:linear-gradient(135deg,#e9ecef,#f8f9fa)}.course-class-info{flex:1}.course-class-name{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:navy}.course-class-description{margin:0;font-size:.85rem;color:#666}.course-class-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:#555}.meta-icon{font-size:.9rem}.teacher-avatar-small{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:navy;color:gold;font-weight:600;font-size:.7rem}.expand-icon{font-size:.8rem;color:navy;transition:transform .3s ease}.header-right{display:flex;align-items:center;gap:1rem}.course-student-badge{display:flex;align-items:center;gap:.5rem;padding:.4rem .85rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;box-shadow:0 2px 6px #667eea33}.student-avatar-header{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ffffff40;color:#fff;font-weight:600;font-size:.75rem}.student-name-header{font-weight:600;color:#fff}.course-class-sessions{border-top:1px solid #e0e0e0;background:#fafafa}.sessions-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.sessions-header h4{margin:0;font-size:.95rem;font-weight:600;color:navy}.sessions-pagination{display:flex;align-items:center;gap:.5rem}.pagination-btn-small{padding:.25rem .5rem;background:navy;color:gold;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;transition:background .2s ease}.pagination-btn-small:hover:not(:disabled){background:#1a237e}.pagination-btn-small:disabled{background:#ccc;color:#757575;cursor:not-allowed}.pagination-info-small{font-size:.8rem;color:#555}.sessions-list{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.sessions-empty{padding:2rem;text-align:center;color:#888;font-size:.9rem}.session-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s ease}.session-row:hover{background:#f8f9fa;border-color:navy}.session-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.session-date{font-weight:600;color:#333;font-size:.9rem}.session-day,.session-time{color:#666;font-size:.85rem}.session-status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border:1px solid transparent}.session-actions{display:flex;align-items:center;gap:.5rem}.btn-add-material-small{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.8rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px #4ecdc433;white-space:nowrap}.btn-add-material-small:hover{transform:translateY(-1px);box-shadow:0 3px 8px #4ecdc44d}.btn-add-material-small .btn-icon{font-size:.9rem;font-weight:300}.btn-see-material-small{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.8rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px #667eea33;white-space:nowrap}.btn-see-material-small:hover{transform:translateY(-1px);box-shadow:0 3px 8px #667eea4d}.btn-see-material-small .btn-icon{font-size:.9rem;font-weight:300}.materials-loading,.materials-error{text-align:center;padding:3rem 2rem}.materials-error .error-icon{font-size:2rem;margin-bottom:.5rem}.materials-error h3{margin:.5rem 0 0;color:#dc3545;font-size:1.1rem}.materials-error p{margin:0;color:#888}.materials-stats-summary{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem}.stats-badge{display:flex;align-items:center;gap:.4rem}.stats-icon{font-size:1rem}.stats-count{font-weight:600;color:navy}.stats-info{font-size:.85rem;color:#888}@media(max-width:768px){.course-class-header{flex-direction:column;align-items:flex-start}.header-right{width:100%;justify-content:space-between;margin-top:.75rem}.course-class-meta{width:100%}.session-row{flex-direction:column;align-items:flex-start;gap:1rem}.session-actions{width:100%;justify-content:flex-end}.btn-add-material-small,.btn-see-material-small{flex:1;justify-content:center}.expand-icon{align-self:flex-end}}.modal-overlay{position:fixed;inset:0;background:#00008099;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000804d;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,navy,#1a237e);border-bottom:2px solid #FFD700}.modal-header h2{margin:0;font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:600;color:gold}.modal-close-btn{width:32px;height:32px;border-radius:50%;background:#ffd7001a;border:1px solid rgba(255,215,0,.3);color:gold;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#ffd70033;border-color:gold;transform:scale(1.1)}.modal-body{padding:2rem;overflow-y:auto}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;color:navy;margin-bottom:.5rem}.required{color:#ff6b6b}.optional{font-weight:400;color:#999;font-size:.8rem}.form-input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:10px;font-family:Poppins,sans-serif;font-size:.9rem;color:#333;transition:all .2s ease}.form-input:focus{outline:none;border-color:gold;box-shadow:0 0 0 4px #ffd7001a}.form-input.error{border-color:#ff6b6b}.form-hint{display:block;font-family:Poppins,sans-serif;font-size:.8rem;color:#999;margin-top:.25rem}.error-message{display:block;font-family:Poppins,sans-serif;font-size:.8rem;color:#ff6b6b;margin-top:.25rem}.radio-group{display:flex;gap:1rem}.radio-option{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s ease;font-family:Poppins,sans-serif;font-size:.9rem;color:#333}.radio-option:hover{border-color:navy;background:#0000800d}.radio-option.active{border-color:navy;background:#0000801a}.radio-option input[type=radio]{margin:0}.file-upload-area{position:relative}.file-input{width:100%;padding:1rem;border:2px dashed #e0e0e0;border-radius:10px;background:#f8f9fa;cursor:pointer;transition:all .2s ease}.file-input:hover{border-color:navy;background:#0000800d}.selected-file{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#0000800d,#0000801a);border:1px solid rgba(0,0,128,.2);border-radius:10px}.file-icon{font-size:1.5rem}.file-name{flex:1;font-family:Poppins,sans-serif;font-size:.9rem;color:navy;font-weight:500}.file-size{font-family:Poppins,sans-serif;font-size:.8rem;color:#999}.file-remove-btn{width:24px;height:24px;border-radius:50%;background:#ff6b6b;color:#fff;border:none;font-size:1.25rem;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.file-remove-btn:hover{background:#ee5a6f;transform:scale(1.1)}.youtube-preview{margin-top:1rem;border-radius:10px;overflow:hidden}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid #e0e0e0;background:#f8f9fa}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border-radius:25px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#fff;color:#666;border:2px solid #e0e0e0}.btn-cancel:hover{background:#f8f9fa;border-color:#999}.btn-submit{background:linear-gradient(135deg,navy,#1a237e);color:#fff;border:none}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000804d}.student-content-header{background:#fff;border-radius:16px;padding:1.5rem 2rem;box-shadow:0 4px 20px #00008014;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.btn-add-material{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;border-radius:25px;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4ecdc44d}.btn-add-material:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.btn-icon{font-size:1.25rem;font-weight:300}.materials-empty{background:#fff;border-radius:16px;padding:4rem 2rem;box-shadow:0 4px 20px #00008014;text-align:center}.materials-empty .empty-icon{font-size:4rem;margin-bottom:1rem}.materials-empty h3{margin:0 0 1rem;font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:600;color:navy}.materials-empty p{margin:0;font-family:Poppins,sans-serif;font-size:1rem;color:#666}.materials-list{display:flex;flex-direction:column;gap:2rem}.materials-date-group{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00008014}.materials-date-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.materials-date-header h3{margin:0;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:600;color:navy}.materials-count{font-family:Poppins,sans-serif;font-size:.85rem;color:#999;background:#f0f0f0;padding:.25rem .75rem;border-radius:15px}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.material-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.material-card:hover{border-color:gold;box-shadow:0 4px 20px #ffd70033;transform:translateY(-4px)}.material-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#0000800d,#0000801a);border-bottom:1px solid #e0e0e0}.material-type-icon{font-size:1.25rem}.material-delete-btn{width:24px;height:24px;border-radius:50%;background:transparent;color:#999;border:none;font-size:1.25rem;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.material-delete-btn:hover{background:#ff6b6b;color:#fff;transform:scale(1.1)}.material-card-body{padding:1rem;flex:1}.material-title{margin:0 0 .5rem;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;color:navy;line-height:1.4}.material-file-name{margin:0;font-family:Poppins,sans-serif;font-size:.85rem;color:#666}.material-youtube-preview{margin-top:.75rem;border-radius:8px;overflow:hidden}.youtube-thumbnail{width:100%;height:auto;display:block}.material-card-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8f9fa;border-top:1px solid #e0e0e0}.material-date{font-family:Poppins,sans-serif;font-size:.8rem;color:#999}.material-open-btn{padding:.4rem .8rem;background:linear-gradient(135deg,navy,#1a237e);color:#fff;border:none;border-radius:15px;font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s ease}.material-open-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000804d}@media(max-width:768px){.modal-content{max-width:100%;margin:0}.modal-header,.modal-body,.modal-footer{padding:1rem}.radio-group{flex-direction:column;gap:.5rem}.materials-grid{grid-template-columns:1fr}.student-content-header{flex-direction:column;align-items:flex-start}.btn-add-material{width:100%;justify-content:center}}.materials-feed{display:flex;flex-direction:column;gap:1.5rem}.materials-date-section{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00008014}.materials-date-header-feed{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,navy,#1a237e);border-bottom:1px solid #e0e0e0}.materials-date-header-feed h3{margin:0;font-family:Poppins,sans-serif;font-size:1rem;font-weight:700;color:gold;text-transform:uppercase;letter-spacing:.5px}.materials-count{font-family:Poppins,sans-serif;font-size:.8rem;color:#ffd700cc;background:#ffd7001a;padding:.25rem .75rem;border-radius:12px}.materials-date-items{display:flex;flex-direction:column}.material-item-feed{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;border-bottom:1px solid #f0f0f0;transition:background .2s ease}.material-item-feed:last-child{border-bottom:none}.material-item-feed:hover{background:#ffd7000d}.material-item-icon{font-size:1.25rem;flex-shrink:0}.material-item-link{flex:1;display:flex;flex-direction:column;gap:.125rem;text-decoration:none;color:inherit;cursor:pointer}.material-item-link:hover .material-item-title{color:navy;text-decoration:underline}.material-item-title{font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;color:#333;line-height:1.4}.material-item-filename{font-family:Poppins,sans-serif;font-size:.85rem;color:#999;font-style:italic}.material-item-delete{width:28px;height:28px;border-radius:50%;background:transparent;color:#999;border:none;font-size:1.5rem;line-height:1;cursor:pointer;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center}.material-item-delete:hover{background:#ff6b6b;color:#fff;transform:scale(1.1)}@media(max-width:768px){.materials-date-header-feed{padding:.875rem 1rem}.materials-date-header-feed h3{font-size:.9rem}.material-item-feed{padding:.75rem 1rem}.material-item-icon{font-size:1.1rem}.material-item-title{font-size:.9rem}.material-item-filename{font-size:.8rem}.material-item-delete{width:24px;height:24px;font-size:1.25rem}}.error-page{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Poppins,sans-serif;overflow:hidden}.error-background{position:absolute;inset:0;overflow:hidden;z-index:0;width:100%;height:100%}.gradient-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.6;animation:blobFloat 20s ease-in-out infinite}.blob-1{width:min(600px,50vw);height:min(600px,50vw);background:linear-gradient(135deg,#ffd70066,#ffa5004d);top:-200px;left:-200px;animation-delay:0s}.blob-2{width:min(500px,45vw);height:min(500px,45vw);background:linear-gradient(135deg,#87ceeb66,#45b7d14d);bottom:-150px;right:-150px;animation-delay:7s}.blob-3{width:min(400px,35vw);height:min(400px,35vw);background:linear-gradient(135deg,#4ecdc466,#44a08d4d);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:14s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(50px,50px) scale(1.1)}50%{transform:translateY(100px) scale(.9)}75%{transform:translate(-50px,50px) scale(1.05)}}.floating-elements{position:absolute;inset:0;z-index:2;pointer-events:none}.floating-element{position:absolute;opacity:.6;animation:floatUpDown ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}@keyframes floatUpDown{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(10deg)}}.error-content{position:relative;z-index:10;text-align:center;padding:clamp(.5rem,2vh,1.5rem);width:min(90vw,800px);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;margin:0 auto;animation:slideInUp .6s ease-out;container-type:inline-size}.error-content::-webkit-scrollbar{width:0;display:none}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.error-illustration{position:relative;margin-bottom:clamp(.5rem,2vh,1rem);display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,2vw,1rem)}.error-number{font-size:clamp(2rem,8vw,7rem);font-weight:900;background:linear-gradient(135deg,gold,orange,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;text-shadow:0 10px 30px rgba(255,165,0,.3);animation:numberPulse 2s ease-in-out infinite}@keyframes numberPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.error-emoji{font-size:clamp(2rem,7vw,5rem);animation:emojiBounce 2s ease-in-out infinite;filter:drop-shadow(0 10px 20px rgba(0,0,0,.15))}@keyframes emojiBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-20px) rotate(-5deg)}75%{transform:translateY(-10px) rotate(5deg)}}.error-text{margin-bottom:clamp(.75rem,2vh,1.5rem)}.error-title{font-size:clamp(1.2rem,3.5vw,2.2rem);font-weight:800;color:navy;margin:0 0 .2rem;line-height:1.1}.error-subtitle{font-size:clamp(.9rem,2vw,1.2rem);font-weight:600;color:orange;margin:0 0 .5rem}.error-description{font-size:clamp(.75rem,1.5vw,.95rem);color:#4a5568;line-height:1.4;margin:0 0 .4rem;max-width:90%;margin-left:auto;margin-right:auto}.error-suggestion{font-size:clamp(.7rem,1.3vw,.85rem);color:#718096;margin:0;font-style:italic}.error-actions{display:flex;gap:clamp(.5rem,1.5vw,.75rem);justify-content:center;margin-bottom:clamp(.75rem,2vh,1.5rem);flex-wrap:wrap}.error-btn{display:flex;align-items:center;gap:.4rem;padding:clamp(.5rem,1.5vh,.75rem) clamp(1rem,2vw,1.5rem);font-size:clamp(.75rem,1.3vw,.9rem);font-weight:600;font-family:Poppins,sans-serif;border:none;border-radius:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.error-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.error-btn:active{transform:translateY(-1px)}.error-btn-primary{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.error-btn-primary:hover{background:linear-gradient(135deg,#44a08d,#3a8f7d)}.error-btn-secondary{background:#fff;color:navy;border:2px solid #87CEEB}.error-btn-secondary:hover{background:linear-gradient(135deg,#87ceeb,#45b7d1);color:#fff;border-color:transparent}.btn-icon{font-size:clamp(1rem,1.2em,1.25rem);line-height:1}.quick-links{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:clamp(.5rem,1.5vh,1rem);box-shadow:0 10px 40px #0000001a;border:2px solid rgba(255,215,0,.3)}.quick-links-title{font-size:clamp(.65rem,1.2vw,.75rem);font-weight:600;color:#718096;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:1px}.quick-links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.4rem,1.5vw,.75rem)}.quick-link{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:clamp(.4rem,1.5vh,.75rem);background:#fff;border-radius:10px;text-decoration:none;color:navy;font-weight:600;font-size:clamp(.65rem,1.2vw,.8rem);transition:all .3s ease;border:2px solid rgba(135,206,235,.2);font-family:Poppins,sans-serif}.quick-link:hover{background:linear-gradient(135deg,#ffd70033,#87ceeb33);border-color:gold;transform:translateY(-3px);box-shadow:0 8px 20px #ffd70033}.quick-link-icon{font-size:clamp(1.2rem,1.5em,2rem);line-height:1}.fun-fact-card{background:linear-gradient(135deg,#ffd70033,#87ceeb33);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:clamp(.4rem,1.5vh,.75rem) clamp(.75rem,2vw,1rem);margin-bottom:clamp(.5rem,1.5vh,1rem);border:2px solid rgba(255,215,0,.3);display:flex;align-items:center;gap:clamp(.4rem,1.5vw,.75rem);animation:slideInUp .6s ease-out .2s backwards;transition:opacity .5s ease-in-out}.fun-fact-icon{font-size:clamp(1.2rem,1.5em,1.5rem);line-height:1;animation:iconWobble 2s ease-in-out infinite;flex-shrink:0}@keyframes iconWobble{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.fun-fact-text{font-size:clamp(.7rem,1.3vw,.85rem);color:#4a5568;line-height:1.3;margin:0;font-style:italic;font-weight:500;flex:1}.game-hint{background:#4ecdc426;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:clamp(.3rem,1vh,.5rem) clamp(.75rem,2vw,1rem);margin-top:clamp(.5rem,1.5vh,.75rem);border:2px solid rgba(78,205,196,.3);display:flex;align-items:center;justify-content:center;gap:clamp(.3rem,1vw,.5rem);animation:slideInUp .6s ease-out .4s backwards}.game-hint-icon{font-size:clamp(1rem,1.3em,1.25rem);animation:bounce 1s ease-in-out infinite;flex-shrink:0}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.game-hint span:not(.game-hint-icon){font-size:clamp(.7rem,1.2vw,.85rem);color:#4a5568;font-weight:600}@media(max-width:768px){.error-content{padding:1rem;max-height:100vh}.error-illustration{flex-direction:column;gap:.5rem}.error-text{margin-bottom:1rem}.error-actions{flex-direction:column;gap:.5rem;margin-bottom:1rem}.error-btn{width:100%;justify-content:center}.fun-fact-card{flex-direction:column;text-align:center;padding:.5rem .75rem}.quick-links{padding:.5rem .75rem}.quick-links-grid{grid-template-columns:repeat(2,1fr);gap:.4rem}.quick-link{padding:.4rem .5rem}.game-hint{flex-direction:column;text-align:center;padding:.4rem}.gradient-blob{filter:blur(40px)}.blob-1,.blob-2{width:300px;height:300px}.blob-3{width:200px;height:200px}}.particles-container{position:absolute;inset:0;pointer-events:none;z-index:5}.particle{position:absolute;border-radius:50%;pointer-events:none}.confetti{position:absolute;z-index:6;pointer-events:none}.floating-element{position:absolute;opacity:.7;animation:floatUpDown ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:all .3s ease;pointer-events:auto;-webkit-user-select:none;user-select:none}.floating-element:hover:not(.clicked){transform:scale(1.2);filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.floating-element.clicked{opacity:.2;animation:clickedFade .5s ease-out forwards}@keyframes clickedFade{0%{opacity:.7;transform:scale(1)}to{opacity:.2;transform:scale(.5)}}.element-points{position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;color:gold;text-shadow:0 2px 4px rgba(0,0,0,.3);opacity:0;animation:pointsFloat .8s ease-out;pointer-events:none;white-space:nowrap}@keyframes pointsFloat{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-30px)}}.score-display{position:fixed;top:clamp(1vh,2vw,2vh);right:clamp(1vw,2vw,2vw);display:flex;gap:clamp(.4rem,1vw,1rem);z-index:100}.score-item,.combo-display{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:clamp(.4rem,1vh,.75rem) clamp(.6rem,1.2vw,1rem);border-radius:12px;box-shadow:0 4px 20px #0000001a;border:2px solid rgba(255,215,0,.3);display:flex;flex-direction:column;align-items:center;gap:.2rem;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.score-label,.combo-label{font-size:clamp(.6rem,1vw,.75rem);font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.5px}.score-value,.combo-value{font-size:clamp(1rem,2vw,1.4rem);font-weight:800;color:navy}.combo-display{background:linear-gradient(135deg,gold,orange);border:none;transition:all .3s ease}.combo-display.combo-active{animation:comboPulse .5s ease-out}@keyframes comboPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.combo-label{color:#ffffffe6}.combo-value{color:#fff}@media(max-width:768px){.error-content{padding:1rem;max-height:100vh}.error-illustration{flex-direction:column;gap:.5rem}.error-text{margin-bottom:1rem}.error-actions{flex-direction:column;gap:.5rem;margin-bottom:1rem}.error-btn{width:100%;justify-content:center}.fun-fact-card{flex-direction:column;text-align:center;padding:.75rem}.quick-links{padding:.75rem 1rem}.quick-links-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.quick-link{padding:.5rem}.game-hint{flex-direction:column;text-align:center;padding:.5rem}.score-display{top:1vh;right:1vw;flex-direction:column;gap:.5rem}.score-item,.combo-display{padding:.4rem .6rem}.score-value,.combo-value{font-size:clamp(.9rem,2.5vw,1.1rem)}.gradient-blob{filter:blur(40px)}.blob-1,.blob-2{width:300px;height:300px}.blob-3{width:200px;height:200px}}@media(max-width:480px){.quick-links-grid{grid-template-columns:1fr}}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:420px;width:100%}.toast{position:relative;display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1rem 1rem .875rem;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000801f,0 2px 8px #00008014;pointer-events:all;animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;border-left:4px solid}.toast:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0000802e,0 4px 12px #0000801f}.toast-exiting{animation:toastSlideOut .3s cubic-bezier(.4,0,1,1) forwards}.toast-success{border-left-color:#4caf50;background:linear-gradient(135deg,#fff,#f8fff8)}.toast-success .toast-icon{color:#4caf50;background:linear-gradient(135deg,#4caf501f,#4caf5014)}.toast-success .toast-progress-bar{background:linear-gradient(90deg,#4caf50,#66bb6a)}.toast-error{border-left-color:#f44336;background:linear-gradient(135deg,#fff,#fff8f8)}.toast-error .toast-icon{color:#f44336;background:linear-gradient(135deg,#f443361f,#f4433614)}.toast-error .toast-progress-bar{background:linear-gradient(90deg,#f44336,#ef5350)}.toast-warning{border-left-color:orange;background:linear-gradient(135deg,#fff,#fffbf5)}.toast-warning .toast-icon{color:orange;background:linear-gradient(135deg,#ffa5001f,#ffa50014)}.toast-warning .toast-progress-bar{background:linear-gradient(90deg,orange,#ffb74d)}.toast-info{border-left-color:navy;background:linear-gradient(135deg,#fff,#f5f8ff)}.toast-info .toast-icon{color:navy;background:linear-gradient(135deg,#0000801f,#00008014)}.toast-info .toast-progress-bar{background:linear-gradient(90deg,navy,#1a237e)}.toast-icon{flex-shrink:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:10px}.toast-icon svg{width:1.375rem;height:1.375rem}.toast-content{flex:1;min-width:0;padding-top:.125rem}.toast-message{font-size:.9375rem;font-weight:500;line-height:1.5;color:#1a1a2e}.toast-success .toast-message{color:#1b5e20}.toast-error .toast-message{color:#c62828}.toast-warning .toast-message{color:#e65100}.toast-info .toast-message{color:navy}.toast-close{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#757575;transition:all .2s ease;margin-top:-.125rem}.toast-close:hover{background:#0000000f;color:#424242;transform:scale(1.1)}.toast-close:active{transform:scale(.95)}.toast-close svg{width:1rem;height:1rem}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000000f;overflow:hidden}.toast-progress-bar{height:100%;transition:width .05s linear;border-radius:0 2px 2px 0}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}@media(max-width:480px){.toast-container{top:1rem;right:1rem;left:1rem;max-width:none}.toast{padding:.875rem .875rem .875rem .75rem}.toast-icon{width:2rem;height:2rem}.toast-icon svg{width:1.25rem;height:1.25rem}.toast-message{font-size:.875rem}}@media(prefers-color-scheme:dark){.toast{background:linear-gradient(135deg,#1a1a2e,#16213e);box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}.toast-success{background:linear-gradient(135deg,#1a1a2e,#1a2e1f)}.toast-error{background:linear-gradient(135deg,#1a1a2e,#2e1a1a)}.toast-warning{background:linear-gradient(135deg,#1a1a2e,#2e261a)}.toast-info{background:linear-gradient(135deg,#1a1a2e,#1a1f2e)}.toast-message{color:#e0e0e0}.toast-close{color:#9e9e9e}.toast-close:hover{background:#ffffff1a;color:#fff}}.toast:focus-within{outline:2px solid #FFD700;outline-offset:2px}.toast-close:focus-visible{outline:2px solid #FFD700;outline-offset:2px}
