/* NAC Study production CSS fallback. Rebuild with npm run build:css for full Tailwind output. */
:root{--nac-navy:#0B1F3A;--nac-blue:#155EEF;--nac-red:#D71920;--nac-green:#19B47B;--nac-ink:#0F172A;--nac-mist:#F5F8FF;--nac-gold:#C79A3B}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f7fb;color:#0f172a}.nac-shell{min-height:100vh;background:#f4f7fb;color:#0f172a}.nac-app-grid{display:grid;min-height:100vh;grid-template-columns:300px 1fr}.nac-sidebar{background:#0B1F3A;color:#fff;position:sticky;top:0;height:100vh;overflow:auto}.nac-sidebar:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(25,180,123,.25),transparent 28%),radial-gradient(circle at 90% 10%,rgba(21,94,239,.25),transparent 26%)}.nac-sidebar-inner{position:relative;z-index:1;display:flex;min-height:100vh;flex-direction:column;gap:1.25rem;padding:1.25rem}.nac-nav-item{display:flex;align-items:center;gap:.75rem;border-radius:1rem;padding:.72rem .8rem;color:#dbeafe;text-decoration:none;font-size:.9rem;font-weight:700;transition:.2s}.nac-nav-item:hover{background:rgba(255,255,255,.1)}.nac-nav-item-active{background:#fff;color:#0B1F3A;box-shadow:0 16px 50px rgba(15,23,42,.08)}.nac-card{border:1px solid #e2e8f0;background:#fff;border-radius:2rem;box-shadow:0 16px 50px rgba(15,23,42,.08)}.nac-glass{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);border-radius:2rem;backdrop-filter:blur(18px)}.nac-btn-primary,.nac-btn-green,.nac-btn-light{display:inline-flex;align-items:center;justify-content:center;border-radius:1rem;padding:.85rem 1.2rem;font-size:.9rem;font-weight:900;text-decoration:none;border:0;cursor:pointer}.nac-btn-primary{background:#0B1F3A;color:#fff;box-shadow:0 16px 50px rgba(15,23,42,.08)}.nac-btn-green{background:#19B47B;color:#fff}.nac-btn-light{background:#fff;color:#0B1F3A}.nac-input{width:100%;border:1px solid #e2e8f0;background:#fff;border-radius:1rem;padding:.85rem 1rem;font-size:.92rem;outline:0}.nac-input:focus{border-color:#155EEF;box-shadow:0 0 0 4px #dbeafe}.nac-label{display:block;margin-bottom:.5rem;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:#64748b}.nac-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .75rem;font-size:.72rem;font-weight:900}.nac-section-title{font-size:1.5rem;line-height:1.2;font-weight:900;letter-spacing:-.025em;color:#0f172a}.nac-muted{font-size:.9rem;line-height:1.65;color:#64748b}.main{height:100vh;overflow:auto}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #e2e8f0;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);padding:1rem 2rem}.content{padding:2rem}.hero{position:relative;overflow:hidden;border-radius:2.25rem;background:linear-gradient(135deg,#0B1F3A,#123c6b 48%,#19B47B);color:#fff;padding:2rem;box-shadow:0 28px 80px rgba(15,23,42,.18)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-black{font-weight:900}.font-bold{font-weight:700}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-white\/80{color:rgba(255,255,255,.8)}.text-green{color:#19B47B}.bg-slate-50{background:#f8fafc}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.border{border:1px solid #e2e8f0}.progress{height:.6rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#19B47B,#155EEF)}.mobile-menu{display:none}@media(max-width:1024px){.nac-app-grid{display:block}.nac-sidebar{position:relative;height:auto}.main{height:auto}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.topbar{padding:1rem;align-items:flex-start;flex-direction:column}.content{padding:1rem}.hero{border-radius:1.5rem;padding:1.25rem}.text-4xl{font-size:2rem}} 


/* NAC Study Stabilization Pack additions */
.nac-brand-mark,.nac-avatar{height:48px;width:48px;border-radius:18px;background:#fff;color:#0B1F3A;display:grid;place-items:center;font-weight:900;box-shadow:0 14px 34px rgba(2,6,23,.16)}
.nac-avatar{height:44px;width:44px;background:#0B1F3A;color:#fff;border-radius:16px}.nac-study-nav{display:flex;flex-direction:column;gap:1.25rem}.nac-sidebar-actions{display:grid;grid-template-columns:1fr;gap:.6rem;margin-top:1rem}.nac-btn-outline-light{border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:14px;padding:.75rem 1rem;font-weight:900;background:rgba(255,255,255,.08);cursor:pointer}.nac-btn-muted{border:1px solid #dbe3ef;background:#fff;color:#0f172a;border-radius:14px;padding:.75rem 1rem;font-weight:900;cursor:pointer}.nac-mobile-menu{display:none;border:0;background:#0B1F3A;color:#fff;border-radius:14px;height:44px;width:44px;font-weight:900}.nac-modal-backdrop,.nac-mobile-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.62);backdrop-filter:blur(6px);z-index:80}.nac-switch-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem}.nac-switch-panel{width:min(920px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:30px;box-shadow:0 40px 120px rgba(2,6,23,.35);padding:1.25rem}.nac-switch-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid #e5eaf2;padding:1rem 1rem 1.2rem}.nac-switch-head h2{margin:.25rem 0;font-size:1.5rem;font-weight:900;color:#07152d}.nac-switch-head p{margin:0;color:#64748b;line-height:1.6}.nac-kicker{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:#2563eb}.nac-icon-btn{height:42px;width:42px;border-radius:14px;border:1px solid #e5eaf2;background:#fff;font-size:1.6rem;line-height:1;cursor:pointer}.nac-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}.nac-switch-card{border:1px solid #e5eaf2;border-radius:24px;padding:1.1rem;background:linear-gradient(180deg,#fff,#f8fafc)}.nac-switch-card.current{border-color:#22c55e;background:#f0fdf4}.nac-switch-card-title{font-weight:900;color:#07152d;font-size:1.05rem}.nac-switch-card-copy{color:#64748b;font-size:.92rem;line-height:1.55;margin:.45rem 0 1rem}.nac-switch-card .nac-btn-primary,.nac-switch-card .nac-btn-muted{display:block;text-align:center;text-decoration:none}.nac-sidebar.is-open{transform:translateX(0)!important}.nac-card-link{text-decoration:none;color:inherit;display:block}.nac-card-link:hover{transform:translateY(-2px)}
@media(max-width:1100px){.nac-mobile-menu{display:grid;place-items:center}.nac-sidebar{position:fixed!important;z-index:85;left:0;top:0;bottom:0;transform:translateX(-105%);transition:transform .25s ease}.nac-app-grid{grid-template-columns:1fr!important}.topbar{gap:.8rem}.nac-topbar-actions .nac-btn-green,.nac-topbar-actions .nac-btn-muted{display:none}.nac-switch-grid{grid-template-columns:1fr}.nac-switch-head{padding:.7rem;}.nac-switch-panel{border-radius:24px}.content{padding-left:1rem!important;padding-right:1rem!important}}


/* NAC Study Universal Shell Patch v3 - one sidebar/topbar system across all Study pages */
.portal-shell .nac-study-universal-main,
.portal-shell .icef-main{
  margin-left: var(--sidebar-w, 290px);
  padding: 2rem 2.25rem 4rem;
  min-height: calc(100vh - 82px);
  background: radial-gradient(circle at top left, rgba(14,165,233,.10), transparent 30%), #f5f8fb;
}
.portal-shell .nac-study-universal-container,
.portal-shell .icef-container{max-width:1440px;margin:0 auto;}
.portal-shell .hero,
.portal-shell .icef-hero{
  border-radius: 34px;
  background: linear-gradient(135deg,#081d3a 0%,#0d3f68 48%,#08785e 100%);
  color:#fff;
  box-shadow: 0 26px 70px rgba(8,29,58,.22);
  overflow:hidden;
}
.portal-shell .nac-card,
.portal-shell .icef-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius: 28px;
  background:#fff;
  box-shadow:0 18px 55px rgba(15,23,42,.08);
}
.portal-shell .nac-btn-muted,
.portal-shell button.nac-btn-muted,
.portal-shell [data-nac-switch-open],
.portal-shell [data-study-switch-open]{
  appearance:none;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#fff;color:#0b2343;
  padding:.72rem 1.05rem;font-weight:800;box-shadow:0 10px 25px rgba(15,23,42,.08);
}
.portal-shell .nac-btn-primary,
.portal-shell .icef-btn-primary,
.portal-shell .nac-btn-green{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:999px;
  background:linear-gradient(135deg,#0b2343,#08785e);color:#fff!important;font-weight:900;
  padding:.85rem 1.25rem;text-decoration:none;box-shadow:0 16px 36px rgba(8,120,94,.22);
}
.portal-shell .nac-btn-light,
.portal-shell .nac-btn-outline-light{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-weight:900;
  padding:.75rem 1rem;text-decoration:none;
}
.portal-shell .nac-btn-light{background:#fff;color:#0b2343;border:1px solid rgba(255,255,255,.3)}
.portal-shell .nac-btn-outline-light{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}
.portal-shell .nac-input,
.portal-shell select.nac-input,
.portal-shell input.nac-input,
.portal-shell textarea.nac-input{
  width:100%;border:1px solid rgba(15,23,42,.12);border-radius:18px;background:#fff;color:#0f172a;
  padding:.9rem 1rem;font-weight:650;outline:none;
}
.portal-shell .nac-label,.portal-shell .icef-kicker{letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:900;color:#64748b;}
.portal-shell .nac-muted,.portal-shell .icef-muted{color:#64748b;line-height:1.7;}
.portal-shell .progress{height:12px;border-radius:999px;background:rgba(255,255,255,.4);overflow:hidden;}
.portal-shell .progress span{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#0ea5e9);}
.portal-shell .grid{display:grid;gap:1.25rem;}
.portal-shell .grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.portal-shell .grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.portal-shell .grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.portal-shell .nac-glass{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);backdrop-filter:blur(16px);border-radius:28px;}
.portal-shell .nac-pill,.portal-shell .icef-pill{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.45rem .85rem;font-size:.78rem;font-weight:900;}
@media (max-width:1199.98px){.portal-shell .nac-study-universal-main,.portal-shell .icef-main{margin-left:0;padding:1.25rem 1rem 3rem;}.portal-shell .grid-4,.portal-shell .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:767.98px){.portal-shell .grid-2,.portal-shell .grid-3,.portal-shell .grid-4{grid-template-columns:1fr}.portal-shell .hero,.portal-shell .icef-hero{border-radius:26px}.portal-shell .nac-study-universal-main,.portal-shell .icef-main{padding:1rem .8rem 2.5rem;}}

/* NAC Study Universal Shell Patch v4 - corrected double-shell conflict and student-first page readability */
:root{--sidebar-w:var(--portal-sidebar-width,290px);}
body.portal-shell .app-content{
  margin-left:var(--portal-sidebar-width) !important;
  padding:26px clamp(18px,3vw,40px) 44px !important;
  overflow-x:hidden;
}
body.portal-shell .nac-study-universal-main,
body.portal-shell .icef-main{
  margin-left:0 !important;
  padding:0 !important;
  min-height:auto !important;
  background:transparent !important;
  width:100% !important;
  max-width:100% !important;
}
body.portal-shell .nac-study-universal-container,
body.portal-shell .icef-container{
  max-width:1440px !important;
  width:100% !important;
  margin:0 auto !important;
}
body.portal-shell .nac-study-universal-main .hero,
body.portal-shell .nac-study-universal-main .icef-hero{
  position:relative;
  isolation:isolate;
  border-radius:34px !important;
  background:linear-gradient(135deg,#061a35 0%,#0d3f68 52%,#08785e 100%) !important;
  color:#fff !important;
  padding:clamp(1.5rem,3vw,2.6rem) !important;
  overflow:hidden !important;
  box-shadow:0 26px 70px rgba(8,29,58,.22) !important;
}
body.portal-shell .nac-study-universal-main .hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(circle at 12% 12%,rgba(255,255,255,.16),transparent 28%),radial-gradient(circle at 86% 6%,rgba(15,138,95,.22),transparent 30%);
}
body.portal-shell .nac-study-universal-main .hero h1,
body.portal-shell .nac-study-universal-main .hero h2,
body.portal-shell .nac-study-universal-main .hero h3,
body.portal-shell .nac-study-universal-main .hero .font-black,
body.portal-shell .nac-study-universal-main .hero .nac-section-title{
  color:#fff !important;
  text-shadow:0 2px 18px rgba(0,0,0,.18);
}
body.portal-shell .nac-study-universal-main .hero p,
body.portal-shell .nac-study-universal-main .hero .text-white\/80,
body.portal-shell .nac-study-universal-main .hero .nac-muted{
  color:rgba(255,255,255,.88) !important;
}
body.portal-shell .nac-study-universal-main .hero .nac-glass{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.24) !important;
}
body.portal-shell .nac-study-universal-main .hero .nac-glass .font-black,
body.portal-shell .nac-study-universal-main .hero .nac-glass div{color:#fff !important;}
body.portal-shell .nac-study-universal-main .nac-card .font-black,
body.portal-shell .nac-study-universal-main .nac-card h1,
body.portal-shell .nac-study-universal-main .nac-card h2,
body.portal-shell .nac-study-universal-main .nac-card h3{color:#0b2140 !important;}
body.portal-shell .sidebar-section-label{letter-spacing:.16em;}
body.portal-shell .sidebar-link span{line-height:1.22;}
body.portal-shell .portal-tour-popover{z-index:1085 !important;}
@media (max-width:1199.98px){
  body.portal-shell .app-content{margin-left:0 !important;padding:22px 14px 36px !important;}
}
@media (max-width:767.98px){
  body.portal-shell .app-content{padding:18px 12px 32px !important;}
  body.portal-shell .nac-study-universal-main .hero{border-radius:24px !important;}
}
