@import"https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.css";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sidebar-width: 240px;--sidebar-width-min: 60px;--current-sidebar-width: var(--sidebar-width);--primary: #0054a4;--background: #0a1a2f;--accent: #dce3eb;--surface: #152238;--text-light: #f2f5f7;--success: #2ecc71;--accent-light: #dce3eb;--surface-light: #1c2f4a}.app-content{margin-left:var(--current-sidebar-width);transition:margin-left .3s ease}@media(max-width:768px){.app-content{margin-left:var(--sidebar-width-min)}}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}html,body{background:var(--background)!important;color:var(--text-light)}:root{--app-sidebar-width: 240px;--app-sidebar-minified-width: 60px;--app-sidebar-bg: var(--surface);--app-sidebar-hover: #1d2e46;--app-sidebar-color: var(--accent-light);--app-sidebar-active-bg: rgba(0, 84, 164, .22);--app-sidebar-active-border: var(--primary);--app-sidebar-minify-btn-bg: #0f1828;--app-sidebar-zindex: 1000;--submenu-bullet-color: var(--accent-light)}.app-sidebar{margin:0 auto;width:var(--app-sidebar-width);position:fixed;top:0;bottom:0;left:0;background:var(--app-sidebar-bg);color:var(--app-sidebar-color);display:flex;flex-direction:column;transition:width .3s ease;z-index:var(--app-sidebar-zindex);overflow-y:auto;overflow-x:hidden}.app-sidebar,.app-sidebar *{font-size:17px;min-width:0;white-space:nowrap}.app-sidebar.minified{width:var(--app-sidebar-minified-width)}.app-sidebar-content{flex:1;position:relative}.menu-header{padding:15px 20px 5px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.menu-item{position:relative}.menu-link{display:flex;align-items:center;text-decoration:none;color:var(--app-sidebar-color);padding:10px 20px;transition:background .2s,color .2s,padding .3s ease;white-space:nowrap;border-left:3px solid transparent}.menu-link:hover{background:var(--app-sidebar-hover);color:var(--text-light)}.menu-link.active-link{background:var(--app-sidebar-active-bg);border-left-color:var(--app-sidebar-active-border);color:var(--text-light)}.menu-icon{width:24px;margin-right:10px;font-size:17px}.app-sidebar.minified .menu-icon{margin-right:0;width:24px;text-align:center;border-radius:6px}.menu-text{flex:1}.menu-caret{margin-left:auto;opacity:.6;transition:transform .2s}.app-sidebar.minified .menu-text,.app-sidebar.minified .menu-caret,.app-sidebar.minified .menu-header{display:none!important}.app-sidebar.minified .menu-link{justify-content:center;padding:10px 18px}.menu-submenu{padding:0 0 5px 20px;position:relative;max-height:0;overflow:hidden;opacity:0;transform-origin:top;transition:max-height .26s cubic-bezier(.2,.8,.2,1),opacity .2s ease;will-change:max-height,opacity}.menu-item.expand .menu-submenu{max-height:420px;opacity:1}.app-sidebar.minified .menu-submenu{max-height:0;opacity:0;pointer-events:none}.submenu-link{display:block;text-align:left;color:#b5bdc9;text-decoration:none;padding:6px 10px 6px 48px;position:relative;margin-left:10px;background-image:linear-gradient(var(--app-sidebar-minify-btn-bg),var(--app-sidebar-minify-btn-bg));background-repeat:no-repeat;background-size:30px 2px;background-position:1px 50%;transform:translateY(-6px);opacity:0;transition:transform .22s ease,opacity .22s ease,color .2s}.submenu-link:hover{color:var(--text-light)}.menu-item.expand .submenu-link{transform:translateY(0);opacity:1}.menu-item.expand .submenu-link:nth-child(1){transition-delay:0ms}.menu-item.expand .submenu-link:nth-child(2){transition-delay:30ms}.menu-item.expand .submenu-link:nth-child(3){transition-delay:50ms}.menu-item.expand .submenu-link:nth-child(4){transition-delay:70ms}.menu-item.expand .submenu-link:nth-child(5){transition-delay:90ms}.submenu-link.active-link{color:var(--text-light)}.submenu-link.active-link:after{color:var(--app-sidebar-active-border)}.submenu-link:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:var(--app-sidebar-minify-btn-bg);z-index:5}.submenu-link:last-child:before{bottom:50%}.submenu-link:after{content:"•";position:absolute;left:28px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--submenu-bullet-color);z-index:10}.app-sidebar-minify-btn-container{display:flex;justify-content:end}.app-sidebar-minify-btn{-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:10px 0;border-radius:50% 0 0 50%;font-size:16px;line-height:1;background:var(--app-sidebar-minify-btn-bg);color:var(--app-sidebar-color);border:none;cursor:pointer;transition:background .15s ease;box-sizing:border-box}.app-sidebar-minify-btn:hover{background:#111a29}.app-sidebar-minify-btn:focus{outline:none;box-shadow:none}.app-sidebar-minify-btn>*{display:block;transform:none;margin:0;padding:0}.app-sidebar-backdrop{position:fixed;inset:0;background:#00000080;z-index:900;opacity:0;pointer-events:none;transition:opacity .3s ease}.app-sidebar-backdrop.show{opacity:1;pointer-events:auto}@media(min-width:769px){.app-sidebar-backdrop{display:none}}.sidebar-hover-preview{position:fixed;left:calc(var(--app-sidebar-minified-width) + 8px);background:var(--surface);border-radius:6px;padding:10px;box-shadow:0 4px 10px #0000004d;min-width:180px;animation:fadeIn .2s ease;z-index:2000;pointer-events:auto}.sidebar-hover-preview .hover-title{font-weight:700;color:var(--text-light);margin-bottom:6px}.hover-submenu-link{display:block;color:#b5bdc9;text-decoration:none;padding:4px 0;font-size:13px}.hover-submenu-link:hover{color:var(--text-light)}@keyframes fadeIn{0%{opacity:0;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.menu-submenu,.submenu-link{transition:none!important;transform:none!important;opacity:1!important;max-height:none!important;pointer-events:auto!important}}.menu-item.menu-profile{display:flex;justify-content:center;align-items:center}.menu-profile-link{width:100%}.menu-profile-cover{width:100%;height:72px;border-radius:8px;background-image:url(/assets/UBB_Logo-BrawlWld.png);background-repeat:no-repeat;background-size:cover;background-position:center;box-shadow:0 4px 10px #00000026;transition:width .18s ease,height .18s ease,border-radius .18s ease,transform .12s ease;margin:6px auto;display:block}.menu-profile-cover.with-shadow:before{content:"";position:absolute;inset:0;border-radius:8px;pointer-events:none;box-shadow:inset 0 0 0 1px #0000000f}.app-sidebar.minified .menu-item.menu-profile{padding:6px 8px}.app-sidebar.minified .menu-profile-cover{width:36px;height:36px;border-radius:50%;margin:4px auto}.menu-item.menu-profile,.menu-profile-link,.menu-profile-cover{min-width:0}.language-radio{display:inline-flex;flex-direction:row;justify-items:center;align-items:center;align-self:center}.language-radio label:has(input[type=radio]){font-size:large;border:solid 2px var(--timetable-button-color);border-radius:var(--timetable-border-radius);background:var(--timetable-button-color);padding:1px 5px;margin:10px 5px}.language-radio label:has(input[type=radio]:disabled){background:var(--timetable-text-highlight-color);border-color:var(--timetable-disabled-color);color:var(--timetable-disabled-color)}.language-radio label:has(input[type=radio]:hover){border-color:var(--timetable-border-color);transition:border-color var(--timetable-transition-time)}.language-radio input[type=radio]{position:absolute;opacity:0}.language-radio label:has(input[type=radio]:checked){background:var(--timetable-highlight-color);border-color:var(--timetable-highlight-color)}.grades-page{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--text-light);min-height:200vh;display:flex;flex-direction:column;align-items:center;padding:50px 20px;box-sizing:border-box}.filters-container{background-color:var(--surface);padding:30px 40px;border-radius:25px;box-shadow:0 8px 24px #0000008c;border:1px solid rgba(255,255,255,.05);width:95%;min-width:1200px;max-width:1600px;margin-bottom:50px;display:flex;justify-content:center}.filters-top{display:flex;flex-wrap:nowrap;gap:40px;width:100%;justify-content:space-between}.filter-item{display:flex;flex-direction:row;align-items:center;min-width:200px;padding:8px 12px;border-radius:12px;background-color:var(--surface-light);box-shadow:0 2px 8px #00000059;gap:10px;transition:transform .2s,box-shadow .2s}.filter-item label{font-weight:600;color:var(--accent-light);font-size:1.1rem;white-space:nowrap}.filter-item select{flex:1;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background-color:#0f1828;color:var(--text-light);font-size:1.05rem;cursor:pointer;transition:background .2s,transform .2s}.filter-item select:hover{background-color:#142033;transform:scale(1.02)}.grades-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;width:100%;max-width:1200px;justify-items:center;margin:0 auto 40px}.grade-card{background-color:var(--surface);padding:16px;border-radius:15px;display:flex;flex-direction:column;gap:10px;width:100%;max-width:240px;box-shadow:0 4px 10px #00000080;border-left:6px solid transparent;transition:transform .3s ease-out,box-shadow .3s ease-out}.grade-card:hover{cursor:pointer;transform:translateY(-4px);box-shadow:0 8px 20px #0009}.subject-name{font-size:1.4rem;font-weight:700;color:var(--text-light)}.credit-badge{font-size:1.05rem;color:var(--accent-light);display:flex;align-items:center;gap:8px}.grade-badge{font-weight:700;padding:8px 18px;border-radius:28px;text-align:center;width:fit-content;font-size:1.1rem;color:#fff;transition:transform .5s}.grade-card.pass{border-left-color:var(--success)}.grade-card.pass .grade-badge{background:linear-gradient(135deg,#2ecc71,#4ddc88)}.grade-card.fail{border-left-color:#cc2e5a}.grade-card.fail .grade-badge{background:linear-gradient(135deg,#cc2e5a,#e36c84)}.grade-card.not-counted{border-left-color:#d4af37}.grade-card.not-counted .grade-badge{background:linear-gradient(135deg,#d4af37,#f3d98c)}.average-score{font-size:1.4rem;font-weight:700;color:var(--text-light);background-color:var(--surface-light);padding:12px 24px;border-radius:30px;box-shadow:0 6px 16px #0006;text-align:center;display:inline-block}.scholarship-status{background-color:var(--surface);color:var(--text-light);padding:18px 22px;border-radius:14px;box-shadow:0 8px 24px #00000073;width:100%;max-width:420px;margin:20px auto;border:1px solid rgba(255,255,255,.05);box-sizing:border-box}.scholarship-status h3{margin:0 0 8px;font-size:1.25rem;color:var(--text-light)}.scholarship-status p{margin:6px 0;color:var(--accent-light)}.scholarship-status p strong{color:var(--text-light)}.scholarship-status .eligibility{display:inline-block;padding:6px 10px;border-radius:999px;font-weight:700;font-size:.95rem;margin-left:8px}.eligibility.eligible{background:linear-gradient(90deg,#2ecc71,#59e48b);color:#02150a}.eligibility.not-eligible{background:linear-gradient(90deg,#cc2e5a,#e36c84);color:#2a0000}.teacher-grades-container{max-width:1200px;margin:50px auto;padding:40px;background:#0d1b2a;border-radius:16px}.teacher-grades-table{width:100%;border-collapse:collapse;margin-top:20px}.teacher-grades-table th{background:#1e3a56;padding:12px;color:#e0e6ed}.teacher-grades-table td{padding:10px;border-bottom:1px solid #274059}.teacher-grades-actions{margin-top:20px;text-align:right}.grades-page-teacher-container{position:relative;font-family:Inter,Segoe UI,sans-serif;color:var(--text-light);max-width:1200px;margin:50px auto;padding:40px;background:#0d1b2a;border-radius:16px;box-shadow:0 4px 30px #00000059;animation:fadeIn .5s ease}.grades-page-title{color:#e0e6ed;font-size:2.2rem;font-weight:600;margin-bottom:28px;text-align:center;letter-spacing:1px}.grades-page-subtitle{margin-top:20px;color:#fff;font-size:1.4rem;text-align:center}.grades-panel{background:#1b263b;border-radius:14px;padding:25px;box-shadow:0 2px 14px #00000040;display:flex;gap:16px;justify-content:flex-start;flex-wrap:nowrap;max-width:1250px;margin-bottom:30px;animation:fadeInUp .6s ease}.grades-filter-item{display:flex;align-items:center;min-width:150px;padding:6px 10px;border-radius:12px;background-color:var(--surface-light);box-shadow:0 2px 8px #00000059;gap:8px;transition:transform .2s,box-shadow .2s}.grades-filter-item label{font-weight:600;color:var(--accent-light);font-size:1rem;white-space:nowrap}.grades-filter-item select{flex:1;height:32px;line-height:32px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background-color:#0f1828;color:var(--text-light);font-size:.95rem;cursor:pointer;transition:background .2s,transform .2s}.grades-filter-item select:hover{background-color:#142033;transform:scale(1.02)}.grades-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;width:100%}.grades-grade-card{background-color:var(--surface);padding:16px;border-radius:15px;display:flex;flex-direction:column;gap:10px;width:100%;max-width:240px;box-shadow:0 4px 10px #00000080;border-left:6px solid transparent;transition:transform .3s ease-out,box-shadow .3s ease-out}.grades-grade-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0009}.grades-subject-name{font-size:1.4rem;font-weight:700;color:var(--text-light)}.grades-credit-badge{font-size:1.05rem;color:var(--accent-light);display:flex;align-items:center;gap:8px}.grades-grade-badge{font-weight:700;padding:8px 18px;border-radius:28px;text-align:center;font-size:1.1rem;color:#fff;transition:transform .5s}.grades-empty-message{grid-column:1 / -1;text-align:center;color:#fff;font-size:1rem}.grades-table-inner{width:100%;border-collapse:collapse;margin-top:20px;border-radius:10px;overflow:hidden}.grades-table-inner th,.grades-table-inner td{padding:12px 18px;text-align:left;font-size:1rem;color:#d9e2ec}.grades-table-inner th{background-color:#0f1828;color:#e0e6ed;font-weight:700;font-size:1.1rem;border-bottom:2px solid #274059}.grades-table-inner tr:hover{background-color:#142033;transition:background-color .2s ease}.grades-update-button{position:absolute;bottom:20px;right:20px;padding:12px 20px;font-size:14px;font-weight:600;background-color:#1b263b;color:#fff;border:none;border-radius:8px;cursor:pointer;box-shadow:0 4px 10px #0003;transition:background-color .2s ease,opacity .2s ease}.grades-update-button:hover:not(:disabled){background-color:#243350}.grades-update-button:disabled{opacity:.5;cursor:not-allowed}:root{--timetable-border-radius: 7px;--timetable-border-color: rgba(220, 227, 235, .1);--timetable-table-color: var(--surface);--timetable-header-color: #0f1828;--timetable-row-even: #1c2f4a;--timetable-row-odd: #152238;--timetable-text-color: var(--text-light);--timetable-text-muted: rgba(255, 255, 255, .55);--timetable-highlight-color: rgba(0, 84, 164, .22);--timetable-current-hour-color: rgba(0, 84, 164, .35);--timetable-next-hour-color: rgba(0, 84, 164, .18);--timetable-button-color: var(--surface-light);--timetable-disabled-color: rgba(255, 255, 255, .25);--timetable-text-highlight-color: #8abeff;--timetable-transition-time: .2s}.container{display:flex;flex-direction:column;gap:3rem;margin:0;place-items:center;min-width:320px;min-height:100vh}.timetable-page{display:flex;flex-direction:column;align-items:center;justify-content:center}.timetable{display:flex;flex-direction:column;align-items:center;border-radius:var(--timetable-border-radius)}.timetable table{display:inline-table;border:1px solid var(--timetable-border-color);background-color:var(--timetable-table-color);border-radius:var(--timetable-border-radius);border-spacing:0;color:var(--timetable-text-color);width:60vw}th,td{padding:10px;border-radius:0}td{text-align:center}.timetable tr{border-radius:var(--timetable-border-radius)}.timetable-header{background:var(--timetable-header-color);color:var(--text-light);font-weight:600}.timetable-row-next{background-color:var(--timetable-next-hour-color)}.timetable-row-current{background-color:var(--timetable-current-hour-color)}.timetable-row:nth-child(odd){background-color:var(--timetable-row-odd)}.timetable-row:nth-child(2n){background-color:var(--timetable-row-even)}.timetable-row:hover{background-color:var(--timetable-highlight-color);transition:background-color var(--timetable-transition-time)}.timetable-filter{display:flex;flex-direction:row;justify-items:center;align-items:center;align-self:flex-start;margin-bottom:5px}.timetable-filter{display:flex;flex-direction:row;align-items:center;align-self:flex-start;margin-bottom:5px;gap:8px}.timetable-filter label:has(input[type=radio]){background:var(--timetable-button-color);border:1px solid rgba(255,255,255,.07);padding:6px 18px;border-radius:var(--timetable-border-radius);font-size:15px;color:var(--accent-light)}.timetable-filter label:has(input[type=checkbox]){background:var(--timetable-button-color);border:1px solid rgba(255,255,255,.07);border-radius:var(--timetable-border-radius);font-size:15px;color:var(--accent-light);padding-left:20px;background-color:var(--surface-light)}.timetable-filter label:has(input[type=radio]:checked){background:var(--primary);border-color:var(--primary);color:#fff}.timetable-filter label:has(input[type=radio]:disabled){background:#ffffff1a;border-color:#ffffff26;color:var(--timetable-disabled-color)}.timetable-filter input[type=radio]{display:none}.timetable-button{border:none;background-color:inherit;color:var(--timetable-text-color)}.timetable-button:hover{color:var(--timetable-text-highlight-color);transition:color var(--timetable-transition-time);cursor:pointer}.timetable-title{color:var(--text-light);margin:20px;font-size:28px;font-weight:700}.timetable-back-button{background:var(--surface-light);border:1px solid rgba(255,255,255,.1);color:var(--text-light);padding:6px 14px;border-radius:var(--timetable-border-radius);margin-bottom:20px;cursor:pointer}.timetable-back-button:hover{background:var(--primary);border-color:var(--primary)}.container-back-buttons{display:flex;gap:30px}.timetable-filter-item{display:inline-flex;flex-direction:row;align-items:flex-start;align-self:flex-start;min-width:200px;padding:8px 12px;margin-top:10px;margin-bottom:20px;border-radius:12px;background-color:var(--surface-light);box-shadow:0 2px 8px #00000059;gap:10px;transition:transform .2s,box-shadow .2s}.timetable-filter-item select{flex:1;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background-color:#0f1828;color:var(--text-light);font-size:1.05rem;cursor:pointer;transition:background .2s,transform .2s}.timetable-filter-item select:hover{background-color:#142033;transform:scale(1.02)}:root{--widget-spacer: 1.25rem;--widget-border-radius: .75rem;--widget-light: #f8f9fa;--widget-bg: #ffffff;--widget-text: #212529;--widget-border: #dee2e6;--widget-component-border-color: #dee2e6;--widget-shadow: 0 6px 20px rgba(0, 0, 0, .08);--widget-hover-bg: #f1f3f5;--widget-accent: #0d6efd}.widget-map{background:var(--widget-bg);border-radius:0;box-shadow:none;overflow:hidden;border:none;width:50vw;margin:0 calc(-25vw + 50%)}.widget-map-body iframe{height:700px}.widget-input-container{display:flex;align-items:center;background:var(--widget-light);padding:calc(var(--widget-spacer) * .5);border-bottom:1px solid var(--widget-border)}.widget-input-container .widget-input-icon{padding:0 calc(var(--widget-spacer) * .5)}.widget-input-container .widget-input-icon a{display:block;padding:calc(var(--widget-spacer) * .5);font-size:1.25rem;color:var(--widget-text);transition:color .2s ease,background .2s ease;border-radius:50%}.widget-input-container .widget-input-icon a:hover{background:var(--widget-hover-bg);color:var(--widget-accent)}.widget-input-container .widget-input-divider{width:1px;height:32px;background:var(--widget-component-border-color);margin:0 calc(var(--widget-spacer) * .4)}.widget-map-body iframe{width:100%;height:600px;border:0;display:block}.widget-map-list{padding:var(--widget-spacer);background:var(--widget-bg)}.map-location-label{color:#000;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px #0000004d;transform:translate(-50%,-100%);text-align:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.map-location-label:hover{box-shadow:0 4px 10px #0006}.widget-list{background:transparent}.widget-list-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--widget-border);border-radius:var(--widget-border-radius);padding:calc(var(--widget-spacer) * .75);transition:box-shadow .2s ease,transform .2s ease;box-shadow:var(--widget-shadow);background:var(--widget-light)}.widget-list-item:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001a}.widget-list-media{color:var(--widget-accent);font-size:2.5rem;margin-right:var(--widget-spacer)}.widget-list-desc{flex:1;font-size:1rem;color:#6c757d;margin:0}.widget-list-action a{color:var(--widget-text);opacity:.6;transition:opacity .2s ease,color .2s ease}.widget-list-action a:hover{opacity:1;color:var(--widget-accent)}@media(max-width:768px){.widget-map{max-width:100%;margin:1rem}.widget-map-body iframe{height:300px}}@media(max-width:480px){.widget-map-body iframe{height:250px}}:root{--profile-card-bg: var(--surface);--profile-input-bg: #1b2a41;--profile-input-border: rgba(255,255,255,.12);--profile-text-light: var(--text-light);--profile-text-muted: rgba(255,255,255,.55);--profile-radius: 10px;--profile-hover: rgba(0, 84, 164, .25);--profile-focus: var(--primary)}.profile-page{padding:40px;color:var(--profile-text-light);max-width:800px;margin:0 auto}.profile-title{font-size:28px;font-weight:600}.profile-subtext{color:var(--profile-text-muted);margin-bottom:30px}.profile-grid{display:grid;grid-template-columns:280px 1fr;gap:30px}@media(max-width:768px){.profile-grid{grid-template-columns:1fr}}.profile-card{background:var(--profile-card-bg);padding:25px;border-radius:var(--profile-radius);text-align:center;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 16px #00000059}.profile-avatar img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:15px}.profile-info h2{font-size:20px;font-weight:600;margin:10px 0 2px}.profile-form{background:var(--profile-card-bg);padding:25px;border-radius:var(--profile-radius);border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 16px #00000059}.form-group{margin-bottom:18px}label{display:block;margin-bottom:6px;font-size:14px;color:var(--profile-text-muted)}input{width:80%;padding:10px 12px;background:var(--profile-input-bg);border:1px solid var(--profile-input-border);border-radius:var(--profile-radius);color:var(--profile-text-light);font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}input:read-only{opacity:.65;cursor:default}input:hover:not(:read-only){border-color:var(--profile-focus)}input:focus{border-color:var(--profile-focus);outline:none;box-shadow:0 0 0 2px #0054a44d}.button-container{display:flex;justify-content:flex-end}.btn-save{padding:12px 18px;border:none;border-radius:var(--profile-radius);cursor:pointer;font-weight:600;color:#fff;background:var(--primary);transition:background .2s ease,transform .2s ease;margin-top:20px}.btn-save:hover{background:#0070dd;transform:translateY(-2px)}.signature-container{width:90%;margin-top:15px}.signature-container canvas{height:200px;width:100%;touch-action:none;background:#0e1623;border:1px solid var(--profile-input-border);border-radius:6px}.signature-container button{background:#ffffff0d;color:var(--profile-text-light);border:1px solid var(--profile-input-border);padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .2s ease}.signature-container button:hover{background:var(--profile-hover)}.news-component{padding:.2rem .5rem;background:var(--background);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%}.news-title{color:var(--text-light);margin-bottom:1.5rem;text-align:center;font-weight:600;letter-spacing:.5px;width:100%}.news-swiper{width:100%;max-width:1000px;padding:1rem 0;position:relative;display:flex;justify-content:center;margin:0 auto}.swiper{width:100%;max-width:1000px;height:auto;padding:1rem 60px;position:relative;overflow:hidden}.swiper-wrapper{height:auto}.swiper-slide{width:400px;height:auto;display:flex;justify-content:center;align-items:center}.news-swiper-slide{width:350px;height:auto;display:flex;justify-content:center;align-items:center;transition:all .3s ease}.news-card{background:var(--background)!important;border:2px solid var(--primary);border-radius:12px;overflow:hidden;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:100%;max-width:350px;display:flex;flex-direction:column;box-shadow:0 0 15px #0a61b933,0 0 30px #0b63ba0d}.swiper-slide-active .news-card{transform:scale(1.02);filter:drop-shadow(0 0 15px rgba(0,84,164,.4));box-shadow:0 0 20px #0054a44d,0 0 40px #0054a41a}.swiper-slide-prev .news-card,.swiper-slide-next .news-card{filter:drop-shadow(0 0 8px rgba(0,84,164,.15));opacity:.8;transform:scale(.9)}.news-card-image{width:100%;height:180px;object-fit:cover}.news-card-content{padding:1.2rem;flex-grow:1;display:flex;flex-direction:column}.news-card-title{color:var(--accent);font-weight:600;font-size:1.1rem;margin-bottom:.6rem;line-height:1.3}.news-card-description{color:var(--text-light);font-size:.9rem;margin-bottom:.5rem;line-height:1.4;flex-grow:1}.news-card-date{color:var(--primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.swiper-button-prev,.swiper-button-next{background:#0054a433;border:2px solid var(--primary);border-radius:50%;width:50px;height:50px;top:50%;transform:translateY(-50%);transition:all .3s ease;color:var(--accent);position:absolute;z-index:10}.swiper-button-prev:hover,.swiper-button-next:hover{background:#0054a466;box-shadow:0 0 12px #0054a466;transform:translateY(-50%) scale(1.1)}.swiper-button-prev{left:10px}.swiper-button-next{right:10px}.swiper-button-prev:after,.swiper-button-next:after{font-size:24px;font-weight:700;color:var(--accent);content:""}.swiper-pagination{position:static;margin-top:1rem;display:none;justify-content:center;gap:.75rem}.swiper-pagination-bullet{background:var(--surface);border:2px solid var(--primary);opacity:.6;width:12px;height:12px;cursor:pointer;transition:all .3s ease;margin:0}.swiper-pagination-bullet-active{background:var(--primary);opacity:1;box-shadow:0 0 8px #0054a466;transform:scale(1.2)}@media(max-width:1024px){.news-swiper-slide{width:350px}.news-card{max-width:350px}.swiper{padding:1rem 35px}}@media(max-width:768px){.news-component{padding:1rem;min-height:auto}.news-swiper-slide{width:280px}.news-card{max-width:280px}.swiper{padding:1rem 25px}.swiper-button-prev,.swiper-button-next{width:40px;height:40px}.news-title{font-size:1.3rem;margin-bottom:1rem}}@media(max-width:480px){.news-component{padding:.75rem .5rem;min-height:auto}.news-swiper-slide{width:calc(100vw - 40px);max-width:none}.news-card{max-width:none;width:100%}.swiper{padding:1rem 12px}.swiper-button-prev,.swiper-button-next{width:36px;height:36px;display:none}.news-card-content{padding:1rem}.news-card-image{height:160px}.news-title{font-size:1.1rem;margin-bottom:.75rem}}@media screen and (min-resolution:105dpi)and (max-resolution:150dpi){.news-component{max-height:420px}.news-swiper-slide{width:280px}.news-card{max-width:280px}.news-card-image{height:100px}.news-card-content{padding:.65rem}.news-card-title{font-size:.85rem;margin-bottom:.3rem}.news-card-description{font-size:.75rem;margin-bottom:.25rem}}@media screen and (min-resolution:150dpi){.news-component{max-height:380px}.news-swiper-slide{width:240px}.news-card{max-width:240px}.news-card-image{height:85px}.news-card-content{padding:.5rem}.news-card-title{font-size:.8rem;margin-bottom:.25rem}.news-card-description{font-size:.7rem;margin-bottom:.2rem}}@media screen and (min-resolution:125dpi){.news-component{visibility:hidden}}.App{text-align:center;height:86vh;display:flex;flex-direction:column;color:#fff;background:var(--background);overflow:hidden}.header{padding:2rem 1rem;flex-shrink:0;z-index:10}.logo{max-width:80px;height:auto;margin-bottom:1rem}.header h1{color:var(--accent);font-size:2rem;margin:.5rem 0}.header p{color:var(--text-light);margin:.5rem 0}.news-component{flex:1;overflow:hidden;overflow-x:hidden;min-height:0}.footer{width:100%;padding:.5rem;background-color:var(--surface);font-size:.9rem;text-align:center;color:var(--text-light);flex-shrink:0;border-top:1px solid var(--surface-light);z-index:10}html,body{height:100%}.faq-icon{position:fixed;bottom:10px;right:1px;color:#2c3440;font-size:32px;z-index:999999;cursor:pointer;transition:transform .2s ease,color .2s ease}.faq-icon:hover{transform:scale(1.2);color:#3b4555}.faq-icon:active{transform:scale(.9)}.faq-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:999998}.faq-container{position:relative;background:#2c3440;padding:20px;border-radius:10px;width:400px;max-height:80vh;overflow-y:auto;z-index:999999;animation:faqFadeIn .25s ease-out}.faq-close{position:absolute;top:4px;right:3px;background:transparent;border:none;color:#fff;font-size:30px;cursor:pointer;width:10px;height:10px;display:flex;align-items:center;justify-content:center;transition:transform .1s ease}.faq-close:hover{transform:scale(1.05)}.faq-close:active{transform:scale(.85)}.faq-title{margin-bottom:15px;font-size:20px;font-weight:700}.faq-item{margin-bottom:15px;padding:12px 15px;border-radius:8px;background:#ffffff0d;transition:background .2s ease}.faq-item:hover{background:#ffffff1a}.faq-question{margin-bottom:8px;font-weight:700;color:#ffd966;font-size:16px}.faq-answer{color:#e0e0e0;font-size:14px;line-height:1.6;margin:0}.faq-title{margin-bottom:20px;font-size:22px;font-weight:800;color:#fff;text-align:center}.faq-close{position:absolute;top:5px;right:5px;font-size:28px;color:#fff;background:transparent;border:none;cursor:pointer;transition:transform .2s ease}.faq-close:hover{transform:scale(1.1)}.faq-close:active{transform:scale(.9)}@keyframes faqFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.contract-title{font-size:x-large;margin:10px}.contracts-page{display:flex;flex-direction:column;align-items:center;justify-content:center}.contracts-page form{display:inline-flex;flex-direction:column}.contracts-page-label{color:var(--accent);margin:5px 0;display:inline-flex;flex-direction:row;align-content:center;justify-content:flex-start;position:relative;width:100%;text-align:left}.contracts-page-label:has(input[type=checkbox]){margin:20px}.contracts-page-label input[type=text]{margin-left:20px;justify-self:flex-end;justify-content:flex-end;position:relative;width:100%;height:auto}.contracts-promotion-select{display:flex;flex-direction:column;position:relative;width:300px;padding:20px;margin:20px;border-bottom:var(--primary) 2px solid}.exam-page-container{max-width:1200px;margin:50px auto;padding:40px;background:#0d1b2a;border-radius:16px;font-family:Inter,Segoe UI,sans-serif;box-shadow:0 4px 30px #00000059;animation:fadeIn .5s ease}.exam-page-container h1{color:#e0e6ed;font-size:2.2rem;font-weight:600;margin-bottom:28px;text-align:center;letter-spacing:1px}.date-input{width:200px;min-width:227px}.panel{background:#1b263b;border-radius:14px;padding:25px;box-shadow:0 2px 14px #00000040;animation:fadeInUp .6s ease}.glimmer-panel{width:100%;display:flex;flex-direction:column;gap:12px}.glimmer-line{height:16px;background:linear-gradient(90deg,#2c3e50,#3d566e,#2c3e50);background-size:200% 100%;border-radius:6px;animation:shimmer 1.4s infinite linear}.exam-page-container select,.exam-table select,.exam-table input{padding:8px 12px;margin:4px 0;background:#12243b;color:#fff;border:1px solid #415a77;border-radius:6px;transition:all .2s ease}.exam-page-container select:focus,.exam-table select:focus,.exam-table input:focus{border-color:#778da9;outline:none;background:#172c47}.exam-table{width:100%;border-collapse:collapse;margin-top:15px;overflow:hidden;border-radius:10px}.exam-table th{background:#1e3a56;color:#e0e6ed;padding:13px 18px;font-size:1rem;font-weight:600;text-align:left}.exam-table td{padding:12px 16px;border-bottom:1px solid #274059;color:#d9e2ec}.exam-table tbody tr:hover{background-color:#213b55;transition:background-color .2s ease}.exam-page-container button{display:inline-block;margin-top:14px;background:#0077b6;color:#fff;padding:10px 22px;border-radius:8px;border:none;cursor:pointer;font-size:1rem;font-weight:600;transition:transform .15s ease,background-color .2s}.exam-page-container button:hover{background-color:#0096c7;transform:translateY(-2px)}.exam-page-container button:active{transform:translateY(0)}@media(max-width:768px){.exam-page-container{padding:20px}.exam-table th,.exam-table td{font-size:.85rem;padding:8px}.panel{padding:18px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sign-in-status-card{padding:16px 20px;background-color:var(--surface);border-radius:8px;box-shadow:0 4px 12px #0000004d;min-height:80px;gap:12px;border:1px solid var(--surface-light)}.sign-in-status-text{margin:0;font-size:16px;color:var(--text-light)}.sign-in-status-text strong{color:var(--accent);font-weight:700}.sign-in-status-icon{margin:0;font-size:48px;line-height:1}.sign-in-button{padding:8px 16px;background-color:var(--primary);color:var(--text-light);border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0054a44d}.sign-in-button:hover{background-color:#06c;box-shadow:0 4px 8px #0054a466;transform:translateY(-1px)}.sign-in-button:active{transform:translateY(0);box-shadow:0 1px 2px #0054a44d}.timetable{width:100%;max-width:100%;height:500px;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.timetable table{border-collapse:collapse;max-width:800px;width:max-content}.timetable th,.timetable td{white-space:nowrap;padding:6px 8px}.timetable thead th{position:sticky;top:0;z-index:2;background:var(--timetable-header-color)}.combo-container{position:relative;display:inline-block;max-width:100%}.combo-input-wrapper{display:inline-flex;align-items:center;gap:4px}.combo-input{width:100%;min-width:6ch;max-width:14ch;padding:4px 6px;font-size:.85rem}.timetable-row td .combo-container{width:auto}.timetable-row td .combo-input{width:auto;transition:max-width .5s ease-out 1s}.timetable-row td .combo-container:hover .combo-input{max-width:50ch}.timetable-row td .combo-options{transition:max-width .5s ease-out 1s}.timetable-row td .combo-container:hover .combo-options{max-width:50ch}.timetable-filter .combo-container{width:auto;transition:width .5s ease-out 1s}.timetable-filter .combo-container:hover{width:max-content;transition:width .5s ease-out 1s}.timetable-filter .combo-input{transition:max-width .5s ease-out 1s,width .5s ease-out 1s}.timetable-filter .combo-container:hover .combo-input{width:auto;max-width:50ch;transition:max-width .5s ease-out 1s,width .5s ease-out 1s}.timetable-filter .combo-options{transition:max-width .5s ease-out 1s}.timetable-filter .combo-container:hover .combo-options{max-width:50ch;transition:max-width .5s ease-out 1s}.combo-button{background:transparent;border:none;color:var(--text-light);cursor:pointer;padding:0 6px}.combo-options{position:absolute;top:100%;left:0;min-width:100%;max-width:20ch;max-height:120px;overflow-y:auto;background:var(--surface);border-radius:var(--timetable-border-radius);z-index:20}.combo-option{padding:6px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combo-option.active{background:var(--primary);color:#fff}.combo-option-disabled{padding:6px 10px;color:#ffffff80}.combo-options::-webkit-scrollbar{width:6px}.combo-options::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}@media(max-width:900px){.combo-input{max-width:10ch;font-size:.8rem}.timetable th,.timetable td{padding:4px 6px}}.admin-location-container{max-width:75%;margin:0 auto;padding:2rem;background:var(--background);min-height:100vh}.main-container-wrapper{background:var(--surface)!important;padding:3rem;border-radius:16px;box-shadow:0 8px 24px #0006!important}.page-header{text-align:center;color:var(--accent);font-size:2.5rem;margin-bottom:2rem;font-weight:600;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.mode-selector{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.section-divider{margin:2rem 0;border:none;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}.location-form{background:var(--background)!important;padding:2rem;border-radius:12px;box-shadow:0 4px 12px #0000004d!important;margin-bottom:2rem;border:1px solid var(--background)}.form-inputs{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.map-container{margin:2rem 0;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0006;border:2px solid var(--surface-light);height:500px;width:100%;position:relative}.map-container>div{height:100%!important;width:100%!important;margin:0!important;position:absolute!important;left:0;top:0}.location-details{background:var(--surface-light);padding:1.5rem;border-radius:8px;margin-top:1rem;border-left:4px solid var(--primary)}.location-details p{margin:.5rem 0;font-size:1rem;color:var(--text-light)}.location-details p strong{color:var(--accent);margin-right:.5rem}.classroom-section{background:var(--background)!important;padding:2rem;border-radius:12px;box-shadow:0 4px 12px #0000004d!important;border:1px solid var(--background);margin-bottom:2rem}.classroom-form{display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap}.classroom-input{flex:1;min-width:250px}.classroom-form .MuiButton-root{height:56px;align-self:stretch;padding-left:1.5rem;padding-right:1.5rem}.location-form .MuiInputBase-input,.classroom-section .MuiInputBase-input,.location-form .MuiInputLabel-root,.classroom-section .MuiInputLabel-root{color:var(--accent)}.location-form .MuiOutlinedInput-notchedOutline,.classroom-section .MuiOutlinedInput-notchedOutline,.location-form .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,.classroom-section .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,.location-form .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline,.classroom-section .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--accent)}.save-button-container{display:flex;justify-content:center;margin-top:1.5rem}.container{display:flex}.subject-title{color:var(--text-light);margin:20px;font-size:28px;font-weight:700}.subject-page{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px}.subject-generation-container{max-width:800px;margin:0 auto;padding:20px}.subject-form-card{background:var(--surface);border-radius:12px;padding:32px;box-shadow:0 4px 12px #00000026;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.subject-form-group{display:flex;flex-direction:column;gap:8px}.subject-form-group.full-width{grid-column:1 / -1}.subject-form-label{color:var(--text-light);font-size:.9rem;font-weight:500;opacity:.9}.subject-form-group .combo-container{transition:width .5s ease-out 1s}.subject-form-group .combo-container:hover{width:max-content}.subject-form-group .combo-input{transition:max-width .5s ease-out 1s}.subject-form-group .combo-container:hover .combo-input{width:max-content;max-width:600px}.subject-form-group .combo-options{transition:max-width .5s ease-out 1s}.subject-form-group .combo-container:hover .combo-options{max-width:600px}.subject-filter .combo-container{transition:width .5s ease-out 1s}.subject-filter .combo-container:hover{width:max-content}.subject-filter .combo-input{transition:max-width .5s ease-out 1s}.subject-filter .combo-container:hover .combo-input{width:max-content;max-width:600px}.subject-filter .combo-options{transition:max-width .5s ease-out 1s}.subject-filter .combo-container:hover .combo-options{max-width:600px}.combo-input{padding:10px 14px}.subject-form-input,.subject-form-number{width:100%;padding:10px 14px;background:var(--surface-light);color:var(--text-light);border-radius:8px;border:1px solid rgba(255,255,255,.1);font-size:.95rem;box-sizing:border-box;transition:border-color .2s,background .2s}.subject-form-input:focus,.subject-form-number:focus{outline:none;border-color:var(--primary);background:var(--surface-light)}.subject-form-input::placeholder{color:#fff6}.subject-form-number::-webkit-inner-spin-button,.subject-form-number::-webkit-outer-spin-button{opacity:.5}.subject-submit-button{grid-column:1 / -1;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;margin-top:8px}.subject-submit-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.subject-submit-button:active{transform:translateY(0)}.subject-submit-button:disabled{background:#fff3;cursor:not-allowed;transform:none}@media(max-width:768px){.subject-form-card{grid-template-columns:1fr;padding:24px;gap:20px}.subject-form-group.full-width,.subject-submit-button{grid-column:1}}@media(max-width:480px){.subject-generation-container{padding:12px}.subject-form-card{padding:20px;gap:16px;border-radius:8px}.subject-title{font-size:24px;margin:16px}.subject-form-input,.subject-form-number{padding:9px 12px;font-size:.9rem}.subject-submit-button{padding:11px 20px;font-size:.95rem}}@media(max-width:360px){.subject-form-card{padding:16px;gap:14px}.subject-form-label{font-size:.85rem}.subject-form-input,.subject-form-number{padding:8px 10px;font-size:.88rem}}.admin-academic-page{display:flex;flex-direction:row;align-self:flex-start;justify-content:center}.admin-academic-column{display:inline-flex;flex-direction:column;align-items:center;justify-items:center}.admin-academic-component{display:inline-flex;flex-direction:column;align-self:flex-end;justify-content:flex-start;margin:10px}.academic-label{color:var(--accent);text-align:center;font-size:medium;border-radius:2px;display:inline-flex;margin-top:15px}.academic-title{color:var(--accent);font-size:x-large;padding-bottom:5px;border-bottom:var(--primary) 2px solid;margin-bottom:20px}.academic-column{display:inline-flex;align-items:center;flex-direction:column;margin:0 10px}.academic-row{display:inline-flex;flex-direction:row;position:relative;width:100%;margin:10px 0;align-items:flex-start;justify-content:center}.academic-slider{position:relative;width:150px}.create-users-page{padding:40px;color:var(--profile-text-light);max-width:800px;margin:0 auto}.create-users-title{font-size:28px;font-weight:600;margin-bottom:8px}.create-users-subtext{color:var(--profile-text-muted);margin-bottom:24px}.create-users-card{background:var(--profile-card-bg)!important;border-radius:var(--profile-radius)!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 4px 16px #00000059}.create-users-template-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.create-users-template-text{color:var(--profile-text-muted)}.create-users-template-button{text-transform:none}.create-users-upload-section{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.create-users-input-group{display:flex;flex-direction:column;gap:8px}.create-users-buttons-row{display:flex;align-items:center;gap:16px}.create-users-label{font-size:14px;color:var(--profile-text-muted)}.create-users-file-name{font-size:14px;color:var(--profile-text-light);max-width:320px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.create-users-upload-button{white-space:nowrap;text-transform:none!important;border-radius:6px!important;padding:8px 20px!important;font-weight:600!important}.create-users-browse-button{text-transform:none;border-radius:var(--profile-radius)}.create-users-results{margin-top:16px}.create-users-results-title{margin-bottom:12px!important;color:var(--profile-text-light)}.create-users-table-wrapper{max-height:400px;overflow:auto}.promotion-fields-row{display:flex!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:16px!important;margin-bottom:16px!important}.promotion-text-field .MuiInputBase-root,.promotion-text-field .MuiInputBase-input,.promotion-text-field .MuiInputLabel-root,.promotion-text-field .MuiAutocomplete-clearIndicator,.promotion-text-field .MuiAutocomplete-popupIndicator{color:#fff!important}.promotion-text-field .MuiOutlinedInput-notchedOutline{border-color:#fff9!important}.promotion-text-field .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,.promotion-text-field .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#fff!important}.promotion-text-field .MuiInputBase-input::placeholder{color:#ffffffb3!important}.promotion-specialisation-info{margin-bottom:16px;color:var(--profile-text-muted)}.promotion-summary{margin-top:16px}.promotion-summary .MuiTypography-root,.promotion-summary,.promotion-summary .promotion-groups,.promotion-summary .promotion-group,.promotion-summary .promotion-group ul,.promotion-summary .promotion-group li{color:var(--profile-text-light)}.promotion-groups{margin-top:8px;display:flex;flex-direction:column;gap:8px}.promotion-group ul{margin:4px 0 0 16px;padding:0}.create-users-table-wrapper table,.create-users-table-wrapper th,.create-users-table-wrapper td{color:var(--profile-text-light)}.create-users-row-error{background-color:#ff63842e;color:var(--profile-text-light)}.create-users-row-success{background-color:#00c8a029;color:var(--profile-text-light)}@media(max-width:768px){.create-users-upload-section{flex-direction:column;align-items:flex-start}}.exam-container{max-width:500px;margin:2rem auto;padding:2rem;background-color:#152238;border-radius:12px;box-shadow:0 4px 15px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.exam-title{text-align:center;color:#fff;margin-bottom:1.5rem}.exam-error{color:#e74c3c;font-weight:700;margin-bottom:1rem}.exam-field{margin-bottom:1.5rem}.exam-field label{display:block;margin-bottom:.5rem;font-weight:600;color:#fff}.exam-select,.exam-multiselect{width:100%;padding:.6rem .8rem;border-radius:8px;border:1px solid #0a1a2f;font-size:1rem;background-color:#0a1a2f;transition:border .2s,box-shadow .2s}.exam-select:focus,.exam-multiselect:focus{outline:none;border-color:#3498db;box-shadow:0 0 5px #3498db80}.exam-multiselect{height:120px}.exam-summary{margin-top:2rem;padding:1rem;background-color:#ecf0f1;border-radius:8px;font-weight:600;text-align:center;color:#2c3e50}.group-grid{display:flex;flex-wrap:wrap;gap:12px}.group-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .8rem;border-radius:8px;border:1px solid #0a1a2f;background-color:#0a1a2f;cursor:pointer;min-width:131px;transition:all .2s;-webkit-user-select:none;user-select:none}.group-item:hover{background-color:#143259}.group-item.selected{border-color:#143259;background-color:#143259;color:#fff}.group-name{flex-grow:1}.group-checkbox{width:23px;height:20px;border:1px solid #0a1a2f;border-radius:4px;display:flex;align-items:center;justify-content:center;background-color:#0a1a2f;transition:background-color .2s,border-color .2s}.group-checkbox .checkmark{color:#3498db;font-weight:700}.generate-button{display:block;margin:20px auto;padding:12px 24px;font-size:16px;font-weight:700;color:#fff;background-color:#0a1a2f;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s,transform .2s;box-shadow:0 4px 6px #0000001a}.generate-button:hover{background-color:#143763;transform:translateY(-2px)}
