/* NEXA visual identity · Sapphire night / teal / gold · responsive editorial classroom */
:root {--nx-ink:#13294a;--nx-teal:#0e9e8e;--nx-gold:#dfa846;--nx-muted:#65758f;--nx-border:#e4ebf4;--nx-shadow:0 22px 58px rgba(19,41,74,.08)}
body{background:radial-gradient(circle at 95% 3%,rgba(149,199,241,.15),transparent 33%),#f5f7fc;color:var(--nx-ink)}
.sidebar{background:linear-gradient(165deg,#102442 0%,#162c52 60%,#0a203a 100%)!important;box-shadow:9px 0 38px rgba(8,20,49,.08)}
.sidebar .brand-name,.sidebar .brand-name span,.sidebar .nav-label,.sidebar .sidebar-foot{color:#edf5ff}
.sidebar .nav-label{opacity:.5;letter-spacing:2px}
.sidebar .nav-link{border-radius:11px;margin:3px 10px;color:#b8cce4;transition:background .16s ease,transform .16s ease}
.sidebar .nav-link:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}
.sidebar .nav-link.active{background:linear-gradient(110deg,rgba(55,199,191,.27),rgba(62,100,191,.28));box-shadow:inset 3px 0 0 #42c5b8;color:white!important}
.sidebar .mentor-widget{background:linear-gradient(140deg,#1e786d,#194967);border:1px solid rgba(180,255,235,.18);border-radius:18px}
.sidebar .mentor-button{background:#f0cb79;color:#193656;border:0}
.topbar{background:rgba(255,255,255,.93);border-bottom:1px solid #e9edf5;backdrop-filter:blur(15px)}
.topbar .profile-chip{background:#f3f6fb;border:1px solid #e8edf6;border-radius:25px}
.topbar .avatar{background:linear-gradient(135deg,#0c988c,#19519b);color:#fff}
.main-content{max-width:1600px;margin:auto}
.site-footer{color:#8997a8}
.nx-page,.nx-dash{animation:nx-rise .32s ease both}
@keyframes nx-rise{from{opacity:.75;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.nx-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}
.nx-page-head h1{font-size:clamp(25px,3vw,38px);line-height:1.14;letter-spacing:-1.4px;margin:7px 0 9px;color:#142b4e;font-family:Manrope,DM Sans,sans-serif}
.nx-page-head p{color:#63768c;font-size:13px;max-width:690px;line-height:1.8;margin:0}
.nx-eyebrow{font-size:10px;letter-spacing:2px;font-weight:900;color:#09978d;text-transform:uppercase}
.nx-eyebrow.light{color:#b8f2ec}
.nx-seal{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#5e7ba0;letter-spacing:2.5px;font-size:10px;font-weight:900}
.nx-seal span{font-size:26px;color:#d8a449}
.nx-page .nx-panel,.nx-dash .nx-panel{border:1px solid #e7edf5;background:#fff;box-shadow:var(--nx-shadow);border-radius:22px;padding:26px;min-width:0}
.nx-panel h2,.nx-panel h3,.nx-result h2{letter-spacing:-.6px;color:#152f50}
.nx-panel h2{font-size:21px;margin:8px 0 12px}
.nx-panel p{color:#61728a;font-size:13px;line-height:1.8}
.nx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:11px;border:1px solid transparent;background:#edf2f9;color:#203a60;font-size:12px;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.nx-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #18395b16}
.nx-btn:disabled{opacity:.45;cursor:not-allowed}
.nx-btn-primary{background:linear-gradient(105deg,#108d89,#1262a4);color:#fff;box-shadow:0 11px 25px #13847a26}
.nx-btn-outline{background:#f3fbfd;border:1px solid #bfe8e7;color:#147a86}
.nx-btn-muted{background:#edf1f7;border-color:#dae4ed}
.nx-chip{display:inline-block;background:#f0f7fb;color:#4f718b;border:1px solid #e4eff6;border-radius:100px;padding:6px 10px;font-size:10px;font-weight:800}
.nx-input{display:block;width:100%;min-width:0;padding:13px 14px;border-radius:11px;border:1px solid #d6e1ef;background:#fff;color:#203650;font:500 13px DM Sans,sans-serif;outline:none}
.nx-input:focus{border-color:#11a79c;box-shadow:0 0 0 3px #14b5aa20}
.nx-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:19px 0}
.nx-form label{font-size:12px;font-weight:750;color:#4f617d;display:flex;flex-direction:column;gap:8px}
.nx-form label:has(textarea){grid-column:1/-1}
.nx-form textarea{resize:vertical;min-height:95px}
.nx-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #edf1f6;font-size:12px;color:#67768a}
.nx-line strong{color:#173753;white-space:nowrap}
.nx-quiet{font-size:11px!important;color:#8896a8!important;line-height:1.8!important}
.nx-alert{border-radius:12px;padding:12px 15px;background:#eaf8f5;color:#176d66;font-size:12px;border:1px solid #bbe5dc}
.nx-dashboard-hero{position:relative;min-height:285px;overflow:hidden;display:flex;align-items:center;background:radial-gradient(circle at 80% 22%,rgba(59,198,178,.32),transparent 26%),linear-gradient(110deg,#14264c 0%,#174a72 57%,#0c766e 100%);color:white;border-radius:25px;padding:42px 44px;box-shadow:0 26px 53px rgba(21,60,92,.17);margin-bottom:30px}
.nx-hero-copy{position:relative;z-index:2;max-width:650px}
.nx-dashboard-hero h1{font-family:Manrope,DM Sans,sans-serif;font-size:clamp(28px,3.6vw,51px);font-weight:800;line-height:1.15;letter-spacing:-2px;margin:13px 0 16px;color:#fff}
.nx-dashboard-hero h1 em{font-weight:800;color:#e9c779;font-style:normal}
.nx-dashboard-hero p{max-width:520px;color:#cbdbe9;font-size:13px;line-height:1.8;margin:0 0 23px}
.nx-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.nx-btn-bright{background:#f0cd80;color:#172e4e}
.nx-btn-glass{background:#ffffff1a;color:#f4fbff;border-color:#ffffff43}
.nx-hero-graphic{position:absolute;right:-20px;bottom:-80px;width:330px;height:330px;pointer-events:none;opacity:.9}
.nx-ring{position:absolute;border:1px solid #d6fff354;border-radius:100%;inset:36px}
.nx-ring.two{inset:5px;border-color:#d6fff32a;box-shadow:0 0 0 38px #ffffff05}
.nx-ribbon{position:absolute;top:130px;left:52px;font:900 54px Manrope,sans-serif;letter-spacing:7px;color:#ffffffc6;transform:rotate(-14deg);text-shadow:0 15px 35px #0002}
.nx-hero-spark{position:absolute;top:42px;right:60px;color:#ffdc82;font-size:47px}.nx-hero-star{position:absolute;bottom:65px;left:40px;color:#91f1dc;font-size:61px}
.nx-section-label{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:20px 0 15px;flex-wrap:wrap}
.nx-section-label h2{font-size:21px;margin:4px 0 0;letter-spacing:-.6px}
.nx-help{font-size:11px;color:#8594a8}
.nx-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:23px}
.nx-stat{border-radius:20px;background:#fff;border:1px solid #e8edf6;box-shadow:0 11px 35px #1e36600c;padding:22px;min-width:0;display:flex;flex-direction:column;gap:5px}
.nx-stat-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.nx-stat-top span{display:grid;place-items:center;font-size:19px;background:#eaf6f7;color:#0b958c;width:36px;height:36px;border-radius:11px}
.nx-stat-top small{font-size:8px;letter-spacing:1px;font-weight:800;color:#b0bcca}
.nx-stat>strong{font-size:34px;line-height:1.15;font-weight:850;color:#153359;letter-spacing:-1px;margin:8px 0 1px}
.nx-stat>span{font-size:12px;font-weight:900;color:#35516d}
.nx-stat>small{font-size:10px;color:#90a0b1}
.nx-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px}
.nx-readiness-teaser{background:linear-gradient(155deg,#fff 50%,#ebfaf5)!important}.nx-panel-icon{display:grid;place-items:center;background:#edfaf6;color:#159f91;font-size:23px;border-radius:14px;height:47px;width:47px;margin-bottom:16px}
.nx-meter{background:#e7edf6;border-radius:50px;height:9px;overflow:hidden;margin:17px 0}
.nx-meter span{display:block;height:100%;border-radius:50px;background:linear-gradient(90deg,#15bba3,#3b74d3);transition:width .2s}
.nx-action-list{display:flex;flex-direction:column;gap:5px}
.nx-action-list button{display:grid;grid-template-columns:35px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;width:100%;border:0;border-radius:12px;background:#f8fafc;padding:12px;color:#1d3556;cursor:pointer}
.nx-action-list button:hover{background:#eaf7f6}
.nx-action-list button span{grid-row:span 2;background:#e8f2fb;color:#1e8b94;border-radius:8px;display:grid;place-items:center;width:34px;height:34px;font-size:16px}
.nx-action-list button strong{font-size:12px}.nx-action-list button small{font-size:10px;color:#8ca0b4}.nx-action-list button> :last-child{grid-column:3;grid-row:1/3;color:#95a6b6}
.nx-start-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:19px}
.nx-big-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#e7f8f4;color:#139a90;font-size:34px}
.nx-intro-panel .nx-breakdown{margin:23px 0}
.nx-bottom{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.nx-tips{background:linear-gradient(145deg,#e9f2ff,#f1fbf9)!important}.nx-mini-gold{letter-spacing:1px;color:#b18734;font-size:11px;font-weight:900}
.nx-assessment{max-width:870px;margin:auto}.nx-assess-bar,.nx-assess-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.nx-assess-bar{color:#5e718b;font-size:12px}.nx-assess-footer{margin:18px 0}
.nx-assess-footer span{font-size:11px;color:#7b91a7}
.nx-quiz-card{padding:30px;background:white;border-radius:22px;box-shadow:var(--nx-shadow);border:1px solid #e6edf5}
.nx-question-number{font-size:10px;color:#0da194;font-weight:900;letter-spacing:1.7px;margin-right:12px}
.nx-quiz-card h2{font-size:clamp(17px,2vw,23px);line-height:1.48;letter-spacing:-.35px;margin:17px 0 25px;color:#1e3555}
.nx-options{display:flex;flex-direction:column;gap:11px}
.nx-option{display:flex;align-items:center;gap:14px;text-align:left;width:100%;background:#f9fbfe;border:1px solid #e2e9f2;border-radius:13px;padding:13px 15px;color:#354963;cursor:pointer;font-weight:600;font-size:13px;min-height:52px}
.nx-option b{background:#e7edf5;color:#637791;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}
.nx-option span{flex:1}.nx-option small{font-weight:900;color:#117f78}
.nx-option.active,.nx-option:hover{border-color:#10ae9f;background:#ecfaf7}.nx-option.active b{background:#11a99b;color:white}
.nx-result{margin:22px 0;padding:26px;border-radius:25px;background:linear-gradient(120deg,#fff,#f0faf8);border:1px solid #e2f0ed;display:grid;grid-template-columns:160px 1fr;gap:23px}
.nx-score-orb{height:146px;width:146px;border-radius:50%;background:linear-gradient(140deg,#16386a,#11988a);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 15px 28px #0a746e35}
.nx-score-orb span,.nx-score-orb small{font-size:8px;font-weight:850;letter-spacing:1px}.nx-score-orb strong{font-size:50px;line-height:1.15}
.nx-result-copy h2{font-size:24px;margin:6px 0}.nx-result-copy p{font-size:12px;line-height:1.8;color:#5c7189}
.nx-report-subjects,.nx-report-next{grid-column:1/-1}
.nx-progress-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(90px,1.3fr) 62px;gap:15px;align-items:center;margin:12px 0;font-size:11px}
.nx-progress-row strong{font-size:11px}.nx-progress-row div:first-child span{display:block;margin-top:3px;color:#8b9bad}.nx-progress-row .nx-meter{margin:0}
.nx-report-next{background:#fff;padding:21px;border-radius:17px}.nx-report-next h3{margin:0}
.nx-premium-strip{border-radius:22px;padding:25px 28px;background:linear-gradient(120deg,#17355d,#0b817b);color:#fff;margin-bottom:23px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.nx-premium-strip>span{font-size:10px;font-weight:850;letter-spacing:1.5px;color:#f3c973}
.nx-premium-strip>strong{font-size:18px;letter-spacing:-.5px}.nx-premium-strip>p{flex:1;min-width:220px;font-size:12px;line-height:1.5;color:#dfebf1;margin:0}.nx-premium-strip>a{background:#eac878;color:#143652}
.nx-premium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nx-subject-card{border-radius:20px;background:#fff;border:1px solid #e6edf5;overflow:hidden;box-shadow:0 12px 25px #1936580b;transition:transform .2s,box-shadow .2s}
.nx-subject-card:hover{transform:translateY(-3px);box-shadow:var(--nx-shadow)}
.nx-subject-art{height:103px;position:relative;display:flex;align-items:center;padding:23px;background:linear-gradient(120deg,hsl(var(--h) 55% 27%),hsl(var(--h) 60% 48%));color:#fff}
.nx-subject-art>span{font-size:28px;font-weight:900;background:#ffffff24;border:1px solid #ffffff38;border-radius:17px;min-width:57px;height:57px;display:grid;place-items:center;padding:0 12px}.nx-subject-art i{position:absolute;right:24px;top:8px;font-style:normal;font-size:67px;opacity:.13}
.nx-subject-text{padding:22px}.nx-subject-text>small{font-size:10px;letter-spacing:1px;color:#94a0b2;font-weight:800}
.nx-subject-text h3{font-size:16px;min-height:40px;line-height:1.35;margin:7px 0;color:#203450}
.nx-subject-text p{font-size:11px;color:#7e8a9a;line-height:1.6;min-height:35px}
.nx-card-footer{border-top:1px solid #edf0f6;padding-top:15px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.nx-paid-label{font-size:10px;font-weight:800;color:#a2762c;background:#fff6e0;padding:7px 9px;border-radius:8px}
.nx-pricing{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:20px}.nx-pricing>div{background:white;border:1px solid #e5edf4;border-radius:13px;padding:14px 10px;display:flex;flex-direction:column;gap:8px}.nx-pricing span{font-size:10px;color:#6f8094}.nx-pricing strong{font-size:17px;color:#148e87}
.nx-generated{background:#f3f8fd;border-radius:13px;padding:16px;margin-bottom:15px;font-size:12px}.nx-generated li{margin:9px 0;line-height:1.6}.nx-quote{background:#fff9eb;border:1px solid #faeac7;border-radius:14px;padding:17px;margin:15px 0}.nx-quote>span{font-size:11px;color:#8c762e}.nx-quote>strong{font-size:25px;display:block;color:#856025}.nx-quote p{font-size:11px!important;margin:7px 0 0}
.nx-step{display:flex;align-items:flex-start;gap:12px;margin:13px 0}.nx-step b{height:30px;width:30px;flex-shrink:0;border-radius:9px;display:grid;place-items:center;background:#def4ef;color:#16857c;font-size:12px}.nx-step p{margin:5px 0}
.nx-orders{margin-top:22px}.nx-order{border-top:1px solid #e7edf4;padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.nx-order>div:first-child{min-width:0}.nx-order strong{font-size:12px;display:block}.nx-order small{font-size:10px;color:#8c9bad;display:block;margin:6px 0}.nx-order p{font-size:11px}.nx-order-actions{display:flex;gap:7px;flex-wrap:wrap}
.nx-upload-label{position:relative;cursor:pointer;min-height:41px;background:linear-gradient(100deg,#15998a,#216eab);color:white;font-size:12px;font-weight:800;padding:12px;border-radius:10px;overflow:hidden}.nx-upload-label input{position:absolute;opacity:0;inset:0;cursor:pointer}
.nx-answer-explain{padding:15px 0;border-top:1px solid #e8edf4}.nx-answer-explain strong{font-size:12px}.nx-answer-explain p{font-size:11px;margin:6px 0}
.nx-result-panel h2{font-size:45px;color:#15978b}
.nx-text-link{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:#117983;font-weight:800}
@media(max-width:1150px){.nx-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-pricing{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:810px){.nx-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-start-grid,.nx-summary-grid{grid-template-columns:1fr}.nx-dashboard-hero{padding:30px}.nx-hero-graphic{opacity:.38}}
@media(max-width:580px){.nx-page-head{align-items:start}.nx-seal{display:none}.nx-page .nx-panel,.nx-dash .nx-panel{padding:20px}.nx-dashboard-hero{padding:26px;min-height:270px}.nx-dashboard-hero h1{font-size:31px}.nx-hero-graphic{width:210px;height:210px;bottom:-50px;right:-38px}.nx-ribbon{font-size:30px;left:30px;top:90px}.nx-hero-spark{top:28px}.nx-stats-grid{gap:9px}.nx-stat{padding:14px}.nx-stat>strong{font-size:28px}.nx-stat-top small{display:none}.nx-premium-grid{grid-template-columns:1fr}.nx-subject-art{height:86px}.nx-subject-text h3{min-height:0}.nx-pricing{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-quiz-card{padding:18px}.nx-result{grid-template-columns:1fr}.nx-score-orb{margin:auto}.nx-progress-row{grid-template-columns:1fr 65px}.nx-progress-row .nx-meter{grid-column:1/-1;grid-row:2}.nx-order{align-items:flex-start;flex-direction:column}.nx-form{grid-template-columns:1fr}.nx-premium-strip{padding:23px}.nx-assess-footer .nx-btn{padding:9px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.nx-page,.nx-dash{animation:none}}

.nx-action-list button .nx-chevron{grid-column:3;grid-row:1/3;font-size:17px;color:#8da0b6;align-self:center}.nx-action-list button strong{grid-column:2;grid-row:1;min-width:0}.nx-action-list button small{grid-column:2;grid-row:2;min-width:0;white-space:normal;line-height:1.5}.nx-action-list button span{grid-column:1;grid-row:1/3}.nx-action-list button{grid-template-columns:35px minmax(0,1fr) 14px;min-height:64px}
