@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Oswald:wght@400;500;700&display=swap";.gallery-page{min-height:100vh;background:var(--color-bg-light);padding-top:5rem;padding-bottom:4rem}.gallery-hero{text-align:center;margin-bottom:4rem;padding:2rem 1rem}.gallery-hero h1{font-size:3.5rem;color:var(--color-text-dark);margin-bottom:1.5rem;font-weight:700;letter-spacing:1px}.gallery-hero h1 .highlight{color:var(--color-primary)}.gallery-hero p{font-size:1.25rem;color:var(--color-text-muted);max-width:800px;margin:0 auto;line-height:1.8}.gallery-filters{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;padding:0 1rem}.filter-btn{padding:.75rem 1.75rem;border:2px solid transparent;background:var(--color-white);color:var(--color-text-muted);font-weight:600;font-size:.95rem;border-radius:50px;cursor:pointer;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.filter-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.gallery-container{max-width:1400px;margin:0 auto;padding:0 2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.gallery-card{background:var(--color-white);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);position:relative}.gallery-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.gallery-card-image{position:relative;height:280px;overflow:hidden}.gallery-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-card:hover .gallery-card-image img{transform:scale(1.1)}.gallery-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 100%);opacity:0;transition:opacity var(--transition-normal)}.gallery-card:hover .gallery-card-overlay{opacity:1}.gallery-card-category{position:absolute;top:1rem;left:1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-dark);box-shadow:var(--shadow-sm)}.gallery-card-content{padding:1.5rem}.gallery-card-content h3{font-size:1.15rem;color:var(--color-text-dark);margin:0;transition:color var(--transition-normal);font-weight:600}.gallery-card:hover .gallery-card-content h3{color:var(--color-primary)}.gallery-empty{text-align:center;padding:4rem 2rem;background:var(--color-white);border-radius:16px;box-shadow:var(--shadow-sm);margin-top:2rem}.gallery-empty p{font-size:1.25rem;color:var(--color-text-muted)}@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}}@media(max-width:768px){.gallery-hero h1{font-size:2.5rem}.gallery-hero p{font-size:1.1rem}.gallery-grid{grid-template-columns:1fr;gap:1.5rem}.gallery-filters{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:2rem;width:100%}.filter-btn{padding:.6rem .5rem;font-size:.85rem;width:100%;display:flex;justify-content:center;align-items:center;text-align:center}.filter-btn:nth-child(5){grid-column:span 2}}.lightbox-overlay{position:fixed;inset:0;background-color:#000000f2;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;animation:fadeIn .3s forwards;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:2rem}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;animation:scaleUp .3s forwards;display:flex;flex-direction:column;align-items:center}.lightbox-image{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 5px 30px #00000080;display:block}.lightbox-caption{color:#fff;width:100%;margin-top:1rem;font-family:var(--font-heading);font-size:1.2rem;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.5);display:flex;justify-content:space-between;align-items:center;padding:0 1rem}.lightbox-download-btn{display:flex;align-items:center;justify-content:center;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem;border-radius:50%;text-decoration:none;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-download-btn:hover{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.1)}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer;transition:color .2s;padding:0;line-height:1;z-index:1001}.lightbox-close:hover{color:var(--color-primary)}@keyframes fadeIn{to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.9)}to{transform:scale(1)}}.gallery-card-image{cursor:zoom-in}:root{--color-primary: #CC0000;--color-primary-dark: #A30000;--color-bg-dark: #111111;--color-bg-light: #F5F5F5;--color-text-light: #F5F5F5;--color-text-dark: #111111;--color-text-muted: #666666;--color-white: #FFFFFF;--font-heading: "Oswald", sans-serif;--font-body: "Montserrat", sans-serif;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--transition-fast: .2s ease;--transition-normal: .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.2,.8,.2,1) forwards}.animate-fade-in{animation:fadeIn 1s ease-out forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--color-bg-light);color:var(--color-text-dark);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.5px}a{text-decoration:none;color:inherit}button{font-family:var(--font-heading);cursor:pointer}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg-dark)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}.light-scrollbar::-webkit-scrollbar-track{background:#f8fafc}.light-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1}.light-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:1024px){html{font-size:15px}section{padding-left:1.5rem!important;padding-right:1.5rem!important}}@media(max-width:768px){html{font-size:14px}body{overflow-x:hidden}section{padding:3rem 1rem!important}h1{font-size:2rem!important;line-height:1.2!important}h2{font-size:1.6rem!important}h3{font-size:1.3rem!important}button,a[role=button],.btn{min-height:44px;min-width:44px}[style*=grid-template-columns]{grid-template-columns:1fr!important}[style*="display: flex"][style*=gap]{flex-wrap:wrap}footer{padding:2rem 1rem!important;text-align:center}footer>div{text-align:center}}@media(max-width:480px){html{font-size:13px}section{padding:2rem .75rem!important}h1{font-size:1.75rem!important;letter-spacing:1px!important}h2{font-size:1.4rem!important}[style*="display: flex"][style*="gap: 1rem"]{flex-direction:column;align-items:center}}.home-page,.dashboard-page,.about-page,.classes-page,.gallery-page,.contact-page{overflow-x:hidden;max-width:100vw}.hero-logo{width:150px;height:150px;border-radius:50%;overflow:hidden;margin-bottom:1rem;box-shadow:0 0 25px #c009;display:inline-block}@media screen and (min-width:1024px)and (max-width:1440px)and (max-height:900px){.hero-logo{margin-top:6rem}}.dashboard-card{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:1rem;border:1px solid #e0e0e0;height:auto}@media(min-width:768px){.dashboard-card{height:100%;min-height:220px}}.table-responsive-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;margin-bottom:1rem}.table-responsive-wrapper table{min-width:600px}@media(max-width:768px){.admin-messages-container.conv-selected .admin-conv-list{display:none!important}.admin-messages-container:not(.conv-selected) .admin-chat-view{display:none!important}}@media(min-width:769px){.mobile-back-btn{display:none!important}}.admin-messages-page{padding:2rem}@media(max-width:768px){.admin-messages-page{padding:0!important}}.admin-dashboard-layout{padding:100px 2rem 2rem}@media(max-width:768px){.admin-dashboard-layout{padding:80px 1rem 1rem!important}.admin-dashboard-layout>.admin-dashboard-inner{padding:0!important}.admin-messages-container{margin-left:-1rem!important;margin-right:-1rem!important;border-radius:0!important}.admin-conv-list,.admin-chat-view{border-radius:0!important;border-left:none!important;border-right:none!important}.admin-table-container{margin-left:-1rem!important;margin-right:-1rem!important}}@media(max-width:768px){.responsive-progress-table table,.responsive-progress-table thead,.responsive-progress-table tbody,.responsive-progress-table th,.responsive-progress-table td,.responsive-progress-table tr{display:block;width:100%}.responsive-progress-table thead{display:none}.responsive-progress-table table{background:transparent!important}.responsive-progress-table tr{margin-bottom:1.5rem;border:1px solid #eee;border-radius:12px;background:#fff;box-shadow:0 4px 6px #0000000d;padding:1rem}.responsive-progress-table td{padding:.5rem 0!important;border-bottom:none!important}.responsive-progress-table td:nth-of-type(1){border-bottom:1px solid #f5f5f5!important;padding-bottom:1rem!important;margin-bottom:.5rem}.responsive-progress-table td:nth-of-type(2){display:inline-block;width:50%;box-sizing:border-box;border-right:1px solid #f5f5f5!important;padding-right:.5rem!important;vertical-align:top}.responsive-progress-table td:nth-of-type(3){display:inline-block;width:50%;box-sizing:border-box;padding-left:1rem!important;vertical-align:top}.responsive-progress-table td:nth-of-type(4){border-top:1px solid #f5f5f5!important;padding-top:1rem!important;margin-top:.5rem}.responsive-progress-table td:nth-of-type(4) button{width:100%;justify-content:center;background-color:var(--color-primary)!important;color:#fff!important;border:none!important;padding:.8rem!important;font-weight:700;border-radius:8px!important}}@media(max-width:768px){.mobile-column-gauge{flex-direction:column!important;align-items:center!important;text-align:center;gap:.4rem!important}.responsive-attendance-table table,.responsive-attendance-table thead,.responsive-attendance-table tbody,.responsive-attendance-table th,.responsive-attendance-table td,.responsive-attendance-table tr{display:block;width:100%}.responsive-attendance-table thead{display:none}.responsive-attendance-table table{background:transparent!important}.responsive-attendance-table tr{margin-bottom:1.5rem;border:1px solid #eee;border-radius:12px;background:#fff;box-shadow:0 4px 6px #0000000d;padding:1rem}.responsive-attendance-table td{padding:.5rem 0!important;border-bottom:none!important}.responsive-attendance-table td:nth-of-type(1){border-bottom:1px solid #f5f5f5!important;padding-bottom:1rem!important;margin-bottom:.5rem}.responsive-attendance-table td:nth-of-type(1) .student-info-flex{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important}.responsive-attendance-table td:nth-of-type(2){display:block}.mobile-attendance-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}.mobile-attendance-grid button{width:100%;justify-content:center;padding:.6rem .5rem!important;font-size:.9rem!important}.responsive-attendance-table td:nth-of-type(3){border-top:1px solid #f5f5f5!important;padding-top:1rem!important;margin-top:.5rem;display:flex;justify-content:center}}.mobile-attendance-grid{display:flex;gap:.5rem}.student-info-flex{display:flex;align-items:center;gap:1rem}.student-info-responsive{display:flex;flex-direction:row;align-items:center;gap:1rem;text-align:left}.fee-badges-responsive{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap;justify-content:flex-start}@media(max-width:768px){.student-info-responsive{flex-direction:column!important;justify-content:center!important;text-align:center!important;gap:.5rem!important}.fee-badges-responsive{justify-content:center!important}}.attendance-action-grid{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.stat-pill{padding:.5rem 1rem;border-radius:20px;display:flex;align-items:center;gap:.4rem;font-weight:500;font-size:.9rem;justify-content:center}.end-session-btn{flex-grow:1;max-width:300px;display:flex;align-items:center;gap:.5rem;justify-content:center;padding:.7rem 1.5rem;border-radius:30px;font-weight:700;font-size:.95rem;border:none;transition:all .2s}@media(max-width:768px){.attendance-action-grid{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.6rem}.stat-pill{padding:.6rem .2rem;font-size:.85rem;border-radius:12px}.end-session-btn{width:100%;max-width:none;padding:.6rem .2rem;font-size:.85rem;border-radius:12px}}.admin-header-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.admin-header-left{display:flex;alignItems:center;gap:16px}.admin-header-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:900px){.admin-header-container{flex-direction:column;align-items:stretch;gap:1.5rem}.admin-header-left{width:100%;justify-content:center;align-items:center!important;text-align:center;flex-direction:column;gap:10px}.admin-header-left h1{font-size:1.4rem!important}.admin-header-right{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.dash-header-actions{grid-column:1 / -1;justify-content:center;margin:0 0 1rem!important;width:100%}.nav-dropdown-wrapper{width:100%}.nav-dropdown-btn{width:100%;padding:.8rem .4rem!important;min-width:0!important;font-size:.8rem!important}}@media(max-width:900px){.admin-header-right>.nav-dropdown-wrapper:last-child:nth-child(2n){grid-column:1 / -1}}.fees-grid-layout{display:grid;grid-template-columns:1fr 2fr}@media(max-width:900px){.fees-grid-layout{grid-template-columns:1fr}}
