@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color: #ffffff;--text-color: #222222}@media(prefers-color-scheme:dark){:root{--bg-color: #121212;--text-color: #e0e0e0}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:Inter;font-size:2vmin}@media(max-width:720px){body{font-size:4vmin}}a{text-decoration:none;color:var(--text-color);transition:color .25s ease-in-out}.NavBar{width:100%;height:8vmin;min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 6vmin;background:#0a0a12d9;-webkit-backdrop-filter:blur(1.5vmin);backdrop-filter:blur(1.5vmin);border-bottom:.1vmin solid rgba(255,255,255,.1);position:fixed;top:0;left:0;z-index:1000;box-sizing:border-box}.nav-logo{font-size:3.5vmin;font-weight:800;letter-spacing:.2vmin;cursor:pointer;background:linear-gradient(135deg,#00fff2,#0072ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase;-webkit-user-select:none;user-select:none}.profile-wrapper{display:flex;align-items:center;height:100%}.profile-wrapper img{width:5vmin;height:5vmin;min-width:28px;min-height:28px;border-radius:50%;border:.2vmin solid rgba(0,255,242,.3);transition:all .3s ease;background:#ffffff0d}.profile-wrapper img:hover{border-color:#00fff2;box-shadow:0 0 1.5vmin #00fff266;transform:scale(1.1)}#nav-menu{position:absolute;top:calc(100% + 1vmin);right:0;background:#0f0f19fa;-webkit-backdrop-filter:blur(3vmin);backdrop-filter:blur(3vmin);border:.1vmin solid rgba(255,255,255,.1);border-radius:1.5vmin;padding:2.5vmin;min-width:22vmin;display:flex;flex-direction:column;gap:1.5vmin;box-shadow:0 2vmin 5vmin #000000e6;animation:menuDrop .25s cubic-bezier(.1,.9,.2,1)}#nav-menu p{font-size:1.8vmin;color:#fff;font-weight:600;margin:0;padding-bottom:1vmin;border-bottom:.1vmin solid rgba(255,255,255,.1);white-space:nowrap}#logout,#install-btn{width:100%;padding:1.2vmin;background:#ff474714;border:.1vmin solid rgba(255,71,71,.2);color:#ff4747;border-radius:.8vmin;font-size:1.8vmin;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase}#logout:hover{background:#ff4747;color:#fff;box-shadow:0 0 2vmin #ff474766}#install-btn{color:var(--text-color)}#install-btn:hover{background-color:var(--text-color);color:var(--bg-color)}@keyframes menuDrop{0%{opacity:0;transform:translateY(-.5vmin)}to{opacity:1;transform:translateY(0)}}@media(max-aspect-ratio:1/1){.NavBar{height:12vmin;padding:0 4vmin}.nav-logo{font-size:5vmin}.profile-wrapper img{width:8vmin;height:8vmin}#nav-menu{min-width:40vmin;gap:2.5vmin;padding:4vmin}#nav-menu p,#logout,#install-btn{font-size:3.5vmin}}.LandingPage{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#0a0a12,#000);font-family:Inter,system-ui,-apple-system,sans-serif;color:#fff;overflow:hidden;position:relative}.LandingPage:before{content:"";position:absolute;width:60vmin;height:60vmin;background:radial-gradient(circle,rgba(0,255,242,.15) 0%,transparent 70%);filter:blur(8vmin);top:15vmin;left:10vmin;pointer-events:none}.LandingPage h1{font-size:12vmin;font-weight:900;letter-spacing:2vmin;margin-bottom:8vmin;z-index:2;background:linear-gradient(135deg,#fff 30%,#00fff2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 2vmin rgba(0,255,242,.2));text-transform:uppercase;animation:landingTitleFade 1.2s ease-out}.landing-actions{display:flex;gap:5vmin;z-index:2;animation:landingButtonsFade 1.5s ease-out;margin-bottom:5vmin}.landing-link{text-decoration:none;padding:2.5vmin 7vmin;font-size:3.2vmin;font-weight:600;color:#fff;border:.2vmin solid rgba(255,255,255,.1);border-radius:1.5vmin;background:#ffffff08;-webkit-backdrop-filter:blur(2vmin);backdrop-filter:blur(2vmin);transition:all .4s cubic-bezier(.23,1,.32,1);box-shadow:0 1.5vmin 4vmin #0006;letter-spacing:.3vmin;text-transform:uppercase}.landing-link:hover{background:#00fff214;border-color:#00fff2;transform:translateY(-1vmin) scale(1.02);box-shadow:0 2vmin 5vmin #00fff233;color:#00fff2}.landing-link:active{transform:translateY(-.2vmin) scale(.98)}@keyframes landingTitleFade{0%{opacity:0;transform:translateY(-4vmin);filter:blur(2vmin)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes landingButtonsFade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-aspect-ratio:1/1){.landing-actions{flex-direction:column;gap:4vmin}.LandingPage h1{font-size:14vmin;letter-spacing:1vmin}.landing-link{font-size:5.5vmin;padding:4vmin 12vmin;text-align:center}}.Form{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#0a0a12,#000);font-family:Inter,system-ui,-apple-system,sans-serif;color:#fff}.Form .logo{position:absolute;bottom:100%;left:5vmin;text-decoration:none;font-size:4vmin;font-weight:800;background:linear-gradient(135deg,#00fff2,#0072ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:opacity .3s ease}.Form .logo:hover{opacity:.7}.form{background:#ffffff05;-webkit-backdrop-filter:blur(3vmin);backdrop-filter:blur(3vmin);border:.1vmin solid rgba(255,255,255,.08);padding:8vmin;border-radius:4vmin;width:60vmin;display:flex;flex-direction:column;box-shadow:0 5vmin 15vmin #0009;animation:formEntrance .8s cubic-bezier(.16,1,.3,1)}.form h1{font-size:7vmin;margin-bottom:5vmin;text-align:center;font-weight:800;letter-spacing:-.2vmin;background:linear-gradient(to bottom,#fff,#8892b0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.input-holder{display:flex;flex-direction:column;gap:3vmin;margin-bottom:5vmin}.form input{background:#0003;border:.2vmin solid rgba(255,255,255,.1);padding:2.5vmin;border-radius:1.5vmin;color:#fff;font-size:2.4vmin;transition:all .3s ease}.form input::placeholder{color:#ffffff4d}.form input:focus{outline:none;border-color:#00fff2;background:#00fff208;box-shadow:0 0 2vmin #00fff226}.form select{background:#0003;border:.2vmin solid rgba(255,255,255,.1);padding:2.5vmin;border-radius:1.5vmin;color:#fff;font-size:2.4vmin;transition:all .3s ease;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300fff2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2.5vmin center;background-size:3vmin}.form select:focus{outline:none;border-color:#00fff2;background-color:#00fff208;box-shadow:0 0 2vmin #00fff226}.form select option{background:#0a0a12;color:#fff}@media(max-aspect-ratio:1/1){.form select{font-size:5vmin;padding:4vmin;background-size:6vmin}}.form-controls{display:flex;gap:2.5vmin;margin-bottom:4vmin}.form-controls button{flex:1;padding:2.2vmin;border-radius:1.5vmin;font-size:2.2vmin;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;text-transform:uppercase;letter-spacing:.1vmin}.form-controls button[type=submit]{background:linear-gradient(135deg,#00fff2,#0072ff);color:#050505;box-shadow:0 1vmin 3vmin #00fff233}.form-controls button[type=reset]{background:#ffffff0d;color:#fff;border:.1vmin solid rgba(255,255,255,.1)}.form-controls button:hover{transform:translateY(-.5vmin);filter:brightness(1.2)}.form-controls button:active{transform:translateY(0)}.form p{font-size:2vmin;color:#8892b0;text-align:center;line-height:1.6}.form p a{color:#00fff2;text-decoration:none;font-weight:700;padding:0 .5vmin;transition:text-shadow .3s ease}.form p a:hover{text-shadow:0 0 1vmin #00fff2}@keyframes formEntrance{0%{opacity:0;transform:translateY(4vmin)}to{opacity:1;transform:translateY(0)}}@media(max-aspect-ratio:1/1){.Form .logo{font-size:6vmin}.form{width:80vmin;padding:8vmin}.form h1{font-size:10vmin}.form input{font-size:4vmin;padding:3vmin}.form-controls{flex-direction:column-reverse}.form button{font-size:4vmin;padding:3vmin}.form p{font-size:3.5vmin}}.qrscanner-container{min-height:100vh;background:#000;padding-top:16vmin;padding-left:5vmin;padding-right:5vmin;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;color:#fff;font-family:Inter,sans-serif}.qrscanner-title{font-size:6vmin;font-weight:800;background:linear-gradient(135deg,#00fff2,#0072ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:2vmin;text-transform:uppercase;letter-spacing:.2vmin}.scanner-wrapper{width:100%;max-width:65vmin;background:#ffffff08;padding:3vmin;border-radius:4vmin;border:.1vmin solid rgba(255,255,255,.1);box-shadow:0 4vmin 10vmin #00000080;margin-bottom:4vmin;overflow:hidden}#qr-reader{border:none!important;background:transparent!important}#qr-reader__dashboard_section_csr button,#qr-reader__dashboard_section_fsr button{background:#00fff2!important;color:#000!important;border:none!important;padding:1.5vmin 3vmin!important;border-radius:1vmin!important;font-weight:700!important;text-transform:uppercase!important;cursor:pointer!important;margin:1vmin!important;font-size:2vmin!important}#qr-reader__dashboard_section_csr select{padding:1.5vmin!important;border-radius:1vmin!important;background:#1a1a1a!important;color:#fff!important;border:.1vmin solid rgba(255,255,255,.2)!important;font-size:2vmin!important}#qr-reader img{display:none}#qr-reader__scan_region{border-radius:2vmin!important;overflow:hidden!important}.qrscanner-container b{display:block;max-width:50vmin;text-align:center;font-size:1.8vmin;color:#8892b0;font-weight:400;line-height:1.5;margin-bottom:4vmin}.status-box{padding:2vmin 6vmin;background:#00fff20d;border:.1vmin solid rgba(0,255,242,.2);border-radius:5vmin}.status-box p{margin:0;font-size:2.2vmin;font-weight:600;color:#00fff2}.success-msg{animation:pulseColor 1.5s infinite ease-in-out}@keyframes pulseColor{0%,to{opacity:.6}50%{opacity:1;text-shadow:0 0 2vmin #00fff2}}@media(max-aspect-ratio:1/1){.qrscanner-title{font-size:8vmin}.scanner-wrapper{max-width:85vmin}.qrscanner-container b{max-size:80vmin;font-size:3.5vmin}.status-box p{font-size:4vmin}#qr-reader__dashboard_section_csr button,#qr-reader__dashboard_section_csr select{font-size:4vmin!important;padding:3vmin!important}}.Form .greetings{text-align:center;margin-bottom:4vmin;z-index:1}.Form .greetings h1{font-size:6vmin;font-weight:800;background:linear-gradient(135deg,#fff,#00fff2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1vmin}.Form .greetings p{font-size:2.2vmin;color:#8892b0}.personal-info{min-width:60vmin;width:max-content;max-width:95dvw;padding-block:5vmin}.personal-info h1{font-size:6vmin}.input-holder-info{display:flex;flex-direction:column;gap:2vmin;max-width:1024px}.dynamic-inputs{display:flex;flex-direction:column;gap:2vmin;margin-top:2vmin;padding-top:2vmin;border-top:.1vmin solid rgba(255,255,255,.1)}.course-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2vmin;animation:rowSlideIn .4s ease-out}.subjects{min-width:25vmin;grid-column:1/3}.sections,.semesters{min-width:25vmin}.personal-info input[type=number]{width:100%;border-color:#00fff24d}@keyframes rowSlideIn{0%{opacity:0;transform:translate(-2vmin)}to{opacity:1;transform:translate(0)}}@media(max-aspect-ratio:1/1){.personal-info{width:90vmin;padding:6vmin}.Form .greetings h1{font-size:10vmin}.Form .greetings p{font-size:4vmin;padding:0 5vmin}.course-row{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr);gap:1.5vmin;margin-bottom:2.5vmin}.subject{grid-column:1/2}.semesters{grid-row:3/4}.personal-info input{font-size:4.5vmin;padding-inline:3.5vmin}}.create-assignment{min-height:100vh;background:radial-gradient(circle at center,var(--bg-primary) 0%,#000000 100%);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary);position:relative;overflow-x:hidden;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.background-decoration{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.decoration-circle{position:absolute;border-radius:50%;filter:blur(100px);opacity:.3;animation:float 20s infinite ease-in-out}.decoration-circle-1{width:400px;height:400px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));top:-200px;right:-200px;animation-delay:0s}.decoration-circle-2{width:300px;height:300px;background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));bottom:-150px;left:-150px;animation-delay:5s}.decoration-circle-3{width:250px;height:250px;background:linear-gradient(135deg,var(--primary-dark),var(--secondary-color));top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(-30px,-20px) scale(1.02)}}.form-container{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:3rem;width:100%;max-width:600px;box-shadow:var(--shadow-xl);position:relative;z-index:1;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}.form-header{text-align:center;margin-bottom:2.5rem}.form-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em}.form-subtitle{color:var(--text-secondary);font-size:.95rem;font-weight:400;line-height:1.5}.form-section{margin-bottom:2rem}.section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-radius:2px}.form-group{margin-bottom:1.5rem;position:relative}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;transition:color var(--transition-fast)}.required{color:var(--error-color);margin-left:.25rem}.form-input,.form-textarea{width:100%;background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.875rem 1rem;font-size:.95rem;font-weight:400;color:var(--text-primary);transition:all var(--transition-normal);outline:none;box-sizing:border-box}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted);opacity:.7}.form-input:focus,.form-textarea:focus{border-color:var(--border-focus);background:#00fff208;box-shadow:0 0 0 3px #00fff21a;transform:translateY(-1px)}.form-input.error,.form-textarea.error{border-color:var(--error-color);background:#ef44440d}.form-input.error:focus,.form-textarea.error:focus{border-color:var(--error-color);box-shadow:0 0 0 3px #ef44441a}.form-input.success,.form-textarea.success{border-color:var(--success-color);background:#10b9810d}.form-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.form-input[type=date]{color-scheme:dark}.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7;cursor:pointer;transition:opacity var(--transition-fast)}.form-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.error-message{display:block;font-size:.8rem;color:var(--error-color);margin-top:.5rem;font-weight:400;line-height:1.4;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-actions{display:flex;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border-color)}.submit-btn,.cancel-btn{flex:1;padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px}.submit-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--bg-primary);box-shadow:0 4px 14px #00fff233}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00fff24d;filter:brightness(1.1)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.cancel-btn:active:not(:disabled){transform:translateY(0)}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{display:flex;align-items:center;gap:.5rem}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.create-assignment{padding:1rem}.form-container{padding:2rem 1.5rem;margin:1rem}.form-title{font-size:1.75rem}.form-grid{grid-template-columns:1fr;gap:1rem}.form-actions{flex-direction:column-reverse;gap:.75rem}.submit-btn,.cancel-btn{width:100%}}@media(max-width:480px){.form-container{padding:1.5rem 1rem}.form-title{font-size:1.5rem}.form-subtitle{font-size:.875rem}.form-input,.form-textarea{padding:.75rem .875rem;font-size:.9rem}.decoration-circle{opacity:.15}}@media(prefers-contrast:high){:root{--border-color: rgba(255, 255, 255, .3);--text-secondary: #ffffff}.form-input,.form-textarea{border-width:2px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.decoration-circle{animation:none}}.submit-btn:focus-visible,.cancel-btn:focus-visible,.form-input:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.risk-analysis{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2.5vmin;padding:4vmin;-webkit-backdrop-filter:blur(2vmin);backdrop-filter:blur(2vmin);transition:transform .3s ease,border-color .3s ease;margin-top:4vmin}.risk-analysis:hover{border-color:#00fff266;transform:translateY(-.5vmin)}.risk-header{margin-bottom:3vmin}.risk-title{font-size:4.5vmin;font-weight:700;background:linear-gradient(to right,#fff,#8892b0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0}.risk-content{display:flex;flex-direction:column;gap:3vmin}.risk-label{font-size:2.5vmin;font-weight:600;color:#00fff2;margin-bottom:1.5vmin;opacity:.8}.risk-level-section{display:flex;flex-direction:column;gap:1vmin}.risk-level-badge{display:inline-block;padding:1.5vmin 3vmin;border-radius:1.2vmin;font-size:2.5vmin;font-weight:700;color:#000;text-align:center;width:fit-content;text-transform:uppercase;letter-spacing:.1vmin}.risk-score-section{display:flex;flex-direction:column;gap:1.5vmin}.risk-score-container{display:flex;align-items:center;gap:2vmin}.risk-score-bar{flex:1;height:2vmin;background:#ffffff1a;border-radius:1vmin;overflow:hidden}.risk-score-fill{height:100%;transition:width .5s ease,background-color .3s ease;border-radius:1vmin}.risk-score-value{font-size:2.5vmin;font-weight:600;color:#fff;min-width:8vmin;text-align:right}.risk-reasons-section{display:flex;flex-direction:column;gap:1.5vmin}.risk-reasons-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1vmin}.risk-reason-item{font-size:2vmin;color:#8892b0;border-left:.3vmin solid rgba(0,255,242,.3);padding:1vmin 0 1vmin 2vmin;line-height:1.4}.risk-input-section{background:#ffffff05;border:.1vmin solid rgba(255,255,255,.1);border-radius:2vmin;padding:3vmin;margin-bottom:3vmin}.risk-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20vmin,1fr));gap:2vmin;margin-bottom:2vmin}.risk-input-group{display:flex;flex-direction:column;gap:1vmin}.risk-input-group label{font-size:2vmin;color:#00fff2;font-weight:600;opacity:.8}.risk-input{background:#ffffff0d;border:.1vmin solid rgba(255,255,255,.2);color:#fff;padding:1.5vmin;border-radius:1.2vmin;font-size:2vmin;font-weight:600;transition:all .2s ease}.risk-input:focus{outline:none;border-color:#00fff266;background:#00fff20d}.risk-input::placeholder{color:#8892b0;opacity:.6}.risk-predict-btn{background:#00fff20d;border:.1vmin solid rgba(0,255,242,.2);color:#00fff2;padding:1.5vmin 3vmin;border-radius:1.2vmin;font-size:2vmin;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:1vmin}.risk-predict-btn:hover:not(:disabled){background:#00fff2;color:#000;box-shadow:0 0 2vmin #00fff24d}.risk-predict-btn:disabled{opacity:.45;cursor:not-allowed}.risk-analysis-loading,.risk-analysis-error,.risk-analysis-no-data{font-size:2.5vmin;color:#8892b0;text-align:center;padding:4vmin;background:#ffffff05;border-radius:2vmin;border:.1vmin dashed rgba(255,255,255,.1)}.risk-analysis-error{color:#f44;border-color:#ff44444d}@media(max-aspect-ratio:1/1){.risk-analysis{padding:6vmin}.risk-title{font-size:7vmin}.risk-label{font-size:4vmin}.risk-level-badge{font-size:4vmin;padding:3vmin 5vmin}.risk-score-bar{height:3vmin}.risk-score-value{font-size:4vmin}.risk-reason-item{font-size:3.5vmin;padding:2vmin 0 2vmin 3vmin}}.student-analytics{padding:4vmin;max-width:140vmin;margin:0 auto;background:#00000080;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:#fff}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3vmin;padding:3vmin;background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2.5vmin;-webkit-backdrop-filter:blur(2vmin);backdrop-filter:blur(2vmin);transition:all .3s ease}.analytics-header:hover{border-color:#00fff24d;transform:translateY(-.2vmin)}.page-title{font-size:4vmin;font-weight:800;background:linear-gradient(135deg,#00fff2,#08f);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;letter-spacing:.1vmin}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;background:#ffffff05;border-radius:2vmin;border:.1vmin solid rgba(255,255,255,.1)}.error-state h3{color:#ef4444;margin-bottom:2vmin;font-size:3vmin}.retry-button{background:#00fff21a;border:.1vmin solid rgba(0,255,242,.3);color:#00fff2;padding:1.5vmin 3vmin;border-radius:1.2vmin;cursor:pointer;font-size:2vmin;font-weight:600;transition:all .3s ease}.retry-button:hover{background:#00fff233;border-color:#00fff280;transform:translateY(-.1vmin)}.analytics-summary{margin-bottom:3rem}.section-title{font-size:3vmin;font-weight:800;color:#00fff2;margin-bottom:2vmin;letter-spacing:.1vmin;display:flex;align-items:center;gap:1vmin}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2vmin;-webkit-backdrop-filter:blur(1vmin);backdrop-filter:blur(1vmin);overflow:hidden;transition:all .3s ease;position:relative}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:.3vmin;background:linear-gradient(90deg,#00fff2,#08f);transform:scaleX(0);transition:transform .3s ease}.summary-card:hover{transform:translateY(-.3vmin);border-color:#00fff266;box-shadow:0 .5vmin 2vmin #00fff21a}.summary-card:hover:before{transform:scaleX(1)}.summary-card.primary:before{background:linear-gradient(90deg,#00fff2,#08f)}.summary-card.danger:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.summary-card.info:before{background:linear-gradient(90deg,#06b6d4,#0891b2)}.card-content{padding:3vmin}.summary-card h3{font-size:1.8vmin;color:#8892b0;margin-bottom:1vmin;text-transform:uppercase;letter-spacing:.1vmin;font-weight:600}.summary-value{font-size:4vmin;font-weight:700;background:linear-gradient(135deg,#fff,#8892b0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.summary-value.at-risk{background:linear-gradient(135deg,#ef4444,#dc2626);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.averages{display:flex;flex-direction:column;gap:1vmin}.average-item{display:flex;justify-content:space-between;align-items:center;padding:1vmin 0;border-bottom:.1vmin solid rgba(255,255,255,.1);background:#ffffff05;padding:1vmin 1.5vmin;border-radius:1vmin;margin-bottom:.5vmin}.average-item span:first-child{font-size:1.6vmin;color:#8892b0;font-weight:600}.average-item span:last-child{font-size:1.8vmin;font-weight:700}.risk-distribution{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);padding:3vmin;border-radius:2vmin;-webkit-backdrop-filter:blur(1vmin);backdrop-filter:blur(1vmin);transition:all .3s ease}.risk-distribution:hover{border-color:#00fff24d;transform:translateY(-.2vmin)}.risk-distribution h3{margin-bottom:2vmin;color:#00fff2;font-size:2.5vmin;font-weight:700;letter-spacing:.1vmin}.risk-bars{display:flex;flex-direction:column;gap:1.5vmin}.risk-bar{display:flex;align-items:center;gap:1.5vmin}.risk-label{min-width:10vmin;font-weight:700;color:#fff;font-size:1.8vmin}.risk-progress{flex:1;height:2.5vmin;background:#ffffff1a;border-radius:1.2vmin;overflow:hidden;position:relative}.risk-fill{height:100%;border-radius:1.2vmin;transition:width .5s ease;position:relative}.risk-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.risk-count{min-width:5vmin;text-align:center;font-weight:700;color:#fff;font-size:1.8vmin;background:#ffffff0d;padding:.5vmin 1vmin;border-radius:1vmin}.at-risk-students-section{margin-bottom:3rem}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40vmin,1fr));gap:2.5vmin}.student-card{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2vmin;-webkit-backdrop-filter:blur(1vmin);backdrop-filter:blur(1vmin);transition:all .3s ease;overflow:hidden;position:relative}.student-card:before{content:"";position:absolute;top:0;left:0;right:0;height:.2vmin;background:linear-gradient(90deg,#00fff2,#08f);transform:scaleX(0);transition:transform .3s ease}.student-card:hover{transform:translateY(-.3vmin);border-color:#00fff266;box-shadow:0 .5vmin 2vmin #00fff21a}.student-card:hover:before{transform:scaleX(1)}.student-header{display:flex;justify-content:space-between;align-items:flex-start;padding:3vmin 3vmin 2vmin;border-bottom:.1vmin solid rgba(255,255,255,.1);position:relative;z-index:1}.student-name{font-size:2.5vmin;font-weight:700;background:linear-gradient(135deg,#fff,#8892b0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 1vmin}.student-meta{display:flex;flex-direction:column;gap:.5vmin}.student-id{font-size:1.4vmin;color:#8892b0;font-family:monospace;background:#ffffff0d;padding:.3vmin .8vmin;border-radius:.5vmin;display:inline-block;width:fit-content}.student-class{font-size:1.6vmin;color:#8892b0;font-weight:600}.risk-badge{padding:.8vmin 1.5vmin;border-radius:1.5vmin;font-size:1.3vmin;font-weight:700;text-transform:uppercase;letter-spacing:.1vmin;-webkit-backdrop-filter:blur(.5vmin);backdrop-filter:blur(.5vmin);border:.1vmin solid rgba(255,255,255,.2)}.risk-badge.low{background:#10b98133;color:#10b981;border-color:#10b98166}.risk-badge.medium{background:#f59e0b33;color:#f59e0b;border-color:#f59e0b66}.risk-badge.high{background:#ef444433;color:#ef4444;border-color:#ef444466}.student-metrics{padding:2vmin 3vmin;border-bottom:.1vmin solid rgba(255,255,255,.1);position:relative;z-index:1}.metric{display:flex;justify-content:space-between;align-items:center;padding:1.2vmin 1.5vmin;background:#ffffff05;border:.05vmin solid rgba(255,255,255,.05);border-radius:1vmin;margin-bottom:1vmin;transition:all .3s ease}.metric:hover{background:#ffffff0d;border-color:#00fff233;transform:translate(.2vmin)}.metric:last-child{margin-bottom:0}.metric-label{font-size:1.6vmin;color:#8892b0;font-weight:600}.metric-value{font-size:1.8vmin;font-weight:700}.student-insights{padding:3vmin;position:relative;z-index:1}.student-insights h4{font-size:2vmin;font-weight:700;color:#00fff2;margin:0 0 2vmin;letter-spacing:.1vmin}.student-insights ul{list-style:none;padding:0;margin:0 0 2.5vmin}.student-insights li{font-size:1.6vmin;color:#8892b0;margin-bottom:1.2vmin;padding-left:2.5vmin;position:relative;line-height:1.4;background:#ffffff05;padding:1vmin 1.5vmin 1vmin 2.5vmin;border-radius:1vmin;border-left:.3vmin solid rgba(0,255,242,.5)}.student-insights li:before{content:"🔍";position:absolute;left:.8vmin;font-size:1.2vmin}.focus-areas h5{font-size:1.6vmin;font-weight:700;color:#8892b0;margin:0 0 1.5vmin;text-transform:uppercase;letter-spacing:.1vmin}.focus-tags{display:flex;flex-wrap:wrap;gap:1vmin}.focus-tag{padding:.8vmin 1.5vmin;background:#00fff21a;color:#00fff2;border-radius:1.5vmin;font-size:1.3vmin;font-weight:600;border:.1vmin solid rgba(0,255,242,.3);-webkit-backdrop-filter:blur(.5vmin);backdrop-filter:blur(.5vmin);transition:all .3s ease}.focus-tag:hover{background:#00fff233;border-color:#00fff280;transform:translateY(-.1vmin)}.empty-state{text-align:center;padding:8vmin 4vmin;background:#ffffff05;border-radius:2vmin;border:.1vmin dashed rgba(255,255,255,.1);-webkit-backdrop-filter:blur(1vmin);backdrop-filter:blur(1vmin)}.empty-icon{font-size:6vmin;margin-bottom:2vmin;opacity:.6}.empty-state h3{font-size:3vmin;color:#fff;margin-bottom:1vmin;background:linear-gradient(135deg,#fff,#8892b0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.empty-state p{color:#8892b0;font-size:2vmin}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3vmin}.clear-button{background:#ef44441a;border:.1vmin solid rgba(239,68,68,.3);color:#ef4444;padding:1.5vmin 3vmin;border-radius:1.2vmin;font-size:1.8vmin;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(.5vmin);backdrop-filter:blur(.5vmin)}.clear-button:hover:not(:disabled){background:#ef444433;border-color:#ef444480;transform:translateY(-.1vmin);box-shadow:0 .2vmin 1vmin #ef444433}.clear-button:disabled{background:#9ca3af1a;border-color:#9ca3af4d;color:#9ca3af;cursor:not-allowed}@media(max-width:768px){.student-analytics{padding:2vmin}.section-header{flex-direction:column;gap:2vmin;align-items:stretch}.clear-button{width:100%}.summary-grid,.students-grid{grid-template-columns:1fr}.risk-bars{gap:1vmin}.risk-bar{flex-direction:column;align-items:stretch;gap:1vmin}.risk-label{min-width:auto}.page-title{font-size:5vmin}.section-title{font-size:4vmin}}@media(max-width:480px){.student-analytics{padding:1.5vmin}.card-content{padding:2vmin}.summary-value{font-size:5vmin}.student-header{padding:2vmin}.student-name{font-size:3vmin}.risk-distribution{padding:2vmin}}.assignments-tab{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2.5vmin;padding:4vmin;-webkit-backdrop-filter:blur(2vmin);backdrop-filter:blur(2vmin);transition:all .3s ease;position:relative;overflow:hidden}.assignments-tab:before{content:"";position:absolute;top:0;left:0;right:0;height:.3vmin;background:linear-gradient(90deg,#00fff2,#08f);transform:scaleX(0);transition:transform .3s ease}.assignments-tab:hover:before{transform:scaleX(1)}.assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3vmin;padding-bottom:2vmin;border-bottom:.1vmin solid rgba(255,255,255,.1)}.section-title{font-size:3.5vmin;font-weight:800;color:#00fff2;margin:0;letter-spacing:.1vmin;display:flex;align-items:center;gap:1vmin}.assignments-stats{display:flex;gap:3vmin}.stat-item{display:flex;flex-direction:column;align-items:center;min-width:8vmin;background:#00fff20d;border:.1vmin solid rgba(0,255,242,.2);border-radius:1.5vmin;padding:1.5vmin 2vmin;transition:all .3s ease;position:relative;overflow:hidden}.stat-icon{font-size:2vmin;margin-bottom:.5vmin;opacity:.8}.stat-item:hover{background:#00fff21a;border-color:#00fff266;transform:translateY(-.2vmin)}.stat-number{font-size:3vmin;font-weight:700;color:#00fff2;line-height:1}.stat-label{font-size:1.5vmin;color:#8892b0;text-transform:uppercase;letter-spacing:.1vmin;margin-top:.5vmin}.filter-tabs{display:flex;gap:1vmin;margin-bottom:3vmin;border-bottom:.1vmin solid rgba(255,255,255,.1);padding-bottom:1.5vmin}.filter-tab{padding:1.5vmin 2.5vmin;border:.1vmin solid rgba(255,255,255,.1);background:#ffffff05;color:#8892b0;font-size:2vmin;font-weight:600;cursor:pointer;border-radius:1.5vmin;transition:all .3s ease;position:relative;overflow:hidden}.filter-tab:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#00fff21a,#0088ff1a);opacity:0;transition:opacity .3s ease}.filter-tab:hover{color:#00fff2;border-color:#00fff24d;transform:translateY(-.1vmin)}.filter-tab:hover:before{opacity:1}.filter-tab.active{color:#00fff2;background:#00fff21a;border-color:#00fff266;box-shadow:0 .2vmin 1vmin #00fff233}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8vmin;text-align:center;background:#ffffff05;border-radius:2vmin;border:.1vmin solid rgba(255,255,255,.1)}.loading-spinner{width:6vmin;height:6vmin;border:.5vmin solid rgba(0,255,242,.2);border-top:.5vmin solid #00fff2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:2vmin}.loading-state p,.error-state p{color:#8892b0;font-size:2.5vmin;margin:0 0 2vmin}.retry-btn,.show-all-btn{padding:1.5vmin 3vmin;background:#00fff21a;border:.1vmin solid rgba(0,255,242,.3);color:#00fff2;border-radius:1.2vmin;cursor:pointer;font-size:2vmin;font-weight:600;margin-top:2vmin;transition:all .3s ease}.retry-btn:hover,.show-all-btn:hover{background:#00fff233;border-color:#00fff280;transform:translateY(-.1vmin)}.empty-state{text-align:center;padding:8vmin;color:#8892b0;background:#ffffff05;border-radius:2vmin;border:.1vmin dashed rgba(255,255,255,.1)}.empty-state p{margin:0 0 2vmin;font-size:2.5vmin}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(35vmin,1fr));gap:2.5vmin;margin-bottom:3vmin}.assignment-card{border:.1vmin solid rgba(255,255,255,.1);border-radius:2vmin;padding:3vmin;background:#ffffff08;-webkit-backdrop-filter:blur(1vmin);backdrop-filter:blur(1vmin);transition:all .3s ease;position:relative;overflow:hidden}.assignment-card:before{content:"";position:absolute;top:0;left:0;right:0;height:.2vmin;background:linear-gradient(90deg,#00fff2,#08f);transform:scaleX(0);transition:transform .3s ease}.assignment-card:hover{border-color:#00fff266;transform:translateY(-.3vmin);box-shadow:0 .5vmin 2vmin #00fff21a}.assignment-card.overdue{border-left:.4vmin solid #ef4444;background:#ef44440d}.assignment-card.overdue:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2vmin;position:relative;z-index:1}.assignment-title{font-size:2.5vmin;font-weight:700;color:#fff;margin:0;line-height:1.3;flex:1;margin-right:2vmin;background:linear-gradient(135deg,#fff,#8892b0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.status-badge{padding:.8vmin 1.2vmin;border-radius:1vmin;font-size:1.3vmin;font-weight:600;text-transform:uppercase;color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(.5vmin);backdrop-filter:blur(.5vmin);border:.1vmin solid rgba(255,255,255,.2);display:flex;align-items:center;gap:.5vmin}.status-emoji{font-size:1.2vmin}.assignment-description{color:#8892b0;font-size:1.8vmin;line-height:1.4;margin:0 0 2.5vmin;position:relative;z-index:1}.assignment-meta{display:flex;flex-direction:column;gap:1vmin;margin-bottom:2.5vmin;position:relative;z-index:1}.meta-item{display:flex;justify-content:space-between;font-size:1.6vmin;padding:.8vmin 1.2vmin;background:#ffffff05;border-radius:1vmin;border:.05vmin solid rgba(255,255,255,.05)}.meta-label{color:#8892b0;font-weight:600}.meta-value{color:#00fff2;font-weight:600}.assignment-footer{display:flex;justify-content:space-between;align-items:center;padding-top:2vmin;border-top:.1vmin solid rgba(255,255,255,.1);position:relative;z-index:1}.due-date{display:flex;align-items:center;gap:1vmin;font-size:1.6vmin}.due-label{color:#8892b0;font-weight:600}.due-value{color:#fff;font-weight:600}.due-value.overdue{color:#ef4444;font-weight:700;text-shadow:0 0 1vmin rgba(239,68,68,.5)}.submissions-count{display:flex;align-items:center;gap:1vmin;font-size:1.6vmin;background:#00fff20d;padding:.5vmin 1vmin;border-radius:1vmin;border:.1vmin solid rgba(0,255,242,.2)}.submissions-label{color:#8892b0;font-weight:600}.submissions-value{color:#00fff2;font-weight:700}.assignments-footer{display:flex;justify-content:center;padding-top:3vmin;border-top:.1vmin solid rgba(255,255,255,.1)}.refresh-btn{padding:1.5vmin 3vmin;background:#ffffff05;color:#8892b0;border:.1vmin solid rgba(255,255,255,.1);border-radius:1.2vmin;cursor:pointer;font-size:2vmin;font-weight:600;transition:all .3s ease;position:relative;overflow:hidden}.refresh-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#00fff21a,#0088ff1a);opacity:0;transition:opacity .3s ease}.refresh-btn:hover{background:#00fff20d;color:#00fff2;border-color:#00fff24d;transform:translateY(-.1vmin)}.refresh-btn:hover:before{opacity:1}@media(max-width:768px){.assignments-tab{padding:3vmin}.assignments-header{flex-direction:column;gap:2vmin;align-items:flex-start}.assignments-stats{gap:2vmin;flex-wrap:wrap}.stat-item{min-width:6vmin;padding:1vmin 1.5vmin}.filter-tabs{overflow-x:auto;padding-bottom:1vmin;gap:.5vmin}.assignments-grid{grid-template-columns:1fr;gap:2vmin}.assignment-footer{flex-direction:column;gap:1vmin;align-items:flex-start}.section-title{font-size:4vmin}}@media(max-width:480px){.assignments-tab{padding:2vmin}.stat-item{min-width:5vmin;padding:.8vmin 1.2vmin}.stat-number{font-size:2.5vmin}.stat-label{font-size:1.2vmin}.filter-tab{padding:1vmin 1.5vmin;font-size:1.8vmin}.assignment-card{padding:2vmin}.assignment-title{font-size:3vmin}.assignment-description{font-size:2vmin}.meta-item,.due-date,.submissions-count{font-size:1.4vmin}}.TeacherDash.loading-state{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at center,#0a0a12,#000)}.loading-container{display:flex;flex-direction:column;align-items:center;gap:3vmin}.loading-spinner{width:8vmin;height:8vmin;border:.5vmin solid rgba(0,255,242,.2);border-top:.5vmin solid #00fff2;border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:3vmin;font-weight:600;color:#00fff2;letter-spacing:.2vmin;animation:pulseGlow 2s infinite ease-in-out}.TeacherDash{min-height:100vh;background:#000;padding:13vmin 6vmin 10vmin;box-sizing:border-box;font-family:Inter,system-ui,sans-serif;color:#fff}@media(min-height:500px){.TeacherDash{padding-top:13vmin}}@media(max-height:500px){.TeacherDash{padding-top:calc(40px + 5vmin)}}.dashboard-container{max-width:140vmin;margin:0 auto;display:flex;flex-direction:column;gap:6vmin}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:3vmin 0;border-bottom:.1vmin solid rgba(255,255,255,.1)}.dashboard-title{font-size:5vmin;font-weight:800;background:linear-gradient(135deg,#00fff2,#08f);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;letter-spacing:.1vmin}.branch-info{display:flex;align-items:center;gap:1vmin;background:#00fff20d;padding:1.5vmin 2.5vmin;border-radius:2vmin;border:.1vmin solid rgba(0,255,242,.2)}.branch-label{font-size:2vmin;color:#8892b0;font-weight:500}.branch-value{font-size:2.2vmin;color:#00fff2;font-weight:700}.error-state{display:flex;align-items:center;gap:2vmin;background:#ff44441a;border:.2vmin solid rgba(255,68,68,.3);border-radius:2vmin;padding:3vmin;margin:2vmin 0}.error-icon{font-size:4vmin}.error-message{flex:1;font-size:2.2vmin;color:#ff6b6b;font-weight:500}.retry-btn{background:#f443;border:.1vmin solid rgba(255,68,68,.4);color:#ff6b6b;padding:1.5vmin 3vmin;border-radius:1.2vmin;font-size:2vmin;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-btn:hover{background:#ff44444d;border-color:#f449}.dashboard-section{display:flex;flex-direction:column;gap:3vmin}.section-header{display:flex;align-items:center;gap:1.5vmin;font-size:3.5vmin;font-weight:800;color:#00fff2;margin:0;letter-spacing:.1vmin}.section-icon{font-size:3vmin;opacity:.8}.dash-section{display:flex;align-items:center;font-size:2.5vmin;font-weight:800;letter-spacing:.5vmin;color:#00fff2;opacity:.8;border-left:.5vmin solid #00fff2;margin-block:1.5vmin;padding-block:2vmin;padding-left:2vmin}.subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(45vmin,1fr));gap:4vmin}.subject{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2.5vmin;padding:4vmin;-webkit-backdrop-filter:blur(2vmin);backdrop-filter:blur(2vmin);transition:all .3s ease;position:relative;overflow:hidden}.subject:before{content:"";position:absolute;top:0;left:0;right:0;height:.3vmin;background:linear-gradient(90deg,#00fff2,#08f);transform:scaleX(0);transition:transform .3s ease}.subject:hover{border-color:#00fff266;transform:translateY(-.5vmin);box-shadow:0 1vmin 3vmin #00fff21a}.subject:hover:before{transform:scaleX(1)}.subject.hovered{border-color:#00fff24d;transform:translateY(-.2vmin)}.subject-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3vmin}.semester-badge{background:#08f3;color:#08f;padding:.8vmin 1.5vmin;border-radius:1vmin;font-size:1.5vmin;font-weight:600;border:.1vmin solid rgba(0,136,255,.3)}.subject-title{font-size:4.5vmin;font-weight:700;background:linear-gradient(135deg,#fff,#8892b0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;letter-spacing:.05vmin}.section-grid{display:flex;flex-wrap:wrap;gap:2vmin}.attendance-btn{background:#00fff20d;border:.1vmin solid rgba(0,255,242,.2);color:#00fff2;padding:1.5vmin 3vmin;border-radius:1.2vmin;font-size:2vmin;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1;min-width:15vmin;text-align:center;display:flex;align-items:center;justify-content:center;gap:1vmin;position:relative;overflow:hidden}.attendance-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#00fff24d;border-radius:1vmin;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.attendance-btn:hover:before{width:100%;height:100%}.attendance-btn:hover{background:#00fff21a;color:#00fff2;border-color:#00fff280;transform:translateY(-.2vmin);box-shadow:0 .5vmin 2vmin #00fff233}.btn-icon{font-size:1.8vmin;z-index:1}.attendance-btn:disabled{opacity:.45;cursor:not-allowed}.history-active-btn{background:#00fff2;color:#000;box-shadow:0 0 2vmin #00fff24d}.create-assignment-button{background:#00fff20d;border:.1vmin solid rgba(0,255,242,.2);color:#00fff2;padding:1.5vmin 3vmin;border-radius:1.2vmin;font-size:2vmin;font-weight:600;cursor:pointer;transition:all .2s ease;flex:1;min-width:15vmin;text-align:center}#create-assignment-button:hover{background:#00fff2;color:#000;box-shadow:0 0 2vmin #00fff24d}#no-data{grid-column:1 / -1;text-align:center;padding:10vmin;background:#ffffff05;border-radius:3vmin;border:.2vmin dashed rgba(255,255,255,.1)}.no-data{text-align:center;padding:8vmin;background:#ffffff05;border-radius:3vmin;border:.2vmin dashed rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;gap:2vmin}.no-data-icon{font-size:6vmin;opacity:.6}.no-data p{font-size:3vmin;color:#8892b0;margin:0;line-height:1.4}.onboarding-link{background:#00fff21a;border:.1vmin solid rgba(0,255,242,.3);color:#00fff2;padding:1.5vmin 3vmin;border-radius:1.2vmin;font-size:2vmin;font-weight:600;text-decoration:none;transition:all .3s ease}.onboarding-link:hover{background:#00fff233;border-color:#00fff280;transform:translateY(-.2vmin)}.no-sections{display:flex;flex-direction:column;align-items:center;gap:1.5vmin;padding:3vmin;text-align:center}.no-sections .no-data-icon{font-size:4vmin}.muted-text{color:#8892b0;font-size:2vmin}.attendance-history{display:flex;flex-direction:column;gap:2vmin;margin-top:1vmin}.history-date-block{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2vmin;padding:2.5vmin}.history-date-title{margin:0 0 1.5vmin;font-size:2.5vmin;color:#00fff2}.history-time-list{display:flex;flex-direction:column;gap:1.5vmin}.history-time-block{border:.1vmin solid rgba(255,255,255,.1);border-radius:1.5vmin;padding:1.5vmin;background:#ffffff05}.history-time-title{margin:0 0 1vmin;font-size:2vmin;color:#fff}.history-records{display:flex;flex-direction:column;gap:.8vmin}.history-record{display:grid;grid-template-columns:repeat(auto-fit,minmax(12vmin,1fr));gap:1vmin;background:#00fff20d;border:.1vmin solid rgba(0,255,242,.18);border-radius:1vmin;padding:1.2vmin;font-size:1.7vmin}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(30vmin,1fr));gap:3vmin}.action-card{background:#ffffff08;border:.1vmin solid rgba(255,255,255,.1);border-radius:2.5vmin;padding:4vmin;text-decoration:none;color:inherit;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2vmin;position:relative;overflow:hidden}.action-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#00fff20d,#0088ff0d);opacity:0;transition:opacity .3s ease}.action-card:hover{border-color:#00fff266;transform:translateY(-.5vmin);box-shadow:0 1vmin 3vmin #00fff21a}.action-card:hover:before{opacity:1}.action-icon{font-size:4vmin;margin-bottom:1vmin;position:relative;z-index:1}.action-title{font-size:2.5vmin;font-weight:700;color:#fff;margin:0;position:relative;z-index:1}.action-description{font-size:1.8vmin;color:#8892b0;margin:0;line-height:1.4;position:relative;z-index:1}@media(max-aspect-ratio:1/1){.dashboard-header{flex-direction:column;gap:2vmin;align-items:flex-start}.dashboard-title{font-size:7vmin}.section-header{font-size:5vmin}.subjects{grid-template-columns:1fr}.subject-title{font-size:7vmin}.attendance-btn{font-size:4vmin;padding:3.5vmin}.dash-section{font-size:5vmin}.muted-text{font-size:4vmin}.action-grid{grid-template-columns:1fr}.action-card{padding:6vmin}.action-icon{font-size:6vmin}.action-title{font-size:4vmin}.action-description{font-size:3vmin}.history-date-title{font-size:4.5vmin}.history-time-title{font-size:4vmin}.history-record{grid-template-columns:1fr;font-size:3.5vmin;padding:2.5vmin}}.table-container{width:100%;max-height:60vh;overflow-y:auto;border-radius:1.5vmin;background:#ffffff05;border:.1vmin solid rgba(255,255,255,.05);scrollbar-width:thin;scrollbar-color:#00fff2 rgba(255,255,255,.05)}.table-container::-webkit-scrollbar{width:.6vmin}.table-container::-webkit-scrollbar-thumb{background:#00fff2;border-radius:1vmin}.dynamic-table{width:100%;border-collapse:collapse;font-size:2vmin;text-align:left}.dynamic-table thead{position:sticky;top:0;background:#121212;z-index:10}.dynamic-table th{padding:2vmin;color:#00fff2;font-weight:700;text-transform:uppercase;letter-spacing:.1vmin;border-bottom:.2vmin solid rgba(0,255,242,.2)}.dynamic-table td{padding:1.8vmin 2vmin;border-bottom:.1vmin solid rgba(255,255,255,.05);transition:background .2s ease;text-align:left}.dynamic-table tbody tr:hover{background:#ffffff08}.sno{width:5vmin;color:#8892b0}.name{font-weight:600}.usn{font-family:Courier New,Courier,monospace;color:#ccd6f6}.status{font-weight:700;text-align:right}@media(max-aspect-ratio:1/1){.dynamic-table{font-size:3.5vmin}.table-container{max-height:50vh}.dynamic-table th,.dynamic-table td{padding:3vmin}}.AttendancePage{min-height:100vh;background:#000;padding:13vmin 5vmin 5vmin;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:6vmin;box-sizing:border-box;color:#fff;font-family:Inter,sans-serif}.scanner-holder{flex:1;position:sticky;top:13vmin;text-align:center;background:#ffffff05;padding:4vmin;border-radius:3vmin;border:.1vmin solid rgba(255,255,255,.05);max-width:40vw}.scanner-holder h1{font-size:5vmin;background:linear-gradient(135deg,#00fff2,#0072ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1vmin}.scanner-holder h3{font-size:2.5vmin;color:#8892b0;margin-bottom:3vmin}.qr-container{width:32vmin;height:32vmin;margin:0 auto 3vmin;background:#fff;border-radius:1.5vmin;display:flex;align-items:center;justify-content:center;padding:1.5vmin;box-shadow:0 0 4vmin #00fff226}.qr-generator{width:100%;height:100%}.qr-placeholder{width:100%;height:100%;background:repeating-linear-gradient(45deg,#f0f0f0,#f0f0f0 1vmin,#e5e5e5 1vmin 2vmin);opacity:.4}.button-holder{display:flex;justify-content:center;gap:2vmin}.generate-btn,.stop-btn{padding:1.8vmin 3vmin;font-size:1.8vmin;font-weight:700;border-radius:1vmin;cursor:pointer;transition:all .3s ease;border:none;text-transform:uppercase}.generate-btn{background:#00fff2;color:#000}.generate-btn:disabled{background:#1a3a3a;color:#00fff2;opacity:.6}.stop-btn{background:#ff47471a;color:#ff4747;border:.1vmin solid #ff4747}.student-timer{flex:1.8;width:100%;display:flex;flex-direction:column;gap:3vmin}.timer{font-size:2.4vmin;font-weight:800;text-align:center;color:#00fff2;padding:1.5vmin;background:#00fff20d;border-radius:1.2vmin;border:.1vmin solid rgba(0,255,242,.1)}.pdf-btn{align-self:flex-end;display:flex;align-items:center;gap:1vmin;background:#fff;color:#000;padding:1.2vmin 2.5vmin;border-radius:.8vmin;font-weight:700;font-size:1.8vmin;cursor:pointer;border:none}.pdf-btn img{width:2.2vmin}@media(max-width:1024px){.AttendancePage{flex-direction:column;align-items:center}.scanner-holder{position:static;max-width:100%;width:100%}.qr-container{width:55vmin;height:55vmin}.generate-btn,.stop-btn,.pdf-btn{font-size:2.5vmin;padding:3vmin}.timer{font-size:4vmin}}:root{--bg-primary: #ffffff;--bg-secondary: #fafbfc;--bg-tertiary: #f8fafc;--surface: #ffffff;--surface-hover: #f1f5f9;--surface-active: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-inverse: #ffffff;--primary: #3b82f6;--primary-hover: #2563eb;--primary-light: #dbeafe;--primary-subtle: #eff6ff;--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--error: #ef4444;--error-light: #fee2e2;--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-focus: var(--primary);--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}.attendance-history{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);line-height:1.6;padding:5rem 1rem 2rem}.attendance-history.loading-state{display:flex;align-items:center;justify-content:center}.loading-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;max-width:320px}.loading-spinner{width:2.5rem;height:2.5rem;border:2px solid var(--border-light);border-top:2px solid var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-text{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.loading-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.dashboard-container{max-width:1200px;margin:0 auto;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.history-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.page-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.025em;display:flex;align-items:center;gap:.75rem}.title-icon{font-size:1.75rem;color:var(--primary)}.header-actions{display:flex;align-items:center;gap:.75rem}.stats-toggle-btn,.back-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-light);padding:.625rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.stats-toggle-btn:hover,.back-btn:hover{background:var(--surface-hover);border-color:var(--border-medium);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.stats-section{margin-bottom:2rem;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);animation:slideDown .5s ease-out}.stats-section.compact{padding:1rem;border-radius:var(--radius-md)}.stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-light);transition:all var(--transition-fast)}.stat-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-item.present{border-left:3px solid var(--success);background:var(--success-light)}.stat-item.absent{border-left:3px solid var(--error);background:var(--error-light)}.stat-item.late{border-left:3px solid var(--warning);background:var(--warning-light)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:0}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.stat-percent{font-size:.75rem;color:var(--text-muted);font-weight:500;margin:0}.section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:.5rem}.section-icon{font-size:1.125rem;color:var(--primary)}.history-content{display:flex;flex-direction:column;gap:1.5rem}.subject-selection{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.subject-selection.compact{padding:1.25rem;border-radius:var(--radius-md)}.subjects-list{display:flex;flex-wrap:wrap;gap:.75rem}.subject-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-light);padding:.75rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:140px}.subject-btn:hover:not(.disabled){background:var(--primary-subtle);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.subject-btn.active{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.subject-btn.disabled{opacity:.5;cursor:not-allowed}.subject-name{font-weight:600}.session-badge{background:var(--primary-light);color:var(--primary);padding:.25rem .5rem;border-radius:var(--radius-xs);font-size:.75rem;font-weight:600;min-width:20px;text-align:center}.date-selection{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.date-selection.compact{padding:1.25rem;border-radius:var(--radius-md)}.dates-list{display:flex;flex-wrap:wrap;gap:.75rem}.date-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-light);padding:.75rem 1.125rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:160px}.date-btn:hover{background:var(--surface-hover);border-color:var(--border-medium);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.date-btn.active{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.date-info{display:flex;flex-direction:column;gap:.25rem;width:100%}.date-main{font-weight:600;color:inherit}.date-detail{font-size:.75rem;color:var(--text-secondary)}.date-btn.active .date-detail{color:#fffc}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.empty-state.compact{padding:2rem 1rem}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3,.empty-state h4{font-size:1.125rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.empty-state p{font-size:.875rem;line-height:1.5;margin:0 0 1.5rem;max-width:400px;margin-left:auto;margin-right:auto}.selection-prompt{text-align:center;padding:2rem;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin:1.5rem 0}.selection-prompt.compact{padding:1.5rem;border-radius:var(--radius-md)}.prompt-icon{font-size:2rem;margin-bottom:.75rem;opacity:.7}.no-subjects-message{text-align:center;color:var(--text-secondary);font-size:.875rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-light);margin-top:1rem}.records-section{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.records-section.compact{padding:1.25rem;border-radius:var(--radius-md)}.records-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.view-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.view-btn{white-space:nowrap;min-width:100px}.view-mode-toggle{display:flex;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.view-btn{background:transparent;color:var(--text-primary);border:none;padding:.5rem .75rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.25rem}.view-btn:hover{background:var(--surface-hover)}.view-btn.active{background:var(--primary);color:var(--text-inverse)}.search-filters{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:var(--radius-md)}.search-filters.compact{padding:.75rem;border-radius:var(--radius-sm)}.filters-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.search-input-wrapper{position:relative;display:flex;align-items:center;flex:1;min-width:240px}.search-icon{position:absolute;left:.75rem;width:1rem;height:1rem;color:var(--text-secondary);z-index:1;display:flex;align-items:center;justify-content:center}.search-icon:before{content:"";position:absolute;width:.75rem;height:.75rem;border:2px solid var(--text-secondary);border-radius:50%;top:.125rem}.search-icon:after{content:"";position:absolute;width:.25rem;height:.5rem;background:var(--text-secondary);transform:rotate(45deg);bottom:0;right:.125rem}.search-input{width:100%;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.625rem .75rem .625rem 2.5rem;font-size:.875rem;color:var(--text-primary);transition:all var(--transition-fast);outline:none}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-light)}.clear-search-btn{position:absolute;right:.75rem;background:none;border:none;color:var(--text-muted);font-size:.875rem;cursor:pointer;padding:.25rem;border-radius:50%;transition:all var(--transition-fast)}.clear-search-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.filter-select.compact{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.625rem .75rem;font-size:.8rem;color:var(--text-primary);transition:all var(--transition-fast);outline:none;cursor:pointer;min-width:120px}.filter-select.compact:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-light)}.clear-filters-btn.compact{background:var(--error);color:var(--text-inverse);border:none;padding:.625rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:.25rem}.clear-filters-btn.compact:hover{background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.results-summary{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}.results-summary.compact{padding:.5rem .75rem;border-radius:var(--radius-sm)}.results-count{font-size:.8rem;color:var(--text-primary);font-weight:600}.filtered-indicator{font-size:.75rem;color:var(--text-muted);opacity:.8}.records-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:1.5rem}.records-grid.compact{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem}.record-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem;transition:all var(--transition-normal);position:relative;overflow:hidden}.record-card.compact{padding:1rem;border-radius:var(--radius-md)}.record-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary-hover));transform:scaleX(0);transition:transform var(--transition-normal)}.record-card:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:var(--shadow-lg)}.record-card:hover:before{transform:scaleX(1)}.record-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.75rem}.student-info{flex:1}.student-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.student-usn{font-size:.8rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace;background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-xs);display:inline-block}.record-meta{display:flex;flex-wrap:wrap;justify-content:space-evenly;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.meta-item{background:var(--bg-tertiary);padding:.25rem .5rem!important;border-radius:var(--radius-xs);border:1px solid var(--border-light);font-weight:500}.records-table{overflow-x:auto;margin-bottom:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.records-table table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.records-table th{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600;text-align:left;padding:1rem;border-bottom:1px solid var(--border-light);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.records-table th.sortable{cursor:pointer;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none}.records-table th.sortable:hover{color:var(--primary)}.records-table td{padding:1rem;border-bottom:1px solid var(--border-light);font-size:.875rem}.records-table tr:hover{background:var(--bg-tertiary)}.records-table tr:last-child td{border-bottom:none}.records-table .student-name{font-weight:500;color:var(--text-primary)}.records-table .student-usn{font-family:JetBrains Mono,monospace;color:var(--text-secondary);background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-xs);display:inline-block}.pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.pagination.compact{padding:.75rem;border-radius:var(--radius-sm)}.pagination-info{font-size:.8rem;color:var(--text-secondary);font-weight:500}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-light);padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:.25rem;min-width:2.5rem;justify-content:center}.pagination-btn:hover:not(:disabled){background:var(--primary);color:var(--text-inverse);border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.page-numbers{display:flex;gap:.25rem}.page-number{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-light);padding:.5rem .625rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-width:2rem;display:flex;align-items:center;justify-content:center}.page-number:hover{background:var(--primary);color:var(--text-inverse);border-color:var(--primary);transform:translateY(-1px)}.page-number.active{background:var(--primary);color:var(--text-inverse);border-color:var(--primary)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#fff}.status-badge.present{background:var(--success);color:var(--text-inverse)}.status-badge.absent{background:var(--error);color:var(--text-inverse)}.status-badge.late{background:var(--warning);color:var(--text-inverse)}.status-icon{display:none;font-size:.875rem}@media(max-width:768px){.attendance-history{padding:1rem}.history-header{flex-direction:column;align-items:stretch;text-align:center;gap:1rem}.header-content{align-items:center;flex-direction:column;gap:.75rem}.page-title{font-size:1.75rem}.stats-bar{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item{padding:.75rem}.subjects-list,.dates-list{flex-direction:column;gap:.5rem}.subject-btn,.date-btn{min-width:auto}.filters-row{flex-direction:column;gap:.75rem}.search-input-wrapper,.filter-select.compact{min-width:auto}.records-grid{grid-template-columns:1fr;gap:.75rem}.pagination{flex-direction:column;gap:.75rem;text-align:center}.pagination-controls{flex-wrap:wrap;justify-content:center}.records-table{font-size:.75rem}.records-table th,.records-table td{padding:.5rem}}@media(max-width:480px){.page-title{font-size:1.5rem}.stats-bar{grid-template-columns:1fr;gap:.5rem}.stat-item{padding:.625rem;flex-direction:row;justify-content:space-between;align-items:center}.stat-value{font-size:1.25rem}.record-meta{gap:.25rem}.meta-item{font-size:.7rem;padding:.2rem .4rem}.record-card{padding:.875rem}.record-header{margin-bottom:.75rem}}@media(prefers-color-scheme:dark){:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--surface: #1e293b;--surface-hover: #334155;--surface-active: #475569;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-light: #334155;--border-medium: #475569;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4)}}.student-assignments{background:transparent;border-radius:12px;padding:24px;margin-top:24px}.assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.section-title{font-size:20px;font-weight:600;color:#1f2937;margin:0}.assignments-stats{display:flex;gap:24px}.stat-item{display:flex;flex-direction:column;align-items:center;min-width:60px}.stat-number{font-size:24px;font-weight:700;color:#3b82f6;line-height:1}.stat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.retry-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;margin-top:12px;transition:background .2s ease}.retry-btn:hover{background:#2563eb}.empty-state{text-align:center;padding:40px;color:#6b7280}.empty-state p{margin:0;font-size:16px}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.assignment-card{border:1px solid #e5e7eb;border-radius:8px;padding:20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;position:relative}.assignment-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.assignment-card.overdue{border-left:4px solid #ef4444;background:#fef2f2}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.assignment-title{font-size:16px;font-weight:600;color:#1f2937;margin:0 12px 0 0;line-height:1.3;flex:1}.status-badge{padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:uppercase;color:#fff;white-space:nowrap}.assignment-description{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 16px}.assignment-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.meta-item{display:flex;justify-content:space-between;font-size:13px}.meta-label{color:#6b7280;font-weight:500}.meta-value{color:#1f2937;font-weight:500}.assignment-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f3f4f6}.due-info{display:flex;flex-direction:column;gap:4px}.due-label{color:#6b7280;font-weight:500;font-size:12px}.due-value{color:#1f2937;font-weight:600;font-size:14px}.due-value.overdue{color:#ef4444}.days-left{font-size:12px;color:#6b7280}.days-left.overdue{color:#ef4444;font-weight:600}.submit-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s ease}.submit-btn:hover{background:#2563eb}@media(max-width:768px){.student-assignments{padding:16px;margin-top:16px}.assignments-header{flex-direction:column;gap:16px;align-items:flex-start}.assignments-stats{gap:16px}.assignments-grid{grid-template-columns:1fr;gap:16px}.assignment-footer{flex-direction:column;gap:12px;align-items:flex-start}.submit-btn{align-self:stretch;text-align:center}}@media(max-width:480px){.student-assignments{padding:12px}.stat-item{min-width:50px}.stat-number{font-size:20px}.assignment-card{padding:16px}}:root{--primary-color: #00fff2;--primary-dark: #0072ff;--secondary-color: #6366f1;--success-color: #10b981;--error-color: #ef4444;--warning-color: #f59e0b;--info-color: #3b82f6;--text-primary: #ffffff;--text-secondary: #8892b0;--text-muted: #64748b;--bg-primary: #0a0a12;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--surface: rgba(255, 255, 255, .02);--surface-hover: rgba(255, 255, 255, .05);--border-color: rgba(255, 255, 255, .1);--border-focus: var(--primary-color);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}.student-dashboard{min-height:100vh;background:radial-gradient(circle at center,var(--bg-primary) 0%,#000000 100%);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary);position:relative;overflow-x:hidden;padding:6rem 1rem 2rem}.dashboard-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center;gap:1rem}.error-state h3{color:var(--error-color);margin:0}.retry-button{background:var(--primary-color);color:var(--bg-primary);border:none;border-radius:var(--radius-md);padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.retry-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #00fff24d}.dashboard-header{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}.student-info{display:flex;flex-direction:column;gap:.5rem}.student-name{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.student-id{font-size:1rem;color:var(--text-secondary);margin:0;opacity:.8}.student-archetype{font-size:.9rem;color:var(--primary-color);margin:.25rem 0;font-weight:600;text-transform:capitalize}.student-characteristics{font-size:.85rem;color:var(--text-secondary);margin:.25rem 0;font-style:italic;opacity:.9}.student-ai-insights{font-size:.8rem;color:var(--info-color);margin:.5rem 0 0;padding:.5rem;background:#3b82f61a;border-radius:var(--radius-sm);border-left:2px solid var(--info-color)}.risk-badge{background:var(--warning-color);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 0 20px currentColor;display:flex;align-items:center;gap:.5rem}.ai-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 0 10px #8b5cf64d}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;display:flex;align-items:center;gap:.5rem}.overview-section{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.metric-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;transition:all var(--transition-normal)}.metric-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.metric-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.progress-bar{width:100%;height:10px;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:var(--radius-sm);transition:width var(--transition-normal) ease-in-out;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.insights-section{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}.insights-list{display:flex;flex-direction:column;gap:1rem}.insight-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:var(--radius-md);border-left:4px solid;background:var(--bg-tertiary);transition:all var(--transition-normal)}.insight-item:hover{transform:translate(5px)}.insight-success{border-left-color:var(--success-color)}.insight-warning{border-left-color:var(--warning-color)}.insight-danger{border-left-color:var(--error-color)}.insight-info{border-left-color:var(--info-color)}.insight-icon{font-size:1.2rem;font-weight:700;min-width:20px}.insight-message{color:var(--text-primary);font-size:.95rem;line-height:1.4}.actions-section{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.action-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--bg-primary);border:none;border-radius:var(--radius-md);padding:1rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:.75rem;text-transform:uppercase;letter-spacing:.05em}.action-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #00fff24d}.action-button:active{transform:translateY(0)}.action-icon{font-size:1.2rem}@media(max-width:768px){.student-dashboard{padding:4rem .5rem 2rem}.dashboard-title{font-size:2rem}.overview-card{padding:1.5rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.risk-section{flex-direction:column;gap:1rem;text-align:center}}@media(max-width:480px){.dashboard-title{font-size:1.75rem}.overview-card{padding:1rem}.metrics-grid{grid-template-columns:1fr}.metric-header{flex-direction:column;gap:.5rem;text-align:center}}.login-container{min-height:100vh;background:radial-gradient(circle at center,var(--bg-primary) 0%,#000000 100%);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary);display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-xl);max-width:500px;width:100%;text-align:center;transition:all var(--transition-normal)}.login-card:hover{border-color:var(--primary-color);box-shadow:0 0 30px #00fff21a}.login-header{margin-bottom:2rem}.login-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.login-subtitle{font-size:1rem;color:var(--text-secondary);margin:0;opacity:.8}.login-content{display:flex;flex-direction:column;gap:1.5rem;width:100%}.login-description{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0}.login-note{font-size:.85rem;color:var(--text-muted);line-height:1.4;margin:1rem 0 0;padding:.75rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);border-left:3px solid var(--primary-color)}.login-options{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.login-button{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--bg-primary);border:none;border-radius:var(--radius-md);padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.05em;position:relative;overflow:hidden}.ai-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:2px solid rgba(139,92,246,.3);box-shadow:0 0 20px #8b5cf633}.ai-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #8b5cf666}.simple-button{background:linear-gradient(135deg,var(--success-color),#059669);border:2px solid rgba(16,185,129,.3);box-shadow:0 0 20px #10b98133}.simple-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #10b98166}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #00fff24d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-button:hover:before:not(:disabled){left:100%}.risk-selection{margin-top:2rem;padding:1.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.risk-selection h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem;text-align:center}.risk-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}.risk-button{padding:.75rem 1rem;border:2px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center}.risk-button:hover{border-color:var(--primary-color);background:var(--surface-hover);color:var(--text-primary);transform:translateY(-2px)}.risk-button.selected{border-color:var(--primary-color);background:var(--primary-color);color:var(--bg-primary);font-weight:600;box-shadow:0 0 20px #00fff24d}.risk-actions{display:flex;gap:1rem;justify-content:center}.confirm-button{padding:.875rem 1.5rem;background:var(--primary-color);color:var(--bg-primary);border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.confirm-button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #00fff266}.confirm-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{padding:.875rem 1.5rem;background:transparent;color:var(--text-secondary);border:2px solid var(--border-color);border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.cancel-button:hover{border-color:var(--error-color);color:var(--error-color);background:#ef44441a}.academic-selection{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;box-sizing:border-box}.selection-group{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:0}.selection-group label{color:var(--text-primary);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.selection-dropdown{width:100%;padding:.875rem;background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .3s ease;box-sizing:border-box}.selection-dropdown:hover{border-color:var(--primary-color)}.selection-dropdown:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #00fff21a}.selection-dropdown:disabled{opacity:.6;cursor:not-allowed}.login-options{display:flex;gap:1.5rem;margin-bottom:1.5rem;width:100%}.login-button{flex:1;padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;min-height:52px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.login-button:disabled{opacity:.6;cursor:not-allowed}.ai-button{background:var(--primary-color);color:var(--bg-primary)}.ai-button:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #00fff266}.simple-button{background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color)}.simple-button:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px)}@media(max-width:480px){.login-container{padding:1rem}.login-card{padding:2rem}.login-title{font-size:1.75rem}.academic-selection{flex-direction:column;gap:1rem}.risk-buttons{grid-template-columns:1fr}.risk-actions{flex-direction:column}.confirm-button,.cancel-button{width:100%}}:root{--primary-color: #00fff2;--primary-dark: #0072ff;--secondary-color: #6366f1;--success-color: #10b981;--error-color: #ef4444;--warning-color: #f59e0b;--text-primary: #ffffff;--text-secondary: #8892b0;--text-muted: #64748b;--bg-primary: #0a0a12;--bg-secondary: #1a1a2e;--bg-tertiary: #16213e;--surface: rgba(255, 255, 255, .02);--surface-hover: rgba(255, 255, 255, .05);--border-color: rgba(255, 255, 255, .1);--border-focus: var(--primary-color);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1)}.assignment-dashboard{min-height:100vh;background:radial-gradient(circle at center,var(--bg-primary) 0%,#000000 100%);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text-primary);position:relative;overflow-x:hidden;padding:6rem 1rem 2rem}.assignment-dashboard.loading-state{display:flex;align-items:center;justify-content:center}.loading-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.loading-text{font-size:1.5rem;font-weight:600;color:var(--primary-color);animation:pulseGlow 2s infinite ease-in-out}.loading-subtitle{font-size:1rem;color:var(--text-secondary);max-width:300px}@keyframes pulseGlow{0%,to{opacity:.7}50%{opacity:1}}.assignment-dashboard.error-state{display:flex;align-items:center;justify-content:center}.error-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;max-width:500px;padding:2rem}.error-icon{font-size:4rem;opacity:.7}.error-title{font-size:1.75rem;font-weight:700;color:var(--error-color);margin:0}.error-message{font-size:1rem;color:var(--text-secondary);line-height:1.5;margin:0}.error-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.dismiss-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.dismiss-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.dashboard-container{max-width:1400px;margin:0 auto;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1.5rem}.header-content{display:flex;flex-direction:column;gap:1rem}.dashboard-title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:.75rem}.title-icon{font-size:2.2rem;-webkit-text-fill-color:initial;background:none}.header-stats{display:flex;gap:2rem}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-number{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.stat-label{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.header-actions{display:flex;align-items:center}.create-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--bg-primary);border:none;padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 14px #00fff233;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.create-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00fff24d;filter:brightness(1.1)}.btn-icon{font-size:1rem}.secondary-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;display:inline-block}.secondary-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem}.section-icon{font-size:1.2rem}.section-title:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-radius:2px}.search-sort-section{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.search-container{flex:1;min-width:300px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;font-size:1.2rem;color:var(--text-secondary);z-index:1}.search-input{width:100%;background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.875rem 1rem .875rem 3rem;font-size:1rem;color:var(--text-primary);transition:all var(--transition-normal);outline:none}.search-input::placeholder{color:var(--text-muted);opacity:.7}.search-input:focus{border-color:var(--border-focus);background:#00fff208;box-shadow:0 0 0 3px #00fff21a}.clear-search-btn{position:absolute;right:1rem;background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:.25rem;border-radius:50%;transition:all var(--transition-fast)}.clear-search-btn:hover{background:#ffffff1a;color:var(--text-primary)}.sort-controls{display:flex;align-items:center;gap:1rem}.sort-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.sort-buttons{display:flex;gap:.5rem}.sort-btn{background:var(--surface);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:.5rem}.sort-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.sort-btn.active{background:var(--primary-color);color:var(--bg-primary);border-color:var(--primary-color)}.sort-arrow{font-size:.75rem}.filters-section{margin-bottom:2rem;background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg)}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.clear-filters-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:.5rem}.clear-filters-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:.75rem;font-size:1rem;color:var(--text-secondary);z-index:1}.clear-input-btn{position:absolute;right:.75rem;background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.25rem;border-radius:50%;transition:all var(--transition-fast)}.clear-input-btn:hover{background:#ffffff1a;color:var(--text-primary)}.filter-input,.filter-select{background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.95rem;color:var(--text-primary);transition:all var(--transition-normal);outline:none;box-sizing:border-box}.filter-input{padding-left:2.5rem;padding-right:2.5rem}.filter-select{padding-left:2.5rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2300fff2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1.5rem}.filter-input::placeholder{color:var(--text-muted);opacity:.7}.filter-input:focus,.filter-select:focus{border-color:var(--border-focus);background:#00fff208;box-shadow:0 0 0 3px #00fff21a}.bulk-actions-section{margin-bottom:2rem;background:linear-gradient(135deg,#00fff21a,#0088ff1a);border:1px solid rgba(0,255,242,.3);border-radius:var(--radius-lg);padding:1.5rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bulk-actions-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.bulk-info{font-size:1rem;color:var(--text-primary);font-weight:500}.bulk-buttons{display:flex;gap:1rem}.bulk-deselect-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.bulk-deselect-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.bulk-delete-btn{background:var(--error-color);color:var(--text-primary);border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;gap:.5rem}.bulk-delete-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.assignments-section{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg)}.assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.filtered-info{font-size:.875rem;color:var(--text-secondary);background:#00fff21a;padding:.25rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(0,255,242,.2)}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.assignment-card{background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-normal);position:relative;overflow:hidden}.assignment-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--primary-dark));transform:scaleX(0);transition:transform .3s ease}.assignment-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--primary-color)}.assignment-card:hover:before{transform:scaleX(1)}.assignment-card.hovered{border-color:#00fff24d;transform:translateY(-2px)}.assignment-card.selected{border-color:var(--primary-color);background:#00fff20d;box-shadow:0 0 0 3px #00fff21a}.assignment-card.overdue{border-color:var(--error-color);background:#ef44440d}.assignment-card.overdue:before{background:linear-gradient(90deg,var(--error-color),#dc2626)}.card-checkbox{position:absolute;top:1rem;right:1rem;z-index:2}.checkbox-input{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--primary-color)}.card-header{margin-bottom:1rem}.title-section{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.assignment-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;flex:1}.card-badges{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.status-icon{font-size:.875rem}.overdue-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--error-color);color:var(--text-primary);white-space:nowrap;display:flex;align-items:center;gap:.25rem}.overdue-icon{font-size:.875rem}.card-content{margin-bottom:1.5rem}.assignment-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:1rem}.assignment-meta{display:flex;flex-direction:column;gap:.5rem}.meta-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.meta-item:last-child{border-bottom:none}.meta-item.overdue .meta-value{color:var(--error-color);font-weight:600}.meta-icon{font-size:1rem;opacity:.7;min-width:1rem}.meta-label{font-size:.875rem;color:var(--text-muted);font-weight:500;min-width:80px}.meta-value{font-size:.875rem;color:var(--text-primary);font-weight:400;flex:1}.card-actions{display:flex;gap:.75rem;flex-wrap:wrap}.view-btn,.edit-btn,.delete-btn{flex:1;min-width:100px;padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;text-align:center;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:.5rem}.view-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--bg-primary)}.view-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00fff24d;filter:brightness(1.1)}.edit-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color)}.edit-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.delete-btn{background:var(--error-color);color:var(--text-primary)}.delete-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.no-assignments{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.no-data-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-assignments h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.no-assignments p{font-size:1rem;line-height:1.6;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.no-assignments-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid transparent;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{color:var(--error-color);font-size:1rem;margin-bottom:1.5rem;background:#ef44441a;padding:1rem 1.5rem;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.2)}.retry-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.retry-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.export-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.875rem 1.5rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.export-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.export-btn:disabled{opacity:.5;cursor:not-allowed}.stats-toggle-btn{background:var(--primary-color);color:var(--bg-primary);border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:.5rem}.stats-toggle-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.preview-btn,.quick-edit-btn,.duplicate-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);border:none;outline:none;text-align:center;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:.5rem}.preview-btn:hover{background:var(--surface-hover);border-color:var(--primary-color);transform:translateY(-1px)}.quick-edit-btn:hover{background:#00fff21a;border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px)}.duplicate-btn:hover{background:#667eea1a;border-color:var(--secondary-color);color:var(--secondary-color);transform:translateY(-1px)}.stats-section{margin-bottom:2rem;background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);animation:slideDown .5s ease}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:#0003;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-2px);border-color:var(--primary-color);box-shadow:0 4px 12px #00fff21a}.stat-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.stat-title{font-size:.875rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.stat-progress{margin-top:.5rem}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .8s ease}.progress-fill.total{background:linear-gradient(90deg,var(--primary-color),var(--primary-dark))}.progress-fill.active{background:linear-gradient(90deg,var(--success-color),#059669)}.progress-fill.overdue{background:linear-gradient(90deg,var(--error-color),#dc2626)}.progress-fill.draft{background:linear-gradient(90deg,var(--warning-color),#d97706)}.quick-edit-section{background:#00fff20d;border:1px solid rgba(0,255,242,.2);border-radius:var(--radius-md);padding:1.5rem;margin-top:1rem;animation:slideDown .3s ease}.quick-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.quick-edit-header h4{font-size:1.1rem;font-weight:600;color:var(--primary-color);margin:0}.cancel-edit-btn{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:50%;transition:all var(--transition-fast)}.cancel-edit-btn:hover{background:#ffffff1a;color:var(--text-primary)}.quick-edit-form{display:flex;flex-direction:column;gap:1rem}.quick-edit-input,.quick-edit-textarea{background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem;font-size:.95rem;color:var(--text-primary);transition:all var(--transition-normal);outline:none;font-family:inherit}.quick-edit-input:focus,.quick-edit-textarea:focus{border-color:var(--primary-color);background:#00fff208;box-shadow:0 0 0 3px #00fff21a}.quick-edit-textarea{resize:vertical;min-height:80px}.quick-edit-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.cancel-btn:hover{background:var(--surface-hover);border-color:var(--text-secondary)}.save-btn{background:var(--primary-color);color:var(--bg-primary);border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal)}.save-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.meta-value-group{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.meta-date{font-size:.75rem;color:var(--text-muted);opacity:.7}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preview-modal,.export-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all var(--transition-fast)}.modal-close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.modal-content{padding:1.5rem}.preview-section{margin-bottom:2rem}.preview-section h4{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.preview-section h5{font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.preview-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.preview-section p{color:var(--text-secondary);line-height:1.6;margin:0}.preview-meta{display:flex;flex-direction:column;gap:.75rem}.preview-meta-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.preview-meta-item:last-child{border-bottom:none}.modal-actions{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color);justify-content:flex-end}.export-modal .modal-content p{color:var(--text-secondary);margin-bottom:1.5rem}.export-options{display:flex;flex-direction:column;gap:1rem}.export-option-btn{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);text-align:left}.export-option-btn:hover{background:var(--surface-hover);border-color:var(--primary-color);transform:translateY(-1px)}.export-icon{font-size:2rem;opacity:.8}.export-option-content h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.export-option-content p{font-size:.875rem;color:var(--text-secondary);margin:0}@media(max-width:768px){.assignment-dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:stretch;text-align:center;gap:1.5rem}.header-content{align-items:center}.header-stats{gap:1rem;flex-wrap:wrap}.stats-toggle-btn{width:100%;justify-content:center}.dashboard-title{font-size:2rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.search-sort-section{flex-direction:column;align-items:stretch;gap:1rem}.modal-overlay{padding:1rem}.preview-modal,.export-modal{max-height:95vh}.export-option-btn{padding:1rem}.export-icon{font-size:1.5rem}.search-container{min-width:auto}.sort-controls{justify-content:center}.filters-header{flex-direction:column;gap:1rem;align-items:stretch}.filter-grid{grid-template-columns:1fr;gap:1rem}.bulk-actions-content{flex-direction:column;gap:1rem;text-align:center}.assignments-header{flex-direction:column;gap:1rem;align-items:stretch}.assignments-grid{grid-template-columns:1fr;gap:1rem}.title-section{flex-direction:column;gap:.75rem}.card-badges{justify-content:flex-start}.card-actions,.quick-edit-actions,.modal-actions{flex-direction:column}.view-btn,.edit-btn,.delete-btn{width:100%}}@media(max-width:480px){.dashboard-title{font-size:1.75rem}.filters-section,.assignments-section{padding:1.5rem 1rem}.assignment-card{padding:1rem}.assignment-title,.section-title{font-size:1.1rem}}@media(prefers-contrast:high){:root{--border-color: rgba(255, 255, 255, .3);--text-secondary: #ffffff}.filter-input,.filter-select{border-width:2px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
