:root{--bg-parchment:#f9f6ef;--wood-dark:#2a1b11;--wood-medium:#4e3629;--wood-light:#705244;--gold-satin:#c5a059;--gold-light:#e5d4b3;--gold-dark:#8c6c3a;--cream-card:#fff;--cream-dark:#f0e9dc;--border-gold:#e5d8c0;--text-primary:#24180f;--text-muted:#6e645c;--text-light:#fff;--pass-bg:#e8f4eb;--pass-text:#225c34;--pass-border:#bcdbbd;--fail-bg:#f9ebeb;--fail-text:#942b2b;--fail-border:#f1c3c3;--cat-academic-bg:#fdfaf3;--cat-academic-txt:#8c6c3a;--cat-academic-border:#c5a059;--cat-exams-bg:#fdf2f2;--cat-exams-txt:#a12c2c;--cat-exams-border:#ecb2b2;--cat-holidays-bg:#f0faf1;--cat-holidays-txt:#2c723d;--cat-holidays-border:#a4ddb3;--cat-online-bg:#eff6ff;--cat-online-txt:#1e3a8a;--cat-online-border:#bfdbfe;--cat-offline-bg:#fff7ed;--cat-offline-txt:#7c2d12;--cat-offline-border:#ffedd5;--shadow-premium:0 8px 30px #2a1b110f;--shadow-gold:0 10px 25px #c5a0592e;--radius-lg:16px;--radius-md:8px;--radius-sm:4px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-parchment);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#student-app{flex-direction:column;align-items:center;min-height:100vh;margin:0 auto;padding:60px 20px;transition:all .3s;display:flex}#student-app.view-home{max-width:900px}#student-app.view-cse,#student-app.view-ece{width:100%;max-width:1100px}#student-app.view-calendar{width:100%;max-width:1300px}h1,h2,h3,.mini-month-title{letter-spacing:-.01em;font-family:Cormorant Garamond,Georgia,serif;font-weight:600}.lobby-container{text-align:center;width:100%;margin-top:5vh;animation:.5s fadeIn}.luxury-crest{justify-content:center;align-items:center;gap:16px;margin-bottom:24px;display:flex}.crest-line{background:linear-gradient(to right, transparent, var(--gold-satin), transparent);width:60px;height:1px}.crest-text{letter-spacing:.3em;color:var(--gold-dark);font-size:.75rem;font-weight:600}.lobby-header h1{color:var(--wood-dark);letter-spacing:.05em;margin-bottom:8px;font-size:3.5rem;line-height:1.1}.lobby-header .subtitle{letter-spacing:.25em;color:var(--gold-dark);font-family:Inter,sans-serif;font-size:.85rem;font-weight:500}.lobby-divider{justify-content:center;align-items:center;margin:36px 0;display:flex}.lobby-divider:before,.lobby-divider:after{content:"";background-color:var(--border-gold);width:120px;height:1px}.lobby-divider .diamond{background-color:var(--gold-satin);width:8px;height:8px;margin:0 12px;transform:rotate(45deg)}.navigation-grid{grid-template-columns:1fr 1fr;gap:28px;margin-bottom:60px;display:grid}.featured-card{border-color:var(--gold-satin);background:linear-gradient(135deg, var(--cream-card) 60%, var(--bg-parchment) 100%);border-width:2px;grid-column:span 2;padding:52px 32px}.nav-card{background-color:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);text-align:center;cursor:pointer;box-shadow:var(--shadow-premium);outline:none;flex-direction:column;align-items:center;padding:40px 24px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.nav-card:before{content:"";background-color:var(--wood-dark);opacity:0;width:100%;height:4px;transition:opacity .3s;position:absolute;top:0;left:0}.nav-card:hover:before{opacity:1}.nav-card:hover{border-color:var(--gold-satin);box-shadow:var(--shadow-gold);transform:translateY(-5px)}.card-icon{background-color:var(--bg-parchment);width:64px;height:64px;color:var(--wood-medium);border:1px dashed var(--border-gold);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;transition:all .3s;display:flex}.nav-card:hover .card-icon{background-color:var(--wood-dark);color:var(--gold-light);border-color:var(--gold-satin)}.card-title{color:var(--wood-dark);margin-bottom:12px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.75rem;font-weight:600}.card-desc{color:var(--text-muted);flex-grow:1;margin-bottom:28px;font-size:.875rem;line-height:1.6}.card-action{letter-spacing:.05em;text-transform:uppercase;color:var(--gold-dark);border-bottom:1px solid #0000;padding-bottom:2px;font-size:.85rem;font-weight:600;transition:all .2s}.nav-card:hover .card-action{color:var(--wood-dark);border-color:var(--gold-satin)}.lobby-footer{color:var(--text-muted);letter-spacing:.05em;border-top:1px solid var(--border-gold);max-width:400px;margin:0 auto;padding-top:24px;font-size:.75rem}.view-header-bar{border-bottom:1px solid var(--border-gold);justify-content:space-between;align-items:center;width:100%;margin-bottom:40px;padding-bottom:20px;display:flex}.btn-back{background-color:var(--wood-dark);color:var(--gold-light);border:1px solid var(--gold-satin);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.btn-back:hover{background-color:var(--wood-medium);color:#fff;box-shadow:0 4px 10px #2a1b1126}.view-title-wrapper{text-align:right}.view-title-wrapper h2{color:var(--wood-dark);font-size:2.25rem;line-height:1.1}.view-title-wrapper p{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);font-size:.8rem}.cse-container,.ece-container{width:100%;animation:.4s fadeIn}.search-container{flex-direction:column;align-items:center;width:100%;margin-bottom:40px;display:flex}.search-box{background:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);align-items:center;width:100%;max-width:600px;padding:8px 8px 8px 24px;transition:all .2s;display:flex}.search-box:focus-within{border-color:var(--gold-satin);box-shadow:var(--shadow-gold)}.search-icon{color:var(--gold-dark);margin-right:16px}.search-input{color:var(--text-primary);text-transform:uppercase;background:0 0;border:none;outline:none;flex:1;font-size:1rem;font-weight:500}.search-input::placeholder{color:var(--text-muted);text-transform:none;font-weight:400}.search-btn{background-color:var(--wood-dark);color:var(--gold-light);border:1px solid var(--gold-satin);border-radius:var(--radius-md);cursor:pointer;padding:14px 28px;font-size:.9rem;font-weight:600;transition:all .2s}.search-btn:hover{background-color:var(--wood-medium);color:#fff}.result-container{flex-direction:column;gap:28px;width:100%;animation:.4s fadeIn;display:none}.result-container.active{display:flex}.spinner-container{justify-content:center;margin-top:40px;display:none}.spinner-container.active{display:flex}.spinner{border:3px solid var(--cream-dark);border-top-color:var(--gold-satin);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-msg{background:var(--fail-bg);color:var(--fail-text);border:1px solid var(--fail-border);border-radius:var(--radius-md);text-align:center;width:100%;max-width:600px;box-shadow:var(--shadow-premium);margin-top:20px;padding:14px 20px;font-size:.9rem;display:none}.error-msg.active{display:block}.profile-card{background:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);flex-wrap:wrap;align-items:center;gap:28px;padding:32px;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--wood-dark) 0%, var(--wood-medium) 100%);border:2px solid var(--gold-satin);width:80px;height:80px;color:var(--gold-light);border-radius:50%;justify-content:center;align-items:center;font-family:Cormorant Garamond,serif;font-size:1.85rem;font-weight:700;display:flex;box-shadow:0 4px 15px #2a1b1133}.profile-info{flex:1;min-width:220px}.profile-name{color:var(--wood-dark);margin-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:2rem;font-weight:600}.profile-usn{color:var(--text-muted);letter-spacing:.05em;font-family:monospace;font-size:.95rem}.score-cards{gap:20px;display:flex}.score-card{border-radius:var(--radius-lg);text-align:center;min-width:120px;padding:16px 24px;box-shadow:inset 0 2px 4px #2a1b1108}.sgpa-card{background-color:#f3f6f3;border:1px solid #cce2cc}.sgpa-card .score-val{color:#1b5329}.cgpa-card{background-color:#f7f5f1;border:1px solid #dfd8cb}.cgpa-card .score-val{color:var(--wood-dark)}.score-val{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:800;line-height:1.1}.score-lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:6px;font-size:.7rem;font-weight:600}.semesters-nav{border-bottom:1px solid var(--border-gold);flex-wrap:wrap;gap:12px;padding-bottom:16px;display:flex}.sem-btn{color:var(--text-muted);border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 20px;font-size:.875rem;font-weight:600;transition:all .2s}.sem-btn:hover{background:var(--cream-dark);color:var(--text-primary)}.sem-btn.active{background:var(--wood-dark);border-color:var(--gold-satin);color:var(--gold-light);box-shadow:var(--shadow-premium)}.marks-section{flex-direction:column;gap:36px;display:flex}.marks-container{background:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);overflow:hidden}.marks-header{border-bottom:1px solid var(--border-gold);background-color:var(--cream-dark);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.marks-title{color:var(--wood-dark);font-size:1.25rem;font-weight:600}.marks-stats{color:var(--text-muted);font-size:.875rem}.marks-stats span{color:var(--wood-dark);font-weight:600}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{background-color:var(--bg-parchment);color:var(--wood-medium);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-gold);padding:16px 24px;font-size:.8rem;font-weight:600}td{border-bottom:1px solid var(--border-gold);padding:16px 24px;font-size:.9rem}tr:last-child td{border-bottom:none}tr:hover td{background-color:#fdfcf9}.subject-code{color:var(--text-muted);font-family:monospace;font-size:.85rem;font-weight:600}.subject-name{color:var(--text-primary);font-weight:500}.mark-val{color:var(--text-muted)}.mark-total{color:var(--wood-dark);font-size:.95rem;font-weight:700}.status-badge{border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.status-p{background:var(--pass-bg);color:var(--pass-text);border:1px solid var(--pass-border)}.status-f{background:var(--fail-bg);color:var(--fail-text);border:1px solid var(--fail-border)}.calendar-container{width:100%;animation:.4s fadeIn}.calendar-workspace{gap:28px;margin-top:10px;display:flex}.calendar-sidebar{flex-direction:column;flex-shrink:0;gap:32px;width:280px;display:flex}.mini-calendar{background-color:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);padding:20px}.mini-month-header{text-align:center;margin-bottom:12px}.mini-month-title{color:var(--wood-dark);font-size:1.4rem}.mini-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.mini-day-name{color:var(--gold-dark);text-transform:uppercase;border-bottom:1px solid var(--border-gold);padding-bottom:6px;font-size:.7rem;font-weight:700}.mini-day-cell{color:var(--text-primary);border-radius:50%;padding:4px 0;font-size:.75rem;transition:all .2s}.mini-day-cell.prev-month,.mini-day-cell.next-month{color:#dfdcd7}.mini-day-cell.today{background-color:var(--wood-dark);color:var(--gold-light);border:1px solid var(--gold-satin);font-weight:700}.mini-day-cell.has-event{color:var(--gold-dark);border-bottom:2px solid var(--gold-satin);font-weight:700}.calendar-filters{background-color:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);padding:24px}.calendar-filters h3{color:var(--wood-dark);border-bottom:1px dashed var(--border-gold);margin-bottom:16px;padding-bottom:8px;font-size:1.15rem}.filter-item{color:var(--text-primary);cursor:pointer;align-items:center;gap:12px;margin-bottom:12px;font-size:.85rem;font-weight:500;display:flex}.filter-item input{display:none}.checkbox-custom{border:1px solid var(--border-gold);border-radius:3px;width:14px;height:14px;transition:all .2s;display:inline-block;position:relative}.checkbox-academic{background-color:var(--cat-academic-bg);border-color:var(--cat-academic-border)}.checkbox-exams{background-color:var(--cat-exams-bg);border-color:var(--cat-exams-border)}.checkbox-holidays{background-color:var(--cat-holidays-bg);border-color:var(--cat-holidays-border)}.checkbox-online{background-color:var(--cat-online-bg);border-color:var(--cat-online-border)}.checkbox-offline{background-color:var(--cat-offline-bg);border-color:var(--cat-offline-border)}.filter-item input:checked+.checkbox-custom:after{content:"";border-radius:1px;width:6px;height:6px;position:absolute;top:3px;left:3px}#filter-academic:checked+.checkbox-custom:after{background-color:var(--cat-academic-txt)}#filter-exams:checked+.checkbox-custom:after{background-color:var(--cat-exams-txt)}#filter-holidays:checked+.checkbox-custom:after{background-color:var(--cat-holidays-txt)}#filter-online:checked+.checkbox-custom:after{background-color:var(--cat-online-txt)}#filter-offline:checked+.checkbox-custom:after{background-color:var(--cat-offline-txt)}.calendar-main{background-color:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);flex-direction:column;flex-grow:1;display:flex;overflow:hidden}.calendar-toolbar{background-color:var(--cream-dark);border-bottom:1px solid var(--border-gold);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.toolbar-left{align-items:center;gap:20px;display:flex}.toolbar-btn{background-color:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.toolbar-btn:hover{background-color:var(--bg-parchment);border-color:var(--gold-satin)}.toolbar-nav{align-items:center;gap:12px;display:flex}.toolbar-nav-btn{color:var(--wood-medium);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;font-weight:700;display:flex}.toolbar-nav-btn:hover{color:var(--gold-dark)}.toolbar-current-month{color:var(--wood-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;font-weight:600}.toolbar-right{background-color:var(--bg-parchment);border-radius:var(--radius-sm);border:1px solid var(--border-gold);padding:2px;display:flex}.toolbar-view-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.toolbar-view-btn.active{background-color:var(--cream-card);color:var(--wood-dark);box-shadow:0 1px 3px #2a1b1114}.calendar-grid-header{text-align:center;border-bottom:1px solid var(--border-gold);background-color:var(--bg-parchment);grid-template-columns:repeat(7,1fr);display:grid}.calendar-grid-header div{text-transform:uppercase;color:var(--wood-light);letter-spacing:.05em;padding:10px 0;font-size:.75rem;font-weight:700}.calendar-grid-body{background-color:var(--border-gold);grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(110px,1fr);gap:1px;display:grid}.calendar-day-cell{background-color:var(--cream-card);flex-direction:column;gap:6px;padding:10px;display:flex;position:relative}.calendar-day-cell.prev-month,.calendar-day-cell.next-month{background-color:#fcfcfc}.calendar-day-cell.prev-month .day-number,.calendar-day-cell.next-month .day-number{color:#dfdcd7}.calendar-day-cell.today{background-color:#fffdf9}.calendar-day-cell.today .day-number{background-color:var(--wood-dark);color:var(--gold-light);border:1px solid var(--gold-satin);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:700;display:flex}.day-number{color:var(--text-primary);align-self:flex-start;font-size:.85rem;font-weight:600}.day-events{flex-direction:column;gap:4px;display:flex}.calendar-event-pill{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:3px 6px;font-size:.72rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.calendar-event-pill:hover{transform:scale(1.02);box-shadow:0 2px 5px #00000014}.event-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.event-academic{background-color:var(--cat-academic-bg);color:var(--cat-academic-txt);border:1px solid var(--cat-academic-border)}.event-academic .event-dot{background-color:var(--cat-academic-border)}.event-exams{background-color:var(--cat-exams-bg);color:var(--cat-exams-txt);border:1px solid var(--cat-exams-border)}.event-exams .event-dot{background-color:var(--cat-exams-txt)}.event-holidays{background-color:var(--cat-holidays-bg);color:var(--cat-holidays-txt);border:1px solid var(--cat-holidays-border)}.event-holidays .event-dot{background-color:var(--cat-holidays-txt)}.event-online{background-color:var(--cat-online-bg);color:var(--cat-online-txt);border:1px solid var(--cat-online-border)}.event-online .event-dot{background-color:var(--cat-online-txt)}.event-offline{background-color:var(--cat-offline-bg);color:var(--cat-offline-txt);border:1px solid var(--cat-offline-border)}.event-offline .event-dot{background-color:var(--cat-offline-txt)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#2a1b1166;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.25s fadeIn;display:none;position:fixed;top:0;left:0}.modal-overlay.active{display:flex}.modal-card{background-color:var(--cream-card);border:1px solid var(--gold-satin);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:32px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 15px 40px #2a1b1140}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-category{letter-spacing:.08em;border-radius:var(--radius-lg);text-transform:uppercase;padding:3px 10px;font-size:.7rem;font-weight:700}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.5rem}.modal-close:hover{color:var(--wood-dark)}.modal-title{color:var(--wood-dark);margin-bottom:8px;font-size:1.85rem;line-height:1.2}.modal-date{color:var(--gold-dark);margin-bottom:20px;font-size:.85rem;font-weight:600}.modal-desc{color:var(--text-primary);font-size:.92rem;line-height:1.6}.calendar-auth-control{margin-right:20px}.btn-auth{background-color:var(--cream-card);color:var(--wood-dark);border:1px solid var(--border-gold);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-auth:hover{border-color:var(--gold-satin);color:var(--gold-dark);box-shadow:var(--shadow-premium)}.btn-auth.admin-active{background-color:var(--wood-dark);color:var(--gold-light);border-color:var(--gold-satin)}.btn-auth.admin-active:hover{background-color:var(--wood-medium);color:#fff}.calendar-day-cell.admin-active{cursor:pointer;transition:border-color .2s,background-color .2s}.calendar-day-cell.admin-active:hover{border:1px solid var(--gold-satin);z-index:10;background-color:#fffefb}.calendar-day-cell.admin-active:hover:after{content:"+";background-color:var(--wood-dark);width:20px;height:20px;color:var(--gold-light);border:1px solid var(--gold-satin);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 6px #2a1b1126}.modal-form{flex-direction:column;gap:16px;margin-top:12px;display:flex}.form-group{text-align:left;flex-direction:column;gap:6px;display:flex}.form-group label{text-transform:uppercase;color:var(--gold-dark);letter-spacing:.05em;font-size:.8rem;font-weight:700}.form-group input[type=text],.form-group input[type=password],.form-group select,.form-group textarea{border:1px solid var(--border-gold);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background-color:#fcfcfc;outline:none;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:all .2s}.form-group input[type=text]:focus,.form-group input[type=password]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold-satin);background-color:#fff;box-shadow:0 0 0 3px #c5a0591a}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper input{padding-right:40px!important}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute;right:12px}.password-toggle:hover{color:var(--wood-dark)}.form-submit-group{justify-content:flex-end;gap:12px;margin-top:12px;display:flex}.form-cancel-btn{background-color:var(--bg-parchment);color:var(--text-muted);border:1px solid var(--border-gold);border-radius:var(--radius-md);cursor:pointer;padding:10px 20px;font-size:.85rem;font-weight:600;transition:all .2s}.form-cancel-btn:hover{background-color:var(--cream-dark);color:var(--text-primary)}.form-submit-btn{background-color:var(--wood-dark);color:var(--gold-light);border:1px solid var(--gold-satin);border-radius:var(--radius-md);cursor:pointer;padding:10px 24px;font-size:.85rem;font-weight:600;transition:all .2s}.form-submit-btn:hover{background-color:var(--wood-medium);color:#fff}.form-help-text{color:var(--text-muted);text-align:center;border-top:1px dashed var(--border-gold);margin-top:12px;padding-top:12px;font-size:.75rem}.login-error-msg{color:var(--fail-text);background-color:var(--fail-bg);border:1px solid var(--fail-border);border-radius:var(--radius-sm);text-align:center;padding:8px 12px;font-size:.8rem;display:none}.login-error-msg.active{display:block}.modal-actions{border-top:1px dashed var(--border-gold);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;display:flex}.modal-btn{border-radius:var(--radius-md);cursor:pointer;padding:8px 18px;font-size:.8rem;font-weight:600;transition:all .2s}.edit-btn{background-color:var(--bg-parchment);color:var(--wood-dark);border:1px solid var(--gold-satin)}.edit-btn:hover{background-color:var(--cream-dark);color:var(--text-primary)}.delete-btn{background-color:var(--fail-bg);color:var(--fail-text);border:1px solid var(--fail-border)}.delete-btn:hover{background-color:#f7dddd}.format-buttons-group{gap:12px;display:flex}.format-btn{border:1px solid var(--border-gold);border-radius:var(--radius-md);background-color:var(--cream-card);color:var(--text-muted);cursor:pointer;outline:none;flex:1;padding:10px;font-size:.85rem;font-weight:600;transition:all .2s}.format-btn:hover{border-color:var(--gold-satin);color:var(--text-primary)}.format-btn.active[data-value=online]{background-color:var(--cat-online-bg);color:var(--cat-online-txt);border-color:var(--cat-online-border)}.format-btn.active[data-value=offline]{background-color:var(--cat-offline-bg);color:var(--cat-offline-txt);border-color:var(--cat-offline-border)}.pill-mode-tag{text-transform:uppercase;border-radius:3px;margin-left:6px;padding:1px 4px;font-size:.6rem;font-weight:700;display:inline-block}.pill-mode-tag.mode-online{background-color:var(--cat-online-bg);color:var(--cat-online-txt);border:1px solid var(--cat-online-border)}.pill-mode-tag.mode-offline{background-color:var(--cat-offline-bg);color:var(--cat-offline-txt);border:1px solid var(--cat-offline-border)}.modal-mode-badge{letter-spacing:.08em;border-radius:var(--radius-lg);margin-left:10px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-block}.modal-mode-badge.mode-online{background-color:var(--cat-online-bg);color:var(--cat-online-txt);border:1px solid var(--cat-online-border)}.modal-mode-badge.mode-offline{background-color:var(--cat-offline-bg);color:var(--cat-offline-txt);border:1px solid var(--cat-offline-border)}.lobby-toast{background-color:var(--cream-card);border:1px solid var(--gold-satin);border-radius:var(--radius-md);z-index:1000;opacity:0;pointer-events:none;flex-direction:column;width:320px;padding:16px 20px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s;display:flex;position:fixed;top:24px;right:24px;overflow:hidden;transform:translateY(-20px);box-shadow:0 15px 40px #2a1b112e}.lobby-toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.lobby-toast.hide{opacity:0;pointer-events:none;transform:translateY(-20px)}.toast-content{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.toast-icon{color:var(--gold-dark);flex-shrink:0;margin-top:2px}.toast-text-wrapper{text-align:left;flex-direction:column;gap:4px;display:flex}.toast-heading{color:var(--wood-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:700}.toast-message{color:var(--text-primary);font-size:.82rem;line-height:1.4}.toast-progress-bar{background:linear-gradient(90deg, var(--gold-satin), var(--wood-medium));width:100%;height:3px;position:absolute;bottom:0;left:0}.lobby-toast.show .toast-progress-bar{animation:5s linear forwards shrinkBar}@keyframes shrinkBar{0%{width:100%}to{width:0%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calendar-agenda{background-color:var(--bg-parchment);border-top:1px solid var(--border-gold);flex-direction:column;gap:16px;padding:24px;display:flex}.agenda-header{border-bottom:1px dashed var(--border-gold);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.agenda-title{color:var(--wood-dark);font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;font-weight:700}.agenda-add-btn{background-color:var(--wood-dark);color:var(--gold-light);border:1px solid var(--gold-satin);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.agenda-add-btn:hover{background-color:var(--wood-medium);box-shadow:var(--shadow-premium);transform:translateY(-1px)}.agenda-add-btn svg{margin-right:2px}.agenda-items{flex-direction:column;gap:14px;display:flex}.agenda-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;font-size:.9rem;display:flex}.agenda-empty svg{color:var(--gold-satin)}.agenda-card{background-color:var(--cream-card);border:1px solid var(--border-gold);border-radius:var(--radius-md);box-shadow:var(--shadow-premium);cursor:pointer;flex-direction:column;gap:10px;padding:18px;transition:transform .2s,box-shadow .2s,border-left-width .15s;display:flex;position:relative}.agenda-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2a1b1114}.agenda-card.event-academic{border-left:4px solid var(--cat-academic-border)}.agenda-card.event-exams{border-left:4px solid var(--cat-exams-border)}.agenda-card.event-holidays{border-left:4px solid var(--cat-holidays-border)}.agenda-card.event-online{border-left:4px solid var(--cat-online-border)}.agenda-card.event-offline{border-left:4px solid var(--cat-offline-border)}.agenda-card:hover.event-academic,.agenda-card:hover.event-exams,.agenda-card:hover.event-holidays,.agenda-card:hover.event-online,.agenda-card:hover.event-offline{border-left-width:6px}.agenda-card-header{justify-content:space-between;align-items:center;display:flex}.agenda-category-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:20px;padding:3px 10px;font-size:.72rem;font-weight:700}.agenda-category-badge.category-academic{background-color:var(--cat-academic-bg);color:var(--cat-academic-txt);border:1px solid var(--cat-academic-border)}.agenda-category-badge.category-exams{background-color:var(--cat-exams-bg);color:var(--cat-exams-txt);border:1px solid var(--cat-exams-border)}.agenda-category-badge.category-holidays{background-color:var(--cat-holidays-bg);color:var(--cat-holidays-txt);border:1px solid var(--cat-holidays-border)}.agenda-category-badge.category-online{background-color:var(--cat-online-bg);color:var(--cat-online-txt);border:1px solid var(--cat-online-border)}.agenda-category-badge.category-offline{background-color:var(--cat-offline-bg);color:var(--cat-offline-txt);border:1px solid var(--cat-offline-border)}.agenda-mode-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 8px;font-size:.65rem;font-weight:700}.agenda-mode-tag.mode-online{color:#0369a1;background-color:#e0f2fe;border:1px solid #bae6fd}.agenda-mode-tag.mode-offline{color:#b45309;background-color:#fef3c7;border:1px solid #fde68a}.agenda-event-title{color:var(--wood-dark);margin:0;font-size:1.1rem;font-weight:700}.agenda-event-desc{color:var(--text-primary);margin:0;font-size:.88rem;line-height:1.45}.agenda-card-actions{border-top:1px dashed var(--border-gold);justify-content:flex-end;gap:8px;margin-top:6px;padding-top:10px;display:flex}.agenda-action-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.agenda-action-btn.edit{color:var(--wood-medium);border:1px solid var(--border-gold)}.agenda-action-btn.edit:hover{background-color:var(--bg-parchment);color:var(--wood-dark);border-color:var(--gold-satin)}.agenda-action-btn.delete{color:var(--fail-text);border:1px solid var(--fail-border)}.agenda-action-btn.delete:hover{background-color:var(--fail-bg)}.calendar-day-cell.selected-day{box-shadow:inset 0 0 0 2px var(--gold-satin)!important;background-color:#fffbfa!important}@media (width<=900px){.calendar-workspace{flex-direction:column}.calendar-sidebar{flex-direction:row;align-items:stretch;width:100%}.mini-calendar,.calendar-filters{flex:1}}@media (width<=640px){.navigation-grid{grid-template-columns:1fr}.featured-card{grid-column:span 1;padding:40px 24px}.lobby-header h1{font-size:2.5rem}.profile-card{text-align:center;flex-direction:column;gap:20px}.score-cards{border-top:1px solid var(--border-gold);justify-content:center;width:100%;padding-top:20px}.marks-header{flex-direction:column;align-items:flex-start;gap:12px}.calendar-sidebar{flex-direction:column}}@media (width<=768px){.view-header-bar{grid-template-rows:auto auto!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:16px!important;width:100%!important;margin-bottom:24px!important;padding-bottom:16px!important;display:grid!important}.btn-back{grid-area:1/1!important;justify-self:start!important;padding:8px 14px!important;font-size:.78rem!important}.calendar-auth-control{grid-area:1/2!important;justify-self:end!important}.btn-auth{padding:8px 14px!important;font-size:.78rem!important}.view-title-wrapper{text-align:left!important;grid-area:2/1/auto/span 2!important}.view-title-wrapper h2{font-size:1.6rem!important}.view-title-wrapper p{font-size:.75rem!important}.calendar-workspace,.calendar-main{width:100%!important}.mini-calendar{display:none!important}.calendar-grid-body{grid-auto-rows:55px!important;gap:1px!important}.calendar-day-cell{cursor:pointer;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;min-height:55px!important;padding:6px 4px!important;display:flex!important}.day-number{align-self:flex-start!important;margin-top:0!important;margin-left:2px!important;font-size:.82rem!important}.calendar-day-cell .calendar-event-pill{width:6px!important;min-width:6px!important;height:6px!important;box-shadow:none!important;border:none!important;border-radius:50%!important;margin:1px!important;padding:0!important;display:inline-block!important;transform:none!important}.calendar-day-cell .calendar-event-pill .event-text,.calendar-day-cell .calendar-event-pill .pill-mode-tag,.calendar-day-cell .calendar-event-pill .event-dot{display:none!important}.calendar-day-cell .day-events{flex-flow:wrap!important;justify-content:flex-start!important;align-items:center!important;gap:3px!important;width:100%!important;height:auto!important;margin-top:4px!important;margin-bottom:0!important;margin-left:2px!important;display:flex!important}.calendar-day-cell .calendar-event-pill.event-academic{background-color:var(--cat-academic-border)!important}.calendar-day-cell .calendar-event-pill.event-exams{background-color:var(--cat-exams-border)!important}.calendar-day-cell .calendar-event-pill.event-holidays{background-color:var(--cat-holidays-border)!important}.calendar-day-cell .calendar-event-pill.event-online{background-color:var(--cat-online-txt)!important}.calendar-day-cell .calendar-event-pill.event-offline{background-color:var(--cat-offline-txt)!important}.calendar-toolbar{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:10px 14px!important}.toolbar-left{justify-content:space-between!important;gap:10px!important;width:100%!important}.toolbar-current-month{font-size:1.15rem!important}.toolbar-btn{padding:5px 10px!important;font-size:.78rem!important}.calendar-grid-header div{padding:6px 0!important;font-size:.7rem!important}.calendar-agenda{gap:12px!important;padding:16px 14px!important}.agenda-title{font-size:1.15rem!important}.agenda-add-btn{padding:5px 10px!important;font-size:.75rem!important}.agenda-card{gap:8px!important;padding:12px 14px!important}.agenda-event-title{font-size:1rem!important}.agenda-event-desc{font-size:.82rem!important}.search-box{box-shadow:none!important;background:0 0!important;border:none!important;flex-direction:column!important;gap:12px!important;padding:0!important;display:flex!important;position:relative!important}.search-input{background:var(--cream-card)!important;border:1px solid var(--border-gold)!important;border-radius:var(--radius-lg)!important;box-sizing:border-box!important;width:100%!important;padding:16px 16px 16px 48px!important;font-size:1rem!important}.search-icon{pointer-events:none!important;z-index:2!important;margin-right:0!important;position:absolute!important;top:15px!important;left:18px!important}.search-btn{box-sizing:border-box!important;border-radius:var(--radius-lg)!important;justify-content:center!important;width:100%!important;padding:14px 20px!important;font-size:.95rem!important}}
