@font-face{font-family:Bahij;src:url('fonts/BahijZar-Bold.ttf') format('truetype');font-display:swap}
:root{--navy:#15264c;--primary:#4968e8;--violet:#865de7;--muted:#7786a0;--line:#e5ebf4;--surface:#fff}
*{box-sizing:border-box}body.portal-body{margin:0!important;background:#f3f6fc!important;direction:rtl;color:var(--navy);font-family:Bahij,Tahoma,Arial,sans-serif;min-height:100vh}
a{text-decoration:none}button,input{font:inherit}.portal-wrap{max-width:1160px;margin:0 auto;padding:25px 20px 50px}
.brand-logo{width:58px;height:58px;object-fit:contain;padding:6px;background:white;border-radius:16px;box-shadow:0 5px 18px #10284a15}.brand-placeholder{display:inline-flex;align-items:center;justify-content:center;font-size:25px;color:var(--primary)}
.login-layout{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 10% 12%,#dbe5ff,transparent 36%),radial-gradient(circle at 92% 85%,#e7dfff,transparent 38%),#f3f6fc}
.login-card{display:grid;grid-template-columns:1fr 1fr;width:min(900px,100%);background:white;border-radius:26px;overflow:hidden;box-shadow:0 25px 80px #172c5a20;min-height:500px}
.login-art{background:linear-gradient(145deg,#173674,#4962cb,#8054d0);color:white;padding:42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:before{content:"";position:absolute;width:400px;height:400px;border:60px solid #ffffff12;border-radius:50%;left:-200px;bottom:-220px}.login-art>*{position:relative}.login-art h1{font-size:25px;line-height:1.7;margin:0}.login-art p{opacity:.83;font-size:13px;line-height:2}.login-art .brand-name{font-size:17px;margin-right:12px}.brand-line{display:flex;align-items:center}
.login-form-area{padding:54px 48px;display:flex;flex-direction:column;justify-content:center}.login-form-area h2{font-size:24px;margin:0 0 8px;text-align:center}.subtitle{font-size:12px;color:var(--muted);text-align:center;margin:0 0 27px}.field{margin-bottom:19px}.field label{display:block;font-size:13px;margin-bottom:8px}.input-shell{position:relative}.input-shell i.field-icon{position:absolute;right:16px;top:17px;color:#92a0b8}.field input{width:100%;height:51px;padding:10px 45px 10px 42px;border:1px solid var(--line);border-radius:12px;background:#f9fbff;outline:0;text-align:right;font-family:Tahoma,Arial,sans-serif;font-size:14px}.field input:focus{border-color:#7991f5;box-shadow:0 0 0 4px #4968e819}.eye{position:absolute;left:9px;top:8px;width:36px;height:36px;border:0;background:transparent;color:#8190a8;cursor:pointer}.primary-btn{border:0;background:linear-gradient(100deg,var(--primary),var(--violet));color:white;padding:14px 20px;border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 24px #4968e830}.primary-btn:hover{color:white;filter:brightness(.97)}.wide{width:100%}.back-link{display:block;text-align:center;margin-top:20px;color:#5269c4;font-size:12px}.alert-error{background:#fff1f1;border:1px solid #ffd1d1;color:#a32929;padding:12px;border-radius:10px;margin-bottom:20px;font-size:12px}
.portal-header{background:#fff;border-bottom:1px solid var(--line)}.portal-header-inner{max-width:1160px;margin:auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.header-brand{display:flex;align-items:center;gap:12px;font-size:17px;color:var(--navy)}.logout{border:1px solid #e4e9f5;padding:10px 16px;border-radius:10px;color:#5b6880;background:#fafbff;font-size:12px}.logout:hover{color:#b3233d}.welcome{background:linear-gradient(110deg,#183878,#5667d2);border-radius:20px;color:#fff;padding:27px 30px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.welcome h1{font-size:23px;margin:0 0 5px}.welcome p{font-size:12px;margin:0;opacity:.85}.welcome .badge-id{background:#ffffff20;border:1px solid #ffffff35;border-radius:11px;padding:12px 18px;direction:ltr;font:14px Tahoma,Arial}
.tabs{display:flex;gap:9px;margin:20px 0;flex-wrap:wrap}.tab{padding:12px 19px;border:1px solid var(--line);border-radius:11px;background:white;color:#66748f;font-size:13px}.tab.active{color:white;border-color:var(--primary);background:var(--primary)}.card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 24px #152b5109;margin-bottom:20px;overflow:hidden}.card-head{padding:19px 23px;border-bottom:1px solid var(--line);font-size:17px}.card-body{padding:22px}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.profile-cell{background:#f8faff;border:1px solid #edf1f8;border-radius:12px;padding:16px}.profile-cell .label{color:#8491a8;font-size:12px;margin-bottom:7px}.profile-cell .value{font-size:16px;word-break:break-word}.muted{color:var(--muted);font-size:12px}
.event-select{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.event-select select{padding:11px 14px;border:1px solid var(--line);border-radius:10px;min-width:220px;max-width:100%;background:#fff}.marks-list{display:grid;gap:11px}.mark-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}.subject-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eef2ff;color:#4c65db}.subject-title{font-size:14px;margin-bottom:7px}.mark-progress{height:7px;border-radius:10px;background:#edf1f7;overflow:hidden}.mark-progress>span{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#4e74ef,#8060e8)}.mark-progress>span.fail{background:#e76a75}.mark-number{font:600 15px Tahoma,Arial;direction:ltr;white-space:nowrap}.mark-number small{color:#96a1b5;font-size:11px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:22px}.summary-item{border-radius:13px;background:#f4f6fd;padding:20px;text-align:center}.summary-item .num{font:700 23px Tahoma,Arial;margin:7px 0}.summary-item .label{color:#7886a0;font-size:12px}.status-pass{color:#16845d}.status-fail{color:#c84758}.status-pending{color:#8c6a23}.empty{text-align:center;padding:38px 15px;color:#8793a7}.empty i{display:block;font-size:30px;margin-bottom:10px}
@media(max-width:780px){.login-card{grid-template-columns:1fr;max-width:480px}.login-art{min-height:150px;padding:24px}.login-art p{display:none}.login-form-area{padding:34px 28px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:500px){.login-layout{padding:12px}.login-art h1{font-size:19px}.portal-wrap{padding:16px 12px}.header-brand{font-size:13px}.header-brand .brand-logo{width:43px;height:43px}.welcome{padding:20px;display:block}.welcome h1{font-size:19px}.welcome .badge-id{display:inline-block;margin-top:15px}.profile-grid{grid-template-columns:1fr}.summary-grid{gap:6px}.summary-item{padding:14px 7px}.summary-item .num{font-size:17px}.mark-row{padding:12px;grid-template-columns:38px minmax(0,1fr) auto;gap:9px}.subject-icon{width:37px;height:37px}.mark-number{font-size:12px}.card-body{padding:15px}}
