@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap);:root{--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f180;--secondary-color:#8b5cf6;--secondary-hover:#7c3aed;--accent-color:#2dd4bf;--accent-glow:#2dd4bf80;--danger-color:#f43f5e;--warning-color:#fbbf24;--text-main:#f8fafc;--text-muted:#94a3b8;--text-light:#cbd5e1;--bg-main:#0f172a;--bg-card:#1e293b99;--bg-glass:#0f172a80;--border-color:#ffffff1a;--glass-border:#ffffff26;--glass-highlight:#ffffff40;--shadow-glow:0 0 15px var(--primary-glow);--glass-shadow:0 8px 32px 0 #0000004d;--font-family-base:"Plus Jakarta Sans",sans-serif;--font-family-heading:"Outfit",sans-serif;--radius-sm:0.375rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--transition-fast:200ms cubic-bezier(0.4,0,0.2,1);--transition-normal:400ms cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;background-color:#0f172a;background-color:var(--bg-main);background-image:radial-gradient(circle at 15% 50%,#6366f126,#0000 25%),radial-gradient(circle at 85% 30%,#2dd4bf1a,#0000 25%);color:#f8fafc;color:var(--text-main);font-family:var(--font-family-base)}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-family:var(--font-family-heading);font-weight:700;letter-spacing:-.5px;margin-top:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glass-panel{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#0f172a80;background:var(--bg-glass);border:1px solid #ffffff26;border:1px solid var(--glass-border);border-radius:1rem;border-radius:var(--radius-lg);box-shadow:0 8px 32px 0 #0000004d;box-shadow:var(--glass-shadow);transition:all .4s cubic-bezier(.16,1,.3,1);transition:all var(--transition-normal)}.glass-panel:hover{border-color:#ffffff40;border-color:var(--glass-highlight);box-shadow:0 0 15px #6366f180;box-shadow:var(--shadow-glow)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#6366f1;background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2dd4bf;background:var(--accent-color)}input,select,textarea{color:#f8fafc;color:var(--text-main)}::placeholder{color:#fff9!important;opacity:1}:-ms-input-placeholder{color:#fff9!important}::-ms-input-placeholder{color:#fff9!important}:root{--glass-bg:#ffffff14;--glass-border:#fff3;--glass-shadow:0 8px 32px 0 #1f268733;--primary-glow:#6366f199;--accent-glow:#2dd4bf99}body{background:#0f172a;font-family:Plus Jakarta Sans,sans-serif;margin:0;min-height:100vh;overflow:hidden;padding:0}.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative;z-index:1}.login-bg-shapes{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:-1}.shape{animation:float 20s ease-in-out infinite alternate;border-radius:50%;filter:blur(80px);opacity:.6;position:absolute}.shape-1{animation-delay:0s;background:linear-gradient(135deg,#6366f1,#8b5cf6);height:500px;left:-10%;top:-10%;width:500px}.shape-2{animation-delay:-5s;background:linear-gradient(135deg,#2dd4bf,#3b82f6);bottom:-20%;height:600px;right:-10%;width:600px}.shape-3{animation-delay:-10s;background:linear-gradient(135deg,#f43f5e,#db2777);height:300px;left:50%;top:40%;width:300px}@keyframes float{0%{transform:translate(0) scale(1)}50%{transform:translate(50px,50px) scale(1.1)}to{transform:translate(-50px,-20px) scale(.9)}}.login-container{animation:slideUp .8s cubic-bezier(.16,1,.3,1) forwards;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff14;background:var(--glass-bg);border:1px solid #fff3;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 8px 32px 0 #1f268733;box-shadow:var(--glass-shadow);display:flex;max-width:1100px;overflow:hidden;position:relative;width:100%}.login-container:before{animation:shine 6s infinite;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transform:skewX(-20deg);width:50%}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{0%{left:-100%}20%{left:200%}to{left:200%}}.branding-column{align-items:center;background:#ffffff08;border-right:1px solid #fff3;border-right:1px solid var(--glass-border);display:flex;flex:1.2 1;flex-direction:column;justify-content:center;padding:50px;position:relative;text-align:center}.branding-content{max-width:420px;z-index:2}.welcome-message{color:#fffc;font-family:Outfit,sans-serif;font-size:22px;font-weight:500;letter-spacing:2px;margin-bottom:5px;text-transform:uppercase}.school-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;background-clip:text;font-family:Outfit,sans-serif;font-size:48px;font-weight:800;line-height:1.1;margin-bottom:30px;margin-top:5px;text-shadow:0 4px 20px #0003}.illustration-image{filter:drop-shadow(0 20px 30px rgba(0,0,0,.4));height:auto;margin:20px 0;max-width:100%;transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.illustration-image:hover{transform:translateY(-15px) scale(1.05)}.quote{color:#ffffffb3;font-size:16px;font-style:italic;line-height:1.6;margin:20px 0 10px}.quote-author{color:#2dd4bf;font-size:14px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.form-column{align-items:center;background:#0f172a99;display:flex;flex:1 1;justify-content:center;padding:50px 40px}.login-form-container{max-width:380px;width:100%}.school-logo{margin-bottom:40px;text-align:center}.school-text{color:#fff;font-size:36px;font-weight:800;letter-spacing:-1px}.school-subtext,.school-text{font-family:Outfit,sans-serif;margin:0}.school-subtext{color:#94a3b8;font-size:20px;font-weight:500}.school-subtext span{color:#6366f1;font-weight:700}.login-title{color:#fff;font-size:24px;font-weight:700;margin:0 0 30px;text-align:left}.input-with-icon{margin-bottom:22px;position:relative}.input-icon{color:#64748b;font-size:16px;left:18px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:1}.input-with-icon input,.input-with-icon select{background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;box-sizing:border-box;color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:15px;outline:none;padding:16px 16px 16px 48px;transition:all .3s ease;width:100%}.input-with-icon input::placeholder{color:#64748b}.input-with-icon input:focus,.input-with-icon select:focus{background-color:#ffffff14;border-color:#6366f1;box-shadow:0 0 0 4px #6366f126,0 0 20px #6366f133}.input-with-icon input:focus~.input-icon,.input-with-icon select:focus~.input-icon{color:#6366f1;transform:translateY(-50%) scale(1.1)}.office-select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2394a3b8%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;cursor:pointer}.office-select option{background-color:#1e293b;color:#fff}.password-toggle{color:#64748b;cursor:pointer;position:absolute;right:18px;top:50%;transform:translateY(-50%);transition:color .3s ease;z-index:10}.password-toggle:hover{color:#6366f1}.recaptcha-group{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:14px;display:flex;gap:12px;margin-bottom:30px;padding:10px}.captcha-input{background-color:#0003;border:1px solid #ffffff1a;border-radius:10px;color:#fff;flex:1 1;font-size:15px;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.captcha-input:focus{border-color:#2dd4bf;box-shadow:0 0 0 2px #2dd4bf33}.captcha-text{background:linear-gradient(135deg,#6366f133,#2dd4bf33);border:1px solid #ffffff1a;border-radius:10px;color:#2dd4bf;font-family:Courier New,Courier,monospace;font-size:20px;font-weight:800;letter-spacing:4px;padding:10px 18px;text-shadow:0 0 10px #2dd4bf66;-webkit-user-select:none;user-select:none}.refresh-captcha-icon{border-radius:50%;color:#94a3b8;cursor:pointer;font-size:20px;padding:8px;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.refresh-captcha-icon:hover{background:#ffffff0d;color:#2dd4bf;transform:rotate(180deg) scale(1.1)}.login-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:14px;box-shadow:0 10px 20px -10px #6366f180;color:#fff;cursor:pointer;font-family:Outfit,sans-serif;font-size:16px;font-weight:700;letter-spacing:1px;overflow:hidden;padding:16px;position:relative;text-transform:uppercase;transition:all .3s ease;width:100%}.login-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.login-btn:hover{box-shadow:0 15px 25px -10px #6366f1b3;transform:translateY(-3px)}.login-btn:hover:before{animation:none;left:100%}.login-btn:active{transform:translateY(0)}.forgot-password{color:#94a3b8;display:block;font-size:14px;font-weight:600;margin-top:25px;text-align:center;text-decoration:none;transition:all .3s ease}.forgot-password:hover{color:#fff;text-shadow:0 0 10px #ffffff80}@media (max-width:900px){.login-container{flex-direction:column;max-width:500px}.branding-column{border-bottom:1px solid #fff3;border-bottom:1px solid var(--glass-border);border-right:none;padding:40px 30px}.school-name{font-size:36px}.illustration-image{max-width:250px}}@media (max-width:480px){.form-column{padding:30px 20px}.recaptcha-group{flex-wrap:wrap;justify-content:center}.captcha-input{margin-bottom:10px;min-width:100%}}.dashboard-content-container{animation:fadeIn .6s ease-out;display:flex;flex-direction:column;gap:30px}.welcome-banner{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:linear-gradient(135deg,#6366f1cc,#8b5cf6cc);border:1px solid #fff3;border-radius:var(--radius-2xl);box-shadow:0 10px 40px -10px var(--primary-color);padding:40px}.welcome-banner:before{animation:pulse 10s infinite alternate;background:radial-gradient(circle,#ffffff1a 0,#0000 60%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.2)}}.banner-content{z-index:2}.banner-date{color:#fffc;font-family:var(--font-family-base);letter-spacing:1px;text-transform:uppercase}.banner-title{font-family:var(--font-family-heading);font-size:42px;font-weight:800;text-shadow:0 4px 15px #0000004d}.highlight-goal{color:#2dd4bf;font-weight:800;text-shadow:0 0 15px #2dd4bfcc}.banner-illustration{position:relative;right:20px;z-index:2}.stats-grid{grid-gap:25px;gap:25px}.stat-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);overflow:hidden;padding:25px;position:relative}.stat-card:before{background:linear-gradient(45deg,#0000,#ffffff0d,#0000);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s;width:100%}.stat-card:hover{border-color:var(--glass-highlight);box-shadow:var(--shadow-glow)}.stat-card:hover:before{transform:translateX(100%)}.stat-icon{background:#2dd4bf1a;border-radius:12px;box-shadow:inset 0 0 10px #2dd4bf33;color:var(--accent-color);font-size:28px;padding:15px}.stat-info h3{color:var(--text-muted);font-family:var(--font-family-base);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.stat-info .stat-value{color:var(--text-main);font-family:var(--font-family-heading);font-size:32px;font-weight:800;margin:5px 0 0}.dashboard-grid{grid-gap:25px;gap:25px}.calendar-card,.events-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);padding:25px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-card h3,.chart-card h3,.events-card h3{color:var(--text-main);font-family:var(--font-family-heading);font-size:20px;font-weight:700;margin:0}.calendar-nav{color:var(--text-muted);cursor:pointer;display:flex;gap:15px}.calendar-nav svg:hover{color:var(--primary-color);filter:drop-shadow(0 0 5px var(--primary-color))}.calendar-grid{grid-gap:8px;gap:8px}.calendar-day-header{color:var(--text-muted);font-size:14px;font-weight:700;padding:10px 0}.calendar-day{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;color:#fff;font-size:15px;font-weight:500;padding:10px 0;transition:all .3s}.calendar-day:hover{background:#ffffff26;box-shadow:0 0 10px #fff3}.calendar-day.active{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 15px var(--primary-glow);font-weight:800}.calendar-day.highlighted-day{background:var(--accent-color);border-color:var(--accent-color);box-shadow:0 0 15px var(--accent-glow);color:#000;font-weight:800}.quick-actions{gap:15px;margin-top:25px}.add-event-btn,.announcement-btn{border-radius:10px;font-weight:700;letter-spacing:1px;padding:12px;text-transform:uppercase;transition:all .3s}.add-event-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 5px 15px #6366f166}.add-event-btn:hover{box-shadow:0 8px 20px #6366f199;transform:translateY(-2px)}.announcement-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-light)}.announcement-btn:hover{background:#ffffff1a;color:#fff}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.announcement-modal{display:flex;flex-direction:column;gap:15px;max-width:500px;padding:30px;width:90%}.announcement-modal h3{font-size:24px;margin:0}.announcement-modal p{color:var(--text-muted);font-size:14px;margin:0 0 10px}.announcement-modal textarea{background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);color:#fff;font-family:inherit;outline:none;padding:15px;resize:none;transition:all .3s;width:100%}.announcement-modal textarea:focus{border-color:var(--primary-color);box-shadow:0 0 10px #6366f14d}.modal-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:15px}.cancel-btn,.send-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:700;padding:12px 20px;transition:all .3s}.cancel-btn{background:#0000;border:1px solid var(--glass-border);color:var(--text-light)}.cancel-btn:hover{background:#ffffff1a}.close-btn,.send-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 5px 15px #6366f166;color:#fff}.close-btn:hover,.send-btn:hover{box-shadow:0 8px 20px #6366f199;transform:translateY(-2px)}.event-detail-modal{border-radius:var(--radius-xl);display:flex;flex-direction:column;max-width:450px;overflow:hidden;padding:0;width:90%}.modal-header{align-items:center;background:#0003;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h3{color:#fff;font-size:22px;margin:0;text-shadow:0 2px 5px #00000080}.holiday-header{border-top:4px solid var(--accent-color)}.festival-header{border-top:4px solid var(--danger-color)}.modal-body{display:flex;flex-direction:column;gap:15px;padding:30px}.event-info-row{align-items:center;border-bottom:1px dashed #ffffff1a;color:var(--text-light);display:flex;font-size:15px;justify-content:space-between;margin:0;padding-bottom:15px}.event-info-row strong{color:#fff;font-family:var(--font-family-heading);letter-spacing:.5px}.applies-to-badge{background:#ffffff1a;border:1px solid #fbbf2466;border-radius:20px;color:var(--warning-color);font-size:13px;font-weight:700;padding:5px 12px}.event-description-box{background:#0003;border-left:3px solid var(--primary-color);border-radius:var(--radius-md);margin-top:5px;padding:20px}.event-description-box p{color:#fff;font-size:15px;line-height:1.6;margin:0}.event-detail-modal .modal-actions{margin-top:0;padding:0 30px 30px}.event-list{gap:15px;margin-top:20px;padding:0}.event-list li{align-items:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;cursor:pointer;padding:15px;transition:all .3s}.event-list li:hover{background:#ffffff0d;border-color:#ffffff1a;transform:translateX(5px)}.event-detail{color:var(--text-main);font-size:15px;font-weight:600}.event-tag{border-radius:20px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.event-tag.holiday{background:var(--accent-color);border:none;box-shadow:0 0 10px var(--accent-glow);color:#000}.event-tag.festival{background:var(--danger-color);border:none;box-shadow:0 0 10px #f43f5e80;color:#fff}.charts-grid{grid-gap:25px;gap:25px}.chart-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);padding:25px}.chart-card h3{margin-bottom:25px}.bar-chart-placeholder{border-bottom:1px solid #ffffff1a;gap:20px;height:220px}.bar{background:linear-gradient(to top,var(--primary-color),var(--secondary-color));border-radius:8px 8px 0 0;box-shadow:0 0 15px #6366f14d;flex:1 1;transition:height .5s ease}.bar:hover{box-shadow:0 0 25px #6366f199;filter:brightness(1.2)}.chart-legend{color:var(--text-muted);font-size:13px;font-weight:600;justify-content:space-between;margin-top:15px}.donut-chart-placeholder{height:220px}.donut-chart-placeholder:after{color:var(--text-main);content:"Teacher Ratio";font-size:16px;font-weight:700;text-align:center;width:100px}.donut-segment{border:20px solid;border-radius:50%;box-sizing:border-box;height:180px;position:absolute;width:180px}.donut-segment.math{border-color:var(--primary-color) #0000 #0000 #0000;filter:drop-shadow(0 0 10px var(--primary-color));transform:rotate(45deg)}.donut-segment.science{border-color:#0000 var(--accent-color) #0000 #0000;filter:drop-shadow(0 0 10px var(--accent-color));transform:rotate(45deg)}.donut-segment.humanities{border-color:#0000 #0000 var(--secondary-color) #0000;filter:drop-shadow(0 0 10px var(--secondary-color));transform:rotate(45deg)}.chart-legend-bottom{color:var(--text-muted);font-weight:600;margin-top:15px}@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.charts-grid,.stats-grid{grid-template-columns:1fr}.welcome-banner{flex-direction:column;padding:30px 20px;text-align:center}.banner-illustration{margin-top:20px;right:0}}.dashboard-container{display:flex}.dashboard-container.dark-mode{background-color:#1a202c;color:#e2e8f0}.dashboard-container.dark-mode .sidebar{background-color:#2d3748;border-right-color:#4a5568}.dashboard-container.dark-mode .sidebar-menu-item{color:#e2e8f0}.dashboard-container.dark-mode .sidebar-menu-item:hover{background:#4a5568}.dashboard-container.dark-mode .sidebar-menu-item.active{background:#f97316;color:#fff}.dashboard-container.dark-mode .sidebar-footer{border-top-color:#4a5568}.dashboard-container.dark-mode .sidebar-footer-item{color:#e2e8f0}.dashboard-container.dark-mode .sidebar-profile .profile-email{color:#a0aec0}.dashboard-container.dark-mode .main-content{background-color:#1a202c}.dashboard-container.dark-mode .calendar-card,.dashboard-container.dark-mode .chart-card,.dashboard-container.dark-mode .events-card,.dashboard-container.dark-mode .stat-card{background-color:#2d3748;box-shadow:0 4px 10px #0006}.dashboard-container.dark-mode .calendar-card h3,.dashboard-container.dark-mode .chart-card h3,.dashboard-container.dark-mode .events-card h3,.dashboard-container.dark-mode .stat-card .stat-value,.dashboard-container.dark-mode .stat-card h3{color:#e2e8f0}.dashboard-container.dark-mode .dashboard-header-main{background-color:initial;border-bottom-color:#4a5568}.dashboard-container.dark-mode .search-input{background-color:#4a5568;border-color:#4a5568;color:#e2e8f0}.dashboard-container.dark-mode .dropdown-arrow,.dashboard-container.dark-mode .header-icon,.dashboard-container.dark-mode .search-icon{color:#a0aec0}.dashboard-container.dark-mode .dropdown-menu{background-color:#2d3748;border-color:#4a5568}.dashboard-container.dark-mode .dropdown-item{color:#e2e8f0}.dashboard-container.dark-mode .dropdown-item:hover{background-color:#4a5568}.dashboard-container.dark-mode .welcome-banner{background:linear-gradient(135deg,#1d4ed8,#3b82f6);box-shadow:0 10px 20px #0006}.dashboard-container.dark-mode .highlight-goal{color:#bfdbfe}.dashboard-container.dark-mode .calendar-grid .calendar-day{color:#e2e8f0}.dashboard-container.dark-mode .calendar-grid .calendar-day-header{color:#a0aec0}.sidebar{background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;justify-content:space-between;left:0;overflow-y:auto;padding:20px 0;position:fixed;top:0;transition:width .3s ease;width:240px;z-index:100}.sidebar-header{padding:0 20px;position:relative;text-align:center}.app-logo{color:#f97316;font-size:2em;font-weight:700;margin-bottom:20px}.sidebar.collapsed .app-logo{display:none}.collapse-btn{background:#2c3e50;border:none;border-radius:50%;box-shadow:0 2px 5px #0000001a;color:#fff;cursor:pointer;padding:8px;position:absolute;right:-15px;top:15px;transition:all .3s ease}.sidebar.collapsed .collapse-btn{right:-30px}.sidebar-menu{display:flex;flex-direction:column;gap:8px;padding:0 12px}.sidebar-menu-item{align-items:center;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;margin-bottom:4px;padding:14px 16px;text-decoration:none;transition:all var(--transition-fast)}.sidebar-menu-item:hover{background:var(--bg-main);color:var(--primary-color);transform:translateX(4px)}.sidebar-menu-item.active{background:var(--primary-light);color:var(--primary-color);font-weight:600}.sidebar-footer{border-top:1px solid #dee1e6;padding:12px}.sidebar-footer-item{color:#565d6d;cursor:pointer;font-size:14px}.sidebar-footer-item,.sidebar-profile{align-items:center;display:flex;gap:10px;padding:10px 0}.sidebar-profile{margin-top:10px}.profile-pic{border-radius:50%;height:40px;width:40px}.profile-info{display:flex;flex-direction:column}.profile-name{font-size:14px;font-weight:600;margin:0}.profile-email{color:#777;font-size:12px;margin:0}.sidebar.collapsed{width:80px}.sidebar.collapsed .app-logo,.sidebar.collapsed .sidebar-footer-item span,.sidebar.collapsed .sidebar-menu-item span,.sidebar.collapsed .sidebar-profile .profile-info{display:none}.sidebar.collapsed .sidebar-menu-item,.sidebar.collapsed .sidebar-profile{justify-content:center}.main-content{height:100vh;overflow-x:hidden;overflow-y:auto}.main-content.full-width{margin-left:80px}.welcome-banner{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:#fff;display:flex;justify-content:space-between;margin-bottom:30px;overflow:hidden;padding:30px 40px;position:relative;transform:perspective(1000px) rotateX(2deg) rotateY(-2deg) scale(1);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.welcome-banner:hover{box-shadow:0 20px 40px #4f46e54d;transform:perspective(1000px) rotateX(0deg) rotateY(0deg) scale(1.02)}.banner-content{z-index:1}.banner-date{font-size:14px;font-weight:500;margin-bottom:5px;opacity:.8}.banner-title{font-size:36px;font-weight:700;margin:10px 0;text-shadow:2px 2px 4px #0000004d}.banner-goal{font-size:16px;opacity:.9}.highlight-goal{color:#ffe082;font-weight:700;text-shadow:1px 1px 2px #0003}.banner-illustration{align-items:flex-end;bottom:0;display:flex;height:120px;justify-content:center;position:absolute;right:40px;transform:rotate(10deg);width:120px}.graduation-cap{background-color:#8c7ae6;border-radius:8px;box-shadow:-5px 5px 10px #0000004d,inset 0 0 10px #ffffff1a;height:50px;position:relative;transform:rotateX(25deg) rotateY(-15deg);transform-style:preserve-3d;width:90px}.graduation-cap:before{background-color:#7b68ee;border-radius:8px;height:70px;left:-10px;top:-10px;transform:translateZ(-10px);width:110px}.graduation-cap:after,.graduation-cap:before{box-shadow:0 2px 5px #0003;content:"";position:absolute}.graduation-cap:after{background-color:#fc0;border-radius:50%;bottom:5px;height:15px;right:-5px;transform:translateZ(10px);width:15px}.dashboard-header-main{align-items:center;border-bottom:1px solid #dee1e6;display:flex;justify-content:space-between;margin-bottom:24px;padding:15px 0}.search-bar-container{position:relative;width:300px}.search-input{background-color:#f0f2f5;border:none;border-radius:20px;font-size:14px;padding:10px 40px 10px 20px;width:100%}.search-icon{color:#888;cursor:pointer;right:15px}.header-right{align-items:center;display:flex;gap:20px}.header-icon{color:#555;cursor:pointer;font-size:20px}.profile-dropdown-container{position:relative}.profile-trigger{align-items:center;cursor:pointer;display:flex;gap:10px}.profile-pic-header{border-radius:50%;height:40px;width:40px}.profile-info-header{text-align:left}.profile-name-header{font-size:14px;font-weight:700;margin:0}.profile-role-header{color:#777;font-size:12px;margin:0}.dropdown-arrow{color:#555;font-size:14px;transition:transform .3s ease}.profile-trigger:hover .dropdown-arrow{transform:translateY(-50%) rotate(180deg)}.dropdown-menu{background-color:#fff;border:1px solid #dee1e6;border-radius:8px;box-shadow:0 4px 8px #0000001a;list-style:none;position:absolute;right:0;top:60px;width:200px;z-index:100}.dropdown-item{color:#333;display:block;font-size:14px;padding:10px 15px;text-decoration:none}.dropdown-item:hover{background-color:#f5f5f5}.theme-toggle-btn{background:none;border:none;color:#555;cursor:pointer;font-size:1.2em}.main-content{flex:1 1;margin-left:240px;padding:24px;transition:margin-left .3s ease}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.stat-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:20px;padding:24px;transition:all var(--transition-normal)}.stat-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.stat-card .stat-icon{color:#8f4806;font-size:24px}.stat-card .stat-info{display:flex;flex-direction:column}.stat-card h3{color:#565d6d;font-size:14px;font-weight:500;margin:0}.stat-card .stat-value{color:#171a1f;font-size:22px;font-weight:700;margin:0}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 2fr;margin-bottom:24px}.calendar-card,.events-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.calendar-card .card-header,.events-card .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.calendar-card h3,.events-card h3{font-size:18px;font-weight:600;margin:0}.calendar-card .calendar-nav{color:#565d6d;cursor:pointer;display:flex;gap:10px}.calendar-card .calendar-nav svg:hover{color:#171a1f}.calendar-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-day-header{color:#565d6d;font-weight:600;padding:8px 0}.calendar-day{border-radius:4px;color:#333;cursor:pointer;font-size:14px;padding:8px 0;transition:background .2s}.calendar-day:hover{background:#f0f0f0}.calendar-day.active{background:#f97316;color:#fff;font-weight:600}.calendar-day.highlighted-day{background:#fde1c8;color:#8f4806;font-weight:600}.quick-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}.add-event-btn,.announcement-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px;transition:background .2s;width:100%}.add-event-btn{background:#f97316;color:#fff}.add-event-btn:hover{background:#ea580c}.announcement-btn{background:#e5e7eb;color:#565d6d}.announcement-btn:hover{background:#d1d5db}.event-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin-top:16px}.event-list li{align-items:flex-start;border-bottom:1px solid #eee;display:flex;font-size:14px;justify-content:space-between;padding-bottom:8px}.event-list li:last-child{border-bottom:none;padding-bottom:0}.event-detail{color:#171a1f;display:flex;flex-direction:column}.event-description{color:#565d6d;font-size:12px}.event-tag{border-radius:12px;font-size:12px;font-weight:600;padding:2px 8px;white-space:nowrap}.event{background:#fde1c8;color:#8f4806}.exam{background:#fee2e2;color:#b91c1c}.holiday{background:#dcfce7;color:#166534}.charts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}.chart-card h3{font-size:18px;font-weight:600;margin-bottom:15px}.bar-chart-placeholder{align-items:flex-end;border-bottom:1px solid #eee;display:flex;gap:15px;height:200px;padding-top:20px;position:relative}.bar-chart-placeholder:before{background-image:linear-gradient(0deg,#e5e7eb 1px,#0000 0);background-size:100% 20%;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.bar{background-color:#f97316;border-top-left-radius:4px;border-top-right-radius:4px;position:relative;transition:height .3s ease-in-out;width:40px;z-index:1}.bar-label{bottom:-20px;color:#565d6d;font-size:12px;left:50%;position:absolute;transform:translateX(-50%);white-space:nowrap}.bar.grade-9{background-color:#f97316;height:70%}.bar.grade-10{background-color:#171a1f;height:90%}.bar.grade-11{background-color:#fde1c8;height:40%}.bar.grade-12{background-color:silver;height:60%}.chart-legend{color:#565d6d;display:flex;font-size:12px;justify-content:space-around;margin-top:10px}.donut-chart-placeholder{align-items:center;background:conic-gradient(#f97316 0 25%,#ea580c 25% 40%,#fde1c8 40% 70%,#f5f5f5 70% 85%,silver 85% 100%);border-radius:50%;color:#fff;display:flex;font-size:10px;height:150px;justify-content:center;margin:20px auto;position:relative;width:150px}.donut-chart-placeholder:after{background:#fff;border-radius:50%;content:"";height:80px;position:absolute;width:80px}.chart-legend-bottom{color:#565d6d;display:flex;flex-wrap:wrap;font-size:12px;gap:15px;justify-content:center;margin-top:10px}.chart-legend-bottom span:before{content:"•";font-size:16px;line-height:1;margin-right:5px;vertical-align:middle}.chart-legend-bottom span:first-child:before{color:#f97316}.chart-legend-bottom span:nth-child(2):before{color:#ea580c}.chart-legend-bottom span:nth-child(3):before{color:#fde1c8}.chart-legend-bottom span:nth-child(4):before{color:#f5f5f5}.chart-legend-bottom span:nth-child(5):before{color:silver}.logout-btn{align-items:center;background-color:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:10px;justify-content:center;margin-top:20px;padding:12px;width:100%}.logout-btn:hover{background-color:#c0392b}.event-tag.festival{background:#fc0;color:#a06e00}.event-tag.holiday{background:#dcfce7;color:#166534}.event-tag.event{background:#fde1c8;color:#8f4806}.management-container{animation:fadeIn .6s ease-out;margin:0 auto;max-width:1200px}.management-header{color:var(--text-main);font-family:var(--font-family-heading);font-size:32px;font-weight:800;margin-bottom:30px;text-shadow:0 2px 10px #00000080}.summary-section{display:flex;gap:24px;margin-bottom:40px}.summary-card{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);display:flex;flex:1 1;overflow:hidden;padding:24px;position:relative;transition:all var(--transition-normal)}.summary-card:after{background:linear-gradient(45deg,#0000,#ffffff0d,#0000);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s;width:100%}.summary-card:hover{border-color:var(--glass-highlight);box-shadow:var(--shadow-glow);transform:translateY(-5px)}.summary-card:hover:after{transform:translateX(100%)}.summary-icon{background:#6366f126;border-radius:var(--radius-lg);box-shadow:inset 0 0 15px #6366f133;color:var(--primary-color);font-size:2.5em;margin-right:24px;padding:16px}.male-icon{background:#8b5cf626;box-shadow:inset 0 0 15px #8b5cf633;color:var(--secondary-color)}.female-icon{background:#2dd4bf26;box-shadow:inset 0 0 15px #2dd4bf33;color:var(--accent-color)}.summary-info h3{color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.summary-number{color:var(--text-main);font-family:var(--font-family-heading);font-size:36px;font-weight:800;margin:5px 0 0}.form-and-controls{align-items:flex-start;display:flex;gap:30px}.add-student-form,.student-list-container{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);padding:30px}.add-student-form{flex:1 1;max-width:350px;position:-webkit-sticky;position:sticky;top:24px}.add-student-form h3,.student-list-container h3{color:var(--text-main);font-family:var(--font-family-heading);font-size:22px;letter-spacing:-.5px;margin-bottom:25px;margin-top:0}.add-student-form input,.add-student-form select{background:#0003;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:#fff;font-size:15px;margin-bottom:16px;outline:none;padding:14px 16px;transition:all var(--transition-fast);width:100%}.add-student-form input:focus,.add-student-form select:focus{background:#0006;border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f133}.add-student-form select option{background:var(--bg-main);color:#fff}.add-student-form button{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:var(--radius-md);box-shadow:0 8px 15px #6366f166;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:1px;margin-top:10px;padding:16px;text-transform:uppercase;transition:all var(--transition-normal);width:100%}.add-student-form button:hover{box-shadow:0 12px 20px #6366f199;transform:translateY(-3px)}.student-list-container{flex:2 1;max-height:calc(100vh - 100px);overflow-x:auto;overflow-y:auto}.search-and-filter{display:flex;gap:16px;margin-bottom:25px}.search-bar{flex:1 1;position:relative}.search-bar input{background:#0003;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:#fff;font-size:15px;outline:none;padding:14px 16px 14px 45px;transition:all var(--transition-fast);width:100%}.search-bar input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #6366f133}.search-icon{color:var(--text-muted);left:18px;position:absolute;top:50%;transform:translateY(-50%)}.search-bar input:focus+.search-icon{color:var(--primary-color)}.filters{display:flex;gap:12px}.filters select{background:#0003;border:1px solid #ffffff1a;border-radius:var(--radius-md);color:#fff;cursor:pointer;outline:none;padding:14px 16px;transition:all .3s}.filters select:focus{border-color:var(--accent-color)}.filters select option{background:var(--bg-main)}.student-table{border-collapse:initial;border-spacing:0 8px;width:100%}.student-table th{background:#0000;color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:1px;padding:16px;text-transform:uppercase}.student-table td,.student-table th{border-bottom:1px solid #ffffff0d;text-align:left}.student-table td{background:#ffffff05;border-top:1px solid #ffffff0d;color:var(--text-main);font-size:15px;padding:18px 16px;transition:all var(--transition-fast)}.student-table td:first-child{border-bottom-left-radius:12px;border-left:1px solid #ffffff0d;border-top-left-radius:12px}.student-table td:last-child{border-bottom-right-radius:12px;border-right:1px solid #ffffff0d;border-top-right-radius:12px}.student-table tbody tr{transition:transform .2s,box-shadow .2s}.student-table tbody tr:hover{box-shadow:0 5px 15px #0003;transform:scale(1.01)}.student-table tbody tr:hover td{background:#ffffff0d;border-color:#ffffff1a}.profile-dashboard{animation:fadeIn .6s ease-out;font-family:var(--font-family-base);padding:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-header h2{color:var(--text-main);font-family:var(--font-family-heading);font-size:32px;font-weight:800;margin-bottom:30px;text-shadow:0 2px 10px #00000080}.profile-card{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);display:flex;gap:40px;overflow:hidden;padding:40px;position:relative}.profile-card:after{animation:pulse 10s infinite alternate;background:radial-gradient(circle,#ffffff0d 0,#0000 60%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:0}.profile-photo-section{text-align:center;z-index:1}.profile-photo-wrapper{height:160px;margin:0 auto 20px;position:relative;width:160px}.profile-image{border:4px solid var(--primary-color);border-radius:50%;box-shadow:0 0 20px #6366f166;height:100%;object-fit:cover;transition:transform .3s;width:100%}.profile-photo-wrapper:hover .profile-image{transform:scale(1.05)}.default-avatar{color:#fff3;font-size:160px}.upload-icon-btn{align-items:center;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;bottom:5px;box-shadow:0 4px 10px #6366f180;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:5px;transition:transform .3s,box-shadow .3s;width:36px}.upload-icon-btn:hover{box-shadow:0 6px 15px #6366f1cc;transform:scale(1.1) rotate(15deg)}.upload-controls{margin-top:15px}.upload-controls button{background:#2dd4bf33;border:1px solid var(--accent-color);border-radius:var(--radius-md);color:var(--accent-color);cursor:pointer;font-size:14px;font-weight:700;letter-spacing:1px;padding:10px 20px;text-transform:uppercase;transition:all .3s}.upload-controls button:hover{background:var(--accent-color);box-shadow:0 0 15px #2dd4bf80;color:#fff}.profile-info-section{display:flex;flex:1 1;flex-direction:column;gap:25px;z-index:1}.info-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:var(--radius-lg);display:flex;gap:20px;padding:15px 20px;transition:transform .3s,background .3s}.info-item:hover{background:#ffffff14;border-color:#ffffff26;transform:translateX(10px)}.info-icon{color:var(--primary-color);filter:drop-shadow(0 0 8px rgba(99,102,241,.5));font-size:28px}.info-text h3{color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:1px;margin:0;text-transform:uppercase}.info-text p{color:var(--text-main);font-family:var(--font-family-heading);font-size:20px;font-weight:700;margin:5px 0 0}.student-dashboard-container{animation:fadeIn .6s ease-out;display:flex;flex-direction:column;gap:30px}.student-banner{background:linear-gradient(135deg,#2dd4bfcc,#10b981cc)!important;box-shadow:0 10px 40px -10px var(--accent-color)!important}.student-stats-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(4,1fr)}.student-content-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr}.assignments-card,.progress-card{padding:30px}.assignments-card h3,.progress-card h3{font-size:20px;margin-bottom:25px}.assignment-list{display:flex;flex-direction:column;gap:15px;list-style:none;margin:0;padding:0}.assignment-list li{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;justify-content:space-between;padding:15px;transition:all .3s}.assignment-list li:hover{background:#ffffff1a;border-color:var(--accent-color);box-shadow:0 0 15px #2dd4bf33;transform:translateX(5px)}.due-date{color:var(--accent-color);font-size:13px;font-weight:700}.progress-bars{gap:20px}.progress-bars,.progress-item{display:flex;flex-direction:column}.progress-item{gap:8px}.progress-label{font-size:14px;font-weight:600}.progress-bar-bg{background:#ffffff1a;border-radius:5px;height:10px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:5px;box-shadow:0 0 10px var(--accent-color);height:100%}
/*# sourceMappingURL=main.a44aea57.css.map*/