/* Portal presentation only; sessions, capabilities and progress belong to Core. */
.abx-registration-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.abx-registration .abx-login-form input:not([type="checkbox"]):not([type="hidden"]) { width:100%; min-height:48px; box-sizing:border-box; }
.abx-registration .abx-login-form label { display:block; margin-bottom:8px; }
.abx-registration .abx-registration-consent label { display:block; font-size:.9rem; line-height:1.6; font-weight:400; }
.abx-registration .abx-registration-consent input { width:18px; height:18px; vertical-align:middle; accent-color:#ff8000; }
.abx-registration .abx-registration-consent a { text-decoration:underline; }
.abx-registration-notice { border:1px solid #b36927; border-radius:10px; padding:16px; background:#201a14; line-height:1.6; }
.abx-registration .abx-login-form .abx-button { width:100%; white-space:normal; }
body.abx-portal-page {
  --abx-orange: #ff8000;
  --abx-orange-2: #ffa552;
  --abx-ink: #f4f5f6;
  --abx-gray: #b4bfc5;
  --abx-border: #343d41;
  --abx-surface: #11181c;
  background: #0b0f10;
  color: #e9edef;
  color-scheme: dark;
}
.abx-portal-page [hidden] { display:none !important; }
.abx-portal-page .abx-main { padding-top:0; }
.abx-portal-topbar { border-bottom:1px solid #343d41; background:#101010; }
.abx-portal-topbar > .abx-container { display:flex; align-items:center; gap:24px; min-height:96px; width:min(1480px, calc(100% - 64px)); }
.abx-portal-topbar .abx-brand { width:94px; height:60px; }
.abx-portal-topbar img { width:94px; height:60px; object-fit:contain; }
.abx-portal-topbar__label { color:#ffa552; font-size:.75rem; letter-spacing:.14em; font-weight:750; }
.abx-portal-back { margin-left:auto; display:flex; align-items:center; gap:10px; padding:12px 0; font-size:.95rem; }
.abx-portal-back:hover { color:#ffa552; }
.abx-portal-page .abx-portal-section { padding:40px 0 72px; }
.abx-portal-page .abx-portal-section > .abx-container { width:min(1480px, calc(100% - 64px)); max-width:none; }
.abx-portal-page .abx-kicker { color:#ffa552; }
.abx-portal-page .abx-button { background:#ff8000; color:#101010; min-height:48px; }
.abx-portal-page .abx-button:hover { background:#ffa552; }
.abx-portal-page .abx-button--secondary { color:#e9edef; border-color:#536066; background:transparent; }
.abx-portal-page .abx-button--secondary:hover { border-color:#ff8000; background:rgba(255,128,0,.08); }
.abx-portal-page .abx-learning-shell { border:1px solid #343d41; background:#0e1417; grid-template-columns:232px minmax(0,1fr); border-radius:18px; min-height:700px; box-shadow:none; }
.abx-portal-page .abx-learning-sidebar { padding:28px 18px; border-right:1px solid #343d41; background:radial-gradient(ellipse at 0 0, rgba(255,128,0,.08), transparent 45%),#101518; }
.abx-portal-page .abx-learning-sidebar__brand { padding:0 8px 22px; gap:8px; }
.abx-portal-page .abx-learning-sidebar nav { gap:8px; }
.abx-portal-page .abx-learning-sidebar nav a { font-size:.9rem; min-height:54px; padding:12px 10px; }
.abx-portal-page .abx-learning-sidebar nav a.is-active { background:rgba(255,128,0,.1); border-color:#b36927; }
.abx-portal-page .abx-learning-sidebar__account { padding-top:26px; }
.abx-portal-page .abx-learning-main { padding:36px; min-height:680px; }
.abx-portal-page .abx-learning-header { align-items:flex-start; gap:20px; margin-bottom:32px; }
.abx-portal-page .abx-learning-header h1 { font-size:clamp(1.8rem,3vw,2.6rem); overflow-wrap:anywhere; margin-bottom:12px; }
.abx-portal-page .abx-learning-header > div > p:last-child { color:#b4bfc5; }
.abx-portal-page .abx-learning-profile { background:#151e22; border-color:#343d41; min-width:188px; max-width:260px; }
.abx-portal-page .abx-learning-profile > span { background:rgba(255,128,0,.13); color:#ffa552; border:1px solid #a96228; flex-shrink:0; }
.abx-portal-page .abx-learning-profile small { color:#b4bfc5; }
.abx-portal-page .abx-learning-continue { padding:36px; border:1px solid #704522; background:radial-gradient(ellipse at 100% 0,rgba(255,128,0,.12),transparent 65%),#121a1e; gap:30px; grid-template-columns:minmax(0,1fr) minmax(190px,.5fr); }
.abx-portal-page .abx-learning-continue h2 { font-size:clamp(1.9rem,3vw,3rem); }
.abx-portal-page .abx-learning-continue::after { opacity:.5; }
.abx-portal-page .abx-learning-progress { background:rgba(12,18,20,.6); backdrop-filter:none; border-color:#4b3e30; }
.abx-portal-page .abx-learning-progress > strong { color:#ff8000; }
.abx-portal-page .abx-progress { background:#354148; }
.abx-portal-page .abx-progress > span { background:#ff8000; }
.abx-portal-page .abx-learning-section { padding-top:56px; scroll-margin-top:24px; }
.abx-portal-page .is-interactive .abx-learning-section { padding-top:0; }
.abx-portal-page .abx-learning-section .abx-section-heading { display:block; margin-bottom:28px; }
.abx-portal-page .abx-section-heading h2 { font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:14px; }
.abx-portal-page .abx-learning-section .abx-section-heading p { color:#b4bfc5; max-width:640px; }
.abx-portal-page .abx-learning-section .abx-section-heading .abx-kicker { color:#ffa552; }
.abx-portal-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; }
.abx-portal-shortcuts > a { display:flex; flex-direction:column; min-height:174px; padding:22px; border:1px solid #343d41; border-radius:12px; background:#131c20; gap:16px; transition:border-color 180ms,background 180ms; }
.abx-portal-shortcuts > a:hover { border-color:#b36927; background:#192125; }
.abx-portal-shortcuts > a > span { color:#ffa552; font-size:.7rem; letter-spacing:.1em; font-weight:750; }
.abx-portal-shortcuts strong { font-size:1.1rem; line-height:1.3; }
.abx-portal-shortcuts small { color:#b4bfc5; font-size:.85rem; line-height:1.5; margin-top:auto; }
.abx-portal-page .abx-learning-stats article, .abx-portal-page .abx-learning-main .abx-portal-card { background:#131c20; border-color:#343d41; box-shadow:none; }
.abx-portal-page .abx-learning-stats strong { color:#ffa552; }
.abx-portal-page .abx-learning-stats span, .abx-portal-page .abx-portal-card p, .abx-portal-page .abx-form__help { color:#b4bfc5; }
.abx-portal-page .abx-portal-card .abx-kicker { color:#ffa552; }
.abx-portal-page .abx-empty-state, .abx-portal-page .abx-learning-empty { border:1px dashed #4d5a60; background:#121b1f; border-radius:12px; color:#b4bfc5; padding:32px; text-align:left; }
.abx-portal-page .abx-empty-state h2, .abx-portal-page .abx-learning-empty h3 { color:#f4f5f6; font-size:1.5rem; margin-bottom:12px; }
.abx-portal-page .abx-learning-empty .abx-button { margin-top:22px; }
.abx-trail-list { display:grid; gap:12px; margin-top:24px; }
.abx-trail-list > a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px; border:1px solid #343d41; background:#131c20; border-radius:10px; }
.abx-trail-list > a:hover { border-color:#b36927; }
.abx-trail-list > a div { display:grid; gap:7px; }
.abx-trail-list span { color:#ffa552; font-size:.9rem; }
.abx-portal-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(160px,.5fr); gap:16px; margin-bottom:12px; }
.abx-portal-tools label { display:grid; gap:8px; font-size:.88rem; font-weight:650; }
.abx-portal-tools input, .abx-portal-tools select { width:100%; border:1px solid #536066; border-radius:8px; background:#0d1519; color:#e9edef; min-height:48px; padding:10px 14px; font:inherit; }
.abx-course-results { font-size:.85rem; color:#b4bfc5; margin-bottom:20px; }
.abx-course-state { align-self:flex-start; margin:12px 0; padding:4px 10px; border:1px solid #46555d; border-radius:20px; font-size:.75rem; color:#b4bfc5; }
.abx-portal-page .abx-course-lessons > ol > li { border-color:#343d41; }
.abx-portal-page .abx-portal-card { padding:24px; }
.abx-portal-page .abx-portal-card summary { color:#ffa552; min-height:44px; cursor:pointer; }
.abx-portal-page .abx-portal-card summary::marker { color:#ffa552; }
.abx-portal-page .abx-lesson-content { margin:18px 0; overflow-wrap:anywhere; }
.abx-portal-page .abx-lesson-content a { color:#ffa552; text-decoration:underline; }
.abx-portal-page .abx-lesson-content :is(video,iframe,img) { max-width:100%; }
.abx-portal-page .abx-lesson-content iframe { width:100%; }
.abx-account-card, .abx-portal-admin { background:#131c20; border:1px solid #343d41; border-radius:12px; padding:28px; }
.abx-account-card dl { margin:0 0 28px; display:grid; gap:18px; }
.abx-account-card dl div { display:grid; gap:4px; }
.abx-account-card dt { color:#b4bfc5; font-size:.85rem; }
.abx-account-card dd { margin:0; font-weight:650; overflow-wrap:anywhere; }
.abx-account-card > p { color:#b4bfc5; }
.abx-account-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:26px; }
.abx-account-actions > a:last-child { color:#ffa552; padding:10px 0; }
.abx-portal-admin { margin-top:24px; }
.abx-portal-admin h3 { font-size:1.2rem; margin-bottom:12px; }
.abx-portal-admin p { color:#b4bfc5; }
.abx-portal-admin > div { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.abx-portal-admin a { padding:10px 16px; border:1px solid #536066; border-radius:8px; color:#ffa552; }
.abx-portal-page .abx-portal-login { overflow:visible; border:0; border-radius:0; background:none; box-shadow:none; gap:clamp(40px,7vw,110px); grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); padding:28px 0; }
.abx-portal-page .abx-portal-login__intro { background:none; padding:30px 0; }
.abx-portal-login__intro h1 { font-size:clamp(2.4rem,4.6vw,4.8rem); max-width:730px; line-height:1.08; margin:24px 0; }
.abx-portal-login__intro h1 > span { color:#ff8000; }
.abx-portal-page .abx-portal-login__intro > p:not(.abx-kicker) { color:#b4bfc5; font-size:1.1rem; max-width:540px; }
.abx-login-benefits { list-style:none; padding:0; margin:34px 0 0; display:grid; gap:18px; }
.abx-login-benefits li { display:flex; align-items:center; gap:18px; }
.abx-login-benefits span { color:#ffa552; font-size:.8rem; border:1px solid #644528; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; }
.abx-portal-page .abx-portal-login__form { border:1px solid #4c4136; border-radius:18px; padding:clamp(24px,4vw,44px); background:radial-gradient(ellipse at 100% 0,rgba(255,128,0,.06),transparent 70%),#131c20; align-self:start; }
.abx-portal-login__form h2 { font-size:clamp(1.7rem,3vw,2.5rem); margin-bottom:14px; }
.abx-portal-login__form > p:not(.abx-kicker) { color:#b4bfc5; }
.abx-portal-page .abx-login-form { margin:28px 0 20px; }
.abx-portal-page .abx-login-form label { color:#e9edef; font-size:.95rem; }
.abx-portal-page .abx-login-form input:not([type="submit"]):not([type="checkbox"]) { background:#0d1519; border:1px solid #536066; color:#f4f5f6; border-radius:8px; min-height:52px; padding:12px 14px; font-size:1rem; width:100%; }
.abx-portal-page .abx-login-form input[type="submit"] { background:#ff8000; color:#101010; width:100%; min-height:52px; border:0; border-radius:8px; }
.abx-password-toggle { border:0; color:#ffa552; background:transparent; padding:10px 0; font-size:.85rem; min-height:44px; }
.abx-login-help { border-top:1px solid #343d41; padding-top:22px; margin-top:26px; }
.abx-login-help p { color:#b4bfc5; font-size:.9rem; margin:4px 0 12px; }
.abx-login-help a, .abx-portal-login__form > p > a { color:#ffa552; text-decoration:underline; text-underline-offset:4px; }
.abx-portal-page .is-interactive [data-portal-panel]:not([hidden]) { animation:abx-portal-arrive 220ms ease-out; }
@keyframes abx-portal-arrive { from { opacity:.35; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1100px) {
  .abx-portal-page .abx-learning-shell { grid-template-columns:1fr; }
  .abx-portal-page .abx-learning-sidebar { border-right:0; border-bottom:1px solid #343d41; padding:20px; }
  .abx-portal-page .abx-learning-sidebar__brand { display:none; }
  .abx-portal-page .abx-learning-sidebar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; overflow:visible; }
  .abx-portal-page .abx-learning-sidebar nav a { min-width:0; grid-template-columns:20px minmax(0,1fr); font-size:.85rem; padding:10px; }
  .abx-portal-page .abx-learning-sidebar__account { display:none; }
}
@media(max-width:760px) {
  .abx-portal-topbar > .abx-container { width:calc(100% - 32px); min-height:82px; gap:12px; }
  .abx-portal-topbar__label { display:none; }
  .abx-portal-topbar .abx-brand { width:78px; height:50px; }
  .abx-portal-back { font-size:.9rem; }
  .abx-portal-page .abx-portal-section { padding:24px 0 44px; }
  .abx-portal-page .abx-portal-section > .abx-container { width:calc(100% - 24px); }
  .abx-portal-page .abx-learning-shell { min-height:0; border-radius:14px; }
  .abx-portal-page .abx-learning-sidebar { padding:12px; }
  .abx-portal-page .abx-learning-sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .abx-portal-page .abx-learning-sidebar nav a { min-height:48px; line-height:1.3; }
  .abx-portal-page .abx-learning-main { padding:24px 18px; min-height:570px; }
  .abx-portal-page .abx-learning-header { gap:18px; margin-bottom:24px; }
  .abx-portal-page .abx-learning-profile { max-width:none; width:100%; }
  .abx-portal-page .abx-learning-continue { padding:26px 22px; grid-template-columns:1fr; gap:24px; }
  .abx-portal-page .abx-learning-continue h2 { font-size:2rem; }
  .abx-portal-page .abx-learning-progress { padding:20px; }
  .abx-portal-shortcuts { grid-template-columns:1fr; gap:10px; }
  .abx-portal-shortcuts > a { min-height:0; padding:20px; gap:10px; }
  .abx-portal-page .abx-learning-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .abx-portal-page .abx-learning-stats article { padding:16px 10px; min-height:120px; }
  .abx-portal-page .abx-learning-stats span { font-size:.8rem; }
  .abx-portal-page .abx-learning-stats strong { font-size:2rem; }
  .abx-portal-tools { grid-template-columns:1fr; }
  .abx-account-card, .abx-portal-admin, .abx-portal-page .abx-empty-state, .abx-portal-page .abx-learning-empty { padding:22px; }
  .abx-account-actions { align-items:stretch; flex-direction:column; }
  .abx-portal-page .abx-portal-login { grid-template-columns:1fr; gap:28px; padding:0 6px; }
  .abx-portal-page .abx-portal-login__intro { padding:12px 0 0; }
  .abx-portal-login__intro h1 { font-size:2.5rem; }
  .abx-login-benefits { margin-top:22px; gap:10px; font-size:.9rem; }
  .abx-portal-page .abx-portal-login__form { padding:26px 22px; order:-1; }
}
@media(prefers-reduced-motion:reduce) { .abx-portal-page *, .abx-portal-page *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
/* Native login/recovery/error screens retain WordPress security and plugins. */
body.login { color:#e9edef; color-scheme:dark; background:radial-gradient(ellipse at 80% 0,rgba(255,128,0,.07),transparent 55%),#0b0f10; }
body.login #login { padding-top:6vh; width:min(400px,calc(100% - 40px)); }
body.login h1 a { background-size:94px 60px; height:60px; width:94px; }
body.login #login form { background:#131c20; border:1px solid #4c4136; border-radius:16px; box-shadow:none; padding:28px; }
body.login .message, body.login .notice, body.login #login_error { background:#151e22; color:#e9edef; border-color:#ff8000; }
body.login .input { background:#0d1519; color:#f4f5f6; border-color:#536066; border-radius:8px; }
body.login .button-primary { background:#ff8000; color:#101010; border:0; min-height:44px; box-shadow:none; font-weight:700; }
body.login #backtoblog a, body.login #nav a, body.login .privacy-policy-page-link a, body.login .wp-hide-pw { color:#ffa552; }
body.login label { color:#e9edef; }
.abx-registration-feedback { display:block; margin-top:6px; color:#a9d8b2; font-size:.875rem; line-height:1.5; }
.abx-registration-feedback:empty { display:none; }
.abx-registration-feedback.is-error { color:#ffbc99; }
.abx-registration input[aria-invalid="true"] { border-color:#ff9d6c; }
.abx-registration .abx-form__help { display:block; line-height:1.6; }
.abx-registration label .abx-form__help { display:inline; font-weight:400; }
.abx-registration .abx-registration-consent label { line-height:1.6; }
