:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#3c4043;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#f5f7fa}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{color:#3c4043}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.rivoox-intro{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;z-index:9999;display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.intro-bg{position:absolute;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);animation:gradientShift 10s ease infinite;background-size:200% 200%}.intro-bg:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(102,126,234,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.15) 0%,transparent 50%);animation:floatOrbs 15s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes floatOrbs{0%,to{transform:translate(0);opacity:.15}50%{transform:translate(20px,-20px);opacity:.25}}.button-stage{position:relative;z-index:10;animation:fadeInScale .8s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;gap:20px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.click-text{font-size:18px;color:#fffc;letter-spacing:.1em;text-transform:uppercase;font-weight:500;animation:textPulse 2s ease-in-out infinite}@keyframes textPulse{0%,to{opacity:.6}50%{opacity:1}}.lightning-btn{position:relative;width:140px;height:140px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 10px 40px #667eea66,0 0 #667eea80;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 10px 40px #667eea66,0 0 #667eea80}50%{box-shadow:0 10px 60px #667eea99,0 0 0 20px #667eea00}}.lightning-btn:hover{transform:scale(1.05);box-shadow:0 15px 60px #667eea99,0 0 #667eea80}.lightning-btn:active{transform:scale(.95)}.bolt-icon{font-size:70px;animation:boltRotate 2s ease-in-out infinite}@keyframes boltRotate{0%,to{transform:rotate(-10deg) scale(1)}50%{transform:rotate(10deg) scale(1.1)}}.electric-ring{position:absolute;width:100%;height:100%;border:3px solid rgba(255,255,255,.3);border-radius:50%;animation:ringPulse 2s ease-out infinite}@keyframes ringPulse{0%{transform:scale(1);opacity:.5}to{transform:scale(1.8);opacity:0}}.lightning-strike{position:absolute;top:0;left:50%;width:0;height:0;transform:translate(-50%)}.main-strike{animation:lightningBolt 1.8s cubic-bezier(.25,.46,.45,.94) forwards}.main-strike:before{content:"";position:absolute;top:0;left:50%;width:12px;height:100vh;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.9) 10%,#fff 50%,rgba(255,255,255,.9) 90%,transparent 100%);filter:blur(4px);box-shadow:0 0 40px #fff,0 0 80px #667eea,0 0 120px #667eeacc;clip-path:polygon(50% 0%,45% 15%,55% 15%,40% 30%,60% 30%,45% 45%,55% 45%,40% 60%,60% 60%,45% 75%,55% 75%,40% 90%,60% 90%,50% 100%);transform:translate(-50%)}@keyframes lightningBolt{0%{opacity:0;transform:translate(-50%) scaleY(0);transform-origin:top}8%{opacity:1;transform:translate(-50%) scaleY(1)}12%{opacity:.7;transform:translate(-50%) scaleY(.9)}16%{opacity:1;transform:translate(-50%) scaleY(1)}20%{opacity:.8;transform:translate(-50%) scaleY(.95)}24%{opacity:1;transform:translate(-50%) scaleY(1)}to{opacity:0;transform:translate(-50%) scaleY(1)}}.side-strike-1,.side-strike-2{display:none}.impact-flash{position:absolute;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(102,126,234,.8) 15%,rgba(118,75,162,.5) 30%,transparent 60%);animation:intenseFlash 1.8s ease-out forwards;mix-blend-mode:screen}@keyframes intenseFlash{0%{opacity:0;transform:scale(.3)}10%{opacity:1;transform:scale(1)}14%{opacity:.7;transform:scale(1.1)}18%{opacity:1;transform:scale(1)}22%{opacity:.8;transform:scale(1.05)}26%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)}}.electric-waves{position:absolute;top:50%;left:50%;width:150px;height:150px;border:5px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,-50%);animation:massiveWaveExpansion 2s ease-out forwards;box-shadow:0 0 30px #fffc,0 0 60px #667eea99}.electric-waves:before,.electric-waves:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border:4px solid rgba(102,126,234,.6);border-radius:50%;transform:translate(-50%,-50%)}.electric-waves:before{animation:massiveWaveExpansion 2s ease-out .15s forwards}.electric-waves:after{border-color:#764ba280;animation:massiveWaveExpansion 2s ease-out .3s forwards}@keyframes massiveWaveExpansion{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(25);opacity:0}}.reveal-stage{position:relative;z-index:10;text-align:center;animation:revealFadeIn 1s cubic-bezier(.16,1,.3,1)}@keyframes revealFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.rivoox-logo{font-size:clamp(70px,15vw,140px);font-weight:900;margin:0;letter-spacing:.15em;display:flex;justify-content:center;align-items:center;gap:clamp(10px,2.5vw,20px);perspective:1000px}.logo-letter{display:inline-block;color:#fff;opacity:0;transform:scale(0) rotateY(180deg);animation:movieTitleReveal 1.2s cubic-bezier(.16,1,.3,1) forwards;text-shadow:0 0 30px rgba(255,255,255,.8),0 10px 30px rgba(0,0,0,.5),0 0 60px rgba(102,126,234,.6);filter:brightness(1.2)}@keyframes movieTitleReveal{0%{opacity:0;transform:scale(0) rotateY(180deg) translateZ(-200px);filter:blur(20px) brightness(0)}40%{opacity:.5;transform:scale(1.3) rotateY(20deg) translateZ(50px);filter:blur(5px) brightness(1.5)}70%{opacity:1;transform:scale(.95) rotateY(-5deg) translateZ(0);filter:blur(0) brightness(1.3)}to{opacity:1;transform:scale(1) rotateY(0) translateZ(0);filter:blur(0) brightness(1.2)}}.logo-letter:nth-child(1){animation-delay:0s}.logo-letter:nth-child(2){animation-delay:.1s}.logo-letter:nth-child(3){animation-delay:.2s}.logo-letter:nth-child(4){animation-delay:.3s}.logo-letter:nth-child(5){animation-delay:.4s}.logo-letter:nth-child(6){animation-delay:.5s}.tagline{margin-top:40px;font-size:clamp(12px,2vw,18px);color:#ffffffe6;letter-spacing:.3em;text-transform:uppercase;font-weight:300;opacity:0;animation:cinematicTagline 1.5s ease 1.2s forwards;text-shadow:0 0 20px rgba(255,255,255,.3)}@keyframes cinematicTagline{0%{opacity:0;transform:translateY(30px) scale(.9);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.particles-container{position:absolute;width:100%;height:100%;top:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.particle{position:absolute;width:3px;height:3px;background:#fff9;border-radius:50%;animation:particleRise linear infinite;box-shadow:0 0 10px #ffffff80}@keyframes particleRise{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) scale(1);opacity:0}}.energy-orbs{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:0}.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;animation:orbMovement 10s ease-in-out infinite}.orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);top:10%;left:5%}.orb-2{width:350px;height:350px;background:radial-gradient(circle,rgba(251,191,36,.3) 0%,transparent 70%);bottom:10%;right:5%;animation-delay:3s}.orb-3{width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);top:50%;left:50%;animation-delay:6s}@keyframes orbMovement{0%,to{transform:translate(0)}50%{transform:translate(50px,-50px)}}.stage-fadeout{animation:fadeOutBlur 1s ease-out forwards}@keyframes fadeOutBlur{to{opacity:0;filter:blur(20px)}}@media(max-width:768px){.lightning-btn{width:110px;height:110px}.bolt-icon{font-size:55px}.orb-1,.orb-2,.orb-3{width:200px;height:200px}}@media(max-width:480px){.lightning-btn{width:90px;height:90px}.bolt-icon{font-size:45px}.orb-1,.orb-2,.orb-3{width:150px;height:150px}}.auth-container{display:flex;min-height:100vh;width:100%;background:#1a1a1a;animation:containerFadeIn .8s cubic-bezier(.16,1,.3,1)}@keyframes containerFadeIn{0%{opacity:0}to{opacity:1}}.auth-left{flex:1;display:flex;flex-direction:column;padding:40px;background:#fff;position:relative;max-width:600px;animation:slideInLeft 1s cubic-bezier(.16,1,.3,1)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.back-button{display:flex;align-items:center;gap:8px;background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:8px 0;margin-bottom:20px;transition:color .3s ease;animation:fadeInDown .8s cubic-bezier(.16,1,.3,1) .2s both}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.back-button:hover{color:#333}.auth-form-wrapper{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:500px;margin:0 auto;width:100%}.auth-header{margin-bottom:40px;animation:fadeInScale .8s cubic-bezier(.16,1,.3,1) .3s both}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-header h1{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.auth-header p{font-size:16px;color:#666;margin:0}.auth-form{display:flex;flex-direction:column;gap:24px}.form-field{display:flex;flex-direction:column;gap:8px;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) both}.form-field:nth-child(1){animation-delay:.4s}.form-field:nth-child(2){animation-delay:.5s}.form-field:nth-child(3){animation-delay:.6s}.form-field:nth-child(4){animation-delay:.7s}.form-field:nth-child(5){animation-delay:.8s}.form-field:nth-child(6){animation-delay:.9s}.form-field label{font-size:14px;font-weight:500;color:#333}.form-input,.form-select{width:100%;padding:14px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:all .3s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#5b4cdb;box-shadow:0 0 0 3px #5b4cdb1a;transform:translateY(-2px)}.form-input::placeholder{color:#999}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:45px}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;color:#666;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.password-toggle-btn:hover{color:#333}.error-message{padding:12px 16px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;animation:shakeError .5s cubic-bezier(.36,.07,.19,.97)}@keyframes shakeError{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.submit-button{width:100%;padding:14px 24px;background:#4285f4;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) 1s both}.submit-button:hover:not(:disabled){background:#3367d6;transform:translateY(-1px);box-shadow:0 4px 12px #4285f44d}.submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;font-size:14px;color:#666;margin-top:8px;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) 1.1s both}.link-button{background:none;border:none;color:#4285f4;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:color .3s ease}.link-button:hover{color:#3367d6;text-decoration:underline}.auth-right{flex:1;background:linear-gradient(135deg,#5b4cdb,#7c3aed);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;position:relative;overflow:hidden;animation:slideInRight 1s cubic-bezier(.16,1,.3,1)}.auth-right:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(255,255,255,.08) 0%,transparent 50%);animation:floatingOrbs 15s ease-in-out infinite}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes floatingOrbs{0%,to{transform:translate(0);opacity:1}50%{transform:translate(20px,-20px);opacity:.8}}.brand-text{display:flex;flex-direction:column;gap:20px;margin-bottom:60px;transition:transform .3s cubic-bezier(.16,1,.3,1);will-change:transform}.brand-line{font-size:80px;font-weight:900;color:#ffffff26;letter-spacing:8px;text-align:center;animation:brandReveal 1s cubic-bezier(.16,1,.3,1) both;transition:all .3s cubic-bezier(.16,1,.3,1);will-change:transform}@keyframes brandReveal{0%{opacity:0;transform:translateY(40px) scale(.9);filter:blur(10px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.brand-line:nth-child(1){animation-delay:.3s}.brand-line:nth-child(2){animation-delay:.4s}.brand-line:nth-child(3){animation-delay:.5s}.brand-line:nth-child(4){animation-delay:.6s}.brand-line:nth-child(5){animation-delay:.7s}.brand-footer{position:absolute;bottom:40px;background:#0000004d;color:#fff;padding:12px 32px;border-radius:30px;font-size:16px;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) 1s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.auth-left{max-width:500px}.brand-line{font-size:60px}}@media(max-width:768px){.auth-container{flex-direction:column}.auth-left{max-width:100%;padding:30px 20px}.auth-right{min-height:300px;padding:40px 20px}.brand-line{font-size:48px;gap:15px}.auth-header h1{font-size:28px}.back-button{margin-bottom:30px}}@media(max-width:480px){.auth-left{padding:20px 16px}.auth-header h1{font-size:24px}.auth-header p{font-size:14px}.brand-line{font-size:36px;letter-spacing:4px}.form-input,.form-select{padding:12px 14px}.submit-button{padding:12px 20px}}.success-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;animation:successFadeIn .8s cubic-bezier(.16,1,.3,1)}@keyframes successFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-icon{width:100px;height:100px;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:successBounce .8s cubic-bezier(.34,1.56,.64,1)}@keyframes successBounce{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}.success-title{font-size:32px;font-weight:700;color:#1a1a1a;margin:0;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .3s both}.success-message{font-size:16px;color:#666;margin:0;max-width:400px;line-height:1.6;animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .5s both}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.sidebar{width:280px;background-color:#fff;border-right:1px solid #e8eaed;display:flex;flex-direction:column;min-height:100vh}.sidebar-header{padding:20px;border-bottom:1px solid #e8eaed}.logo-section{display:flex;align-items:center;gap:12px}.logo-icon{color:#4285f4}.logo-text{font-size:16px;font-weight:600;color:#3c4043}.logo-subtext{font-size:12px;color:#5f6368}.sidebar-nav{flex:1;padding:20px 0}.nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 20px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#5f6368;transition:all .2s ease}.nav-item:hover{background-color:#f8f9fa;color:#3c4043}.nav-item.active{background-color:#e8f0fe;color:#4285f4;border-right:3px solid #4285f4}.nav-item.active svg{color:#4285f4}@media(max-width:768px){.sidebar{width:100%;min-height:auto;border-right:none;border-bottom:1px solid #e8eaed}.sidebar-nav{display:flex;overflow-x:auto;padding:10px}.nav-item{min-width:120px;flex-direction:column;gap:4px;padding:8px 12px;text-align:center;font-size:12px}}.header{background-color:#fff;border-bottom:1px solid #e8eaed;display:flex;align-items:center;justify-content:space-between;min-height:80px;width:100vw;margin-left:-280px;padding:15px 25px 15px 305px;box-sizing:border-box;position:relative;z-index:50}.header-left{flex:0 0 auto}.mil-csn-logo{font-size:24px;font-weight:700}.mil-text{color:#4285f4}.csn-text{color:#34a853}.header-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:20px;max-width:100%}.submission-toggle{display:flex;align-items:center;gap:10px;font-size:14px;color:#5f6368}.toggle-switch{position:relative;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ea4335!important;transition:all .3s ease;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:all .3s ease;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-slider{background-color:#34a853!important}.toggle-switch.active .toggle-slider:before{transform:translate(26px)}.subject-selector{position:relative}.subject-dropdown-trigger{padding:8px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;background-color:#fff;color:#5f6368;min-width:180px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:all .2s ease}.subject-dropdown-trigger:hover{border-color:#4285f4;background-color:#f8f9fa}.subject-dropdown-menu{position:absolute;top:calc(100% + 5px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:300px;max-height:400px;overflow:hidden;z-index:1000;border:1px solid #e0e0e0}.dropdown-header{padding:12px 15px;border-bottom:1px solid #e8eaed;display:flex;justify-content:space-between;align-items:center;background:#f8f9fa}.dropdown-header span{font-size:13px;font-weight:600;color:#3c4043}.clear-all-btn{background:none;border:none;color:#ea4335;font-size:12px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.clear-all-btn:hover{background:#fce8e6}.dropdown-content{max-height:350px;overflow-y:auto;padding:8px 0}.subject-checkbox-item{display:flex;align-items:center;padding:10px 15px;cursor:pointer;transition:background .2s ease;gap:10px}.subject-checkbox-item:hover{background:#f8f9fa}.subject-checkbox-item input[type=checkbox]{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid #dadce0;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.subject-checkbox-item input[type=checkbox]:checked+.checkbox-custom{background:#4285f4;border-color:#4285f4}.subject-checkbox-item input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.subject-label{display:flex;flex-direction:column;gap:2px;flex:1}.subject-name{font-size:14px;color:#3c4043;font-weight:500}.subject-type{font-size:11px;color:#5f6368;background:#f1f3f4;padding:2px 6px;border-radius:4px;width:fit-content}.faculty-info{display:flex;align-items:center;gap:15px}.faculty-details{text-align:right}.faculty-name{font-size:14px;font-weight:600;color:#3c4043}.faculty-role{font-size:12px;color:#5f6368;text-transform:capitalize}.faculty-id{font-size:14px;font-weight:600;color:#3c4043}.department{font-size:12px;color:#5f6368;max-width:200px}.user-avatar{display:flex;align-items:center;gap:5px;padding:8px 12px;background-color:#f8f9fa;border-radius:20px;cursor:pointer;color:#5f6368}.user-avatar:hover{background-color:#e8eaed}@media(max-width:1024px){.header{flex-wrap:wrap;gap:15px}.header-center{order:3;flex:1 1 100%;text-align:left}.faculty-details{display:none}}@media(max-width:768px){.header{padding:10px 15px;flex-direction:column;align-items:flex-start;gap:10px}.header-right{flex-wrap:wrap;gap:10px}.submission-toggle span,.department,.faculty-role{display:none}}.user-menu-container{position:relative}.user-avatar{cursor:pointer;transition:all .3s ease}.user-avatar:hover{opacity:.8}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 25px #00000026;padding:15px;min-width:200px;z-index:1000;border:1px solid #e0e0e0}.user-info{padding-bottom:12px;border-bottom:1px solid #e0e0e0;margin-bottom:12px}.user-info p{margin:0 0 4px;font-weight:600;color:#2c3e50;font-size:14px}.user-info span{color:#666;font-size:12px}.logout-btn{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease}.logout-btn:hover{background:#c82333;transform:translateY(-1px)}.no- subjects{padding:20px;text-align:center;color:#5f6368;font-size:14px}.no-subjects p{margin:0}.defaulter-plug{padding:20px;max-width:1200px;margin:0 auto}.add-work-form{padding:20px;display:flex;flex-direction:column;gap:20px}.form-group label{display:flex;align-items:center;gap:8px;font-weight:500;color:#3c4043;font-size:14px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer}.skip-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#4285f4}.helper-text{font-size:12px;color:#5f6368;margin-top:4px;line-height:1.4}.subject-select{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .2s ease}.subject-select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.work-textarea{width:100%;min-height:120px;padding:12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s ease}.work-textarea:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.form-input{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;transition:border-color .2s ease}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.add-work-btn{display:flex;align-items:center;justify-content:center;gap:8px;background-color:#4285f4;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;align-self:flex-start}.add-work-btn:hover:not(:disabled){background-color:#3367d6;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.add-work-btn:active:not(:disabled){transform:translateY(0)}.add-work-btn:disabled{background-color:#dadce0;color:#9aa0a6;cursor:not-allowed;opacity:.6}.info-section{margin-top:30px}.info-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;display:flex;gap:15px;align-items:flex-start}.info-card svg{color:#fbbc04;flex-shrink:0;margin-top:2px}.info-card h4{margin:0 0 10px;color:#3c4043;font-size:16px;font-weight:600}.info-card ul{margin:0;padding-left:20px;color:#5f6368;line-height:1.8}.info-card li{margin-bottom:8px}.snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#323232;color:#fff;padding:14px 24px;border-radius:6px;z-index:10000;animation:slideUp .3s ease;box-shadow:0 4px 6px #0003;max-width:90%;text-align:center}.snackbar.success{background-color:#34a853}@keyframes slideUp{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}@media(max-width:768px){.defaulter-plug,.add-work-form{padding:15px}.info-card{flex-direction:column;padding:15px}.info-card svg{margin-top:0}.add-work-btn{width:100%;justify-content:center}.snackbar{max-width:95%;padding:12px 20px;font-size:14px}}.no-subjects-message{text-align:center;padding:40px 20px;color:#5f6368;background:#f8f9fa;border-radius:8px;margin-top:20px}.no-subjects-message p{margin:0;font-size:14px}.skip-option{padding:12px;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:15px}.skip-option.enabled{background-color:#d4edda;border-color:#28a745}.form-group label svg{color:#5f6368;flex-shrink:0}.assigned-work-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;overflow:hidden}.work-list{padding:20px;display:flex;flex-direction:column;gap:15px}.work-item{background:#f8f9fa;border:1px solid #e8eaed;border-radius:8px;padding:16px;transition:all .2s ease}.work-item:hover{box-shadow:0 2px 6px #0000001a;border-color:#dadce0}.work-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.work-subject{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.work-subject h4{margin:0;font-size:16px;font-weight:600;color:#3c4043}.subject-code{font-size:12px;color:#5f6368;background:#fff;padding:2px 8px;border-radius:4px;border:1px solid #dadce0}.skip-badge{font-size:11px;font-weight:600;color:#f57c00;background:#fff3e0;padding:3px 8px;border-radius:4px;border:1px solid #ffcc80;text-transform:uppercase;letter-spacing:.5px}.delete-btn{background:transparent;border:1px solid #dadce0;color:#ea4335;padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;transition:all .2s ease}.delete-btn:hover:not(:disabled){background:#fce8e6;border-color:#ea4335}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.work-content{margin-bottom:12px}.work-text{margin:0;color:#3c4043;font-size:14px;line-height:1.6;white-space:pre-wrap}.work-link{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px;background:#fff;border-radius:6px;border:1px solid #dadce0}.work-link svg{color:#5f6368;flex-shrink:0}.reference-link{color:#4285f4;text-decoration:none;font-size:13px;word-break:break-all;display:flex;align-items:center;gap:4px;transition:color .2s ease}.reference-link:hover{color:#3367d6;text-decoration:underline}.work-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e8eaed}.work-date{font-size:12px;color:#5f6368}@media(max-width:768px){.work-item-header{flex-direction:column;gap:12px}.delete-btn{align-self:flex-start}.work-subject{flex-direction:column;align-items:flex-start;gap:6px}}.dashboard-header{display:flex;justify-content:flex-end;padding:20px 30px 0;margin-bottom:20px}.availability-toggle{display:flex;align-items:center;gap:12px;background:#fff;padding:10px 16px;border-radius:12px;box-shadow:0 2px 8px #00000014}.toggle-label{font-size:14px;font-weight:600;color:#202124}.toggle-button{position:relative;width:50px;height:26px;background:#dadce0;border:none;border-radius:13px;cursor:pointer;transition:background-color .3s ease;padding:0}.toggle-button:disabled{opacity:.6;cursor:not-allowed}.toggle-button.active{background:#34a853}.toggle-slider{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.toggle-button.active .toggle-slider{transform:translate(24px)}.status-indicator{font-size:13px;font-weight:600;padding:6px 12px;border-radius:12px;display:flex;align-items:center;gap:6px}.status-indicator:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block}.status-indicator.available{color:#34a853;background:#e6f4ea}.status-indicator.available:before{background:#34a853;animation:blink 1.5s infinite}.status-indicator.unavailable{color:#ea4335;background:#fce8e6}.status-indicator.unavailable:before{background:#ea4335}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.manage-class{padding:20px}.manage-class h2{font-size:24px;font-weight:600;color:#3c4043;margin-bottom:20px}.action-cards{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.action-card{background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:15px 20px;cursor:pointer;transition:all .2s ease}.action-card.active{border-color:#4285f4;background-color:#f8f9fa}.card-header{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;color:#3c4043}.bulk-upload-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-header{display:flex;align-items:center;gap:10px;padding:20px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed;font-weight:600;color:#3c4043}.download-format-btn{margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#fff;border:1px solid #dadce0;border-radius:4px;cursor:pointer;font-size:14px;color:#5f6368}.download-format-btn:hover{background-color:#f8f9fa}.upload-area{padding:40px;text-align:center}.upload-icon{color:#4285f4;margin-bottom:20px}.upload-area h3{font-size:18px;font-weight:600;color:#3c4043;margin-bottom:20px}.upload-instructions{list-style:none;padding:0;margin:20px 0;color:#5f6368}.upload-instructions li{margin-bottom:8px}.upload-instructions li:before{content:"• ";color:#4285f4;font-weight:700}.next-btn{background-color:#4285f4;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;margin-top:20px}.next-btn:hover{background-color:#3367d6}.batch-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.batch-instruction{padding:15px 20px;color:#5f6368;font-size:14px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed}.batch-form{padding:30px}.batch-inputs{display:flex;gap:20px;margin-bottom:30px;align-items:end}.input-group{flex:1}.input-group label{display:block;margin-bottom:8px;font-weight:500;color:#3c4043}.input-group input{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.batch-preview{background-color:#f8f9fa;border:1px solid #e8eaed;border-radius:8px;padding:20px;text-align:center;margin-bottom:20px}.batch-range{font-size:14px;color:#5f6368;margin-bottom:8px}.batch-name{font-size:18px;font-weight:600;color:#3c4043}.add-batch-btn{background-color:#4285f4;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;margin-bottom:20px}.success-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.success-content{padding:60px 40px;text-align:center}.success-icon{margin-bottom:20px}.celebration-icon{font-size:60px}.success-content h2{font-size:32px;font-weight:600;color:#3c4043;margin-bottom:20px}.success-message{color:#5f6368;margin-bottom:30px;line-height:1.6}.finish-btn{background-color:#4285f4;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;cursor:pointer}.subjects-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:30px}.subjects-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.subject-form{border:1px solid #e8eaed;border-radius:8px;overflow:hidden}.form-header{display:flex;align-items:center;gap:10px;padding:15px 20px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed;font-weight:600;color:#3c4043}.form-fields{padding:20px}.form-fields input,.form-fields select{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;margin-bottom:15px}.faculty-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.faculty-input label{display:block;margin-bottom:5px;font-weight:500;color:#3c4043;font-size:12px}.add-subject-btn{width:100%;background-color:#4285f4;color:#fff;border:none;padding:10px;border-radius:4px;font-size:14px;cursor:pointer;margin-bottom:20px}.subject-card{display:flex;align-items:center;justify-content:space-between;background-color:#e3f2fd;padding:15px;border-radius:6px;margin:0 20px 20px}.subject-info{display:flex;gap:15px;align-items:center}.subject-code{font-weight:600;color:#1976d2}.subject-name{color:#3c4043}.faculty-name{color:#5f6368;font-size:14px}.more-btn{background:none;border:none;cursor:pointer;color:#5f6368;padding:4px}.edit-profile-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.profile-form{padding:30px}.form-instruction{color:#5f6368;margin-bottom:20px;font-size:14px}.profile-fields{margin-bottom:30px}.field-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:20px}.field-group label{display:block;margin-bottom:8px;font-weight:500;color:#3c4043}.field-group input{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.update-btn{background-color:#4285f4;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;cursor:pointer}@media(max-width:1024px){.subjects-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr 1fr}}@media(max-width:768px){.manage-class{padding:15px}.batch-inputs{flex-direction:column}.field-row,.faculty-grid{grid-template-columns:1fr}}.upload-btn{display:inline-block;background-color:#4285f4;color:#fff;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.upload-btn:hover{background-color:#3367d6}.file-info{margin-top:10px;color:#5f6368;font-size:14px}.preview-section{margin-top:30px;padding:20px;background-color:#f8f9fa;border-radius:8px}.preview-section h4{margin-bottom:15px;color:#3c4043}.preview-table{background:#fff;border-radius:6px;overflow:hidden;margin-bottom:20px}.preview-table table{width:100%;border-collapse:collapse}.preview-table th,.preview-table td{padding:12px;text-align:left;border-bottom:1px solid #e8eaed}.preview-table th{background-color:#f8f9fa;font-weight:600;color:#3c4043}.existing-batches{margin-top:20px}.existing-batches h4{margin-bottom:15px;color:#3c4043}.batch-item{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background-color:#f8f9fa;border-radius:6px;margin-bottom:8px}.batch-item span{color:#3c4043;font-weight:500}.delete-btn{background-color:#ea4335;color:#fff;border:none;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.subjects-list{max-height:300px;overflow-y:auto}.subject-card{display:flex;align-items:center;justify-content:space-between;background-color:#e3f2fd;padding:12px 15px;border-radius:6px;margin-bottom:10px}.subject-info{display:flex;flex-direction:column;gap:4px}.subject-code{font-weight:600;color:#1976d2;font-size:14px}.subject-name{color:#3c4043;font-size:13px}.faculty-name{color:#5f6368;font-size:12px}.search-section{margin-bottom:20px}.search-input-group{position:relative;display:flex;align-items:center;background:#fff;border:1px solid #dadce0;border-radius:6px;padding:0 12px}.search-input-group svg{color:#5f6368;margin-right:8px}.search-input{border:none;outline:none;padding:12px 0;flex:1;font-size:14px}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.student-card{background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:20px;transition:box-shadow .2s ease}.student-card:hover{box-shadow:0 2px 8px #0000001a}.student-info h4{margin-bottom:8px;color:#3c4043}.student-info p{margin-bottom:4px;color:#5f6368;font-size:14px}.student-actions{display:flex;gap:10px;margin-top:15px}.edit-btn{background-color:#4285f4;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.student-form{padding:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group label{margin-bottom:5px;font-weight:500;color:#3c4043;font-size:14px}.form-group input,.form-group select{padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #e8eaed}.snackbar.error{background-color:#ea4335}@media(max-width:768px){.students-grid,.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:20px}.student-actions{flex-direction:column}}.action-cards{display:flex;flex-direction:column;gap:15px;margin-bottom:30px;position:relative;z-index:1}.action-card{background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:15px 20px;cursor:pointer;transition:all .2s ease;opacity:1;visibility:visible}.action-card:hover{box-shadow:0 2px 8px #0000001a}.import-students .action-cards,.subjects-view .action-cards,.edit-profile-view .action-cards{display:flex;opacity:1;visibility:visible}.action-cards{display:flex!important;flex-direction:column;gap:15px;margin-bottom:30px;position:relative;z-index:10;opacity:1!important;visibility:visible!important}.action-card{background:#fff!important;border:1px solid #e8eaed;border-radius:8px;padding:15px 20px;cursor:pointer;transition:all .2s ease;opacity:1!important;visibility:visible!important;display:flex!important}.action-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.action-card.active{border-color:#4285f4;background-color:#f8f9fa;box-shadow:0 2px 8px #4285f433}.import-students .action-cards,.subjects-view .action-cards,.edit-profile-view .action-cards,.batch-allocation .action-cards,.success-view .action-cards,.manage-class-main .action-cards{display:flex!important;opacity:1!important;visibility:visible!important}.card-header{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:500;color:#3c4043;width:100%}.manage-class *{box-sizing:border-box}.manage-class .action-cards{min-height:auto;max-height:none;overflow:visible}.your-submissions{padding:20px}.your-submissions h2{font-size:24px;font-weight:600;color:#3c4043;margin-bottom:30px}.search-section{display:grid;grid-template-columns:1fr 300px;gap:30px;margin-bottom:30px}.search-controls{display:flex;flex-direction:column;gap:15px}.search-input-group{position:relative}.search-input{width:100%;padding:12px 16px;border:1px solid #dadce0;border-radius:6px;font-size:14px}.search-input:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.subject-filter{padding:12px 16px;border:1px solid #dadce0;border-radius:6px;font-size:14px;background-color:#fff}.submissions-table-wrapper{background:#fff;border:1px solid #e8eaed;border-radius:8px;overflow:hidden}.submissions-table thead{background-color:#f8f9fa;border-bottom:2px solid #e8eaed}.submissions-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#5f6368;text-transform:uppercase;letter-spacing:.5px}.submissions-table th.col-index{width:50px;text-align:center}.submissions-table th.col-roll{width:100px}.submissions-table th.col-name{min-width:200px}.submissions-table th.col-attendance,.submissions-table th.col-submission{width:100px;text-align:center}.submissions-table tbody tr{border-bottom:1px solid #e8eaed;transition:background-color .2s ease}.submissions-table td{padding:12px 16px;font-size:14px;color:#3c4043}.submissions-table td.student-index{text-align:center;color:#5f6368;font-weight:500}.submissions-table td.student-roll{font-weight:600;color:#3c4043}.submissions-table td.student-name-cell{color:#3c4043}.submissions-table td.student-attendance{text-align:center;color:#5f6368}.submissions-table td.submission-cell{text-align:center}.status-toggle-btn{width:36px;height:36px;border-radius:50%;border:2px solid #dadce0;background:#fff;cursor:pointer;font-size:18px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;color:#9aa0a6}.status-toggle-btn:hover{transform:scale(1.1);border-color:#4285f4}.status-toggle-btn.completed{background-color:#34a853;border-color:#34a853;color:#fff}.status-toggle-btn.completed:hover{background-color:#2d8e47;border-color:#2d8e47}.status-toggle-btn.pending{background-color:#fff;border-color:#dadce0;color:#9aa0a6}.status-toggle-btn.pending:hover{background-color:#f8f9fa;border-color:#5f6368;color:#5f6368}.table-footer{padding:12px 16px;background-color:#f8f9fa;border-top:1px solid #e8eaed;display:flex;justify-content:space-between;align-items:center}.student-count{font-size:13px;color:#5f6368;font-weight:500}.legend{display:flex;gap:20px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#5f6368}.legend-icon{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.legend-icon.completed{background-color:#34a853;color:#fff;border:2px solid #34a853}.legend-icon.pending{background-color:#fff;color:#9aa0a6;border:2px solid #dadce0}.no-students{text-align:center;padding:40px 20px;color:#5f6368}.no-students p{font-size:16px;margin:0}.loading-state{text-align:center;padding:40px 20px;color:#5f6368;font-size:16px}@media(max-width:1024px){.search-section{grid-template-columns:1fr}.student-marks{flex-direction:column;gap:15px}}@media(max-width:768px){.your-submissions{padding:15px}.student-basic-info{grid-template-columns:1fr 20px;gap:10px}.student-basic-info .student-subject{display:none}.mark-buttons{justify-content:center}}.subject-wise-analysis-compact{padding:20px 30px;max-height:calc(100vh - 100px);overflow-y:auto}.analysis-header-compact{margin-bottom:16px}.analysis-header-compact h2{font-size:22px;font-weight:600;color:#202124;margin:0 0 4px}.analysis-header-compact p{font-size:13px;color:#5f6368;margin:0}.subjects-scroll-container{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.subject-card-compact{background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;transition:all .3s ease;box-shadow:0 2px 8px #0000000f;height:fit-content;cursor:pointer}.subject-card-compact:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-2px);border-color:#4285f4}.card-header{display:flex;align-items:flex-start;gap:10px}.card-icon{width:36px;height:36px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 3px 8px #667eea4d;flex-shrink:0}.card-title-section{flex:1;min-width:0}.card-title-section h4{font-size:16px;font-weight:600;color:#202124;margin:0 0 4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.card-code,.card-class{display:block;font-size:12px;color:#5f6368;font-weight:500}.subject-type-badge{padding:4px 8px;border-radius:10px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;height:fit-content}.subject-type-badge.theory{background:#e8f5e9;color:#2e7d32}.subject-type-badge.practical{background:#e3f2fd;color:#1565c0}.subject-type-badge.MDM,.subject-type-badge.OE,.subject-type-badge.PE{background:#fff3e0;color:#e65100}.card-body{flex:1}.progress-section{display:flex;gap:14px;align-items:flex-start}.completion-circle{position:relative;width:85px;height:85px;flex-shrink:0}.percentage-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-weight:700;color:#1a73e8}.stats-column{display:flex;flex-direction:column;gap:8px;flex:1}.stat-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8f9fa;border-radius:8px;border:1px solid #e8eaed}.stat-item svg{color:#5f6368;flex-shrink:0}.stat-item.defaulter{background:#fff8f0;border-color:#ffe0b2}.stat-item.defaulter svg{color:#f57c00}.stat-content{display:flex;flex-direction:column;gap:1px}.stat-value{font-size:16px;font-weight:700;color:#202124;line-height:1}.stat-item.defaulter .stat-value{color:#f57c00}.stat-label{font-size:10px;color:#5f6368;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.loading-state-compact{display:flex;align-items:center;justify-content:center;padding:40px 20px}.spinner{width:32px;height:32px;border:3px solid #f1f3f4;border-top-color:#1a73e8;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#5f6368}.empty-state-compact svg{margin-bottom:12px;opacity:.5}.empty-state-compact p{font-size:14px;margin:0}.snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#323232;color:#fff;padding:12px 20px;border-radius:6px;z-index:1000;animation:slideUp .3s ease;box-shadow:0 4px 12px #0000004d;font-size:14px}@media(max-width:1400px){.subjects-scroll-container{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.subjects-scroll-container{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.subject-wise-analysis-compact{padding:15px 20px}.subjects-scroll-container{grid-template-columns:1fr}.card-title-section h4{font-size:13px}.stat-value{font-size:14px}.progress-section{flex-direction:column;align-items:center}.stats-column{width:100%}}.defaulter-plug{padding:20px}.defaulter-plug h2{font-size:24px;font-weight:600;color:#3c4043;margin-bottom:30px}.defaulter-work-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.work-header{padding:20px;border-bottom:1px solid #e8eaed}.work-header h3{font-size:18px;font-weight:600;color:#3c4043;margin-bottom:10px}.work-status{display:flex;align-items:center;gap:8px;color:#ea4335;font-size:12px}.work-form{padding:20px}.form-header{display:flex;align-items:center;justify-content:space-between;background-color:#f8f9fa;padding:12px 16px;border-radius:6px;margin-bottom:20px}.form-header span{font-weight:500;color:#3c4043}.form-actions{display:flex;gap:10px}.edit-btn{background-color:#4285f4;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer}.delete-btn{background-color:#ea4335;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer}.work-content{display:flex;flex-direction:column;gap:15px}.work-textarea{width:100%;min-height:200px;padding:15px;border:1px solid #dadce0;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.work-textarea:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.add-work-btn{align-self:flex-start;background-color:#4285f4;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer}@media(max-width:768px){.defaulter-plug{padding:15px}.form-header{flex-direction:column;gap:10px;align-items:flex-start}}.add-work-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;overflow:hidden}.section-header{display:flex;align-items:center;gap:10px;padding:15px 20px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed;font-weight:600;color:#3c4043}.add-work-form{padding:20px}.form-row{margin-bottom:15px}.subject-select{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;background-color:#fff}.subject-select:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.add-work-btn{display:flex;align-items:center;gap:8px;background-color:#4285f4;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s ease}.add-work-btn:hover{background-color:#3367d6}.existing-works{margin-top:30px}.existing-works h3{margin-bottom:20px;color:#3c4043;font-size:18px}.defaulter-work-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;overflow:hidden}.work-header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed}.work-header h4{margin:0;color:#3c4043;font-size:16px}.status-toggle{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.status-toggle.enabled{background-color:#34a853;color:#fff}.status-toggle.disabled{background-color:#ea4335;color:#fff}.status-toggle:hover{opacity:.8}.work-content-display{padding:15px 20px;background-color:#f8f9fa;margin:0 20px 20px;border-radius:6px}.work-content-display p{margin:0;color:#5f6368;line-height:1.5}.no-works{text-align:center;padding:40px 20px;color:#5f6368;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.no-works p{margin:0;font-size:16px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e8eaed}.modal-header h3{margin:0;color:#3c4043}.close-btn{background:none;border:none;cursor:pointer;color:#5f6368;padding:4px}.close-btn:hover{color:#3c4043}.modal-body{padding:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#3c4043;font-size:14px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #e8eaed}.cancel-btn{background-color:#f8f9fa;color:#5f6368;border:1px solid #dadce0;padding:10px 20px;border-radius:4px;cursor:pointer}.cancel-btn:hover{background-color:#e8eaed}.save-btn{background-color:#4285f4;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer}.save-btn:hover{background-color:#3367d6}.form-actions{display:flex;gap:8px}.edit-btn,.delete-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.edit-btn{background-color:#4285f4;color:#fff}.edit-btn:hover{background-color:#3367d6}.delete-btn{background-color:#ea4335;color:#fff}.delete-btn:hover{background-color:#d33b2c}@media(max-width:768px){.defaulter-plug{padding:15px}.work-header{flex-direction:column;gap:10px;align-items:flex-start}.modal-content{width:95%;margin:20px}.modal-actions{flex-direction:column}}.export-data-container{padding:30px;max-width:800px;margin:0 auto}.export-header{text-align:center;margin-bottom:40px}.export-icon{color:#4285f4;margin-bottom:16px}.export-header h2{font-size:28px;font-weight:600;color:#202124;margin:0 0 8px}.export-header p{font-size:14px;color:#5f6368;margin:0}.export-content{display:flex;flex-direction:column;gap:24px}.export-info-card{background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:24px}.export-info-card h3{font-size:16px;font-weight:600;color:#202124;margin:0 0 16px}.export-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.export-features li{font-size:14px;color:#3c4043;display:flex;align-items:center;gap:8px}.export-legend{background:#f8f9fa;border-radius:8px;padding:20px}.export-legend h4{font-size:14px;font-weight:600;color:#202124;margin:0 0 12px}.legend-items{display:flex;gap:24px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#5f6368}.legend-symbol{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.legend-symbol.completed{background-color:#e6f4ea;color:#34a853}.legend-symbol.pending{background-color:#fce8e6;color:#ea4335}.legend-symbol.na{background-color:#f1f3f4;color:#9aa0a6}.export-button{background-color:#4285f4;color:#fff;border:none;border-radius:8px;padding:14px 32px;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;align-self:center;min-width:200px}.export-button:hover:not(:disabled){background-color:#3367d6;box-shadow:0 4px 12px #4285f44d;transform:translateY(-2px)}.export-button:disabled{background-color:#dadce0;color:#9aa0a6;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.export-data-container{padding:20px}.export-header h2{font-size:24px}.legend-items{flex-direction:column;gap:12px}.export-button{width:100%}}.hod-subjects{padding:20px 40px;width:100%;max-width:100%;box-sizing:border-box}.hod-subjects-header{margin-bottom:30px}.hod-subjects-header h2{font-size:28px;font-weight:600;color:#3c4043;margin-bottom:8px}.hod-subjects-header p{font-size:16px;color:#5f6368}.subjects-grid{display:flex!important;flex-direction:row!important;gap:30px;width:100%!important;max-width:100%!important;justify-content:space-between}.subject-form-card{background:#fff;border-radius:12px;padding:30px 40px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;flex:1 1 0;min-width:0;box-sizing:border-box}@media(max-width:1200px){.subjects-grid{flex-direction:column!important}.subject-form-card{width:100%}}.subject-form-card:hover{box-shadow:0 4px 15px #00000026}.form-header{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e8eaed;text-align:left}.form-header span{font-size:18px;font-weight:600;color:#3c4043;text-align:left}.form-header svg{color:#4285f4}.form-fields{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#3c4043}.form-input,.form-select{width:100%;padding:12px;border:1px solid #e8eaed;border-radius:8px;font-size:14px;color:#3c4043;background:#fff;transition:all .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.form-input:disabled,.form-select:disabled{background:#f8f9fa;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.faculty-checkboxes{display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto;padding:10px;background:#f8f9fa;border-radius:8px;border:1px solid #e8eaed}.faculty-checkbox{display:flex;align-items:center;gap:10px;padding:8px;cursor:pointer;border-radius:6px;transition:all .2s ease}.faculty-checkbox:hover{background:#e8eaed}.faculty-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4285f4}.faculty-checkbox span{font-size:14px;color:#3c4043}.no-faculties{text-align:center;color:#5f6368;font-size:14px;padding:20px}.subject-dropdown,.faculty-dropdown,.year-dropdown{width:100%;padding:12px;border:1px solid #e8eaed;border-radius:8px;font-size:14px;color:#3c4043;background:#fff;cursor:pointer;transition:all .2s ease}.subject-dropdown:hover,.faculty-dropdown:hover,.year-dropdown:hover{border-color:#4285f4}.subject-dropdown:focus,.faculty-dropdown:focus,.year-dropdown:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.add-subject-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#4285f4;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%}.add-subject-btn:hover:not(:disabled){background:#3367d6;transform:translateY(-1px)}.add-subject-btn:active:not(:disabled){transform:translateY(0)}.add-subject-btn:disabled{background:#e8eaed;color:#5f6368;cursor:not-allowed}.subjects-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.subject-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px;transition:all .2s ease}.subject-item:hover{background:#e8eaed}.subject-details{display:flex;flex-direction:column;gap:4px;flex:1}.subject-code{font-size:12px;font-weight:600;color:#4285f4}.subject-name{font-size:14px;font-weight:500;color:#3c4043}.faculty-name{font-size:12px;color:#5f6368}.year-badge{font-size:11px;font-weight:600;color:#4285f4;background:#e8f0fe;padding:3px 8px;border-radius:12px;width:fit-content;margin-top:4px}.delete-btn{padding:6px;background:#fce8e6;color:#ea4335;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.delete-btn:hover{background:#ea4335;color:#fff}.snackbar{position:fixed;bottom:30px;right:30px;padding:15px 25px;background:#34a853;color:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;font-size:14px;font-weight:500;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.subjects-table-section{margin-top:40px;background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px #0000001a}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e8eaed}.table-header h3{font-size:20px;font-weight:600;color:#3c4043;margin:0}.subject-count{font-size:14px;font-weight:500;color:#5f6368;background:#f8f9fa;padding:6px 12px;border-radius:20px}.table-container{overflow-x:auto;max-height:600px;overflow-y:auto}.subjects-table{width:100%;border-collapse:collapse}.subjects-table thead{position:sticky;top:0;background:#fff;z-index:10}.subjects-table th{background:#f8f9fa;padding:12px 15px;text-align:left;font-weight:600;color:#3c4043;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e8eaed}.subjects-table td{padding:15px;border-bottom:1px solid #e8eaed;color:#3c4043;font-size:14px}.subjects-table tbody tr:hover{background:#f8f9fa}.subject-code-badge{display:inline-block;background:#e8f0fe;color:#4285f4;padding:4px 10px;border-radius:6px;font-weight:600;font-size:12px}.subject-name-cell{font-weight:500;color:#3c4043}.type-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.type-badge.type-pe{background:#e8f5e9;color:#34a853}.type-badge.type-mdm{background:#fce8e6;color:#ea4335}.type-badge.type-oe{background:#fff3e0;color:#fbbc04}.faculties-cell{max-width:300px}.faculty-list{display:flex;flex-wrap:wrap;gap:6px}.faculty-tag{display:inline-block;background:#f1f3f4;color:#5f6368;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.no-faculty{color:#9aa0a6;font-style:italic;font-size:13px}.delete-subject-btn{padding:8px;background:#fce8e6;color:#ea4335;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.delete-subject-btn:hover:not(:disabled){background:#ea4335;color:#fff}.delete-subject-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.hod-subjects{padding:15px}.subjects-grid{grid-template-columns:1fr}.subject-form-card{padding:20px}.hod-subjects-header h2{font-size:24px}.snackbar{bottom:20px;right:20px;left:20px}.subjects-table-section{padding:15px;margin-top:30px}.table-container{font-size:13px}.subjects-table th,.subjects-table td{padding:10px 8px}.faculty-list{flex-direction:column}}.hod-dashboard{display:flex;min-height:100vh;width:100vw;background-color:#f5f7fa}.hod-dashboard-layout{display:flex;flex:1;width:100%}.hod-header{background-color:#fff;border-bottom:1px solid #e8eaed;padding:15px 25px;display:flex;align-items:center;justify-content:space-between;min-height:80px}.hod-header-left{flex:0 0 auto}.hod-logo{font-size:24px;font-weight:700}.hod-mil-text{color:#4285f4}.hod-csn-text{color:#34a853}.hod-header-center{flex:1;text-align:center}.hod-welcome-title{font-size:24px;font-weight:600;color:#3c4043;margin-bottom:4px}.hod-department{font-size:14px;color:#5f6368}.hod-header-right{flex:0 0 auto}.hod-user-avatar{display:flex;align-items:center;gap:5px;padding:8px 12px;background-color:#f8f9fa;border-radius:20px;cursor:pointer;color:#5f6368}.hod-user-avatar:hover{background-color:#e8eaed}.hod-sidebar{width:280px;background-color:#fff;border-right:1px solid #e8eaed;display:flex;flex-direction:column;min-height:100vh}.hod-sidebar-header{padding:20px;border-bottom:1px solid #e8eaed}.hod-logo-section{display:flex;align-items:center;gap:12px}.hod-logo-icon{color:#4285f4}.hod-logo-text{font-size:16px;font-weight:600;color:#3c4043}.hod-logo-subtext{font-size:12px;color:#5f6368}.hod-sidebar-nav{flex:1;padding:20px 0}.hod-nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 20px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#5f6368;transition:all .2s ease}.hod-main-content{flex:1;display:flex;flex-direction:column;min-height:100vh;overflow-y:auto;background-color:#f5f7fa}.hod-content-header{display:flex;justify-content:flex-end;margin-bottom:20px;padding:0 20px}.hod-main-content>.hod-analytics-section,.hod-main-content>.hod-classes-section,.hod-main-content>.hod-faculty-section,.hod-main-content>div:not(.hod-header):not(.hod-content-header){padding:0 20px}.hod-create-class-btn{display:flex;align-items:center;gap:8px;background-color:#4285f4;color:#fff;border:none;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.hod-create-class-btn:hover{background-color:#3367d6}.hod-analytics-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:30px}.hod-year-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;position:relative}.hod-year-card h3{font-size:18px;font-weight:600;color:#3c4043;margin-bottom:20px}.hod-year-content{display:flex;justify-content:center;align-items:center;margin-bottom:15px;gap:40px}.hod-year-left,.hod-year-right{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.hod-progress-circle{position:relative}.hod-progress-circle svg{transform:rotate(-90deg)}.hod-progress-bg{fill:none;stroke:#e8eaed;stroke-width:8}.hod-progress-fill{fill:none;stroke:#4285f4;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .3s ease}.hod-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;font-weight:600;color:#3c4043}.hod-submission-text{font-size:14px;color:#5f6368;text-align:center}.hod-stats{text-align:center}.hod-stat-number{font-size:16px;font-weight:600;color:#3c4043}.hod-stat-label{font-size:12px;color:#5f6368;margin-bottom:4px}.hod-stat-status{font-size:12px;color:#5f6368}.hod-division-tag{background-color:#4285f4;color:#fff;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;text-align:center}.hod-classes-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.hod-table-container{overflow-x:auto}.hod-classes-table{width:100%;border-collapse:collapse}.hod-classes-table th{background-color:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#3c4043;border-bottom:1px solid #e8eaed;font-size:14px}.hod-classes-table td{padding:15px;border-bottom:1px solid #e8eaed;vertical-align:top}.hod-class-info{display:flex;flex-direction:column;gap:4px}.hod-class-name{font-weight:600;color:#3c4043;font-size:16px}.hod-class-dept,.hod-class-subject{color:#5f6368;font-size:14px}.hod-teacher-name{font-weight:500;color:#3c4043}.hod-action-buttons{display:flex;gap:8px}.hod-edit-btn,.hod-delete-btn{padding:8px;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.hod-edit-btn{background-color:#4285f4;color:#fff}.hod-edit-btn:hover{background-color:#3367d6}.hod-delete-btn{background-color:#ea4335;color:#fff}.hod-delete-btn:hover{background-color:#d33b2c}.hod-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.hod-modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.hod-modal-header{padding:20px;border-bottom:1px solid #e8eaed}.hod-modal-header h3{margin:0;color:#3c4043;font-size:18px;font-weight:600}.hod-modal-body{padding:20px}.hod-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.hod-form-group{display:flex;flex-direction:column;margin-bottom:15px}.hod-form-group label{margin-bottom:8px;font-weight:500;color:#3c4043;font-size:14px}.hod-form-input,.hod-form-select{padding:12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;background-color:#fff}.hod-form-input:focus,.hod-form-select:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.hod-form-input::placeholder{color:#9aa0a6}.hod-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #e8eaed}.hod-cancel-btn{background-color:#f8f9fa;color:#5f6368;border:1px solid #dadce0;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px}.hod-cancel-btn:hover{background-color:#e8eaed}.hod-add-btn{background-color:#4285f4;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.hod-add-btn:hover{background-color:#3367d6}.hod-snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#323232;color:#fff;padding:12px 24px;border-radius:4px;z-index:1000;animation:slideUp .3s ease}.hod-snackbar.success{background-color:#4caf50}@media(max-width:1024px){.hod-sidebar{transform:translate(-100%);transition:transform .3s ease}.hod-dashboard-layout{flex-direction:column}.hod-sidebar{width:100%;min-height:auto}.hod-main-content{margin-left:0}.hod-analytics-section{grid-template-columns:1fr}}@media(max-width:768px){.hod-header{flex-direction:column;gap:10px;padding:10px 15px;min-height:auto}.hod-dashboard{position:relative;width:100vw;height:100vh}.hod-dashboard-layout{margin-top:70px}.hod-main-content{padding:15px}.hod-form-row{grid-template-columns:1fr}.hod-year-content{flex-direction:column;gap:20px}.hod-modal-content{width:95%;margin:20px}}.hod-faculty-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.hod-faculty-name{font-weight:600;color:#3c4043}.hod-faculty-dept{color:#5f6368;font-size:14px}.hod-faculty-email{color:#4285f4;font-size:14px}.hod-faculty-phone{color:#5f6368;font-size:14px}.hod-faculty-spec{color:#5f6368;font-size:14px;font-style:italic}.hod-nav-item:hover{background-color:#f8f9fa;color:#3c4043}@media(max-width:1200px){.hod-classes-table th:nth-child(4),.hod-classes-table td:nth-child(4),.hod-classes-table th:nth-child(5),.hod-classes-table td:nth-child(5){display:none}}@media(max-width:768px){.hod-classes-table th:nth-child(3),.hod-classes-table td:nth-child(3){display:none}.hod-faculty-name,.hod-faculty-dept{font-size:12px}}.hod-user-menu-container{position:relative}.hod-user-avatar{cursor:pointer;transition:all .3s ease}.hod-user-avatar:hover{opacity:.8}.hod-user-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 25px #00000026;padding:15px;min-width:200px;z-index:1000;border:1px solid #e0e0e0}.hod-user-info{padding-bottom:12px;border-bottom:1px solid #e0e0e0;margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.hod-user-name{margin:0;font-weight:600;color:#2c3e50;font-size:14px}.hod-user-email{color:#4285f4;font-size:12px;word-break:break-all}.hod-user-role{color:#666;font-size:11px;margin-top:2px}.hod-logout-btn{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease}.hod-logout-btn:hover{background:#c82333;transform:translateY(-1px)}* Additional Layout Improvements */ .hod-dashboard-layout{width:100%;max-width:100vw}.hod-main-content{max-width:calc(100vw - 280px)}.hod-content-header,.hod-classes-grid,.hod-faculty-grid{width:100%;max-width:100%}@media(max-width:768px){.hod-main-content{max-width:100vw;width:100%}.hod-dashboard-layout{width:100vw}}.hod-dashboard{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.hod-header{background:linear-gradient(180deg,#fff,#f8f9fa);color:#fff;box-shadow:0 4px 20px #667eea4d}.hod-welcome-title{font-weight:600;letter-spacing:-.5px;color:#000}.hod-department{opacity:.9;font-weight:400;color:#000}.hod-sidebar{background:linear-gradient(180deg,#fff,#f8f9fa);border-right:1px solid #e3e8ee}.hod-sidebar-header{padding:25px 20px;border-bottom:1px solid #e3e8ee}.hod-logo-text{font-weight:600;color:#2c3e50}.hod-logo-subtext{color:#6c757d;font-size:11px}.hod-nav-item{margin-bottom:8px;border-radius:10px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.hod-nav-item:hover{background:#f0f4ff;transform:translate(5px)}.hod-nav-item.active:hover{background:#4285f433;transform:translate(5px)}.hod-nav-item.active{background:#4285f426;color:#4285f4;border-right:2px solid #4285f4}.hod-main-content{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.hod-class-card,.hod-faculty-card,.hod-year-card{background:#fff;border:1px solid #e3e8ee;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.hod-class-card:before,.hod-faculty-card:before,.hod-year-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#4285f4}.hod-class-card:hover,.hod-faculty-card:hover,.hod-year-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a;border-color:#667eea}.hod-create-class-btn,.hod-add-btn{background:#4285f4;border:none;border-radius:10px;font-weight:600;letter-spacing:.5px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #667eea4d}.hod-create-class-btn:hover,.hod-add-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.hod-modal-content{border-radius:16px;border:none;box-shadow:0 25px 50px #00000040}.hod-modal-header{background:#4285f4;color:#fff;padding:20px 30px;border-radius:16px 16px 0 0}.hod-modal-header h3{margin:0;font-weight:600;letter-spacing:-.5px;color:#fff}.hod-form-input,.hod-form-select{border:2px solid #e3e8ee;border-radius:10px;transition:all .3s ease;font-weight:500}.hod-form-input:focus,.hod-form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.hod-form-group label{font-weight:600;color:#2c3e50;margin-bottom:8px;font-size:14px}.hod-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.hod-stat-card{background:#fff;padding:25px;border-radius:12px;border-left:4px solid #667eea;box-shadow:0 4px 15px #00000014;transition:all .3s ease}.hod-stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.5px;color:#2c3e50}.hod-class-card,.hod-faculty-card,.hod-year-card{animation:fadeInUp .6s ease-out}@media(max-width:768px){.hod-modal-header{padding:15px 20px}.hod-nav-item:hover,.hod-class-card:hover,.hod-faculty-card:hover,.hod-year-card:hover{transform:none}}.director-dashboard{display:flex;flex-direction:column;min-height:100vh;width:100vw;background-color:#f5f7fa;position:fixed;top:0;left:0;overflow:hidden}.director-dashboard-layout{display:flex;flex:1;margin-top:0}.director-sidebar{width:280px;background:#fff;padding:22px 20px 20px;box-shadow:2px 0 10px #0000001a;display:flex;flex-direction:column;min-height:100vh;position:fixed;top:0;left:0;z-index:50}.director-sidebar-header{margin-bottom:30px;text-align:left;padding-left:0}.director-logo-section{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:10px}.director-logo-icon{color:#667eea}.director-sidebar-title{color:#2c3e50;font-size:18px;font-weight:700;margin:0}.director-logo-text{color:#2c3e50;font-size:16px;font-weight:700;margin:0}.director-logo-subtext{color:#666;font-size:12px;margin:0}.director-main-content{flex:1;padding:100px 20px 20px;margin-left:280px;overflow-y:auto;background-color:#f5f7fa}.director-header{background-color:#fff;border-bottom:1px solid #e8eaed;padding:15px 25px;display:flex;align-items:center;justify-content:space-between;min-height:80px;position:fixed;top:0;left:280px;right:0;z-index:100}.director-header-left{flex:0 0 auto}.director-header-center{flex:1;text-align:center}.director-header-right{flex:0 0 auto}.director-logo{font-size:24px;font-weight:700}.director-mil-text{color:#4285f4}.director-csn-text{color:#34a853}.director-welcome-section{display:flex;flex-direction:column;align-items:center}.director-welcome-title{font-size:24px;font-weight:600;color:#3c4043;margin:0}.director-institute{color:#5f6368;font-size:14px;margin-top:4px}.director-user-avatar{display:flex;align-items:center;gap:8px;background:#f1f3f4;padding:8px 12px;border-radius:20px;cursor:pointer;transition:all .2s ease;color:#5f6368}.director-user-avatar:hover{background:#e8eaed}.director-sidebar-nav{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.director-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;border-radius:8px;border-right:2px solid transparent;cursor:pointer;font-weight:500;transition:all .3s ease;background:transparent;color:#666;text-align:left;width:100%}.director-nav-item.active{background:#4285f426;color:#4285f4;border-right:2px solid #4285f4}.director-nav-item:hover{background:#f8f9fa;transform:translate(5px)}.director-nav-item.active:hover{background:#4285f433;transform:translate(5px)}.director-content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.director-create-dept-btn{background:#667eea;color:#fff;border:none;display:flex;justify-content:left;padding:12px 24px;align-items:center;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.director-create-dept-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#667eea;color:#fff;padding:25px;border-radius:12px;text-align:center;box-shadow:0 4px 15px #667eea4d}.stat-card h3{margin:0 0 10px;font-size:32px;font-weight:700}.stat-card p{margin:0;opacity:.9;font-size:16px}.recent-activities{background:#f8f9fa;padding:20px;border-radius:10px;border-left:4px solid #667eea}.recent-activities h3{color:#2c3e50;margin-bottom:15px}.activity-item{padding:10px 0;border-bottom:1px solid #e0e0e0;color:#666}.activity-item:last-child{border-bottom:none}.hod-actions{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.btn-primary{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.btn-secondary:hover{background:#667eea;color:#fff}.hod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.hod-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:20px;transition:all .3s ease}.hod-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.hod-card h4{color:#2c3e50;margin:0 0 10px;font-size:18px}.hod-card p{color:#666;margin:5px 0}.hod-card .department{background:#667eea;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;display:inline-block;margin-top:10px}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.insight-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:20px;text-align:center}.progress-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(#667eea 0deg,#667eea var(--progress),#e0e0e0 var(--progress),#e0e0e0 360deg);display:flex;align-items:center;justify-content:center;margin:0 auto 15px;position:relative}.progress-circle:before{content:"";width:80px;height:80px;background:#fff;border-radius:50%;position:absolute}.progress-text{position:relative;z-index:1;font-weight:700;color:#2c3e50}.chart-container{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:20px;margin-top:20px}.chart-container h3{color:#2c3e50;margin-bottom:20px}.bar-chart{display:flex;align-items:end;gap:15px;height:200px;padding:20px 0}.bar{flex:1;background:#667eea;border-radius:4px 4px 0 0;position:relative;min-height:20px;transition:all .3s ease}.bar:hover{opacity:.8;transform:scaleY(1.05)}.bar-label{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);font-size:12px;color:#666;white-space:nowrap}.bar-value{position:absolute;top:-25px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;color:#2c3e50}.campus-info{background:#f8f9fa;padding:25px;border-radius:10px;margin-bottom:20px;border-left:4px solid #667eea}.campus-info h3{color:#2c3e50;margin-bottom:20px}.campus-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:#2c3e50;margin-bottom:8px;font-weight:500}.form-group input,.form-group textarea{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;min-height:80px}.logo-upload{display:flex;flex-direction:column;align-items:center;padding:20px;border:2px dashed #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.logo-upload:hover{border-color:#667eea;background:#f8f9fa}.logo-upload input{display:none}.logo-preview{width:100px;height:100px;object-fit:contain;border-radius:8px;margin-bottom:10px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:30px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.modal h3{color:#2c3e50;margin-bottom:20px;text-align:center}.modal-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px}.btn-cancel{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#5a6268}@media(max-width:768px){.director-dashboard{padding:10px}.director-header{flex-direction:column;gap:15px;text-align:center}.director-nav{flex-wrap:wrap;justify-content:center}.dashboard-stats{grid-template-columns:1fr}.hod-actions{justify-content:center}.campus-form{grid-template-columns:1fr}.modal{width:95%;padding:20px}}@media(max-width:480px){.director-header h1{font-size:24px}.nav-btn{padding:10px 16px;font-size:14px}.director-content{padding:20px}.stat-card h3{font-size:24px}.hod-grid,.insights-grid{grid-template-columns:1fr}}.director-departments-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;margin-bottom:20px}.director-table-container{overflow-x:auto;max-height:500px;overflow-y:auto}.director-departments-table{width:100%;border-collapse:collapse;margin-top:10px}.director-departments-table th{background:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0}.director-departments-table td{padding:15px;border-bottom:1px solid #e0e0e0;color:#666}.director-departments-table tr:hover{background:#f8f9fa}.director-dept-info{display:flex;flex-direction:column}.director-dept-name{font-weight:500;color:#2c3e50}.director-hod-name{color:#667eea;font-weight:500}.director-action-buttons{display:flex;gap:8px}.director-action-btn{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;transition:all .3s ease}.director-edit-btn{background:#28a745;color:#fff;padding:8px 12px;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.director-edit-btn:hover{background:#218838;transform:translateY(-2px);box-shadow:0 2px 8px #28a7454d}.director-edit-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.director-delete-btn{background:#dc3545;color:#fff;padding:8px 12px;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.director-delete-btn:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 2px 8px #dc35454d}.director-delete-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.director-insights-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a}.director-charts-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.director-chart-card{background:#f8f9fa;padding:20px;border-radius:10px;border-left:4px solid #667eea}.director-chart-card h3{color:#2c3e50;margin-bottom:15px;font-size:16px}.director-submission-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.director-submission-card{background:#f8f9fa;padding:20px;border-radius:10px;text-align:center;border:1px solid #e0e0e0}.director-submission-info{margin-top:10px}.director-submission-info h4{color:#2c3e50;margin:5px 0;font-size:14px}.director-submission-info p{color:#666;margin:0;font-size:12px}.director-progress-circle{position:relative;display:inline-block;margin-bottom:10px}.director-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:#2c3e50;font-size:14px}.director-campus-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a}.director-campus-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px}.director-form-group{display:flex;flex-direction:column}.director-form-group label{color:#2c3e50;margin-bottom:8px;font-weight:500}.director-form-group input,.director-form-group textarea{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s ease}.director-form-group input:focus,.director-form-group textarea:focus{outline:none;border-color:#667eea}.director-form-group textarea{resize:vertical;min-height:80px}.director-logo-upload{display:flex;flex-direction:column;align-items:center;padding:20px;border:2px dashed #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.director-logo-upload:hover{border-color:#667eea;background:#f8f9fa}.director-logo-upload input{display:none}.director-logo-preview{width:80px;height:80px;object-fit:contain;border-radius:8px;margin-bottom:10px}.director-save-btn{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease;margin-top:20px}.director-save-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.director-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.director-modal-content{background:#fff;border-radius:12px;padding:30px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.director-modal-header{margin-bottom:20px;text-align:center}.director-modal-header h3{color:#2c3e50;margin:0}.director-modal-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:25px}.director-cancel-btn{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .3s ease}.director-cancel-btn:hover{background:#5a6268}.director-snackbar{position:fixed;bottom:20px;right:20px;background:#28a745;color:#fff;padding:15px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.director-hods-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;max-height:calc(100vh - 200px);overflow-y:auto}.director-hods-section .director-table-container{max-height:calc(100vh - 280px);overflow-y:auto;overflow-x:auto}.director-hod-dept{color:#667eea;font-weight:500}.director-hod-email,.director-hod-phone{color:#666}.director-hod-exp{color:#28a745;font-weight:500}.director-hod-role{color:#4285f4;font-weight:500;text-transform:capitalize}@media(max-width:768px){.director-dashboard-layout{flex-direction:column;margin-top:80px}.director-sidebar{width:100%;padding:20px 15px 15px;min-height:auto;position:relative;top:auto;left:auto}.director-sidebar-nav{flex-direction:row;overflow-x:auto;gap:5px}.director-nav-item{min-width:120px;justify-content:center;padding:8px 12px}.director-main-content{padding:15px;margin-left:0}.director-header{padding:10px 15px;min-height:70px;left:0}.director-dashboard-layout{margin-top:70px}.director-charts-container,.director-campus-form{grid-template-columns:1fr}.director-modal-content{width:95%;padding:20px}.director-table-container{font-size:14px}.director-departments-table th,.director-departments-table td{padding:10px 8px}}@media(max-width:480px){.director-welcome-title{font-size:18px}.director-header{padding:8px 12px;min-height:60px;left:0}.director-dashboard-layout{margin-top:60px}.director-sidebar{padding:10px;position:relative}.director-main-content{padding:10px;margin-left:0}.director-content-header{padding:15px}.director-submission-cards{grid-template-columns:1fr}.director-departments-table{font-size:12px}.director-action-buttons{flex-direction:column;gap:4px}}.director-progress-circle{position:relative;display:inline-block;margin-bottom:15px}.director-progress-circle svg{transform:rotate(-90deg)}.director-progress-bg{fill:none;stroke:#e0e0e0;stroke-width:8}.director-progress-fill{fill:none;stroke:#4285f4;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.director-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:#2c3e50;font-size:16px}.director-bar-chart-wrapper{position:relative;width:100%;height:350px;padding:20px 40px 60px 60px}.director-bar-chart-grid{position:absolute;inset:20px 40px 60px 60px;pointer-events:none}.director-grid-line{position:absolute;left:0;right:0;height:1px;background-color:#e8eaed;display:flex;align-items:center}.director-grid-line:last-child{background-color:#dadce0}.director-grid-label{position:absolute;left:-50px;font-size:12px;color:#5f6368;font-weight:500;transform:translateY(-50%)}.director-bar-chart{position:relative;display:flex;align-items:flex-end;gap:20px;height:100%;padding-top:20px;justify-content:space-around}.director-bar-item{display:flex;flex-direction:column;align-items:center;flex:1;max-width:100px;height:100%}.director-bar-container{display:flex;align-items:flex-end;height:calc(100% - 40px);width:100%;justify-content:center}.director-bar{width:50px;background:#4285f4;border-radius:8px 8px 0 0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:flex-start;justify-content:center;padding-top:8px;box-shadow:0 2px 8px #4285f44d}.director-bar:hover{background:#3367d6;transform:translateY(-4px);box-shadow:0 4px 12px #4285f466}.director-bar-value{color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.director-bar-label{margin-top:12px;font-size:13px;color:#3c4043;text-align:center;word-wrap:break-word;line-height:1.3;font-weight:500;max-width:100%}.director-campus-section{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 10px #0000001a}.director-campus-section h2{color:#2c3e50;margin-bottom:30px;font-size:24px}.director-campus-container{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start}.director-campus-left{background:#f8f9fa;padding:25px;border-radius:12px;border:1px solid #e0e0e0}.director-campus-left h3{color:#2c3e50;margin-bottom:20px;font-size:18px}.director-logo-upload{text-align:center}.director-logo-upload h4{color:#2c3e50;margin-bottom:15px;font-size:16px}.director-logo-dropzone{position:relative;border:2px dashed #d0d7de;border-radius:12px;padding:30px;background:#fff;cursor:pointer;transition:all .3s ease;margin-bottom:15px}.director-logo-dropzone:hover{border-color:#4285f4;background:#f8f9ff}.director-uploaded-logo{max-width:120px;max-height:120px;object-fit:contain;border-radius:8px}.director-upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.director-upload-icon{color:#4285f4;margin-bottom:10px}.director-upload-placeholder p{margin:2px 0;font-size:14px}.director-file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.director-upload-info{font-size:12px;color:#666;margin:0;line-height:1.4}.director-campus-right{background:#fff}.director-campus-right h3{color:#2c3e50;margin-bottom:25px;font-size:20px}.director-campus-right h4{color:#4285f4;margin-bottom:20px;font-size:16px;font-weight:600}.director-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.director-form-input,.director-form-textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s ease;font-family:inherit}.director-form-input:focus,.director-form-textarea:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.director-form-textarea{resize:vertical;min-height:80px}.director-add-btn{background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s ease}.director-add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}@media(max-width:1024px){.director-campus-container{grid-template-columns:1fr;gap:30px}.director-form-row{grid-template-columns:1fr;gap:15px}}@media(max-width:768px){.director-campus-section,.director-campus-left,.director-logo-dropzone{padding:20px}.director-bar-chart{height:150px;gap:10px}.director-bar-container{height:120px}.director-bar{width:30px}}.director-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.director-stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;gap:20px;transition:all .3s ease}.director-stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.director-stat-icon{width:60px;height:60px;background:linear-gradient(135deg,#4285f4,#34a853);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.director-stat-content h3{font-size:28px;font-weight:700;color:#2c3e50;margin:0 0 5px}.director-stat-content p{color:#666;margin:0;font-size:14px}.director-content-header h2{color:#2c3e50;margin:0;font-size:24px}@media(max-width:768px){.director-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.director-stat-card{padding:20px;gap:15px}.director-stat-icon{width:50px;height:50px}.director-stat-content h3{font-size:24px}}@media(max-width:480px){.director-stats-grid{grid-template-columns:1fr}.director-stat-card{padding:15px}}.director-logo-preview{position:relative;display:inline-block}.director-remove-logo-btn{position:absolute;top:-10px;right:-10px;background:#dc3545;color:#fff;border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #dc35454d}.director-remove-logo-btn:hover{background:#c82333;transform:scale(1.1)}.director-change-logo-btn{background:#4285f4;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;margin-top:10px;transition:all .3s ease}.director-change-logo-btn:hover{background:#3367d6}.director-form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:500;font-size:14px}.director-form-group{margin-bottom:20px}.director-modal-body{padding:0}.director-modal-actions{margin-top:25px;padding-top:20px;border-top:1px solid #e0e0e0}.director-departments-section h3{color:#2c3e50;margin-bottom:20px;font-size:18px}.director-departments-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;text-transform:uppercase;font-size:12px;letter-spacing:.5px}.director-insights-section h2{color:#2c3e50;margin-bottom:30px;font-size:24px;text-align:center}.director-charts-container{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px;align-items:start}.director-chart-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 10px #0000001a}.director-chart-card h3{color:#2c3e50;margin-bottom:20px;font-size:16px;text-align:center}.director-submission-cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.director-submission-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;align-items:center;gap:15px}.director-submission-info h4{color:#2c3e50;margin:0 0 5px;font-size:18px;font-weight:700}.director-submission-info p{color:#666;margin:0;font-size:14px}@media(max-width:1024px){.director-charts-container{grid-template-columns:1fr;gap:20px}.director-submission-cards{flex-direction:row;flex-wrap:wrap}.director-submission-card{flex:1;min-width:200px}}@media(max-width:768px){.director-submission-cards{flex-direction:column}.director-submission-card{flex:none}}* Director User Menu Styles */ .director-user-menu-container{position:relative}.director-user-avatar{cursor:pointer;transition:all .3s ease}.director-user-avatar:hover{opacity:.8}.director-user-dropdown{position:absolute;top:100%;right:0;background:#fff;border-radius:12px;box-shadow:0 8px 25px #00000026;padding:15px;min-width:200px;z-index:1000;border:1px solid #e0e0e0}.director-user-info{padding-bottom:12px;border-bottom:1px solid #e0e0e0;margin-bottom:12px;display:flex;flex-direction:column;gap:4px}.director-user-name{margin:0;font-weight:600;color:#2c3e50;font-size:14px}.director-user-email{color:#4285f4;font-size:12px;word-break:break-all}.director-user-role{color:#666;font-size:11px;margin-top:2px}.director-logout-btn{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#dc3545;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease}.director-logout-btn:hover{background:#c82333;transform:translateY(-1px)}.director-chart-card{min-height:300px;display:flex;flex-direction:column}.director-chart-card h3{flex-shrink:0}.director-bar-chart{flex:1;display:flex;align-items:end;justify-content:space-around;padding:20px 10px}.director-submission-card{min-height:120px;justify-content:center;text-align:center}.director-submission-card .director-progress-circle{flex-shrink:0}.director-submission-info{flex:1}@media(max-width:1200px){.director-charts-container{grid-template-columns:1fr;gap:20px}.director-submission-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.director-submission-cards{grid-template-columns:1fr}.director-chart-card{min-height:250px;padding:15px}.director-submission-card{min-height:100px;padding:15px}}.director-dashboard-layout{width:100%;max-width:100vw}.director-main-content{max-width:calc(100vw - 280px);width:100%}.director-content-header,.director-stats-grid,.director-departments-section,.director-insights-section,.director-campus-section{width:100%;max-width:100%}@media(max-width:768px){.director-main-content{max-width:100vw;width:100%}.director-dashboard-layout{width:100vw;flex-direction:column}.director-sidebar{width:100%;min-height:auto}}@media(max-width:1024px){.director-bar-chart-wrapper{height:300px;padding:20px 30px 50px 50px}.director-bar-chart-grid{left:50px;right:30px;bottom:50px}.director-bar{width:45px}.director-bar-label{font-size:12px}}@media(max-width:768px){.director-bar-chart-wrapper{height:280px;padding:20px 20px 50px 45px}.director-bar-chart-grid{left:45px;right:20px;bottom:50px}.director-grid-label{left:-45px;font-size:11px}.director-bar-chart{gap:15px}.director-bar{width:40px}.director-bar-value{font-size:12px}.director-bar-label{font-size:11px;margin-top:10px}}@media(max-width:480px){.director-bar-chart-wrapper{height:250px;padding:15px 15px 45px 40px}.director-bar-chart-grid{left:40px;right:15px;bottom:45px}.director-grid-label{left:-40px;font-size:10px}.director-bar-chart{gap:10px}.director-bar{width:35px}.director-bar-value{font-size:11px;padding-top:6px}.director-bar-label{font-size:10px;margin-top:8px}}.director-table-container::-webkit-scrollbar,.director-hods-section::-webkit-scrollbar,.director-hods-section .director-table-container::-webkit-scrollbar{width:8px;height:8px}.director-table-container::-webkit-scrollbar-track,.director-hods-section::-webkit-scrollbar-track,.director-hods-section .director-table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.director-table-container::-webkit-scrollbar-thumb,.director-hods-section::-webkit-scrollbar-thumb,.director-hods-section .director-table-container::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.director-table-container::-webkit-scrollbar-thumb:hover,.director-hods-section::-webkit-scrollbar-thumb:hover,.director-hods-section .director-table-container::-webkit-scrollbar-thumb:hover{background:#555}.director-departments-table thead,.director-hods-section .director-departments-table thead{position:sticky;top:0;z-index:10;background:#fff}.director-departments-table thead th{background:#f8f9fa;box-shadow:0 2px 4px #0000000d}.faculty-dashboard{padding:20px}.analysis-section{margin-bottom:30px}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.analysis-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:20px}.progress-circle{position:relative;flex-shrink:0}.progress-circle-bg{fill:none;stroke:#e8eaed;stroke-width:6}.progress-circle-fill{fill:none;stroke:#4285f4;stroke-width:6;stroke-linecap:round;transition:stroke-dasharray .3s ease}.analysis-info{flex:1}.analysis-title{font-size:16px;font-weight:600;color:#3c4043;margin-bottom:4px}.analysis-subtitle{font-size:14px;color:#5f6368}.filters-section{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:30px}.filter-group h3{font-size:16px;font-weight:600;color:#3c4043;margin-bottom:15px}.filter-buttons{display:flex;gap:10px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border:1px solid #dadce0;border-radius:20px;background:#fff;color:#5f6368;font-size:14px;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background-color:#f8f9fa}.filter-btn.active{background-color:#4285f4;color:#fff;border-color:#4285f4}.student-table-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.student-table{width:100%;border-collapse:collapse}.student-table th{background-color:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#3c4043;border-bottom:1px solid #e8eaed}.student-table td{padding:15px;border-bottom:1px solid #e8eaed;color:#5f6368}.student-table tbody tr:hover{background-color:#f8f9fa}@media(max-width:768px){.faculty-dashboard{padding:15px}.analysis-grid{grid-template-columns:1fr}.analysis-card{flex-direction:column;text-align:center}.filters-section{grid-template-columns:1fr;gap:20px}.student-table-section{overflow-x:auto}.student-table{min-width:600px}}.stat-card{display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.stat-card.completed{border-left:4px solid #2e7d32}.stat-card.pending{border-left:4px solid #f57c00}.stat-card.defaulter{border-left:4px solid #d32f2f}.stat-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card.completed .stat-icon{background:#e8f5e8;color:#2e7d32}.stat-card.pending .stat-icon{background:#fff3e0;color:#f57c00}.stat-card.defaulter .stat-icon{background:#ffebee;color:#d32f2f}.stat-content{flex:1}.stat-number{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:5px}.stat-label{color:#666;font-size:14px;font-weight:500}@media(max-width:768px){.stat-card{padding:15px;gap:12px}.stat-icon{width:40px;height:40px}.stat-number{font-size:24px}.stat-label{font-size:12px}}.student-sidebar{width:280px;background-color:#fff;border-right:1px solid #e8eaed;display:flex;flex-direction:column;min-height:100vh}.student-sidebar-header{padding:20px;border-bottom:1px solid #e8eaed}.student-logo-section{display:flex;align-items:center;gap:12px}.student-logo-icon{color:#4285f4}.student-logo-text{font-size:16px;font-weight:600;color:#3c4043}.student-logo-subtext{font-size:12px;color:#5f6368}.student-sidebar-nav{flex:1;padding:20px 0}.student-nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 20px;border:none;background:none;text-align:left;cursor:pointer;font-size:14px;color:#5f6368;transition:all .2s ease}.student-nav-item:hover{background-color:#f8f9fa;color:#3c4043}.student-nav-item.active{background-color:#e8f0fe;color:#4285f4;border-right:3px solid #4285f4}.student-nav-item.active svg{color:#4285f4}@media(max-width:768px){.student-sidebar{width:100%;min-height:auto;border-right:none;border-bottom:1px solid #e8eaed}.student-sidebar-nav{display:flex;overflow-x:auto;padding:10px}.student-nav-item{min-width:120px;flex-direction:column;gap:4px;padding:8px 12px;text-align:center;font-size:12px}}.student-header{background-color:#fff;border-bottom:1px solid #e8eaed;padding:15px 25px;display:flex;align-items:center;justify-content:space-between;min-height:80px}.student-header-left{flex:0 0 auto}.student-mil-csn-logo{font-size:24px;font-weight:700}.student-mil-text{color:#4285f4}.student-csn-text{color:#34a853}.student-header-center{flex:1;text-align:center}.student-welcome-title{font-size:24px;font-weight:600;color:#3c4043;margin-bottom:4px}.student-roll-info{font-size:14px;color:#5f6368}.student-header-right{flex:0 0 auto;display:flex;align-items:center;gap:20px}.student-qr-code{padding:8px;background-color:#f8f9fa;border-radius:6px;cursor:pointer;color:#5f6368}.student-qr-code:hover{background-color:#e8eaed}.student-user-avatar{display:flex;align-items:center;gap:5px;padding:8px 12px;background-color:#f8f9fa;border-radius:20px;cursor:pointer;color:#5f6368}.student-user-avatar:hover{background-color:#e8eaed}@media(max-width:768px){.student-header{flex-direction:column;align-items:flex-start;gap:10px;padding:10px 15px}.student-header-center{text-align:left}.student-header-right{align-self:flex-end}}.student-user-info{position:relative}.student-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e8eaed;border-radius:8px;box-shadow:0 2px 10px #0000001a;min-width:150px;z-index:1000;overflow:hidden}.student-dropdown-item{width:100%;padding:12px 16px;display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;font-size:14px;color:#3c4043;transition:background-color .2s}.student-dropdown-item:hover{background-color:#f8f9fa}.student-dropdown-item.logout-btn{color:#ea4335}.student-dropdown-item.logout-btn:hover{background-color:#fce8e6}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a;position:relative}.defaulter-status-badge{position:absolute;top:12px;left:12px;background:#fff3e0;color:#f57c00;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid #ffcc80;z-index:1}.status-indicator.online{color:#34a853}.status-indicator.offline{color:#ea4335}.completion-summary-left{display:flex;align-items:center;gap:20px;flex:1;justify-content:center;padding:0 20px}.status-info-right{flex:0 0 auto}.submission-progress-circle{position:relative;flex-shrink:0}.completion-text{text-align:left;flex-shrink:0;min-width:140px}.completion-label{font-size:16px;color:#5f6368;font-weight:500;white-space:nowrap}.submissions-table th[colspan="3"]{text-align:center}.submissions-table .sub-header th{background-color:#e8f0fe;padding:10px 15px;font-size:12px;color:#4285f4;text-align:center}.availability-dot{font-size:16px;display:inline-block;margin-right:8px}.availability-dot.available{color:#34a853;animation:blink-green 2s infinite}.availability-dot.unavailable{color:#ea4335}@keyframes blink-green{0%,50%{opacity:1;color:#34a853}51%,to{opacity:.3;color:#34a853}}.status-cell{text-align:center;vertical-align:middle}@media(max-width:768px){.submission-status{padding:15px}.status-header{flex-direction:column;gap:20px;text-align:center;padding-top:35px}.defaulter-status-badge{top:8px;left:8px;font-size:9px;padding:3px 6px}.completion-summary-left{flex-direction:column;gap:10px;width:100%}.status-info-right{width:100%;text-align:center}.submissions-table-container{overflow-x:auto}.submissions-table{min-width:600px}.status-badge{font-size:10px;padding:4px 8px;gap:4px}.status-icon{width:12px;height:12px}}.submission-status{padding:20px}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.student-info-left{flex:1}.student-details{display:flex;flex-direction:column}.student-name-display{font-size:28px;font-weight:600;color:#3c4043;margin:0 0 8px}.student-roll-display{font-size:16px;color:#5f6368;font-weight:500}.status-info-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end}.online-status{margin-bottom:10px}.status-indicator{font-size:14px;font-weight:500}.status-indicator.online{color:#34a85300}.status-indicator.offline{color:#ea443500}.completion-summary{display:flex;align-items:center;gap:20px}.submission-progress-circle{position:relative}.submission-progress-circle svg{transform:rotate(-90deg)}.progress-bg{fill:none;stroke:#e8eaed;stroke-width:8}.progress-fill{fill:none;stroke:#4285f4;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .3s ease}.progress-percentage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;font-weight:600;color:#3c4043}.completion-text{text-align:left}.completion-label{font-size:16px;color:#5f6368}.submissions-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.submissions-table{width:100%;border-collapse:collapse}.submissions-table th{background-color:#f8f9fa;padding:15px;text-align:left;font-weight:600;color:#3c4043;border-bottom:1px solid #e8eaed;font-size:14px}.submissions-table .sub-header th{background-color:#e8f0fe;padding:10px 15px;font-size:12px;color:#4285f4}.submissions-table td{padding:15px;border-bottom:1px solid #e8eaed;color:#5f6368;font-size:14px}.subject-code-cell{font-weight:600;color:#3c4043}.subject-name-cell{display:flex;align-items:center;gap:8px}.status-dot{font-size:16px}.status-cell{text-align:center}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.completed{background-color:#e8f5e8;color:#34a853}.status-badge.pending{background-color:#fce8e6;color:#ea4335}.submissions-table tbody tr:hover{background-color:#f8f9fa}@media(max-width:768px){.submission-status{padding:15px}.status-header{flex-direction:column;gap:20px;text-align:center;padding:20px}.student-info-left{width:100%}.student-details{align-items:center}.student-name-display{font-size:24px}.status-info-right{width:100%;align-items:center}.completion-summary{flex-direction:column;gap:10px}.submissions-table-container{overflow-x:auto}.submissions-table{min-width:600px}}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge.completed{background:#e8f5e8;color:#2e7d32;border:1px solid #c8e6c9}.status-badge.pending{background:#fff3e0;color:#f57c00;border:1px solid #ffcc80}.status-icon{flex-shrink:0}.status-icon.completed{color:#2e7d32}.status-icon.pending{color:#f57c00}.status-cell{text-align:center;padding:12px 8px}@media(max-width:768px){.status-badge{font-size:10px;padding:4px 8px;gap:4px}.status-icon{width:12px;height:12px}}.subjects-container{padding:20px;max-width:1200px;margin:0 auto;height:100%;overflow-y:auto}.subjects-header{margin-bottom:30px;text-align:center}.subjects-header h2{font-size:28px;font-weight:600;color:#2c3e50;margin-bottom:8px}.subjects-header p{color:#5f6368;font-size:16px}.subjects-content,.subject-section{margin-bottom:40px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e8eaed}.section-header h3{font-size:20px;font-weight:600;color:#3c4043;margin:0}.subject-count{background:#e8f0fe;color:#4285f4;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;width:100%;align-items:stretch}.subject-card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 2px 6px #0000000f;transition:all .3s ease;border:1px solid #e8eaed;position:relative;min-height:180px;display:flex;flex-direction:column}.subject-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a;border-color:#dadce0}.subject-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;width:100%}.subject-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.subject-card.theory .subject-icon{background:#4285f4}.subject-card.practical .subject-icon{background:#34a853}.subject-card.mdm .subject-icon{background:#ea4335}.subject-card.oe .subject-icon{background:#fbbc04}.subject-card.pe .subject-icon{background:#9c27b0}.subject-type-badge{background:#f1f3f4;color:#5f6368;padding:5px 12px;border-radius:7px;font-size:9px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;height:fit-content}.subject-info{flex:1;display:flex;flex-direction:column;gap:6px;width:100%}.subject-code{font-size:15px;font-weight:700;color:#4285f4;letter-spacing:.5px}.subject-name{font-size:18px;font-weight:600;color:#202124;line-height:1.3}.subject-faculty{font-size:13px;color:#5f6368;line-height:1.4}.faculty-label{font-weight:600;color:#3c4043}.subject-credits{font-size:14px;color:#5f6368;margin-bottom:8px}.credits-label{font-weight:500;color:#3c4043}.subject-description{font-size:12px;color:#5f6368;font-style:italic;line-height:1.5;margin-top:2px;text-align:left}.subject-footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:14px;width:100%}.view-only-badge{display:flex;align-items:center;gap:5px;background:#e8f5e8;color:#2e7d32;padding:7px 14px;border-radius:18px;font-size:12px;font-weight:600}.subjects-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:40px;padding-top:30px;border-top:2px solid #e8eaed}.summary-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:left;transition:all .3s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.summary-card h4{font-size:14px;font-weight:500;color:#5f6368;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.total-credits,.total-subjects,.current-semester{font-size:32px;font-weight:700;color:#4285f4;margin:0}@media(max-width:768px){.subjects-container{padding:15px}.subjects-header h2{font-size:24px}.subjects-header p{font-size:14px}.subjects-grid{grid-template-columns:1fr;gap:15px}.subject-card{padding:15px}.section-header{flex-direction:column;align-items:flex-start;gap:8px}.section-header h3{font-size:18px}.subjects-summary{grid-template-columns:1fr;gap:15px}.summary-card{padding:15px}.total-credits,.total-subjects,.current-semester{font-size:28px}}@media(max-width:480px){.subjects-container{padding:10px}.subject-card{padding:16px}.subject-name{font-size:16px}.subject-icon{width:40px;height:40px}.subject-icon svg{width:18px;height:18px}.total-credits,.total-subjects,.current-semester{font-size:24px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.subject-card{animation:fadeInUp .6s ease-out}.subject-card:nth-child(1){animation-delay:.1s}.subject-card:nth-child(2){animation-delay:.2s}.subject-card:nth-child(3){animation-delay:.3s}.subject-card:nth-child(4){animation-delay:.4s}.subject-card:nth-child(5){animation-delay:.5s}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#5f6368}.loading-state p{font-size:18px;margin:0}.error-state svg{color:#ea4335;margin-bottom:16px}.error-state p{font-size:16px;margin:0 0 20px;color:#ea4335}.error-state button{background:#4285f4;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s ease}.error-state button:hover{background:#3367d6}.no-subjects{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#5f6368;font-style:italic}.no-subjects p{margin:0;font-size:16px}.defaulter-work{padding:20px}.defaulter-work-header{margin-bottom:30px;text-align:center}.defaulter-work-header h2{font-size:24px;font-weight:600;color:#3c4043;margin-bottom:8px}.defaulter-work-header p{color:#5f6368;font-size:16px}.defaulter-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.defaulter-work-item{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .2s ease;border-left:4px solid #e8eaed}.defaulter-work-item:hover{box-shadow:0 2px 8px #00000026;transform:translateY(-2px)}.defaulter-work-item.pending{border-left-color:#f57c00}.defaulter-work-item.completed{border-left-color:#34a853}.work-item-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 0}.subject-info{flex:1}.subject-code{font-size:14px;font-weight:600;color:#4285f4;margin-bottom:4px}.subject-name{font-size:16px;font-weight:500;color:#3c4043}.status-indicator{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.status-indicator.pending{background-color:#f57c00}.status-indicator.completed{background-color:#34a853}.work-item-content{padding:20px}.work-description{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}.work-description svg{color:#5f6368;margin-top:2px;flex-shrink:0}.work-description p{color:#5f6368;line-height:1.5;margin:0}.reference-link{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:12px;background-color:#e8f0fe;border-radius:6px;border-left:3px solid #4285f4}.reference-link svg{color:#4285f4;flex-shrink:0}.reference-link a{color:#4285f4;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s ease}.reference-link a:hover{color:#3367d6;text-decoration:underline}.work-item-footer{display:flex;justify-content:flex-start;align-items:center;margin-bottom:15px;font-size:12px}.due-date{display:flex;align-items:center;gap:4px;color:#5f6368}.submit-work-btn{width:100%;background-color:#4285f4;color:#fff;border:none;padding:10px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.submit-work-btn:hover{background-color:#3367d6}.completed-badge{width:100%;background-color:#e8f5e8;color:#34a853;padding:10px;border-radius:6px;text-align:center;font-size:14px;font-weight:500}.no-defaulter-work{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.no-work-icon{font-size:48px;margin-bottom:20px}.no-defaulter-work h3{font-size:20px;font-weight:600;color:#3c4043;margin-bottom:8px}.no-defaulter-work p{color:#5f6368;font-size:16px}@media(max-width:768px){.defaulter-work{padding:15px}.defaulter-work-grid{grid-template-columns:1fr}.work-item-footer{flex-direction:column;gap:8px;align-items:flex-start}}.student-profile{padding:20px;max-width:1000px;margin:0 auto;overflow-y:auto;max-height:calc(100vh - 120px)}.profile-header{background:#fff;border-radius:12px;padding:30px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.profile-left{display:flex;align-items:center;gap:20px;flex:1}.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,#4285f4,#34a853);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.profile-info{display:flex;flex-direction:column;gap:4px}.profile-info h1{font-size:28px;font-weight:600;color:#3c4043;margin:0}.profile-info p{font-size:16px;color:#5f6368;margin:0}.profile-right{display:flex;align-items:center;justify-content:center}.completion-circle{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{transition:stroke-dashoffset .5s ease}.completion-text{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center}.completion-percentage{font-size:24px;font-weight:700;color:#4285f4;line-height:1}.completion-label{font-size:12px;color:#5f6368;margin-top:125px;font-weight:500}.profile-sections{display:flex;flex-direction:column;gap:20px}.profile-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-header{background-color:#f8f9fa;padding:20px;border-bottom:1px solid #e8eaed;display:flex;align-items:center;gap:10px}.section-header svg{color:#4285f4}.section-header h2{font-size:18px;font-weight:600;color:#3c4043;margin:0}.section-content{padding:20px}.fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.field-item{display:flex;align-items:flex-start;gap:12px;padding:15px;background-color:#f8f9fa;border-radius:6px;border-left:3px solid #4285f4}.field-icon{color:#5f6368;margin-top:2px}.field-content{flex:1}.field-label{display:block;font-size:12px;font-weight:500;color:#5f6368;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.field-value{font-size:14px;font-weight:500;color:#3c4043;word-break:break-word}.profile-footer{margin-top:30px;text-align:center}.footer-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:15px}.footer-note p{color:#856404;font-size:14px;margin:0}@media(max-width:768px){.student-profile{padding:15px}.profile-header{flex-direction:column;text-align:center;gap:20px}.profile-left{flex-direction:column;text-align:center}.fields-grid{grid-template-columns:1fr}.field-item{flex-direction:column;gap:8px;text-align:center}}.elective-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.elective-field{display:flex;flex-direction:column;gap:10px}.elective-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#3c4043}.elective-label svg{color:#4285f4}.elective-dropdown{width:100%;padding:12px;border:2px solid #e8eaed;border-radius:8px;font-size:14px;color:#3c4043;background:#fff;cursor:pointer;transition:all .2s ease}.elective-dropdown:hover{border-color:#4285f4;background:#f8f9fa}.elective-dropdown:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 3px #4285f41a}.elective-dropdown option{padding:10px}@media(max-width:768px){.elective-fields-grid{grid-template-columns:1fr}}.elective-dropdown:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.elective-dropdown:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.faculty-dropdown{margin-top:10px}.save-elective-btn{display:flex;align-items:center;gap:8px;background-color:#4285f4;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:10px;width:100%;justify-content:center}.save-elective-btn:hover:not(:disabled){background-color:#3367d6;transform:translateY(-1px)}.save-elective-btn:disabled{background-color:#dadce0;color:#9aa0a6;cursor:not-allowed;transform:none}.loading-state,.error-state{display:flex;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#5f6368}.error-state{color:#ea4335;flex-direction:column;gap:10px}.error-state svg{color:#ea4335}.success-message{background:#e6f4ea;color:#1e8e3e;padding:12px 16px;border-radius:6px;margin-bottom:20px;border:1px solid #a8dab5}.success-message p{margin:0;font-size:14px;font-weight:500}.student-app{display:flex;min-height:100vh;width:100vw;background-color:#f5f7fa}.student-main-content{flex:1;display:flex;flex-direction:column;width:calc(100vw - 280px);min-width:0}.student-content{flex:1;padding:20px;overflow-y:auto}@media(max-width:768px){.student-app{flex-direction:column;width:100vw}.student-main-content{width:100vw}.student-content{padding:15px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f7fa}.app{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column;width:100%;min-width:0;overflow-x:hidden}.welcome-banner{background:#667eea;color:#fff;border-bottom:1px solid #e8eaed;width:100vw;margin-left:-280px;padding:20px 25px 20px 305px;box-sizing:border-box}.welcome-banner .welcome-title{font-size:24px;font-weight:600;margin-bottom:4px}.welcome-banner .class-info{font-size:14px;opacity:.9}.content{flex:1;padding:20px;overflow-y:auto}@media(max-width:768px){.app{flex-direction:column}.content{padding:15px}}.btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-primary{background-color:#4285f4;color:#fff}.btn-primary:hover{background-color:#3367d6}.btn-secondary{background-color:#f8f9fa;color:#5f6368;border:1px solid #dadce0}.btn-secondary:hover{background-color:#e8eaed}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px;margin-bottom:20px}.card-header{display:flex;align-items:center;justify-content:between;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e8eaed}.form-group{margin-bottom:15px}.form-label{display:block;margin-bottom:5px;font-weight:500;color:#3c4043}.form-input{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.form-input:focus{outline:none;border-color:#4285f4;box-shadow:0 0 0 2px #4285f433}.form-select{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px;background-color:#fff}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.progress-circle{position:relative;width:80px;height:80px}.progress-circle svg{transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#e8eaed;stroke-width:8}.progress-circle-fill{fill:none;stroke:#4285f4;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .3s ease}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:600;color:#3c4043}.snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background-color:#323232;color:#fff;padding:12px 24px;border-radius:4px;z-index:1000;animation:slideUp .3s ease}.snackbar.success{background-color:#4caf50}.snackbar.error{background-color:#f44336}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.role-switcher{position:fixed;top:20px;right:20px;z-index:1000;display:flex;gap:10px;background:#fff;padding:8px;border-radius:8px;box-shadow:0 2px 8px #00000026}.role-btn{padding:8px 16px;border:1px solid #dadce0;border-radius:6px;background:#fff;color:#5f6368;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.role-btn:hover{background-color:#f8f9fa}.role-btn.active{background-color:#4285f4;color:#fff;border-color:#4285f4}@media(max-width:768px){.role-switcher{position:relative;top:0;right:0;margin:10px;justify-content:center}}
