@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--font-primary:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--bg-color:#5130a4;--card-bg:#161d2db3;--card-border:#ffffff14;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-color:#6366f1;--accent-glow:#6366f159}*,html,body,div,span,nav,main,section,ul,ol,li,input,textarea{box-sizing:border-box;margin:0;padding:0;scrollbar-width:none!important;-ms-overflow-style:none!important}::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}body::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}div::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}[style*=overflow]::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-track{background:0 0!important;display:none!important}::-webkit-scrollbar-track{background:0 0!important;display:none!important}::-webkit-scrollbar-thumb{background:0 0!important;display:none!important}::-webkit-scrollbar-thumb{background:0 0!important;display:none!important}::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}html,body,#root{background-color:var(--bg-color);width:100%;height:100%;min-height:100dvh;color:var(--text-primary);font-family:var(--font-primary);-webkit-tap-highlight-color:transparent;margin:0;padding:0;overflow:hidden}.app-container{background-color:#5130a4;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.empty-state-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;padding:48px 36px;animation:.5s ease-out fadeIn;display:flex;box-shadow:0 20px 50px #0006}.status-badge{color:#818cf8;letter-spacing:.5px;text-transform:uppercase;background:#6366f11f;border:1px solid #6366f14d;border-radius:20px;align-items:center;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.empty-state-card h1{color:var(--text-primary);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.empty-state-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mobile-device-wrapper{width:100%;height:100dvh;box-shadow:none;background-color:#5130a4;border:none;border-radius:0;margin:0;padding:0;position:relative;overflow:hidden}@media (width>=769px) and (hover:hover) and (pointer:fine){html,body,#root{background:radial-gradient(circle at 50% 25%,#2a1650 0%,#110924 100%);justify-content:center;align-items:center;display:flex}.mobile-device-wrapper{border-radius:44px;max-width:420px;height:94vh;max-height:880px;margin:auto;box-shadow:0 0 0 10px #1e1b2e,0 25px 60px #0009}}.splash-screen{background-color:#000;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-family:Outfit,sans-serif;display:flex;position:relative;overflow:hidden}.splash-grid{z-index:1;pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:50%;background-size:64px 64px;position:absolute;inset:0}.splash-content-wrapper{z-index:2;flex-direction:column;align-items:center;width:100%;margin-top:-80px;display:flex}.splash-image-collage{justify-content:center;align-items:center;width:100%;margin-bottom:40px;display:flex}.collage-shape{justify-content:center;align-items:center;width:100%;display:flex}.collage-shape img{width:100%;height:auto;display:block}.fallback-collage{background-color:#333;border-radius:20px;width:280px;height:180px;position:relative}.fallback-collage:before,.fallback-collage:after{content:"";background-color:#000;border-radius:12px;width:60px;height:60px;position:absolute}.fallback-collage:before{top:-20px;left:40px}.fallback-collage:after{bottom:-20px;right:40px}.splash-branding{text-align:center;margin-bottom:50px}.splash-title{margin:0 0 16px;font-size:34px;font-weight:400;line-height:1.2}.text-white{color:#fff}.text-purple{color:#7224c1;font-weight:500}.splash-tagline{color:#fff;letter-spacing:.2px;margin:0;font-size:17px;font-weight:300}.splash-progress-container{background-color:#fff;border-radius:10px;width:240px;height:12px;overflow:hidden;box-shadow:0 2px 10px #00000080}.splash-progress-fill{background-color:#7224c1;border-radius:10px;height:100%;transition:width .1s linear}.splash-version{color:#888;z-index:2;font-size:14px;font-weight:300;position:absolute;bottom:40px}.login-screen{color:#fff;background:linear-gradient(#9526f4 0%,#1d123e 50%,#000 100%);flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-family:Outfit,sans-serif;display:flex;position:relative;overflow:hidden}.login-background-svg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.login-brand-logo,.login-title,.login-subtitle,.login-form,.login-version{z-index:2}.login-brand-logo{flex-direction:column;align-items:center;margin-top:-60px;margin-bottom:40px;display:flex}.login-logo-icon{object-fit:cover;border-radius:20px;width:150px;height:auto;margin-bottom:10px}.login-brand-name{letter-spacing:2px;font-size:28px;font-weight:600}.login-title{letter-spacing:1px;margin-bottom:8px;font-size:32px;font-weight:500}.login-subtitle{color:#ccc;margin-bottom:40px;font-size:16px;font-weight:300}.login-form{flex-direction:column;align-items:center;width:100%;max-width:280px;display:flex}.login-input-wrapper{width:100%;margin-bottom:20px;position:relative}.login-input-icon{color:#888;z-index:3;width:20px;height:20px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.login-input{color:#fff;box-sizing:border-box;background-color:#ffffff1a;border:1px solid #fff3;border-radius:25px;outline:none;width:100%;height:50px;padding:0 20px 0 48px;font-size:16px;transition:all .3s}.login-input::placeholder{color:#888}.login-input:focus{background-color:#ffffff26;border-color:#7224c1;box-shadow:0 0 0 4px #7224c133}.login-continue-btn{color:#fff;cursor:pointer;background-color:#7224c1;border:none;border-radius:22px;width:140px;height:44px;margin-top:10px;font-size:16px;font-weight:500;transition:all .2s;box-shadow:0 4px 15px #7224c166}.login-continue-btn:hover{background-color:#8a3ad8;transform:translateY(-2px)}.login-continue-btn:active{transform:translateY(0)}.login-version{color:#666;font-size:14px;font-weight:300;position:absolute;bottom:40px}.syllabus-modal-overlay{z-index:1000;flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.syllabus-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.syllabus-modal-content{background:#f8f9fa;border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;height:90%;display:flex;position:relative;overflow:hidden;box-shadow:0 -4px 20px #00000026}.syllabus-modal-header{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.syllabus-modal-title{align-items:center;gap:10px;display:flex}.syllabus-modal-title h2{color:#1a1a1a;margin:0;font-size:18px;font-weight:700}.syllabus-close-btn{color:#888;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:background .2s;display:flex}.syllabus-close-btn:hover{color:#1a1a1a;background:#f0f0f0}.syllabus-modal-body{flex:1;padding:20px 24px 60px;overflow-y:auto}.syllabus-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;margin-bottom:24px;padding:20px;box-shadow:0 2px 8px #0000000a}.overview-row{flex-wrap:wrap;gap:20px;display:flex}.overview-col{flex-direction:column;flex:1;gap:4px;display:flex}.overview-label{text-transform:uppercase;color:#888;letter-spacing:.5px;font-size:11px;font-weight:600}.overview-val{color:#1a1a1a;font-size:14px;font-weight:600}.overview-val.highlight{color:var(--accent-teal);font-weight:700}.overview-val.title{color:#1a1a1a;font-size:18px}.mt-3{margin-top:16px}.overview-desc{color:#555;margin:6px 0 0;font-size:14px;line-height:1.5}.syllabus-section{margin-bottom:28px}.section-title{color:#1a1a1a;border-bottom:2px solid #f0f0f0;align-items:center;gap:8px;margin:0 0 16px;padding-bottom:8px;font-size:16px;font-weight:700;display:flex}.syllabus-list{color:#444;margin:0;padding-left:20px;font-size:14px;line-height:1.6}.syllabus-list li{margin-bottom:8px}.syllabus-list.references li{color:#333;font-style:italic;list-style-type:square}.modules-container{flex-direction:column;gap:12px;display:flex}.module-card{border:1px solid #e0e0e0;border-left:4px solid var(--accent-teal);background:#fff;border-radius:8px;padding:16px}.module-header{justify-content:space-between;margin-bottom:6px;display:flex}.module-id{color:var(--accent-teal);text-transform:uppercase;font-size:12px;font-weight:700}.module-weight{color:#888;font-size:12px;font-weight:600}.module-title{color:#1a1a1a;margin:0 0 8px;font-size:15px;font-weight:700}.module-topics{color:#555;margin:0;font-size:13px;line-height:1.5}.assessment-table-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.assessment-table{border-collapse:collapse;width:100%}.assessment-table th,.assessment-table td{text-align:left;border-bottom:1px solid #f0f0f0;padding:12px 16px;font-size:13px}.assessment-table th{color:#888;text-transform:uppercase;background:#f8f9fa;font-size:11px;font-weight:600}.assessment-table td{color:#333;font-weight:500}.assessment-table td.marks{color:#1a1a1a;text-align:right;font-weight:700}.assessment-table tr:last-child td{border-bottom:none}.session-modal-overlay{z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.session-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.session-modal-content{background:#f4f5f7;border-radius:12px;flex-direction:column;width:100%;max-width:100%;max-height:85%;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0003}.session-modal-header{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.session-modal-header h2{color:#2b71b9;margin:0;font-size:18px;font-weight:500}.session-close-btn{color:#aaa;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.session-close-btn:hover{color:#333;background:#f0f0f0}.session-modal-body{flex:1;padding:20px;overflow-y:auto}.session-faculty-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;overflow:hidden}.session-faculty-table{border-collapse:collapse;width:100%}.session-faculty-table th,.session-faculty-table td{text-align:left;border-bottom:1px solid #eee;padding:12px 16px;font-size:12px}.session-faculty-table th{color:#333;background:#f9f9f9;font-weight:700}.session-faculty-table td{color:#555}.session-faculty-table tr:last-child td{border-bottom:none}.session-modules-container{flex-direction:column;gap:16px;display:flex}.session-module-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.session-module-header{cursor:pointer;background:#fff;align-items:center;padding:16px;transition:background .2s;display:flex}.session-module-header:hover{background:#fdfdfd}.session-module-icon{background:#2b71b9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-right:16px;display:flex}.session-module-title{color:#333;flex:1;font-size:14px;font-weight:500;line-height:1.4}.session-module-toggle{color:#888;justify-content:center;align-items:center;padding-left:12px;display:flex}.session-module-details{padding:0 16px 16px 72px;overflow:hidden}.session-module-desc{color:#666;margin:0 0 12px;font-size:13px;line-height:1.6}.session-topics-list{border-top:1px solid #e0e0e0;padding-top:8px}.topic-item-row{border-bottom:1px solid #e0e0e0;align-items:flex-start;padding:12px 0;display:flex}.topic-item-row:last-child{border-bottom:none}.topic-index{color:#a0a0a0;text-align:left;flex-shrink:0;width:28px;font-size:13px}.topic-content{flex:1;align-items:flex-start;gap:10px;display:flex}.topic-dot{background:#65a30d;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.topic-text-wrapper{display:inline}.topic-type{color:#1a1a1a;font-size:13.5px;font-weight:700}.topic-text{color:#444;font-size:13.5px;line-height:1.5}.topic-hours{color:#2b71b9;padding-left:12px;font-size:13px;font-weight:500}.courses-screen{padding:0 20px 20px}.courses-header-title{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.courses-header-title h2{color:#fff;letter-spacing:-.5px;margin:0;font-size:24px;font-weight:700}.semester-selector{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;display:flex}.semester-selector label{color:#ffffffe6;font-size:13px;font-weight:500}.select-wrapper{align-items:center;display:flex;position:relative}.semester-dropdown{color:#fff;cursor:pointer;background:0 0;border:none;outline:none;padding-right:4px;font-size:14px;font-weight:700}.semester-dropdown option{color:#1a1a1a;background:#fff}.courses-list{flex-direction:column;gap:16px;padding-bottom:80px;display:flex}.course-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:12px;padding:20px;display:flex}.course-card-header{justify-content:space-between;align-items:center;display:flex}.course-code{letter-spacing:.5px;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700}.course-type{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.course-name{color:#1a1a1a;margin:0;font-size:16px;font-weight:700;line-height:1.3}.course-attendance{margin-top:4px}.attendance-label{color:#666;justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.attendance-bar-bg{background:#f0f0f0;border-radius:3px;height:6px;overflow:hidden}.attendance-bar-fill{border-radius:3px;height:100%}.attendance-fraction{color:#888;text-align:right;margin-top:6px;font-size:11px}.course-attendance-na{color:#888;margin-top:4px;padding:8px 0;font-size:12px;font-style:italic}.course-actions{border-top:1px solid #f0f0f0;gap:8px;margin-top:8px;padding-top:16px;display:flex}.action-btn.outline{color:#444;cursor:pointer;background:0 0;border:1px solid #e0e0e0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 0;font-size:12px;font-weight:600;transition:all .2s;display:flex}.action-btn.outline:hover{color:#1a1a1a;background:#f8f8f8;border-color:#d0d0d0}.semester-completed{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-top:12px;padding:40px 20px;display:flex}.completed-icon-box{background:#00a89615;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:8px;display:flex}.semester-completed h3{color:#1a1a1a;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:700}.semester-completed p{color:#666;max-width:250px;margin:0;font-size:14px;line-height:1.5}.timetable-container{flex-direction:column;gap:16px;height:100%;padding:16px;display:flex}.timetable-header h2{color:#fff;letter-spacing:-.5px;margin:0 0 4px;font-size:24px;font-weight:700}.timetable-subtitle{color:#ffffffd9;margin:0;font-size:14px}.timetable-day-selector-wrapper{scrollbar-width:none;margin:0 -16px;padding:0 16px 8px;overflow-x:auto}.timetable-day-selector-wrapper::-webkit-scrollbar{display:none}.timetable-day-selector{gap:10px;display:flex}.day-btn{cursor:pointer;background:#fff;border:1px solid #eaeaea;border-radius:14px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:64px;padding:12px 20px;transition:all .2s cubic-bezier(.2,0,0,1);display:flex;box-shadow:0 2px 4px #00000005}.day-btn:active{transform:scale(.95)}.day-btn.active{color:#fff;background:linear-gradient(135deg,#6c48d3 0%,#5130a4 100%);border-color:#0000;transform:translateY(-2px);box-shadow:0 8px 16px #5130a440}.day-btn.active:active{transform:translateY(0)scale(.95)}.day-btn .day-name{font-size:15px;font-weight:600}.timetable-content{flex:1;margin:0 -16px;padding:0 16px 24px;overflow-y:auto;scrollbar-width:none!important;-ms-overflow-style:none!important}.timetable-content::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.timetable-list{flex-direction:column;gap:16px;display:flex}.timetable-class-card{opacity:0;background:#fff;border:1px solid #0000000d;border-radius:20px;padding:16px;transition:transform .2s,box-shadow .2s;animation:.4s cubic-bezier(.2,0,0,1) forwards slideUpFade;display:flex;transform:translateY(15px);box-shadow:0 4px 12px #00000008}.timetable-class-card:active{transform:scale(.98);box-shadow:0 2px 6px #00000005}@keyframes slideUpFade{to{opacity:1;transform:translateY(0)}}.class-time-col{border-right:1px dashed #e0e0e0;flex-direction:column;align-items:center;min-width:85px;padding-right:16px;display:flex}.time-start,.time-end{color:#888;white-space:nowrap;font-size:13px;font-weight:600}.time-start{color:#1a1a1a}.time-line{background:#f0f0f0;border-radius:2px;flex:1;width:2px;margin:6px 0}.class-info-col{flex-direction:column;flex:1;justify-content:center;padding-left:16px;display:flex}.class-header{margin-bottom:6px}.class-code{color:#5130a4;letter-spacing:.5px;background:#f0ebf8;border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.class-name{color:#1a1a1a;margin:0 0 10px;font-size:16px;font-weight:700;line-height:1.3}.class-details{flex-direction:column;gap:6px;display:flex}.detail-item{color:#555;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.detail-item.text-red{color:#dc2626}.faculty-screen{background-color:#5130a4;flex-direction:column;flex:1;height:100%;display:flex}.faculty-content{background-color:#fff;border-top-left-radius:24px;border-top-right-radius:24px;flex:1;padding:24px 20px;overflow-y:auto}.faculty-header{margin-bottom:24px}.faculty-header h1{color:#333;margin:0;font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:700}.faculty-grid{flex-direction:column;gap:16px;display:flex}.faculty-card{background-color:#f1edfa;border:1px solid #eadefb;border-radius:16px;align-items:center;gap:16px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 10px #0000000d}.faculty-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.faculty-image{object-fit:cover;background-color:#eadefb;border:2px solid #fff;border-radius:12px;width:60px;height:60px}.faculty-info{flex-direction:column;display:flex}.faculty-name{color:#333;margin:0 0 4px;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600}.faculty-subject{color:#666;margin:0;font-family:Inter,sans-serif;font-size:.85rem;font-weight:400;line-height:1.3}.exam-result-screen{background-color:#fff;height:100%;padding:0 20px 20px;overflow-y:auto}.exam-header{margin-bottom:24px}.exam-header h2{color:#000;margin-bottom:8px;font-family:Montserrat,sans-serif;font-size:1.25rem;font-weight:600}.exam-student-info{margin-bottom:16px}.exam-student-info p{color:#333;margin:4px 0;font-size:.9rem}.exam-student-info strong{color:#000}.exam-controls{align-items:center;gap:12px;margin-bottom:20px;display:flex}.exam-select{color:#333;border:1px solid #ccc;border-radius:8px;outline:none;padding:8px 12px;font-family:Montserrat,sans-serif;font-weight:500}.exam-card{margin-bottom:20px}.exam-table{border-collapse:collapse;width:100%;min-width:600px}.exam-table th,.exam-table td{text-align:left;color:#444;border-bottom:1px solid #efefef;padding:12px 16px;font-size:.85rem}.exam-table th{color:#000;white-space:nowrap;background-color:#f1edfa;font-weight:600}.exam-table tbody tr:last-child td{border-bottom:none}.exam-final-result{color:#15803d;margin:0;font-size:1.1rem;font-weight:700}.exam-footer-notes{grid-template-columns:1fr;gap:16px;display:grid}.exam-note-card{color:#666;font-size:.8rem;line-height:1.5}.exam-note-card td{padding:4px 0}.exam-form-screen{background-color:#fff;height:100%;padding:0 20px 20px;overflow-y:auto}.exam-form-instructions{color:#856404;margin-bottom:20px;font-size:.85rem;line-height:1.5}.selected-row{background-color:#fafafa}.badge{border-radius:12px;padding:4px 8px;font-size:.75rem;font-weight:600}.regular-badge{color:#0369a1;background-color:#e0f2fe}.exam-form-actions{border-top:1px solid #efefef;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;display:flex}.selected-count{color:#666;margin:0;font-size:.9rem;font-weight:500}.submit-form-btn{color:#fff;cursor:pointer;background-color:#5130a4;border:none;border-radius:8px;padding:12px 24px;font-family:Montserrat,sans-serif;font-weight:600;transition:opacity .2s}.submit-form-btn:hover{opacity:.9}.submit-form-btn:disabled{cursor:not-allowed;background-color:#ccc}.rechecking-screen{background-color:#fff;height:100%;padding:0 20px 20px;overflow-y:auto}.rechecking-header h2{color:#000;margin-bottom:24px;font-family:Montserrat,sans-serif;font-size:1.25rem;font-weight:600}.rechecking-student-info{margin-bottom:20px}.rechecking-list{flex-wrap:wrap;gap:12px 0;margin:0;padding:0;list-style:none;display:flex}.rechecking-list li{color:#555;align-items:center;width:100%;font-size:.9rem;display:flex}.rechecking-list li i{color:#4caf50;margin-right:8px;font-size:1.1rem}.rechecking-list li b{color:#333;margin-left:6px}@media (width>=768px){.rechecking-list li{width:50%}}.rechecking-divider{border-top:1px dotted #ccc;margin:20px 0}.rechecking-notes{color:#856404;margin-bottom:20px;line-height:1.6}.rechecking-notes h3{margin-top:0;margin-bottom:12px;font-size:1.1rem;font-weight:600}.rechecking-notes p{margin:0;font-size:.85rem}.rechecking-notes br{content:"";margin-bottom:8px;display:block}.main-app-container{color:#fff;background-color:#5130a4;position:relative;overflow:hidden}.app-content-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none!important;-ms-overflow-style:none!important}.app-content-scroll::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.figma-header{padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top,0px));background-color:#0000;justify-content:space-between;align-items:center;display:flex}.header-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:flex}.hamburger-line{background-color:#fff;border-radius:2px;width:24px;height:2px}.header-logo{align-items:center;gap:8px;display:flex}.header-logo-img{width:auto;height:32px}.header-logo-text{color:#fff;font-size:1.25rem;font-weight:600}.header-profile-avatar{border:2px solid #fff3;border-radius:50%;width:36px;height:36px;overflow:hidden}.header-avatar-img{object-fit:cover;width:100%;height:100%}.home-screen{padding:0 20px 80px}.home-search-bar{background-color:#fff;border-radius:24px;align-items:center;gap:12px;margin-bottom:24px;padding:12px 20px;display:flex}.home-search-icon{width:18px;height:18px}.home-search-text{color:#838383;font-size:.95rem}.home-att-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.home-att-title{color:#fff;font-size:1rem;font-weight:500}.home-att-view{color:#ffffffb3;cursor:pointer;font-size:.75rem}.home-profile-card{background-color:#f1edfa;border-radius:16px;align-items:center;gap:16px;margin-bottom:24px;padding:16px;display:flex;box-shadow:0 4px 20px #0000001a}.home-profile-photo{background:#fff;border-radius:12px;width:60px;height:60px;overflow:hidden}.home-profile-photo img{object-fit:cover;width:100%;height:100%}.home-profile-details{flex-direction:column;flex:1;gap:2px;display:flex}.home-profile-name{color:#333;font-size:.95rem;font-weight:600}.home-profile-course{color:#666;font-size:.8rem}.home-profile-viewdetails{color:#999;margin-top:4px;font-size:.65rem}.home-donut-wrapper{width:50px;height:50px}.home-donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.home-metrics-row{gap:16px;margin-bottom:24px;display:flex}.home-fee-card,.home-cgpa-card,.CardCgpa{background-color:#fff;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;height:110px;padding:16px;display:flex}.home-fee-text,.home-cgpa-label{color:#333;font-size:.9rem;font-weight:600}.home-classes-section{background-color:#fff;border-radius:24px;margin-bottom:16px;margin-left:-20px;margin-right:-20px;padding:24px 20px}.home-classes-inner{outline-offset:-1px;background-color:#eadefb;border-radius:6px;outline:1px solid #b39fd0;padding:16px 20px}.home-attendance-section{background-color:#fff;border-radius:24px;margin-bottom:24px;margin-left:-20px;margin-right:-20px;padding:24px 20px 30px}.home-classes-title,.home-attendance-title{color:#333;margin-bottom:16px;font-size:1.1rem;font-weight:700}.classes-date-row{align-items:center;gap:16px;margin-bottom:12px;display:flex}.classes-nav-btns{gap:8px;display:flex}.classes-nav-btn{color:#666;cursor:pointer;background:#f0f0f0;border:none;border-radius:8px;width:28px;height:28px;font-size:.8rem}.classes-date{color:#333;font-size:.9rem;font-weight:500}.classes-day-label{color:#999;margin-bottom:16px;font-size:.8rem}.class-row{border-bottom:1px solid #f0f0f0;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.class-row:last-child{border-bottom:none;margin-bottom:0}.class-time-col{flex-direction:column;align-items:flex-end;min-width:45px;display:flex}.class-time{color:#333;font-size:.85rem;font-weight:500}.class-time-dash{color:#999;margin:2px 0;font-size:.7rem}.class-dot{align-items:flex-start;padding-top:4px;display:flex}.class-blue-dot{background-color:#5130a4;border-radius:50%;width:8px;height:8px}.class-info-col{flex-direction:column;gap:4px;display:flex}.class-subject{color:#333;font-size:.9rem;font-weight:600;line-height:1.3}.class-faculty,.class-room{color:#666;font-size:.8rem}.home-attendance-table{flex-direction:column;gap:16px;display:flex}.attendance-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.attendance-row:last-child{border-bottom:none;margin-bottom:0}.attendance-info{flex-direction:column;gap:4px;display:flex}.attendance-code{color:#999;font-size:.75rem}.attendance-name{color:#333;font-size:.9rem;font-weight:500}.attendance-pct{font-size:1rem;font-weight:700}.bottom-nav{padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background-color:#fff;border-top:1px solid #efefef;border-radius:0;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;display:flex}@media (width>=769px) and (hover:hover) and (pointer:fine){.bottom-nav{border-radius:0 0 44px 44px;padding:12px 20px}}.nav-item{color:#999;cursor:pointer;z-index:1;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px;display:flex;position:relative}.nav-item.active{color:#5130a4}.nav-item span{font-size:.65rem;font-weight:500}.active-pill{z-index:-1;background-color:#f1edfa;border-radius:12px;position:absolute;inset:0 -8px}.sidemenu-backdrop{-webkit-backdrop-filter:blur(6px);z-index:100;background:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.sidemenu-panel{z-index:101;width:78%;max-width:320px;height:100%;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));background:#fff;border-radius:0 24px 24px 0;flex-direction:column;display:flex;position:absolute;top:0;left:0;box-shadow:4px 0 20px #00000026}.sidemenu-dots{gap:8px;margin-bottom:32px;display:flex}.sidemenu-dots .dot{border-radius:50%;width:12px;height:12px}.dot-red{background-color:#ff5f56}.dot-yellow{background-color:#ffbd2e}.dot-green{background-color:#27c93f}.sidemenu-profile-card{align-items:center;gap:12px;margin-bottom:24px;display:flex}.sidemenu-avatar{background:#f1edfa;border-radius:50%;width:48px;height:48px;overflow:hidden}.sidemenu-avatar img{object-fit:cover;width:100%;height:100%}.sidemenu-profile-info{flex-direction:column;display:flex}.sidemenu-hello{color:#999;font-size:.8rem}.sidemenu-username{color:#333;font-size:.95rem;font-weight:600}.sidemenu-divider,.sidemenu-bottom-divider{background:#efefef;height:1px;margin:16px 0}.sidemenu-menu-label{color:#999;margin-bottom:16px;font-size:.8rem;font-weight:500}.sidemenu-nav{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;gap:8px;min-height:0;padding-bottom:40px;display:flex;overflow-y:auto;scrollbar-width:none!important;-ms-overflow-style:none!important}.sidemenu-nav::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.sidemenu-item{color:#666;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:16px;padding:12px;transition:all .2s;display:flex}.sidemenu-item.active{color:#fff;background:#5130a4;font-weight:600}.sidemenu-icon-box{justify-content:center;align-items:center;display:flex}.sidemenu-item-label{font-size:.95rem}.calendar-screen{padding:0 20px 20px}.calendar-header-title{margin-bottom:16px}.calendar-header-title h2{color:#fff;font-size:1.25rem;font-weight:600;font-family:var(--font-primary,"Montserrat", sans-serif)}.calendar-card{background-color:#fff;border-radius:24px;padding:20px 16px;box-shadow:0 4px 20px #0000001a}.calendar-controls{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-nav-group{border:1px solid #efefef;border-radius:8px;display:flex;overflow:hidden}.cal-btn{cursor:pointer;color:#5130a4;background:#fff;border:none;justify-content:center;align-items:center;padding:8px 12px;display:flex}.cal-btn:first-child{border-right:1px solid #efefef}.calendar-current-month{color:#333;align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.cal-btn-text{color:#5130a4;cursor:pointer;background:#fff;border:1px solid #efefef;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600}.calendar-grid-header{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:8px;display:grid}.calendar-day-name{color:#333;font-size:.75rem;font-weight:700}.calendar-grid{border-top:1px solid #efefef;border-left:1px solid #efefef;border-radius:8px;grid-template-columns:repeat(7,1fr);gap:0;display:grid;overflow:hidden}.calendar-cell{border-bottom:1px solid #efefef;border-right:1px solid #efefef;flex-direction:column;min-height:90px;padding:4px;display:flex}.calendar-cell.inactive .cell-date{color:#ccc}.cell-date{color:#666;align-self:flex-end;margin-bottom:4px;font-size:.7rem;font-weight:600}.cell-events{flex-direction:column;gap:3px;display:flex;overflow:hidden}.event-chip{border-radius:4px;padding:3px;font-size:.5rem;line-height:1.2;overflow:hidden}.event-time{margin-bottom:1px;font-weight:700}.event-title{white-space:normal;-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-chip.green{color:#15803d;background-color:#eadefb}.event-chip.blue{color:#1967d2;background-color:#0000}.event-chip.orange{color:#b45309;background-color:#fff0e6}.new-calendar-container{flex-direction:column;height:100%;padding:0 16px 20px;display:flex}.cal-banner{margin-bottom:12px}.cal-banner h2{color:#fff;font-size:1.25rem;font-weight:600}.cal-main-card{background-color:#fff;border-radius:20px;flex-direction:column;flex:1;display:flex;overflow:hidden;box-shadow:0 4px 20px #0000001a}.cal-toolbar{border-bottom:1px solid #efefef;flex-direction:column;gap:12px;padding:16px;display:flex}@media (width>=480px){.cal-toolbar{flex-direction:row;justify-content:space-between;align-items:center}}.cal-nav-group{border:1px solid #efefef;border-radius:8px;width:fit-content;display:flex;overflow:hidden}.cal-btn-icon,.cal-btn-text{color:#333;cursor:pointer;background:#fff;border:none;justify-content:center;align-items:center;padding:8px 12px;font-weight:500;display:flex}.cal-btn-icon:hover,.cal-btn-text:hover{background:#f1edfa}.cal-btn-text{border-left:1px solid #efefef;border-right:1px solid #efefef;font-size:.85rem}.cal-date-title{color:#333;text-align:center;font-size:1.1rem;font-weight:700}.cal-view-switchers{background:#f0f0f0;border-radius:8px;gap:4px;width:fit-content;margin:0 auto;padding:4px;display:flex}@media (width>=480px){.cal-view-switchers{margin:0}}.cal-view-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.cal-view-btn.active{color:#5130a4;background:#fff;box-shadow:0 1px 3px #0000001a}.icon-rect{border:2px solid;border-radius:2px;width:12px;height:14px}.cal-datepicker-wrapper{display:flex;position:relative}.cal-native-date-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute}.cal-content-area{background-color:#fafafa;flex:1;padding:12px;overflow-y:auto}.cal-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-day-header{text-align:center;color:#999;padding:8px 0;font-size:.75rem;font-weight:600}.cal-month-cell{aspect-ratio:.8;cursor:pointer;background:#fff;border:1px solid #efefef;border-radius:8px;flex-direction:column;padding:4px;display:flex;overflow:hidden}.cal-month-cell.bg-gray-50{background-color:#f9f9f9}.cal-month-cell.text-gray-400 .cal-month-date{color:#ccc}.cal-month-date{color:#333;border-radius:50%;justify-content:center;align-self:flex-end;align-items:center;width:20px;height:20px;margin-bottom:2px;font-size:.75rem;font-weight:600;display:flex}.cal-month-events{flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden}.cal-event-chip{border-radius:2px;flex-direction:column;padding:2px 4px;font-size:.5rem;display:flex}.cal-event-time{color:#333;font-weight:700}.cal-event-title{color:#333;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal-day-agenda{flex-direction:column;display:flex}.cal-agenda-row{border-bottom:1px solid #efefef;min-height:80px;display:flex}.cal-agenda-time{color:#999;text-align:right;border-right:1px solid #efefef;width:60px;padding:12px 8px;font-size:.8rem;font-weight:500}.cal-agenda-content{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex}.cal-day-event-card{border-radius:6px;padding:8px 12px;box-shadow:0 1px 2px #0000000d}.cal-day-event-header{flex-direction:column;margin-bottom:6px;display:flex}.cal-day-event-title{color:#333;font-size:.95rem;font-weight:600}.cal-day-event-time-badge{color:#666;font-size:.75rem;font-weight:500}.cal-day-event-details{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-badge-code{color:#333;background:#fff;border:1px solid #0000001a;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.cal-detail-item{color:#666;align-items:center;gap:4px;font-size:.75rem;display:flex}.cal-list-view{flex-direction:column;gap:16px;padding:8px;display:flex}.cal-list-item{gap:12px;display:flex}.cal-list-date-col{flex-direction:column;align-items:center;width:40px;display:flex}.cal-list-day{color:#999;text-transform:uppercase;font-size:.7rem;font-weight:600}.cal-list-date-num{color:#333;font-size:1.4rem;font-weight:700;line-height:1}.cal-list-content-card{border-radius:8px;flex-direction:column;flex:1;gap:6px;padding:12px;display:flex}.cal-list-time-badge{color:#5130a4;background:#ffffffb3;border-radius:12px;align-items:center;gap:4px;width:fit-content;padding:2px 8px;font-size:.75rem;font-weight:600;display:flex}.cal-list-title{color:#333;margin:0;font-size:1rem;font-weight:600}.cal-list-details{align-items:center;gap:8px;display:flex}.cal-loc-badge{color:#dc2626;align-items:center;gap:2px;font-size:.75rem;font-weight:500;display:flex}.cal-empty-state{color:#999;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:200px;display:flex}.cal-empty-state p{font-size:.95rem;font-weight:500}.ring-1{box-shadow:0 0 0 1px}.ring-inset{box-shadow:inset 0 0 0 1px}.ring-\[\#5130A4\]{color:#5130a4}.text-red-600{color:#dc2626}
