.nx-wrap{max-width:1150px;margin:24px auto;font-family:system-ui,sans-serif;color:#1b2940}.nx-wrap header{padding:28px;background:linear-gradient(110deg,#143e78,#3277b5);border-radius:18px;color:white}.nx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:18px 0}.nx-wrap section{padding:22px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin:16px 0;box-shadow:0 3px 14px #102a4310}.nx-wrap article{border-top:1px solid #eee;padding:12px 0}.nx-wrap table{width:100%;border-collapse:collapse}.nx-wrap th,.nx-wrap td{padding:10px;border-bottom:1px solid #e8edf2;text-align:left}.nx-scroll{overflow-x:auto}.nx-wrap textarea{display:block;width:100%;min-height:90px}.nx-wrap button,.nx-form button{background:#2469ad;border:0;border-radius:8px;color:white;padding:11px 18px;cursor:pointer}.nx-form{max-width:450px;display:grid;gap:12px;padding:24px;border:1px solid #ddd;border-radius:12px}.nx-form input{padding:12px}

/* 2.1 responsive student portal */
.nx-wrap{width:100%;box-sizing:border-box;padding:12px;background:#f7f9fc;border-radius:20px}.nx-wrap header{background:linear-gradient(120deg,#172f69,#2563eb);padding:32px;border-radius:18px;box-shadow:0 12px 28px #1e40af24}.nx-wrap header h2{color:white;margin:0 0 8px}.nx-wrap header p{color:#dbeafe;margin:0}.nx-wrap section{overflow:hidden;min-width:0;box-sizing:border-box}.nx-wrap section h3{margin-top:0;color:#193466}.nx-grid section{margin:0}.nx-grid{margin:20px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.nx-wrap article{padding:15px 0}.nx-wrap a{overflow-wrap:anywhere}.nx-wrap table{min-width:550px}.nx-wrap textarea,.nx-wrap input{box-sizing:border-box}.nx-wrap button{min-height:42px}.nx-form{box-sizing:border-box;width:100%;margin:20px auto;background:white;box-shadow:0 8px 30px #0f172a12}.nx-form input{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:8px}@media(max-width:640px){.nx-grid{grid-template-columns:1fr}.nx-wrap{padding:8px}.nx-wrap header{padding:22px}.nx-wrap section{padding:18px}}
/* v2.2 modern student dashboard */
.nx-front{--nx-ink:#172943;--nx-blue:#2563eb;--nx-muted:#718096;max-width:1240px;margin:22px auto 65px;padding:0 20px;color:var(--nx-ink);font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;box-sizing:border-box}.nx-front *{box-sizing:border-box}.nx-front h1,.nx-front h2,.nx-front h3{line-height:1.3;color:var(--nx-ink);margin:0}.nx-front h2{font-size:21px}.nx-front p{line-height:1.6}.nx-hero{background:linear-gradient(115deg,#101e43,#2455bd 65%,#5279e9);border-radius:22px;padding:40px 45px;display:flex;align-items:center;justify-content:space-between;color:white;overflow:hidden;position:relative}.nx-hero h1{color:#fff;font-size:clamp(25px,3vw,38px);margin:10px 0}.nx-hero p{color:#e2eaff;margin:0 0 18px}.nx-kicker{font-size:11px;letter-spacing:.15em;font-weight:800;color:#4779db}.nx-hero .nx-kicker{color:#c2d7ff}.nx-student-pill{display:inline-flex;background:#ffffff25;border:1px solid #ffffff40;padding:7px 13px;border-radius:50px;font-size:12px;color:#fff}.nx-hero-art{font-size:70px;opacity:.9;position:relative;min-width:130px;text-align:center}.nx-hero-art span{display:block;font-size:80px}.nx-nav{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 30px;padding:8px;background:#f1f5fc;border-radius:13px}.nx-nav a{padding:9px 15px;text-decoration:none!important;border-radius:9px;color:#31466b;font-size:13px;font-weight:700}.nx-nav a:hover,.nx-nav a:focus{background:#fff;color:#1e55ca}.nx-section-title{margin:30px 0 16px;scroll-margin-top:35px}.nx-section-title h2{margin-top:5px}.nx-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.nx-metric,.nx-panel-card{background:#fff;border:1px solid #e6ebf3;box-shadow:0 8px 32px rgba(24,48,87,.055);border-radius:17px}.nx-metric{padding:22px;display:flex;flex-direction:column;gap:7px;min-width:0}.nx-metric-icon{width:43px;height:43px;border-radius:12px;background:#eef4ff;display:grid;place-items:center;font-size:21px;margin-bottom:5px}.nx-metric>span{color:#6c7a91;font-size:12px;font-weight:600}.nx-metric strong{font-size:17px;overflow-wrap:anywhere}.nx-two-col,.nx-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.nx-panel-card{padding:25px;min-width:0;scroll-margin-top:30px}.nx-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px}.nx-card-heading h2{margin-top:5px}.nx-icon-badge{background:#edf3ff;color:#2e63ce;padding:9px 13px;border-radius:12px;font-size:22px}.nx-timeline{border-left:2px solid #dbe7fc;margin-left:10px;padding-left:23px}.nx-timeline>div{position:relative;padding:0 0 20px;display:flex;flex-direction:column;gap:3px}.nx-timeline>div:before{content:'';position:absolute;left:-30px;top:5px;width:12px;height:12px;background:#3475e8;border:3px solid #e7efff;border-radius:50%}.nx-timeline b{font-size:14px}.nx-timeline span,.nx-muted{color:#758198;font-size:13px}.nx-finance-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px}.nx-finance-cards>div{background:#f3f7ff;border-radius:13px;padding:17px;display:flex;flex-direction:column;gap:8px}.nx-finance-cards span{font-size:12px;color:#64748b}.nx-finance-cards strong{font-size:20px;overflow-wrap:anywhere}.nx-front table{width:100%;border-collapse:collapse;font-size:12px}.nx-front th,.nx-front td{padding:10px;border-bottom:1px solid #edf0f6;text-align:left}.nx-front th{color:#64748b}.nx-front .nx-scroll{overflow-x:auto}.nx-feed .nx-card-heading h2{font-size:18px}.nx-feed-item{border-top:1px solid #edf0f6;padding:16px 0}.nx-feed-item h3{font-size:15px}.nx-feed-item p{font-size:13px;color:#66758a}.nx-feed-item a{font-size:13px;font-weight:700;color:#2563eb}.nx-empty-state{text-align:center;background:#f8faff;border:1px dashed #dbe5f4;border-radius:14px;padding:28px 15px}.nx-empty-state>span{font-size:32px}.nx-empty-state p{font-weight:700;margin:7px 0 2px}.nx-empty-state small{color:#8a97aa}.nx-empty{font-size:13px;color:#8995a5}.nx-support{margin-top:20px}.nx-support-indicator{background:#eaf4ff;color:#2563eb;font-size:12px;font-weight:700;padding:8px 12px;border-radius:30px}.nx-chat-messages{min-height:160px;max-height:370px;overflow-y:auto;padding:20px;background:#f7f9fd;border:1px solid #e8edf5;border-radius:14px;display:flex;flex-direction:column;gap:12px}.nx-bubble{padding:12px 15px;border-radius:15px;max-width:82%;background:#fff;border:1px solid #e5eaf2;align-self:flex-start}.nx-bubble.nx-mine{align-self:flex-end;background:#e9f1ff;border-color:#d7e6ff}.nx-bubble b{font-size:12px;color:#3156a2}.nx-bubble p{margin:5px 0;font-size:14px;white-space:pre-wrap}.nx-bubble small{color:#8390a2;font-size:10px}.nx-chat-form{display:flex;gap:12px;align-items:flex-end;margin-top:15px}.nx-chat-form textarea{flex:1;min-height:65px;max-height:140px;resize:vertical;border:1px solid #dbe3ef;border-radius:12px;padding:14px;font:inherit;font-size:14px}.nx-chat-form button,.nx-primary{background:#2563eb!important;color:white!important;border:0;border-radius:11px;padding:16px 20px;font-weight:700;cursor:pointer;text-decoration:none!important;white-space:nowrap}.nx-login-card{padding:40px;border:1px solid #e4eaf5;border-radius:18px;text-align:center}.nx-login-card p{margin:14px 0 26px}@media(max-width:850px){.nx-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-two-col,.nx-content-grid{grid-template-columns:1fr}}@media(max-width:520px){.nx-front{padding:0 12px;margin-top:12px}.nx-hero{padding:27px 22px}.nx-hero-art{display:none}.nx-metrics{gap:10px}.nx-metric{padding:16px}.nx-metric strong{font-size:14px}.nx-panel-card{padding:18px}.nx-chat-form{flex-direction:column;align-items:stretch}.nx-chat-form button{width:100%}.nx-finance-cards strong{font-size:16px}}

/* 2.3.0 Profile */
.nx-portal-actions,.nx-profile-nav{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.nx-portal-actions a,.nx-profile-nav a,.nx-profile-link{display:inline-block;padding:11px 17px;border-radius:11px;background:#1d4ed8;color:#fff!important;text-decoration:none;font-weight:600}.nx-portal-actions a:last-child,.nx-profile-nav a:last-child{background:#172b4d}.nx-profile-shell{max-width:1150px;margin:25px auto 50px;padding:0 18px;color:#162b49}.nx-profile-banner{display:flex;align-items:center;gap:22px;background:linear-gradient(120deg,#132b50,#265fd7);border-radius:22px;padding:34px;color:#fff;margin:18px 0 22px}.nx-profile-banner h1{color:#fff;margin:6px 0;font-size:clamp(26px,4vw,38px)}.nx-profile-banner p{color:#e4edff;margin:0}.nx-profile-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#dceaff}.nx-profile-avatar{width:74px;height:74px;border-radius:20px;display:grid;place-items:center;background:#fff;color:#2153b7;font-size:32px;font-weight:800;flex-shrink:0}.nx-profile-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:20px}.nx-profile-panel{background:#fff;border:1px solid #e4eaf3;border-radius:20px;padding:25px;box-shadow:0 8px 28px rgba(20,50,90,.06)}.nx-profile-panel-head h2{font-size:21px;margin:0 0 5px}.nx-profile-panel-head p{margin:0 0 22px;color:#64748b}.nx-profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.nx-profile-form label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:13px;color:#334155}.nx-profile-form input,.nx-profile-form textarea{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;background:#fff;color:#172b4d;font:inherit}.nx-profile-form input[readonly]{background:#f1f5f9;color:#64748b}.nx-profile-wide{grid-column:1/-1}.nx-profile-hint{font-size:12px;line-height:1.5;color:#64748b;margin:18px 0}.nx-profile-save{border:0;border-radius:11px;background:#2259d6;color:#fff;font-weight:700;padding:13px 25px;cursor:pointer}.nx-profile-details>div{padding:15px 0;border-bottom:1px solid #e8edf5;display:flex;flex-direction:column;gap:6px}.nx-profile-details span{font-size:13px;color:#64748b}.nx-profile-details strong{overflow-wrap:anywhere}.nx-profile-back{display:inline-block;margin-top:22px;font-weight:700;text-decoration:none}.nx-profile-success,.nx-profile-error{padding:13px 17px;border-radius:12px;margin-bottom:15px}.nx-profile-success{background:#e9f8ee;color:#17643a}.nx-profile-error{background:#fff0f0;color:#a22525}.nx-currency-breakdown{padding:12px;background:#f1f5f9;border-radius:12px}.nx-currency-breakdown p{margin:4px 0}@media(max-width:780px){.nx-profile-layout{grid-template-columns:1fr}}@media(max-width:520px){.nx-profile-banner{padding:22px;align-items:flex-start;flex-direction:column}.nx-profile-form-grid{grid-template-columns:1fr}.nx-profile-panel{padding:18px}}

.nx-standalone{max-width:1150px;margin:28px auto;padding:12px}.nx-standalone .nx-metrics{margin:20px 0}.nx-standalone .nx-panel-card{margin-top:20px}

/* v2.4.2: Underline-free navigation and interactive active/hover states. */
.nx-profile-nav a,.nx-portal-actions a,.nx-student-navigation a,.nx-profile-link{ text-decoration:none!important; border-bottom:0!important; background:#2563eb; color:#fff!important; transition:background-color .22s ease,transform .18s ease,box-shadow .22s ease; }
.nx-profile-nav a:hover,.nx-portal-actions a:hover,.nx-student-navigation a:hover,.nx-profile-link:hover{ background:#1d4ed8!important;color:#fff!important;text-decoration:none!important;transform:translateY(-2px);box-shadow:0 6px 16px rgba(37,99,235,.22); }
.nx-profile-nav a:active,.nx-portal-actions a:active,.nx-student-navigation a:active,.nx-profile-link:active{background:#0f172a!important;color:#fff!important;transform:scale(.97);text-decoration:none!important;}
.nx-profile-nav a.active,.nx-profile-nav a[aria-current="page"],.nx-student-navigation a.active,.nx-student-navigation a[aria-current="page"]{background:#0f172a!important;color:#fff!important;text-decoration:none!important;}
.nx-profile-nav a:focus-visible,.nx-portal-actions a:focus-visible,.nx-student-navigation a:focus-visible{outline:3px solid #93c5fd;outline-offset:3px;text-decoration:none!important;}

/* v2.9 secure login and advanced student registration */
.nx29-login{max-width:480px;margin:28px auto;padding:30px;background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 12px 32px rgba(15,23,42,.07);color:#1e293b}.nx29-login h2{margin:0 0 8px}.nx29-login p{color:#64748b}.nx29-login form{display:grid;gap:15px}.nx29-login form>label{display:grid;gap:6px;font-weight:600}.nx29-login input:not([type=checkbox]){width:100%;min-height:45px;border:1px solid #cbd5e1;border-radius:9px;padding:10px;box-sizing:border-box}.nx29-login .nx29-remember{display:flex;align-items:center;gap:8px;font-weight:400}.nx29-login button,.nx29-button{display:inline-block;border:0;border-radius:9px;background:#2563eb;color:#fff!important;padding:12px 20px;font-weight:700;text-decoration:none!important;cursor:pointer}.nx29-login-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px}.nx29-error{background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:12px;color:#991b1b;margin:12px 0}.nx-profile-avatar{overflow:hidden}.nx29-photo{width:100%;height:100%;object-fit:cover;border-radius:inherit}.nx25-wrap{margin:20px 0;padding:24px;background:#fff;border:1px solid #dce5f1;border-radius:18px}.nx25-wrap .nx25-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nx25-wrap .nx25-form label{display:grid;gap:7px;font-weight:600}.nx25-wrap .nx25-form input{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #cbd5e1;border-radius:9px;padding:10px}.nx25-wrap .nx25-form button{background:#2563eb;color:#fff;border:0;border-radius:9px;padding:12px 22px;cursor:pointer;grid-column:1/-1;justify-self:start}.nx-nav-identity{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.nx-nav-avatar{width:36px;height:36px;object-fit:cover;border-radius:50%}@media(max-width:640px){.nx25-wrap .nx25-form{grid-template-columns:1fr}.nx29-login{padding:20px}}

/* v2.9.2 student photo display */
.nx30-photo,.nx30-preview,.nx29-photo,.nx-nav-avatar{display:block!important;object-fit:cover!important;object-position:center;width:100%;height:100%;max-width:100%;border-radius:inherit}.nx30-current-photo{display:flex;align-items:center;gap:14px;grid-column:1/-1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.nx30-current-photo img{width:76px!important;height:76px!important;border-radius:50%!important;flex-shrink:0}.nx-profile-avatar img{width:74px!important;height:74px!important;border-radius:20px!important}

.nx294-success{padding:12px 16px;background:#e9f9ef;color:#14532d;border-radius:10px;margin:12px 0}

/* v2.9.6 compact, selectable authentication design */
.nx296-auth.nx29-login,.nx296-auth{box-sizing:border-box!important;width:min(100% - 28px,410px)!important;max-width:410px!important;margin:32px auto!important;padding:28px!important;background:linear-gradient(180deg,var(--nx296-tint,#eff6ff),#fff 145px)!important;border:1px solid #e2e8f0!important;border-radius:18px!important;box-shadow:0 18px 45px #0f172a13!important;color:var(--nx296-ink,#102a56)!important;font-family:system-ui,-apple-system,sans-serif!important;}
.nx296-auth *{box-sizing:border-box}.nx296-auth h2{font-size:24px!important;line-height:1.2!important;letter-spacing:-.5px;margin:20px 0 8px!important;color:var(--nx296-ink)!important}.nx296-auth p{font-size:14px!important;color:#64748b!important;margin:0 0 22px!important}.nx296-auth .nx296-brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;letter-spacing:1px;color:var(--nx296-ink)}.nx296-brand small{display:block;font-size:9px;letter-spacing:1.8px;font-weight:600;color:#64748b}.nx296-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--nx296-accent);color:#fff;font-size:21px}.nx296-auth form{display:grid;gap:14px!important}.nx296-auth form>label{display:grid;gap:6px;font-size:13px;font-weight:650;color:#334155}.nx296-auth form>label small{font-weight:400;color:#64748b}.nx296-auth input:not([type=checkbox]){width:100%!important;min-height:43px!important;padding:10px 12px!important;border:1px solid #cbd5e1!important;border-radius:9px!important;background:white!important;box-shadow:none!important}.nx296-auth input:focus{outline:2px solid var(--nx296-accent);outline-offset:1px}.nx296-auth button{width:100%;min-height:45px;border:0!important;border-radius:9px!important;background:var(--nx296-accent)!important;color:white!important;font-weight:700!important;cursor:pointer}.nx296-auth .nx29-remember{display:flex!important;align-items:center;font-size:13px}.nx296-auth .nx29-remember input{width:auto}.nx296-auth .nx29-login-links,.nx296-footer{font-size:13px;line-height:1.6;margin-top:20px!important}.nx296-auth a{color:var(--nx296-accent)!important;text-decoration:none}.nx296-auth a:hover{text-decoration:underline}.nx296-auth .nx29-error,.nx296-auth .nx294-success{font-size:13px}.nx296-auth--register{margin:32px auto!important}@media(max-width:480px){.nx296-auth.nx29-login,.nx296-auth{padding:22px!important;margin:18px auto!important;width:calc(100% - 24px)!important}}

/* v2.9.13 — login form alignment and accessible footer spacing */
.nx296-auth--login form{gap:16px!important}
.nx296-auth--login form>label:not(.nx29-remember){margin:0!important;line-height:1.45!important}
.nx296-auth--login form>label:not(.nx29-remember)>input{display:block!important;margin-top:7px!important}
.nx296-auth--login .nx29-remember{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:fit-content!important;margin:0!important;padding:0!important;line-height:1.4!important;cursor:pointer}
.nx296-auth--login .nx29-remember input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;flex:0 0 17px!important;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;margin:0!important;padding:0!important;vertical-align:middle!important;accent-color:var(--nx296-accent,#2563eb)!important}
.nx296-auth--login button[type="submit"]{margin-top:3px!important;min-height:48px!important;line-height:1.3!important}
.nx296-auth--login .nx29-login-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;margin-top:18px!important;padding-top:16px!important;border-top:1px solid #e2e8f0!important}
.nx296-auth--login .nx29-login-links a{display:inline-flex!important;align-items:center!important;min-height:24px!important;font-weight:600!important;line-height:1.5!important}
.nx296-auth--login .nx29-login-links a:focus-visible{outline:2px solid var(--nx296-accent,#2563eb);outline-offset:3px;border-radius:3px}
@media(max-width:480px){.nx296-auth--login .nx29-login-links{gap:12px!important}}

/* v2.9.14 — isolate Remember Me from password field and Astra label rules. */
.nx296-auth--login form > label:has(input[type="password"]){margin-bottom:4px!important;}
.nx296-auth--login form > label.nx29-remember{display:flex!important;grid-template-columns:none!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:flex-start!important;column-gap:10px!important;row-gap:0!important;justify-self:start!important;width:auto!important;max-width:100%!important;min-height:24px!important;margin:10px 0 8px!important;padding:0!important;line-height:24px!important;font-size:13px!important;font-weight:500!important;white-space:nowrap!important;}
.nx296-auth--login form > label.nx29-remember > input[type="checkbox"]{position:static!important;display:block!important;float:none!important;flex:none!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;margin:0!important;padding:0!important;transform:none!important;vertical-align:middle!important;}
.nx296-auth--login form > label.nx29-remember + button[type="submit"]{margin-top:2px!important;}
