:root {
  --black: #030914;
  --soft-black: #06111d;
  --charcoal: #0a1a2c;
  --panel: rgba(8, 25, 42, .82);
  --panel-strong: #0b2135;
  --gold: #22d3ee;
  --bright-gold: #8eeeff;
  --gold-glow: rgba(34, 211, 238, .16);
  --white: #f4faff;
  --muted: #a8bdca;
  --line: rgba(74, 211, 239, .22);
  --panel-gold: rgba(58, 180, 217, .38);
  font-family: Inter, sans-serif;
}
body { color: var(--white); background: radial-gradient(circle at 65% 0, rgba(21, 103, 164, .18), transparent 40rem), #030914; }
button, input, select, textarea { font-family: Inter, sans-serif; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }
.portal, .gate-page { background: radial-gradient(circle at 85% 8%, rgba(23, 95, 151, .14), transparent 34rem), #030914; }
.portal .sidebar { background: linear-gradient(180deg,#071321,#040c17); border-right: 1px solid rgba(61, 190, 225, .33); box-shadow: 5px 0 25px rgba(15, 145, 219, .09); }
.portal .sidebar .brand-lockup { border-bottom-color: rgba(73, 199, 232, .26); }
.portal .brand-lockup strong { color: #f6fbff; font: 800 1.1rem/1.06 Manrope, sans-serif; letter-spacing: -.035em; }
.portal h1,.portal h2,.portal h3,.portal .section-heading h2,.portal .dashboard-panel .panel-heading h2 { font-family: Manrope, sans-serif; }
.portal .brand-lockup span:not(.portal-crest) { color: #6fd4ed; }
.portal .nav-button { color: #c6d7e2; }
.portal .nav-icon { color: #91b8cd; }
.portal .nav-button:hover { color: #fff; background: rgba(34, 211, 238, .1); }
.portal .nav-button.active { color: #efffff; border-color: #33ddf6; background: linear-gradient(90deg,rgba(18, 139, 179, .37),rgba(10, 36, 61, .88)); box-shadow: inset 0 0 18px rgba(43, 210, 245, .14),0 0 13px rgba(31, 187, 234, .28); }
.portal .nav-button.active .nav-icon { color: #55e8ff; }
.sidebar-brand-panel { border-color: rgba(58, 185, 222, .47); background: radial-gradient(circle at 30% 20%,rgba(16, 138, 186, .18),transparent 65%),#061421; }
.sidebar-brand-panel strong { color: #e8faff; font-family: Manrope, sans-serif; font-weight: 700; }
.sidebar-brand-panel small { color: #62d9f5; }
.portal .topbar { border-bottom-color: rgba(43, 170, 210, .3); background: rgba(4, 13, 25, .95); }
.portal .global-search { border-color: rgba(108, 193, 220, .28); background: #071625; color: #b9dfed; }
.portal .global-search button { color: #7cdbef; }
.topbar-avatar { border-color: #29c9ec !important; color: #e9fcff !important; background: #0d3651 !important; }
.portal .panel,.portal .metric,.portal .course-card,.portal .resource-card,.portal .dashboard-panel { border-color: rgba(62, 181, 220, .36); background: linear-gradient(145deg,rgba(11, 32, 52, .94),rgba(4, 17, 31, .97)); box-shadow: inset 0 1px rgba(161, 236, 255, .07),0 12px 30px rgba(0, 0, 0, .26); }
.portal .secondary-button,.portal .ghost-button { border-color: rgba(65, 210, 240, .55); color: #d9faff; background: rgba(8, 36, 55, .82); }
.portal .secondary-button:hover,.portal .ghost-button:hover { border-color: #78ecff; background: rgba(24, 135, 170, .2); box-shadow: 0 0 16px rgba(49, 202, 239, .19); }
.gold-button,.portal .gold-button { border: 1px solid #8defff; border-radius: 7px; color: #031522; background: linear-gradient(105deg,#20aed3,#83e9fb 52%,#3ab8ee); box-shadow: 0 4px 18px rgba(30, 179, 226, .24); font-weight: 800; }
.gold-button:hover,.portal .gold-button:hover { box-shadow: 0 5px 23px rgba(41, 212, 248, .46); }
.portal .visual-hero { min-height: 220px; border-color: rgba(67, 194, 229, .45); background: radial-gradient(circle at 81% 42%,rgba(12, 144, 204, .23),transparent 22rem),linear-gradient(110deg,#092037,#06111e); }
.portal .visual-hero h1 { color: #f7fcff; font-family: Manrope, sans-serif; font-weight: 800; letter-spacing: -.04em; }
.portal .visual-hero h2 { color: #9bdff1; }
.portal .hero-orbit { border-color: rgba(51, 221, 245, .5); box-shadow: 0 0 25px rgba(35, 180, 224, .23),inset 0 0 35px rgba(28, 144, 209, .15); }
.portal .section-heading,.portal .panel-heading,.portal .dashboard-panel .panel-heading h2 { color: #b5edff; }
.portal .notice-strip { border-color: rgba(63, 180, 218, .35); border-left-color: #26d4ee; background: #092238; }
.portal .progress-row,.portal .path-row,.portal .stage-card,.portal .mini-card,.portal .lesson-button { border-color: rgba(66, 188, 225, .35); background: linear-gradient(145deg,#0d2a44,#061624); }
.portal .resource-card:hover,.portal .course-card:hover { border-color: #66e5ff; box-shadow: 0 0 20px rgba(41, 183, 225, .18); }
.portal-footer { border-top-color: rgba(66, 191, 225, .4); color: #8eddea; }
.portal .disclaimer { border-color: rgba(61, 174, 211, .2); color: #a8b8c3; }
.dashboard-hero { border-color: rgba(56, 178, 221, .38); background: radial-gradient(ellipse at 67% 45%,rgba(18, 112, 192, .34),transparent 53%),linear-gradient(90deg,#04101f 5%,rgba(5, 25, 45, .78) 53%,#071725); box-shadow: inset 0 0 65px rgba(19, 141, 203, .13); }
.dashboard-hero::before { background: repeating-linear-gradient(90deg,transparent 0 89px,rgba(52, 187, 235, .1) 90px),repeating-linear-gradient(0deg,transparent 0 89px,rgba(52, 187, 235, .08) 90px); }
.dashboard-hero h1 { font-family: Manrope, sans-serif; font-weight: 800; letter-spacing: -.055em; }
.dashboard-hero h2 { color: #67dfff; font-family: Manrope, sans-serif; font-weight: 700; }
.dashboard-globe { filter: hue-rotate(145deg) saturate(1.65) drop-shadow(0 0 34px rgba(32, 177, 235, .48)); }
.dashboard-top-main .dashboard-globe { filter: hue-rotate(145deg) saturate(1.65) drop-shadow(0 0 34px rgba(32, 177, 235, .48)); }
.dashboard-manifesto { border-color: rgba(60, 192, 227, .44) !important; color: #d9f8ff !important; }
.dashboard-clock-panel,.dashboard-calendar { border-color: rgba(63, 210, 247, .64) !important; background: linear-gradient(145deg,#0b2941,#071421) !important; box-shadow: inset 0 1px rgba(188, 245, 255, .16),0 0 19px rgba(29, 177, 227, .21),0 12px 24px rgba(0,0,0,.32) !important; }
.clock-bezel { border-color: #82e9fa; background: conic-gradient(from 30deg,#0a395a,#ccfaff 14%,#207fa6 26%,#8ce4fa 43%,#113752 54%,#4ec9ee 74%,#12314c 88%,#5ac1e5); box-shadow: 0 0 0 3px #071523,0 0 17px rgba(60, 217, 249, .55),0 12px 24px rgba(0,0,0,.55); }
.clock-face { border-color: #3b9fc4; background: radial-gradient(circle at 35% 28%,rgba(122, 224, 250, .18),transparent 31%),repeating-conic-gradient(from -1deg,rgba(75, 204, 240, .55) 0deg 1deg,transparent 1deg 30deg),radial-gradient(circle,#0a263d 35%,#04111c 81%); }
.clock-mark,.clock-crest { color: #b8f6ff !important; text-shadow: 0 0 7px #38c9ef; font-family: Manrope, sans-serif; }
.clock-hand.hour,.clock-hand.minute { background: linear-gradient(#e5ffff,#39bfe8); }
.clock-pin { border-color: #d9fcff; background: #38c9ee; box-shadow: 0 0 8px #79eaff; }
.dashboard-clock-panel time,.clock-date,.clock-zone,.clock-motto { color: #bdefff !important; }
.calendar-top,.calendar-month,.calendar-events span { color: #aeeeff !important; font-family: Manrope, sans-serif; }
.calendar-top button { color: #b6f2ff; background: rgba(38, 164, 210, .15); }
.calendar-top button:hover { background: rgba(45, 185, 226, .3); }
.dashboard-top-grid .calendar-date { border-color: rgba(65, 180, 222, .13); background: rgba(9, 35, 57, .67); }
.dashboard-top-grid .calendar-date.today { border-color: #a0f1ff; color: #062138; background: #64dcf6; box-shadow: 0 0 12px rgba(67, 214, 246, .68); }
.dashboard-top-grid .calendar-events { border-color: rgba(57, 176, 219, .43); background: rgba(9, 34, 55, .8); }
.dashboard-metric { border-color: rgba(68, 197, 232, .58); background: radial-gradient(circle at 5% 5%,rgba(120, 230, 255, .11),transparent 33%),linear-gradient(125deg,#102e45,#071625 72%); box-shadow: inset 0 1px rgba(186, 245, 255, .17),0 8px 21px rgba(0,0,0,.38),0 0 10px rgba(29, 185, 226, .12); }
.dashboard-metric::before,.bootcamp-feature::before { background: linear-gradient(90deg,transparent,#b8f6ff,transparent); box-shadow: 0 0 12px #43d5f2; }
.dashboard-metric-icon { border-color: #39bde8; color: #7ce6fa; box-shadow: 0 0 16px rgba(50, 193, 229, .2); }
.dashboard-metric strong { font-family: Manrope, sans-serif; font-weight: 800; }
.dashboard-metric small { color: #92d9e9; }
.dashboard-metric i { background: linear-gradient(90deg,transparent 0 16%,#197ca8 17% 30%,transparent 31% 40%,#2c9dca 41% 56%,transparent 57% 66%,#66d9ef 67% 83%,transparent 84%); }
.bootcamp-feature { border-color: #37c9ee; background: radial-gradient(circle at 12% 0,rgba(34, 144, 206, .2),transparent 31%),linear-gradient(140deg,#0b2941,#061321); box-shadow: 0 0 21px rgba(40, 186, 226, .28),inset 0 1px rgba(188, 242, 255, .19); }
.bootcamp-head h2,.bootcamp-head > span,.bootcamp-step b,.bootcamp-cta strong { color: #b8f4ff; font-family: Manrope, sans-serif; font-weight: 800; }
.bootcamp-rocket { color: #031a2c; background: linear-gradient(135deg,#b6f3ff,#29b7e5); }
.bootcamp-step { border-color: rgba(65, 194, 229, .61); background: radial-gradient(circle at 5% 0,rgba(116, 220, 248, .13),transparent 35%),linear-gradient(120deg,#0d304d,#071827); }
.bootcamp-step:hover { border-color: #9cefff; box-shadow: 0 0 14px rgba(39, 183, 228, .27); }
.bootcamp-step-icon { border-color: rgba(67, 198, 234, .65); color: #79e8fb; background: radial-gradient(circle at 50% 35%,rgba(49, 179, 225, .22),rgba(5, 25, 41, .91) 69%); box-shadow: inset 0 1px rgba(167, 238, 255, .16),0 0 12px rgba(39, 188, 227, .2); }
.bootcamp-number { border-color: #2ca7cf; color: #051c2c; background: linear-gradient(145deg,#d4fbff,#56d0ee); box-shadow: 0 0 13px rgba(39, 184, 226, .3); }
.bootcamp-arrow { color: #6de6fb; }
.bootcamp-cta { border-left-color: rgba(62, 196, 229, .42); }
.dashboard-path-list button { border-color: rgba(53, 179, 221, .28); background: rgba(11, 38, 58, .9); }
.dashboard-path-list button:hover { border-color: #72dff5; }
.dashboard-path-list span { border-color: #43c4e8; color: #a8f2ff; }
.dashboard-path-list i,.recent-list span { color: #74e3f7; }
.status-tag { border-color: rgba(65, 196, 229, .58); color: #91e3f4; }
.ai-panel-body img,.command-center-page img { filter: hue-rotate(145deg) saturate(1.6) drop-shadow(0 0 20px rgba(27, 183, 233, .29)); }
.bootcamp-day-grid h2,.bootcamp-day-panel h2,.settings-panel h2,.command-center-page h2 { color: #a8efff; font-family: Manrope, sans-serif; }
.bootcamp-progress { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .5rem 1rem; padding: 1.2rem; }
.bootcamp-progress h2 { margin: .4rem 0; color: #e6faff; font-family: Manrope, sans-serif; }
.bootcamp-progress p { margin: 0; }
.bootcamp-progress > strong,.bootcamp-day-summary > strong { color: #90ecfa; font: 800 1.7rem Manrope, sans-serif; }
.bootcamp-progress .bar { grid-column: 1 / -1; }
.bootcamp-day-grid .dashboard-panel small { color: #8dddee; }
.bootcamp-day-summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.settings-panel > div { border-bottom-color: rgba(61, 192, 224, .27); }
.training-intro { margin: 1rem 0; padding: 1.25rem; }
.training-intro h2 { margin: 0 0 .3rem; color: #d8f8ff; font-family: Manrope, sans-serif; }
.training-categories { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.section-count { color: #73e3f7; font-size: .7em; }
.help-grid { margin-top: 1rem; }
.resource-tools { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem 1.5rem; margin-top: 1rem; padding: 1rem; }
.resource-tools form { flex: 1 1 280px; }
.resource-tools form label { display: block; margin-bottom: .5rem; color: #b6e5f1; font-size: .8rem; font-weight: 700; }
.resource-tools form > div { display: flex; gap: .5rem; }
.resource-tools input { flex: 1; min-width: 0; padding: .65rem .8rem; border: 1px solid rgba(77, 191, 224, .49); border-radius: 7px; color: #f0fbff; background: rgba(4, 20, 35, .82); }
.resource-filters { display: flex; flex-wrap: wrap; gap: .4rem; }
.resource-filters button { min-height: 40px; padding: .55rem .9rem; }
.resource-tools p { width: 100%; margin: 0; color: #83ccdf; }
.lesson-video { display: block; width: 100%; max-height: 60vh; margin: 1rem 0; border: 1px solid rgba(74, 207, 237, .45); border-radius: 9px; background: #020914; }
.login-page { background: #030914; }
.login-video { opacity: .63; mix-blend-mode: normal; }
.login-video-shade { background: linear-gradient(90deg,rgba(2, 9, 20, .68),rgba(2, 10, 24, .58) 54%,rgba(2, 10, 24, .68)),linear-gradient(180deg,rgba(2, 8, 19, .25),transparent 42%,rgba(2, 8, 19, .48)); }
.login-header,.login-footer { background: rgba(3, 12, 25, .59) !important; border-color: rgba(65, 191, 230, .35) !important; }
.login-brand strong,.login-card h2,.login-copy h1 { color: #f2fbff; font-family: Manrope, sans-serif; font-weight: 800; letter-spacing: -.045em; }
.login-brand span,.login-card-kicker,.login-kicker,.login-header-note { color: #85e5f9 !important; }
.login-copy .gold-text { color: #89e9fc; }
.login-globe { filter: hue-rotate(145deg) saturate(1.7) drop-shadow(0 0 36px rgba(52, 199, 244, .52)); }
.pillar-figure img { filter: hue-rotate(145deg) saturate(1.15) drop-shadow(0 0 18px rgba(43, 198, 237, .3)); }
.pillar-figure::after { background: rgba(35, 198, 236, .25); }
.pillar-figure figcaption { background: linear-gradient(150deg,rgba(18, 65, 91, .88),rgba(5, 21, 37, .94)); border: 1px solid rgba(77, 218, 247, .55); border-radius: 15px; box-shadow: inset 0 1px rgba(170, 242, 255, .19),0 9px 24px rgba(0,0,0,.4),0 0 18px rgba(38, 179, 224, .17); filter: none; }
.pillar-figure strong { color: #c5f6ff; font-family: Manrope, sans-serif; font-weight: 800; }
.login-pillars figcaption strong { color: #bcf4ff; }
.login-brand-line em { color: #a7ecfa; }
.login-card { border-color: rgba(129, 230, 251, .67) !important; background: linear-gradient(145deg,rgba(8, 32, 54, .85),rgba(4, 15, 31, .91)) !important; box-shadow: 0 0 33px rgba(34, 179, 232, .25),inset 0 1px rgba(210, 249, 255, .16) !important; backdrop-filter: blur(23px); }
.login-greeting,.login-authorized { color: #97e9fb !important; }
.login-field input,.password-wrap { border-color: rgba(119, 193, 217, .42) !important; background: rgba(5, 23, 40, .78) !important; }
.login-field input:focus { border-color: #6ee7fa !important; box-shadow: 0 0 0 3px rgba(37, 197, 238, .15) !important; }
.login-link { color: #8beaf9 !important; }
.gate-page { background: radial-gradient(circle at 75% 15%,rgba(25, 133, 194, .23),transparent 30rem),#030914; }
.gate-card { border-color: rgba(72, 206, 236, .53) !important; background: rgba(9, 31, 51, .95) !important; }
.gate-card h1 { color: #e9faff; font-family: Manrope, sans-serif; }
.login-layout{grid-template-columns:minmax(0,1fr) minmax(350px,500px);align-items:center;gap:clamp(1rem,3vw,3rem);padding:1rem clamp(1rem,4vw,4rem) 2rem;min-height:calc(100svh - 174px)}
.login-story{min-height:610px;display:flex;flex-direction:column;justify-content:center;padding:1.4rem 0}
.login-story .login-globe{top:1%;right:-12%;width:min(95%,760px);height:auto;opacity:.78;filter:hue-rotate(145deg) saturate(1.7) drop-shadow(0 0 36px rgba(52,199,244,.38))}
.login-copy{max-width:65%;margin-top:0}
.login-copy h1{margin:1.1rem 0 .7rem;font-size:clamp(3rem,5vw,5.8rem);line-height:1.01;letter-spacing:-.06em}
.login-copy .gold-text{color:#7be1fa;text-shadow:0 0 25px rgba(39,187,239,.36)}
.login-purpose{margin-top:.65rem!important;color:#96dbe9!important;font-size:.9rem!important;font-weight:700}
.login-features{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-width:750px;margin-top:3.5rem}
.login-features>div{display:grid;align-content:start;gap:.25rem;min-height:98px;padding:.8rem;border:1px solid rgba(75,199,229,.47);border-radius:10px;background:rgba(5,23,40,.72);box-shadow:inset 0 1px rgba(174,239,252,.08)}
.login-features span{color:#63dcf4;font-size:1.25rem;line-height:1}
.login-features strong{color:#eafaff;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.login-features small{color:#a3c8d7;font-size:.68rem}
.login-brand-line{justify-items:start;margin:2.5rem 0 0}
.login-brand-line em{font-family:Manrope,sans-serif;font-size:1rem;font-style:normal;font-weight:700}
.login-card{text-align:left}
.login-card-logo{display:block;margin:0 0 .5rem}
.login-card h2{margin:.6rem 0 .35rem;font-size:clamp(2rem,3vw,2.8rem)}
.login-greeting{max-width:360px;margin:0 0 .35rem}
.login-field{gap:.35rem}
.login-field>span:first-child{position:static;width:auto;height:auto;overflow:visible;clip:auto;color:#d5edf5;font-size:.75rem;font-weight:700;white-space:normal}
.login-card-intro{color:#b8d5e0}
.login-authorized,.login-support{text-align:center}
@media(max-width:1000px){.login-layout{grid-template-columns:1fr;gap:1.5rem}.login-story{min-height:390px;max-width:760px}.login-copy{order:0;max-width:65%}.login-features{order:1;margin-top:2rem}.login-brand-line{order:2}.login-story .login-globe{right:0;top:-8%;width:min(65%,520px)}.login-form-wrap{justify-content:center}}
@media(max-width:620px){.login-layout{padding:1.4rem 1rem 2rem}.login-story{display:contents}.login-copy{order:1;max-width:100%}.login-copy h1{font-size:clamp(2.6rem,12vw,4rem)}.login-story .login-globe{display:none}.login-form-wrap{order:2}.login-features{order:3;grid-template-columns:1fr;gap:.45rem;margin-top:0}.login-features>div{min-height:54px;grid-template-columns:28px 1fr;align-items:center;padding:.55rem}.login-features small{grid-column:2}.login-brand-line{order:4;margin:0}.login-card{width:100%}}
@media (max-width: 700px) {
  .dashboard-hero-copy { width: 100%; }
  .dashboard-globe { opacity: .35; }
  .dashboard-hero { background-position: center; }
  .portal .content { padding: .7rem; }
  .training-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .training-categories button { min-width: 0; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .login-video { display: none; }
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
