.auth-bg{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:Inter,Segoe UI,Arial,sans-serif}.auth-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 15px 35px #0000001a;border:1px solid rgba(255,255,255,.2);padding:40px 35px;width:100%;max-width:450px;display:flex;flex-direction:column;gap:18px}.auth-title{font-size:2rem;font-weight:800;color:#333;text-align:center;margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-label{font-size:.95rem;font-weight:600;color:#555;margin-bottom:6px;display:block}.auth-input{width:100%;padding:14px 16px;border:2px solid #e1e5e9;border-radius:12px;font-size:1rem;background:#f8f9fa;transition:all .3s ease;box-sizing:border-box}.auth-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.auth-btn{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:10px}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-error{background:#fee;color:#c53030;padding:12px 16px;border-radius:8px;border:1px solid #feb2b2;font-size:.9rem;text-align:center}.auth-success{background:#f0fff4;color:#38a169;padding:12px 16px;border-radius:8px;border:1px solid #9ae6b4;font-size:.9rem;text-align:center}.auth-radio-group{display:flex;gap:20px;margin:10px 0;justify-content:center}.auth-radio-label{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:500;color:#555;cursor:pointer;transition:color .3s ease}.auth-radio-label:hover{color:#667eea}.auth-radio{width:18px;height:18px;accent-color:#667eea}.auth-toggle{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:underline;margin-left:8px;font-size:inherit;transition:color .3s ease}.auth-toggle:hover{color:#764ba2}.teacher-code-section{animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.auth-bg{padding:15px}.auth-card{padding:30px 25px}.auth-title{font-size:1.7rem}.auth-radio-group{flex-direction:column;gap:12px;align-items:center}}.student-dashboard-main{min-height:100vh;background:linear-gradient(120deg,#f5f7fa,#e8eafc);font-family:Inter,Segoe UI,Arial,sans-serif}.student-dashboard-header{display:flex;justify-content:space-between;align-items:flex-end;padding:38px 40px 24px;background:#fff;box-shadow:0 1px 8px #2c465e0d;border-bottom:1.5px solid #e5e7eb}.student-dashboard-welcome{font-size:2.3rem;color:#272b4d;font-weight:900;letter-spacing:.01em}.student-dashboard-nav-buttons{display:flex;align-items:center;gap:16px}.student-dashboard-announcements-btn{background:#ffffffeb;color:#6366f1;border:2px solid #6366f1;border-radius:12px;padding:10px 22px;font-weight:600;font-size:1.05rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f126;display:flex;align-items:center;gap:8px;position:relative;overflow:hidden}.student-dashboard-announcements-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.student-dashboard-announcements-btn:hover{background:#6366f1;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #6366f14d}.student-dashboard-announcements-btn:hover:before{left:100%}.student-dashboard-announcements-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 16px #6366f166;transform:translateY(-1px)}.student-dashboard-announcements-btn .btn-icon{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.student-dashboard-logout{background:linear-gradient(90deg,#7f9cf5,#a78bfa);color:#fff;font-weight:600;border:none;border-radius:8px;padding:10px 26px;cursor:pointer;font-size:1.1rem;transition:background .2s,box-shadow .2s;box-shadow:0 2px 8px #7864ff1c}.student-dashboard-logout:hover{background:linear-gradient(90deg,#4f46e5,#7c3aed)}.announcements-section{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e5e7eb;box-shadow:0 4px 20px #00000014;animation:slideDown .3s ease-out}.student-dashboard-content{max-width:950px;margin:36px auto 0;display:flex;flex-direction:column;gap:28px}.student-dashboard-info-card,.student-dashboard-grades-card,.student-dashboard-stats-card{background:#fff;border-radius:15px;box-shadow:0 1px 8px #3c3c5a12;padding:28px 32px 18px;margin-bottom:0}.headline{font-size:1.38rem;font-weight:800;margin-bottom:18px;letter-spacing:.01em;display:flex;align-items:center;border-left:7px solid;padding-left:15px;background:none!important}.headline-blue{border-color:#2563eb;color:#22223b}.headline-orange,.headline-purple{border-color:#a78bfa;color:#22223b}.student-dashboard-info-list>div{display:flex;justify-content:space-between;padding:7px 0;font-size:1.12rem;border-bottom:1px solid #f1f1f1;color:#2b3139}.student-dashboard-info-list>div:last-child{border-bottom:none}.student-dashboard-info-list span{display:inline-block}.success{color:#22b573;font-weight:600}.danger{color:#ef233c;font-weight:600}.student-dashboard-grades-card table{width:100%;border-collapse:collapse;margin-top:8px;font-size:1.08rem;background:#f8fafc;border-radius:7px;overflow:hidden}.student-dashboard-grades-card th,.student-dashboard-grades-card td{border:1px solid #e5e7eb;padding:10px 14px;text-align:left}.student-dashboard-grades-card th{background:#e0e7ff;color:#374151;font-weight:700}.student-dashboard-grades-card tr:nth-child(2n){background:#f1f5f9}.info-message{padding:16px 0;text-align:center;font-size:1.08rem;color:#64748b}.info-warning{color:#7c3aed;background:#ede9fe;border-radius:6px}.student-dashboard-stats{display:flex;gap:32px;margin-top:10px}.student-dashboard-stats>div{flex:1 1 0;background:#f3f4f6;padding:20px 0 12px;border-radius:8px;text-align:center;box-shadow:0 1px 6px #3c3c5a12}.student-dashboard-stats span{color:#6366f1;font-size:1.05rem;display:block;margin-bottom:7px;font-weight:500;letter-spacing:.01em}.student-dashboard-stats b{font-size:1.27rem}@media (max-width: 768px){.student-dashboard-header{flex-direction:column;align-items:center;gap:20px;padding:24px 20px}.student-dashboard-welcome{font-size:1.8rem;text-align:center}.student-dashboard-nav-buttons{width:100%;justify-content:center;flex-wrap:wrap}.student-dashboard-announcements-btn,.student-dashboard-logout{padding:8px 18px;font-size:1rem}}.announcements-main{max-width:600px;margin:40px auto;background:#fff;border-radius:10px;box-shadow:0 3px 16px #0002;padding:24px 20px 10px}.announcements-title{font-size:1.6em;font-weight:700;margin-bottom:18px;color:#3c4bb7;text-align:center}.announcements-add{margin-bottom:22px;text-align:center}.announcements-add-btn,.announcements-cancel-btn,.announcements-delete-btn{background:#3c4bb7;color:#fff;border:none;padding:7px 20px;border-radius:7px;font-weight:500;margin:0 5px;cursor:pointer}.announcements-cancel-btn{background:#ccc;color:#333}.announcements-delete-btn{background:#e74c3c;color:#fff}.announcements-form{display:flex;flex-direction:column;gap:9px;align-items:center}.announcements-input,.announcements-textarea{width:90%;padding:7px;border-radius:6px;border:1px solid #bbb;font-size:1em}.announcements-textarea{min-height:48px;resize:vertical}.announcements-list{margin-top:9px}.announcement-card{background:#f6f8ff;border-radius:7px;margin-bottom:15px;padding:15px;box-shadow:0 1px 6px #3c4bb720}.announcement-header{display:flex;justify-content:space-between;font-size:1.08em;margin-bottom:6px}.announcement-title{font-weight:600;color:#222}.announcement-date{color:#888;font-size:.98em}.announcement-desc{margin-bottom:8px;color:#444;font-size:1.04em;white-space:pre-line}.announcement-footer{display:flex;justify-content:space-between;align-items:center;font-size:.98em;color:#667}.announcements-empty{color:#888;text-align:center;margin:25px 0}body{background:#eaf1fb;margin:0}.klas-navbar{width:100vw;position:sticky;top:0;z-index:50;min-height:76px;background:linear-gradient(90deg,#313860,#2563eb);box-shadow:0 6px 32px #2563eb22,0 1.5px 8px #6366f133;backdrop-filter:blur(18px) saturate(190%);-webkit-backdrop-filter:blur(18px) saturate(190%);display:flex;align-items:center;justify-content:center}.klas-navbar-inner{width:100%;max-width:1320px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;min-height:76px;border-radius:24px;background:#ffffff17;box-shadow:0 4px 18px #2563eb11;border:1.5px solid rgba(90,120,240,.11);margin:10px 14px 0}.klas-navbar-left{display:flex;align-items:center;gap:16px}.klas-navbar-logo{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#2563eb 65%);display:flex;align-items:center;justify-content:center;font-size:2.1em;color:#fff;margin-right:12px;box-shadow:0 2px 14px #2563eb44;font-weight:900;letter-spacing:-2px}.klas-navbar-title{color:#fff;font-size:1.38rem;font-weight:800;letter-spacing:-.5px;text-shadow:0 2px 12px #2227;transition:color .18s}.klas-navbar-title b{color:#ffe77a;font-weight:900;letter-spacing:.5px}.klas-navbar-right{display:flex;align-items:center;gap:18px}.klas-navbar-announcements-btn{background:#ffffff1f;color:#fff;border:2px solid rgba(255,255,255,.25);border-radius:14px;font-size:1.06rem;font-weight:600;padding:11px 24px;cursor:pointer;transition:all .25s ease;outline:none;letter-spacing:.3px;display:flex;align-items:center;gap:8px;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.klas-navbar-announcements-btn: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 .6s}.klas-navbar-announcements-btn:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-2px);box-shadow:0 8px 25px #2563eb4d}.klas-navbar-announcements-btn:hover:before{left:100%}.klas-navbar-announcements-btn.active{background:#fffffff2;color:#2563eb;border-color:#fffc;box-shadow:0 6px 20px #2563eb66;transform:translateY(-1px)}.klas-navbar-announcements-btn .btn-icon{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.klas-navbar-logout-btn{background:#ffffffed;color:#2563eb;border:none;border-radius:14px;font-size:1.08rem;font-weight:700;padding:12px 38px;box-shadow:0 2px 18px #6366f133,0 1.5px 7px #2563eb09;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;outline:none;letter-spacing:.2px}.klas-navbar-logout-btn:hover{background:#2563eb;color:#fff;box-shadow:0 6px 28px #2563eb3a}.announcements-section{background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(37,99,235,.1);box-shadow:0 4px 24px #2563eb1a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dashboard-center-main{max-width:1320px;margin:0 auto;padding:46px 2vw 30px;min-height:100vh;box-sizing:border-box;display:flex;flex-direction:column;gap:46px}.glass-box{background:#ffffffad;border-radius:28px;box-shadow:0 8px 38px #2563eb23,0 2px 12px #2563eb12;border:1.5px solid rgba(90,120,240,.12);padding:38px 44px 32px;margin:0 auto;width:100%;transition:box-shadow .19s,border .19s}.glass-box:hover{box-shadow:0 14px 48px #2563eb29,0 3px 16px #2563eb18;border:1.5px solid #2563eb33}@media (max-width:900px){.glass-box{padding:18px 7vw;border-radius:14px}}.modern-form-section{display:flex;justify-content:center;align-items:stretch;width:100%}.modern-grade-form{width:100%;max-width:1000px;min-height:220px;display:flex;flex-direction:column;align-items:center}.modern-grade-form h2{font-size:1.38rem;color:#2563eb;margin-bottom:30px;font-weight:800;letter-spacing:-.2px}.modern-grade-form-row{display:flex;gap:18px;width:100%;justify-content:center;flex-wrap:wrap}.modern-form-input,.modern-form-select{padding:17px 20px;border-radius:13px;border:1.5px solid #d1d5db;font-size:1.13em;min-width:165px;background:#f3f6fb;transition:border .2s}.modern-form-input:focus,.modern-form-select:focus{border:1.5px solid #6366f1;outline:none}.modern-form-btn{padding:17px 36px;background:linear-gradient(90deg,#6366f1,#2563eb 80%);color:#fff;font-weight:700;font-size:1.13em;border:none;border-radius:12px;cursor:pointer;box-shadow:0 2px 10px #6366f11a;transition:background .19s}.modern-form-btn:hover{background:#2563eb}.students-center-area{display:flex;justify-content:center;align-items:stretch;width:100%}.students-area-inner{width:100%}.students-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 52px;width:100%}@media (max-width: 950px){.students-grid{grid-template-columns:1fr;gap:18px 0}}.student-big-card{background:#ffffffd4;border-radius:22px;box-shadow:0 4px 24px #2563eb1b;padding:28px 28px 22px;min-height:220px;display:flex;flex-direction:column;gap:14px;border:1.5px solid rgba(90,120,240,.12);transition:box-shadow .19s,border .19s}.student-big-card:hover{box-shadow:0 12px 42px #2563eb22,0 3px 12px #2563eb18;border:1.5px solid #2563eb33}.student-big-name{font-size:1.21em;font-weight:800;color:#2563eb;margin-bottom:3px;letter-spacing:-.5px}.student-big-mail{font-size:.99em;color:#6366f1;margin-bottom:10px;font-weight:500;word-break:break-all}.student-big-notlar{margin-top:5px}.notlar-title{font-size:1.08em;font-weight:700;color:#374151;margin-bottom:8px}.student-no-grade{color:#64748b;font-size:1.01em;padding:10px 0}.student-notlar-list{display:flex;flex-direction:column;gap:10px}.notlar-row{display:flex;align-items:center;gap:15px;background:#f5f7ffe0;border-radius:9px;padding:7px 18px 7px 14px;box-shadow:0 1px 5px #2563eb0d;font-size:1.07em}.notlar-ders{color:#374151;font-weight:600;width:120px;min-width:90px}.notlar-grade{font-weight:700;border-radius:7px;padding:5px 18px;font-size:1.08em;margin-right:7px}.notlar-grade.passed{background:#22c55e;color:#fff}.notlar-grade.failed{background:#ef4444;color:#fff}.icon-btn{background:transparent;border:none;cursor:pointer;font-size:1.13em;margin-left:2px;transition:color .17s;vertical-align:middle}.icon-btn:hover{color:#2563eb}.edit-grade-input{padding:4px 8px;border-radius:6px;border:1.5px solid #d1d5db;font-size:1em;margin-right:4px;width:62px}.edit-grade-btn{background:#22c55e;color:#fff;border:none;border-radius:7px;padding:5px 14px;font-size:.98em;margin-right:5px;cursor:pointer}.edit-cancel-btn{background:#d1d5db;color:#374151;border:none;border-radius:7px;padding:5px 14px;font-size:.98em;cursor:pointer}.modern-stats-section h2{font-size:1.18em;color:#2563eb;margin-bottom:14px;font-weight:800;letter-spacing:-.5px}.modern-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}.modern-stats-box{background:#ffffffd9;border-radius:22px;padding:32px 0 20px;text-align:center;box-shadow:0 2px 18px #2563eb16;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-top:6px solid #2563eb;border-bottom:1.5px solid rgba(90,120,240,.12);border-left:1.5px solid rgba(90,120,240,.12);border-right:1.5px solid rgba(90,120,240,.12);transition:box-shadow .18s,border .13s}.modern-stats-label{color:#2563eb;font-size:1.13em;font-weight:700;margin-bottom:2px;letter-spacing:.2px}.modern-stats-value{font-size:2.2em;font-weight:800;margin-top:7px;color:#2563eb;letter-spacing:1px}.modern-stats-value.passed{color:#22c55e}.modern-stats-value.failed{color:#ef4444}@media (max-width: 700px){.klas-navbar-inner{padding:0 2vw;min-height:54px;margin:4px 1vw 0;border-radius:10px}.klas-navbar-title{font-size:1.02rem}.klas-navbar-logo{width:28px;height:28px;font-size:1em;margin-right:7px}.klas-navbar-right{gap:12px}.klas-navbar-announcements-btn{padding:8px 16px;font-size:.95rem;border-radius:10px}.klas-navbar-logout-btn{padding:7px 14px;font-size:1em;border-radius:7px}.glass-box{padding:12px 2vw;border-radius:10px}.students-grid{grid-template-columns:1fr;gap:12px 0}.student-big-card{padding:12px 7vw 10px;min-height:155px;border-radius:10px}.modern-stats-row{gap:12px}.modern-stats-box{padding:14px 0 10px;border-radius:10px}}.modern-stats-section{width:100%;margin:0 auto}.modern-stats-cards{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-top:14px}.modern-stats-card{min-width:210px;min-height:135px;background:#fff;border-radius:22px;box-shadow:0 6px 30px #2563eb1b;display:flex;flex-direction:row;align-items:center;gap:20px;padding:28px 32px;transition:transform .16s,box-shadow .15s;cursor:pointer;position:relative;overflow:hidden}.modern-stats-card:hover{transform:translateY(-7px) scale(1.045);box-shadow:0 16px 44px #2563eb35;z-index:2}.modern-stats-icon{font-size:2.7em;font-weight:800;filter:drop-shadow(0 2px 7px #0001);display:flex;align-items:center;justify-content:center}.modern-stats-main{font-size:2.7em;font-weight:900;color:#fff;letter-spacing:.5px;margin-bottom:4px;text-shadow:0 2px 9px #0002}.modern-stats-desc{font-size:1.08em;font-weight:600;color:#fff;opacity:.95;letter-spacing:.4px;text-shadow:0 2px 9px #0002}.gradient-blue{background:linear-gradient(120deg,#2563eb 60%,#60a5fa)}.gradient-green{background:linear-gradient(120deg,#22c55e 60%,#bef264)}.gradient-red{background:linear-gradient(120deg,#ef4444 60%,#fca5a5)}.gradient-yellow{background:linear-gradient(120deg,#facc15 60%,#fef08a);color:#444}.gradient-blue .modern-stats-main,.gradient-blue .modern-stats-desc,.gradient-green .modern-stats-main,.gradient-green .modern-stats-desc,.gradient-red .modern-stats-main,.gradient-red .modern-stats-desc{color:#fff}.gradient-yellow .modern-stats-main,.gradient-yellow .modern-stats-desc{color:#856404;text-shadow:0 2px 6px #fff7}@media (max-width: 900px){.modern-stats-cards{flex-direction:column;gap:16px;align-items:stretch}.modern-stats-card{min-width:0;width:100%;padding:22px 18px}.modern-stats-main{font-size:2em}}.demo-banner{background:#fff3cd;color:#856404;text-align:center;padding:14px 20px;font-size:1.02rem;font-weight:600;border-bottom:2px solid #ffeeba;box-shadow:0 2px 8px #00000010;z-index:45;position:relative}
