:root{--p:#0f2d55;--p-mid:#1a4480;--p-light:#2a5fad;--gold:#c9922a;--gold-lt:#f0c56b;--bg:#f4f6f9;--surface:#ffffff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--subtle:#94a3b8;--green:#16a34a;--green-bg:#f0fdf4;--green-bd:#86efac;--red:#dc2626;--red-bg:#fef2f2;--red-bd:#fca5a5;--amber:#d97706;--amber-bg:#fffbeb;--blue-bg:#eff6ff;--blue-bd:#93c5fd;--r:8px;--r-lg:14px;--r-xl:20px;--sh-xs:0 1px 3px rgba(0,0,0,.06);--sh-sm:0 2px 10px rgba(15,45,85,.08);--sh:0 4px 24px rgba(15,45,85,.11);--sh-lg:0 12px 40px rgba(15,45,85,.16);--fd:'Fraunces', Georgia, serif;--fb:'DM Sans', system-ui, -apple-system, sans-serif;--ease:cubic-bezier(.4,0,.2,1)}.esct-auth-wrap *,.esct-portal-wrap *{box-sizing:border-box;margin:0;padding:0}.esct-auth-wrap{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding:0!important}.esct-auth-wrap,.esct-portal-wrap{font-family:var(--fb);font-size:15px;line-height:1.6;color:var(--text);-webkit-font-smoothing:antialiased}.esct-nav-wrapper{position:sticky;top:0;z-index:500}.admin-bar .esct-nav-wrapper{top:32px}@media screen and (max-width:782px){.admin-bar .esct-nav-wrapper{top:46px}}.esct-topbar{background:var(--p);height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:0 2px 8px rgb(0 0 0 / .18)}.esct-topbar-left{display:flex;align-items:center}.esct-portal-logo{max-height:36px;max-width:150px;object-fit:contain;filter:brightness(0) invert(1)}.esct-portal-name{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:-.01em}.esct-topbar-right{display:flex;align-items:center;gap:16px}.esct-topbar-user{display:flex;align-items:center;gap:10px;color:rgb(255 255 255 / .85);font-size:.875rem;font-weight:500}.esct-topbar-greeting{display:none}@media (min-width:600px){.esct-topbar-greeting{display:inline}}.esct-avatar-sm{width:34px;height:34px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0;letter-spacing:.02em}.esct-logout-btn{font-size:.8rem!important;padding:7px 14px!important}.esct-notif-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font-size:1.2rem;background:rgb(255 255 255 / .15);color:#fff;text-decoration:none;transition:background .2s;flex-shrink:0}.esct-notif-bell:hover{background:rgb(255 255 255 / .25);color:#fff}.esct-notif-dot{position:absolute;top:2px;right:2px;min-width:18px;height:18px;background:#ef4444;color:#fff;font-size:.62rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--p);line-height:1}.esct-portal-nav{background:var(--surface);border-bottom:2px solid var(--border);box-shadow:var(--sh-xs)}.esct-nav-inner{display:flex;align-items:stretch;max-width:1140px;margin:0 auto;padding:0 28px;overflow-x:auto;scrollbar-width:none;gap:0}.esct-nav-inner::-webkit-scrollbar{display:none}.esct-nav-item{display:flex;align-items:center;gap:7px;padding:14px 18px;font-size:.875rem;font-weight:500;color:var(--muted);text-decoration:none!important;border-bottom:3px solid #fff0;margin-bottom:-2px;white-space:nowrap;transition:color .15s,border-color .15s;flex-shrink:0}.esct-nav-item:hover{color:var(--p)}.esct-nav-item.active{color:var(--p);border-bottom-color:var(--p);font-weight:700}.esct-nav-icon{font-size:1rem}.esct-nav-logout{color:var(--red)!important}.esct-nav-logout:hover{border-bottom-color:var(--red)!important}.esct-portal-wrap{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.esct-portal-body{max-width:1140px;margin:0 auto;padding:36px 28px 60px;width:100%;flex:1}@media (max-width:600px){.esct-portal-body{padding:24px 16px 48px}}.esct-page-title{font-family:var(--fd);font-size:1.65rem;font-weight:600;color:var(--p);margin:0 0 24px;letter-spacing:-.025em;line-height:1.2}.esct-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:24px}.esct-page-meta{font-size:.82rem;color:var(--muted);background:var(--surface);padding:5px 14px;border-radius:20px;border:1.5px solid var(--border);font-weight:500}.esct-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-xs)}.esct-card+.esct-card{margin-top:20px}.esct-card-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:20px;border-bottom:1.5px solid #f1f5f9}.esct-card-head h3{font-family:var(--fd);font-size:1rem;font-weight:600;color:var(--p);letter-spacing:-.01em}.esct-card-link{font-size:.8rem;color:var(--p-light);text-decoration:none;font-weight:500}.esct-card-link:hover{text-decoration:underline}.esct-dash-hero{background:linear-gradient(135deg,var(--p) 0%,var(--p-mid) 100%);border-radius:var(--r-xl);padding:32px 36px;display:flex;align-items:center;gap:22px;margin-bottom:24px;position:relative;overflow:hidden}.esct-dash-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgb(201 146 42 / .22),transparent 70%);border-radius:50%;pointer-events:none}.esct-dash-avatar{width:68px;height:68px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0;z-index:1;box-shadow:0 4px 12px rgb(0 0 0 / .2)}.esct-dash-info{flex:1;z-index:1;min-width:0}.esct-dash-info h2{font-family:var(--fd);font-size:1.4rem;color:#fff;margin-bottom:8px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.esct-dash-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:rgb(255 255 255 / .72);font-size:.82rem;margin-bottom:12px}.esct-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.esct-status-note{color:rgb(255 255 255 / .65);font-size:.78rem}.esct-dash-gpa{z-index:1;flex-shrink:0;text-align:center;background:rgb(255 255 255 / .1);border-radius:var(--r);padding:18px 24px;border:1px solid rgb(255 255 255 / .15)}.esct-gpa-num{display:block;font-family:var(--fd);font-size:2.4rem;font-weight:700;color:var(--gold-lt);line-height:1;margin-bottom:4px}.esct-gpa-label{font-size:.68rem;font-weight:700;color:rgb(255 255 255 / .55);text-transform:uppercase;letter-spacing:.12em}@media (max-width:640px){.esct-dash-hero{flex-wrap:wrap;padding:24px 20px}.esct-dash-gpa{width:100%}}.esct-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media (max-width:768px){.esct-stats-row{grid-template-columns:1fr 1fr}}@media (max-width:400px){.esct-stats-row{grid-template-columns:1fr}}.esct-stat-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:18px 20px;display:flex;align-items:center;gap:14px;box-shadow:var(--sh-xs)}.esct-stat-icon{font-size:1.6rem;flex-shrink:0}.esct-stat-val{display:block;font-family:var(--fd);font-size:1.15rem;font-weight:700;color:var(--p);line-height:1.2}.esct-stat-label{font-size:.7rem;font-weight:700;color:var(--subtle);text-transform:uppercase;letter-spacing:.07em;margin-top:3px;display:block}.esct-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width:768px){.esct-dash-grid{grid-template-columns:1fr}}.esct-session-badge{background:var(--p);color:#fff;font-size:.7rem;padding:3px 10px;border-radius:20px;font-weight:700;letter-spacing:.04em}.esct-checklist-item{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #f1f5f9}.esct-checklist-item:last-child{border-bottom:none;padding-bottom:0}.esct-check-icon-wrap{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.esct-check-tick{width:30px;height:30px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700}.esct-check-pending{width:26px;height:26px;border:2px solid var(--border);border-radius:50%}.esct-check-lock{font-size:1.1rem}.esct-check-details{flex:1;min-width:0}.esct-check-details strong{font-size:.875rem;color:var(--text);display:block;font-weight:600}.esct-check-details small{color:var(--subtle);font-size:.78rem}.esct-checklist-item.is-paid .esct-check-details strong{color:var(--subtle)}.esct-checklist-item.is-locked{opacity:.5}.esct-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.esct-action-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--bg);border:2px solid var(--border);border-radius:var(--r);padding:20px 12px;text-decoration:none!important;color:var(--p);transition:all .18s var(--ease);text-align:center;min-height:96px}.esct-action-tile span{font-size:1.8rem}.esct-action-tile strong{font-size:.82rem;font-weight:600;display:block}.esct-action-tile small{font-size:.7rem;color:var(--subtle)}.esct-action-tile:hover{border-color:var(--p);background:var(--blue-bg);color:var(--p);transform:translateY(-2px);box-shadow:var(--sh-sm)}.esct-tile-locked{opacity:.4;pointer-events:none}.esct-table{width:100%;border-collapse:collapse;font-size:.875rem}.esct-table thead tr{background:#f8fafc;border-bottom:2px solid var(--border)}.esct-table th{padding:11px 16px;text-align:left;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);white-space:nowrap}.esct-table td{padding:13px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:var(--muted)}.esct-table td strong{color:var(--text)}.esct-table tbody tr:last-child td{border-bottom:none}.esct-table tbody tr:hover td{background:#f8fafc}.esct-badge,.esct-status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.esct-badge-confirmed,.esct-status-active{background:#dcfce7;color:#15803d}.esct-badge-pending,.esct-status-pending{background:#fef9c3;color:#92400e}.esct-badge-rejected,.esct-badge-failed,.esct-status-suspended,.esct-status-blocked{background:#fee2e2;color:#b91c1c}.esct-status-graduated{background:#ede9fe;color:#6d28d9}.esct-badge-compulsory{background:#faf5ff;color:#7c3aed}.esct-badge-elective{background:#f1f5f9;color:var(--muted)}.esct-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 22px;border-radius:var(--r);font-size:.875rem;font-weight:600;font-family:var(--fb);cursor:pointer;border:2px solid #fff0;text-decoration:none!important;transition:all .18s var(--ease);white-space:nowrap;line-height:1.2}.esct-btn-primary{background:var(--p);color:#fff;border-color:var(--p)}.esct-btn-primary:hover{background:var(--p-mid);border-color:var(--p-mid);color:#fff!important;transform:translateY(-1px);box-shadow:0 6px 18px rgb(15 45 85 / .22)}.esct-btn-primary:active{transform:none;box-shadow:none}.esct-btn-outline{background:#fff0;color:var(--p);border-color:var(--p)}.esct-btn-outline:hover{background:var(--p);color:#fff!important}.esct-btn-accent{background:var(--gold);color:#fff;border-color:var(--gold)}.esct-btn-accent:hover{background:#b8821f;color:#fff!important}.esct-btn-ghost{background:rgb(255 255 255 / .14);color:#fff;border-color:rgb(255 255 255 / .28)}.esct-btn-ghost:hover{background:rgb(255 255 255 / .24);color:#fff!important}.esct-btn-full{width:100%}.esct-btn-lg{padding:14px 28px;font-size:.95rem;border-radius:10px}.esct-btn-sm{padding:7px 14px;font-size:.8rem}.esct-btn-xs{padding:4px 10px;font-size:.72rem;border-radius:5px}.esct-btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.esct-btn-pay{padding:15px;font-size:1rem}.esct-btn-loader{display:flex;align-items:center;gap:8px}.esct-spinner{width:17px;height:17px;border:2.5px solid rgb(255 255 255 / .3);border-top-color:#fff;border-radius:50%;animation:esct-spin .65s linear infinite;display:inline-block;flex-shrink:0}@keyframes esct-spin{to{transform:rotate(360deg)}}.esct-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--p);font-size:.875rem;font-weight:500;text-decoration:none!important;margin-bottom:20px;padding:6px 0}.esct-back-link:hover{text-decoration:underline!important}.esct-alert{padding:13px 16px;border-radius:var(--r);font-size:.875rem;line-height:1.6;margin-bottom:18px;border:1.5px solid #fff0;display:block}.esct-alert-success{background:var(--green-bg);color:#15803d;border-color:var(--green-bd)}.esct-alert-danger{background:var(--red-bg);color:#b91c1c;border-color:var(--red-bd)}.esct-alert-info{background:var(--blue-bg);color:#1d4ed8;border-color:var(--blue-bd)}.esct-alert-warning{background:var(--amber-bg);color:#92400e;border-color:#fde68a}.esct-auth-wrap{min-height:100vh;background:#f4f6f9}.esct-auth-split{display:grid;grid-template-columns:400px 1fr;min-height:100vh}@media (max-width:860px){.esct-auth-split{grid-template-columns:1fr}.esct-auth-left{display:none}}.esct-auth-left{background:linear-gradient(160deg,var(--p) 0%,var(--p-mid) 100%);display:flex;flex-direction:column;padding:48px 40px;position:sticky;top:0;height:100vh;overflow:hidden}.esct-auth-left::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgb(201 146 42 / .16),transparent 70%);border-radius:50%;pointer-events:none}.esct-auth-brand{margin-bottom:48px;position:relative;z-index:1}.esct-logo{max-height:52px;max-width:180px;object-fit:contain}.esct-logo-text{font-family:var(--fd);font-size:1.5rem;font-weight:700;color:#fff}.esct-auth-hero{flex:1;position:relative;z-index:1}.esct-hero-icon{font-size:3rem;margin-bottom:22px;display:block}.esct-auth-hero h1{font-family:var(--fd);font-size:1.85rem;font-weight:600;color:#fff;line-height:1.25;margin-bottom:14px;letter-spacing:-.02em}.esct-auth-hero p{color:rgb(255 255 255 / .72);font-size:.9rem;line-height:1.7;margin-bottom:32px}.esct-auth-steps{display:flex;flex-direction:column;gap:12px}.esct-step{display:flex;align-items:center;gap:12px;color:rgb(255 255 255 / .52);font-size:.875rem}.esct-step.done{color:rgb(255 255 255 / .9)}.esct-step-num{width:28px;height:28px;border-radius:50%;background:rgb(255 255 255 / .12);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;border:1.5px solid rgb(255 255 255 / .15)}.esct-step.done .esct-step-num{background:var(--gold);border-color:var(--gold);color:#fff}.esct-feature-list{display:flex;flex-direction:column;gap:11px}.esct-feature{color:rgb(255 255 255 / .82);font-size:.875rem}.esct-auth-footer-note{position:relative;z-index:1;color:rgb(255 255 255 / .52);font-size:.85rem;margin-top:32px;padding-top:20px;border-top:1px solid rgb(255 255 255 / .12)}.esct-auth-footer-note a{color:var(--gold-lt);font-weight:600;text-decoration:none;margin-left:6px}.esct-auth-footer-note a:hover{text-decoration:underline}.esct-auth-right{background:#f4f6f9;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:48px 28px}.esct-auth-form-wrap{width:100%;max-width:600px}.esct-login-form-wrap{max-width:460px;margin-top:32px}.esct-form-header{margin-bottom:32px}.esct-form-header h2{font-family:var(--fd);font-size:1.9rem;font-weight:600;color:var(--p);margin-bottom:8px;letter-spacing:-.03em}.esct-form-header p{color:var(--muted);font-size:.9rem}.esct-form-section{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:26px 26px 22px;margin-bottom:18px;box-shadow:var(--sh-xs)}.esct-section-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.75rem;color:var(--p);text-transform:uppercase;letter-spacing:.08em;margin-bottom:22px;padding-bottom:12px;border-bottom:1.5px solid #f1f5f9}.esct-section-num{width:24px;height:24px;background:var(--p);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}.esct-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:560px){.esct-form-row-2{grid-template-columns:1fr}}.esct-field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.esct-field:last-child{margin-bottom:0}.esct-field>label{font-size:.84rem;font-weight:600;color:var(--text);display:flex;justify-content:space-between;align-items:center;line-height:1.4}.esct-label-link{font-weight:400;font-size:.78rem;color:var(--p-light);text-decoration:none}.esct-label-link:hover{text-decoration:underline}.esct-input{display:block;width:100%;padding:12px 14px;background:#fff;border:2px solid #d1d9e0;border-radius:var(--r);font-size:.9375rem;font-family:var(--fb);font-weight:400;color:var(--text);line-height:1.5;min-height:46px;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;appearance:none;box-sizing:border-box}.esct-input::placeholder{color:#a0aec0}.esct-input:focus{outline:none;border-color:var(--p-mid);box-shadow:0 0 0 4px rgb(26 68 128 / .09);background:#fff}.esct-input:hover:not(:focus):not(:disabled){border-color:#a0aec0}.esct-input:disabled{background:#f8fafc;color:var(--subtle);cursor:not-allowed;border-color:var(--border)}.esct-input-lg{padding:13px 16px;font-size:1rem;min-height:50px}.esct-input-sm{padding:7px 11px;font-size:.84rem;min-height:36px}select.esct-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px;cursor:pointer}.esct-hint{font-size:.78rem;color:var(--subtle);line-height:1.5}.esct-hint-warn{color:var(--amber)}.esct-matric-input{font-weight:700!important;letter-spacing:.04em!important}.esct-pw-wrap{position:relative;display:flex;align-items:center}.esct-pw-wrap .esct-input{padding-right:50px}.esct-eye-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:1rem;color:var(--subtle);padding:4px;line-height:1}.esct-eye-btn:hover{color:var(--p)}.esct-pw-strength{height:4px;border-radius:2px;margin-top:7px;transition:all .3s;background:var(--border)}.esct-pw-strength.weak{background:var(--red);width:33%}.esct-pw-strength.medium{background:var(--amber);width:66%}.esct-pw-strength.strong{background:var(--green);width:100%}.esct-pw-rules{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:9px}.esct-rule{font-size:.76rem;color:var(--subtle);transition:color .2s}.esct-rule.valid{color:var(--green)}.esct-terms-field{margin-top:2px}.esct-checkbox-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.84rem;color:var(--muted);line-height:1.6}.esct-checkbox-label input[type="checkbox"]{margin-top:3px;flex-shrink:0;width:16px;height:16px;accent-color:var(--p);cursor:pointer}.esct-divider-text{text-align:center;color:var(--subtle);font-size:.82rem;margin:18px 0;position:relative}.esct-divider-text::before,.esct-divider-text::after{content:'';position:absolute;top:50%;width:44%;height:1px;background:var(--border)}.esct-divider-text::before{left:0}.esct-divider-text::after{right:0}.esct-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.esct-modal-overlay{position:absolute;inset:0;background:rgb(15 45 85 / .55);backdrop-filter:blur(2px)}.esct-modal-box{position:relative;z-index:1;background:#fff;border-radius:var(--r-xl);padding:36px;max-width:460px;width:100%;box-shadow:var(--sh-lg);animation:esct-modal-in .22s var(--ease)}@keyframes esct-modal-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}.esct-modal-box h3{font-family:var(--fd);font-size:1.4rem;color:var(--p);margin-bottom:8px}.esct-modal-box p{color:var(--muted);font-size:.875rem;margin-bottom:22px}.esct-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:#f1f5f9;border:none;cursor:pointer;font-size:.9rem;color:var(--muted);display:flex;align-items:center;justify-content:center}.esct-modal-close:hover{background:var(--border)}.esct-fee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin-bottom:28px}.esct-fee-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-lg);padding:24px 22px;box-shadow:var(--sh-xs);transition:all .2s var(--ease);display:flex;flex-direction:column}.esct-fee-card:hover{border-color:var(--p-light);transform:translateY(-2px);box-shadow:var(--sh)}.esct-fee-card.is-paid{border-color:var(--green-bd);background:var(--green-bg)}.esct-fee-card.is-locked{opacity:.6}.esct-fee-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.esct-fee-type-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--subtle)}.esct-paid-stamp{background:var(--green);color:#fff;font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:4px}.esct-fee-amount{font-family:var(--fd);font-size:1.85rem;font-weight:700;color:var(--p);margin-bottom:6px;letter-spacing:-.02em}.esct-fee-desc{font-size:.8rem;color:var(--subtle);flex:1;margin-bottom:18px;line-height:1.5}.esct-payment-page{display:grid;grid-template-columns:1fr 1.7fr;gap:22px;align-items:start}@media (max-width:768px){.esct-payment-page{grid-template-columns:1fr}}.esct-pay-summary{background:linear-gradient(145deg,var(--p),var(--p-mid));color:#fff;border-radius:var(--r-lg);padding:28px 24px;text-align:center}.esct-pay-summary h3{font-family:var(--fd);font-size:.95rem;color:rgb(255 255 255 / .72);margin-bottom:10px;font-weight:500}.esct-big-amount{font-family:var(--fd);font-size:2.4rem;font-weight:700;color:var(--gold-lt);margin-bottom:16px;letter-spacing:-.03em;line-height:1}.esct-pay-meta{text-align:left}.esct-pay-meta-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgb(255 255 255 / .08);font-size:.8rem;gap:10px}.esct-pay-meta-row:last-child{border-bottom:none}.esct-pay-meta-row span{color:rgb(255 255 255 / .58);flex-shrink:0}.esct-pay-meta-row strong{color:rgb(255 255 255 / .9);font-weight:600;text-align:right}.esct-pay-ref-box{margin-top:14px;background:rgb(255 255 255 / .08);border-radius:var(--r);padding:9px 12px;border:1px solid rgb(255 255 255 / .12)}.esct-pay-ref-box small{display:block;font-size:.67rem;color:rgb(255 255 255 / .48);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.esct-pay-ref-box code{font-size:.78rem;color:var(--gold-lt);letter-spacing:.04em;word-break:break-all}.esct-pay-tabs-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-xs)}.esct-pay-tabs{display:flex;border-bottom:2px solid #f1f5f9}.esct-tab{flex:1;padding:16px 10px;text-align:center;background:#f8fafc;border:none;cursor:pointer;font-family:var(--fb);font-weight:600;font-size:.84rem;color:var(--muted);transition:all .18s;display:flex;flex-direction:column;align-items:center;gap:3px;border-bottom:3px solid #fff0;margin-bottom:-2px}.esct-tab small{font-size:.7rem;font-weight:400;color:var(--subtle)}.esct-tab.active{background:var(--surface);color:var(--p);border-bottom-color:var(--p)}.esct-tab-panel{padding:24px}.esct-method-desc{color:var(--muted);font-size:.875rem;margin-bottom:16px;line-height:1.6}.esct-bank-card{background:#f8fafc;border:1.5px solid var(--border);border-radius:var(--r);padding:16px 18px;margin-bottom:12px;font-size:.875rem}.esct-bank-name{font-weight:700;color:var(--p);margin-bottom:8px;font-size:.875rem}.esct-bank-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}.esct-bank-row>span{color:var(--subtle);font-size:.78rem;min-width:120px}.esct-acct-num{font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:var(--text)}.esct-copy-btn{background:var(--p);color:#fff;border:none;border-radius:4px;padding:3px 10px;font-size:.72rem;cursor:pointer;font-family:var(--fb);font-weight:600}.esct-copy-btn:hover{background:var(--p-mid)}.esct-bank-submit-area{margin-top:18px}.esct-secure-note{text-align:center;color:var(--subtle);font-size:.76rem;margin-top:12px}.esct-locked-state,.esct-empty-state{text-align:center;padding:60px 24px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-xs)}.esct-lock-icon,.esct-empty-icon{font-size:3rem;margin-bottom:16px;display:block}.esct-locked-state h3,.esct-empty-state h3{font-family:var(--fd);font-size:1.3rem;color:var(--p);margin-bottom:8px}.esct-locked-state p,.esct-empty-state p{color:var(--muted);max-width:360px;margin:0 auto 20px;font-size:.875rem;line-height:1.7}.esct-course-meta-bar{display:flex;gap:18px;flex-wrap:wrap;background:var(--p);color:rgb(255 255 255 / .85);padding:10px 18px;border-radius:var(--r) var(--r) 0 0;font-size:.78rem;font-weight:500}.esct-course-table-wrap{border:1.5px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);overflow:hidden;margin-bottom:18px}.esct-course-row.is-compulsory td{background:#fefce8}.esct-course-row.is-registered td{background:var(--green-bg)}.esct-code-cell code{background:#f1f5f9;padding:2px 7px;border-radius:4px;font-size:.78rem;font-weight:600;color:var(--p)}.esct-unit-pill{background:var(--p);color:#fff;font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:20px}.esct-course-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);padding:16px 20px}.esct-selected-units{font-size:.84rem;color:var(--muted);flex:1}.esct-course-check{accent-color:var(--p);width:16px;height:16px;cursor:pointer}.esct-results-filter{display:flex;gap:10px;align-items:center}.esct-result-summary{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:24px;margin-bottom:20px;box-shadow:var(--sh-xs)}.esct-gpa-display{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.esct-gpa-circle{width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgb(0 0 0 / .12)}.gpa-excellent{background:linear-gradient(135deg,#15803d,#22c55e)}.gpa-good{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.gpa-average{background:linear-gradient(135deg,#b45309,#f59e0b)}.gpa-poor{background:linear-gradient(135deg,#b91c1c,#ef4444)}.esct-gpa-big{font-family:var(--fd);font-size:1.9rem;font-weight:700;color:#fff;line-height:1}.esct-gpa-tag{font-size:.62rem;color:rgb(255 255 255 / .78);text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-top:2px}.esct-gpa-breakdown{display:flex;gap:24px;flex-wrap:wrap}.esct-gpa-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.esct-gpa-stat strong{font-family:var(--fd);font-size:1.3rem;color:var(--p);font-weight:700;line-height:1;margin-bottom:3px}.esct-gpa-stat span{font-size:.68rem;color:var(--subtle);text-transform:uppercase;letter-spacing:.07em;font-weight:700}.esct-score-bar-wrap{display:flex;flex-direction:column;gap:4px;min-width:110px;font-size:.8rem;font-weight:500}.esct-score-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.esct-score-fill{height:100%;border-radius:2px}.esct-grade-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:700;font-size:.875rem}.esct-grade-a,.esct-score-fill.esct-grade-a{background:var(--green-bg);color:var(--green)}.esct-grade-b,.esct-score-fill.esct-grade-b{background:var(--blue-bg);color:#1d4ed8}.esct-grade-c,.esct-score-fill.esct-grade-c{background:var(--amber-bg);color:var(--amber)}.esct-grade-d,.esct-score-fill.esct-grade-d{background:#fff7ed;color:#c2410c}.esct-grade-e,.esct-grade-f,.esct-score-fill.esct-grade-e,.esct-score-fill.esct-grade-f{background:var(--red-bg);color:var(--red)}.esct-result-totals td{background:#f8fafc;font-size:.875rem}.esct-results-table-wrap{border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px;box-shadow:var(--sh-xs)}.esct-result-actions{display:flex;gap:12px;flex-wrap:wrap}.esct-profile-grid{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:flex-start}@media (max-width:768px){.esct-profile-grid{grid-template-columns:1fr}}.esct-profile-card{text-align:center;padding:28px 22px!important}.esct-profile-avatar-lg{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--p-light));margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:2rem;font-weight:700;color:#fff;box-shadow:0 6px 18px rgb(15 45 85 / .22)}.esct-profile-card h3{font-family:var(--fd);font-size:1.2rem;color:var(--p);margin-bottom:8px;letter-spacing:-.01em}.esct-matric-display{display:inline-block;background:#f1f5f9;padding:4px 12px;border-radius:20px;font-size:.78rem;margin-bottom:10px;font-weight:600;letter-spacing:.04em;color:var(--muted)}.esct-profile-details{margin-top:20px;text-align:left}.esct-detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #f1f5f9;font-size:.84rem}.esct-detail-row:last-child{border-bottom:none}.esct-detail-row span{color:var(--subtle);font-size:.8rem;flex-shrink:0;min-width:80px}.esct-detail-row strong{color:var(--text);text-align:right;font-weight:600;word-break:break-word}.esct-profile-forms{display:flex;flex-direction:column;gap:20px}@media print{.esct-nav-wrapper,.esct-result-actions,.esct-course-actions,.esct-btn,.esct-page-header form{display:none!important}.esct-portal-body{padding:0}.esct-card,.esct-results-table-wrap{box-shadow:none;border:1px solid #ccc}}@media (max-width:860px){.esct-auth-wrap{background:#f4f6f9!important}.esct-auth-split{display:block!important;grid-template-columns:unset!important}.esct-auth-left{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;position:absolute!important}.esct-auth-right{display:block!important;width:100%!important;max-width:100%!important;padding:24px 16px 48px!important;min-height:100vh;overflow-y:auto}.esct-auth-form-wrap,.esct-login-form-wrap{max-width:100%!important;width:100%!important;margin:0 auto!important;padding:0!important}.esct-form-header{margin-bottom:24px!important}.esct-form-header h2{font-size:1.5rem!important}.esct-form-section{padding:18px 16px!important;margin-bottom:14px!important}}@media (max-width:560px){.esct-form-row-2{grid-template-columns:1fr!important;gap:0!important}.esct-field{margin-bottom:16px!important}.esct-input{font-size:16px!important}}@media (max-width:768px){.esct-topbar{padding:0 16px!important;height:56px!important}.esct-portal-name{font-size:.95rem!important}.esct-nav-inner{padding:0 8px!important}.esct-nav-item{padding:12px 10px!important;font-size:.78rem!important;gap:4px!important}.esct-nav-icon{font-size:.9rem!important}.esct-portal-body{padding:20px 16px 48px!important}.esct-page-title{font-size:1.35rem!important;margin-bottom:18px!important}}@media (max-width:480px){.esct-nav-label{display:none!important}.esct-nav-icon{font-size:1.2rem!important}.esct-nav-item{padding:14px 12px!important}.esct-topbar-greeting{display:none!important}}@media (max-width:768px){.esct-dash-hero{flex-direction:column!important;padding:22px 18px!important;gap:16px!important}.esct-dash-info h2{font-size:1.1rem!important;white-space:normal!important}.esct-dash-gpa{width:100%!important;padding:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important}.esct-gpa-num{font-size:2rem!important}.esct-stats-row{grid-template-columns:1fr 1fr!important;gap:12px!important}.esct-stat-card{padding:14px 16px!important;gap:10px!important}.esct-stat-icon{font-size:1.3rem!important}.esct-dash-grid{grid-template-columns:1fr!important}.esct-actions-grid{grid-template-columns:1fr 1fr!important}}@media (max-width:400px){.esct-stats-row{grid-template-columns:1fr!important}}@media (max-width:768px){.esct-fee-grid{grid-template-columns:1fr!important}.esct-payment-page{grid-template-columns:1fr!important}.esct-pay-summary{position:static!important}.esct-pay-tabs{flex-direction:column!important}.esct-tab{border-bottom:1px solid #f1f5f9!important;border-right:none!important;padding:14px!important;flex-direction:row!important;justify-content:center!important;gap:8px!important}.esct-tab.active{border-left:4px solid var(--p)!important;border-bottom-color:transparent!important}.esct-tab-panel{padding:18px!important}}@media (max-width:768px){.esct-course-actions{flex-direction:column!important;align-items:stretch!important}.esct-course-actions .esct-btn{width:100%!important;justify-content:center!important}}@media (max-width:768px){.esct-gpa-display{flex-direction:column!important;align-items:flex-start!important;gap:20px!important}.esct-gpa-breakdown{gap:16px!important}.esct-results-filter{flex-wrap:wrap!important}.esct-results-filter select{width:100%!important}}@media (max-width:768px){.esct-profile-grid{grid-template-columns:1fr!important}.esct-profile-card{padding:20px!important}}@media (max-width:480px){.esct-card{padding:18px 16px!important}.esct-btn-row{flex-direction:column!important}.esct-btn-row .esct-btn{width:100%!important;justify-content:center!important}}@media (max-width:480px){.esct-modal-box{padding:24px 20px!important}.esct-modal-box h3{font-size:1.2rem!important}}@media (max-width:768px){.esct-btn,.esct-nav-item,.esct-action-tile{-webkit-tap-highlight-color:#fff0}.esct-portal-nav{-webkit-overflow-scrolling:touch}.esct-input,select.esct-input{font-size:16px!important}}.esct-mobile-form-header{display:none;text-align:center;padding:20px 0 8px;border-bottom:1.5px solid var(--border);margin-bottom:24px}@media (max-width:860px){.esct-mobile-form-header{display:block}}.esct-table-responsive{border:1.5px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px;box-shadow:var(--sh-xs)}@media (min-width:641px) and (max-width:900px){.esct-results-table-wrap,.esct-course-table-wrap,.esct-table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.esct-results-table-wrap table,.esct-course-table-wrap table,.esct-table-responsive table{min-width:520px}}@media (max-width:640px){.esct-results-table-wrap,.esct-course-table-wrap,.esct-table-responsive{overflow:visible;background:#fff0;border:none;box-shadow:none;border-radius:0}.esct-table{display:block;width:100%}.esct-table thead{display:none}.esct-table tbody{display:block}.esct-table tfoot{display:none}.esct-table tbody tr{display:block;border:1.5px solid var(--border);border-radius:var(--r);margin-bottom:12px;background:var(--surface);box-shadow:var(--sh-xs);overflow:hidden}.esct-table tbody tr:hover td{background:#fff0}.esct-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px!important;font-size:.85rem!important;border-bottom:1px solid #f1f5f9;text-align:right}.esct-table td:last-child{border-bottom:none}.esct-table td::before{content:attr(data-label);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;flex-shrink:0;min-width:80px}.esct-table td[data-label=""]{justify-content:flex-start;padding-top:12px!important;padding-bottom:12px!important}.esct-table td[data-label=""]::before{display:none}.esct-score-bar-wrap{flex-direction:column;align-items:flex-end;gap:4px;width:100%}}.esct-watermarked{position:relative;user-select:none;-webkit-user-select:none}.esct-watermarked::after{content:attr(data-watermark);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-35deg);font-size:1.1rem;font-weight:700;color:rgb(15 45 85 / .06);white-space:nowrap;pointer-events:none;z-index:10;letter-spacing:.08em;text-transform:uppercase}.esct-result-request-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:20px 24px;margin-top:20px;box-shadow:var(--sh-xs)}.esct-result-request-info{display:flex;align-items:flex-start;gap:14px;flex:1}.esct-result-request-icon{font-size:2rem;flex-shrink:0}.esct-result-request-info strong{display:block;font-size:.95rem;color:var(--p);font-weight:700;margin-bottom:3px}.esct-result-request-info p{font-size:.82rem;color:var(--muted);margin:0}@media (max-width:600px){.esct-result-request-bar{flex-direction:column}.esct-result-request-bar .esct-btn{width:100%;justify-content:center}}.esct-pin-gate-wrap{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 16px}.esct-pin-gate-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--r-xl);padding:48px 40px;max-width:480px;width:100%;text-align:center;box-shadow:var(--sh-md)}.esct-pin-gate-icon{font-size:3rem;margin-bottom:16px;display:block}.esct-pin-gate-card h3{font-family:var(--fd);font-size:1.4rem;font-weight:700;color:var(--p);margin-bottom:12px}.esct-pin-gate-card p{color:var(--muted);font-size:.9rem;margin-bottom:8px;line-height:1.6}.esct-pin-gate-form{margin-top:28px;text-align:left}.esct-pin-gate-form .esct-field{margin-bottom:20px}@media (max-width:480px){.esct-pin-gate-card{padding:32px 20px}.esct-pin-gate-card h3{font-size:1.2rem}}body.esct-dark{background:#0f172a!important;color:#f1f5f9!important}body.esct-dark .esct-portal-wrap,body.esct-dark .esct-auth-wrap{--bg:#0f172a;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--muted:#94a3b8;--subtle:#64748b;--green-bg:#14532d;--red-bg:#450a0a;--amber-bg:#451a03;--blue-bg:#1e3a5f;background:#0f172a;color:#f1f5f9}body.esct-dark .esct-card,body.esct-dark .esct-stat-card,body.esct-dark .esct-checklist-item,body.esct-dark .esct-action-tile,body.esct-dark .esct-pin-gate-card,body.esct-dark .esct-result-summary{background:#1e293b!important;border-color:#334155!important;color:#f1f5f9!important}body.esct-dark .esct-card-head,body.esct-dark .esct-card-head h3{color:#f1f5f9!important}body.esct-dark .esct-input{background:#0f172a!important;border-color:#475569!important;color:#f1f5f9!important}body.esct-dark .esct-input::placeholder{color:#64748b!important}body.esct-dark .esct-table th{background:#1e3a5f!important;color:#e2e8f0!important}body.esct-dark .esct-table td{border-color:#334155!important;color:#cbd5e1!important}body.esct-dark .esct-table tr:hover td{background:#263548!important}body.esct-dark .esct-portal-body{background:#0f172a!important}body.esct-dark code{background:#334155!important;color:#93c5fd!important}body.esct-dark .esct-alert-danger{background:#450a0a!important;color:#fca5a5!important;border-color:#b91c1c!important}body.esct-dark .esct-alert-success{background:#14532d!important;color:#86efac!important;border-color:#15803d!important}body.esct-dark .esct-alert-warning{background:#451a03!important;color:#fcd34d!important;border-color:#b45309!important}body.esct-dark .esct-dash-hero{background:linear-gradient(135deg,#1a3a5c,#0f2544)!important}body.esct-dark .esct-portal-nav{background:#1e293b!important;border-color:#334155!important}body.esct-dark .esct-nav-item{color:#94a3b8!important}body.esct-dark .esct-nav-item.active,body.esct-dark .esct-nav-item:hover{color:#f1f5f9!important;background:rgb(255 255 255 / .06)!important}body.esct-dark .esct-result-totals td{background:#1e3a5f!important;color:#e2e8f0!important}.esct-dark-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgb(255 255 255 / .15);border:none;cursor:pointer;font-size:1.1rem;color:#fff;transition:background .2s;flex-shrink:0}.esct-dark-toggle:hover{background:rgb(255 255 255 / .25)}.esct-projector-wrap{background:linear-gradient(135deg,#1a4480,#0f2d55);border-radius:var(--r-lg);padding:24px;color:#fff;margin-top:20px}.esct-projector-wrap h3{color:#fff;font-size:1.1rem;margin-bottom:16px}.esct-projector-result{background:rgb(255 255 255 / .12);border-radius:var(--r);padding:16px 20px;margin-top:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.esct-proj-cgpa-val{font-size:2.2rem;font-weight:800;line-height:1;color:var(--gold-lt,#f0c56b)}.esct-projector-inputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:12px}.esct-proj-field label{display:block;font-size:.78rem;color:rgb(255 255 255 / .75);margin-bottom:4px;font-weight:500}.esct-proj-field input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid rgb(255 255 255 / .25);background:rgb(255 255 255 / .1);color:#fff;font-size:.9rem}.esct-proj-field input::placeholder{color:rgb(255 255 255 / .4)}body.esct-page-body,body{background:#f4f6f9!important}.ast-container,.ast-page-builder-template .ast-container,.entry-content,.post-content,.site-content,#content,#primary,.ast-row,.content-area{max-width:none!important;width:100%!important;padding:0!important;margin:0!important;float:none!important}.esct-auth-wrap{display:block!important;width:100vw!important;min-height:100vh!important;max-width:100vw!important;margin:0!important;padding:0!important;overflow-x:hidden!important}.esct-portal-wrap{width:100%!important;min-height:100vh!important;max-width:100%!important;margin:0!important;padding:0!important}.esct-auth-split{display:grid!important;grid-template-columns:400px 1fr!important;min-height:100vh!important;width:100%!important}@media (max-width:860px){.esct-auth-split{display:block!important;grid-template-columns:unset!important}.esct-auth-left{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;position:absolute!important;pointer-events:none!important}.esct-auth-right{display:block!important;width:100%!important;max-width:100%!important;padding:24px 16px 48px!important}}