@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root, [data-bs-theme="dark"] {
  --bs-font-sans-serif: "Manrope", Inter, ui-sans-serif, system-ui, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-border-radius: 1rem;
  --bs-border-radius-lg: 1.375rem;
  --bs-primary: #42cfff;
  --bs-primary-rgb: 66, 207, 255;
  --bs-link-color: #55d3ff;
  --bs-link-hover-color: #a0eaff;
  --nrfk-cyan: #42cfff;
  --nrfk-blue: #248dff;
  --nrfk-violet: #775dff;
}
[data-bs-theme="dark"] {
  --bs-body-bg: #080c12;
  --bs-body-color: #f5f7fb;
  --bs-secondary-bg: #111925;
  --bs-tertiary-bg: #182231;
  --bs-border-color: rgba(255,255,255,.12);
  --bs-secondary-color: #9aa5b6;
  --bs-card-bg: #111925;
  --bs-card-cap-bg: #182231;
  --bs-emphasis-color: #fff;
  --bs-link-color-rgb: 85, 211, 255;
  color-scheme: dark;
}
[data-bs-theme="light"] {
  --bs-body-bg: #f1eee7;
  --bs-body-color: #11131a;
  --bs-secondary-bg: #fff;
  --bs-tertiary-bg: #e7e3db;
  --bs-border-color: rgba(17,19,26,.14);
  --bs-secondary-color: #626873;
  --bs-card-bg: #fff;
  --bs-link-color: #146dab;
  --bs-link-color-rgb: 20,109,171;
  --bs-link-hover-color: #075183;
  color-scheme: light;
}
html { scroll-behavior: smooth; }
body { font-family: var(--bs-font-sans-serif); letter-spacing: -.012em; background: var(--bs-body-bg); color: var(--bs-body-color); }
body > .container { max-width: none; padding: 0; }
body > .container > .container { max-width: 1440px; padding-inline: clamp(18px,3vw,42px); }
body > .container > header { padding: 20px clamp(16px,2.5vw,40px) 0; }
body > .container > header .navbar { max-width: 1440px; margin: 0 auto 32px; padding: 13px 20px !important; border-radius: 24px; background: rgba(11,16,23,.94); border: 1px solid rgba(255,255,255,.1); box-shadow: 0 20px 55px rgba(0,0,0,.2); backdrop-filter: blur(20px); }
body > .container > header .navbar-brand { display: inline-flex; align-items: center; min-width: 112px; color: #fff; font-weight: 800; letter-spacing: -.055em; }
body > .container > header .navbar-brand img { max-width: 125px; max-height: 48px; width: auto; object-fit: contain; }
body > .container > header .navbar .nav-link { color: rgba(255,255,255,.72); font-size: .84rem; font-weight: 700; border-radius: 10px; padding: .65rem .85rem; }
body > .container > header .navbar .nav-link:hover, body > .container > header .navbar .nav-link.active { color: #fff; background: rgba(255,255,255,.08); }
body > .container > header .navbar .nav-link:focus-visible { outline: 2px solid var(--nrfk-cyan); outline-offset: 2px; }
body > .container > header .navbar .navbar-toggler { border-color: rgba(255,255,255,.25); color: #fff; }
body > .container > header .navbar .navbar-toggler-icon { filter: invert(1); }
body > .container > header .navbar .btn-outline-primary { border: 1px solid rgba(66,207,255,.55); color: #d5f5ff; border-radius: 13px; font-weight: 700; }
body > .container > header .navbar .btn-outline-primary:hover { background: var(--nrfk-cyan); color: #071018; }
body > .container > .container > .row { row-gap: 24px; }
body > .container > .container > .row > .col-3 { width: 23%; }
body > .container > .container > .row > .col-md-9 { width: 77%; }
body > .container > .container > .row > .col-md-9.mx-auto { width: 100%; }
#sidebarMenu { position: sticky; top: 24px; padding: 12px; border: 1px solid var(--bs-border-color); background: var(--bs-secondary-bg); border-radius: 22px; }
#sidebarMenu .nav-link { color: var(--bs-secondary-color); font-weight: 700; font-size: .86rem; border-radius: 13px; padding: .85rem 1rem; margin: 2px 0; }
#sidebarMenu .nav-link:hover, #sidebarMenu .nav-link.active { color: var(--bs-body-color); background: rgba(66,207,255,.12); }
#sidebarMenu .nav-link.active { box-shadow: inset 3px 0 var(--nrfk-cyan); }
#sidebarMenu .icon { color: var(--nrfk-cyan); }
#wrapper { min-height: 65vh; }
.content-block { min-width: 0; }
.breadcrumb { margin-bottom: 24px; font-size: .8rem; }
.breadcrumb a { color: var(--bs-secondary-color); }
h1,h2,h3,h4,h5,h6 { font-weight: 750; letter-spacing: -.045em; }
h1 { line-height: 1.1; }
p, li { line-height: 1.65; }
.card, .modal-content, .dropdown-menu, .list-group-item, .accordion-item, .alert, .content-block > .box { border-radius: 18px; }
.card, .modal-content, .dropdown-menu, .accordion-item { border: 1px solid var(--bs-border-color); background: var(--bs-secondary-bg); box-shadow: 0 16px 35px rgba(0,0,0,.07); }
.card-header, .card-footer { background: transparent; border-color: var(--bs-border-color); padding: 1rem 1.25rem; }
.card-body { padding: 1.35rem; }
.btn { border-radius: 13px; padding: .72rem 1.1rem; font-weight: 750; letter-spacing: -.015em; }
.btn-primary, .btn-info { color: #071018; border-color: transparent; background: linear-gradient(135deg,var(--nrfk-cyan),var(--nrfk-blue)); box-shadow: 0 11px 25px rgba(36,141,255,.18); }
.btn-primary:hover, .btn-info:hover, .btn-primary:focus-visible { color: #071018; border-color: transparent; background: linear-gradient(135deg,#78ddff,#509eff); }
.btn-outline-primary { color: var(--bs-link-color); border-color: rgba(66,207,255,.52); }
.btn-outline-primary:hover { color: #071018; border-color: var(--nrfk-cyan); background: var(--nrfk-cyan); }
.form-control, .form-select, .input-group-text { border-radius: 12px; border-color: var(--bs-border-color); background-color: var(--bs-tertiary-bg); min-height: 46px; }
.form-control:focus, .form-select:focus { border-color: var(--nrfk-cyan); box-shadow: 0 0 0 .2rem rgba(66,207,255,.16); }
.form-label { font-weight: 700; font-size: .88rem; }
.table { --bs-table-bg: transparent; --bs-table-border-color: var(--bs-border-color); }
.table th { font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; color: var(--bs-secondary-color); white-space: nowrap; }
.table td, .table th { padding: .85rem .75rem; vertical-align: middle; }
.table-responsive { border-radius: 16px; }
.badge { border-radius: 999px; padding: .45em .7em; }
.nav-pills .nav-link.active, .pagination .page-item.active .page-link { background: var(--nrfk-blue); border-color: var(--nrfk-blue); }
.dropdown-item { border-radius: 9px; padding: .6rem .85rem; }
.dropdown-item:focus, .dropdown-item:hover { background: rgba(66,207,255,.11); color: var(--bs-body-color); }
#footer { border-top: 1px solid var(--bs-border-color); padding-top: 25px; margin-top: 50px !important; }
#footer a { color: var(--bs-secondary-color); }
#footer a:hover { color: var(--nrfk-cyan); }
/* FOSSBilling public authentication and order screens use this layout too. */
body:not(:has(> .container > header)) { background: radial-gradient(circle at 80% 12%,rgba(66,207,255,.12),transparent 30%),radial-gradient(circle at 22% 80%,rgba(119,93,255,.13),transparent 35%),var(--bs-body-bg); }
body:not(:has(> .container > header)) .card { border-radius: 24px; }
:focus-visible { outline: 2px solid var(--nrfk-cyan); outline-offset: 2px; }
@media (max-width: 767.98px) {
  body > .container > header { padding: 12px 12px 0; }
  body > .container > header .navbar { margin-bottom: 20px; border-radius: 18px; }
  body > .container > header .navbar .navbar-collapse { padding: 14px 0 4px; }
  body > .container > header .navbar .nav-item { width: 100%; }
  body > .container > .container { padding-inline: 16px; }
  body > .container > .container > .row > .col-md-9 { width: 100%; }
  #sidebarMenu { position: static; border-radius: 16px; }
  .card-body { padding: 1rem; }
  .table-responsive { overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* NRFK site shell and client landing page */
html, body { overflow-x: clip; }
.nrfk-shell-header { padding: 0 !important; background: #080d14; color: #fff; }
.nrfk-utility { min-height: 35px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 clamp(20px,2vw,36px); border-bottom: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.43); font-size: 11px; }
.nrfk-utility > span { display: inline-flex; align-items: center; gap: 10px; }
.nrfk-utility i { width: 5px; height: 5px; border-radius: 50%; background: #42cfff; box-shadow: 0 0 10px #42cfff; }
.nrfk-utility > div { display: flex; height: 35px; align-items: stretch; }
.nrfk-utility a { padding: 8px 13px; color: rgba(255,255,255,.56); border-left: 1px solid rgba(255,255,255,.08); text-decoration: none; }
.nrfk-utility a:hover { color: #fff; }
.nrfk-site-nav { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 28px; padding: 0 clamp(20px,2.2vw,40px); border-bottom: 1px solid rgba(255,255,255,.09); }
.nrfk-logo img { display: block; width: 116px; max-height: 52px; object-fit: contain; }
.nrfk-site-links, .nrfk-account-actions { display: flex; align-items: center; gap: clamp(12px,1.7vw,28px); }
.nrfk-site-links { margin-left: auto; }
.nrfk-site-links a, .nrfk-account-actions a { text-decoration: none; white-space: nowrap; font-size: 13px; font-weight: 700; }
.nrfk-site-links a { color: rgba(255,255,255,.66); }
.nrfk-site-links a:hover { color: #fff; }
.nrfk-account-actions { gap: 10px; }
.nrfk-account-actions .nrfk-theme-link { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 12px; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: #151d29; color: #fff; }
.nrfk-theme-link:first-letter { color: #42cfff; }
.nrfk-account-actions .nrfk-account-link { padding: 11px 14px; color: #fff; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; }
.nrfk-account-actions .nrfk-header-cta { padding: 13px 17px; color: #071018; background: #42cfff; border-radius: 13px; }
.nrfk-header-cta:hover { background: #82e0ff; }
.nrfk-mobile-nav { display: none; position: relative; }
.nrfk-shell-header + .container { padding-top: 32px; }
.dashboard.nrfk-guest .nrfk-shell-header + .container { max-width: none; padding: 0; }
.dashboard.nrfk-guest .nrfk-shell-header + .container > .row { margin: 0; }
.dashboard.nrfk-guest .nrfk-guest-main { padding: 0; width: 100% !important; }
.dashboard.nrfk-guest #wrapper { min-height: 0; }
.dashboard.nrfk-guest .content-block { padding: 0; }
.dashboard.nrfk-guest .content-block > .alert { max-width: 1440px; margin: 24px auto; }
.nrfk-hero { position: relative; background: radial-gradient(circle at 78% 15%,rgba(66,207,255,.13),transparent 30%),radial-gradient(circle at 52% 90%,rgba(119,93,255,.12),transparent 35%),linear-gradient(180deg,#080c12,#0d1520); color: #fff; overflow: hidden; }
.nrfk-hero::before { content: ""; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 74px 74px; mask-image: linear-gradient(to bottom,#000,transparent 90%); pointer-events: none; }
.nrfk-hero-inner { position: relative; z-index: 1; max-width: 1440px; margin: auto; padding: clamp(72px,9vw,150px) clamp(24px,3vw,45px) 100px; }
.nrfk-eyebrow { display: flex; gap: 12px; align-items: center; margin: 0 0 28px; font-size: 11px; font-weight: 800; letter-spacing: .16em; color: rgba(255,255,255,.55); }
.nrfk-eyebrow > span { width: 28px; height: 2px; background: #42cfff; }
.nrfk-hero h1 { max-width: 990px; margin: 0; font-size: clamp(58px,7.6vw,116px); line-height: .95; letter-spacing: -.075em; font-weight: 750; color: #fff; }
.nrfk-hero h1 em { font-style: normal; color: #91e7ff; }
.nrfk-hero-copy { max-width: 690px; margin: 31px 0 0; color: rgba(255,255,255,.65); font-size: clamp(16px,1.4vw,19px); line-height: 1.7; }
.nrfk-hero-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin-top: 35px; }
.nrfk-hero-actions a { display: inline-flex; align-items: center; gap: 20px; text-decoration: none; font-size: 14px; font-weight: 750; }
.nrfk-hero-primary { min-height: 60px; padding: 0 28px; border-radius: 14px; background: linear-gradient(135deg,#42cfff,#248dff); color: #071018; box-shadow: 0 16px 32px rgba(36,141,255,.2); }
.nrfk-hero-primary:hover { color: #071018; transform: translateY(-2px); }
.nrfk-hero-secondary { color: #fff; border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 6px; }
.nrfk-hero-secondary:hover { color: #42cfff; }
.nrfk-hero-points { display: flex; flex-wrap: wrap; gap: 24px; max-width: 900px; padding-top: 26px; margin-top: 48px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.55); font-size: 12px; }
.nrfk-hero-points span::first-letter { color: #42cfff; }
.nrfk-service-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); background: #111925; color: #fff; }
.nrfk-service-strip a { min-height: 155px; display: grid; grid-template-columns: 1fr auto; align-content: start; gap: 8px; padding: 27px 24px; border-right: 1px solid rgba(255,255,255,.12); color: #fff; text-decoration: none; }
.nrfk-service-strip a:hover { background: #182231; }
.nrfk-service-strip a b { color: #42cfff; font-size: 11px; font-weight: 600; }
.nrfk-service-strip a strong { grid-column: 1; font-size: 14px; }
.nrfk-service-strip a small { grid-column: 1; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.5; }
.nrfk-service-strip a > span { grid-column: 2; grid-row: 1 / 4; color: #42cfff; align-self: start; }
.nrfk-next-steps { max-width: 1440px; margin: auto; padding: 110px clamp(24px,3vw,45px) 120px; }
.nrfk-next-steps .nrfk-eyebrow { color: var(--bs-secondary-color); }
.nrfk-next-steps h2 { max-width: 730px; margin: 0 0 45px; font-size: clamp(42px,5vw,72px); line-height: 1; letter-spacing: -.065em; }
.nrfk-next-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.nrfk-next-grid article { display: flex; flex-direction: column; min-height: 310px; padding: 30px; border: 1px solid var(--bs-border-color); border-radius: 24px; background: var(--bs-secondary-bg); }
.nrfk-next-grid article > span { color: #42cfff; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.nrfk-next-grid h3 { margin: auto 0 12px; font-size: 26px; }
.nrfk-next-grid p { color: var(--bs-secondary-color); font-size: 14px; line-height: 1.65; }
.nrfk-next-grid a { align-self: start; display: inline-flex; gap: 12px; color: var(--bs-body-color); font-size: 13px; font-weight: 750; text-decoration: none; border-bottom: 1px solid var(--bs-border-color); padding-bottom: 6px; }
.nrfk-next-grid a:hover { color: var(--nrfk-cyan); }
.dashboard.nrfk-guest .nrfk-next-steps, .dashboard.nrfk-guest .nrfk-service-strip { background-color: var(--bs-body-bg); }
.nrfk-footer { max-width: none; margin: 0 !important; padding: 75px clamp(24px,3vw,45px) 25px !important; background: #0b1017; border: 0 !important; color: #fff; }
.nrfk-footer-top, .nrfk-footer-bottom { max-width: 1440px; margin: auto; }
.nrfk-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 50px; }
.nrfk-footer-top > div { display: flex; flex-direction: column; align-items: start; gap: 13px; }
.nrfk-footer-brand img { width: 140px; }
.nrfk-footer-brand p { max-width: 390px; margin: 8px 0; color: rgba(255,255,255,.55); font-size: 14px; line-height: 1.7; }
.nrfk-footer-top strong { color: rgba(255,255,255,.45); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.nrfk-footer a { color: rgba(255,255,255,.7) !important; text-decoration: none; font-size: 13px; }
.nrfk-footer a:hover { color: #42cfff !important; }
.nrfk-footer-bottom { margin-top: 75px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; gap: 16px; color: rgba(255,255,255,.4); font-size: 11px; }
.nrfk-footer-bottom > div { display: flex; gap: 18px; }
.nrfk-footer-bottom a { font-size: 11px; }
.nrfk-bank-info { max-width: 1440px; margin: 20px auto 0; font-size: 11px; color: rgba(255,255,255,.5); }
.nrfk-guest #footer { margin-top: 0 !important; }
.dashboard:not(.nrfk-guest) .content-block > .alert-info { background: radial-gradient(circle at 80% 20%,rgba(66,207,255,.11),transparent 34%),#101b28; color: #fff; border: 1px solid rgba(66,207,255,.19); padding: 30px; border-radius: 24px; }
.dashboard:not(.nrfk-guest) .content-block > .alert-info h2 { font-size: clamp(30px,3vw,48px); color: #fff; }
.dashboard:not(.nrfk-guest) .card { border-radius: 22px; }
/* Authentication screens have a fixed-width default wrapper that may overflow narrowly. */
body:not(:has(> .container > header)) { max-width: 100%; overflow-x: clip; }
body:not(:has(> .container > header)) .auth { max-width: min(100%,460px); }
@media (max-width: 1180px) {
 .nrfk-site-links { gap: 12px; }
 .nrfk-site-links a, .nrfk-account-actions a { font-size: 12px; }
 .nrfk-account-actions .nrfk-theme-link span { display: none; }
}
@media (max-width: 950px) {
 .nrfk-site-links, .nrfk-account-actions { display: none; }
 .nrfk-site-nav { min-height: 72px; }
 .nrfk-mobile-nav { display: block; margin-left: auto; }
 .nrfk-mobile-nav summary { list-style: none; cursor: pointer; color: #fff; font-size: 14px; font-weight: 700; padding: 10px; }
 .nrfk-mobile-nav summary::-webkit-details-marker { display: none; }
 .nrfk-mobile-nav summary span { margin-left: 12px; color: #42cfff; }
 .nrfk-mobile-nav > div { position: absolute; z-index: 100; top: 48px; right: 0; width: min(290px,calc(100vw - 30px)); display: flex; flex-direction: column; padding: 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: #111925; box-shadow: 0 20px 45px rgba(0,0,0,.35); }
 .nrfk-mobile-nav a { padding: 11px 13px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 13px; }
 .nrfk-service-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .nrfk-service-strip a { min-height: 130px; }
 .nrfk-next-grid { grid-template-columns: 1fr; }
 .nrfk-next-grid article { min-height: 240px; }
}
@media (max-width: 620px) {
 .nrfk-utility { justify-content: center; }
 .nrfk-utility > div { display: none; }
 .nrfk-hero-inner { padding: 76px 22px 80px; }
 .nrfk-hero h1 { font-size: clamp(48px,14vw,70px); }
 .nrfk-hero-points { gap: 9px; flex-direction: column; }
 .nrfk-service-strip { grid-template-columns: 1fr; }
 .nrfk-service-strip a { min-height: 100px; padding: 17px 22px; }
 .nrfk-next-steps { padding: 75px 22px; }
 .nrfk-footer { padding: 65px 22px 25px !important; }
 .nrfk-footer-top { grid-template-columns: 1fr 1fr; gap: 40px 20px; }
 .nrfk-footer-brand { grid-column: 1 / -1; }
 .nrfk-footer-bottom { flex-direction: column; margin-top: 55px; }
}

.nrfk-profile-menu { position: relative; }
.nrfk-profile-menu summary { list-style: none; cursor: pointer; padding: 11px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; font-size: 13px; font-weight: 700; }
.nrfk-profile-menu summary::-webkit-details-marker { display: none; }
.nrfk-profile-menu > div { position: absolute; z-index: 100; top: calc(100% + 8px); right: 0; min-width: 155px; display: grid; padding: 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: #111925; box-shadow: 0 20px 45px rgba(0,0,0,.3); }
.nrfk-profile-menu > div a { padding: 10px; color: #fff; }
.nrfk-profile-menu > div a:hover { background: rgba(66,207,255,.12); border-radius: 8px; }

/* Portal home and consistent client-area surfaces */
body > .container > .nrfk-footer { width: 100%; }
.nrfk-shell-header + .container { padding-bottom: 55px; }
.dashboard.nrfk-guest .nrfk-shell-header + .container { padding-bottom: 0; }
.nrfk-guest #wrapper { min-height: 0; }
#push { display: none; }
.nrfk-footer { clear: both; }
.content-block { padding-bottom: 8px; }
.nrfk-guest-main .content-block:not(:has(.nrfk-portal-welcome)) { padding-top: 8px; }
.nrfk-guest-main .content-block:not(:has(.nrfk-portal-welcome)) > .card,
.nrfk-guest-main .content-block:not(:has(.nrfk-portal-welcome)) > .row { max-width: 1440px; margin-inline: auto; }
.breadcrumb { color: var(--bs-secondary-color); }
.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { color: var(--bs-link-color); }
.card, .accordion-item, .list-group-item { box-shadow: none; }
.card { overflow: hidden; }
.card-header h1, .card-header h2, .card-header h3, .card-header h4, .card-header h5, .card-header h6 { margin: 0; }
.accordion { overflow: hidden; border: 1px solid var(--bs-border-color); border-radius: 16px; }
.accordion-item { border: 0; border-bottom: 1px solid var(--bs-border-color); border-radius: 0; }
.accordion-item:last-child { border-bottom: 0; }
.accordion-button { background: var(--bs-tertiary-bg); color: var(--bs-body-color); font-weight: 700; box-shadow: none !important; }
.accordion-button:not(.collapsed) { background: rgba(66,207,255,.1); color: var(--bs-body-color); }
.accordion-button:focus-visible { outline: 2px solid var(--nrfk-cyan); outline-offset: -2px; }
.list-group-item { background: var(--bs-secondary-bg); border-color: var(--bs-border-color); color: var(--bs-body-color); }
.list-group-item:hover { background: var(--bs-tertiary-bg); color: var(--bs-body-color); }
.form-control, .form-select, .input-group-text { color: var(--bs-body-color); }
.form-control::placeholder { color: var(--bs-secondary-color); opacity: .9; }
.table-responsive { border: 1px solid var(--bs-border-color); }
/* Public portal */
.nrfk-portal-welcome { max-width: 1440px; min-height: 610px; margin: auto; padding: clamp(65px,7vw,110px) clamp(25px,3vw,45px); display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(40px,6vw,95px); }
.nrfk-portal-copy .nrfk-dash-label, .nrfk-dashboard-intro .nrfk-dash-label { color: var(--nrfk-cyan); }
.nrfk-dash-label { margin: 0 0 22px; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.nrfk-dash-label::before { content: ""; display: inline-block; width: 27px; height: 2px; margin: 0 12px 4px 0; background: var(--nrfk-cyan); }
.nrfk-portal-copy h1 { max-width: 700px; margin: 0; color: var(--bs-body-color); font-size: clamp(55px,5.5vw,84px); line-height: .99; letter-spacing: -.067em; }
.nrfk-portal-copy h1 em { font-style: normal; color: var(--nrfk-cyan); }
.nrfk-portal-copy > p:not(.nrfk-dash-label) { max-width: 600px; margin: 29px 0 0; color: var(--bs-secondary-color); font-size: 17px; line-height: 1.7; }
.nrfk-portal-links { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 36px; }
.nrfk-portal-links > a:not(.nrfk-dash-primary) { color: var(--bs-body-color); text-decoration: none; border-bottom: 1px solid var(--bs-border-color); padding-bottom: 6px; font-size: 14px; font-weight: 700; }
.nrfk-portal-links > a:hover { color: var(--nrfk-cyan); }
.nrfk-dash-primary { display: inline-flex; justify-content: center; align-items: center; gap: 20px; min-height: 55px; padding: 0 22px; border-radius: 13px; color: #071018; background: linear-gradient(135deg,#42cfff,#248dff); box-shadow: 0 13px 30px rgba(36,141,255,.2); font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.nrfk-dash-primary:hover { color: #071018; transform: translateY(-2px); }
.nrfk-portal-panel { display: flex; flex-direction: column; min-height: 410px; padding: 27px; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: radial-gradient(circle at 82% 13%,rgba(66,207,255,.22),transparent 35%),linear-gradient(145deg,#121c2a,#1a2940 70%,#413589); color: #fff; box-shadow: 0 25px 55px rgba(0,0,0,.15); }
.nrfk-portal-panel-top { display: flex; justify-content: space-between; gap: 10px; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.nrfk-signal { color: #a8ebc7; letter-spacing: 0; font-size: 11px; }
.nrfk-portal-panel-main { margin: auto 0; }
.nrfk-portal-panel-main > span { color: #83dfff; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.nrfk-portal-panel-main h2 { max-width: 390px; margin: 15px 0; font-size: clamp(35px,3.2vw,48px); line-height: 1.04; letter-spacing: -.055em; }
.nrfk-portal-panel-main p { max-width: 380px; margin: 0; color: rgba(255,255,255,.64); font-size: 14px; line-height: 1.7; }
.nrfk-portal-panel-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.nrfk-portal-panel-foot a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; color: #fff; font-size: 12px; font-weight: 750; text-decoration: none; }
.nrfk-portal-panel-foot a:hover { background: rgba(255,255,255,.1); }
.nrfk-portal-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--bs-border-color); border-bottom: 1px solid var(--bs-border-color); }
.nrfk-portal-paths a { display: grid; grid-template-columns: 1fr auto; align-content: center; min-height: 180px; padding: 28px clamp(25px,3vw,45px); color: var(--bs-body-color); text-decoration: none; border-right: 1px solid var(--bs-border-color); }
.nrfk-portal-paths a:hover { background: var(--bs-secondary-bg); }
.nrfk-portal-paths a:last-child { border-right: 0; }
.nrfk-portal-paths span { color: var(--bs-link-color); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.nrfk-portal-paths strong { grid-column: 1; margin: 14px 0 5px; font-size: 21px; letter-spacing: -.035em; }
.nrfk-portal-paths small { grid-column: 1; color: var(--bs-secondary-color); font-size: 13px; }
.nrfk-portal-paths b { grid-column: 2; grid-row: 1 / 4; align-self: center; color: var(--bs-link-color); }
/* Signed-in dashboard */
.nrfk-dashboard-intro { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin: 12px 0 28px; padding: 42px; border-radius: 26px; border: 1px solid rgba(66,207,255,.16); background: radial-gradient(circle at 86% 15%,rgba(66,207,255,.14),transparent 32%),linear-gradient(130deg,#101925,#18273a); color: #fff; }
.nrfk-dashboard-intro h1 { margin: 0; color: #fff; font-size: clamp(36px,4vw,58px); line-height: 1.06; letter-spacing: -.055em; }
.nrfk-dashboard-intro p:last-child { margin: 14px 0 0; color: rgba(255,255,255,.65); font-size: 14px; }
.nrfk-action-alert { display: flex; justify-content: space-between; gap: 15px; margin: 0 0 22px; padding: 17px 20px; border: 1px solid rgba(66,207,255,.28); border-radius: 14px; background: rgba(66,207,255,.11); }
.nrfk-action-alert a { color: var(--bs-link-color); font-weight: 700; }
.nrfk-stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin-bottom: 22px; }
.nrfk-stat-grid a { display: flex; flex-direction: column; min-height: 180px; padding: 23px; border: 1px solid var(--bs-border-color); border-radius: 21px; background: var(--bs-secondary-bg); color: var(--bs-body-color); text-decoration: none; }
.nrfk-stat-grid a:hover { border-color: rgba(66,207,255,.5); }
.nrfk-stat-grid span, .nrfk-panel-head span { color: var(--bs-link-color); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.nrfk-stat-grid strong { margin: auto 0 10px; font-size: 48px; line-height: 1; letter-spacing: -.06em; }
.nrfk-stat-grid small { display: flex; justify-content: space-between; color: var(--bs-secondary-color); font-size: 12px; }
.nrfk-stat-grid b { color: var(--bs-link-color); }
.nrfk-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.nrfk-dash-panel { min-width: 0; border: 1px solid var(--bs-border-color); border-radius: 21px; background: var(--bs-secondary-bg); overflow: hidden; }
.nrfk-panel-head { display: flex; justify-content: space-between; align-items: end; gap: 10px; padding: 24px; border-bottom: 1px solid var(--bs-border-color); }
.nrfk-panel-head h2 { margin: 7px 0 0; font-size: 23px; }
.nrfk-panel-head a, .nrfk-empty a { color: var(--bs-link-color); font-size: 12px; font-weight: 700; text-decoration: none; }
.nrfk-activity-list > a { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 17px 24px; border-bottom: 1px solid var(--bs-border-color); color: var(--bs-body-color); text-decoration: none; }
.nrfk-activity-list > a:last-child { border-bottom: 0; }
.nrfk-activity-list > a:hover { background: var(--bs-tertiary-bg); }
.nrfk-activity-list strong, .nrfk-activity-list small { display: block; }
.nrfk-activity-list strong { font-size: 13px; overflow-wrap: anywhere; }
.nrfk-activity-list small { margin-top: 5px; color: var(--bs-secondary-color); font-size: 11px; }
.nrfk-empty { padding: 26px 24px; }
.nrfk-empty p { margin: 0 0 10px; color: var(--bs-secondary-color); font-size: 13px; }
.nrfk-account-bottom { display: flex; justify-content: space-between; gap: 12px; margin: 23px 0; color: var(--bs-secondary-color); font-size: 12px; }
.nrfk-account-bottom span { overflow-wrap: anywhere; }
.nrfk-account-bottom a { color: var(--bs-link-color); white-space: nowrap; text-decoration: none; }
@media (max-width: 950px) { .nrfk-portal-welcome { grid-template-columns: 1fr; min-height: auto; } .nrfk-portal-panel { min-height: 320px; } .nrfk-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .nrfk-portal-welcome { padding: 60px 22px; gap: 40px; } .nrfk-portal-copy h1 { font-size: clamp(48px,13vw,68px); } .nrfk-portal-paths { grid-template-columns: 1fr; } .nrfk-portal-paths a { min-height: 130px; border-right: 0; border-bottom: 1px solid var(--bs-border-color); } .nrfk-dashboard-intro { flex-direction: column; align-items: start; padding: 27px; } .nrfk-stat-grid { grid-template-columns: 1fr; } .nrfk-stat-grid a { min-height: 145px; } .nrfk-account-bottom { flex-direction: column; } }

/* Sidebar links deliberately avoid Huraga's .nav-link hover/active rules. */
.nrfk-sidebar { position: sticky; top: 24px; padding: 20px 12px; border: 1px solid var(--bs-border-color); border-radius: 22px; background: var(--bs-secondary-bg); }
.nrfk-side-heading { margin: 6px 13px 11px; color: var(--bs-secondary-color); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.nrfk-side-heading-second { margin-top: 27px; }
.nrfk-sidebar nav { display: grid; gap: 3px; }
.nrfk-side-link { position: relative; display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 10px 13px; border: 1px solid transparent; border-radius: 12px; color: var(--bs-secondary-color); font-size: 13px; font-weight: 700; text-decoration: none; transition: color .16s ease,background .16s ease,border-color .16s ease; }
.nrfk-side-link .icon { width: 18px; height: 18px; flex: 0 0 18px; color: var(--bs-secondary-color); }
.nrfk-side-link b { margin-left: auto; opacity: 0; color: var(--bs-link-color); font-size: 12px; font-weight: 500; transition: opacity .16s ease; }
.nrfk-side-link:hover, .nrfk-side-link:focus-visible { background: var(--bs-tertiary-bg); border-color: var(--bs-border-color); color: var(--bs-body-color); text-decoration: none; }
.nrfk-side-link:hover .icon, .nrfk-side-link:focus-visible .icon { color: var(--bs-link-color); }
.nrfk-side-link:hover b, .nrfk-side-link:focus-visible b { opacity: 1; }
.nrfk-side-link.is-active { background: rgba(66,207,255,.1); border-color: rgba(66,207,255,.19); color: var(--bs-body-color); }
.nrfk-side-link.is-active::before { content: ""; position: absolute; left: 0; top: 11px; bottom: 11px; width: 2px; border-radius: 2px; background: var(--nrfk-cyan); }
.nrfk-side-link.is-active .icon { color: var(--bs-link-color); }
.nrfk-side-balance, .nrfk-side-note { margin: 26px 12px 2px; padding-top: 17px; border-top: 1px solid var(--bs-border-color); }
.nrfk-side-balance span { display: block; margin-bottom: 8px; color: var(--bs-secondary-color); font-size: 10px; font-weight: 800; letter-spacing: .11em; }
.nrfk-side-balance strong { font-size: 23px; letter-spacing: -.04em; }
.nrfk-side-note strong { font-size: 13px; }
.nrfk-side-note p { margin: 8px 0 0; color: var(--bs-secondary-color); font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .nrfk-side-link,.nrfk-side-link b { transition: none; } }

/* Rich text forms and ticket/payment dialogs */
.ck.ck-editor { width: 100%; max-width: 100%; }
.ck.ck-editor__main > .ck-editor__editable,
.ck.ck-editor__editable_inline { min-height: 220px !important; max-height: min(55vh, 520px); overflow-y: auto; }
#open-ticket-modal .ck.ck-editor__main > .ck-editor__editable { min-height: 260px !important; }
.ck.ck-toolbar { border-radius: 12px 12px 0 0 !important; }
.ck.ck-editor__editable { border-radius: 0 0 12px 12px !important; }
[data-bs-theme="dark"] .ck.ck-editor__editable { background: #111925 !important; color: #f5f7fb !important; }
[data-bs-theme="dark"] .ck.ck-toolbar { background: #182231 !important; border-color: rgba(255,255,255,.2) !important; }
[data-bs-theme="dark"] .ck.ck-toolbar .ck-button { color: #f5f7fb !important; }
[data-bs-theme="dark"] .ck.ck-toolbar .ck-button:hover,
[data-bs-theme="dark"] .ck.ck-toolbar .ck-button.ck-on { background: #28394f !important; }
[data-bs-theme="dark"] .ck.ck-editor__editable.ck-focused { border-color: #42cfff !important; }
#open-ticket-modal .modal-dialog { max-width: min(880px, calc(100vw - 32px)); width: min(880px, calc(100vw - 32px)); }
#paymentPrompt .modal-dialog { max-width: min(800px, calc(100vw - 32px)); width: min(800px, calc(100vw - 32px)); }
#open-ticket-modal .modal-content { max-height: calc(100dvh - 42px); display: flex; overflow: hidden; }
#open-ticket-modal .modal-content > form { min-height: 0; display: flex; flex-direction: column; }
#open-ticket-modal .modal-body { padding: 26px 30px; overflow-y: auto; min-height: 0; }
#open-ticket-modal .modal-header, #open-ticket-modal .modal-footer { padding: 18px 30px; flex: 0 0 auto; }
#open-ticket-modal .modal-title { font-size: 22px; font-weight: 750; }
#open-ticket-modal .modal-footer { border-color: var(--bs-border-color); }
#open-ticket-modal textarea.editor-textarea { min-height: 220px; }
#public-ticket-create .ck.ck-editor__editable_inline { min-height: 240px !important; }
body > .container:has(.row.h-75) { padding-inline: 12px; }
@media (max-width: 600px) {
 #open-ticket-modal .modal-dialog, #paymentPrompt .modal-dialog { width: calc(100vw - 24px); max-width: calc(100vw - 24px); margin: 12px auto; }
 #open-ticket-modal .modal-content { max-height: calc(100dvh - 24px); }
 #open-ticket-modal .modal-body, #open-ticket-modal .modal-header, #open-ticket-modal .modal-footer { padding-inline: 18px; }
 .ck.ck-editor__main > .ck-editor__editable, .ck.ck-editor__editable_inline { min-height: 180px !important; }
 #open-ticket-modal .ck.ck-editor__main > .ck-editor__editable { min-height: 200px !important; }
}

/* Knowledge base: a quieter reading surface in both appearances. */
body.kb-article .kb-article-content { font-family: var(--bs-font-sans-serif); color: var(--bs-body-color); color-scheme: inherit; }
body.kb-article .kb-article-content a { color: var(--bs-link-color); }
body.kb-article .kb-article-content h1,
body.kb-article .kb-article-content h2,
body.kb-article .kb-article-content h3,
body.kb-article .kb-article-content h4 { color: var(--bs-body-color); border-color: var(--bs-border-color); }
body.kb-article .kb-article-content hr { background-color: var(--bs-border-color); }
body.kb-article .kb-article-content blockquote { color: var(--bs-secondary-color); border-color: var(--bs-border-color); }
body.kb-article .kb-article-content :is(code, pre, kbd, .highlight pre) { background-color: var(--bs-tertiary-bg); color: var(--bs-body-color); }
body.kb-article .kb-article-content :is(table tr, table th, table td) { background-color: transparent; border-color: var(--bs-border-color); color: var(--bs-body-color); }
[data-bs-theme="light"] body.kb-article .col-lg-9 > .card:has(.kb-article-content),
[data-bs-theme="light"] body.kb-article aside .card { background: #e9eff1; border: 1px solid #d4e0e5 !important; box-shadow: none !important; }
[data-bs-theme="light"] body.kb-article aside .list-group-item { background: #e9eff1; }
[data-bs-theme="light"] body.kb-article .col-lg-9 > .card.bg-light { background: #ddebf0 !important; border: 1px solid #cbdde5 !important; }
[data-bs-theme="dark"] body.kb-article .col-lg-9 > .card.bg-light { background: #142231 !important; }
