/* BBΦ member/admin portal visual layer.
   This is additive: it changes presentation only and does not replace app logic. */
html.bbp-light-portal {
  color-scheme: light;
  --void: #eef4f8;
  --bg: #f5f9fc;
  --sur: #ffffff;
  --sur2: #f0f6fa;
  --sur3: #e7f0f6;
  --tx: #152b3d;
  --tx2: #344d61;
  --mu: #63798a;
  --gold: #a98223;
  --gold-hi: #bd9633;
  --gold-lo: #8e6b17;
  --gold-dim: rgba(201, 168, 76, .12);
  --gold-bdr: rgba(201, 168, 76, .30);
  --gold-glow: rgba(201, 168, 76, .22);
  --gold-text: #876817;
  --bdr: rgba(35, 122, 148, .18);
  --bdr2: rgba(35, 122, 148, .28);
  --p: #078c9e;
  --pl: rgba(30, 190, 198, .10);
  --pb: #087889;
  --pd: #073744;
  --grn: #087a58;
  --gbg: rgba(16, 145, 104, .10);
  --gbdr: rgba(16, 145, 104, .26);
  --red: #b42335;
  --rbg: rgba(180, 35, 53, .08);
  --rbdr: rgba(180, 35, 53, .22);
  --yel: #93620a;
  --ybg: rgba(207, 151, 28, .11);
  --ybdr: rgba(207, 151, 28, .25);
  --blu: #1764a0;
  --bbg: rgba(23, 100, 160, .09);
  --bbdr: rgba(23, 100, 160, .22);
  --ink: #173149;
  --navy: #edf5fa;
  --navy2: #ffffff;
  --navy3: #eaf4f8;
  --text: #20394d;
  --cream: #20394d;
  --mute: #61798b;
  --line: rgba(55, 129, 151, .24);
  --gold2: #b58b29;
  --pc-navy: #f2f7fa;
  --pc-navy2: #ffffff;
  --pc-gold: #a98223;
  --pc-gold2: #b58b29;
  --pc-ivory: #20394d;
  --pc-muted: #61798b;
  --pc-line: rgba(55, 129, 151, .24);
  --pc-ok: #087a58;
  --pc-bad: #b42335;
}

html.bbp-light-portal body {
  background:
    radial-gradient(ellipse at 82% 4%, rgba(38, 205, 207, .14), transparent 34rem),
    radial-gradient(ellipse at 18% 7%, rgba(108, 92, 231, .08), transparent 30rem),
    #f5f9fc !important;
  color: #152b3d !important;
  font-size: 16px;
}

html.bbp-light-portal #SL,
html.bbp-light-portal .scr {
  color: #152b3d !important;
  background:
    radial-gradient(ellipse at 80% 5%, rgba(38, 205, 207, .16), transparent 34rem),
    radial-gradient(ellipse at 12% 80%, rgba(111, 89, 222, .10), transparent 30rem),
    linear-gradient(145deg, #f8fbfd, #edf5fa) !important;
}

html.bbp-light-portal #SL::before {
  height: 3px;
  background: linear-gradient(90deg, #20c9ca, #4f76e8, #9a62d6, #20c9ca);
  box-shadow: 0 0 18px rgba(32, 201, 202, .55);
}

html.bbp-light-portal .ac {
  color: #152b3d !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(34, 173, 185, .28) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 55px rgba(39, 89, 116, .14),
    0 0 0 1px rgba(255, 255, 255, .9) inset,
    0 0 32px rgba(26, 193, 199, .08) !important;
}

html.bbp-light-portal .ac:hover {
  box-shadow: 0 18px 55px rgba(39, 89, 116, .16),
    0 0 0 1px rgba(255, 255, 255, .9) inset,
    0 0 38px rgba(26, 193, 199, .16) !important;
}

html.bbp-light-portal .atit {
  color: #162d42 !important;
  text-shadow: none !important;
  font-size: clamp(25px, 4vw, 32px) !important;
}

html.bbp-light-portal .asub,
html.bbp-light-portal .tl,
html.bbp-light-portal .ac label {
  color: #456274 !important;
}

html.bbp-light-portal .ac input:not([type=range]):not([type=checkbox]),
html.bbp-light-portal .ac select,
html.bbp-light-portal .ac textarea {
  color: #152b3d !important;
  background: #fff !important;
  border: 1px solid #c9d8e2 !important;
  border-radius: 12px !important;
}

html.bbp-light-portal .ac input::placeholder,
html.bbp-light-portal .ac textarea::placeholder {
  color: #74899a !important;
}

html.bbp-light-portal .logo {
  animation: bbp-light-logo-pulse 3.8s ease-in-out infinite !important;
}

@keyframes bbp-light-logo-pulse {
  0%, 100% { filter: drop-shadow(0 0 8px rgba(20, 183, 191, .25)); }
  50% { filter: drop-shadow(0 0 20px rgba(20, 183, 191, .52)); }
}

html.bbp-light-portal #APP,
html.bbp-light-portal #APP .app-body,
html.bbp-light-portal #APP .mc {
  color: #152b3d !important;
  background: transparent !important;
}

html.bbp-light-portal #APP .tb {
  color: #152b3d !important;
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid rgba(35, 153, 169, .2) !important;
  box-shadow: 0 4px 22px rgba(36, 88, 112, .08) !important;
  backdrop-filter: blur(16px);
}

html.bbp-light-portal #APP .brand-phi,
html.bbp-light-portal #APP .ttit,
html.bbp-light-portal #APP .pg-hero-title,
html.bbp-light-portal #APP .ctitle,
html.bbp-light-portal #APP .mht {
  color: #18364b !important;
  text-shadow: none !important;
}

html.bbp-light-portal #APP .brand-name,
html.bbp-light-portal #APP .tbtitle,
html.bbp-light-portal #APP .tsu {
  color: #557084 !important;
}

html.bbp-light-portal #APP #NAV {
  color: #344f62 !important;
  background: rgba(255, 255, 255, .94) !important;
  border-right: 1px solid rgba(35, 153, 169, .18) !important;
  box-shadow: 5px 0 24px rgba(34, 88, 112, .05);
}

html.bbp-light-portal #APP .nav-cat {
  color: #476377 !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

html.bbp-light-portal #APP .nt {
  min-height: 44px;
  color: #385469 !important;
  font-size: 14px !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 12px 12px 0 !important;
  transition: background .18s ease, color .18s ease, box-shadow .18s ease;
}

html.bbp-light-portal #APP .nt:hover {
  color: #087889 !important;
  background: linear-gradient(90deg, rgba(28, 198, 202, .14), rgba(114, 102, 230, .07)) !important;
  box-shadow: 0 0 18px rgba(20, 188, 194, .13);
}

html.bbp-light-portal #APP .nt.on {
  color: #086d7d !important;
  background: linear-gradient(90deg, rgba(32, 199, 203, .20), rgba(126, 101, 226, .10)) !important;
  border-left-color: #17bfc4 !important;
  text-shadow: none !important;
  box-shadow: inset 0 0 0 1px rgba(32, 199, 203, .12);
}

html.bbp-light-portal #APP .nav-ver {
  color: #7890a1 !important;
}

html.bbp-light-portal #APP .card,
html.bbp-light-portal #APP .stb,
html.bbp-light-portal #APP .mc2,
html.bbp-light-portal #APP .pc,
html.bbp-light-portal #APP .idc {
  color: #20394d !important;
  background: rgba(255, 255, 255, .93) !important;
  border: 1px solid rgba(67, 137, 160, .19) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 25px rgba(38, 89, 112, .07) !important;
}

html.bbp-light-portal #APP .card:hover {
  transform: none !important;
  border-color: rgba(67, 137, 160, .19) !important;
  box-shadow: 0 8px 25px rgba(38, 89, 112, .07) !important;
}

html.bbp-light-portal #APP .card[onclick]:hover,
html.bbp-light-portal #APP .card[role="button"]:hover,
html.bbp-light-portal #APP .card.clickable:hover,
html.bbp-light-portal #APP a.card:hover,
html.bbp-light-portal #APP .mc2:hover,
html.bbp-light-portal #APP .stb[onclick]:hover {
  transform: translateY(-2px) !important;
  border-color: #20c4c8 !important;
  box-shadow: 0 10px 32px rgba(38, 89, 112, .12),
    0 0 0 1px rgba(32, 196, 200, .55),
    0 0 24px rgba(32, 196, 200, .25) !important;
}

html.bbp-light-portal #APP .card-head,
html.bbp-light-portal #APP .pg-hero {
  border-bottom-color: rgba(67, 137, 160, .18) !important;
}

html.bbp-light-portal #APP .pg-hero-label,
html.bbp-light-portal #APP .stl,
html.bbp-light-portal #APP label,
html.bbp-light-portal #APP .gsep {
  color: #567284 !important;
}

html.bbp-light-portal #APP .stn {
  color: #087f91 !important;
  text-shadow: none !important;
}

html.bbp-light-portal #APP .btn,
html.bbp-light-portal #APP .lo,
html.bbp-light-portal #APP .hbtn,
html.bbp-light-portal .ac .btn,
html.bbp-light-portal .ac button {
  min-height: 44px;
  color: #25465b !important;
  background: rgba(255, 255, 255, .95) !important;
  border: 1px solid rgba(59, 136, 159, .28) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(38, 89, 112, .06);
  transition: transform .14s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

html.bbp-light-portal #APP .btn:hover,
html.bbp-light-portal #APP .lo:hover,
html.bbp-light-portal #APP .hbtn:hover,
html.bbp-light-portal .ac .btn:hover,
html.bbp-light-portal .ac button:hover {
  color: #075e70 !important;
  border-color: #19bdc4 !important;
  background: linear-gradient(110deg, rgba(32, 199, 203, .12), rgba(116, 101, 228, .10), #fff) !important;
  box-shadow: 0 0 0 1px rgba(25, 189, 196, .55), 0 0 22px rgba(25, 189, 196, .28) !important;
}

html.bbp-light-portal #APP .btn.bp,
html.bbp-light-portal #APP .bp,
html.bbp-light-portal .ac .btn.bp {
  color: #fff !important;
  background: linear-gradient(110deg, #078f9e, #19bfc4 52%, #7164d8) !important;
  border: 1px solid rgba(14, 151, 164, .55) !important;
  box-shadow: 0 7px 20px rgba(10, 152, 164, .24) !important;
}

html.bbp-light-portal #APP .btn.bp:hover,
html.bbp-light-portal #APP .bp:hover,
html.bbp-light-portal .ac .btn.bp:hover {
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(19, 196, 202, .75), 0 0 28px rgba(19, 196, 202, .48) !important;
}

html.bbp-light-portal #APP .btn:active,
html.bbp-light-portal #APP .lo:active,
html.bbp-light-portal #APP .nt:active,
html.bbp-light-portal #APP .dt:active,
html.bbp-light-portal .ac button:active {
  transform: scale(.97) !important;
  box-shadow: 0 0 0 3px rgba(25, 189, 196, .20) !important;
}

html.bbp-light-portal #APP input:not([type=range]):not([type=checkbox]),
html.bbp-light-portal #APP select,
html.bbp-light-portal #APP textarea {
  color: #1d3548 !important;
  background: #fff !important;
  border: 1px solid #bfd0dc !important;
  border-radius: 11px !important;
}

html.bbp-light-portal #APP input::placeholder,
html.bbp-light-portal #APP textarea::placeholder {
  color: #708596 !important;
}

html.bbp-light-portal #APP input:focus,
html.bbp-light-portal #APP select:focus,
html.bbp-light-portal #APP textarea:focus,
html.bbp-light-portal .ac input:focus,
html.bbp-light-portal .ac select:focus,
html.bbp-light-portal .ac textarea:focus {
  border-color: #13b6bf !important;
  box-shadow: 0 0 0 3px rgba(19, 182, 191, .18), 0 0 18px rgba(19, 182, 191, .18) !important;
}

html.bbp-light-portal #APP .ov {
  background: rgba(24, 44, 60, .35) !important;
  backdrop-filter: blur(8px) !important;
}

html.bbp-light-portal #APP .mb,
html.bbp-light-portal #APP .modal-box {
  color: #20394d !important;
  background: #fff !important;
  border: 1px solid rgba(32, 190, 196, .33) !important;
  border-radius: 20px !important;
  box-shadow: 0 24px 70px rgba(20, 53, 71, .24), 0 0 24px rgba(32, 190, 196, .14) !important;
}

html.bbp-light-portal #APP .dt {
  color: #557084 !important;
}

html.bbp-light-portal #APP .dt.on {
  color: #087889 !important;
  border-bottom-color: #17bfc4 !important;
  box-shadow: 0 2px 0 rgba(23, 191, 196, .18);
}

html.bbp-light-portal #APP .toast {
  color: #173149 !important;
  background: rgba(255, 255, 255, .97) !important;
  border: 1px solid rgba(32, 190, 196, .4) !important;
  box-shadow: 0 10px 32px rgba(27, 74, 94, .2), 0 0 20px rgba(32, 190, 196, .14) !important;
}

html.bbp-light-portal #APP .toast.ok { color: #075c43 !important; background: #e8f8f0 !important; border-color: #66c69b !important; }
html.bbp-light-portal #APP .toast.err { color: #8c1d2d !important; background: #fff0f1 !important; border-color: #e69aa3 !important; }
html.bbp-light-portal #APP .toast.warn { color: #754b08 !important; background: #fff8e8 !important; border-color: #e7c36f !important; }
html.bbp-light-portal #APP .toast.info { color: #075e70 !important; background: #eaf9fb !important; border-color: #7bd2d8 !important; }

html.bbp-light-portal #APP .live-event-card,
html.bbp-light-portal #APP .pev-tracking-card,
html.bbp-light-portal #APP #ML_LIST {
  color: #20394d !important;
  background: #f7fbfd !important;
  border: 1px solid rgba(67, 137, 160, .22) !important;
  box-shadow: 0 8px 25px rgba(38, 89, 112, .07) !important;
}

/* Standalone member/admin pages served from the portal's /public directory. */
html.bbp-light-portal body > main,
html.bbp-light-portal body > .shell,
html.bbp-light-portal body > .page-shell,
html.bbp-light-portal body > .app-shell,
html.bbp-light-portal body > #app,
html.bbp-light-portal body > .pc-wrap {
  color: #20394d;
}

html.bbp-light-portal #app,
html.bbp-light-portal .shell,
html.bbp-light-portal .page-shell,
html.bbp-light-portal .app-shell,
html.bbp-light-portal .pc-wrap {
  color: #20394d;
  background-color: #f5f9fc;
}

html.bbp-light-portal body > :is(header, .top, .bar, nav),
html.bbp-light-portal #app > :is(header, .top, .bar, nav) {
  color: #20394d;
  background: rgba(255, 255, 255, .94);
  border-color: rgba(35, 153, 169, .2);
  box-shadow: 0 4px 20px rgba(36, 88, 112, .07);
}

html.bbp-light-portal #app :is(.card, .panel, .section-card, .form-card, .review-card, .content-card, .agreement-card, .pc-card),
html.bbp-light-portal main :is(.card, .panel, .section-card, .form-card, .review-card, .content-card, .agreement-card, .pc-card),
html.bbp-light-portal .shell :is(.card, .panel, .section-card, .form-card, .review-card, .content-card, .agreement-card, .pc-card) {
  color: #20394d;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(67, 137, 160, .22);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(38, 89, 112, .08);
}

html.bbp-light-portal #app :is(.as-hero, .as-restrict, .as-section, .ma-item, .acc-detail, .acc-recs, .acc-filters, .pc-card, .pc-section),
html.bbp-light-portal main :is(.as-hero, .as-restrict, .as-section, .ma-item, .acc-detail, .acc-recs, .acc-filters, .pc-card, .pc-section),
html.bbp-light-portal .shell :is(.as-hero, .as-restrict, .as-section, .ma-item, .acc-detail, .acc-recs, .acc-filters, .pc-card, .pc-section) {
  color: #20394d;
  background: rgba(255, 255, 255, .96);
  border-color: rgba(67, 137, 160, .22);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(38, 89, 112, .08);
}

html.bbp-light-portal body :is(.lede, .hint, .muted, .subtitle, .description, .help-text, .alert-body, .steps, .kv, .foot, .pc-muted) {
  color: #4d6679;
}

html.bbp-light-portal body :is(.alert, .preview-flag, .maplock, .mapmsg, .notice, .status-banner) {
  color: #20394d;
  background: linear-gradient(115deg, rgba(32, 199, 203, .11), rgba(116, 101, 228, .08), rgba(255, 255, 255, .88));
  border-color: rgba(32, 171, 184, .35);
}

html.bbp-light-portal body :is(.alert.err, .alert.error, .status-banner.error) {
  color: #8c1d2d;
  background: #fff0f1;
  border-color: #e69aa3;
}

html.bbp-light-portal body :is(.alert.ok, .alert.success, .status-banner.success) {
  color: #075c43;
  background: #e8f8f0;
  border-color: #66c69b;
}

html.bbp-light-portal body .pc {
  --pc-navy: #f2f7fa;
  --pc-navy2: #ffffff;
  --pc-gold: #a98223;
  --pc-gold2: #b58b29;
  --pc-ivory: #20394d;
  --pc-muted: #61798b;
  --pc-line: rgba(55, 129, 151, .24);
  --pc-ok: #087a58;
  --pc-bad: #b42335;
  color: #20394d;
  background: #f5f9fc;
}

html.bbp-light-portal .as-list li,
html.bbp-light-portal .ma-item,
html.bbp-light-portal .acc-table,
html.bbp-light-portal .timeline li {
  border-color: rgba(67, 137, 160, .2);
}

html.bbp-light-portal body :is(button, input[type="submit"], input[type="button"], a.button, a.btn, [role="button"]) {
  min-height: 44px;
  border-radius: 12px;
  transition: transform .14s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

html.bbp-light-portal body :is(.btn, input[type="submit"], input[type="button"]) {
  color: #fff !important;
  background: linear-gradient(110deg, #078f9e, #19bfc4 52%, #7164d8) !important;
  border: 1px solid rgba(14, 151, 164, .55) !important;
  box-shadow: 0 7px 20px rgba(10, 152, 164, .2);
}

html.bbp-light-portal body :is(.btn.ghost, .btn.secondary, .button.secondary) {
  color: #285268 !important;
  background: #fff !important;
  border-color: rgba(59, 136, 159, .3) !important;
}

html.bbp-light-portal body :is(.btn.danger, .btn.stop, .button.danger) {
  color: #8c1d2d !important;
  background: #fff0f1 !important;
  border-color: #d78691 !important;
}

html.bbp-light-portal body :is(button, input[type="submit"], input[type="button"], a.button, a.btn, [role="button"]):hover {
  border-color: #19bdc4;
  box-shadow: 0 0 0 1px rgba(25, 189, 196, .5), 0 0 20px rgba(25, 189, 196, .24);
}

html.bbp-light-portal body :is(.btn, input[type="submit"], input[type="button"]):hover:not(:disabled) {
  color: #fff !important;
  box-shadow: 0 0 0 1px rgba(25, 189, 196, .65), 0 0 26px rgba(25, 189, 196, .4) !important;
}

html.bbp-light-portal body :is(button, input[type="submit"], input[type="button"], a.button, a.btn, [role="button"]):active {
  transform: scale(.97);
  box-shadow: 0 0 0 3px rgba(25, 189, 196, .18);
}

html.bbp-light-portal body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea) {
  color: #20394d;
  background-color: #fff;
  border-color: #bfd0dc;
  border-radius: 10px;
}

html.bbp-light-portal body :is(input, select, textarea):focus {
  border-color: #13b6bf;
  box-shadow: 0 0 0 3px rgba(19, 182, 191, .18), 0 0 18px rgba(19, 182, 191, .15);
}

html.bbp-light-portal body :is(h1, h2, h3, h4) {
  color: #18364b;
}

html.bbp-light-portal body :is(a, button, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid #13b6bf;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgba(19, 182, 191, .18), 0 0 18px rgba(19, 182, 191, .24);
}

html.bbp-light-portal .ac a:not(.tl) {
  display: block;
  color: #285268 !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(59, 136, 159, .28);
  border-radius: 12px;
  min-height: 48px;
  padding: 12px 16px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(38, 89, 112, .06);
}

html.bbp-light-portal .ac a:not(.tl):hover {
  color: #075e70 !important;
  border-color: #19bdc4;
  background: linear-gradient(110deg, rgba(32, 199, 203, .12), rgba(116, 101, 228, .10), #fff) !important;
  box-shadow: 0 0 0 1px rgba(25, 189, 196, .55), 0 0 22px rgba(25, 189, 196, .28);
}

html.bbp-light-portal #APP .msg-bubble-self {
  color: #173149 !important;
  background: linear-gradient(120deg, rgba(32, 199, 203, .18), rgba(116, 101, 228, .12)) !important;
  border-color: rgba(32, 171, 184, .35) !important;
}

html.bbp-light-portal :is(button, a, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 3px solid #13b6bf !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px rgba(19, 182, 191, .2), 0 0 20px rgba(19, 182, 191, .3) !important;
}

html.bbp-light-portal [aria-busy="true"] {
  cursor: progress !important;
  outline: 2px solid rgba(19, 182, 191, .5);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  html.bbp-light-portal #APP .nt,
  html.bbp-light-portal #APP .btn,
  html.bbp-light-portal #APP .lo,
  html.bbp-light-portal .ac button,
  html.bbp-light-portal body :is(button, input[type="submit"], input[type="button"], a.button, a.btn, [role="button"]) {
    min-height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bbp-light-portal *,
  html.bbp-light-portal *::before,
  html.bbp-light-portal *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Approved bright portal system: apply to the real authenticated SPA shell. */
html.bbp-light-portal #APP {
  --bg: #f4f8fa;
  --sur: rgba(255, 255, 255, .88);
  --sur2: #eff7fa;
  --sur3: #e7f2f6;
  --tx: #173149;
  --tx2: #38566b;
  --ft: #38566b;
  --mu: #617b8a;
  --gold: #a98223;
  --gold-hi: #b58b29;
  --gold-dim: rgba(201, 168, 76, .12);
  --gold-text: #80621d;
  --bdr: rgba(49, 129, 151, .22);
  --bdr2: rgba(49, 129, 151, .32);
  --p: #087e91;
  --pl: rgba(18, 185, 196, .10);
  --pb: #075f6d;
  --pd: #073744;
  --r: 16px;
  --rs: 12px;
  min-height: 100vh;
  background:
    radial-gradient(ellipse at 85% 0%, rgba(18, 185, 196, .16), transparent 34rem),
    radial-gradient(ellipse at 17% 18%, rgba(120, 102, 207, .09), transparent 30rem),
    radial-gradient(ellipse at 88% 76%, rgba(20, 122, 88, .07), transparent 28rem),
    #f4f8fa !important;
  color: #173149 !important;
  font-family: "IBM Plex Sans", "Segoe UI", Arial, sans-serif !important;
}

html.bbp-light-portal #APP .tb {
  min-height: 64px;
  color: #173149 !important;
  background: rgba(255, 255, 255, .78) !important;
  border-bottom: 1px solid rgba(49, 129, 151, .18) !important;
  box-shadow: 0 5px 22px rgba(26, 80, 101, .08) !important;
  backdrop-filter: blur(20px) saturate(140%);
}

html.bbp-light-portal #APP .brand-phi {
  color: #087e91 !important;
  text-shadow: 0 2px 14px rgba(18, 185, 196, .18) !important;
}

html.bbp-light-portal #APP .brand-name {
  color: #587386 !important;
}

html.bbp-light-portal #APP .app-body {
  background: transparent !important;
}

html.bbp-light-portal #APP #NAV {
  width: 224px !important;
  color: #3e5a6b !important;
  background: rgba(255, 255, 255, .84) !important;
  border-right: 1px solid rgba(49, 129, 151, .18) !important;
  box-shadow: 6px 0 28px rgba(34, 88, 112, .055);
  backdrop-filter: blur(18px) saturate(130%);
}

html.bbp-light-portal #APP .nav-grp {
  margin: 4px 8px 7px;
}

html.bbp-light-portal #APP .nav-cat {
  min-height: 40px;
  padding: 9px 11px !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  color: #426174 !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

html.bbp-light-portal #APP .nav-cat:hover,
html.bbp-light-portal #APP .nav-cat.open {
  color: #075f6d !important;
  border-color: rgba(18, 185, 196, .25) !important;
  background: linear-gradient(95deg, rgba(18, 185, 196, .10), rgba(120, 102, 207, .055)) !important;
}

html.bbp-light-portal #APP .nav-cat .nc-ico {
  color: #087e91;
  font-size: 15px;
}

html.bbp-light-portal #APP #NAV .nav-grp:nth-of-type(2) .nav-cat .nc-ico { color: #7663c9; }
html.bbp-light-portal #APP #NAV .nav-grp:nth-of-type(3) .nav-cat .nc-ico { color: #19825f; }
html.bbp-light-portal #APP #NAV .nav-grp:nth-of-type(4) .nav-cat .nc-ico { color: #b17b1a; }

html.bbp-light-portal #APP .nt {
  min-height: 44px;
  margin: 2px 0;
  padding: 8px 10px 8px 13px !important;
  border: 1px solid transparent !important;
  border-left: 3px solid transparent !important;
  border-radius: 10px !important;
  color: #4e6878 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

html.bbp-light-portal #APP .nt:hover {
  color: #075f6d !important;
  border-color: rgba(18, 185, 196, .38) !important;
  background: linear-gradient(100deg, rgba(18, 185, 196, .12), rgba(120, 102, 207, .075), rgba(255, 255, 255, .82)) !important;
  box-shadow: 0 0 0 1px rgba(18, 185, 196, .20), 0 0 18px rgba(18, 185, 196, .16) !important;
  transform: translateX(2px);
}

html.bbp-light-portal #APP .nt.on {
  color: #064f5e !important;
  border-color: #80d7da !important;
  border-left-color: #12b9c4 !important;
  background: linear-gradient(100deg, #d4f5f3, #e7f1ff 62%, #f0eaff) !important;
  box-shadow: inset 0 0 0 1px rgba(18, 185, 196, .12), 0 0 20px rgba(18, 185, 196, .20) !important;
  text-shadow: none !important;
}

html.bbp-light-portal #APP .nt.on .nt-ico,
html.bbp-light-portal #APP .nav-cat.open .nc-ico {
  color: #087e91 !important;
}

html.bbp-light-portal #APP #NAV .nav-grp:nth-of-type(2) .nt.on {
  color: #5747a7 !important;
  border-color: #c9c0ef !important;
  border-left-color: #806bd4 !important;
  background: linear-gradient(100deg, #eeeaff, #f0f7ff) !important;
  box-shadow: inset 0 0 0 1px rgba(128,107,212,.12), 0 0 18px rgba(128,107,212,.17) !important;
}

html.bbp-light-portal #APP #NAV .nav-grp:nth-of-type(3) .nt.on {
  color: #126747 !important;
  border-color: #b6e1ce !important;
  border-left-color: #1da779 !important;
  background: linear-gradient(100deg, #e4f8ee, #edf8f6) !important;
  box-shadow: inset 0 0 0 1px rgba(29,167,121,.12), 0 0 18px rgba(29,167,121,.16) !important;
}

html.bbp-light-portal #APP #NAV .nav-grp:nth-of-type(4) .nt.on {
  color: #74510c !important;
  border-color: #ecd9aa !important;
  border-left-color: #c39121 !important;
  background: linear-gradient(100deg, #fff5dc, #fffaf0) !important;
  box-shadow: inset 0 0 0 1px rgba(195,145,33,.12), 0 0 18px rgba(195,145,33,.14) !important;
}

html.bbp-light-portal #APP .nav-ver {
  color: #688596 !important;
}

html.bbp-light-portal #APP .mc {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(20px, 2.8vw, 38px) !important;
  color: #173149 !important;
  background: transparent !important;
}

html.bbp-light-portal #APP #PG {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  color: #173149;
  font-family: "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
}

html.bbp-light-portal #APP #PG > div[style*="max-width:860px"] {
  max-width: 1440px !important;
}

html.bbp-light-portal #APP #PG .pg-header,
html.bbp-light-portal #APP #PG .pg-hero {
  margin-bottom: 18px !important;
  padding: 4px 0 15px !important;
  border-bottom: 1px solid rgba(49, 129, 151, .16) !important;
}

html.bbp-light-portal #APP #PG .pg-eyebrow,
html.bbp-light-portal #APP #PG .pg-hero-label {
  color: #087e91 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .15em !important;
}

html.bbp-light-portal #APP #PG .pg-heading,
html.bbp-light-portal #APP #PG .pg-hero-title {
  color: #173149 !important;
  font-family: "IBM Plex Sans", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(30px, 3vw, 40px) !important;
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
  text-shadow: none !important;
}

html.bbp-light-portal #APP #PG .pg-sub {
  color: #617b8a !important;
  font-size: 15px !important;
}

html.bbp-light-portal #APP #PG .card,
html.bbp-light-portal #APP #PG .stb,
html.bbp-light-portal #APP #PG .mc2,
html.bbp-light-portal #APP #PG .pc,
html.bbp-light-portal #APP #PG .idc,
html.bbp-light-portal #APP #PG .live-event-card,
html.bbp-light-portal #APP #PG .pev-tracking-card {
  color: #20394d !important;
  background: linear-gradient(138deg, rgba(255,255,255,.96), rgba(235,249,251,.91) 62%, rgba(242,238,255,.88)) !important;
  border: 1px solid rgba(83, 156, 174, .24) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 32px rgba(31, 91, 110, .085), inset 0 1px rgba(255,255,255,.92) !important;
  backdrop-filter: blur(16px) saturate(125%);
}

html.bbp-light-portal #APP #PG .card[onclick]:hover,
html.bbp-light-portal #APP #PG .card[role="button"]:hover,
html.bbp-light-portal #APP #PG .card.clickable:hover,
html.bbp-light-portal #APP #PG a.card:hover,
html.bbp-light-portal #APP #PG .mc2:hover,
html.bbp-light-portal #APP #PG .stb[onclick]:hover,
html.bbp-light-portal #APP #PG .live-event-card[onclick]:hover {
  border-color: #28b8c2 !important;
  box-shadow: 0 0 0 1px rgba(18,185,196,.5), 0 0 26px rgba(18,185,196,.24), 0 14px 32px rgba(31,91,110,.12) !important;
  transform: translateY(-2px) !important;
}

html.bbp-light-portal #APP #PG .ctitle,
html.bbp-light-portal #APP #PG .ttit,
html.bbp-light-portal #APP #PG .mht {
  color: #193a4e !important;
  font-size: 17px !important;
  text-shadow: none !important;
}

html.bbp-light-portal #APP #PG .stb {
  min-height: 116px;
  background: linear-gradient(140deg, rgba(229,248,249,.94), rgba(239,241,255,.91) 68%, rgba(234,249,242,.9)) !important;
}

html.bbp-light-portal #APP #PG .stn {
  color: #087e91 !important;
  text-shadow: 0 0 18px rgba(18,185,196,.18) !important;
}

html.bbp-light-portal #APP #PG .stl {
  color: #536e7e !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

html.bbp-light-portal #APP .btn,
html.bbp-light-portal #APP .lo,
html.bbp-light-portal #APP .hbtn,
html.bbp-light-portal #APP #PG [role="button"] {
  min-height: 44px;
  border-radius: 12px !important;
  transition: transform .14s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

html.bbp-light-portal #APP .btn:not(.bp):not(.bok):not(.berr) {
  color: #285268 !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(71,141,161,.3) !important;
  box-shadow: 0 3px 10px rgba(31,91,110,.055);
}

html.bbp-light-portal #APP .btn.bp,
html.bbp-light-portal #APP .bp,
html.bbp-light-portal #APP .ac .btn.bp {
  color: #fff !important;
  background: linear-gradient(112deg, #087e91, #13b8bf 55%, #7564d2) !important;
  border: 1px solid rgba(10,147,162,.48) !important;
  border-radius: 12px !important;
  box-shadow: 0 7px 20px rgba(8,126,145,.24) !important;
  letter-spacing: .015em !important;
}

html.bbp-light-portal #APP .btn.bok {
  color: #075f46 !important;
  background: #e7f8ef !important;
  border-color: #9bd5b7 !important;
}

html.bbp-light-portal #APP .btn.berr {
  color: #8b2530 !important;
  background: #fff0f1 !important;
  border-color: #e2a4aa !important;
}

html.bbp-light-portal #APP .btn:hover,
html.bbp-light-portal #APP .lo:hover,
html.bbp-light-portal #APP .hbtn:hover {
  border-color: #17b9c3 !important;
  box-shadow: 0 0 0 1px rgba(18,185,196,.48), 0 0 22px rgba(18,185,196,.28) !important;
  transform: translateY(-1px);
}

html.bbp-light-portal #APP .btn:active,
html.bbp-light-portal #APP .nt:active,
html.bbp-light-portal #APP .card[onclick]:active {
  transform: scale(.975) !important;
  box-shadow: 0 0 0 3px rgba(18,185,196,.2) !important;
}

html.bbp-light-portal #APP :is(input:not([type=range]):not([type=checkbox]):not([type=radio]), select, textarea) {
  color: #20394d !important;
  background: #fff !important;
  border: 1px solid rgba(75,132,153,.34) !important;
  border-radius: 11px !important;
}

html.bbp-light-portal #APP :is(input, select, textarea):focus {
  border-color: #12aeb9 !important;
  box-shadow: 0 0 0 3px rgba(18,185,196,.17), 0 0 18px rgba(18,185,196,.16) !important;
}

html.bbp-light-portal #APP #PG [style*="color:#EDE9FF"],
html.bbp-light-portal #APP #PG [style*="color: #EDE9FF"],
html.bbp-light-portal #APP #PG [style*="color:#F0EAD6"],
html.bbp-light-portal #APP #PG [style*="color: #F0EAD6"],
html.bbp-light-portal #APP #PG [style*="rgba(240,234,214"] {
  color: #28465a !important;
}

html.bbp-light-portal #APP #PG [style*="background:#0a"],
html.bbp-light-portal #APP #PG [style*="background:#0A"],
html.bbp-light-portal #APP #PG [style*="background:#060"],
html.bbp-light-portal #APP #PG [style*="background:#070"],
html.bbp-light-portal #APP #PG [style*="background: #0a"],
html.bbp-light-portal #APP #PG [style*="background:rgba(255,255,255,.04)"] {
  color: #28465a !important;
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(65,137,158,.22) !important;
}

html.bbp-light-portal #APP #PG .wmsg,
html.bbp-light-portal #APP #PG .imsg,
html.bbp-light-portal #APP #PG .omsg,
html.bbp-light-portal #APP #PG .emsg {
  min-height: 48px;
  border-radius: 13px !important;
  font-size: 14px !important;
  font-weight: 600;
}

html.bbp-light-portal #APP #TOAST .toast {
  color: #173149 !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(18,185,196,.38) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 35px rgba(25,84,103,.18), 0 0 18px rgba(18,185,196,.12) !important;
  backdrop-filter: blur(16px);
  font-size: 14px !important;
  line-height: 1.45;
}

html.bbp-light-portal #APP #TOAST .toast.ok {
  border-color: rgba(20,122,88,.42) !important;
  box-shadow: 0 0 20px rgba(20,122,88,.15), 0 12px 35px rgba(25,84,103,.15) !important;
}

html.bbp-light-portal #APP #TOAST .toast.err {
  border-color: rgba(180,35,53,.42) !important;
  box-shadow: 0 0 20px rgba(180,35,53,.13), 0 12px 35px rgba(25,84,103,.15) !important;
}

html.bbp-light-portal #APP .bbp-admin-live-overview {
  margin: 0 0 18px;
  padding: 20px;
  border: 1px solid rgba(70, 162, 177, .35);
  border-radius: 20px;
  background: linear-gradient(115deg, rgba(223,248,248,.92), rgba(237,240,255,.93) 58%, rgba(231,249,240,.9));
  box-shadow: 0 12px 32px rgba(23, 111, 132, .09), inset 0 1px rgba(255,255,255,.95);
}

html.bbp-light-portal #APP .bbp-admin-overview-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

html.bbp-light-portal #APP .bbp-admin-overview-heading h2 {
  margin: 4px 0;
  color: #173149;
  font-size: clamp(27px, 3vw, 36px);
  font-weight: 800;
  letter-spacing: -.04em;
}

html.bbp-light-portal #APP .bbp-admin-overview-heading p {
  color: #617b8a;
  margin: 0;
  font-size: 14px;
}

html.bbp-light-portal #APP .bbp-admin-overview-eyebrow {
  color: #087e91;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

html.bbp-light-portal #APP .bbp-admin-overview-refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid rgba(64, 137, 158, .28);
  border-radius: 12px;
  color: #285268;
  background: rgba(255,255,255,.95);
  font: 700 13px "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}

html.bbp-light-portal #APP .bbp-admin-overview-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 16px;
  padding: 12px 14px;
  border: 1px solid rgba(57, 170, 174, .3);
  border-radius: 13px;
  color: #2f5967;
  background: rgba(255,255,255,.58);
  font-size: 13px;
}

html.bbp-light-portal #APP .bbp-admin-overview-notice > i {
  color: #087e91;
  margin-top: 2px;
}

html.bbp-light-portal #APP .bbp-admin-overview-notice span {
  display: block;
  margin-top: 2px;
  color: #617b8a;
}

html.bbp-light-portal #APP .bbp-admin-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

html.bbp-light-portal #APP .bbp-admin-overview-card {
  min-width: 0;
  min-height: 154px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  padding: 15px;
  text-align: left;
  color: #20394d;
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(237,248,250,.9) 62%, rgba(244,240,255,.86));
  border: 1px solid rgba(83,156,174,.26);
  border-radius: 17px;
  box-shadow: 0 8px 22px rgba(31,91,110,.07), inset 0 1px rgba(255,255,255,.92);
  cursor: pointer;
  transition: transform .15s ease, border-color .18s ease, box-shadow .18s ease;
}

html.bbp-light-portal #APP .bbp-admin-overview-card:hover,
html.bbp-light-portal #APP .bbp-admin-overview-refresh:hover {
  border-color: #16b8c2;
  box-shadow: 0 0 0 1px rgba(18,185,196,.52), 0 0 23px rgba(18,185,196,.25), 0 10px 25px rgba(31,91,110,.1);
  transform: translateY(-2px);
}

html.bbp-light-portal #APP .bbp-admin-overview-card:active,
html.bbp-light-portal #APP .bbp-admin-overview-refresh:active {
  transform: scale(.98);
}

html.bbp-light-portal #APP .bbp-admin-overview-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

html.bbp-light-portal #APP .bbp-admin-overview-card-top > i:first-child {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #087e91;
  background: rgba(18,185,196,.12);
  border-radius: 11px;
  font-size: 18px;
}

html.bbp-light-portal #APP .bbp-admin-overview-card[data-tint="green"] .bbp-admin-overview-card-top > i:first-child {
  color: #147a58;
  background: rgba(20,122,88,.11);
}
html.bbp-light-portal #APP .bbp-admin-overview-card[data-tint="purple"] .bbp-admin-overview-card-top > i:first-child {
  color: #7561bd;
  background: rgba(117,97,189,.12);
}
html.bbp-light-portal #APP .bbp-admin-overview-card[data-tint="gold"] .bbp-admin-overview-card-top > i:first-child {
  color: #a66c0e;
  background: rgba(166,108,14,.12);
}
html.bbp-light-portal #APP .bbp-admin-overview-card[data-tint="red"] .bbp-admin-overview-card-top > i:first-child {
  color: #b55850;
  background: rgba(181,88,80,.12);
}
html.bbp-light-portal #APP .bbp-admin-overview-card[data-tint="blue"] .bbp-admin-overview-card-top > i:first-child {
  color: #526d9e;
  background: rgba(82,109,158,.12);
}

html.bbp-light-portal #APP .bbp-admin-overview-card-label {
  color: #314f60;
  font-size: 14px;
  font-weight: 750;
}

html.bbp-light-portal #APP .bbp-admin-overview-card-metric {
  color: #173149;
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

html.bbp-light-portal #APP .bbp-admin-overview-card-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  color: #718694;
  font-size: 11px;
}

html.bbp-light-portal #APP .bbp-admin-overview-open {
  color: #087e91;
  font-weight: 750;
}

html.bbp-light-portal #APP .bbp-admin-overview-timestamp {
  margin: 12px 0 0;
  color: #6b8290;
  font-size: 11px;
  text-align: right;
}

html.bbp-light-portal #APP .bbp-admin-overview-status {
  padding: 14px 16px;
  border: 1px solid rgba(57,170,174,.32);
  border-radius: 13px;
  color: #285268;
  background: rgba(255,255,255,.72);
  font-weight: 650;
}

html.bbp-light-portal #APP .bbp-admin-overview-status.error {
  color: #8b2530;
  background: #fff0f1;
  border-color: #e2a4aa;
}

html.bbp-light-portal .bbp-light-mobile-nav {
  display: none;
}

@media (min-width: 768px) {
  html.bbp-light-portal #APP #NAV { width: 224px !important; }
  html.bbp-light-portal #APP #PG > div[style*="max-width:860px"] > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  html.bbp-light-portal #APP .tb { min-height: 58px; }
  html.bbp-light-portal #APP .mc { padding: 16px 14px 22px !important; }
  html.bbp-light-portal #APP #PG .pg-heading { font-size: 31px !important; }
  html.bbp-light-portal #APP #PG .card { border-radius: 16px !important; }
  html.bbp-light-portal body.bbp-mobile-nav-enabled { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  html.bbp-light-portal .bbp-light-mobile-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: fixed;
    z-index: 90;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 7px 6px calc(7px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.94);
    border-top: 1px solid rgba(49,129,151,.2);
    box-shadow: 0 -8px 26px rgba(32,128,148,.12);
    backdrop-filter: blur(20px) saturate(140%);
  }
  html.bbp-light-portal .bbp-light-mobile-nav button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 48px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #58717f;
    background: transparent;
    font: 600 11px "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  }
  html.bbp-light-portal .bbp-light-mobile-nav button i { font-size: 18px; }
  html.bbp-light-portal .bbp-light-mobile-nav button.active {
    color: #075f6d;
    background: linear-gradient(110deg, #d4f5f3, #e8f1ff 70%, #f0eaff);
    border-color: #9bdde0;
    box-shadow: 0 0 16px rgba(18,185,196,.2);
  }
  html.bbp-light-portal #APP .bbp-admin-live-overview { padding: 14px; }
  html.bbp-light-portal #APP .bbp-admin-overview-heading { flex-direction: column; }
  html.bbp-light-portal #APP .bbp-admin-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  html.bbp-light-portal #APP .bbp-admin-overview-card { min-height: 146px; padding: 12px; }
  html.bbp-light-portal #APP .bbp-admin-overview-card-label { font-size: 13px; }
  html.bbp-light-portal #APP .bbp-admin-overview-card-foot { flex-direction: column; align-items: flex-start; }
}

html.bbp-light-portal .bbp-display-trigger {
  display: inline-grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid rgba(55,139,159,.28);
  border-radius: 12px;
  color: #285268;
  background: rgba(255,255,255,.95);
  box-shadow: 0 3px 10px rgba(31,91,110,.06);
  font: 800 15px "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}

html.bbp-light-portal body > .bbp-display-trigger {
  position: fixed;
  z-index: 10010;
  top: 14px;
  right: 16px;
}

html.bbp-light-portal .bbp-display-trigger:hover,
html.bbp-light-portal .bbp-display-trigger[aria-expanded="true"] {
  color: #075f6d;
  border-color: #17b9c3;
  box-shadow: 0 0 0 1px rgba(18,185,196,.45), 0 0 20px rgba(18,185,196,.24);
}

html.bbp-light-portal .bbp-display-panel {
  position: fixed;
  z-index: 10011;
  top: 72px;
  right: 16px;
  width: min(340px, calc(100vw - 28px));
  padding: 16px;
  color: #173149;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(43,158,174,.4);
  border-radius: 18px;
  box-shadow: 0 16px 44px rgba(24,75,95,.2), 0 0 22px rgba(18,185,196,.16);
  backdrop-filter: blur(18px);
}

html.bbp-light-portal .bbp-display-panel[hidden] { display: none !important; }
html.bbp-light-portal .bbp-display-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}
html.bbp-light-portal .bbp-display-panel-head strong,
html.bbp-light-portal .bbp-display-panel-head span { display: block; }
html.bbp-light-portal .bbp-display-panel-head strong { font-size: 17px; }
html.bbp-light-portal .bbp-display-panel-head span { margin-top: 3px; color: #617b8a; font-size: 12px; }

html.bbp-light-portal .bbp-display-panel button {
  min-height: 44px;
  border: 1px solid rgba(67,139,158,.3);
  border-radius: 11px;
  color: #285268;
  background: #fff;
  font: 700 14px "IBM Plex Sans", "Segoe UI", Arial, sans-serif;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease, background .15s ease;
}
html.bbp-light-portal .bbp-display-panel button:hover,
html.bbp-light-portal .bbp-display-panel button:focus-visible {
  border-color: #17b9c3;
  box-shadow: 0 0 0 1px rgba(18,185,196,.4), 0 0 18px rgba(18,185,196,.18);
}
html.bbp-light-portal .bbp-display-panel button:active { transform: scale(.97); }
html.bbp-light-portal .bbp-display-close { width: 44px; min-width: 44px; font-size: 22px !important; }
html.bbp-light-portal .bbp-display-font { margin: 0 0 12px; padding: 0; border: 0; }
html.bbp-light-portal .bbp-display-font legend { margin-bottom: 7px; color: #38566b; font-size: 13px; font-weight: 750; }
html.bbp-light-portal .bbp-display-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
html.bbp-light-portal .bbp-display-options button { font-size: 16px; }
html.bbp-light-portal .bbp-display-options button.selected,
html.bbp-light-portal .bbp-display-contrast.selected {
  color: #075f6d;
  background: linear-gradient(110deg, #d4f5f3, #e7f1ff 72%, #f0eaff);
  border-color: #56c5cd;
  box-shadow: inset 0 0 0 1px rgba(18,185,196,.12), 0 0 15px rgba(18,185,196,.15);
}
html.bbp-light-portal .bbp-display-contrast { display:flex; align-items:center; justify-content:space-between; width:100%; gap:10px; padding:9px 11px; text-align:left; }
html.bbp-light-portal .bbp-display-contrast strong,
html.bbp-light-portal .bbp-display-contrast small { display:block; }
html.bbp-light-portal .bbp-display-contrast small { margin-top:3px; color:#617b8a; font-size:11px; font-weight:500; }
html.bbp-light-portal .bbp-display-setting-value { min-width:38px; color:#087e91; text-align:right; font-weight:800; }

html.bbp-light-portal .cp {
  color: #063f4a !important;
  background: linear-gradient(120deg, #91edf0, #bef4dd) !important;
  border: 1px solid rgba(9,138,150,.42) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 12px rgba(18,185,196,.22);
  font-size: 11px !important;
  font-weight: 850 !important;
}

html.bbp-light-portal #APP #PG :is(button:not(:disabled), a[href], [role="button"], [role="tab"], [onclick]) {
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, transform .16s ease, filter .16s ease;
}
html.bbp-light-portal #APP #PG :is(button:not(:disabled), a[href], [role="button"], [role="tab"], [onclick]):hover {
  outline-color: rgba(18,185,196,.6);
  border-color: #22b8c3;
  box-shadow: 0 0 0 1px rgba(18,185,196,.38), 0 0 18px rgba(18,185,196,.18);
}
html.bbp-light-portal #APP #PG :is([role="tab"][aria-selected="true"], .tab.active, .tab-btn.active, .active-tab, [aria-current="page"]) {
  color: #075f6d !important;
  border-color: #20b8c2 !important;
  background: linear-gradient(105deg, rgba(18,185,196,.14), rgba(117,97,189,.09)) !important;
  box-shadow: inset 0 -2px 0 #14aeb8, 0 0 14px rgba(18,185,196,.13) !important;
}
html.bbp-light-portal #APP #PG .unread,
html.bbp-light-portal #APP #PG [data-unread="true"],
html.bbp-light-portal #APP #PG .new-activity { outline: 2px solid rgba(18,185,196,.45); outline-offset: 2px; }

html.bbp-light-portal #APP [aria-busy="true"] {
  color: #075f6d !important;
  background-image: linear-gradient(110deg, rgba(18,185,196,.12), rgba(117,97,189,.1)) !important;
  border-color: #17b9c3 !important;
  box-shadow: 0 0 0 2px rgba(18,185,196,.15), 0 0 18px rgba(18,185,196,.18) !important;
}

@keyframes bbp-neon-press {
  0% { box-shadow: 0 0 0 0 rgba(18,185,196,.4), 0 0 22px rgba(18,185,196,.34); }
  100% { box-shadow: 0 0 0 3px rgba(18,185,196,.12), 0 0 13px rgba(18,185,196,.2); }
}
html.bbp-light-portal #APP #PG :is(button:not(:disabled), .card[onclick], [role="button"], [role="tab"]):active {
  animation: bbp-neon-press .24s ease-out;
  filter: saturate(1.12);
}

html.bbp-light-portal.bbp-text-small #APP { font-size: 14px !important; }
html.bbp-light-portal.bbp-text-large #APP { font-size: 17px !important; }
html.bbp-light-portal.bbp-text-largest #APP { font-size: 19px !important; }
html.bbp-light-portal.bbp-text-small #APP #PG :is(p, li, label, button, a, td, th, .nt, .nav-cat, .ctitle, .ttit) { font-size: .88rem !important; }
html.bbp-light-portal.bbp-text-large #APP #PG :is(p, li, label, button, a, td, th, .nt, .nav-cat, .ctitle, .ttit) { font-size: 1.05rem !important; }
html.bbp-light-portal.bbp-text-largest #APP #PG :is(p, li, label, button, a, td, th, .nt, .nav-cat, .ctitle, .ttit) { font-size: 1.12rem !important; }
html.bbp-light-portal.bbp-text-large #APP #PG .pg-heading { font-size: 2.5rem !important; }
html.bbp-light-portal.bbp-text-largest #APP #PG .pg-heading { font-size: 2.75rem !important; }

html.bbp-light-portal.bbp-high-contrast #APP {
  --bg: #fff; --sur: #fff; --sur2: #f5f8fa; --sur3: #eaf0f4;
  --tx: #101820; --tx2: #1c3342; --ft: #1c3342; --mu: #334b5b;
  --bdr: #435c6d; --bdr2: #243c4d;
  color: #101820 !important; background: #fff !important;
}
html.bbp-light-portal.bbp-high-contrast #APP :is(#NAV, .tb, .card, .pc, .stb, .mc2, .bbp-admin-live-overview, .bbp-admin-overview-card) {
  color: #111 !important; background: #fff !important; border-color: #435c6d !important;
  box-shadow: 0 0 0 1px rgba(16,24,32,.1) !important;
}
html.bbp-light-portal.bbp-high-contrast #APP #PG :is(p, span, label, li, td, th, small, .pg-sub, .mu, .nav-cat, .nt) { color: #243e50 !important; }
html.bbp-light-portal.bbp-high-contrast #APP :is(button, a, input, select, textarea, [role="button"], [role="tab"]):focus-visible {
  outline: 4px solid #005f78 !important; outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px #005f78 !important;
}
html.bbp-light-portal.bbp-high-contrast .bbp-display-panel {
  color: #111;
  background: #fff;
  border: 2px solid #243c4d;
  box-shadow: 0 0 0 2px #fff, 0 0 0 5px #243c4d;
}
html.bbp-light-portal.bbp-high-contrast .bbp-display-panel :is(button, strong, legend, small, span) { color: #111; }
html.bbp-light-portal.bbp-high-contrast .bbp-display-panel button { border: 2px solid #334b5b; }

html.bbp-light-portal.bbp-text-large #SLG,
html.bbp-light-portal.bbp-text-largest #SLG {
  transform-origin: top center;
}
html.bbp-light-portal.bbp-text-large #SLG { zoom: 1.06; }
html.bbp-light-portal.bbp-text-largest #SLG { zoom: 1.12; }

@media (max-width: 767px) {
  html.bbp-light-portal .bbp-display-panel { top: 64px; right: 10px; }
  html.bbp-light-portal body > .bbp-display-trigger { top: 10px; right: 10px; }
  html.bbp-light-portal.bbp-text-large #APP #PG .pg-heading { font-size: 2.2rem !important; }
  html.bbp-light-portal.bbp-text-largest #APP #PG .pg-heading { font-size: 2.4rem !important; }
}

/* Login heading: higher-specificity override so the generic .atit rule above
   cannot force a heavy all-caps heading on the unified login card. */
html.bbp-light-portal #SLG .bbp-unified-login .atit {
  color: #132d3f !important;
  font-family: "IBM Plex Sans", "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(22px, 3.2vw, 27px) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  text-shadow: none !important;
}
html.bbp-light-portal #SLG .bbp-unified-login .asub { color: #4a6474 !important; }

/* Legible disabled state across portal (no hiding). */
html.bbp-light-portal :is(#APP, .ac) :is(button, .btn, input, select, textarea):disabled,
html.bbp-light-portal :is(#APP, .ac) [aria-disabled="true"] {
  opacity: .62 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ---- Pass 2: shared member/support polish (scoped to #APP generated views) ---- */
/* AA-safe primary gradient: white text >= 4.5:1 at every stop */
html.bbp-light-portal #APP .btn.bp,
html.bbp-light-portal #APP .bp,
html.bbp-light-portal .ac .btn.bp {
  background: linear-gradient(110deg, #066e7a, #0b6a8c 52%, #5340b4) !important;
}
html.bbp-light-portal #APP #PG :is(h1, h2, h3, .ctitle, .ttit, .mht) { line-height: 1.3; }
html.bbp-light-portal #APP #PG :is(p, li) { line-height: 1.6; }
html.bbp-light-portal #APP #PG .fg { margin-bottom: 16px; }
html.bbp-light-portal #APP #PG .fg label {
  display: block; margin-bottom: 6px; color: #2f4d60 !important;
  font-size: 14px; font-weight: 650; letter-spacing: normal; text-transform: none; line-height: 1.4;
}
html.bbp-light-portal #APP #PG .fg :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), select) { min-height: 46px; font-size: 16px; }
html.bbp-light-portal #APP #PG .fg textarea { font-size: 16px; line-height: 1.5; }
html.bbp-light-portal #APP #PG .card > .card-head { padding-bottom: 12px; margin-bottom: 14px; }
html.bbp-light-portal #APP #PG .btn { padding-inline: 16px; font-weight: 650; }
html.bbp-light-portal #APP #NAV .nav-grp + .nav-grp { border-top: 1px solid rgba(49,129,151,.12); padding-top: 6px; }
html.bbp-light-portal #APP :is(.nt, .nav-cat) { min-height: 44px; display: flex; align-items: center; gap: 9px; }
html.bbp-light-portal #APP :is(.nt, .nav-cat):focus-visible {
  outline: 3px solid #13b6bf !important; outline-offset: 2px !important; transform: none !important;
}
html.bbp-light-portal #APP .nt.on { font-weight: 700 !important; }
html.bbp-light-portal #TOAST .toast {
  font-size: 15px !important; line-height: 1.45; padding: 12px 16px !important; border-radius: 12px; font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {
  html.bbp-light-portal #APP :is(.nt, .btn, .lo, .card, .mc2, .stb, .live-event-card),
  html.bbp-light-portal #APP :is(.nt, .btn, .lo, .card, .mc2, .stb, .live-event-card):hover,
  html.bbp-light-portal body :is(button, a.btn, a.button, [role="button"]):is(:hover, :active) { transform: none !important; }
  html.bbp-light-portal .logo { animation: none !important; }
}
