@import"https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700&family=Roboto:wght@400;500&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.table{display:table}:root{font-family:Cairo,Arial,sans-serif;color:#243b53;background:#f5f8fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:url(/images/image.png) center / cover no-repeat}.login-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;z-index:0}.login-page:after{content:"";position:absolute;z-index:1;width:min(600px,100%);height:540px;border-radius:14px;background:#fff;box-shadow:0 12px 32px #163d5b21}.login-card{position:relative;z-index:2;width:min(460px,calc(100% - 32px));margin:0;text-align:center;color:#687b8d;background:#fff;border:1px solid rgba(255,255,255,.98);border-radius:10px;box-shadow:0 10px 30px #163d5b2e;overflow:hidden}.login-title{padding:13px 12px 17px;font-family:Roboto,sans-serif;font-size:20px;font-weight:400}.login-card form{padding:0 30px 14px}.login-field{display:block;margin:0 0 10px;background:#f4f4f0a6;border-radius:5px}.login-field span{display:block;padding-top:9px;font-family:Roboto,sans-serif;font-size:15px}.login-field input{width:100%;height:30px;border:0;outline:0;color:#506577;text-align:center;background:transparent}.login-field:focus-within{box-shadow:0 0 0 2px #2d9ed140}.role-options{display:flex;justify-content:center;gap:13px;margin:4px 0 14px;font-family:Roboto,sans-serif;font-size:14px;color:#647584;direction:ltr}.role-options label{display:flex;align-items:center;gap:4px;white-space:nowrap}.role-options input{accent-color:#2e9ddb;margin:0}.login-error{color:#b34e4e;font-size:12px;margin:-7px 0 9px}.login-button{width:190px;border:1px solid #218aca;border-radius:4px;padding:10px;color:#fff;background:#41a9d9;font-family:Roboto,sans-serif;font-size:14px;box-shadow:0 2px 3px #00000014;transition:background .2s,transform .2s}.login-button:hover{background:#238fca;transform:translateY(-1px)}.login-button:disabled{cursor:wait;opacity:.82;transform:none}.login-spinner{display:inline-block;vertical-align:-3px;margin-left:6px;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.forgot-button{width:100%;border:0;border-top:1px solid rgba(191,200,202,.45);padding:10px;color:#278ac1;background:transparent;font-family:Georgia,serif;font-size:15px}.forgot-message{padding:0 30px 12px;color:#b56e78;font-size:13px;line-height:1.5}.login-footer{border-top:1px solid rgba(191,200,202,.45);padding:13px 10px 7px;color:#63a5ce;font-size:15px}.login-footer small{display:block;margin-top:5px;color:#6c777c;font-family:Roboto,sans-serif;font-size:9px}.login-footer small span{color:#6aa5ca}.portal{display:flex;min-height:100vh;background:#fff;color:#173a5b}.sidebar{z-index:5;width:285px;flex:0 0 285px;min-height:100vh;padding:18px 17px 20px;background:#e4edf1;box-shadow:-3px 0 16px #0f38540f}.sidebar-brand{display:flex;align-items:flex-start;gap:10px;padding-bottom:17px;color:#166795;text-align:right;border-bottom:1px solid #cfdee5}.sidebar-brand svg{margin-top:2px;color:#237aa5}.sidebar-brand h2{margin:0;font-size:20px;line-height:1.25;font-weight:700}.sidebar-brand p{margin:5px 0 0;color:#668297;font-size:11px}.profile-card{position:relative;display:grid;grid-template-columns:55px 1fr;gap:8px;margin:23px 0 25px;padding:12px 9px;background:#ffffffc4;border-radius:10px;box-shadow:0 3px 12px #2e4f5f12}.avatar{display:grid;place-items:center;width:52px;height:52px;border:3px solid #1485be;border-radius:50%;color:#fff;background:linear-gradient(145deg,#273c4b,#8b9da5);font-size:11px;font-weight:700;line-height:1.2}.avatar-photo{background-image:url(/images/%7B911028CB-A0C3-4B35-A550-0E531DCDBD38%7D.png);background-position:calc(100% + 26px) 19%;background-size:1365px auto;background-repeat:no-repeat}.profile-details{padding-top:1px;text-align:right;font-size:11px;line-height:1.5}.profile-details strong{display:block;color:#173a5b;font-size:12px}.profile-details span{color:#55758b}.profile-card button{grid-column:2;border:0;border-radius:15px;padding:4px 7px;color:#317ba2;background:#dcecf4;font-size:10px}.profile-card .logout-mini{width:58px;justify-self:end;color:#b56e78;background:#f1dfe2}.portal-nav{display:grid;gap:7px}.portal-nav button{position:relative;display:flex;align-items:center;gap:15px;width:100%;min-height:48px;border:0;border-radius:9px;padding:0 15px;color:#173d5d;background:transparent;text-align:right;transition:background .2s,color .2s,transform .2s}.portal-nav button:hover{background:#d5e8f0;transform:translate(-2px)}.portal-nav button.active{color:#fff;background:#1774aa;box-shadow:0 5px 12px #156c9e2e}.portal-nav button svg{color:#277da7}.portal-nav button.active svg{color:#fff}.nav-badge{display:grid;place-items:center;width:25px;height:25px;margin-right:auto;border-radius:6px;color:#20739f;background:#ffffffdb}.sidebar-logout{display:flex;align-items:center;gap:10px;margin:25px auto 0;border:0;color:#58768d;background:transparent;font-size:12px}.portal-main{flex:1;min-width:0;background:#fff}.portal-header{display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:0 42px;border-bottom:1px solid #e6edf0;color:#4c6b7c;font-size:12px}.header-mark{display:flex;align-items:center;gap:9px;color:#267ea8;font-weight:700}.header-user span{margin:0 7px;color:#9ab0bc}.grades-content{max-width:1110px;margin:0 auto;padding:23px 35px 50px}.content-heading{text-align:center}.content-heading h1{display:inline-block;margin:0;color:#176897;font-size:21px;font-weight:700}.content-heading span{display:block;width:102px;height:2px;margin:5px auto 20px;background:#1f86bc}.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:20px 24px;border-radius:12px;color:#fff;background:linear-gradient(110deg,#176b98,#2b96bd);box-shadow:0 8px 18px #1f749c24}.dashboard-welcome span{font-size:12px;opacity:.86}.dashboard-welcome h2{margin:3px 0 1px;font-size:20px}.dashboard-welcome p{margin:0;font-size:11px;opacity:.82}.dashboard-welcome svg{opacity:.68}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.quick-stats div{padding:13px 15px;border:1px solid #e1edf2;border-radius:10px;background:#fbfdfe}.quick-stats span,.quick-stats small{display:block;color:#76909e;font-size:10px}.quick-stats strong{display:block;margin:3px 0;color:#176c98;font-size:20px}.student-strip{display:flex;justify-content:space-between;align-items:center;border-radius:9px;padding:10px 23px;color:#fff;background:#247cb2;font-size:12px}.semester-pill{display:flex;align-items:center;gap:3px;width:-moz-fit-content;width:fit-content;margin:23px 0 8px auto;padding:3px 9px;border-radius:15px;color:#1d78ad;background:#edf5f8;font-family:Roboto,sans-serif;font-size:11px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}.courses-table{min-width:680px;font-family:Roboto,Cairo,sans-serif;font-size:12px;text-align:center}th{color:#226d99;background:#e5f1f6;font-weight:700}.courses-table th{padding:7px 8px;border:1px solid #c8dbe4}.courses-table td{padding:5px 8px;border:1px solid #e7ecee;color:#253d50}.courses-table tbody tr:hover,.scale-table tbody tr:hover{background:#f4fafc}.credit-summary{display:flex;justify-content:flex-start;gap:38px;margin:9px 0 66px;padding:6px 22px;border-right:3px solid #2588bd;border-radius:0 7px 7px 0;color:#587689;background:#f2f6f8;font-size:12px}.credit-summary b{color:#1878aa}.scale-wrap{width:82%;min-width:680px;margin:0 auto;overflow-x:auto}.scale-table{font-size:12px;text-align:center}.scale-table th{padding:5px;color:#155f82;background:#62b6d1;border:1px solid #a8d4e2}.scale-table td{padding:3px;border:1px solid #e7ecee;color:#2e4554}.empty-section{display:grid;place-items:center;align-content:center;min-height:calc(100vh - 60px);color:#8da2ae}.empty-section h1{margin:15px 0 0;font-size:20px;font-weight:600}.empty-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;color:#5ba4c5;background:#eff7fa}.portal-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(600px,calc(100% - 70px));margin:17px auto -4px;border:1px solid #cfe5ed;border-radius:9px;padding:10px 14px;color:#236b89;background:#eff9fb;font-size:12px;text-align:right}.portal-notice svg{flex:0 0 auto}.feature-intro{display:flex;align-items:center;gap:14px;margin:15px 0;padding:17px 20px;border-radius:10px;color:#365e73;background:#f1f8fa}.feature-intro-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;color:#2680a6;background:#fff}.feature-intro strong{font-size:14px}.feature-intro p{margin:3px 0 0;color:#78919e;font-size:11px}.feature-list{display:grid;gap:9px}.feature-empty{display:grid;place-items:center;min-height:130px;border:1px dashed #cfe2e9;border-radius:10px;color:#88a0aa;background:#fbfdfe;font-size:12px}.feature-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border:1px solid #e4edf1;border-radius:10px;background:#fff;box-shadow:0 3px 10px #2e4f5f0a}.feature-row div{display:grid;gap:3px}.feature-row strong{color:#285a73;font-size:13px}.feature-row span{color:#8298a4;font-size:11px}.feature-row b{color:#3282a2;font-size:12px}.profile-info-card{display:flex;gap:28px;align-items:flex-start;margin-top:18px;padding:26px 30px;background:#f7fafc;border:1px solid #e6eef2;border-radius:12px;box-shadow:0 4px 14px #2e4f5f0d}.profile-info-avatar{width:110px;height:110px;flex:0 0 110px;border-width:4px}.profile-info-list{flex:1;min-width:0;display:grid;gap:14px}.profile-info-row{display:flex;gap:12px;align-items:baseline;padding-bottom:12px;border-bottom:1px dashed #dce6ec}.profile-info-row:last-child{border-bottom:0;padding-bottom:0}.profile-info-label{flex:0 0 150px;color:#5b7a8d;font-size:13px;font-weight:600}.profile-info-value{flex:1;color:#173a5b;font-size:14px;font-weight:700}.mobile-menu,.sidebar-scrim{display:none}@media (max-width: 800px){.mobile-menu{position:fixed;z-index:4;top:13px;right:15px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:8px;color:#fff;background:#1879ad}.sidebar{position:fixed;inset:0 0 0 auto;transform:translate(100%);transition:transform .25s ease}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{position:fixed;z-index:4;top:0;right:0;bottom:0;left:0;display:block;border:0;color:#fff;background:#102e3f66}.sidebar-scrim svg{position:absolute;top:18px;left:18px}.portal-header{padding:0 68px 0 18px}.header-user{display:none}.grades-content{padding:22px 14px 35px}.dashboard-welcome{padding:17px}.dashboard-welcome h2{font-size:17px}.quick-stats{gap:7px}.quick-stats div{padding:10px 8px}.quick-stats strong{font-size:16px}.student-strip{flex-direction:column;align-items:stretch;gap:4px;padding:10px 15px}.credit-summary{flex-wrap:wrap;gap:8px 20px;margin-bottom:42px}.scale-wrap{width:100%;min-width:0;overflow-x:auto}.scale-table{min-width:680px}.profile-info-card{flex-direction:column;align-items:center;gap:18px;padding:20px 16px;text-align:center}.profile-info-row{flex-direction:column;gap:4px;align-items:center;text-align:center}.profile-info-label{flex:0 0 auto}.portal-notice{width:calc(100% - 28px)}}@media (max-width: 500px){.quick-stats span,.quick-stats small{font-size:9px}.quick-stats strong{font-size:14px}.feature-row{align-items:flex-start;padding:13px}.feature-row b{white-space:nowrap}.login-page:after{height:560px}.login-card{margin-bottom:0;width:min(460px,calc(100% - 24px))}.login-title{font-size:16px}.login-card form{padding-left:20px;padding-right:20px}.role-options{gap:8px;font-size:12px}.content-heading h1{font-size:19px}}
