.profile-picture{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0;background-color:#f0f0f0;border:2px solid rgba(255,255,255,.3)}.profile-picture-image{border-radius:50%;object-fit:cover;background-color:#f0f0f0}.profile-picture-initials{border-radius:50%;object-fit:cover}.profile-picture-with-name{display:flex;align-items:center;gap:8px}.profile-picture-with-name.name-left{flex-direction:row-reverse}.profile-picture-with-name.name-right{flex-direction:row}.profile-picture-with-name.name-bottom{flex-direction:column}.profile-picture-with-name.name-top{flex-direction:column-reverse}.profile-name{font-size:14px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.header-profile-picture .profile-name{color:#fff}.header-profile-picture .profile-picture{border:2px solid white;box-shadow:0 2px 8px #0003}.profile-name.bottom,.profile-name.top{text-align:center;max-width:100px}.profile-picture.small{width:24px;height:24px}.profile-picture.medium{width:40px;height:40px}.profile-picture.large{width:60px;height:60px}.profile-picture.xlarge{width:80px;height:80px}.profile-picture.with-border{border:2px solid #fff;box-shadow:0 2px 4px #0000001a}.profile-picture.with-border-dark{border:2px solid #333}.profile-picture.clickable{cursor:pointer;transition:transform .2s ease}.profile-picture.clickable:hover{transform:scale(1.05)}.profile-picture.with-status{position:relative}.status-indicator{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid #fff}.status-online{background-color:#2ecc71}.status-offline{background-color:#95a5a6}.status-away{background-color:#f39c12}.status-busy{background-color:#e74c3c}.header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;padding:15px 20px;box-shadow:var(--box-shadow)}.header-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;max-width:1400px;margin:0 auto}.header-left{display:flex;align-items:center;gap:10px}.sidebar-toggle-header{background:linear-gradient(135deg,#87ceeb,#add8e6);border:none;color:#fff;width:35px;height:35px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;flex-shrink:0;box-shadow:0 2px 8px #87cefa4d}.sidebar-toggle-header:hover{background:linear-gradient(135deg,#add8e6,#87ceeb);transform:scale(1.1);box-shadow:0 4px 12px #87cefa66}.header-logo{text-align:center;justify-self:center}.scan-attendance-btn{background:linear-gradient(135deg,#28a745,#229954);color:#fff;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #28a7454d;white-space:nowrap}.scan-attendance-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a74566;background:linear-gradient(135deg,#229954,#28a745)}.header-logo h1{font-size:1.5rem;margin:0;font-weight:600}.header-logo p{font-size:.85rem;margin:0;opacity:.9}.header-user{display:flex;align-items:center;gap:15px}.header-profile-picture{display:flex!important;align-items:center;gap:10px}.user-name{font-weight:500}.btn-logout{padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:var(--border-radius);color:#fff;cursor:pointer;transition:all .3s ease}.btn-logout:hover{background:#ffffff4d}.sidebar{width:250px;background:#fff;box-shadow:2px 0 8px #0000001a;padding:20px 0;transition:width .3s ease,opacity .3s ease;position:relative;overflow:hidden}.sidebar.closed{width:0!important;min-width:0!important;max-width:0!important;opacity:0;padding:0!important;margin:0!important;overflow:hidden;visibility:hidden;border:none;box-shadow:none}.sidebar-header{display:flex;align-items:center;gap:10px;padding:0 15px 15px;border-bottom:1px solid #e0e0e0;margin-bottom:15px}.sidebar-close-btn{display:none}.sidebar-toggle{background:linear-gradient(135deg,#87ceeb,#add8e6);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .3s ease;flex-shrink:0}.sidebar-toggle:hover{background:linear-gradient(135deg,#add8e6,#87ceeb);transform:scale(1.1)}.sidebar-title{margin:0;font-size:1rem;color:#2c3e50;font-weight:600;white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .3s ease}.sidebar.closed .sidebar-title{opacity:0;width:0}.sidebar-nav{display:flex;flex-direction:column;gap:5px;padding:0 10px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:var(--border-radius);text-decoration:none;color:var(--text-color);transition:all .3s ease;white-space:nowrap;position:relative}.sidebar.closed .nav-link{justify-content:center;padding:12px}.nav-link:hover{background:#87cefa1a;color:var(--primary-color)}.nav-link.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.nav-icon{font-size:1.2rem}.nav-label{font-weight:500;opacity:1;transition:opacity .3s ease;overflow:hidden}.sidebar.closed .nav-label{opacity:0;width:0;padding:0}.nav-badge{position:absolute;top:8px;right:8px;background:#e74c3c;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;animation:pulse 2s infinite}.sidebar.closed .nav-badge{top:8px;right:8px}@keyframes pulse{0%{box-shadow:0 0 #e74c3cb3}70%{box-shadow:0 0 0 6px #e74c3c00}to{box-shadow:0 0 #e74c3c00}}.sidebar.closed .nav-link:hover:after{content:attr(data-label);position:absolute;left:70px;background:#2c3e50;color:#fff;padding:8px 12px;border-radius:6px;white-space:nowrap;z-index:1000;font-size:.85rem;box-shadow:0 2px 8px #0003;pointer-events:none;animation:fadeInTooltip .2s ease}.sidebar.closed .nav-link:hover:before{content:"";position:absolute;left:60px;border:6px solid transparent;border-right-color:#2c3e50;z-index:1001;pointer-events:none;animation:fadeInTooltip .2s ease}@keyframes fadeInTooltip{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.sidebar-overlay{display:none}@media(max-width:768px){.sidebar-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay.active{opacity:1;visibility:visible}.sidebar{width:280px;max-width:85vw;position:fixed;top:0;left:0;bottom:0;z-index:1000;padding:20px 0;box-shadow:2px 0 8px #0003;transform:translate(-100%);transition:transform .3s ease;height:100vh;overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%);width:280px;max-width:85vw;opacity:1;visibility:visible}.sidebar-nav{flex-direction:column;overflow-x:visible;overflow-y:auto;padding:0 10px}.nav-link{flex-direction:row;min-width:auto;padding:12px 15px}.nav-label{font-size:.9rem}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:0 15px 15px}.sidebar-close-btn{display:flex!important;background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.sidebar-close-btn:hover{background:linear-gradient(135deg,#c0392b,#e74c3c);transform:scale(1.1)}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-body{display:flex;flex:1}.layout-content{flex:1;padding:0;overflow-y:auto;overflow-x:hidden;background:var(--background);width:100%;min-height:calc(100vh - 80px);position:relative;z-index:1;display:block!important;visibility:visible!important;opacity:1!important;transition:margin-left .3s ease,width .3s ease}.sidebar.closed~.layout-content{width:100vw;margin-left:calc(-50vw + 50%);padding:0}@media(max-width:768px){.layout-body{flex-direction:column}.layout-content{padding:15px}}.auto-update-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:9999;padding:20px;animation:fadeIn .3s ease}.auto-update-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:30px;max-width:600px;width:100%;box-shadow:0 20px 60px #00000080;border:2px solid #4cc9f0;animation:slideUp .4s ease;color:#fff}.auto-update-header{text-align:center;margin-bottom:25px;border-bottom:2px solid #4cc9f0;padding-bottom:15px}.auto-update-header h2{margin:0 0 10px;color:#4cc9f0;font-size:28px;font-weight:700}.version-info{font-size:16px;color:#a9b7c6;margin:0}.version-current{color:#ff6b6b;font-weight:700;padding:2px 8px;background:#ff6b6b1a;border-radius:4px}.version-latest{color:#51cf66;font-weight:700;padding:2px 8px;background:#51cf661a;border-radius:4px}.auto-update-body{margin-bottom:25px}.auto-update-body p{font-size:16px;line-height:1.6;color:#d1d9e6;margin-bottom:20px;text-align:center;padding:15px;background:#ffffff0d;border-radius:10px;border-left:4px solid #4cc9f0}.update-options{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:25px}.update-options button{padding:16px 20px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}.update-options button:disabled{opacity:.6;cursor:not-allowed}.btn-update-full{background:linear-gradient(135deg,#4cc9f0,#4361ee);color:#fff;grid-column:span 2}.btn-update-full:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #4cc9f04d}.btn-update-quick{background:linear-gradient(135deg,#51cf66,#40c057);color:#fff}.btn-update-quick:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #51cf664d}.btn-update-force{background:linear-gradient(135deg,#ff6b6b,#ff8787);color:#fff}.btn-update-force:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #ff6b6b4d}.btn-update-skip{background:linear-gradient(135deg,#868e96,#495057);color:#fff;grid-column:span 2}.btn-update-skip:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #868e964d}.update-instructions{background:#ffffff0d;border-radius:12px;padding:20px;margin-top:20px;border:1px solid rgba(76,201,240,.2)}.update-instructions h4{color:#4cc9f0;margin-top:0;margin-bottom:15px;font-size:18px}.update-instructions ol{margin:0 0 20px;padding-left:20px;color:#d1d9e6}.update-instructions li{margin-bottom:8px;line-height:1.5}.update-instructions strong{color:#4cc9f0}.update-troubleshooting{background:#ff6b6b1a;border-radius:8px;padding:15px;border-left:4px solid #ff6b6b}.update-troubleshooting h5{color:#ff6b6b;margin-top:0;margin-bottom:10px;font-size:16px}.update-troubleshooting p{margin:5px 0;font-size:14px;color:#ffc9c9;padding:0;background:none;border:none;text-align:left}.auto-update-footer{border-top:1px solid rgba(76,201,240,.3);padding-top:15px;text-align:center}.update-note{font-size:14px;color:#a9b7c6;margin:0;line-height:1.5;padding:0;background:none;border:none;text-align:center}.update-note strong{color:#4cc9f0}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.auto-update-modal{padding:20px;max-width:95%}.update-options{grid-template-columns:1fr}.btn-update-full,.btn-update-skip{grid-column:span 1}.auto-update-header h2{font-size:24px}.update-options button{padding:14px 16px;font-size:14px}}.home{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8f0);padding:20px 15px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow-x:hidden}.sidebar.closed~.layout-content .home{padding:20px}.home-header{text-align:center;margin-bottom:30px;padding:15px;position:relative}.home-title{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:8px;letter-spacing:1.5px;text-transform:uppercase;position:relative;display:inline-block}.home-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:80px;height:3px;background:linear-gradient(90deg,#3498db,#2c3e50);border-radius:2px}.home-subtitle{font-size:.95rem;color:#5a6c7d;font-weight:400;max-width:700px;margin:15px auto 0;line-height:1.5;padding:0 10px}.carousel-container{max-width:900px;margin:0 auto 40px;border-radius:12px;overflow:hidden;box-shadow:0 8px 25px #0000001f;position:relative}.sidebar.closed~.layout-content .carousel-container{max-width:100%;margin:0 0 40px;border-radius:0}.carousel-slide{position:relative;height:220px;background:linear-gradient(135deg,#3498db,#2c3e50);display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}.carousel-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,#3498dbe6,#2c3e50e6);z-index:1}.carousel-content{text-align:center;padding:25px;z-index:2;position:relative;animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.carousel-title{font-size:1.6rem;font-weight:700;margin-bottom:12px;text-shadow:1px 1px 3px rgba(0,0,0,.3)}.carousel-description{font-size:.95rem;max-width:600px;margin:0 auto;line-height:1.5;opacity:.9}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:15px;position:absolute;bottom:15px;left:0;right:0;z-index:3}.carousel-dot{width:10px;height:10px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .3s ease}.carousel-dot:hover{background:#ffffffb3}.carousel-dot.active{background:#fff;transform:scale(1.3);box-shadow:0 0 8px #fffc}.portals-section{max-width:1100px;margin:0 auto;position:relative}.sidebar.closed~.layout-content .portals-section{max-width:100%;margin:0}.portals-section-title{text-align:center;font-size:1.5rem;color:#2c3e50;margin-bottom:25px;font-weight:600;position:relative;padding-bottom:10px}.portals-section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:2px;background:linear-gradient(90deg,#3498db,#2c3e50);border-radius:1px}.portals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;max-width:1100px;margin:0 auto;perspective:1000px}.sidebar.closed~.layout-content .portals-grid{max-width:100%;margin:0}.portal-card{background:#fff;border-radius:12px;padding:15px;text-align:center;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 12px #00000014;border:1px solid #eaeaea;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;position:relative;overflow:hidden}.portal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--portal-color);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.portal-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 10px 20px #0000001f;border-color:var(--portal-color)}.portal-card:hover:before{transform:scaleX(1)}.portal-icon{font-size:1.8rem;margin-bottom:10px;transition:all .4s ease;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:48px;height:48px}.portal-icon svg{width:24px;height:24px;transition:all .4s ease;color:var(--portal-color)}.portal-card:hover .portal-icon{transform:scale(1.15) rotate(5deg);filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.portal-card:hover .portal-icon svg{transform:scale(1.1);color:#fff}.portal-name{font-size:.85rem;color:#2c3e50;margin:0;font-weight:600;line-height:1.2;position:relative;z-index:1}.portal-description{font-size:.7rem;color:#5a6c7d;margin-top:6px;opacity:0;transform:translateY(10px);transition:all .3s ease;position:relative;z-index:1;line-height:1.3}.portal-card:hover .portal-description{opacity:1;transform:translateY(0)}.portal-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffffe6,#ffffffb3);opacity:0;transition:opacity .3s ease;z-index:0}.portal-card:hover:after{opacity:1}@keyframes imageChange{0%,to{opacity:.8;transform:scale(1) rotate(0);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}50%{opacity:1;transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}}@keyframes colorPulse{0%,to{color:var(--portal-color)}50%{color:#fff}}.portal-card:nth-child(odd):hover .portal-icon svg{animation:imageChange 2s ease-in-out infinite,colorPulse 2s ease-in-out infinite}.portal-card:nth-child(2n):hover .portal-icon svg{animation:imageChange 2s ease-in-out infinite .5s,colorPulse 2s ease-in-out infinite .5s}@media(max-width:768px){.home{padding:15px 10px}.home-title{font-size:1.6rem}.home-subtitle{font-size:.85rem}.carousel-slide{height:180px}.carousel-title{font-size:1.3rem}.carousel-description{font-size:.85rem}.portals-section-title{font-size:1.3rem;margin-bottom:20px}.portals-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.portal-card{padding:12px;min-height:100px;border-radius:10px}.portal-icon{font-size:1.5rem;margin-bottom:8px}.portal-name{font-size:.75rem}.portal-description{font-size:.65rem}}@media(max-width:480px){.portals-grid{grid-template-columns:repeat(2,1fr);gap:10px}.home-title{font-size:1.4rem}.carousel-slide{height:160px}.carousel-title{font-size:1.2rem}.carousel-description{font-size:.8rem;padding:0 10px}}.home:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 10% 20%,rgba(52,152,219,.05) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(46,204,113,.05) 0%,transparent 20%),radial-gradient(circle at 50% 50%,rgba(155,89,182,.03) 0%,transparent 30%);pointer-events:none;z-index:0}.home>*{position:relative;z-index:1}html{scroll-behavior:smooth}@keyframes cardLoad{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.loading-overlay{position:fixed;inset:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease}.loading-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:20px;padding:40px;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.loading-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(52,152,219,.1) 50%,transparent 70%);animation:shine 3s infinite linear}@keyframes shine{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.spinner{display:flex;justify-content:center;gap:10px;margin-bottom:30px}.spinner-circle{width:20px;height:20px;border-radius:50%;background:linear-gradient(45deg,#3498db,#2ecc71);animation:bounce 1.4s infinite ease-in-out both}.spinner-circle:nth-child(1){animation-delay:-.32s}.spinner-circle:nth-child(2){animation-delay:-.16s}.spinner-circle:nth-child(3){animation-delay:0s}.spinner-circle:nth-child(4){animation-delay:.16s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-text{text-align:center;color:#fff;margin-bottom:30px}.loading-text h3{font-size:24px;margin-bottom:10px;background:linear-gradient(45deg,#3498db,#2ecc71);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-text p{font-size:16px;color:#bdc3c7;margin-bottom:20px}.loading-details{background:#ffffff0d;border-radius:10px;padding:20px;margin:20px 0;border:1px solid rgba(255,255,255,.1)}.detail-item{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.05)}.detail-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-label{color:#95a5a6;font-size:14px}.detail-value{color:#ecf0f1;font-size:14px;font-weight:500}.loading-progress{margin-top:30px}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;width:60%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:4px;animation:progress 2s infinite ease-in-out}@keyframes progress{0%,to{transform:translate(-100%)}50%{transform:translate(200%)}}.progress-text{color:#95a5a6;font-size:12px;text-align:center}.cloud-indicator{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;padding:10px;background:#3498db1a;border-radius:10px;border:1px solid rgba(52,152,219,.3)}.cloud-icon{font-size:24px;animation:float 3s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.cloud-text{color:#3498db;font-size:14px;font-weight:500}.simple-loading-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .2s ease}.simple-loading-container{background:#fff;border-radius:12px;padding:30px;width:300px;text-align:center;box-shadow:0 10px 40px #0003}.simple-spinner{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.simple-spinner-circle{width:16px;height:16px;border-radius:50%;background:linear-gradient(45deg,#3498db,#2ecc71);animation:bounce 1.4s infinite ease-in-out both}.simple-spinner-circle:nth-child(1){animation-delay:-.32s}.simple-spinner-circle:nth-child(2){animation-delay:-.16s}.simple-spinner-circle:nth-child(3){animation-delay:0s}.simple-spinner-circle:nth-child(4){animation-delay:.16s}.simple-loading-text{font-size:16px;font-weight:500;color:#2c3e50}@media(max-width:768px){.loading-container{padding:30px 20px;width:95%}.loading-text h3{font-size:20px}.loading-text p{font-size:14px}.detail-item{flex-direction:column;gap:5px}.detail-label,.detail-value{font-size:12px}.simple-loading-container{width:250px;padding:25px}.simple-loading-text{font-size:14px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87ceeb,#add8e6);padding:20px}.login-container{background:#fff;border-radius:20px;padding:40px;width:100%;max-width:400px;box-shadow:0 10px 40px #0003}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:2.5rem;color:var(--secondary-color);margin-bottom:10px;font-weight:300;letter-spacing:3px}.login-header p{color:var(--text-light);font-size:1rem}.login-form,.form-group{margin-bottom:20px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:var(--border-radius);font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #87cefa1a}.btn-login{width:100%;margin-top:10px}.btn-back{width:100%;background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:10px;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:all .3s ease}.btn-back:hover{background:var(--primary-color);color:#fff}.chain-info{color:#27ae60;font-weight:600;margin-top:5px;font-size:.9rem}.registration-section{margin:20px 0;padding:15px;background:#f8f9fa;border-radius:var(--border-radius);text-align:center;border:1px solid #e9ecef}.registration-info{color:#6c757d;margin-bottom:10px;font-size:.9rem}.btn-register{width:100%;background:#27ae60;color:#fff;border:none;padding:10px;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:all .3s ease}.btn-register:hover{background:#219653}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268}.registration-header{text-align:center;margin-bottom:30px}.registration-header h2{font-size:1.8rem;color:var(--secondary-color);margin-bottom:10px}.registration-header p{color:var(--text-light);font-size:1rem}.registration-form{margin-bottom:20px}.form-actions{display:flex;gap:10px;margin-top:20px}.form-actions button{flex:1}.btn-cancel{background:#6c757d;color:#fff;border:none;padding:10px;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:all .3s ease}.registration-note{margin-top:20px;padding:15px;background:#e3f2fd;border-radius:var(--border-radius);border-left:4px solid #2196f3}.registration-note p{margin:5px 0;font-size:.9rem;color:#0d47a1}.registration-note strong{color:#1565c0}.profile-picture-upload-container{display:flex;flex-direction:column;gap:15px;margin-top:10px}.btn-upload{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:all .3s ease;width:fit-content}.btn-upload:hover{background:#5a6268}.profile-picture-preview{display:flex;align-items:center;gap:15px;padding:15px;background:#f8f9fa;border-radius:var(--border-radius);border:1px solid #e9ecef}.profile-preview-image{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #87CEEB}.btn-remove{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:600;transition:all .3s ease}.btn-remove:hover{background:#c82333}.btn-danger{background:#dc3545}.btn-danger:hover{background:#c82333}.redis-sync-container{padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;margin:10px 0}.redis-sync-buttons{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.redis-sync-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:140px}.redis-sync-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.redis-sync-button:disabled{opacity:.6;cursor:not-allowed}.redis-sync-button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.redis-sync-button-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.redis-sync-button-small{padding:6px 12px;font-size:12px;min-width:100px}.redis-sync-button-medium{padding:10px 16px;font-size:14px;min-width:140px}.redis-sync-button-large{padding:14px 20px;font-size:16px;min-width:180px}.redis-sync-button-loading{position:relative}.redis-sync-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:redis-sync-spin 1s linear infinite}@keyframes redis-sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.redis-sync-icon{font-size:16px}.redis-sync-stats{display:flex;gap:20px;margin:15px 0;padding:10px;background:#fff;border-radius:6px;border:1px solid #dee2e6}.redis-sync-stat{display:flex;flex-direction:column;align-items:center;flex:1}.redis-sync-stat-label{font-size:12px;color:#6c757d;margin-bottom:4px}.redis-sync-stat-value{font-size:18px;font-weight:600;color:#495057}.redis-sync-stat-value.success{color:#28a745}.redis-sync-stat-value.error{color:#dc3545}.redis-sync-info{margin-top:10px;padding:8px 12px;background:#e7f3ff;border-radius:4px;border-left:4px solid #007bff}.redis-sync-info small{color:#495057;line-height:1.4}@media(max-width:768px){.redis-sync-buttons{flex-direction:column}.redis-sync-button{width:100%}.redis-sync-stats{flex-direction:column;gap:10px}}.dashboard{padding:20px;max-width:1400px;margin:0 auto}.sidebar.closed~.layout-content .dashboard{max-width:100%;margin:0;padding:20px}.dashboard-subtitle{font-size:1.1rem;color:#7f8c8d;margin-bottom:40px;text-align:center}.component-card-wrapper{position:relative}.component-card{background:#fff;border-radius:15px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:2px solid transparent;position:relative;min-height:180px;display:flex;flex-direction:column;justify-content:center}.component-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa4d;border-color:#87ceeb}.component-card.register-staff-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.card-icon{font-size:3.5rem;margin-bottom:15px;line-height:1}.card-title{font-size:1.3rem;color:#2c3e50;margin-bottom:10px;font-weight:600}.card-description{color:#7f8c8d;font-size:.9rem;margin:0;line-height:1.5}.dashboard-badge{position:absolute;top:15px;right:15px;background:#e74c3c;color:#fff;font-size:.8rem;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 5px;animation:pulse 2s infinite;box-shadow:0 2px 5px #0003;z-index:1}@keyframes pulse{0%{box-shadow:0 0 #e74c3cb3}70%{box-shadow:0 0 0 8px #e74c3c00}to{box-shadow:0 0 #e74c3c00}}.sub-options{margin-top:20px;display:flex;flex-direction:column;gap:10px;padding-top:15px;border-top:2px solid #e9ecef}.sub-option-btn{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #87cefa4d}.sub-option-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66;background:linear-gradient(135deg,#add8e6,#87ceeb)}.staff-table-container{background:#fff;border-radius:20px;padding:30px;box-shadow:var(--box-shadow);overflow-x:auto}.staff-table{width:100%;border-collapse:collapse}.staff-table thead{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.staff-table th{padding:15px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.staff-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.staff-table tbody tr:hover{background-color:#87cefa0d}.staff-table td{padding:15px;vertical-align:middle}.staff-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-color)}.staff-photo-placeholder{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;font-size:1.2rem;font-weight:600;border:2px solid var(--primary-color)}.staff-name{font-weight:600;color:var(--text-color)}.password-display{display:flex;align-items:center;gap:8px}.password-text{font-family:Courier New,monospace;color:var(--text-color);font-weight:500;font-size:.9rem}.password-toggle-btn{background:#87cefa1a;border:1px solid rgba(135,206,250,.3);border-radius:5px;padding:4px 8px;cursor:pointer;font-size:.85rem;transition:all .3s ease}.password-toggle-btn:hover{background:#87cefa33;border-color:var(--primary-color)}.status-badge.active{background:#2ecc711a;color:var(--success)}.status-badge.suspended{background:#e74c3c1a;color:var(--error)}.status-badge.warned{background:#f39c121a;color:var(--warning)}.action-buttons{display:flex;gap:5px;flex-wrap:wrap}.action-btn{padding:6px 12px;border:1px solid var(--primary-color);background:#fff;color:var(--primary-color);border-radius:8px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.action-btn:hover{background:var(--primary-color);color:#fff}.action-btn.delete{border-color:var(--error);color:var(--error)}.action-btn.delete:hover{background:var(--error);color:#fff}.loading,.empty-state{text-align:center;padding:40px;color:var(--text-light)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:20px;max-height:95vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.modal-small{width:90%;max-width:400px}.modal-medium{width:90%;max-width:600px}.modal-large{width:90%;max-width:900px}.modal-header h2{margin:0;color:var(--secondary-color);font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-light);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.modal-close:hover{color:var(--error)}@media(max-width:768px){.modal-content{width:95%;max-height:90vh}.modal-header,.modal-body{padding:20px}}.staff-form{padding:20px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:600;color:var(--text-color)}.form-group input,.form-group select{padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #87cefa1a}.btn-cancel{background:#e0e0e0;color:var(--text-color)}.staff-management{padding:20px}.page-header h1{font-size:2rem;color:var(--secondary-color);margin-bottom:10px;font-weight:300}.page-header p{color:var(--text-light)}.actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.filters{display:flex;gap:15px}.filters select{padding:10px 20px;border:2px solid var(--primary-color);border-radius:25px;background:#fff;color:var(--text-color);font-size:.95rem;cursor:pointer}.passcode-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.passcode-modal-container{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative}.passcode-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.passcode-modal-title{color:#333;margin:0;font-size:28px;flex:1}.passcode-modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.passcode-modal-close:hover{background-color:#f1f5f9}.passcode-modal-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:10px;padding:15px;margin-bottom:20px}.passcode-modal-warning.bulk-delete-warning{background:#fee2e2;border-color:#fecaca}.passcode-modal-warning h3{color:#856404;margin-top:0;display:flex;align-items:center;gap:10px}.passcode-modal-warning.bulk-delete-warning h3{color:#dc2626}.passcode-modal-warning p{margin:10px 0;color:#333}.passcode-modal-warning ul{margin:10px 0;padding-left:20px}.passcode-modal-warning li{margin:5px 0;color:#333}.passcode-modal-warning strong{color:#dc2626}.passcode-modal-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:8px;padding:12px;margin:10px 0;text-align:center;font-weight:700}.passcode-modal-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;border-radius:8px;padding:12px;margin:10px 0;text-align:center;font-weight:700}.passcode-modal-form{margin-top:20px}.passcode-modal-label{font-weight:700;display:block;margin-bottom:10px;color:#333;font-size:16px}.passcode-modal-textarea{width:100%;padding:15px;border:2px solid #ddd;border-radius:10px;font-size:18px;font-family:monospace;text-align:center;letter-spacing:2px;margin-bottom:20px;box-sizing:border-box;resize:vertical;min-height:80px}.passcode-modal-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.passcode-modal-instructions{background:#f8fafc;border-radius:10px;padding:15px;margin-bottom:20px;font-size:14px;color:#64748b}.passcode-modal-instructions h4{margin-top:0;color:#475569;margin-bottom:10px}.passcode-modal-instructions ul{margin:10px 0;padding-left:20px}.passcode-modal-instructions li{margin:5px 0}.passcode-modal-buttons{display:flex;gap:15px;margin-top:30px}.passcode-modal-cancel{flex:1;padding:15px;background:#f1f5f9;color:#64748b;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.passcode-modal-cancel:hover{background:#e2e8f0}.passcode-modal-submit{flex:1;padding:15px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.passcode-modal-submit:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ef444466}.passcode-modal-submit.bulk-delete-submit{background:linear-gradient(135deg,#dc2626,#991b1b)}.passcode-modal-submit.bulk-delete-submit:hover{box-shadow:0 5px 15px #dc262666}@media(max-width:600px){.passcode-modal-container{padding:20px}.passcode-modal-title{font-size:22px}.passcode-modal-buttons{flex-direction:column}.passcode-modal-cancel,.passcode-modal-submit{width:100%}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;background:#f5f7fa;color:#1a1a1a;-webkit-font-smoothing:antialiased}.students-page{min-height:100vh;padding:24px;background:#f5f7fa}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:12px}.back-button{background:#4f46e5;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.back-button:hover{background:#4338ca}.page-title{font-size:28px;font-weight:700;letter-spacing:-.5px}.page-subtitle{font-size:14px;color:#6b7280}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000000d}.stat-icon{width:56px;height:56px;display:grid;place-items:center;background:#eef2ff;border-radius:12px;font-size:28px;color:#4f46e5}.stat-number{font-size:32px;font-weight:700;line-height:1}.stat-label{font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.actions-section{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.action-buttons-group{display:flex;gap:12px}.btn-register,.btn-reports{background:#4f46e5;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.btn-register:hover,.btn-reports:hover{background:#4338ca}.filters-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000000d;margin-bottom:24px}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filters-header h3{font-size:16px;font-weight:600}.clear-filters-btn{background:none;border:1px solid #d1d5db;color:#374151;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background:#f3f4f6}.filters-grid{display:flex!important;flex-wrap:wrap!important;gap:16px!important;align-items:flex-end!important}.filter-group{flex:1 1 300px!important;display:flex!important;flex-direction:column!important;gap:6px!important}.filter-label{font-size:13px;font-weight:600;color:#374151}.filter-input{width:100%!important;padding:10px 14px!important;border:1px solid #d1d5db!important;border-radius:6px!important;font-size:14px!important;background:#fff!important;transition:border-color .2s}.filter-input:focus{outline:none!important;border-color:#4f46e5!important;box-shadow:0 0 0 2px #4f46e533!important}.table-container{background:#fff!important;border-radius:12px!important;padding:20px!important;overflow-x:auto!important;box-shadow:0 1px 3px #0000000d!important}.students-table.clean-table{width:100%!important;border-collapse:collapse!important;font-size:14px!important;min-width:900px!important}.students-table.clean-table thead{background:#f9fafb!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.5px!important}.students-table.clean-table th,.students-table.clean-table td{padding:10px 12px!important;text-align:left!important;white-space:nowrap!important}.students-table.clean-table th{color:#6b7280!important;font-weight:600!important;border-bottom:1px solid #e5e7eb!important}.students-table.clean-table tbody tr{border-bottom:1px solid #e5e7eb!important}.students-table.clean-table tbody tr:hover{background:#f9fafb!important}.action-buttons{display:flex!important;gap:4px!important;align-items:center!important}.action-btn{padding:4px 8px!important;border:1px solid #d1d5db!important;background:#fff!important;color:#374151!important;border-radius:4px!important;font-size:12px!important;font-weight:600!important;cursor:pointer!important;white-space:nowrap!important;transition:all .2s!important;min-width:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.empty-state{text-align:center;padding:60px 20px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h2{font-size:20px;margin-bottom:8px}.empty-state p{color:#6b7280;margin-bottom:24px}.btn-primary{background:#4f46e5;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#4338ca}@media(max-width:768px){.students-page{padding:16px}.page-header{flex-direction:column;align-items:flex-start}.stats-container{grid-template-columns:1fr}.filters-grid{flex-direction:column!important}.filter-group{flex:1 1 auto!important}.table-container{padding:12px!important}.students-table.clean-table{font-size:13px!important}.students-table.clean-table th,.students-table.clean-table td{padding:12px 14px!important}.action-buttons{flex-wrap:wrap!important}}table.students-table,.students-table thead,.students-table tbody,.students-table tfoot,.students-table tr,.students-table th,.students-table td{all:unset;display:revert}.students-table{width:100%!important;border-collapse:collapse!important;font-size:14px!important;min-width:900px!important;table-layout:auto!important;background:#fff!important}.students-table thead{background:#f9fafb!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.5px!important}.students-table th{padding:14px 16px!important;text-align:left!important;white-space:nowrap!important;color:#6b7280!important;font-weight:600!important;border-bottom:1px solid #e5e7eb!important}.students-table tbody tr{border-bottom:1px solid #e5e7eb!important}.students-table tbody tr:hover{background:#f9fafb!important}.students-table td{padding:14px 16px!important;vertical-align:middle!important;white-space:nowrap!important;font-size:14px!important;color:#111827!important}td.student-photo{padding:10px 16px!important}.student-name{font-weight:600!important;color:#111827!important}.gender-badge{display:inline-block!important;padding:4px 10px!important;border-radius:9999px!important;font-size:12px!important;font-weight:600!important;text-transform:uppercase!important}.gender-badge.male{background:#dbeafe!important;color:#1d4ed8!important}.gender-badge.female{background:#fce7f3!important;color:#be185d!important}.action-buttons{display:flex!important;gap:8px!important}.action-btn{padding:6px 14px!important;border:1px solid #d1d5db!important;background:#fff!important;color:#374151!important;border-radius:6px!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;white-space:nowrap!important;transition:all .2s!important}.action-btn:hover{background:#f3f4f6!important}.action-btn.delete{border-color:#f87171!important;color:#ef4444!important}.action-btn.delete:hover{background:#fee2e2!important}.table-container{overflow-x:auto!important;background:#fff!important;border-radius:12px!important;padding:20px!important}.reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.reports-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;margin-bottom:40px}.report-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:30px;box-shadow:0 4px 15px #00000014;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.report-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33;border-color:#87cefa4d}.report-icon{font-size:3rem;margin-bottom:15px}.report-card h3{font-size:1.3rem;color:#2c3e50;margin-bottom:10px}.report-card p{font-size:.9rem;color:#7f8c8d;line-height:1.6}.reports-history{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.reports-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.reports-history h3{font-size:1.3rem;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.reports-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filter-select,.filter-date{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;color:#2c3e50;background:#fff;transition:all .3s ease}.filter-select:focus,.filter-date:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.filter-date{min-width:150px}.clear-filters-btn{padding:8px 16px;border:2px solid #e74c3c;background:#fff;color:#e74c3c;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.clear-filters-btn:hover{background:#e74c3c;color:#fff}.reports-list{display:flex;flex-direction:column;gap:15px}.report-item{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.report-item:hover{transform:translate(5px);box-shadow:0 4px 12px #87cefa33}.report-info{flex:1}.report-name{font-weight:600;color:#2c3e50;margin-bottom:5px}.report-meta{font-size:.85rem;color:#7f8c8d}.report-action-btn{padding:8px 16px;border:2px solid #87CEEB;background:#fff;color:#87ceeb;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.report-action-btn:hover{background:#87ceeb;color:#fff}.form-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;color:#2c3e50;transition:all .3s ease;font-family:inherit;box-sizing:border-box}.form-input:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}@media(max-width:768px){.reports-grid{grid-template-columns:1fr}.modal-content{width:95%;max-width:none}}.student-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.student-reports-section{max-width:1200px;margin:0 auto}.student-selector-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 4px 15px #00000014;display:flex;flex-direction:column;gap:15px}.student-search-wrapper{display:flex;flex-direction:column;gap:12px;width:100%}.student-search-input{width:100%;padding:12px 20px;border:2px solid #87CEEB;border-radius:25px;background:#fff;color:#2c3e50;font-size:1rem;font-weight:500;transition:all .3s ease;font-family:inherit}.student-search-input:focus{outline:none;border-color:#add8e6;box-shadow:0 0 0 3px #87cefa1a}.student-search-input::placeholder{color:#95a5a6;font-weight:400}.student-select{width:100%;padding:12px 20px;border:2px solid #87CEEB;border-radius:25px;background:#fff;color:#2c3e50;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.student-select:focus{outline:none;border-color:#add8e6;box-shadow:0 0 0 3px #87cefa1a}.btn-save,.btn-generate,.btn-send{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.btn-send{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.btn-send:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f39c1266}.payments-container{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.payment-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:15px;align-items:end;padding:15px;background:#f8f9fa;border-radius:10px}.payment-row input{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.btn-remove-payment{padding:10px 15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-remove-payment:hover{background:#c0392b;transform:scale(1.05)}.btn-add-payment{padding:12px 24px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.btn-add-payment:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}.academic-redirect-section{padding:40px 20px}.redirect-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:40px;text-align:center;box-shadow:0 4px 15px #00000014;max-width:600px;margin:0 auto}.redirect-icon{font-size:5rem;margin-bottom:20px}.redirect-card h3{font-size:1.8rem;color:#2c3e50;margin-bottom:15px;font-weight:600}.redirect-card p{font-size:1rem;color:#7f8c8d;margin-bottom:15px;line-height:1.6}.redirect-description{font-size:.95rem;color:#95a5a6;margin-top:20px;margin-bottom:30px}.btn-primary{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#add8e6,#87ceeb)}@media(max-width:768px){.page-title{font-size:1.8rem}.back-button{position:relative;left:auto;top:auto;margin-bottom:20px}.student-selector-container{flex-direction:column;align-items:stretch}.student-search-wrapper{width:100%}.report-tabs{flex-direction:column}.tab-btn{width:100%}.template-header{flex-direction:column;align-items:stretch}.template-actions{width:100%;flex-direction:column}.btn-save,.btn-generate{width:100%}.form-row,.payment-row{grid-template-columns:1fr}.report-template{padding:20px}}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.95rem}.btn-secondary:hover{transform:translateY(-2px);background:#d0d0d0}.staff-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.staff-reports-section{max-width:1200px;margin:0 auto}.staff-selector-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 4px 15px #00000014;display:flex;align-items:center;gap:20px}.selector-label{font-size:1.1rem;font-weight:600;color:#2c3e50;white-space:nowrap}.staff-select{flex:1;padding:12px 20px;border:2px solid #87CEEB;border-radius:25px;background:#fff;color:#2c3e50;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.staff-select:focus{outline:none;border-color:#add8e6;box-shadow:0 0 0 3px #87cefa1a}.report-tabs{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap;background:linear-gradient(135deg,#fff,#f8f9fa);padding:20px;border-radius:15px;box-shadow:0 4px 15px #00000014}.tab-btn{flex:1;min-width:180px;padding:15px 25px;border:2px solid #87CEEB;background:#fff;color:#87ceeb;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;text-align:center}.tab-btn:hover{background:#87cefa1a;transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border-color:#87ceeb;box-shadow:0 4px 15px #87cefa4d}.report-template{display:none;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:40px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden}.report-template.active{display:block}.template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid rgba(135,206,250,.2);flex-wrap:wrap;gap:20px}.template-header h2{font-size:1.8rem;color:#2c3e50;font-weight:600;margin:0}.template-actions{display:flex;gap:15px}.btn-save,.btn-generate{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.btn-save{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2ecc7166}.btn-generate{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66}.report-form{display:flex;flex-direction:column;gap:30px}.form-section{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d}.form-section h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid rgba(135,206,250,.2);font-weight:600}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group label{font-size:.95rem;font-weight:600;color:#2c3e50}.form-input,.form-textarea,.form-select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;color:#2c3e50;transition:all .3s ease;font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.form-input[readonly]{background-color:#f5f5f5;cursor:not-allowed}.performance-areas-container{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.performance-area-row{display:grid;grid-template-columns:2fr 1.5fr 1fr auto;gap:15px;align-items:end;padding:15px;background:#f8f9fa;border-radius:10px}.performance-area-row input,.performance-area-row select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.btn-remove-area{padding:10px 15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-remove-area:hover{background:#c0392b;transform:scale(1.05)}.btn-add-area{padding:12px 24px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.btn-add-area:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}.absences-container{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.absence-row{display:grid;grid-template-columns:1fr 1.5fr 2fr 1.5fr auto;gap:15px;align-items:end;padding:15px;background:#f8f9fa;border-radius:10px}.absence-row input,.absence-row select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.btn-remove-absence{padding:10px 15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-remove-absence:hover{background:#c0392b;transform:scale(1.05)}.btn-add-absence{padding:12px 24px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start}.btn-add-absence:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}@media(max-width:768px){.page-title{font-size:1.8rem}.back-button{position:relative;left:auto;top:auto;margin-bottom:20px}.staff-selector-container{flex-direction:column;align-items:stretch}.report-tabs{flex-direction:column}.tab-btn{width:100%}.template-header{flex-direction:column;align-items:stretch}.template-actions{width:100%;flex-direction:column}.btn-save,.btn-generate{width:100%}.form-row,.performance-area-row,.absence-row{grid-template-columns:1fr}.report-template{padding:20px}}.modal-close:hover{color:#2c3e50}.modal-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn-primary{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#e0e0e0;color:#2c3e50}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.form-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.form-input:focus{outline:none;border-color:#87ceeb}.form-select:focus{outline:none;border-color:#87ceeb}.reports-list{display:flex;flex-direction:column;gap:20px;max-width:1000px;margin:0 auto}.report-item{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px #00000014;transition:all .3s ease}.report-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.report-name{font-size:1.3rem;font-weight:600;color:#2c3e50}.report-meta{display:flex;gap:20px;margin-bottom:15px;font-size:.95rem;color:#555}.report-sender{font-weight:500}.report-type{background:#87cefa33;padding:4px 12px;border-radius:15px;font-size:.85rem}.report-actions{display:flex;gap:10px}.report-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.report-btn.view{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.report-btn.view:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.report-btn.download{background:linear-gradient(135deg,#90ee90,#98fb98);color:#fff}.report-btn.download:hover{transform:translateY(-2px);box-shadow:0 4px 12px #90ee9066}.academic-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.academic-reports-section{max-width:1200px;margin:0 auto}.upload-section{margin-bottom:30px}.upload-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.upload-area:hover{border-color:#87ceeb;background:#87cefa1a}.file-details{flex:1;display:flex;flex-direction:column;gap:5px}.file-name{font-weight:600;color:#2c3e50}.file-size{font-size:.85rem;color:#7f8c8d}.reports-list-section{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.section-header{margin-bottom:30px}.section-header h3{font-size:1.5rem;color:#2c3e50;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.section-description{font-size:.95rem;color:#7f8c8d;line-height:1.6}.reports-list{display:flex;flex-direction:column;gap:20px}.report-item{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease;border:2px solid transparent}.report-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa33;border-color:#87cefa4d}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.report-name{font-size:1.2rem;font-weight:600;color:#2c3e50}.report-date{font-size:.9rem;color:#7f8c8d}.report-meta{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.report-size,.report-type{font-size:.85rem;color:#7f8c8d;padding:5px 12px;background:#f8f9fa;border-radius:15px}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-btn{padding:10px 20px;border:2px solid #87CEEB;background:#fff;color:#87ceeb;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:5px}.report-btn:hover{background:#87ceeb;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #87cefa4d}.report-btn.delete{border-color:#e74c3c;color:#e74c3c}.report-btn.delete:hover{background:#e74c3c;color:#fff}.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:1.1rem;background:#fff;border-radius:15px;border:2px dashed #ddd}@media(max-width:768px){.page-header{padding:20px 0}.back-button{position:relative;top:0;margin-bottom:20px}.report-header{flex-direction:column;align-items:flex-start}.report-actions{width:100%}.report-btn{flex:1;justify-content:center}}.form-select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.form-readonly{padding:12px;background:#f8f9fa;border-radius:10px;color:#2c3e50;font-weight:500}.folder-container{margin-bottom:20px}.folder-header{transition:all .3s ease}.folder-header:hover{transform:translate(5px);box-shadow:0 4px 12px #87cefa4d}.folder-content{animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.attendance-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.attendance-report-viewer-section{max-width:1400px;margin:0 auto}.attendance-table{width:100%;border-collapse:collapse}.attendance-table thead{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.attendance-table th{padding:15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.attendance-table th.recorded-by-column{min-width:180px}.attendance-table td{padding:12px 15px;border-bottom:1px solid #e0e0e0;font-size:.9rem}.attendance-table td.recorded-by-cell{min-width:180px;font-weight:500;color:#2c3e50}.name-cell{display:flex;flex-direction:column;gap:4px}.name-cell .name{font-weight:500;color:#2c3e50}.name-cell .id-number{font-size:.8rem;color:#7f8c8d;font-style:italic}.attendance-table tbody tr:hover{background:#f8f9fa}.type-badge{display:inline-block;padding:5px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.present{background:#e8f5e9;color:#2e7d32}.status-badge.absent{background:#ffebee;color:#c62828}.status-badge.late{background:#fff3e0;color:#e65100}.status-badge.leave{background:#e1f5fe;color:#0277bd}.financial-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.financial-report-viewer-section{max-width:1400px;margin:0 auto}.stat-number{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-bottom:5px}.table-section{background:#fff;border-radius:15px;padding:30px;box-shadow:0 2px 8px #0000000d}.table-section h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.table-container{overflow-x:auto}.financial-table{width:100%;border-collapse:collapse}.financial-table thead{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.financial-table th{padding:15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.financial-table td{padding:12px 15px;border-bottom:1px solid #e0e0e0;font-size:.9rem}.financial-table tbody tr:hover{background:#f8f9fa}.status-badge{display:inline-block;padding:5px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.paid{background:#e8f5e9;color:#2e7d32}.status-badge.partial{background:#fff3e0;color:#e65100}.status-badge.unpaid{background:#ffebee;color:#c62828}.photo-cell{width:60px;text-align:center}.no-photo{width:40px;height:40px;border-radius:50%;background:#f8f9fa;display:flex;align-items:center;justify-content:center;font-size:20px;color:#7f8c8d;border:2px solid #e0e0e0;margin:0 auto}@media(max-width:768px){.page-header{padding:20px 0}.back-button{position:relative;top:0;margin-bottom:20px}.filter-section{flex-direction:column;align-items:stretch}.stats-section{grid-template-columns:1fr}.table-container{overflow-x:scroll}}.activities-reports-page{min-height:100vh;background:#f8f9fa;padding:20px}.activities-report-viewer-section{max-width:1200px;margin:0 auto}.filter-section{background:#fff;border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 2px 8px #0000000d;display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:150px}.filter-group label{font-size:.9rem;font-weight:600;color:#2c3e50}.filter-select{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .3s ease;background:#fff}.filter-select:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.btn-export{padding:12px 24px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #87cefa4d;white-space:nowrap}.btn-export:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66}.stats-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;gap:20px;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa33}.stat-icon{font-size:2.5rem}.stat-number{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-label{font-size:.9rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px}.activities-section{background:#fff;border-radius:15px;padding:30px;box-shadow:0 2px 8px #0000000d}.activities-section h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.activities-list{display:flex;flex-direction:column;gap:20px}.activity-card{background:#f8f9fa;border-radius:12px;padding:20px;border:2px solid transparent;transition:all .3s ease}.activity-card:hover{border-color:#87cefa4d;box-shadow:0 4px 12px #00000014}.activity-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;flex-wrap:wrap;gap:10px}.activity-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:8px}.activity-category{display:inline-block;padding:5px 12px;background:#87ceeb;color:#fff;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:uppercase}.activity-actions{display:flex;gap:10px}.btn-edit,.btn-delete{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-edit{background:#87ceeb;color:#fff}.btn-edit:hover{background:#5fb3d3;transform:translateY(-2px)}.activity-meta{display:flex;gap:20px;margin-bottom:15px;font-size:.85rem;color:#7f8c8d;flex-wrap:wrap}.activity-description{color:#2c3e50;line-height:1.6;margin-bottom:10px;max-height:150px;overflow-y:auto}.activity-supervisor{font-size:.9rem;color:#7f8c8d;font-style:italic}.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:1.1rem;background:#f8f9fa;border-radius:15px;border:2px dashed #ddd}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:15px;width:90%;max-width:600px;max-height:95vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:2px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{font-size:1.5rem;color:#2c3e50;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close:hover{color:#e74c3c;transform:rotate(90deg)}.activity-form{display:flex;flex-direction:column;gap:20px}.form-label{font-size:.9rem;font-weight:600;color:#2c3e50}.form-input,.form-select,.form-textarea{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .3s ease;font-family:inherit}.form-textarea{resize:vertical;min-height:100px;max-height:150px;overflow-y:auto}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:10px}.btn{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa4d}@media(max-width:768px){.page-header{padding:20px 0}.back-button{position:relative;top:0;margin-bottom:20px}.filter-section{flex-direction:column;align-items:stretch}.stats-section{grid-template-columns:1fr}.activity-header{flex-direction:column}.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:20px}}.create-qr-code{padding:20px}.qr-container{background:#fff;border-radius:20px;padding:40px;box-shadow:var(--box-shadow);max-width:800px;margin:0 auto}.qr-settings{margin-bottom:30px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-color)}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem}.form-group small{display:block;margin-top:5px;color:var(--text-light);font-size:.85rem}.qr-info{background:#87cefa0d;padding:20px;border-radius:10px;margin-bottom:30px}.info-item{display:flex;justify-content:space-between;margin-bottom:10px}.info-label{font-weight:600;color:var(--text-color)}.info-value{color:var(--text-light)}.qr-display{display:flex;justify-content:center;align-items:center;margin-bottom:30px;padding:40px;background:#fff;border-radius:10px;min-height:400px}#qr-code{display:flex;justify-content:center;align-items:center}#qr-code svg{display:block;max-width:100%;height:auto}.qr-placeholder{text-align:center;color:var(--text-light);font-size:1.1rem}.page-header h1{font-size:2rem;margin-bottom:10px;color:var(--text-color)}.page-header p{color:var(--text-light);font-size:1rem}.qr-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}@media print{.qr-settings,.qr-actions{display:none}}.register-staff-page{min-height:100vh;background:#f8f9fa;padding:20px}.form-header{text-align:center;margin-bottom:40px;padding:30px 0;position:relative}.form-title{font-size:2.2rem;font-weight:300;color:#2c3e50;margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.form-subtitle{font-size:1rem;color:#7f8c8d;font-weight:300}.form-section{margin-top:20px}.staff-registration-form{width:100%}.form-section-title:first-child{margin-top:0}.form-label{display:block;font-size:.95rem;font-weight:600;color:#2c3e50;margin-bottom:8px}.form-hint{display:block;font-size:.8rem;color:#7f8c8d;margin-top:5px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:all .3s ease;background-color:#fff;box-sizing:border-box}.form-textarea{resize:vertical;min-height:80px;max-height:200px;overflow-y:auto}.file-input{position:absolute;opacity:0;width:0;height:0}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed #87CEEB;border-radius:15px;background:linear-gradient(135deg,#ffffffe6,#add8e61a);cursor:pointer;transition:all .3s ease;min-height:200px}.file-upload-label:hover{border-color:#add8e6;background:linear-gradient(135deg,#fffffff2,#add8e626);transform:translateY(-2px);box-shadow:0 4px 12px #87cefa33}.upload-icon{font-size:3rem;margin-bottom:15px}.upload-main-text{display:block;font-size:1rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.image-preview{margin-top:20px;display:none}.image-preview img{max-width:200px;max-height:200px;border-radius:10px;box-shadow:0 4px 12px #0000001a;object-fit:cover}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:40px;padding-top:30px;border-top:2px solid rgba(135,206,250,.2)}.btn{padding:14px 32px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-cancel:hover{background:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-submit{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;box-shadow:0 4px 15px #87cefa4d}.btn-submit:hover{background:linear-gradient(135deg,#add8e6,#87ceeb);transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66}@media(max-width:768px){.form-container{padding:30px 20px}.form-title{font-size:1.8rem}.back-button{position:relative;left:auto;top:auto;margin-bottom:20px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}@media(max-width:480px){.form-container{padding:20px 15px}.form-title{font-size:1.5rem}.file-upload-label{min-height:150px;padding:30px 15px}.upload-icon{font-size:2.5rem}}.superior-credentials-section{margin:20px 0;padding:20px;background:#f5f5f5;border-radius:10px;border:1px solid #e0e0e0}.superior-credentials-title{font-size:1.1rem;font-weight:600;color:#7f8c8d;margin-bottom:15px;text-transform:uppercase;letter-spacing:.5px}.superior-credentials-list{display:flex;flex-direction:column;gap:12px}.superior-credential-item{padding:12px 15px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.superior-credential-name{font-size:.95rem;font-weight:600;color:#95a5a6;margin-bottom:8px}.superior-credential-details{display:flex;flex-wrap:wrap;gap:15px;font-size:.85rem}.superior-credential-label{color:#bdc3c7;font-weight:500}.superior-credential-value{color:#95a5a6;font-family:Courier New,monospace;background:#f8f9fa;padding:4px 8px;border-radius:4px;border:1px solid #e0e0e0}.settings-page{width:100%}.settings-container{background:#fff;border-radius:15px;padding:30px;box-shadow:0 4px 15px #0000001a;max-width:800px;margin:0 auto}.settings-group{margin-bottom:30px}.settings-group-title{font-size:1.5rem;color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0e0e0}.form-input,.form-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3498db}.form-textarea{resize:vertical;min-height:80px}.settings-actions{display:flex;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:2px solid #e0e0e0}.btn-save{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.subjects-page{padding:20px;max-width:1400px;margin:0 auto;width:100%;min-height:100vh}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-number{font-size:2rem;font-weight:700;color:#2c3e50}.stat-label{color:#7f8c8d;font-size:.9rem;margin-top:5px}.action-buttons{display:flex;gap:10px}.btn-register{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-register:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.sync-button{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px}.sync-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #9b59b666;background:linear-gradient(135deg,#8e44ad,#7d3c98)}.summary-button{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:8px}.summary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166;background:linear-gradient(135deg,#27ae60,#219653)}.filter-select{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:all .3s ease}.filter-select:hover{border-color:#87ceeb}.subjects-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.subject-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;transition:all .3s ease}.subject-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.subject-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.subject-name{font-size:1.4rem;font-weight:700;color:#2c3e50;margin-bottom:5px}.subject-code{color:#7f8c8d;font-size:.9rem}.subject-category{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;background:#e3f2fd;color:#1976d2}.subject-category.core{background:#e8f5e9;color:#388e3c}.subject-category.elective{background:#fff3e0;color:#f57c00}.subject-description{color:#555;font-size:.95rem;line-height:1.6;margin-bottom:15px;max-height:150px;overflow-y:auto}.assignments-list{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px}.assignments-list h4{margin-top:0;margin-bottom:10px;color:#2c3e50;font-size:1rem}.assignment-item{display:flex;justify-content:space-between;align-items:center;padding:10px;margin-bottom:8px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.assignment-details{flex:1}.assignment-details strong{color:#2c3e50}.assignment-date{font-size:.8rem;color:#7f8c8d;margin-top:3px}.assignment-actions{display:flex;gap:5px}.edit-btn,.delete-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:5px;border-radius:4px;transition:all .3s ease}.edit-btn:hover{background:#f0f0f0;color:#f39c12}.delete-btn:hover{background:#f0f0f0;color:#e74c3c}.subject-info{margin-bottom:15px}.subject-info-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem}.subject-info-item strong{color:#2c3e50}.subject-grades{margin-bottom:15px;padding:15px;background:#f8f9fa;border-radius:8px}.grade-badge{display:inline-block;padding:5px 12px;margin:5px 5px 0 0;background:#87ceeb;color:#fff;border-radius:15px;font-size:.85rem;font-weight:500}.subject-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:2px solid #f0f0f0}.registered-by{color:#7f8c8d;font-size:.85rem}.subject-actions{display:flex;gap:10px}.action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;background:#3498db;color:#fff}.action-btn:hover{background:#2980b9;transform:translateY(-2px)}.action-btn.edit-btn{background:#f39c12}.action-btn.edit-btn:hover{background:#d68910}.action-btn.delete-btn{background:#e74c3c}.action-btn.delete-btn:hover{background:#c0392b}.empty-state h2{color:#2c3e50;margin-bottom:10px}.empty-state p{color:#7f8c8d;margin-bottom:20px}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:15px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:2px solid #f0f0f0}.modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.modal-close{background:none;border:none;font-size:1.8rem;color:#7f8c8d;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:#e74c3c}.modal-body{padding:25px}.modal-footer{padding:20px 25px;border-top:2px solid #f0f0f0;display:flex;justify-content:flex-end;gap:15px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:500;font-size:.95rem}.form-group input{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87ceeb33}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-secondary:hover{background:#7f8c8d;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2980b9,#2471a3);transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c66}.subject-badge{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;background:#e3f2fd;color:#1976d2}.summary-section{background:#fff;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;margin-bottom:30px}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.summary-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.teacher-summary-container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1200px){.teacher-summary-container{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.teacher-summary-container{grid-template-columns:repeat(2,1fr)}}.teacher-summary-card{background:#f8f9fa;border-radius:12px;padding:20px;border:1px solid #e0e0e0}.teacher-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.teacher-name{font-size:1.2rem;font-weight:700;color:#2c3e50}.teacher-stats{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;background:#e3f2fd;color:#1976d2}.teacher-details{margin-top:15px}.teacher-info{margin-bottom:15px}.teacher-info-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem}.teacher-info-item strong{color:#2c3e50}@media(max-width:768px){.subjects-page{padding:15px}.page-title{font-size:1.8rem}.page-subtitle{font-size:.95rem}.back-button{padding:10px 20px;font-size:.9rem;margin-bottom:15px}.stats-container{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:20px}.stat-card{padding:20px;gap:15px}.stat-icon{font-size:2.5rem}.stat-number{font-size:1.5rem}.stat-label{font-size:.8rem}.actions-section{flex-direction:column;align-items:stretch;gap:10px}.action-buttons{width:100%;flex-direction:column;gap:10px}.sync-button,.summary-button{width:100%;justify-content:center}.filter-controls{width:100%;flex-direction:column;gap:10px}.filter-select{width:100%}.teacher-summary-container{grid-template-columns:1fr}.subjects-container{grid-template-columns:1fr;gap:15px}.subject-card{padding:20px}.subject-name{font-size:1.2rem}.subject-header{flex-direction:column;align-items:flex-start;gap:10px}.subject-category{align-self:flex-start}.subject-description{font-size:.9rem;max-height:120px}.subject-footer{flex-direction:column;align-items:flex-start;gap:10px}.subject-actions{width:100%;justify-content:space-between}.action-btn{flex:1;text-align:center}.modal-content{margin:10px;max-height:85vh}.modal-header{padding:15px 20px}.modal-body{padding:20px}.modal-footer{padding:15px 20px;flex-direction:column;gap:10px}.btn{width:100%}}@media(max-width:480px){.subjects-page{padding:10px}.page-title{font-size:1.5rem}.stat-card{padding:15px}.stat-icon{font-size:2rem}.stat-number{font-size:1.3rem}.subject-card{padding:15px}.subject-name{font-size:1.1rem}.subject-info-item{font-size:.85rem}.grade-badge{font-size:.8rem;padding:4px 10px}}.communication-page{padding:20px;max-width:1400px;margin:0 auto;width:100%;min-height:100vh}.back-button{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:20px;transition:all .3s ease}.back-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa66}.page-title{font-size:2.5rem;color:#2c3e50;margin-bottom:10px}.page-subtitle{color:#7f8c8d;font-size:1.1rem}.communication-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab-btn{padding:12px 24px;border:none;background:transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#7f8c8d;border-bottom:3px solid transparent;transition:all .3s ease;position:relative}.tab-btn.active{color:#3498db;border-bottom-color:#3498db}.tab-badge{background:#e74c3c;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;margin-left:8px}.chat-container{display:grid;grid-template-columns:300px 1fr;gap:20px;min-height:600px;max-height:calc(100vh - 250px);background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.staff-sidebar{background:#f8f9fa;border-right:2px solid #e0e0e0;display:flex;flex-direction:column}.sidebar-header{padding:20px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #e0e0e0}.sidebar-header h3{margin:0;color:#2c3e50}.btn-refresh{background:#3498db;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer}.staff-search{padding:15px;border-bottom:2px solid #e0e0e0}.search-input{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem}.staff-list{flex:1;overflow-y:auto;padding:10px}.staff-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;cursor:pointer;transition:all .3s ease;margin-bottom:8px}.staff-item:hover{background:#e3f2fd}.staff-item.active{background:#87ceeb;color:#fff}.staff-avatar{flex-shrink:0}.staff-info{flex:1}.staff-name{font-weight:600;font-size:.95rem}.staff-role{font-size:.85rem;color:#7f8c8d}.staff-item.active .staff-role{color:#fffc}.unread-badge{background:#e74c3c;color:#fff;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.chat-main{display:flex;flex-direction:column}.no-chat-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#7f8c8d}.no-chat-icon{font-size:4rem;margin-bottom:20px}.chat-area{display:flex;flex-direction:column;height:100%;min-height:400px}.chat-header{padding:20px;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.chat-user-avatar{flex-shrink:0}.chat-user-name{font-weight:600;font-size:1.1rem;color:#2c3e50}.chat-user-role{font-size:.9rem;color:#7f8c8d}.messages-container{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa;min-height:200px}.message{max-width:70%;padding:12px 16px;border-radius:12px;word-wrap:break-word}.message.sent{align-self:flex-end;background:#3498db;color:#fff}.message.received{align-self:flex-start;background:#fff;color:#2c3e50;border:1px solid #e0e0e0}.message-content{margin-bottom:5px}.message-time{font-size:.75rem;opacity:.7}.message-input-area{padding:20px;border-top:2px solid #e0e0e0;background:#fff;position:sticky;bottom:0;z-index:10}.input-wrapper{display:flex;gap:10px;align-items:flex-end}.message-input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:none;max-height:150px;overflow-y:auto}.message-input:focus{outline:none;border-color:#3498db}.send-btn{background:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.send-btn:hover{background:#2980b9;transform:translateY(-2px)}.received-messages-container{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px #0000001a;max-height:calc(100vh - 250px);overflow-y:auto}.message-card{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:15px;border-left:4px solid #e0e0e0;transition:all .3s ease}.message-card.unread{border-left-color:#3498db;background:#e3f2fd}.sender-info{display:flex;flex-direction:column;gap:5px}.message-time{font-size:.85rem;color:#7f8c8d}.unread-indicator{background:#e74c3c;color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.message-body{color:#2c3e50;line-height:1.6}@media(max-width:768px){.communication-page{padding:10px}.page-title{font-size:1.8rem}.page-subtitle{font-size:.95rem}.communication-tabs{flex-wrap:wrap;gap:5px;margin-bottom:15px}.tab-btn{padding:10px 15px;font-size:.9rem;flex:1;min-width:120px;text-align:center}.chat-container{grid-template-columns:1fr;height:calc(100vh - 200px);gap:0;border-radius:10px}.staff-sidebar{max-height:250px;border-right:none;border-bottom:2px solid #e0e0e0}.sidebar-header{padding:15px}.sidebar-header h3{font-size:1rem}.staff-search{padding:10px 15px}.search-input{padding:8px;font-size:.9rem}.staff-list{padding:5px 10px}.staff-item{padding:10px;margin-bottom:5px}.staff-avatar{width:35px;height:35px}.staff-name{font-size:.9rem}.staff-role{font-size:.8rem}.chat-main{min-height:300px}.no-chat-selected{padding:20px}.no-chat-icon{font-size:3rem}.chat-header{padding:15px}.chat-user-avatar{width:40px;height:40px}.chat-user-name{font-size:1rem}.chat-user-role{font-size:.85rem}.messages-container{padding:15px}.message{max-width:85%;padding:10px 14px;margin-bottom:8px}.message-content{font-size:.95rem;line-height:1.4;word-break:break-word;overflow-wrap:break-word}.message-time{font-size:.7rem}.message-input-area{padding:15px}.input-wrapper{flex-direction:column;gap:10px}.message-input{width:100%;min-height:60px;max-height:100px;padding:10px;font-size:.95rem}.send-btn{width:100%;padding:12px;font-size:1rem}.received-messages-container{padding:15px;max-height:calc(100vh - 200px)}.message-card{padding:15px;margin-bottom:10px}.message-header{flex-direction:column;align-items:flex-start;gap:5px}.sender-info{width:100%}.unread-indicator{align-self:flex-start}.empty-state{padding:40px 15px}}@media(max-width:480px){.communication-page{padding:8px}.page-title{font-size:1.5rem}.back-button{padding:10px 20px;font-size:.9rem;margin-bottom:15px}.tab-btn{min-width:100px;padding:8px 12px;font-size:.85rem}.chat-container{height:calc(100vh - 180px)}.staff-sidebar{max-height:220px}.staff-item{padding:8px}.staff-avatar{width:32px;height:32px}.message{max-width:90%;padding:8px 12px}.message-content{font-size:.9rem}}.almanac-page{padding:20px;max-width:1400px;margin:0 auto;width:100%;min-height:100vh}.almanac-container{display:grid;grid-template-columns:2fr 1fr;gap:30px}.calendar-view{background:#fff;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.calendar-month-year{font-size:1.5rem;font-weight:600;color:#2c3e50}.calendar-nav{display:flex;gap:10px}.calendar-nav-btn{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.calendar-nav-btn:hover{background:#2980b9}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-header{text-align:center;font-weight:600;color:#2c3e50;padding:10px;font-size:.9rem}.calendar-day{aspect-ratio:1;border:2px solid #e0e0e0;border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.calendar-day:hover{background:#e3f2fd;border-color:#3498db}.calendar-day.today{background:#3498db;color:#fff;border-color:#2980b9}.calendar-day.has-event{border-color:#f39c12;background:#fff3e0}.calendar-day.other-month{opacity:.3;cursor:default}.calendar-day-number{font-weight:600;font-size:1rem}.calendar-day-events{font-size:.7rem;margin-top:4px;color:#f39c12}.events-list{background:#fff;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;max-height:calc(100vh - 300px);overflow-y:auto}.events-list h3{margin-top:0;color:#2c3e50;margin-bottom:20px}.events-container{display:flex;flex-direction:column;gap:15px}.event-item{padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.event-date{font-size:.85rem;color:#7f8c8d;margin-bottom:5px}.event-title{font-weight:600;color:#2c3e50;margin-bottom:5px}.event-type{font-size:.85rem;color:#3498db;margin-bottom:5px}.event-description{font-size:.85rem;color:#7f8c8d;margin-top:8px;line-height:1.4}.event-created-by{font-size:.8rem;color:#95a5a6;margin-top:5px;font-style:italic}.event-actions{margin-top:10px;display:flex;justify-content:flex-end}.btn-delete-event{background:#e74c3c;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.btn-delete-event:hover{background:#c0392b;transform:translateY(-1px)}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover{background:#c0392b}.event-to-delete{background:#f8f9fa;padding:15px;border-radius:8px;margin:15px 0;border-left:4px solid #e74c3c}.event-to-delete p{margin:5px 0}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:10}.event-form .form-group{margin-bottom:20px}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.form-textarea{resize:vertical;min-height:100px;max-height:300px;overflow-y:auto}.prefix-selection{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.prefix-checkbox{display:flex;align-items:center;gap:5px;padding:8px 12px;background:#f8f9fa;border-radius:6px;border:2px solid #e0e0e0;cursor:pointer;transition:all .3s ease}.prefix-checkbox:hover{background:#e3f2fd;border-color:#3498db}.prefix-checkbox input[type=checkbox]{margin:0;cursor:pointer}.prefix-checkbox span{font-size:.9rem;font-weight:500;color:#2c3e50}.form-help{display:block;margin-top:8px;color:#7f8c8d;font-size:.85rem;line-height:1.4}@media(max-width:768px){.almanac-container{grid-template-columns:1fr}}.documents-page{width:100%}.documents-tabs{display:flex;gap:10px;margin-bottom:20px}.documents-tabs .tab-btn{padding:10px 20px;border:2px solid #e0e0e0;border-radius:25px;background:#fff;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease}.documents-tabs .tab-btn:hover{border-color:#3498db;color:#3498db}.documents-tabs .tab-btn.active{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-color:#3498db}.documents-actions{margin-bottom:30px;display:flex;justify-content:space-between;align-items:center}.documents-categories{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.category-btn{padding:10px 20px;border:2px solid #e0e0e0;border-radius:25px;background:#fff;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease}.category-btn:hover{border-color:#3498db;color:#3498db}.category-btn.active{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-color:#3498db}.documents-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.document-card{background:#fff;border-radius:10px;padding:15px;box-shadow:0 2px 8px #00000014;transition:all .2s ease;text-align:center;display:flex;flex-direction:column;justify-content:space-between;min-height:200px}.document-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001f}.document-icon{font-size:2rem;margin-bottom:10px}.document-name{font-size:.95rem;font-weight:600;color:#2c3e50;margin-bottom:8px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.document-info{font-size:.75rem;color:#7f8c8d;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-category{display:inline-block;padding:3px 8px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.7rem;font-weight:600;margin:8px 0;text-transform:capitalize}.document-actions{display:flex;gap:6px;justify-content:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.document-action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;background:#3498db;color:#fff}.document-action-btn:hover{background:#2980b9;transform:translateY(-2px)}.document-action-btn.delete{background:#e74c3c}.document-action-btn.delete:hover{background:#c0392b}.finance-page{width:100%}.finance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:15px;padding:25px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 15px #0000001a}.stat-card.income{border-left:4px solid #2ecc71}.stat-card.expense{border-left:4px solid #e74c3c}.stat-card.balance{border-left:4px solid #3498db}.stat-icon{font-size:3rem}.stat-label{color:#7f8c8d;font-size:.9rem;margin-bottom:5px}.stat-amount{font-size:2rem;font-weight:700;color:#2c3e50}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.action-buttons{display:flex;gap:15px;flex-wrap:wrap}.btn-add{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.expense-btn{background:linear-gradient(135deg,#e74c3c,#c0392b)}.btn-export{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-export:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.filter-controls{display:flex;gap:15px}.table-container{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px #0000001a;overflow-x:auto}.finance-table{width:100%;border-collapse:collapse}.finance-table thead{background:#f8f9fa}.finance-table th{padding:15px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0}.finance-table td{padding:15px;border-bottom:1px solid #f0f0f0}.transaction-type{padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:capitalize}.transaction-type.income{background:#d4edda;color:#155724}.transaction-type.expense{background:#f8d7da;color:#721c24}.amount-income{color:#2ecc71;font-weight:600}.amount-expense{color:#e74c3c;font-weight:600}.action-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;background:#e74c3c;color:#fff}.action-btn:hover{background:#c0392b;transform:translateY(-2px)}.transaction-form .form-group{margin-bottom:20px}.form-input,.form-select{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem}.btn-submit{background:#3498db;color:#fff}.complaints-page{width:100%}.complaints-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:15px;padding:25px;text-align:center;box-shadow:0 4px 15px #0000001a}.stat-number{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:10px}.filter-section{display:flex;gap:15px;margin-bottom:30px}.complaints-list{display:flex;flex-direction:column;gap:15px}.complaint-card{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px #0000001a;cursor:pointer;transition:all .3s ease;border-left:4px solid #e0e0e0}.complaint-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.complaint-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.complaint-status,.complaint-priority{display:inline-block;padding:5px 12px;border-radius:20px;font-size:.85rem;font-weight:600;margin-left:8px;text-transform:capitalize}.complaint-status.pending{background:#fff3cd;color:#856404}.complaint-status.resolved{background:#d4edda;color:#155724}.complaint-priority.high{background:#f8d7da;color:#721c24}.complaint-priority.medium{background:#fff3cd;color:#856404}.complaint-priority.low{background:#d1ecf1;color:#0c5460}.complaint-description{color:#555;margin-bottom:15px;line-height:1.6;max-height:150px;overflow-y:auto}.complaint-footer{display:flex;justify-content:space-between;font-size:.85rem;color:#7f8c8d;padding-top:15px;border-top:1px solid #f0f0f0}.modal-content{background:#fff;border-radius:15px;padding:30px;max-width:600px;width:90%;max-height:95vh;overflow-y:auto}.detail-item{margin-bottom:20px}.detail-label{font-weight:600;color:#2c3e50;margin-bottom:5px}.detail-value{color:#555;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:20px;padding-top:20px;border-top:2px solid #e0e0e0}.btn-resolve{background:#2ecc71;color:#fff}.btn-close{background:#95a5a6;color:#fff}.images-page{width:100%}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:15px}.btn-upload{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3498db66}.filter-select{padding:10px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer}.images-stats{margin-bottom:30px}.stat-item{background:#fff;border-radius:15px;padding:20px;text-align:center;box-shadow:0 4px 15px #0000001a;display:inline-block}.stat-number{font-size:2rem;font-weight:700;color:#2c3e50;display:block;margin-bottom:5px}.stat-label{color:#7f8c8d;font-size:.9rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.image-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px #0000001a;cursor:pointer;transition:all .3s ease}.image-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.image-thumbnail{width:100%;height:200px;object-fit:cover}.image-info{padding:15px}.image-title{font-weight:600;color:#2c3e50;margin-bottom:5px}.image-category{font-size:.85rem;color:#3498db;margin-bottom:5px}.image-date{font-size:.85rem;color:#7f8c8d}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000}.image-modal{background:#fff;border-radius:15px;padding:20px;max-width:800px;width:90%;max-height:95vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:10px;right:10px;background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.image-modal img{width:100%;max-height:500px;object-fit:contain;border-radius:8px;margin-bottom:20px}.image-details{margin-bottom:20px}.image-details div{margin-bottom:10px;color:#2c3e50}.btn-delete{background:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-delete:hover{background:#c0392b;transform:translateY(-2px)}.classroom-page{min-height:100vh;background:#f8f9fa;padding:20px}.class-selector{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;text-align:center}.selector-label{font-size:1.1rem;font-weight:600;color:#2c3e50;margin-right:15px}.class-select{padding:12px 24px;border:2px solid #87CEEB;border-radius:25px;background:#fff;color:#2c3e50;font-size:1rem;font-weight:500;cursor:pointer;min-width:200px}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:12px;padding:15px;box-shadow:0 4px 15px #00000014;display:flex;align-items:center;gap:12px;transition:transform .3s ease}.stat-icon{font-size:1.8rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87cefa33,#add8e61a);border-radius:12px}.stat-content{flex:1}.stat-number{font-size:1.5rem;font-weight:700;color:#87ceeb;margin-bottom:3px}.stat-label{font-size:.7rem;color:#7f8c8d;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.activity-stats{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:40px}.activity-stats h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.activity-item{background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;gap:10px;transition:transform .3s ease}.activity-item:hover{transform:translateY(-3px)}.activity-icon{font-size:1.5rem}.activity-info{flex:1}.activity-label{font-size:.7rem;color:#7f8c8d;margin-bottom:3px}.activity-count{font-size:1.2rem;font-weight:700;color:#87ceeb}.task-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.task-btn{flex:1;min-width:150px;padding:15px 25px;border:none;border-radius:15px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;color:#fff}.task-btn-homework{background:linear-gradient(135deg,#3498db,#2980b9)}.task-btn-homework:hover{transform:translateY(-3px);box-shadow:0 6px 20px #3498db66}.task-btn-classwork{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.task-btn-classwork:hover{transform:translateY(-3px);box-shadow:0 6px 20px #9b59b666}.task-btn-packages{background:linear-gradient(135deg,#e67e22,#d35400)}.task-btn-packages:hover{transform:translateY(-3px);box-shadow:0 6px 20px #e67e2266}.task-btn-tests{background:linear-gradient(135deg,#e74c3c,#c0392b)}.task-btn-tests:hover{transform:translateY(-3px);box-shadow:0 6px 20px #e74c3c66}.task-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.task-modal{background:#fff;border-radius:20px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.task-modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:2px solid #f0f0f0}.task-modal-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.modal-close-btn{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close-btn:hover{background:#f0f0f0;color:#e74c3c}.task-modal-body{padding:30px}.task-modal-body .form-group{margin-bottom:25px}.task-modal-body .form-label{display:block;margin-bottom:10px;font-weight:600;color:#2c3e50;font-size:.95rem}.send-to-options{margin-bottom:15px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px;border-radius:8px;transition:background .3s ease}.checkbox-label:hover{background:#f8f9fa}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.student-selection{margin-top:15px;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.students-checkbox-list{display:flex;flex-direction:column;gap:8px}.task-description-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;transition:border-color .3s ease}.task-description-input:focus{outline:none;border-color:#87ceeb}.file-upload-section{display:flex;flex-direction:column;gap:10px}.btn-upload-file{padding:12px 20px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .3s ease;align-self:flex-start}.btn-upload-file:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.file-info{display:flex;align-items:center;gap:10px;padding:10px;background:#f8f9fa;border-radius:8px}.file-name{flex:1;font-size:.9rem;color:#2c3e50}.btn-remove-file{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:all .3s ease}.btn-remove-file:hover{background:#c0392b;transform:scale(1.1)}.file-preview{margin-top:10px;border:2px solid #e0e0e0;border-radius:8px;padding:10px;text-align:center}.file-preview img{max-width:100%;max-height:300px;border-radius:8px}.task-modal-footer{display:flex;justify-content:flex-end;gap:15px;padding:20px 30px;border-top:2px solid #f0f0f0}.task-modal-footer .btn{padding:12px 30px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#7f8c8d;transform:translateY(-2px)}.btn-send{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.btn-send:hover{transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.parent-message-modal{background:#fff;border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.student-info-section{background:#f8f9fa;border-radius:10px;padding:15px;margin-bottom:20px}.student-info-section h4{margin:0 0 10px;color:#2c3e50;font-size:1.1rem}.student-info-section p{margin:5px 0;font-size:.9rem;color:#555}.precoded-messages-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:15px}.precoded-message-item{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:8px;cursor:pointer;transition:background .3s ease}.precoded-message-item:hover{background:#f0f0f0}.precoded-message-item input[type=radio]{margin-top:3px;cursor:pointer}.precoded-message-item span{flex:1;font-size:.9rem;color:#2c3e50;line-height:1.4}.students-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.students-container h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.no-students{text-align:center;padding:40px;color:#7f8c8d;font-size:1rem}.view-only-badge{font-size:.75rem;color:#7f8c8d;font-style:italic;padding:4px 8px;background:#f0f0f0;border-radius:4px}@media(max-width:768px){.overview-stats,.activity-grid{grid-template-columns:repeat(2,1fr)}.students-list{grid-template-columns:1fr}}.iheza-live-page{min-height:100vh;background:#f8f9fa;padding:20px}.back-button{position:absolute;left:0;top:30px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #2ecc714d}.back-button:hover{transform:translate(-5px);box-shadow:0 6px 20px #2ecc7166;background:linear-gradient(135deg,#2ecc71,#27ae60)}.actions-section,.search-section{margin-bottom:30px}.search-container{position:relative;max-width:600px;margin:0 auto}.search-input{width:100%;padding:12px 50px 12px 20px;border:2px solid rgba(46,204,113,.3);border-radius:25px;font-size:1rem;background:#fff;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.search-input:focus{outline:none;border-color:#27ae60;box-shadow:0 4px 15px #2ecc7133}.clear-search{position:absolute;right:15px;top:50%;transform:translateY(-50%);background:none;border:none;color:#7f8c8d;font-size:1.2rem;cursor:pointer;padding:5px;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.clear-search:hover{background:#e74c3c1a;color:#e74c3c}.meeting-actions{display:flex;gap:10px;margin-top:15px}.delete-meeting-btn{padding:8px 16px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:5px}.delete-meeting-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c66}.meetings-tabs{display:flex;gap:15px;margin-bottom:30px;background:#fff;padding:10px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.tab-btn{flex:1;padding:12px 24px;border:2px solid transparent;background:transparent;color:#7f8c8d;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.tab-btn:hover{background:#2ecc711a;color:#2c3e50}.tab-btn.active{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border-color:#27ae60;box-shadow:0 2px 8px #2ecc714d}.btn-schedule{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #2ecc714d}.btn-schedule:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2ecc7166;background:linear-gradient(135deg,#2ecc71,#27ae60)}.meetings-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.meeting-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #27ae60}.meeting-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #2ecc7133}.meeting-card.upcoming{border-left-color:#2ecc71}.meeting-card.invitation{border-left-color:#f39c12;background:linear-gradient(135deg,#fff9e6,#fff)}.meeting-organizer{font-size:.85rem;color:#7f8c8d;margin-top:5px;font-style:italic}.meeting-card.past{border-left-color:#95a5a6;opacity:.7}.meeting-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.meeting-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.meeting-date-time{font-size:.9rem;color:#7f8c8d}.meeting-status{padding:4px 12px;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase}.meeting-status.upcoming{background:#2ecc711a;color:#2ecc71}.meeting-status.past{background:#95a5a61a;color:#95a5a6}.meeting-info{margin-bottom:15px}.meeting-info-item{margin-bottom:8px;font-size:.9rem;color:#7f8c8d}.meeting-info-item strong{color:#2c3e50;margin-right:8px}.meeting-link{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;text-decoration:none;border-radius:20px;font-size:.9rem;font-weight:600;transition:all .3s ease;margin-top:10px;border:none;cursor:pointer}.meeting-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.meeting-link.disabled{background:linear-gradient(135deg,#95a5a6,#7f8c8d);cursor:not-allowed;opacity:.7}.meeting-link.disabled:hover{transform:none;box-shadow:none}.modal-content{background:#fff;border-radius:20px;padding:0;max-width:700px;width:90%;max-height:90vh;box-shadow:0 8px 32px #0003;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(46,204,113,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:1}.meeting-form .form-group{margin-bottom:20px}.meeting-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.meeting-form .form-input,.meeting-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(46,204,113,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.meeting-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.participants-list{max-height:200px;overflow-y:auto;padding:15px;background:#2ecc710d;border-radius:10px;border:2px solid rgba(46,204,113,.2)}.participant-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.participant-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#27ae60}.meeting-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn-submit{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.form-help{display:block;margin-top:5px;font-size:.85rem;color:#7f8c8d}@media(max-width:768px){.meetings-list,.meeting-form .form-row{grid-template-columns:1fr}}.extra-curriculum-page{min-height:100vh;background:#f8f9fa;padding:20px}.task-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.task-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.task-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.task-category{display:inline-block;padding:4px 12px;background:#87cefa1a;border-radius:15px;font-size:.85rem;color:#2c3e50;font-weight:600;text-transform:uppercase}.task-date{font-size:.9rem;color:#7f8c8d;margin-bottom:10px}.task-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(135,206,250,.2);font-size:.85rem;color:#7f8c8d}.task-form .form-input,.task-form .form-select,.task-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.task-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}@media(max-width:768px){.tasks-list,.task-form .form-row{grid-template-columns:1fr}}.coordinator-dashboard{padding:20px;min-height:100vh;background:#f8f9fa}.dashboard-header{text-align:center;margin-bottom:30px;padding:20px 0}.dashboard-title{font-size:2.5rem;color:#2c3e50;margin-bottom:10px;font-weight:600;text-align:center}.dashboard-subtitle{font-size:1.1rem;color:#7f8c8d;margin-bottom:10px;text-align:center}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;margin-top:30px}.component-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;border:2px solid transparent;animation:fadeInUp .6s ease forwards;opacity:0}.component-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026;border-color:#87ceeb}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.card-icon{font-size:3.5rem;margin-bottom:15px}.card-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin-bottom:10px}.card-description{font-size:.95rem;color:#7f8c8d;line-height:1.5}@media(max-width:768px){.components-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.component-card{padding:20px}.card-icon{font-size:2.5rem}}A* Manage Principal Page Styles */ .manage-principal-page{min-height:100vh;background:#f8f9fa;padding:20px}.staff-tabs{display:flex;gap:15px;margin-bottom:30px;background:#fff;padding:20px;border-radius:15px;box-shadow:0 4px 15px #00000014}.tab-btn{flex:1;padding:12px 24px;border:2px solid #e0e0e0;background:#fff;color:#2c3e50;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.tab-btn:hover{background:#f8f9fa;border-color:#87ceeb}.staff-container{max-width:1400px;margin:0 auto}.staff-list-container{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px!important}.staff-list-container .compact-card{padding:15px;cursor:pointer;min-height:auto}.staff-list-container .compact-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.report-modal-content{max-width:900px;width:95%;max-height:95vh}.report-modal-body{max-height:calc(95vh - 120px);overflow-y:auto}.report-preview{background:#fff;padding:20px;border:1px solid #ddd;border-radius:5px;margin-bottom:20px;max-height:60vh;overflow-y:auto}.report-header-preview{text-align:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #2c3e50}.report-header-preview h2{font-size:18px;font-weight:700;color:#2c3e50;margin-bottom:15px}.report-meta-preview{font-size:12px;color:#555;text-align:left;display:inline-block}.report-meta-preview p{margin:5px 0}.report-summary-preview{margin:20px 0;background:#f8f9fa;padding:15px;border-radius:5px}.report-summary-preview h3{font-size:16px;font-weight:700;color:#2c3e50;margin-bottom:15px;border-bottom:2px solid #87CEEB;padding-bottom:5px}.summary-grid-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-item-preview{text-align:center;padding:10px;background:#fff;border-radius:5px;border:1px solid #ddd}.summary-label-preview{font-size:11px;color:#666;margin-bottom:5px}.summary-value-preview{font-size:18px;font-weight:700;color:#2c3e50}.report-tasks-preview{margin-top:20px}.report-tasks-preview h3{font-size:16px;font-weight:700;color:#2c3e50;margin-bottom:15px;border-bottom:2px solid #87CEEB;padding-bottom:5px}.tasks-list-preview{display:flex;flex-direction:column;gap:12px}.task-item-preview{background:#f8f9fa;padding:12px;border-radius:5px;border-left:3px solid #87CEEB}.task-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.task-title-preview{font-size:14px;font-weight:600;color:#2c3e50}.task-status-preview{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:capitalize}.task-status-preview.status-pending{background:#fff4e6;color:#f39c12}.task-status-preview.status-in-progress{background:#e3f2fd;color:#3498db}.task-status-preview.status-completed{background:#e8f5e9;color:#27ae60}.task-status-preview.status-cancelled{background:#f5f5f5;color:#95a5a6}.task-item-body{font-size:12px;color:#555}.task-item-body p{margin:5px 0}.task-item-meta{display:flex;gap:15px;margin-top:8px;flex-wrap:wrap;font-size:11px}.task-item-meta span{color:#666}.task-item-meta .overdue{color:#e74c3c;font-weight:700}.report-actions{display:flex;justify-content:flex-end;gap:15px;padding-top:15px;border-top:1px solid #eee}.btn-download{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-download:hover{transform:translateY(-2px);box-shadow:0 4px 12px #27ae6066}.manage-principal-page .staff-list-container{grid-template-columns:repeat(4,1fr)!important;gap:20px!important}@media(max-width:768px){.staff-list-container{grid-template-columns:repeat(2,1fr);gap:12px}.report-modal-content{width:98%;max-height:98vh}.report-preview{padding:15px;font-size:10pt}.report-preview .tasks-table{font-size:8pt}.report-preview .tasks-table th,.report-preview .tasks-table td{padding:5px}}.staff-card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.staff-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.staff-avatar,.staff-avatar-placeholder{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#87ceeb,#add8e6);flex-shrink:0}.staff-avatar{object-fit:cover}.staff-info{flex:1;min-width:0;overflow:hidden}.staff-name{font-size:.9rem;font-weight:600;color:#2c3e50;margin-bottom:3px;line-height:1.2;word-wrap:break-word}.staff-role{font-size:.75rem;color:#7f8c8d}.staff-details{margin-bottom:10px}.staff-details-item{font-size:.75rem;color:#2c3e50;margin-bottom:4px;line-height:1.3;word-wrap:break-word;overflow-wrap:break-word}.task-stats{display:flex;justify-content:space-around;padding:8px;background:#f8f9fa;border-radius:8px;margin-bottom:10px}.stat-item{text-align:center}.stat-number{display:block;font-size:.9rem;font-weight:700;color:#2c3e50;margin-bottom:2px}.stat-label{font-size:.65rem;color:#7f8c8d}.assign-task-btn{width:100%;padding:8px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.assign-task-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.modal-content{background:#fff;border-radius:15px;padding:30px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#7f8c8d;line-height:1}.form-label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#87ceeb}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.assigned-to-display{padding:12px;background:#f8f9fa;border-radius:8px;font-weight:600;color:#2c3e50}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:20px}.btn{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600}@media(max-width:768px){.staff-list-container{grid-template-columns:repeat(2,1fr);gap:12px}.form-row{grid-template-columns:1fr}}.tasks-management-page{min-height:100vh;background:#f8f9fa;padding:20px}.tasks-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px;margin-bottom:40px}.stat-card.completed{border-left:4px solid #2ecc71}.stat-card.completed .stat-number{color:#2ecc71}.stat-card.overdue .stat-number{color:#e74c3c}.period-stats{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:40px}.period-stats h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.period-item{text-align:center;padding:20px;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d}.period-label{font-size:.85rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.period-number{font-size:2rem;font-weight:700;color:#87ceeb}.table-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;overflow-x:auto}.tasks-table{width:100%;border-collapse:collapse}.tasks-table thead{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.tasks-table th{padding:15px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.tasks-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.tasks-table tbody tr:hover{background-color:#87cefa0d}.tasks-table td{padding:15px}.task-title{font-weight:600;color:#2c3e50;margin-bottom:5px}.task-description{font-size:.85rem;color:#7f8c8d}.priority-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;text-transform:uppercase}.priority-badge.high{background:#e74c3c1a;color:#e74c3c}.priority-badge.medium{background:#f39c121a;color:#f39c12}.priority-badge.low{background:#3498db1a;color:#3498db}.status-badge.pending{background:#f39c121a;color:#f39c12}.status-badge.in-progress{background:#3498db1a;color:#3498db}.status-badge.completed{background:#2ecc711a;color:#2ecc71}.status-badge.cancelled{background:#95a5a61a;color:#95a5a6}.deadline{font-weight:600}.deadline.overdue{color:#e74c3c}.deadline.soon{color:#f39c12}.action-btn{padding:6px 12px;border:1px solid #87CEEB;background:#fff;color:#87ceeb;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.action-btn:hover{background:#87ceeb;color:#fff}.action-btn.cancel{border-color:#e74c3c;color:#e74c3c}.action-btn.cancel:hover{background:#e74c3c;color:#fff}.staff-list-container{margin-bottom:40px}.staff-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;width:100%}.staff-card{background:#fff;border-radius:12px;padding:15px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;cursor:pointer}.staff-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.staff-header-compact{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.staff-avatar-compact,.staff-avatar-placeholder-compact{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#87ceeb,#add8e6);flex-shrink:0}.staff-avatar-compact{object-fit:cover}.staff-info-compact{flex:1;min-width:0}.staff-name-compact{font-size:.95rem;font-weight:600;color:#2c3e50;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-role-compact{font-size:.75rem;color:#7f8c8d}.task-stats-compact{display:flex;justify-content:space-around;padding:10px;background:#f8f9fa;border-radius:8px;margin-bottom:12px}.stat-item-compact{text-align:center}.stat-number-compact{display:block;font-size:1.1rem;font-weight:700;color:#2c3e50;margin-bottom:3px}.stat-label-compact{font-size:.7rem;color:#7f8c8d}.assign-task-btn-compact{width:100%;padding:8px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.assign-task-btn-compact:hover{transform:translateY(-1px);box-shadow:0 3px 10px #87cefa66}@media(max-width:768px){.tasks-stats,.period-grid{grid-template-columns:repeat(2,1fr)}.staff-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media(min-width:769px)and (max-width:1200px){.staff-grid{grid-template-columns:repeat(3,1fr)}}.complaints-hub-page{min-height:100vh;background:#f8f9fa;padding:20px}.complaints-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px;margin-bottom:40px}.stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;text-align:center;transition:transform .3s ease}.stat-card.resolved{border-left:4px solid #2ecc71}.stat-number{font-size:2.5rem;font-weight:700;color:#87ceeb;margin-bottom:8px}.stat-card.pending .stat-number{color:#f39c12}.stat-card.resolved .stat-number{color:#2ecc71}.filter-section{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.complaints-list{display:flex;flex-direction:column;gap:20px}.complaint-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;cursor:pointer;transition:all .3s ease;border-left:4px solid #87CEEB}.complaint-card:hover{transform:translate(5px);box-shadow:0 6px 20px #87cefa33}.complaint-card.pending{border-left-color:#f39c12}.complaint-card.in-progress{border-left-color:#3498db}.complaint-card.resolved{border-left-color:#2ecc71}.complaint-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.complaint-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.complaint-meta{font-size:.85rem;color:#7f8c8d}.complaint-status{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;margin-left:10px}.complaint-status.pending{background:#f39c121a;color:#f39c12}.complaint-status.in-progress{background:#3498db1a;color:#3498db}.complaint-status.resolved{background:#2ecc711a;color:#2ecc71}.complaint-priority{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-left:10px}.complaint-priority.high{background:#e74c3c1a;color:#e74c3c}.complaint-priority.medium{background:#f39c121a;color:#f39c12}.complaint-priority.low{background:#3498db1a;color:#3498db}.complaint-description{color:#7f8c8d;line-height:1.6;margin-bottom:15px;max-height:150px;overflow-y:auto;word-wrap:break-word}.complaint-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(135,206,250,.2);font-size:.85rem;color:#7f8c8d}.modal-content{background:#fff;border-radius:20px;padding:0;max-width:700px;width:90%;max-height:95vh;box-shadow:0 8px 32px #0003;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;background:#fff}.complaint-details,.detail-item{margin-bottom:20px}.detail-item strong{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.detail-description{color:#7f8c8d;line-height:1.6;margin-top:5px}.btn-resolve{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}@media(max-width:768px){.complaints-stats{grid-template-columns:1fr}}.minutes-recording-page{min-height:100vh;background:#f8f9fa;padding:20px}.btn-add{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#add8e6,#87ceeb)}.minutes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:25px}.minutes-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB;cursor:pointer}.minutes-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.minutes-header{margin-bottom:15px}.minutes-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:8px}.minutes-date{font-size:.9rem;color:#7f8c8d}.minutes-preview{margin-bottom:15px}.minutes-preview-item{margin-bottom:8px;font-size:.9rem;color:#7f8c8d}.minutes-preview-item strong{color:#2c3e50;margin-right:8px}.minutes-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(135,206,250,.2);font-size:.85rem;color:#7f8c8d}.view-btn{padding:6px 16px;background:#87cefa1a;border:2px solid #87CEEB;border-radius:20px;color:#87ceeb;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.view-btn:hover{background:#87ceeb;color:#fff}.modal-content{background:#fff;border-radius:20px;padding:0;max-width:800px;width:90%;max-height:95vh;box-shadow:0 8px 32px #0003;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:1}.modal-body{padding:30px;overflow-y:auto;flex:1}.minutes-form .form-group{margin-bottom:20px}.minutes-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.minutes-form .form-input,.minutes-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.minutes-form .form-textarea{resize:vertical}.minutes-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.attendees-list{max-height:200px;overflow-y:auto;padding:15px;background:#87cefa0d;border-radius:10px;border:2px solid rgba(135,206,250,.2)}.attendee-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.attendee-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#87CEEB}.minutes-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.minutes-details,.detail-item{margin-bottom:20px}.detail-item strong{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px}.detail-text{color:#7f8c8d;line-height:1.6;margin-top:5px;white-space:pre-wrap}.modal-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:20px;padding-top:20px;border-top:2px solid rgba(135,206,250,.2)}.btn-close{background:#e0e0e0;color:#2c3e50}@media(max-width:768px){.minutes-list,.minutes-form .form-row{grid-template-columns:1fr}}.attendance-recording-page{min-height:100vh;background:#f8f9fa;padding:20px}.recording-section{margin-top:20px}.filters-panel{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:20px;margin-bottom:20px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.filter-group{flex:1;min-width:150px}.filter-label{display:block;margin-bottom:5px;font-weight:600;color:#2c3e50;font-size:.9rem}.filter-input{width:100%;padding:10px 12px;border:2px solid rgba(135,206,250,.3);border-radius:8px;font-size:.9rem;transition:all .3s ease;box-sizing:border-box}.filter-input:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.btn-filter{padding:10px 20px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-filter:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa4d}.stats-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.stat-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:20px;text-align:center;box-shadow:0 2px 10px #0000000d;border:2px solid rgba(135,206,250,.2)}.stat-number{font-size:2.5rem;font-weight:700;color:#87ceeb;margin-bottom:5px}.stat-label{font-size:.9rem;color:#7f8c8d;font-weight:500}.attendance-list-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:20px;box-shadow:0 2px 10px #0000000d;margin-top:20px;min-height:300px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(135,206,250,.2)}.list-header h3{font-size:1.5rem;color:#2c3e50;margin:0}.list-actions{display:flex;gap:10px}.btn-action{padding:10px 20px;background:linear-gradient(135deg,#28a745,#229954);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.btn-action:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.btn-action:last-child{background:linear-gradient(135deg,#87ceeb,#add8e6)}.attendance-list{display:flex;flex-direction:column;gap:12px;min-height:200px}.table-container{overflow-x:auto;overflow-y:visible;width:100%}.attendance-table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}.attendance-table thead{position:sticky;top:0;z-index:10;background:linear-gradient(135deg,#87ceeb,#add8e6)}.attendance-table th{padding:12px;text-align:left;font-weight:600;color:#fff;border-bottom:2px solid rgba(255,255,255,.3);white-space:nowrap}.attendance-table td{padding:12px;border-bottom:1px solid rgba(135,206,250,.2);color:#2c3e50}.attendance-table tbody tr.recorded-row{background-color:#28a7450d}.attendance-table tbody tr.unrecorded-row{background-color:#f39c120d}.type-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;display:inline-block}.type-badge.student{background:#e3f2fd;color:#1976d2}.type-badge.staff{background:#f3e5f5;color:#7b1fa2}.status-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;display:inline-block}.status-badge.present{background:#d4edda;color:#155724}.status-badge.absent{background:#f8d7da;color:#721c24}.status-badge.late{background:#fff3cd;color:#856404}.status-badge.excused{background:#d1ecf1;color:#0c5460}.status-badge.leave{background:#fff3cd;color:#856404}.attendance-item{background:#fff;border-radius:10px;padding:15px;border:2px solid rgba(135,206,250,.2);transition:all .3s ease;display:flex;justify-content:space-between;align-items:center}.attendance-item:hover{box-shadow:0 2px 10px #87cefa33;transform:translateY(-2px)}.attendance-item.unrecorded{border-left:4px solid #f39c12;background:linear-gradient(135deg,#fff5e6,#fff)}.attendance-item.recorded{border-left:4px solid #28a745;background:linear-gradient(135deg,#eafaf1,#fff)}.attendance-info{flex:1}.attendance-student{font-weight:600;color:#2c3e50;font-size:1rem;margin-bottom:5px}.attendance-details{display:flex;gap:15px;font-size:.85rem;color:#7f8c8d;flex-wrap:wrap}.attendance-detail-item{display:flex;align-items:center;gap:5px}.attendance-actions{display:flex;gap:10px;align-items:center}.attendance-status-badge{padding:5px 12px;border-radius:15px;font-size:.85rem;font-weight:600;margin-right:10px}.attendance-status-badge.present{background:#d4edda;color:#155724}.attendance-status-badge.absent{background:#f8d7da;color:#721c24}.attendance-status-badge.late{background:#fff3cd;color:#856404}.attendance-status-badge.excused{background:#d1ecf1;color:#0c5460}.recorded-badge{padding:5px 12px;border-radius:15px;font-size:.85rem;font-weight:600;background:#28a745;color:#fff;margin-right:10px}.btn-record{padding:8px 16px;background:linear-gradient(135deg,#28a745,#229954);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-record:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.empty-list{text-align:center;padding:60px 20px;color:#7f8c8d}.empty-list-icon{font-size:4rem;margin-bottom:20px}.empty-list h3{font-size:1.5rem;color:#2c3e50;margin-bottom:10px}@media(max-width:768px){.filters-panel{flex-direction:column}.filter-group{width:100%}.list-header{flex-direction:column;align-items:flex-start;gap:15px}.list-actions{width:100%;flex-direction:column}.btn-action{width:100%}.attendance-item{flex-direction:column;align-items:flex-start;gap:10px}.attendance-actions{width:100%;justify-content:space-between}}.qr-scanner{max-width:600px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.scanner-container{position:relative;width:100%;max-width:500px;margin:0 auto 20px;border-radius:15px;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center}.scanner-video{width:100%;height:auto;display:block}.scanner-canvas{display:none}.scanner-overlay{position:absolute;inset:0;pointer-events:none}.scanner-line{position:absolute;top:50%;left:10%;right:10%;height:2px;background:var(--primary-color);animation:scanLine 4s linear infinite}@keyframes scanLine{0%,to{top:10%}50%{top:90%}}.scanner-corners{position:absolute;inset:20%}.corner{position:absolute;width:30px;height:30px;border:3px solid var(--primary-color)}.corner.top-left{top:0;left:0;border-right:none;border-bottom:none}.corner.top-right{top:0;right:0;border-left:none;border-bottom:none}.corner.bottom-left{bottom:0;left:0;border-right:none;border-top:none}.corner.bottom-right{bottom:0;right:0;border-left:none;border-top:none}.scanner-controls{text-align:center}.btn-secondary{background:var(--error);color:#fff}.scan-attendance,.dashboard{padding:20px}.dashboard-title{font-size:2rem;color:var(--secondary-color);margin-bottom:30px;font-weight:300;text-align:center}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}.component-card{background:#fff;border-radius:15px;padding:30px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:var(--box-shadow);border:2px solid transparent}.component-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33;border-color:var(--primary-color)}.card-icon{font-size:3rem;margin-bottom:15px}.card-title{font-size:1.3rem;color:var(--secondary-color);margin-bottom:10px;font-weight:600}.card-description{color:var(--text-light);font-size:.9rem;margin:0}.attendance-book-container{background:#f5f5f5;padding:20px;margin:20px 0}.attendance-book{max-width:1400px;margin:0 auto;background-color:#fff;box-shadow:0 0 10px #0000001a;border:2px solid #333}.book-header{text-align:center;padding:20px;border-bottom:3px double #333;background-color:#f9f9f9}.book-header h1{font-size:2.5em;color:#333;margin-bottom:10px;font-family:Times New Roman,serif}.book-header p{font-size:1.1em;color:#555;margin:0}.month-navigation{display:flex;justify-content:space-between;align-items:center;padding:15px;background-color:#e0e0e0;border-bottom:2px solid #333}.month-nav-button{background-color:#333;color:#fff;border:none;padding:8px 15px;cursor:pointer;border-radius:4px;font-size:.9rem;transition:background-color .3s}.month-nav-button:hover{background-color:#555}.current-month{font-size:1.5em;font-weight:700;color:#333}.class-info{display:flex;justify-content:space-around;padding:15px;background-color:#f0f0f0;border-bottom:2px solid #333;font-weight:700;flex-wrap:wrap;gap:15px}.info-item{display:flex;align-items:center;gap:10px}.info-item label{font-weight:700;color:#555;white-space:nowrap}.info-item input{border:none;border-bottom:1px solid #333;background:transparent;padding:5px;font-size:14px;width:150px}.attendance-table-container{overflow-x:auto;padding:20px;max-height:600px;overflow-y:auto;width:100%}@media(max-width:1400px){.attendance-table-container{padding:10px}.student-name{min-width:160px;max-width:160px;width:160px;font-size:10px}.roll-number{min-width:10px;width:10px;font-size:5px}.attendance-cell{min-width:18px;width:18px;font-size:9px}.date-header{min-width:10px!important;max-width:10px!important;width:10px!important;font-size:.4rem!important}.day-of-week{font-size:.45rem}}.attendance-table{width:100%;border-collapse:collapse;font-size:12px;font-family:Times New Roman,serif;table-layout:fixed}.attendance-table thead tr:last-child th,.attendance-table tbody td:nth-child(n+3){width:10px!important;min-width:10px!important;max-width:10px!important;box-sizing:border-box!important;overflow:hidden!important}.attendance-table th,.attendance-table td{border:1px solid #333;padding:4px 2px;text-align:center;vertical-align:middle;box-sizing:border-box}.attendance-table th.date-header,.attendance-table td.attendance-cell{padding:1px!important}.attendance-table th:first-child,.attendance-table td:first-child{width:10px!important;min-width:10px!important;max-width:10px!important}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){width:180px!important;min-width:180px!important;max-width:180px!important}.attendance-table thead tr:last-child th.date-header{width:10px!important;min-width:10px!important;max-width:10px!important;box-sizing:border-box!important}.attendance-table tbody td.attendance-cell{width:10px!important;min-width:10px!important;max-width:10px!important;box-sizing:border-box!important}.attendance-table th{background-color:#e0e0e0;font-weight:700;position:sticky;top:0;z-index:10}.attendance-table tbody td.attendance-cell{font-weight:100!important}.date-header{min-width:10px!important;max-width:10px!important;width:10px!important;font-size:.4rem!important;padding:1px!important;font-weight:700!important;color:#000!important}.day-of-week{font-size:.35rem!important;color:#000!important;font-weight:700!important}.student-name{text-align:left!important;font-weight:700;min-width:180px;max-width:180px;width:180px;background-color:#f9f9f9;padding:5px 6px;font-size:11px;white-space:normal;word-wrap:break-word;line-height:1.2}.roll-number{font-weight:700;background-color:#f0f0f0;min-width:10px!important;max-width:10px!important;width:10px!important;font-size:5px!important;padding:2px 1px!important;text-align:center}.attendance-cell{cursor:pointer;min-width:10px!important;max-width:10px!important;width:10px!important;height:28px!important;min-height:28px!important;transition:background-color .3s;font-weight:100!important;text-align:center!important;vertical-align:middle!important;font-size:30px!important;padding:0!important;margin:0!important;line-height:.85!important;background-color:#fff!important;display:table-cell!important;overflow:visible!important;position:relative;font-family:Arial,sans-serif!important}.attendance-cell *{font-weight:100!important}.attendance-cell:before,.attendance-cell:after{font-weight:300!important}.attendance-cell:hover{background-color:#f0f8ff;border:2px solid #87CEEB}.attendance-cell.read-only{cursor:default!important;opacity:.7;background-color:#f9f9f9!important}.attendance-cell.read-only:hover{background-color:#f9f9f9!important;border:1px solid #333!important}.attendance-cell.today{border:2px solid #4CAF50;background-color:#e8f5e9!important}.attendance-cell.selected,.date-header.selected{background-color:#fff3cd!important;border:2px solid #ffc107}.date-header.today{background-color:#e8f5e9!important;border:2px solid #4CAF50}.date-header:hover{background-color:#f0f0f0}.attendance-cell.present,.attendance-cell.absent,.attendance-cell.late,.attendance-cell.excused{background-color:#fff!important}.stats-row{display:flex;justify-content:space-around;padding:10px;background-color:#f0f0f0;border-top:1px solid #ccc;border-bottom:2px solid #333;gap:10px}.stat-item{text-align:center;flex:1;min-width:0}.stat-item-locked{opacity:.8;cursor:not-allowed;position:relative}.stat-item-locked:after{content:"🔒";position:absolute;top:-5px;right:-5px;font-size:.7em}.stat-value{font-size:1.1em;font-weight:700;color:#333}.stat-label{font-size:.75em;color:#666;margin-top:4px}.legend{display:flex;justify-content:center;gap:30px;padding:20px;background-color:#f9f9f9;border-top:2px solid #333;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px}.legend-box{width:20px;height:20px;border:1px solid #333}.legend-box.present{background-color:#90ee90}.legend-box.absent{background-color:#ffb6c1}.legend-box.late{background-color:gold}.legend-box.excused{background-color:plum}.book-controls{padding:20px;background-color:#f0f0f0;border-top:2px solid #333;text-align:center}.book-controls button{margin:5px;padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s}.book-controls button:hover{background-color:#45a049;transform:translateY(-2px)}@media print{.attendance-book-container{background:#fff;padding:0}.attendance-book{box-shadow:none;border:2px solid #000}.book-controls,.month-navigation{display:none}.attendance-cell{min-height:30px}}.attendance-page{min-height:100vh;background:#f8f9fa;padding:20px}.selection-panel{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}.selection-item{flex:1;min-width:200px}.selection-label{display:block;font-weight:600;color:#2c3e50;margin-bottom:8px}.selection-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.btn-load{padding:12px 24px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-load:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.attendance-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:30px}.stat-item{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;text-align:center}.stat-item.present{border-left:4px solid #2ecc71}.stat-item.absent{border-left:4px solid #e74c3c}.stat-item.total{border-left:4px solid #87CEEB}.stat-number{font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-item.present .stat-number{color:#2ecc71}.stat-item.absent .stat-number{color:#e74c3c}.stat-item.total .stat-number{color:#87ceeb}.stat-label{font-size:.95rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px}.bulk-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.bulk-btn{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.bulk-btn.present-all{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.bulk-btn.absent-all{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.bulk-btn.save{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.bulk-btn.export{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.bulk-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.attendance-calling{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px;text-align:center}.calling-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.calling-header h3{font-size:1.3rem;color:#2c3e50;margin:0}.btn-stop{padding:10px 20px;background:#e74c3c;color:#fff;border:none;border-radius:20px;cursor:pointer;font-weight:600}.current-student{background:linear-gradient(135deg,#87ceeb,#add8e6);border-radius:15px;padding:40px;margin-bottom:30px;color:#fff}.current-student-name{font-size:1.5rem;font-weight:600;margin-bottom:10px}.current-student-id{font-size:1rem;opacity:.9}.calling-actions{display:flex;gap:15px;justify-content:center}.call-btn{padding:15px 30px;border:none;border-radius:25px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.call-btn.present{background:#2ecc71;color:#fff}.call-btn.absent{background:#e74c3c;color:#fff}.call-btn.skip{background:#f39c12;color:#fff}.call-btn:hover{transform:scale(1.05)}.attendance-list-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.list-header h3{font-size:1.3rem;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.search-box{flex:1;min-width:200px}.search-input{width:100%;padding:10px 15px;border:2px solid rgba(135,206,250,.3);border-radius:25px;font-size:.95rem;box-sizing:border-box}.attendance-table-wrapper{max-height:500px;overflow:auto;border-radius:10px;border:1px solid rgba(135,206,250,.3);overflow-x:auto;overflow-y:auto}.attendance-table{width:100%;border-collapse:collapse;background:#fff;min-width:800px;font-size:.85rem}.attendance-table thead{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;position:sticky;top:0;z-index:10}.attendance-table th{padding:10px 8px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.attendance-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.attendance-table tbody tr:hover{background-color:#87cefa0d}.attendance-table tbody tr.row-present{background-color:#2ecc710d}.attendance-table tbody tr.row-absent{background-color:#e74c3c0d}.attendance-table td{padding:8px;font-size:.8rem;color:#2c3e50;vertical-align:middle}.student-photo-cell{display:flex;align-items:center;justify-content:center}.student-photo-img{width:35px;height:35px;border-radius:50%;object-fit:cover;border:2px solid #87CEEB}.student-photo-placeholder{width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;font-size:.75rem;font-weight:600;border:2px solid #87CEEB}.student-name-cell{font-weight:500;color:#2c3e50}.student-id-cell{font-size:.75rem;color:#7f8c8d;font-family:monospace}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.status-present{background:#2ecc7126;color:#27ae60}.status-absent{background:#e74c3c26;color:#c0392b}.status-pending{background:#f1c40f26;color:#f39c12}.reason-cell{max-width:200px;font-size:.75rem}.reason-text{color:#555;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-reason{color:#bbb;font-style:italic}.attendance-actions-cell{display:flex;gap:5px;align-items:center}.attendance-btn-small{background:#87cefa1a;border:1px solid rgba(135,206,250,.3);border-radius:5px;padding:5px 8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.attendance-btn-small.present.active{background:#2ecc71;border-color:#27ae60;color:#fff}.attendance-btn-small.absent.active{background:#e74c3c;border-color:#c0392b;color:#fff}.attendance-btn-small.reason{background:#f1c40f1a;border-color:#f1c40f4d}.attendance-btn-small:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000026}.mode-toggle{display:flex;gap:15px;margin-bottom:20px;background:#fff;padding:10px;border-radius:10px;box-shadow:0 2px 8px #0000000d}.mode-btn{flex:1;padding:12px 20px;border:2px solid rgba(135,206,250,.3);border-radius:10px;background:#fff;color:#2c3e50;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.mode-btn:hover{border-color:#87ceeb;background:#87cefa1a}.mode-btn.active{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border-color:#87ceeb}.filter-panel{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.filter-section{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap;margin-bottom:15px}.filter-results{padding-top:15px;border-top:1px solid rgba(135,206,250,.3)}.results-count{margin:0;font-size:.9rem;color:#2c3e50;font-weight:600}.saved-records-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.records-title{font-size:1.3rem;color:#2c3e50;margin:0 0 20px;text-transform:uppercase;letter-spacing:1px}.records-table-wrapper{max-height:500px;overflow:auto;border-radius:10px;border:1px solid rgba(135,206,250,.3)}.records-table{width:100%;border-collapse:collapse;background:#fff;font-size:.85rem}.records-table thead{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;position:sticky;top:0;z-index:10}.records-table th{padding:12px 10px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.records-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.records-table tbody tr:hover{background-color:#87cefa0d}.records-table td{padding:10px;font-size:.8rem;color:#2c3e50;vertical-align:middle}.count-present{color:#27ae60;font-weight:600}.count-absent{color:#c0392b;font-weight:600}.saved-date{font-size:.75rem;color:#7f8c8d}.btn-view-record{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-view-record:hover{transform:translateY(-2px);box-shadow:0 4px 8px #3498db4d}.no-records{background:#fff;border-radius:20px;padding:40px;text-align:center;box-shadow:0 4px 15px #00000014}.no-records p{margin:0;font-size:1rem;color:#7f8c8d}.attendance-list,.attendance-item{display:none}.student-details{flex:1}.student-name{font-weight:600;color:#2c3e50;margin-bottom:3px}.student-id{font-size:.85rem;color:#7f8c8d}.attendance-actions{display:flex;gap:10px}.attendance-btn{padding:8px 16px;border:2px solid;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.attendance-btn.present{border-color:#2ecc71;color:#2ecc71;background:#fff}.attendance-btn.present.active{background:#2ecc71;color:#fff}.attendance-btn.absent{border-color:#e74c3c;color:#e74c3c;background:#fff}.attendance-btn.absent.active{background:#e74c3c;color:#fff}.attendance-btn.reason{border-color:#f39c12;color:#f39c12;background:#fff}.attendance-btn.reason:hover{background:#f39c12;color:#fff}.monthly-summary{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.monthly-summary h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-item{background:#fff;border-radius:15px;padding:20px;text-align:center;box-shadow:0 2px 8px #0000000d}.summary-label{font-size:.9rem;color:#7f8c8d;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.summary-value{font-size:2rem;font-weight:700;color:#87ceeb}.absent-reasons{margin-top:20px}.reason-item{background:#fff;border-radius:10px;padding:15px;margin-bottom:10px;box-shadow:0 2px 8px #0000000d}.reason-student{font-weight:600;color:#2c3e50;margin-bottom:5px}.reason-text{color:#7f8c8d;font-size:.9rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:20px;padding:0;max-width:500px;width:90%;box-shadow:0 8px 32px #0003}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;resize:vertical;box-sizing:border-box}@media(max-width:768px){.attendance-stats{grid-template-columns:1fr}.selection-panel,.calling-actions{flex-direction:column}}.class-settings-page{padding:20px;max-width:1400px;margin:0 auto}.actions-section{margin-bottom:30px;text-align:right}.btn-add{padding:12px 24px;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2ecc714d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2ecc7166}.classes-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.empty-icon{font-size:4rem;margin-bottom:20px}.empty-state p{font-size:1.2rem;margin:10px 0}.empty-hint{font-size:.9rem;color:#95a5a6}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.class-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease;border-left:4px solid #87CEEB}.class-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid rgba(135,206,250,.2)}.class-name{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0}.class-actions{display:flex;gap:10px}.btn-edit,.btn-delete{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:5px 10px;border-radius:5px;transition:all .3s ease}.btn-edit:hover{background:#3498db1a}.btn-delete:hover{background:#e74c3c1a}.class-details{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.detail-label{font-weight:600;color:#7f8c8d;font-size:.9rem}.detail-value{color:#2c3e50;font-weight:500}.modal{display:flex;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#00000080;align-items:center;justify-content:center}.modal-content{background:#fff;padding:0;border-radius:20px;width:90%;max-width:600px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto}.class-form .form-group{margin-bottom:20px}.class-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.class-form .form-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.class-form .form-input:focus{outline:none;border-color:#87ceeb}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.student-management-section{margin-top:30px;padding-top:30px;border-top:2px solid rgba(135,206,250,.2)}.section-divider{margin:20px 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;color:#2c3e50;font-size:1.2rem}.btn-toggle{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.student-actions{margin-top:20px}.csv-actions{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap}.btn-download-csv,.btn-upload-csv{padding:10px 20px;border:none;border-radius:20px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-download-csv{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-upload-csv{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.btn-download-csv:hover,.btn-upload-csv:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.students-list{margin-top:20px}.students-list h4{color:#2c3e50;margin-bottom:15px;font-size:1.1rem}.no-students{text-align:center;padding:30px;color:#7f8c8d;background:#87cefa0d;border-radius:10px}.students-table-wrapper{max-height:500px;overflow:auto;border-radius:10px;border:1px solid rgba(135,206,250,.3);overflow-x:auto;overflow-y:auto}.students-table{width:100%;border-collapse:collapse;background:#fff;min-width:1200px}.students-table thead{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;position:sticky;top:0;z-index:10}.students-table th{padding:12px 8px;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.students-table td{padding:10px 8px;font-size:.85rem;color:#2c3e50;vertical-align:middle}.student-photo-cell{display:flex;align-items:center;gap:8px}.student-photo-img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #87CEEB}.student-photo-placeholder{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;font-size:.9rem;font-weight:600;border:2px solid #87CEEB}.btn-upload-photo{background:#3498db1a;border:1px solid #3498db;border-radius:5px;padding:4px 8px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-upload-photo:hover{background:#3498db;color:#fff}.password-cell{font-family:monospace;color:#7f8c8d}.btn-message{background:#25d3661a;border:1px solid #25D366;border-radius:5px;padding:6px 10px;cursor:pointer;font-size:1rem;transition:all .3s ease}.btn-message:hover{background:#25d366;color:#fff}@media(max-width:768px){.classes-grid,.form-row{grid-template-columns:1fr}.csv-actions{flex-direction:column}.students-table-wrapper{overflow-x:auto}}.my-tasks-page{padding:20px;max-width:1200px;margin:0 auto}.back-button{background:none;border:none;color:#3498db;cursor:pointer;font-size:16px;margin-bottom:10px;padding:5px 0}.back-button:hover{text-decoration:underline}.page-title{font-size:28px;color:#2c3e50;margin:10px 0}.page-subtitle{color:#7f8c8d;font-size:16px}.my-tasks-section{margin-top:20px}.tasks-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;text-align:center}.stat-card.pending{border-left:4px solid #f39c12}.stat-card.completed{border-left:4px solid #27ae60}.stat-card.overdue{border-left:4px solid #e74c3c}.stat-number{font-size:32px;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-label{color:#7f8c8d;font-size:14px}.filter-section{margin-bottom:20px}.filter-select{padding:10px 15px;border:1px solid #ddd;border-radius:5px;font-size:16px;background:#fff;cursor:pointer}.tasks-list{display:flex;flex-direction:column;gap:15px}.task-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .3s ease;border-left:4px solid #3498db}.task-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.task-card.completed{opacity:.7;border-left-color:#27ae60}.task-title-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:15px}.task-title{font-size:18px;font-weight:700;color:#2c3e50;flex:1}.task-badges{display:flex;gap:10px;flex-shrink:0}.priority-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.priority-badge.high{background:#fee;color:#e74c3c}.priority-badge.medium{background:#fff4e6;color:#f39c12}.priority-badge.low{background:#e8f5e9;color:#27ae60}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.pending{background:#fff4e6;color:#f39c12}.status-badge.in-progress{background:#e3f2fd;color:#3498db}.status-badge.completed{background:#e8f5e9;color:#27ae60}.status-badge.cancelled{background:#f5f5f5;color:#7f8c8d}.task-assigned-by{font-size:14px;color:#7f8c8d}.task-description{color:#555;margin-bottom:15px;line-height:1.5}.task-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px}.task-deadline{color:#7f8c8d}.task-deadline.overdue{color:#e74c3c;font-weight:700}.task-deadline.soon{color:#f39c12;font-weight:700}.task-completed-date{color:#27ae60;font-weight:500}.modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#7f8c8d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#e74c3c}.modal-body{padding:20px}.task-detail-content,.task-detail-item{margin-bottom:20px}.task-detail-label{font-weight:600;color:#7f8c8d;display:block;margin-bottom:5px;font-size:14px}.task-detail-value{color:#2c3e50;font-size:16px;line-height:1.5}.task-actions{margin-top:30px;padding-top:20px;border-top:1px solid #eee}.btn-complete{background:#27ae60;color:#fff;border:none;padding:12px 24px;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s ease;width:100%}.btn-complete:hover{background:#229954}@media(max-width:768px){.task-title-row{flex-direction:column;align-items:flex-start}.task-badges{width:100%;justify-content:flex-start}.task-footer{flex-direction:column;align-items:flex-start}}.register-student-page{min-height:100vh;background:#f8f9fa;padding:20px}.register-student-section{margin-top:20px}.bulk-upload-section{max-width:900px;margin:0 auto 30px;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 8px 25px #00000014}.bulk-upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.bulk-upload-title{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0}.bulk-upload-buttons{display:flex;gap:10px;flex-wrap:wrap}.btn-download-template{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2ecc714d}.btn-download-template:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2ecc7166}.btn-toggle-mode{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3498db4d}.btn-toggle-mode:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3498db66}.bulk-upload-content{margin-top:20px;padding-top:20px;border-top:2px solid rgba(135,206,250,.2)}.bulk-upload-info{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:20px;border-left:4px solid #87CEEB}.bulk-upload-info p{margin:10px 0;color:#2c3e50;font-size:.95rem;line-height:1.6}.bulk-upload-info ul{margin:10px 0;padding-left:25px}.bulk-upload-info li{margin:8px 0;color:#34495e;font-size:.9rem;line-height:1.5}.bulk-upload-info strong{color:#2c3e50}.bulk-upload-input{margin:20px 0}.file-upload-label-bulk{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed rgba(135,206,250,.5);border-radius:10px;background:#f8f9fa;cursor:pointer;transition:all .3s ease}.file-upload-label-bulk:hover{border-color:#87ceeb;background:#f0f8ff}.bulk-upload-error{margin-top:20px;padding:15px;background:#ffeaea;border:2px solid #e74c3c;border-radius:10px;color:#c0392b}.bulk-upload-error pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:.9rem;line-height:1.5}.bulk-upload-success{margin-top:20px;padding:15px;background:#eafaf1;border:2px solid #27ae60;border-radius:10px;color:#229954;font-weight:600;font-size:1rem}.form-container{max-width:900px;margin:0 auto;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:40px;box-shadow:0 8px 25px #00000014;max-height:90vh;overflow-y:auto;overflow-x:hidden}.register-student-form{width:100%}.form-section{margin-bottom:30px}.form-section-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin:30px 0 20px;padding-bottom:10px;border-bottom:2px solid rgba(135,206,250,.3);text-transform:uppercase;letter-spacing:1px}.form-section:first-child .form-section-title{margin-top:0}.form-group{margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:.95rem}.form-input,.form-select,.form-textarea{width:100%;padding:12px 15px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa1a}.form-hint{display:block;margin-top:5px;font-size:.85rem;color:#7f8c8d}.file-upload-container{position:relative}.file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed rgba(135,206,250,.5);border-radius:10px;background:#f8f9fa;cursor:pointer;transition:all .3s ease}.file-upload-label:hover{border-color:#87ceeb;background:#f0f8ff}.upload-icon{font-size:3rem;margin-bottom:10px}.upload-text{text-align:center}.upload-main-text{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px}.upload-sub-text{display:block;font-size:.85rem;color:#7f8c8d}.image-preview{display:none;margin-top:15px;text-align:center}.image-preview.active{display:block}.image-preview img{max-width:200px;max-height:200px;border-radius:10px;box-shadow:0 4px 15px #0000001a}.form-error{color:#e74c3c;font-size:.9rem;margin-top:5px}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid rgba(135,206,250,.2)}.btn{padding:12px 30px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#95a5a6;color:#fff}.btn-cancel:hover{background:#7f8c8d;transform:translateY(-2px);box-shadow:0 4px 12px #95a5a64d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-container{padding:20px}.page-title{font-size:1.5rem}}.certificates-page{min-height:100vh;background:#f8f9fa;padding:20px}.certificates-section{max-width:1200px;margin:0 auto}.btn-create{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-create:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#add8e6,#87ceeb)}.certificates-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.certificate-item{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.certificate-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.certificate-header{margin-bottom:15px}.certificate-student{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.certificate-type{display:inline-block;padding:4px 12px;background:#87cefa1a;border-radius:15px;font-size:.85rem;color:#2c3e50;font-weight:600;text-transform:uppercase;margin-bottom:5px}.certificate-date{font-size:.9rem;color:#7f8c8d}.certificate-actions{display:flex;gap:10px;flex-wrap:wrap}.certificate-btn{padding:8px 16px;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.certificate-btn.view{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.certificate-btn.download{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.certificate-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.certificate-form .form-group{margin-bottom:20px}.certificate-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.certificate-form .form-input,.certificate-form .form-select,.certificate-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;box-sizing:border-box}.certificate-form .form-textarea{resize:vertical}.certificate-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;flex-wrap:wrap}.btn-canva{background:linear-gradient(135deg,#00c4cc,#7b2ff7);color:#fff}@media(max-width:768px){.certificates-list{grid-template-columns:1fr}}.assign-subject-page{min-height:100vh;background:#f8f9fa;padding:20px}.actions-section{margin-bottom:30px}.assignments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.assignment-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:12px;padding:20px;box-shadow:0 4px 12px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB;display:flex;flex-direction:column}.assignment-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #87cefa26}@media(min-width:1024px){.assignments-list{grid-template-columns:repeat(3,1fr);gap:25px}.assignment-card{padding:22px}}@media(min-width:768px)and (max-width:1023px){.assignments-list{grid-template-columns:repeat(2,1fr);gap:20px}}@media(max-width:767px){.assignments-list{grid-template-columns:1fr;gap:15px}.assignment-card{padding:18px}}.assignment-header{margin-bottom:15px;flex-shrink:0}.assignment-subject{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px;line-height:1.3}.assignment-class{font-size:.85rem;color:#7f8c8d;font-weight:500}.delete-assignment-btn{position:absolute;top:15px;right:15px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);color:#e74c3c;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s ease}.delete-assignment-btn:hover{background:#e74c3c33;transform:scale(1.1)}.delete-assignment-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.assignment-details{margin-bottom:15px;flex-grow:1}.detail-row{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.85rem;align-items:center;min-height:24px}.detail-label{color:#7f8c8d;font-weight:500;flex-shrink:0}.detail-value{color:#2c3e50;font-weight:600;text-align:right;flex-grow:1;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-status{margin-top:20px;padding:15px;border-radius:10px;font-size:.95rem;display:flex;align-items:center;gap:10px;animation:fadeIn .3s ease}.delete-status.loading{background:#e74c3c1a;border:2px solid rgba(231,76,60,.3);color:#e74c3c}.delete-status.success{background:#2ecc711a;border:2px solid rgba(46,204,113,.3);color:#27ae60}.delete-status.error{background:#e74c3c1a;border:2px solid rgba(231,76,60,.3);color:#c0392b}.modal-content{background:#fff;margin:5% auto;padding:0;border-radius:20px;width:90%;max-width:600px;box-shadow:0 8px 32px #0003}.assign-form .form-group{margin-bottom:20px}.assign-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.assign-form .form-input,.assign-form .form-select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.assign-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.sync-status{margin-top:20px;padding:15px;border-radius:10px;font-size:.95rem;display:flex;align-items:center;gap:10px;animation:fadeIn .3s ease}.sync-status.loading{background:#87cefa1a;border:2px solid rgba(135,206,250,.3);color:#2c3e50}.sync-status.success{background:#2ecc711a;border:2px solid rgba(46,204,113,.3);color:#27ae60}.sync-status.error{background:#e74c3c1a;border:2px solid rgba(231,76,60,.3);color:#c0392b}.sync-spinner{animation:spin 1s linear infinite;font-size:1.2rem}.sync-message{font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.assignments-list{grid-template-columns:1fr}}.edit-profiles-page{min-height:100vh;background:#f8f9fa;padding:20px}.chain-prefix-badge{display:inline-block;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;margin-left:15px;vertical-align:middle}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px}.search-box{flex:1;max-width:400px}.search-input{width:100%;padding:12px 20px;border:2px solid rgba(135,206,250,.3);border-radius:25px;font-size:1rem;background:#fff;color:#2c3e50;transition:all .3s ease}.search-input:focus{outline:none;border-color:#87ceeb;box-shadow:0 0 0 3px #87cefa33}.filter-select{padding:10px 20px;border:2px solid #87CEEB;border-radius:25px;background:#fff;color:#2c3e50;font-size:.95rem;font-weight:500;cursor:pointer}.profiles-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.profile-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.profile-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.profile-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:15px}.profile-name{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.profile-role{display:inline-block;padding:4px 12px;background:#87cefa1a;border-radius:15px;font-size:.85rem;color:#2c3e50;font-weight:600;text-transform:uppercase}.profile-details{color:#7f8c8d;line-height:1.6;margin-bottom:15px}.profile-detail{display:flex;align-items:center;margin-bottom:8px;font-size:.9rem}.profile-detail svg{margin-right:10px;color:#87ceeb}.profile-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid rgba(135,206,250,.2)}.profile-actions{display:flex;gap:10px}.btn-edit{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}.btn-delete{background:#ff6b6b;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ff6b6b4d}.modal-content{background:#fff;margin:2% auto;padding:0;border-radius:20px;width:90%;max-width:700px;max-height:95vh;box-shadow:0 8px 32px #0003;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;position:relative}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0}.modal-body{padding:30px;overflow-y:auto;flex:1;min-height:0}.profile-form .form-group{margin-bottom:20px}.profile-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.profile-form .form-input,.profile-form .form-select,.profile-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.profile-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn-save{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 15px #87cefa4d}@media(max-width:768px){.profiles-list,.profile-form .form-row{grid-template-columns:1fr}.actions-section{flex-direction:column;align-items:stretch}.search-box{max-width:100%}}.loading-state,.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d}.loading-spinner{border:4px solid rgba(135,206,250,.3);border-top:4px solid #87CEEB;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 20px}.dashboard{min-height:100vh;background:#f8f9fa;padding:10px}.components-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.component-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:8px;padding:10px;box-shadow:0 1px 4px #0000000d;transition:all .2s ease;cursor:pointer;border-left:2px solid #87CEEB;text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:80px}.component-card:hover{transform:translateY(-2px);box-shadow:0 3px 8px #87cefa1a;border-left-color:#3498db}.card-icon{font-size:1.2rem;margin-bottom:5px}.card-title{font-size:.7rem;font-weight:600;color:#2c3e50;margin-bottom:4px;line-height:1.1}.card-description{font-size:.55rem;color:#7f8c8d;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:1200px){.components-grid{grid-template-columns:repeat(3,1fr);gap:8px}.component-card{padding:8px;min-height:70px}.card-icon{font-size:1rem}.card-title{font-size:.65rem}.card-description{font-size:.5rem}}@media(max-width:768px){.dashboard{padding:8px}.components-grid{grid-template-columns:repeat(2,1fr);gap:6px}.component-card{padding:6px;min-height:60px;border-radius:6px}.card-icon{font-size:.9rem;margin-bottom:3px}.card-title{font-size:.6rem;margin-bottom:2px}.card-description{font-size:.45rem;-webkit-line-clamp:2}}@media(max-width:480px){.components-grid{grid-template-columns:repeat(2,1fr);gap:5px}.component-card{padding:5px;min-height:55px}.card-icon{font-size:.8rem}.card-title{font-size:.55rem}.card-description{font-size:.4rem;-webkit-line-clamp:2}}@media(min-width:2000px){.components-grid{grid-template-columns:repeat(6,1fr);gap:12px}.component-card{padding:12px;min-height:90px}.card-icon{font-size:1.4rem}.card-title{font-size:.8rem}.card-description{font-size:.6rem}}.register-subject-container{max-width:1200px;margin:0 auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;position:relative;overflow:hidden}.form-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.back-button{background:none;border:none;color:#4a6cf7;font-size:16px;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .3s ease;margin-bottom:15px}.back-button:hover{background:#f0f4ff;transform:translate(-3px)}.form-title{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.form-subtitle{font-size:16px;color:#666;margin:0}.staff-registration-form{display:flex;flex-direction:column;gap:25px}.form-section-title{font-size:20px;font-weight:600;color:#2c3e50;padding-bottom:10px;border-bottom:2px solid #e8e8e8;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.form-label{font-size:14px;font-weight:600;color:#333;display:flex;align-items:center;gap:4px}.form-label:after{content:"*";color:#e74c3c;font-size:16px;margin-left:2px}.form-input,.form-select,.form-textarea{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .3s ease;background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#4a6cf7;box-shadow:0 0 0 3px #4a6cf71a}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:13px;color:#888;margin-top:4px}.grades-checkbox-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding:15px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease}.checkbox-label:hover{background:#e9ecef}.grade-checkbox{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:25px;border-top:2px solid #f0f0f0}.btn{padding:12px 28px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#f8f9fa;color:#6c757d;border:2px solid #dee2e6}.btn-cancel:hover{background:#e9ecef;border-color:#ced4da}.btn-submit{background:linear-gradient(135deg,#4a6cf7,#6a11cb);color:#fff;box-shadow:0 4px 15px #4a6cf74d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4a6cf766}.btn-submit:active{transform:translateY(0)}@media(max-width:768px){.register-subject-container{padding:15px;margin:10px}.form-title{font-size:24px}.grades-checkbox-container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.form-actions{flex-direction:column}.btn{width:100%}}.forms-container{max-width:1200px;margin:0 auto;padding:20px;background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.forms-header{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--primary-color)}.forms-header h1{color:var(--secondary-color);font-size:2.5rem;margin-bottom:10px}.forms-subtitle{color:var(--text-light);font-size:1.1rem;font-style:italic}.forms-controls{display:flex;justify-content:center;gap:15px;margin-bottom:30px;flex-wrap:wrap}.report-card{position:relative;border:2px solid var(--secondary-color);padding:25px;margin-bottom:40px;background-color:var(--white);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a}.report-card:nth-child(2){margin-top:40px}.watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);font-size:80px;color:#2c3e500d;pointer-events:none;z-index:1;white-space:nowrap}.school-header{text-align:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid var(--secondary-color)}.school-name{font-size:28px;font-weight:700;text-transform:uppercase;margin-bottom:15px;color:var(--secondary-color)}.logo-container{display:flex;align-items:center;justify-content:center;margin-bottom:15px}.school-logo{font-size:48px;margin:0 20px}.student-info{margin:25px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.info-field{flex:1;min-width:200px}.info-label{font-weight:700;margin-bottom:8px;font-size:16px;color:var(--secondary-color)}.info-input{width:100%;border:none;border-bottom:2px solid var(--primary-color);padding:8px 0;font-size:16px;background-color:transparent;transition:border-color .3s ease}.info-input:focus{outline:none;border-bottom-color:var(--secondary-color)}.grading-system{margin:30px 0;padding:20px;border:2px solid var(--secondary-color);text-align:center;font-weight:700;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:var(--white);border-radius:var(--border-radius)}.grading-system p{margin:8px 0;font-size:16px}.report-table{width:100%;border-collapse:collapse;margin:25px 0;font-size:14px}.report-table th,.report-table td{border:1px solid var(--secondary-color);padding:10px 12px;vertical-align:middle;text-align:center}.report-table th{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:var(--white);font-weight:700}.behavior-row td:first-child{font-weight:700;text-align:left}.subject-row td:first-child{padding-left:20px;text-align:left}.grade-input,.marks-input{width:80px;border:1px solid #ddd;padding:8px;text-align:center;font-size:14px;border-radius:4px;transition:border-color .3s ease}.grade-input:focus,.marks-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #87ceeb33}.marks-input{width:70px}.summary-section{margin:30px 0;font-size:16px;background-color:#f8f9fa;padding:20px;border-radius:var(--border-radius)}.summary-line{margin:12px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.summary-value{font-weight:700;color:var(--secondary-color);background-color:var(--white);padding:5px 15px;border-radius:20px;border:1px solid var(--primary-color);min-width:80px;text-align:center}.attendance{display:flex;justify-content:space-between;margin:30px 0;gap:20px;flex-wrap:wrap}.attendance-field{flex:1;text-align:center;background-color:#f8f9fa;padding:15px;border-radius:var(--border-radius);min-width:200px}.comments-section{margin:30px 0}.comment-box{margin:20px 0}.comment-label{font-weight:700;margin-bottom:8px;display:block;color:var(--secondary-color)}.comment-input{width:100%;border:none;border-bottom:2px solid var(--primary-color);padding:8px 0;font-size:16px;background-color:transparent;transition:border-color .3s ease}.comment-input:focus{outline:none;border-bottom-color:var(--secondary-color)}.signature-area{display:flex;justify-content:space-between;margin-top:25px;padding-top:15px;border-top:1px solid var(--secondary-color)}.signature-field{text-align:center;flex:1;margin:0 10px}.signature-line{width:100%;border-bottom:1px solid var(--secondary-color);margin:10px 0;height:25px}.stamp-upload-section{margin:25px 0;padding:20px;border:2px dashed var(--primary-color);text-align:center;background-color:#f8f9fa;border-radius:var(--border-radius)}.stamp-upload-section h3{margin-bottom:15px;color:var(--secondary-color)}.upload-btn{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:var(--white);padding:12px 24px;border:none;cursor:pointer;margin-top:10px;font-size:14px;border-radius:var(--border-radius);transition:all .3s ease}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.upload-note{font-size:12px;color:var(--text-light);margin-top:10px}.stamp-placeholder{position:absolute;right:30px;top:30px;border:2px dashed var(--primary-color);width:120px;height:80px;display:flex;align-items:center;justify-content:center;color:var(--text-light);font-size:12px;text-align:center;padding:10px;background-color:var(--white);border-radius:4px;z-index:2}.stamp-image{position:absolute;right:30px;top:30px;max-width:120px;max-height:80px;z-index:2;border:1px solid #ddd;padding:5px;background-color:var(--white);border-radius:4px}@media print{.stamp-placeholder,.stamp-image{position:absolute!important;right:30px!important;top:30px!important;display:block!important;opacity:1!important;visibility:visible!important}.stamp-image{max-width:100px!important;max-height:70px!important}}.lesson-plan-form{margin:30px 0}.form-section{margin:25px 0}.section-title{font-weight:700;font-size:18px;margin-bottom:12px;color:var(--secondary-color);padding-bottom:8px;border-bottom:2px solid var(--primary-color)}.input-line{border:none;border-bottom:2px solid var(--primary-color);width:100%;padding:10px 0;font-size:16px;background-color:transparent;margin-bottom:8px;transition:border-color .3s ease}.input-line:focus{outline:none;border-bottom-color:var(--secondary-color)}.input-line.large{height:80px;resize:vertical;border:1px solid var(--primary-color);padding:12px;border-radius:4px}.assessment-form{margin:30px 0}.assessment-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:20px 0;font-size:12px}.assessment-table th,.assessment-table td{border:1px solid var(--secondary-color);padding:6px 8px;text-align:center;vertical-align:middle;position:relative}.assessment-table th{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:var(--white);font-weight:700;padding:10px 8px}.main-header{background-color:var(--secondary-color)}.term-header{background-color:#3498db}.month-header{background-color:#2980b9}.comment-header{background-color:#16a085}.vertical-text{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-size:10px;font-weight:700}.subject-evaluation-form{margin:30px 0}.evaluation-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:20px 0}.evaluation-table th,.evaluation-table td{border:1px solid #ddd;padding:8px;text-align:center;vertical-align:middle}.evaluation-table th{background-color:var(--secondary-color);color:var(--white);font-weight:700;padding:12px 4px;font-size:11px}.topic-cell{padding:0;width:30%}.topic-textarea{width:100%;min-height:100px;border:none;padding:10px;resize:vertical;font-size:14px;font-family:inherit;background-color:transparent;overflow:hidden;transition:height .2s ease}.topic-textarea:focus{outline:none;background-color:#f8f9fa}.month-cell{padding:0;width:3%;min-width:30px;position:relative}.month-checkbox{width:20px;height:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;accent-color:var(--primary-color)}.comment-cell{padding:0;width:40%}.comment-textarea{width:100%;min-height:100px;border:none;padding:10px;resize:vertical;font-size:14px;font-family:inherit;background-color:transparent;overflow:hidden;transition:height .2s ease}.comment-textarea:focus{outline:none;background-color:#f8f9fa}.action-cell{width:8%;min-width:80px}.scheme-container{max-width:1400px;margin:0 auto;padding:20px;background-color:var(--white);border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.scheme-header{text-align:center;margin-bottom:30px;padding:25px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:var(--white);border-radius:var(--border-radius)}.scheme-title{font-size:2.2rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.scheme-subtitle{font-size:1.1rem;opacity:.9}.header-section{margin-bottom:30px}.header-grid{display:grid;gap:20px;margin-bottom:20px}.header-group{display:flex;gap:20px;flex-wrap:wrap}.header-item{flex:1;min-width:200px}.header-item.full-width{flex:100%}.header-label{display:block;font-weight:700;margin-bottom:8px;color:var(--secondary-color);font-size:14px}.header-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .3s ease;background-color:#f8f9fa}.header-input:focus{outline:none;border-color:var(--primary-color);background-color:var(--white);box-shadow:0 0 0 3px #87ceeb33}.format-toggle-container{margin-top:10px}.format-toggle{display:flex;gap:10px;margin-bottom:8px}.format-option{flex:1;padding:10px;border:2px solid #e0e0e0;background-color:#f8f9fa;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s ease;text-align:center}.format-option:hover{border-color:var(--primary-color);background-color:#e8f4fc}.format-option.active{border-color:var(--primary-color);background-color:var(--primary-color);color:var(--white)}.format-description{font-size:12px;color:var(--text-light);font-style:italic}.table-container{overflow-x:auto;margin-bottom:30px;border:2px solid #e0e0e0;border-radius:8px;padding:10px;background-color:#f8f9fa}.scheme-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.scheme-table th,.scheme-table td{border:1px solid #ddd;padding:6px;text-align:center;vertical-align:top;position:relative}.scheme-table th{background:linear-gradient(135deg,var(--secondary-color) 0%,#2c3e50 100%);color:var(--white);font-weight:700;padding:10px 6px;font-size:10px}.horizontal-header{white-space:normal;line-height:1.2}.swahili-text{font-size:9px;opacity:.9;font-style:italic;display:block;margin-top:2px}.data-row:hover{background-color:#f0f8ff}.editable-cell{width:100%;min-height:60px;border:1px solid #e0e0e0;padding:8px;font-size:11px;resize:vertical;background-color:var(--white);border-radius:4px;transition:all .3s ease;font-family:inherit}.editable-cell:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #87ceeb33}.editable-cell[type=text]{min-height:auto;height:36px}.page-break{page-break-before:always}.action-section{margin-top:30px;padding-top:20px;border-top:2px solid var(--primary-color)}.action-group{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.action-btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.add-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);color:var(--white)}.save-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:var(--white)}.print-btn{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:var(--white)}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.col-main,.col-specific{width:12%}.col-activities,.col-specific-activities{width:9%}.col-month,.col-week,.col-periods{width:5%}.col-methods,.col-resources{width:8%}.col-assessment,.col-references,.col-remarks{width:6%}.col-competence{width:10%}.col-topic,.col-outcomes{width:12%}.col-teaching,.col-learning{width:10%}.col-resources,.col-assessment{width:8%}.col-references,.col-remarks{width:6%}@media screen and (min-width:1024px){.subject-evaluation-form,.lesson-plan-form,.scheme-container{transform:rotate(0)}.evaluation-table,.scheme-table{font-size:10px}.topic-textarea,.comment-textarea,.editable-cell{min-height:80px;resize:vertical}}@media print{@page{size:landscape;margin:.5cm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.forms-controls,.upload-btn,.stamp-upload-section,.btn,.sidebar,.header,.navbar,.navigation,.footer,.print-hide,.no-print{display:none!important}.forms-container,.subject-evaluation-form,.lesson-plan-form,.scheme-container,.report-card{margin:0!important;padding:0!important;border:none!important;box-shadow:none!important;width:100%!important;max-width:100%!important}.report-card{page-break-inside:avoid;break-inside:avoid}.topic-textarea,.comment-textarea,.editable-cell,.input-line.large{height:auto!important;min-height:60px!important;max-height:none!important;overflow:visible!important;resize:none!important;border:1px solid #000!important;background-color:#fff!important}.evaluation-table,.scheme-table,.assessment-table,.report-table{width:100%!important;font-size:9px!important;page-break-inside:avoid}.evaluation-table th,.scheme-table th,.assessment-table th,.report-table th{background:#2c3e50!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.info-input,.comment-input,.summary-value,.grade-input,.marks-input,.header-input{border:1px solid #000!important;background-color:#fff!important}.watermark{opacity:.05}textarea{overflow:hidden!important;height:auto!important}.report-card:first-of-type{display:block!important}.report-card:nth-child(n+2){display:none!important}}@media(max-width:768px){.forms-container{padding:15px}.forms-header h1{font-size:2rem}.forms-controls{flex-direction:column;align-items:stretch}.student-info{flex-direction:column}.info-field{min-width:100%}.attendance{flex-direction:column}.attendance-field{min-width:100%}.signature-area{flex-direction:column;gap:20px}.stamp-placeholder,.stamp-image{position:relative;right:auto;top:auto;margin:20px auto}.report-table{font-size:12px}.grade-input,.marks-input{width:60px;padding:6px}.assessment-table{font-size:10px}.evaluation-table{font-size:12px}}@media(max-width:480px){.forms-header h1{font-size:1.5rem}.school-name{font-size:20px}.grading-system p{font-size:14px}.report-table{font-size:10px}.grade-input,.marks-input{width:50px;padding:4px;font-size:12px}}.academic-hub-page{min-height:100vh;background:#f8f9fa;padding:20px}.academic-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap;background:linear-gradient(135deg,#fff,#f8f9fa);padding:20px;border-radius:20px;box-shadow:0 4px 15px #00000014}.tab-btn{padding:12px 24px;border:2px solid rgba(135,206,250,.3);background:#fff;color:#2c3e50;border-radius:25px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.tab-btn:hover{border-color:#87ceeb;background:#87cefa1a}.tab-btn.active{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border-color:#87ceeb}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;background:linear-gradient(135deg,#fff,#f8f9fa);padding:20px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.tab-header h3{font-size:1.3rem;color:#2c3e50;margin:0;text-transform:uppercase;letter-spacing:1px}.btn-add{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:10px 20px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.grades-list,.lesson-plans-list,.assessments-list,.schemes-list,.results-list,.test-marks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.academic-item{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.academic-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.item-header{margin-bottom:15px}.item-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.item-meta{font-size:.85rem;color:#7f8c8d}.item-details{margin-bottom:15px}.detail-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.9rem}.detail-label{color:#7f8c8d}.detail-value{color:#2c3e50;font-weight:600}.modal-content{background:#fff;margin:5% auto;padding:0;border-radius:20px;width:90%;max-width:600px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:10}.academic-form .form-group{margin-bottom:20px}.academic-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.academic-form .form-input,.academic-form .form-select,.academic-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;box-sizing:border-box}.academic-form .form-textarea{resize:vertical}.academic-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.academic-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}@media(max-width:768px){.academic-tabs{flex-direction:column}.grades-list,.lesson-plans-list,.assessments-list,.schemes-list,.results-list,.test-marks-list,.academic-form .form-row{grid-template-columns:1fr}}.secretary-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-header{text-align:center;margin-bottom:40px}.dashboard-title{font-size:2.5rem;margin:0;font-weight:300;color:#2c3e50;letter-spacing:2px;text-transform:uppercase}.dashboard-subtitle{font-size:1.1rem;color:#7f8c8d;font-weight:300;letter-spacing:1px;margin-top:5px}.dashboard-content{margin-top:40px}.fee-structure-page{padding:20px;max-width:1200px;margin:0 auto}.upload-section{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;margin-bottom:30px}.upload-card h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.upload-area{border:3px dashed rgba(135,206,250,.5);border-radius:15px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;background:#87cefa0d}.upload-area:hover,.upload-area.drag-active{border-color:#87ceeb;background:#87cefa1a}.upload-icon{font-size:4rem;margin-bottom:15px}.upload-area p{color:#2c3e50;font-size:1.1rem;margin:10px 0}.upload-hint{font-size:.9rem;color:#7f8c8d}.btn-upload{margin-top:20px;padding:12px 24px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}.file-info{margin-top:20px;padding:15px;background:#fff;border-radius:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000000d}.file-details{flex:1}.file-name{display:block;font-weight:600;color:#2c3e50;margin-bottom:5px}.file-size{display:block;font-size:.85rem;color:#7f8c8d}.btn-remove{background:#e74c3c;color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.btn-remove:hover{transform:scale(1.1)}.upload-actions{margin-top:20px;text-align:center}.btn-save{padding:12px 32px;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.current-structure{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014}.current-structure h3{font-size:1.3rem;color:#2c3e50;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}.structure-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.structure-info{flex:1;min-width:200px}.structure-name{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:10px}.structure-meta{display:flex;gap:20px;font-size:.9rem;color:#7f8c8d;flex-wrap:wrap}.structure-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-view,.btn-download,.btn-whatsapp{padding:10px 20px;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}@media(max-width:768px){.structure-card{flex-direction:column;align-items:stretch}.structure-actions{justify-content:stretch}.btn-view,.btn-download,.btn-whatsapp{flex:1}}.secretary-students-page{padding:20px;max-width:1400px;margin:0 auto}.secretary-students-section{margin-top:0;padding-top:0}.page-header{text-align:center;margin-bottom:0;padding:30px 0 10px;position:relative}.filters-section{display:flex;gap:10px;margin-top:15px;margin-bottom:5px;flex-wrap:wrap;background:linear-gradient(135deg,#fff,#f8f9fa);padding:12px 15px;border-radius:12px;box-shadow:0 2px 8px #0000000d;justify-content:center}.filter-select,.search-input{padding:6px 12px;border:2px solid rgba(135,206,250,.3);border-radius:20px;font-size:.75rem;font-weight:500}.filter-select{min-width:150px}.search-input{flex:1;min-width:200px}.students-table-container{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:20px;padding:15px;box-shadow:0 4px 15px #00000014;overflow-x:auto;margin-top:0}.students-table{width:100%;border-collapse:collapse}.students-table thead{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.students-table th{padding:15px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.students-table tbody tr{border-bottom:1px solid rgba(135,206,250,.2);transition:background-color .3s ease}.students-table tbody tr:hover{background-color:#87cefa0d}.students-table td{padding:15px;vertical-align:middle}.student-photo{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid #87CEEB}.student-photo-placeholder{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;font-size:1.2rem;font-weight:600;border:2px solid #87CEEB}.student-name{font-weight:600;color:#2c3e50}.status-badge{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;text-transform:uppercase}.status-badge.paid{background:#2ecc711a;color:#2ecc71}.status-badge.partial{background:#f39c121a;color:#f39c12}.status-badge.unpaid{background:#e74c3c1a;color:#e74c3c}.status-badge.na{background:#7f8c8d1a;color:#7f8c8d}.action-buttons{display:flex;gap:5px}.action-btn{padding:6px 12px;border:1px solid;background:#fff;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .3s ease}.action-btn.edit{border-color:#3498db;color:#3498db}.action-btn.edit:hover{background:#3498db;color:#fff}.action-btn.whatsapp{border-color:#25d366;color:#25d366}.action-btn.whatsapp:hover{background:#25d366;color:#fff}.modal{display:flex;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#00000080;align-items:stretch;justify-content:stretch;padding:0;margin:0}.modal-content{background:#fff;padding:0;border-radius:20px;width:100%;max-width:100vw;height:100vh;max-height:100vh;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;margin:0}.modal-close{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer}.modal-body{padding:30px;flex:1;overflow-y:auto;overflow-x:hidden}.fee-form .form-group{margin-bottom:20px}.fee-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.fee-form .form-input{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.fee-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.paid-cell-hover{position:relative}.payment-tooltip{visibility:hidden;opacity:0;position:fixed;z-index:1000;background:#fff;border:2px solid #87CEEB;border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:500px;max-width:800px;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.paid-cell-hover:hover .payment-tooltip{visibility:visible;opacity:1}.payment-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:#87ceeb}.payment-tooltip-header{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;padding:12px 16px;font-weight:600;font-size:.9rem;border-radius:10px 10px 0 0;text-align:center}.payment-tooltip-content{padding:12px;max-height:200px;overflow-x:auto;overflow-y:hidden;display:flex;gap:12px;text-align:center}.payment-tooltip-item{padding:12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #87CEEB;text-align:center;min-width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.payment-tooltip-date-amount{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%}.payment-tooltip-date{font-weight:600;color:#2c3e50;font-size:.85rem;flex:1;text-align:left}.payment-tooltip-amount{font-size:1rem;font-weight:700;color:#2ecc71;flex:1;text-align:right}.payment-tooltip-method{font-size:.8rem;color:#7f8c8d;text-transform:capitalize;margin-bottom:2px}.payment-tooltip-reference{font-size:.75rem;color:#95a5a6;font-style:italic}.payment-tooltip-empty{text-align:center;color:#7f8c8d;font-size:.9rem;padding:20px}@media(max-width:768px){.filters-section{flex-direction:column}.students-table-container{overflow-x:scroll}.payment-tooltip{min-width:300px;max-width:90vw;left:0;transform:none}.payment-tooltip:after{left:20px;transform:none}.payment-tooltip-item{min-width:150px}}.student-fee-management{padding:20px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.back-button{background:none;border:none;color:#3498db;font-size:16px;cursor:pointer;padding:8px 16px;border-radius:4px;margin-bottom:15px;transition:background-color .2s}.back-button:hover{background-color:#f0f7ff}.page-title{font-size:28px;color:#2c3e50;margin:0 0 8px}.page-subtitle{color:#7f8c8d;margin:0;font-size:16px}.fee-management-section{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:25px}.filter-section{display:flex;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eee;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:600;color:#2c3e50;font-size:14px}.filter-select{padding:10px 15px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:180px;background:#fff;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.btn-export{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-left:auto}.btn-export:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc714d}.totals-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.total-card{background:#fff;border-radius:8px;padding:20px;display:flex;align-items:center;gap:15px;border:1px solid #e0e0e0;transition:transform .2s,box-shadow .2s}.total-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.total-icon{font-size:32px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f8f9fa}.total-content{flex:1}.total-number{font-size:24px;font-weight:700;color:#2c3e50;margin-bottom:4px}.total-label{font-size:14px;color:#7f8c8d}.loading-container{text-align:center;padding:60px 20px}.loading-container p{margin-top:15px;color:#7f8c8d}.table-section{margin-top:30px}.table-section h3{font-size:20px;color:#2c3e50;margin-bottom:20px}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.student-fee-table{width:100%;border-collapse:collapse;min-width:1200px}.student-fee-table thead{background:linear-gradient(135deg,#3498db,#2980b9)}.student-fee-table th{padding:16px 12px;text-align:left;color:#fff;font-weight:600;font-size:14px;border-right:1px solid rgba(255,255,255,.1)}.student-fee-table th:last-child{border-right:none}.student-fee-table tbody tr{border-bottom:1px solid #eee;transition:background-color .2s}.student-fee-table tbody tr:hover{background-color:#f8f9fa}.student-fee-table td{padding:14px 12px;font-size:14px;color:#2c3e50}.photo-cell{width:60px}.student-photo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0}.no-photo{width:40px;height:40px;border-radius:50%;background:#f8f9fa;display:flex;align-items:center;justify-content:center;font-size:20px;color:#7f8c8d;border:2px solid #e0e0e0}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-block}.status-paid{background:#d4edda;color:#155724}.status-partial{background:#fff3cd;color:#856404}.status-unpaid{background:#f8d7da;color:#721c24}.status-unknown{background:#e2e3e5;color:#383d41}.btn-edit{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-edit:hover{background:#2980b9}.empty-cell{text-align:center;padding:60px!important;color:#7f8c8d;font-style:italic}.edit-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.edit-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{padding:24px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0;font-size:20px;color:#2c3e50}.modal-close{background:none;border:none;font-size:24px;color:#7f8c8d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background:#f8f9fa}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.readonly-input{background:#f8f9fa;color:#7f8c8d;cursor:not-allowed}.modal-footer{padding:24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px}.btn-cancel{background:#e0e0e0;color:#2c3e50;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-cancel:hover{background:#d0d0d0}.btn-save{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc714d}@media(max-width:768px){.filter-section{flex-direction:column;align-items:stretch}.filter-group,.filter-select{width:100%}.btn-export{width:100%;margin-left:0}.totals-section{grid-template-columns:1fr}.modal-footer{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.academic-dashboard{min-height:100vh;background:#f8f9fa;padding:20px}.dashboard-header{text-align:center;margin-bottom:40px;padding:30px 0}.dashboard-title{font-size:2.5rem;font-weight:300;color:#2c3e50;margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.dashboard-subtitle{font-size:1.1rem;color:#7f8c8d;font-weight:300}.components-section{max-width:1400px;margin:0 auto}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px;padding:20px 0}.component-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:30px 25px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #00000014;border:2px solid transparent;position:relative;overflow:hidden}.component-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#87ceeb,#add8e6);transform:scaleX(0);transition:transform .3s ease}.component-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px #87cefa40;border-color:#87ceeb}.component-card:hover:before{transform:scaleX(1)}.card-icon{font-size:3.5rem;margin-bottom:15px;transition:transform .3s ease}.component-card:hover .card-icon{transform:scale(1.1) rotate(5deg)}.card-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin-bottom:10px;letter-spacing:.5px}.card-description{font-size:.9rem;color:#7f8c8d;line-height:1.5;margin:0}@media(max-width:768px){.components-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.dashboard-title{font-size:2rem}.component-card{padding:20px 15px}.card-icon{font-size:2.5rem}.card-title{font-size:1.1rem}}@media(max-width:480px){.components-grid{grid-template-columns:1fr}.dashboard-title{font-size:1.5rem}}.pms-page{min-height:100vh;background:linear-gradient(135deg,#f5f9ff,#e8f2ff);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#f5f9ff,#e8f2ff)}.loading-spinner{width:50px;height:50px;border:5px solid #e0f0ff;border-top:5px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.pms-header{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:0;box-shadow:0 4px 20px #3498db4d;position:relative;overflow:hidden}.header-background{padding:30px 40px;position:relative;z-index:1}.header-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" preserveAspectRatio="none"><path d="M0,0 L100,0 L100,100 Z" fill="rgba(255,255,255,0.1)"/></svg>');background-size:cover;opacity:.1;z-index:-1}.header-content{max-width:1200px;margin:0 auto}.back-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:25px;font-size:14px;cursor:pointer;transition:all .3s ease;margin-bottom:20px;display:inline-flex;align-items:center;gap:8px}.back-button:hover{background:#ffffff4d;transform:translate(-5px)}.header-title-section{margin-bottom:30px}.header-title{font-size:2.5rem;font-weight:700;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.2);background:linear-gradient(to right,#fff,#e0f7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-subtitle{font-size:1.1rem;opacity:.9;margin:0;max-width:600px}.header-stats{display:flex;gap:20px;flex-wrap:wrap}.stat-card{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:20px;min-width:150px;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px);background:#ffffff40}.stat-number{display:block;font-size:2rem;font-weight:700;margin-bottom:5px}.stat-label{font-size:.9rem;opacity:.9}.pms-main{max-width:1200px;margin:0 auto;padding:30px 20px}.action-bar{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap}.action-btn{padding:12px 25px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 4px 15px #0000001a}.save-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.save-btn:hover{background:linear-gradient(135deg,#27ae60,#219653);transform:translateY(-2px);box-shadow:0 6px 20px #27ae604d}.load-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.load-btn:hover{background:linear-gradient(135deg,#2980b9,#1c6ea4);transform:translateY(-2px);box-shadow:0 6px 20px #3498db4d}.export-btn{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.export-btn:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98);transform:translateY(-2px);box-shadow:0 6px 20px #9b59b64d}.table-container{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 30px #3498db26;margin-bottom:30px;border:1px solid #e0f0ff}.table-header{margin-bottom:25px}.table-header h3{color:#2c3e50;font-size:1.8rem;margin:0 0 10px}.table-subtitle{color:#7f8c8d;margin:0;font-size:1rem}.table-wrapper{overflow-x:auto;border-radius:15px;border:1px solid #e0f0ff}.smart-table{width:100%;border-collapse:collapse;min-width:1000px}.smart-table thead{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.smart-table th{padding:18px 15px;text-align:left;font-weight:600;font-size:15px;border-right:1px solid rgba(255,255,255,.1)}.smart-table th:last-child{border-right:none}.smart-table tbody tr{border-bottom:1px solid #e0f0ff;transition:background-color .3s ease}.smart-table tbody tr:hover{background-color:#f8fbff}.smart-table td{padding:15px;vertical-align:middle}.student-name-cell{min-width:200px}.student-info{display:flex;flex-direction:column}.student-name{font-weight:600;color:#2c3e50;font-size:16px}.student-class{font-size:13px;color:#7f8c8d;margin-top:4px}.score-input{width:100%;padding:12px 15px;border:2px solid #e0f0ff;border-radius:8px;font-size:16px;text-align:center;transition:all .3s ease;background:#f8fbff;color:#2c3e50}.score-input:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.score-input::placeholder{color:#bdc3c7}.average-cell{font-weight:700;font-size:18px;text-align:center}.average-cell.good{color:#27ae60;background:#27ae601a;border-radius:8px}.average-cell.average{color:#f39c12;background:#f39c121a;border-radius:8px}.average-cell.poor{color:#e74c3c;background:#e74c3c1a;border-radius:8px}.grade-cell{font-weight:800;font-size:20px;text-align:center;border-radius:8px}.grade-A{color:#27ae60;background:#27ae6026}.grade-B{color:#3498db;background:#3498db26}.grade-C{color:#f39c12;background:#f39c1226}.grade-D{color:#e67e22;background:#e67e2226}.grade-F{color:#e74c3c;background:#e74c3c26}.position-cell{text-align:center}.position-badge{display:inline-block;padding:8px 16px;background:#f8fbff;border:2px solid #e0f0ff;border-radius:20px;font-weight:700;font-size:16px;color:#2c3e50;min-width:60px}.position-badge.top-three{background:linear-gradient(135deg,#ffeaa7,#fab1a0);border-color:#fdcb6e;color:#d63031}.grading-legend{margin-top:30px;padding:20px;background:#f8fbff;border-radius:15px;border:1px solid #e0f0ff}.grading-legend h4{margin:0 0 15px;color:#2c3e50;font-size:1.2rem}.grade-items{display:flex;gap:15px;flex-wrap:wrap}.grade-item{padding:10px 20px;border-radius:25px;font-weight:600;font-size:14px;box-shadow:0 3px 10px #00000014}.grade-a{background:linear-gradient(135deg,#a8e6cf,#dcedc1);color:#27ae60;border:2px solid #27ae60}.grade-b{background:linear-gradient(135deg,#a8c6ff,#d4e2ff);color:#3498db;border:2px solid #3498db}.grade-c{background:linear-gradient(135deg,#ffd8a8,#ffeaa7);color:#f39c12;border:2px solid #f39c12}.grade-d{background:linear-gradient(135deg,#ffb8a8,#ffccbc);color:#e67e22;border:2px solid #e67e22}.grade-f{background:linear-gradient(135deg,#ffa8a8,#fcc);color:#e74c3c;border:2px solid #e74c3c}.summary-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.summary-card{background:#fff;border-radius:20px;padding:25px;box-shadow:0 10px 30px #3498db26;border:1px solid #e0f0ff}.summary-card h4{color:#2c3e50;font-size:1.4rem;margin:0 0 20px;text-align:center}.summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.summary-stat{text-align:center;padding:20px;background:#f8fbff;border-radius:15px;border:1px solid #e0f0ff;transition:transform .3s ease}.summary-stat:hover{transform:translateY(-5px);background:#fff;box-shadow:0 5px 15px #3498db1a}.stat-value{display:block;font-size:2.2rem;font-weight:700;color:#3498db;margin-bottom:8px}.stat-label{font-size:14px;color:#7f8c8d;font-weight:600}@media(max-width:768px){.header-background{padding:20px}.header-title{font-size:2rem}.header-stats{flex-direction:column;align-items:stretch}.stat-card{min-width:auto}.action-bar{flex-direction:column}.action-btn{width:100%;justify-content:center}.table-container{padding:20px}.summary-stats{grid-template-columns:1fr}.grade-items{flex-direction:column;align-items:stretch}.grade-item{text-align:center}}@media(max-width:480px){.header-title{font-size:1.6rem}.header-subtitle{font-size:1rem}.smart-table th,.smart-table td{padding:12px 8px;font-size:14px}.score-input{padding:10px;font-size:14px}}.report-cards-page{min-height:100vh;background:#f8f9fa;padding:20px}.report-cards-section{max-width:1200px;margin:0 auto}.actions-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px;background:linear-gradient(135deg,#fff,#f8f9fa);padding:20px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.btn-generate{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#add8e6,#87ceeb)}.filter-select{padding:10px 20px;border:2px solid rgba(135,206,250,.3);border-radius:25px;background:#fff;color:#2c3e50;font-size:.95rem;font-weight:500;cursor:pointer;min-width:150px}.report-cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.report-card-item{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.report-card-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.report-card-header{margin-bottom:15px}.report-card-student{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.report-card-info{font-size:.9rem;color:#7f8c8d}.report-card-actions{display:flex;gap:10px;flex-wrap:wrap}.report-card-btn{padding:8px 16px;border:none;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.report-card-btn.view{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.report-card-btn.download{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.report-card-btn.share{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff}.report-card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.generate-form .form-group{margin-bottom:20px}.generate-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.generate-form .form-input,.generate-form .form-select{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;box-sizing:border-box}.generate-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}@media(max-width:768px){.report-cards-list{grid-template-columns:1fr}.actions-section{flex-direction:column;align-items:stretch}}.assign-tasks-page{min-height:100vh;background:#f8f9fa;padding:20px}.page-header{text-align:center;margin-bottom:40px;padding:30px 0;position:relative}.back-button{position:absolute;left:0;top:30px;background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #87cefa4d}.back-button:hover{transform:translate(-5px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#add8e6,#87ceeb)}.page-title{font-size:2.2rem;font-weight:300;color:#2c3e50;margin-bottom:10px;letter-spacing:2px;text-transform:uppercase}.page-subtitle{font-size:1rem;color:#7f8c8d;font-weight:300}.assign-tasks-section{max-width:1200px;margin:0 auto}.actions-section{margin-bottom:30px;background:linear-gradient(135deg,#fff,#f8f9fa);padding:20px;border-radius:15px;box-shadow:0 2px 8px #0000000d}.btn-assign{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff;border:none;padding:14px 32px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 15px #87cefa4d}.btn-assign:hover{transform:translateY(-2px);box-shadow:0 6px 20px #87cefa66;background:linear-gradient(135deg,#add8e6,#87ceeb)}.tasks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.task-item{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px;box-shadow:0 4px 15px #00000014;transition:all .3s ease;border-left:4px solid #87CEEB}.task-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #87cefa33}.task-header{margin-bottom:15px}.task-title{font-size:1.2rem;font-weight:600;color:#2c3e50;margin-bottom:5px}.task-assignee{font-size:.9rem;color:#7f8c8d;margin-bottom:5px}.task-deadline{font-size:.85rem;color:#7f8c8d}.task-description{color:#7f8c8d;line-height:1.6;margin-bottom:15px}.task-status{display:inline-block;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;text-transform:uppercase}.task-status.pending{background:#f39c121a;color:#f39c12}.task-status.completed{background:#2ecc711a;color:#2ecc71}.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center}.modal-content{background:#fff;padding:0;border-radius:20px;width:90%;max-width:500px;box-shadow:0 8px 32px #0003;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 30px;border-bottom:2px solid rgba(135,206,250,.2);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;color:#2c3e50}.modal-close{background:none;border:none;font-size:2rem;color:#7f8c8d;cursor:pointer;line-height:1}.modal-body{padding:30px}.task-form .form-group{margin-bottom:20px}.task-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50}.task-form .form-input,.task-form .form-select,.task-form .form-textarea{width:100%;padding:12px;border:2px solid rgba(135,206,250,.3);border-radius:10px;font-size:1rem;font-family:inherit;box-sizing:border-box}.task-form .form-textarea{resize:vertical}.task-form .form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px}.btn{padding:12px 24px;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#2c3e50}.btn-submit{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}@media(max-width:768px){.tasks-list{grid-template-columns:1fr}}.academic-hub-page{padding:20px;max-width:1200px;margin:0 auto}.back-button{background:#f0f0f0;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-bottom:15px;font-size:14px}.back-button:hover{background:#e0e0e0}.page-title{font-size:28px;margin:0 0 8px;color:#333}.page-subtitle{color:#666;margin:0 0 20px;font-size:16px}.view-mode-toggle{background:#f8f9fa;border-radius:8px;padding:15px 20px;margin-bottom:20px;display:flex;align-items:center;gap:15px}.toggle-label{font-weight:600;color:#333}.toggle-buttons{display:flex;gap:10px}.toggle-btn{padding:8px 16px;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.toggle-btn:hover{border-color:#007bff}.toggle-btn.active{background:#007bff;color:#fff;border-color:#007bff}.academic-tabs{display:flex;gap:5px;margin-bottom:20px;flex-wrap:wrap;border-bottom:2px solid #eee;padding-bottom:5px}.tab-btn{padding:10px 20px;border:none;background:#f8f9fa;border-radius:6px 6px 0 0;cursor:pointer;font-size:14px;transition:all .2s}.tab-btn:hover{background:#e9ecef}.tab-btn.active{background:#007bff;color:#fff}.tab-content{display:none}.tab-content.active{display:block}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #eee}.tab-header h3{margin:0;color:#333}.tab-stats{display:flex;gap:15px}.stat-item{background:#f8f9fa;padding:6px 12px;border-radius:4px;font-size:14px;color:#666}.academic-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.academic-item-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.academic-item-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.card-header{margin-bottom:15px}.card-title{font-size:18px;font-weight:600;color:#333;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.document-badge{background:#28a745;color:#fff;padding:3px 8px;border-radius:4px;font-size:12px}.card-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#666}.meta-item{display:flex;align-items:center;gap:4px}.card-content{margin-bottom:20px}.content-item{margin-bottom:8px;font-size:14px}.content-item strong{color:#555;margin-right:5px}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.action-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s;display:flex;align-items:center;gap:5px}.view-btn{background:#17a2b8;color:#fff}.view-btn:hover{background:#138496}.edit-btn{background:#ffc107;color:#212529}.edit-btn:hover{background:#e0a800}.delete-btn{background:#dc3545;color:#fff}.delete-btn:hover{background:#c82333}.download-btn{background:#28a745;color:#fff}.download-btn:hover{background:#218838}.empty-state{text-align:center;padding:40px 20px;grid-column:1 / -1}.empty-icon{font-size:48px;margin-bottom:20px;opacity:.5}.empty-state p{color:#999;max-width:400px;margin:0 auto}@media(max-width:768px){.academic-items-grid{grid-template-columns:1fr}.tab-header{flex-direction:column;align-items:flex-start;gap:10px}.tab-stats{width:100%;justify-content:space-between}.view-mode-toggle{flex-direction:column;align-items:flex-start;gap:10px}.toggle-buttons{width:100%}.toggle-btn{flex:1;text-align:center}.academic-tabs{overflow-x:auto;flex-wrap:nowrap}.card-actions{justify-content:center}}.student-messages-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.student-messages-section{background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px #0000004d}.communication-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.tab-btn{background:none;border:none;padding:12px 24px;font-size:16px;color:#666;cursor:pointer;border-radius:8px;transition:all .3s;position:relative}.tab-btn:hover{background:#f5f5f5}.tab-btn.active{background:#667eea;color:#fff;font-weight:600}.tab-badge{background:#ff4757;color:#fff;font-size:12px;padding:2px 8px;border-radius:10px;margin-left:8px}.chat-container{display:flex;gap:30px;height:600px}.students-sidebar{width:300px;background:#f8f9fa;border-radius:15px;padding:20px;display:flex;flex-direction:column}.sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sidebar-header h3{margin:0;color:#333;font-size:1.2rem}.btn-refresh{background:#667eea;color:#fff;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px;transition:background .3s}.btn-refresh:hover{background:#5a6fd8}.students-search{margin-bottom:20px}.search-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;transition:border-color .3s}.students-list{flex:1;overflow-y:auto}.student-item{display:flex;align-items:center;padding:15px;border-radius:10px;margin-bottom:10px;cursor:pointer;transition:all .3s;background:#fff;border:2px solid transparent}.student-item:hover{background:#f0f0f0;transform:translate(5px)}.student-item.active{background:#e8f0fe;border-color:#667eea}.student-avatar{margin-right:15px}.student-info{flex:1}.student-name{font-weight:600;color:#333;margin-bottom:4px}.student-details{display:flex;gap:10px;font-size:12px;color:#666}.student-class,.student-admission{background:#f0f0f0;padding:2px 8px;border-radius:4px}.unread-badge{background:#ff4757;color:#fff;font-size:12px;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.chat-main{flex:1;display:flex;flex-direction:column}.no-chat-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999}.no-chat-icon{font-size:80px;margin-bottom:20px;opacity:.5}.no-chat-selected h2{color:#666;margin-bottom:10px}.no-chat-selected p{color:#999}.chat-area{flex:1;display:flex;flex-direction:column}.chat-header{padding-bottom:20px;border-bottom:2px solid #f0f0f0;margin-bottom:20px}.chat-user-info{display:flex;align-items:center;gap:15px}.chat-user-details{display:flex;flex-direction:column;gap:4px}.chat-user-class,.chat-user-admission{font-size:14px;color:#666;background:#f5f5f5;padding:4px 12px;border-radius:6px;display:inline-block}.messages-container{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa;border-radius:15px;margin-bottom:20px}.messages-list{display:flex;flex-direction:column;gap:15px}.message{max-width:70%;padding:12px 16px;border-radius:18px;position:relative}.message.sent{align-self:flex-end;background:#667eea;color:#fff;border-bottom-right-radius:4px}.message.received{align-self:flex-start;background:#fff;color:#333;border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000001a}.message-content{margin-bottom:4px;line-height:1.4}.message-time{font-size:11px;opacity:.7;text-align:right}.message-input-area{margin-top:20px}.input-wrapper{display:flex;gap:10px}.message-input{flex:1;padding:15px;border:2px solid #e0e0e0;border-radius:12px;font-size:14px;resize:none;transition:border-color .3s}.message-input:focus{outline:none;border-color:#667eea}.send-btn{background:#667eea;color:#fff;border:none;padding:0 30px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s;min-width:120px}.send-btn:hover:not(:disabled){background:#5a6fd8}.send-btn:disabled{background:#ccc;cursor:not-allowed}.received-messages-container{background:#f8f9fa;border-radius:15px;padding:20px;max-height:600px;overflow-y:auto}.message-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:15px;box-shadow:0 2px 8px #0000001a;border-left:4px solid transparent}.message-card.unread{border-left-color:#667eea;background:#f8f9ff}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sender-info{display:flex;align-items:center;gap:10px}.message-time{font-size:12px;color:#999}.unread-indicator{background:#667eea;color:#fff;font-size:11px;padding:2px 8px;border-radius:10px}.message-body{color:#333;line-height:1.5}.empty-state{text-align:center;padding:40px;color:#999}.empty-state p{margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin-right:8px;vertical-align:middle}@media(max-width:768px){.chat-container{flex-direction:column;height:auto}.students-sidebar{width:100%;height:300px}.communication-tabs{flex-direction:column}.tab-btn{width:100%}}.section-leader-dashboard{padding:20px;max-width:1400px;margin:0 auto}.components-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;padding:20px 0}.component-card{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;padding:25px 20px;text-align:center;box-shadow:0 6px 20px #00000014;transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden;min-height:200px;max-height:200px;display:flex;flex-direction:column;justify-content:space-between}.component-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(173,216,230,.3),transparent);transition:left .5s}.component-card:hover:before{left:100%}.component-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 12px 30px #00000026;border-color:#87cefa80}.card-icon{font-size:3rem;margin-bottom:15px;transition:transform .3s ease}.component-card:hover .card-icon{transform:scale(1.2) rotate(5deg)}.card-title{font-size:1.3rem;font-weight:600;color:#2c3e50;margin:10px 0}.card-description{font-size:.9rem;color:#7f8c8d;line-height:1.4;margin:0}.send-disciplinary-report{padding:20px;max-width:1200px;margin:0 auto}.send-counselling-report{padding:20px;max-width:1200px;margin:0 auto}.report-header{margin-bottom:30px}.back-button{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;margin-bottom:20px;font-size:14px;transition:background .3s}.back-button:hover{background:#5a6268}.report-header h1{color:#2c3e50;margin-bottom:10px}.report-subtitle{color:#7f8c8d;font-size:16px}.report-content{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.student-search-section{margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid #e0e0e0}.student-search-section h2{color:#2c3e50;margin-bottom:15px}.search-box{margin-bottom:20px}.search-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.search-input:focus{outline:none;border-color:#667eea}.selected-student-card{background:#f8f9fa;border:2px solid #667eea;border-radius:8px;padding:20px;margin-top:15px}.student-info{display:flex;flex-direction:column;gap:10px}.student-name{font-size:20px;font-weight:600;color:#2c3e50}.student-details{display:flex;gap:20px;color:#7f8c8d;font-size:14px}.no-student-found{padding:15px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;margin-top:15px}.report-form{display:grid;gap:30px}.form-section{padding:20px;background:#f8f9fa;border-radius:8px}.form-section h3{color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:30px;border-top:2px solid #e0e0e0}.btn-cancel{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:background .3s}.btn-cancel:hover{background:#5a6268}.btn-submit{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s}.btn-submit:hover{transform:scale(1.05)}.student-dashboard{padding:20px;max-width:1400px;margin:0 auto}.dashboard-title{color:#2c3e50;margin-bottom:30px;font-size:32px;text-align:center}.components-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.component-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000000d}.component-card:hover{transform:translateY(-4px);box-shadow:0 6px 12px #0000001a;border-color:#667eea}.card-icon{font-size:48px;margin-bottom:15px;text-align:center}.card-title{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:10px;text-align:center}.card-description{color:#7f8c8d;font-size:14px;text-align:center;line-height:1.5}.student-classroom{padding:20px;max-width:1200px;margin:0 auto}.classroom-header{margin-bottom:30px}.classroom-header h1{color:#2c3e50;margin-bottom:20px}.class-info-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.class-info-card h2{margin:0 0 10px;font-size:28px}.class-teacher{margin:10px 0 0;font-size:16px;opacity:.9}.classroom-content{margin-top:30px}.class-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 2px 4px #0000000d}.stat-icon{font-size:32px}.stat-info{flex:1}.stat-value{font-size:24px;font-weight:700;color:#2c3e50}.stat-label{font-size:14px;color:#7f8c8d;margin-top:5px}.classmates-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.classmates-section h3{color:#2c3e50;margin-bottom:20px}.classmates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.classmate-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:15px;text-align:center;transition:transform .2s,box-shadow .2s}.classmate-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.classmate-avatar{margin-bottom:10px}.classmate-avatar img{width:60px;height:60px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto}.classmate-name{font-weight:600;color:#2c3e50;margin-bottom:5px;font-size:14px}.classmate-admission{font-size:12px;color:#7f8c8d}.empty-state,.loading{text-align:center;padding:40px;color:#7f8c8d}.student-tasks{padding:20px;max-width:1200px;margin:0 auto}.tasks-header{margin-bottom:30px}.tasks-header h1{color:#2c3e50;margin-bottom:10px}.tasks-subtitle{color:#7f8c8d;font-size:16px}.tasks-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.tasks-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.tasks-list{display:grid;gap:20px}.task-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.task-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.task-type{display:flex;align-items:center;gap:10px}.task-icon{font-size:24px}.task-type-label{font-size:18px;font-weight:600;color:#2c3e50}.task-date{color:#7f8c8d;font-size:14px}.task-subject{margin-bottom:10px;color:#2c3e50}.task-description{margin:15px 0;padding:15px;background:#f8f9fa;border-radius:8px;color:#2c3e50;line-height:1.6}.task-teacher{margin-top:10px;color:#7f8c8d;font-size:14px}.task-file{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.download-btn{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:transform .2s}.download-btn:hover{transform:scale(1.05)}.task-status{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.status-badge{display:inline-block;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500;background:#e0e0e0;color:#2c3e50}.status-badge.completed{background:#d4edda;color:#155724}.status-badge.overdue{background:#f8d7da;color:#721c24}.student-reports{padding:20px;max-width:1200px;margin:0 auto}.reports-header{margin-bottom:30px}.reports-header h1{color:#2c3e50;margin-bottom:10px}.reports-subtitle{color:#7f8c8d;font-size:16px}.reports-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0;flex-wrap:wrap}.tab-btn{padding:12px 24px;border:none;background:transparent;border-bottom:3px solid transparent;cursor:pointer;font-size:15px;font-weight:500;color:#7f8c8d;transition:all .3s}.tab-btn:hover{color:#667eea;background:#f8f9fa}.tab-btn.active{color:#667eea;border-bottom-color:#667eea}.reports-content{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.report-section h2{color:#2c3e50;margin-bottom:20px}.results-table{overflow-x:auto}.results-table table{width:100%;border-collapse:collapse}.results-table th,.results-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.results-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.results-table tr:hover{background:#f8f9fa}.attendance-summary{margin-bottom:20px}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:25px}.summary-item{background:#f8f9fa;padding:15px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.summary-label{color:#7f8c8d;font-weight:500}.summary-value{font-weight:700;font-size:18px;color:#2c3e50}.summary-value.present{color:#28a745}.summary-value.absent{color:#dc3545}.attendance-list{display:grid;gap:10px}.attendance-record{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px}.record-date{color:#2c3e50;font-weight:500}.record-status{padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500}.record-status.present{background:#d4edda;color:#155724}.record-status.absent{background:#f8d7da;color:#721c24}.reports-list{display:grid;gap:20px}.report-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.report-date{color:#7f8c8d;font-size:14px}.report-severity,.report-type{padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500}.report-severity.low{background:#d4edda;color:#155724}.report-severity.medium{background:#fff3cd;color:#856404}.report-severity.high{background:#f8d7da;color:#721c24}.report-type{background:#d1ecf1;color:#0c5460}.report-title{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:10px}.report-description{color:#2c3e50;line-height:1.6;margin-bottom:10px}.report-author{color:#7f8c8d;font-size:14px;font-style:italic}.student-announcements{padding:20px;max-width:1200px;margin:0 auto}.announcements-header{margin-bottom:30px}.announcements-header h1{color:#2c3e50;margin-bottom:10px}.announcements-subtitle{color:#7f8c8d;font-size:16px}.announcements-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.announcements-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.announcements-list{display:grid;gap:20px}.announcement-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.announcement-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.announcement-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.announcement-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.announcement-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.announcement-date{color:#7f8c8d;font-size:14px}.announcement-content{margin:15px 0;color:#2c3e50;line-height:1.6}.announcement-content p{margin:0}.announcement-footer{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;font-size:14px}.announcement-author{color:#7f8c8d}.announcement-category{padding:5px 12px;background:#e0e0e0;border-radius:20px;font-size:12px;color:#2c3e50}.announcement-attachment{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.attachment-link{display:inline-block;padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:8px;font-size:14px;font-weight:500;transition:transform .2s}.attachment-link:hover{transform:scale(1.05)}.student-fee-structure{padding:20px;max-width:1200px;margin:0 auto}.fee-header{margin-bottom:30px}.fee-header h1{color:#2c3e50;margin-bottom:10px}.fee-subtitle{color:#7f8c8d;font-size:16px}.fee-structure-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d}.fee-table{overflow-x:auto;margin-bottom:30px}.fee-table table{width:100%;border-collapse:collapse}.fee-table th,.fee-table td{padding:15px;text-align:left;border-bottom:1px solid #e0e0e0}.fee-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.fee-table tr:hover{background:#f8f9fa}.fee-amount{text-align:right;font-weight:500;color:#2c3e50}.total-row{background:#f8f9fa;font-size:18px}.total-amount{color:#667eea;font-size:20px}.empty-cell{text-align:center;padding:40px;color:#7f8c8d}.fee-info{margin-top:30px}.info-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.info-card h3{color:#2c3e50;margin-bottom:15px}.info-card p{color:#2c3e50;line-height:1.6;margin-bottom:10px}.uploaded-document-section{margin-bottom:30px}.document-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 8px #00000014}.document-header{margin-bottom:20px}.document-header h3{color:#2c3e50;margin-bottom:8px;font-size:20px}.document-subtitle{color:#7f8c8d;font-size:14px}.document-details{margin:20px 0}.document-info{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:20px}.document-name{font-size:16px;margin-bottom:10px;color:#2c3e50}.document-meta{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:#7f8c8d}.meta-item{display:flex;align-items:center;gap:5px}.document-actions{display:flex;gap:15px;flex-wrap:wrap}.btn-view,.btn-download,.btn-whatsapp{padding:12px 24px;border:none;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;min-width:140px}.btn-view{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-download{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.btn-whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff}.btn-view:hover,.btn-download:hover,.btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.document-note{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.document-note p{color:#2c3e50;font-size:14px;line-height:1.6;margin:0}@media(max-width:768px){.document-actions{flex-direction:column}.btn-view,.btn-download,.btn-whatsapp{width:100%}.document-meta{flex-direction:column;gap:10px}}.student-payment-info{padding:20px;max-width:1200px;margin:0 auto}.payment-header{margin-bottom:30px}.payment-header h1{color:#2c3e50;margin-bottom:10px}.payment-subtitle{color:#7f8c8d;font-size:16px}.payment-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 4px #0000000d}.summary-icon{font-size:40px}.summary-info{flex:1}.summary-label{color:#7f8c8d;font-size:14px;margin-bottom:5px}.summary-value{color:#2c3e50;font-size:24px;font-weight:700}.summary-value.pending-amount{color:#dc3545}.payment-history-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;margin-bottom:30px}.payment-history-section h2{color:#2c3e50;margin-bottom:20px}.payment-history-table{overflow-x:auto}.payment-history-table table{width:100%;border-collapse:collapse}.payment-history-table th,.payment-history-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.payment-history-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.payment-history-table tr:hover{background:#f8f9fa}.amount-cell{text-align:right;font-weight:500;color:#2c3e50}.reference-cell{font-family:monospace;font-size:12px;color:#7f8c8d}.status-badge.paid{background:#d4edda;color:#155724}.payment-info-card{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;padding:25px}.payment-info-card h3{color:#2c3e50;margin-bottom:15px}.instructions{color:#2c3e50;line-height:1.8}.instructions p{margin-bottom:10px}.student-zoom-meetings{padding:20px;max-width:1200px;margin:0 auto}.meetings-header{margin-bottom:30px}.meetings-header h1{color:#2c3e50;margin-bottom:10px}.meetings-subtitle{color:#7f8c8d;font-size:16px}.meetings-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.meetings-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.meetings-list{display:grid;gap:20px}.meeting-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.meeting-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.meeting-card.upcoming{border-left:4px solid #28a745}.meeting-card.past{border-left:4px solid #6c757d;opacity:.8}.meeting-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.meeting-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.meeting-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.status-badge{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.upcoming{background:#d4edda;color:#155724}.status-badge.past{background:#e0e0e0;color:#6c757d}.meeting-date{color:#7f8c8d;font-size:14px}.meeting-content{margin:15px 0}.meeting-description{color:#2c3e50;line-height:1.6;margin-bottom:15px}.meeting-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:15px}.detail-item{color:#2c3e50;font-size:14px}.meeting-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0;flex-wrap:wrap;gap:15px}.join-btn{padding:12px 24px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s}.join-btn:hover{transform:scale(1.05)}.meeting-id,.meeting-password{font-size:14px;color:#7f8c8d;font-family:monospace}.student-complaints-hub{padding:20px;max-width:1200px;margin:0 auto}.complaints-header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.complaints-header h1{color:#2c3e50;margin-bottom:10px}.complaints-subtitle{color:#7f8c8d;font-size:16px}.submit-complaint-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s}.submit-complaint-btn:hover{transform:scale(1.05)}.complaint-form-section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 2px 4px #0000000d}.complaint-form-section h2{color:#2c3e50;margin-bottom:20px}.complaint-form{display:grid;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#2c3e50;font-weight:500;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.submit-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:500;transition:transform .2s;justify-self:start}.submit-btn:hover{transform:scale(1.05)}.complaints-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.complaints-list{display:grid;gap:20px}.complaint-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.complaint-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.complaint-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.complaint-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.complaint-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.priority-badge{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;border:2px solid currentColor}.complaint-date{color:#7f8c8d;font-size:14px}.complaint-content{margin:15px 0}.complaint-category{color:#7f8c8d;font-size:14px;margin-bottom:10px}.complaint-description{color:#2c3e50;line-height:1.6}.complaint-footer{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.status-badge{display:inline-block;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.in-progress{background:#d1ecf1;color:#0c5460}.status-badge.resolved{background:#d4edda;color:#155724}.complaint-response{flex:1;color:#2c3e50;font-size:14px;padding:10px;background:#f8f9fa;border-radius:8px}.student-subjects{padding:20px;max-width:1200px;margin:0 auto}.subjects-header{margin-bottom:30px}.subjects-header h1{color:#2c3e50;margin-bottom:10px}.subjects-subtitle{color:#7f8c8d;font-size:16px}.subjects-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.subject-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.subject-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.subject-header{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.subject-name{color:#2c3e50;font-size:20px;font-weight:600;margin:0 0 10px}.subject-code{display:inline-block;padding:5px 12px;background:#e0e0e0;border-radius:20px;font-size:12px;color:#7f8c8d;font-weight:500}.subject-details{color:#2c3e50}.subject-teachers{margin-bottom:15px}.subject-teachers strong{display:block;margin-bottom:8px;color:#2c3e50}.subject-teachers ul{list-style:none;padding:0;margin:0}.subject-teachers li{padding:5px 0;color:#7f8c8d;font-size:14px;display:flex;flex-direction:column}.teacher-phone{font-size:12px;color:#3498db;margin-top:2px;display:flex;align-items:center;gap:5px}.teacher-phone:before{content:"📞";font-size:11px}.subject-info{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.info-item{margin-bottom:10px;font-size:14px}.info-item strong{color:#2c3e50;margin-right:8px}.info-item:last-child{margin-bottom:0}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#7f8c8d}.student-communication{width:100%;height:100%}.student-extra-curriculum-report{padding:20px;max-width:1200px;margin:0 auto}.activities-header{margin-bottom:30px}.activities-header h1{color:#2c3e50;margin-bottom:10px}.activities-subtitle{color:#7f8c8d;font-size:16px}.activities-filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-btn{padding:10px 20px;border:2px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s;color:#2c3e50}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.activities-stats{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.stat-item{display:flex;gap:10px}.stat-label{color:#7f8c8d;font-weight:500}.stat-value{color:#2c3e50;font-weight:700}.activities-list{display:grid;gap:20px}.activity-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.activity-header{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.activity-title-section{display:flex;align-items:center;gap:15px;margin-bottom:10px}.activity-icon{font-size:32px}.activity-title{color:#2c3e50;font-size:20px;font-weight:600;margin:0;flex:1}.activity-date{color:#7f8c8d;font-size:14px}.activity-content{color:#2c3e50}.activity-type,.activity-location,.activity-instructor,.activity-participation{margin-bottom:10px;font-size:14px}.activity-description{margin:15px 0;padding:15px;background:#f8f9fa;border-radius:8px;line-height:1.6}.participation-badge{display:inline-block;padding:5px 15px;border-radius:20px;font-size:12px;font-weight:500;margin-left:10px}.participation-badge.active{background:#d4edda;color:#155724}.participation-badge.completed{background:#d1ecf1;color:#0c5460}.participation-badge.pending{background:#fff3cd;color:#856404}.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d}.empty-hint{margin-top:10px;font-size:14px;opacity:.8}.loading{text-align:center;padding:40px;color:#7f8c8d}.student-alerts-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.page-header{margin-bottom:30px}.back-button{background:#fff3;border:none;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;margin-bottom:20px;transition:background .3s}.back-button:hover{background:#ffffff4d}.page-title{color:#fff;font-size:2.5rem;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.page-subtitle{color:#ffffffe6;font-size:1.1rem;margin:0}.alerts-section{background:#fff;border-radius:20px;padding:30px;box-shadow:0 20px 60px #0000004d}.alerts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.alerts-stats{display:flex;gap:20px}.stat-card{background:#f8f9fa;border-radius:12px;padding:20px;min-width:120px;text-align:center;border:2px solid transparent;transition:all .3s}.stat-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.stat-card.unread{background:#fff5f5;border-color:#ff4757}.stat-number{font-size:2.5rem;font-weight:700;color:#333;margin-bottom:5px}.stat-card.unread .stat-number{color:#ff4757}.stat-label{font-size:14px;color:#666;text-transform:uppercase;letter-spacing:1px}.alerts-actions{display:flex;gap:15px;align-items:center}.filter-buttons{display:flex;gap:10px;background:#f8f9fa;padding:5px;border-radius:10px}.filter-btn{background:none;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;color:#666;transition:all .3s}.filter-btn:hover{background:#e9ecef}.filter-btn.active{background:#667eea;color:#fff;font-weight:600}.btn-mark-all{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:background .3s}.btn-mark-all:hover{background:#5a6fd8}.btn-refresh{background:#28a745;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:16px;transition:background .3s}.btn-refresh:hover{background:#218838}.loading-container{text-align:center;padding:60px}.loading-container p{margin-top:20px;color:#666}.empty-state{text-align:center;padding:60px;color:#999}.empty-icon{font-size:80px;margin-bottom:20px;opacity:.5}.empty-state h2{color:#666;margin-bottom:10px}.empty-state p{margin-bottom:20px}.alerts-list{display:flex;flex-direction:column;gap:20px}.alert-card{background:#fff;border-radius:15px;padding:25px;box-shadow:0 5px 15px #0000001a;border-left:5px solid transparent;transition:all .3s}.alert-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #00000026}.alert-card.unread{border-left-color:#667eea;background:#f8f9ff}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sender-info{display:flex;align-items:center;gap:15px}.sender-avatar{flex-shrink:0}.sender-details{flex:1}.sender-name{font-weight:600;color:#333;font-size:1.1rem;margin-bottom:4px}.sender-role{font-size:14px;color:#666;background:#f0f0f0;padding:2px 10px;border-radius:12px;display:inline-block}.alert-time{font-size:14px;color:#999;white-space:nowrap}.alert-body{margin-bottom:20px}.alert-message{color:#333;line-height:1.6;font-size:16px;padding:15px;background:#f8f9fa;border-radius:10px;border-left:4px solid #667eea}.alert-footer{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #f0f0f0}.alert-status{display:flex;gap:10px}.status-badge{font-size:12px;padding:4px 12px;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.unread{background:#667eea;color:#fff}.status-badge.read{background:#28a745;color:#fff}.alert-actions{display:flex;gap:10px}.btn-mark-read{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .3s}.btn-mark-read:hover{background:#5a6fd8}.btn-delete{background:#ff4757;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .3s}.btn-delete:hover{background:#ff3742}@media(max-width:768px){.alerts-header{flex-direction:column;gap:20px;align-items:stretch}.alerts-stats{justify-content:center}.alerts-actions{flex-direction:column}.filter-buttons{justify-content:center}.alert-header{flex-direction:column;align-items:flex-start;gap:10px}.alert-time{align-self:flex-start}.alert-footer{flex-direction:column;gap:15px;align-items:stretch}.alert-actions{justify-content:center}}.install-prompt-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease}.install-prompt{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;width:90%;max-width:400px;overflow:hidden;animation:slideUp .3s ease}.install-prompt-header{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.install-prompt-header h3{margin:0;font-size:18px;font-weight:600}.close-button{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button:hover{background:#ffffff4d}.install-prompt-content{padding:24px}.install-prompt-content p{margin:0 0 16px;color:#374151;line-height:1.5}.ios-instructions{margin:0;padding-left:20px;color:#374151}.ios-instructions li{margin-bottom:12px;line-height:1.5}.ios-instructions .icon{display:inline-block;background:#f3f4f6;padding:2px 8px;border-radius:4px;margin-left:4px;font-weight:700}.ios-screenshot-hint{margin-top:16px;padding:12px;background:#f3f4f6;border-radius:8px;color:#6b7280;font-size:14px}.benefits-list{list-style:none;margin:0;padding:0}.benefits-list li{padding:8px 0;color:#374151;display:flex;align-items:center}.benefits-list li:before{content:"✓";color:#10b981;font-weight:700;margin-right:12px;font-size:16px}.install-prompt-actions{padding:0 24px 24px;display:flex;gap:12px}.install-button{flex:1;padding:12px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;border:none;transition:all .2s}.install-button.primary{background:#4f46e5;color:#fff}.install-button.primary:hover{background:#4338ca;transform:translateY(-1px)}.install-button.secondary{background:#f3f4f6;color:#374151}.install-button.secondary:hover{background:#e5e7eb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:480px){.install-prompt{width:95%;margin:0 10px}.install-prompt-actions{flex-direction:column}.install-button{width:100%}}.grade-normalization-container{padding:20px;max-width:1200px;margin:0 auto;background:#f8f9fa;min-height:100vh}.grade-normalization-container h1{color:#2c3e50;margin-bottom:10px;border-bottom:3px solid #3498db;padding-bottom:10px}.subtitle{color:#7f8c8d;margin-bottom:30px;font-size:16px;line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:30px 0}.stat-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000001a;text-align:center;border:1px solid #e0e0e0;transition:transform .2s}.stat-card:hover{transform:translateY(-5px)}.stat-number{font-size:36px;font-weight:700;color:#3498db;margin-bottom:5px}.stat-label{font-size:14px;color:#7f8c8d;text-transform:uppercase;letter-spacing:1px}.action-buttons{display:flex;gap:15px;margin:30px 0;flex-wrap:wrap}.btn{padding:12px 24px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;min-width:180px}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9}.btn-success{background:#27ae60;color:#fff}.btn-success:hover{background:#219653}.btn-warning{background:#f39c12;color:#fff}.btn-warning:hover{background:#e67e22}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.btn:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.section{background:#fff;padding:25px;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin:30px 0;border:1px solid #e0e0e0}.section h2{color:#2c3e50;margin-top:0;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.grade-variations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-top:20px}.grade-card{padding:15px;border-radius:8px;cursor:pointer;transition:all .3s;border:2px solid transparent}.grade-card:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.grade-red{background:#ffeaea;border-color:#e74c3c}.grade-orange{background:#fff8e1;border-color:#f39c12}.grade-green{background:#eaffea;border-color:#27ae60}.grade-gray{background:#f5f5f5;border-color:#bdc3c7}.grade-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.grade-name{font-weight:700;font-size:16px;color:#2c3e50}.grade-count{background:#0000001a;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:700}.grade-variations small{color:#7f8c8d;font-size:12px;display:block;margin-top:5px}.grade-warning{color:#e74c3c;font-size:12px;margin-top:8px;font-weight:700}.issues-table{margin-top:20px;overflow-x:auto}.issues-table table{width:100%;border-collapse:collapse;margin-top:10px}.issues-table th{background:#3498db;color:#fff;padding:12px;text-align:left;font-weight:600}.issues-table td{padding:12px;border-bottom:1px solid #ecf0f1}.issues-table tr:hover{background:#f8f9fa}.original-grade{color:#e74c3c;font-weight:700}.normalized-grade{color:#27ae60;font-weight:700}.issue{color:#7f8c8d;font-size:13px}.standards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:20px}.standard-grade{padding:10px;border-radius:6px;text-align:center;font-size:14px;font-weight:500;transition:all .2s}.has-students{background:#eaffea;border:2px solid #27ae60;color:#27ae60}.no-students{background:#f5f5f5;border:2px solid #bdc3c7;color:#7f8c8d}.student-count{background:#27ae60;color:#fff;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;margin-left:5px}.info-section{background:#f8f9fa;border-left:5px solid #3498db}.info-content h3{color:#2c3e50;margin-top:20px;margin-bottom:10px}.info-content p{color:#34495e;line-height:1.6;margin-bottom:15px}.info-content ul,.info-content ol{color:#34495e;margin-left:20px;margin-bottom:15px}.info-content li{margin-bottom:8px;line-height:1.5}.loading{display:flex;justify-content:center;align-items:center;min-height:300px;font-size:18px;color:#7f8c8d}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.action-buttons{flex-direction:column}.btn{width:100%}.grade-variations-grid{grid-template-columns:1fr}.standards-grid{grid-template-columns:repeat(3,1fr)}.issues-table{font-size:12px}.issues-table th,.issues-table td{padding:8px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.standards-grid{grid-template-columns:repeat(2,1fr)}.grade-normalization-container{padding:10px}.section{padding:15px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #87CEEB;--primary-dark: #ADD8E6;--secondary-color: #2c3e50;--text-color: #2c3e50;--text-light: #7f8c8d;--background: #f8f9fa;--white: #ffffff;--success: #2ecc71;--error: #e74c3c;--warning: #f39c12;--border-radius: 10px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .1)}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--background);color:var(--text-color);line-height:1.6}#root{min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:12px 24px;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #87cefa66}@media(max-width:768px){.container{padding:0 15px}.btn{padding:10px 20px;font-size:.95rem}}@media(max-width:480px){.container{padding:0 10px}.btn{padding:8px 16px;font-size:.9rem}}@media(max-width:768px){button,.btn,input,textarea,select{min-height:44px}.flex-container{flex-wrap:wrap}.grid-container{grid-template-columns:1fr}}
