/*
 * KernWi-Fi Client Portal
 * WHMCS child theme
 * Parent: Twenty-One
 * Environment: portal-staging only
 *
 * Do not insert credentials, customer data or application logic here.
 */

:root {
    /*
     * KernWi-Fi design tokens.
     * Exact Website V4 values will be inserted after asset inspection.
     */

    --kw-colour-primary: #1268b3;
    --kw-colour-primary-dark: #0b477d;
    --kw-colour-primary-light: #eaf4fc;

    --kw-colour-surface: #ffffff;
    --kw-colour-page: #f4f7fa;
    --kw-colour-border: #d9e1e8;

    --kw-colour-text: #17232d;
    --kw-colour-text-muted: #60717f;

    --kw-colour-success: #237a4b;
    --kw-colour-warning: #9a6400;
    --kw-colour-danger: #b42318;

    --kw-radius-small: 6px;
    --kw-radius-medium: 10px;
    --kw-radius-large: 14px;

    --kw-shadow-card: 0 6px 20px rgba(16, 40, 58, 0.08);
}

/*
 * First-pass styling will be added after the unmodified child theme
 * has been previewed successfully.
 */


/* ==========================================================================
   Kern Theme Revision 1
   CSS-only visual foundation for WHMCS Twenty-One
   Environment: portal-staging.kernwifi.com.au
   ========================================================================== */

/* Page foundation */

html {
    background: var(--kw-colour-page);
}

body {
    color: var(--kw-colour-text);
    background: var(--kw-colour-page);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;
}

a {
    color: var(--kw-colour-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

a:hover,
a:focus {
    color: var(--kw-colour-primary-dark);
}

/* Content width and spacing */

.container {
    width: min(100% - 32px, 1220px);
    max-width: 1220px;
}

section#main-body,
#main-body {
    min-height: 580px;
    padding-top: 28px;
    padding-bottom: 56px;
    background: var(--kw-colour-page);
}

.main-content {
    min-width: 0;
}

/* Header and brand area */

header.header,
.header {
    background: var(--kw-colour-surface);
    border-bottom: 1px solid var(--kw-colour-border);
    box-shadow: 0 2px 10px rgba(16, 40, 58, 0.04);
}

header.header .logo-img,
.header .logo-img,
.logo-img {
    display: block;
    width: auto;
    max-width: 220px;
    max-height: 72px;
    object-fit: contain;
}

.header .container {
    padding-top: 16px;
    padding-bottom: 16px;
}

/* Upper account bar */

.top-nav {
    color: rgba(255, 255, 255, 0.86);
    background: #26343f;
    border: 0;
}

.top-nav a {
    color: #ffffff;
}

.top-nav a:hover,
.top-nav a:focus {
    color: #bce4ff;
}

.top-nav .container {
    min-height: 40px;
}

/* Main navigation */

.navbar-main,
.navbar {
    border: 0;
    border-radius: 0;
}

.navbar-main {
    background: linear-gradient(
        100deg,
        var(--kw-colour-primary-dark) 0%,
        var(--kw-colour-primary) 68%,
        #1685d1 100%
    );
    box-shadow: 0 5px 16px rgba(11, 71, 125, 0.15);
}

.navbar-main .navbar-nav > li > a,
.navbar-main .navbar-nav .nav-link,
.navbar-main a {
    color: rgba(255, 255, 255, 0.94);
    font-weight: 600;
    letter-spacing: 0.005em;
}

.navbar-main .navbar-nav > li > a:hover,
.navbar-main .navbar-nav > li > a:focus,
.navbar-main .navbar-nav > .active > a,
.navbar-main .navbar-nav .nav-link:hover,
.navbar-main .navbar-nav .nav-link:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
}

.navbar-main .dropdown-menu {
    padding: 8px;
    border: 1px solid var(--kw-colour-border);
    border-radius: var(--kw-radius-medium);
    box-shadow: var(--kw-shadow-card);
}

.navbar-main .dropdown-menu a,
.navbar-main .dropdown-item {
    color: var(--kw-colour-text);
    border-radius: var(--kw-radius-small);
}

.navbar-main .dropdown-menu a:hover,
.navbar-main .dropdown-item:hover {
    color: var(--kw-colour-primary-dark);
    background: var(--kw-colour-primary-light);
}

/* Breadcrumbs */

.breadcrumb {
    margin-bottom: 22px;
    padding: 0;
    color: var(--kw-colour-text-muted);
    background: transparent;
    border: 0;
}

.breadcrumb a {
    color: var(--kw-colour-primary);
    font-weight: 600;
}

/* Page headings */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--kw-colour-text);
    font-weight: 700;
    line-height: 1.25;
}

h1,
.h1 {
    font-size: clamp(1.8rem, 2.8vw, 2.4rem);
}

h2,
.h2 {
    font-size: clamp(1.5rem, 2.2vw, 1.9rem);
}

h3,
.h3 {
    font-size: 1.3rem;
}

/* Cards and panels */

.card,
.panel,
.list-group,
.domain-renewals,
.tiles .tile,
.client-home-panels .panel,
.dashboard-widget {
    overflow: hidden;
    background: var(--kw-colour-surface);
    border: 1px solid var(--kw-colour-border);
    border-radius: var(--kw-radius-medium);
    box-shadow: var(--kw-shadow-card);
}

.card-header,
.card-footer,
.panel-heading,
.panel-footer {
    color: var(--kw-colour-text);
    background: #f8fafc;
    border-color: var(--kw-colour-border);
}

.card-header,
.panel-heading {
    padding: 14px 18px;
    font-weight: 700;
}

.card-body,
.panel-body {
    padding: 18px;
}

.panel-title {
    color: var(--kw-colour-text);
    font-weight: 700;
}

/* Sidebar */

.sidebar .panel,
.sidebar .card,
.sidebar .list-group {
    margin-bottom: 16px;
    box-shadow: 0 3px 12px rgba(16, 40, 58, 0.06);
}

.sidebar .panel-heading,
.sidebar .card-header {
    color: var(--kw-colour-primary-dark);
    background: #f7fafc;
    border-bottom: 1px solid var(--kw-colour-border);
}

.sidebar .list-group-item,
.list-group-item {
    color: var(--kw-colour-text);
    background: var(--kw-colour-surface);
    border-color: var(--kw-colour-border);
}

.sidebar .list-group-item:hover,
.sidebar .list-group-item:focus,
.list-group-item-action:hover {
    color: var(--kw-colour-primary-dark);
    background: var(--kw-colour-primary-light);
}

/* Dashboard tiles */

.tiles {
    gap: 12px;
}

.tiles .tile {
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

.tiles .tile:hover {
    transform: translateY(-2px);
    border-color: #b6cfdf;
    box-shadow: 0 10px 24px rgba(16, 40, 58, 0.12);
}

.tiles .tile .stat {
    color: var(--kw-colour-primary-dark);
    font-weight: 700;
}

.tiles .tile .title {
    color: var(--kw-colour-text-muted);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Forms */

.form-control,
.custom-select,
select.form-control,
textarea.form-control,
input.form-control {
    min-height: 42px;
    color: var(--kw-colour-text);
    background: var(--kw-colour-surface);
    border: 1px solid #bdcbd5;
    border-radius: var(--kw-radius-small);
    box-shadow: none;
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}

textarea.form-control {
    min-height: 116px;
}

.form-control:focus,
.custom-select:focus,
select.form-control:focus,
textarea.form-control:focus,
input.form-control:focus {
    border-color: var(--kw-colour-primary);
    box-shadow: 0 0 0 3px rgba(18, 104, 179, 0.14);
}

.form-control::placeholder {
    color: #82929e;
}

label,
.col-form-label {
    color: var(--kw-colour-text);
    font-weight: 650;
}

/* Buttons */

.btn {
    min-height: 40px;
    padding: 9px 17px;
    border-radius: var(--kw-radius-small);
    font-weight: 700;
    line-height: 1.2;
    transition:
        transform 150ms ease,
        box-shadow 150ms ease,
        background-color 150ms ease,
        border-color 150ms ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:focus {
    box-shadow: 0 0 0 3px rgba(18, 104, 179, 0.18);
}

.btn-primary {
    color: #ffffff;
    background: var(--kw-colour-primary);
    border-color: var(--kw-colour-primary);
    box-shadow: 0 4px 10px rgba(18, 104, 179, 0.18);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active {
    color: #ffffff;
    background: var(--kw-colour-primary-dark);
    border-color: var(--kw-colour-primary-dark);
}

.btn-success {
    color: #ffffff;
    background: var(--kw-colour-success);
    border-color: var(--kw-colour-success);
}

.btn-danger {
    color: #ffffff;
    background: var(--kw-colour-danger);
    border-color: var(--kw-colour-danger);
}

.btn-default,
.btn-secondary,
.btn-light {
    color: var(--kw-colour-primary-dark);
    background: #ffffff;
    border-color: #b9c8d3;
}

.btn-default:hover,
.btn-secondary:hover,
.btn-light:hover {
    color: var(--kw-colour-primary-dark);
    background: var(--kw-colour-primary-light);
    border-color: #8db4cf;
}

/* Alerts and notices */

.alert {
    padding: 14px 18px;
    border-width: 1px;
    border-radius: var(--kw-radius-medium);
}

.alert-info {
    color: #0b5366;
    background: #e8f8fb;
    border-color: #addfe9;
}

.alert-success {
    color: #235e3d;
    background: #edf8f1;
    border-color: #b8dfc7;
}

.alert-warning {
    color: #725000;
    background: #fff8df;
    border-color: #ead58a;
}

.alert-danger {
    color: #842018;
    background: #fff0ee;
    border-color: #efb8b2;
}

/* Development licence notice remains deliberately visible */

.license-notice,
.alert-license {
    border-radius: var(--kw-radius-small);
}

/* Tables */

.table {
    color: var(--kw-colour-text);
    background: var(--kw-colour-surface);
}

.table thead th {
    color: var(--kw-colour-primary-dark);
    background: #f1f6f9;
    border-top: 0;
    border-bottom: 2px solid #b9cedc;
    font-size: 0.82rem;
    font-weight: 750;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.table td,
.table th {
    padding: 13px 15px;
    vertical-align: middle;
    border-color: var(--kw-colour-border);
}

.table-hover tbody tr:hover {
    background: #f3f8fb;
}

/* Badges */

.badge,
.label {
    padding: 5px 9px;
    border-radius: 999px;
    font-weight: 700;
}

/* Pagination */

.page-link,
.pagination > li > a,
.pagination > li > span {
    color: var(--kw-colour-primary);
    background: #ffffff;
    border-color: var(--kw-colour-border);
}

.page-item.active .page-link,
.pagination > .active > a,
.pagination > .active > span {
    color: #ffffff;
    background: var(--kw-colour-primary);
    border-color: var(--kw-colour-primary);
}

/* Search field */

.header .form-control,
.header input[type="search"],
.header input[type="text"] {
    border-color: var(--kw-colour-border);
    border-radius: var(--kw-radius-medium);
}

/* Maintenance and announcement strip */

.announcement-single,
.maintenance-notice,
.network-issues {
    border-radius: 0;
}

/* Footer */

footer.footer,
.footer {
    color: #c8d4dc;
    background: #172a38;
    border-top: 3px solid var(--kw-colour-primary);
}

footer.footer a,
.footer a {
    color: #ffffff;
}

footer.footer a:hover,
.footer a:hover {
    color: #a8ddff;
}

/* Accessibility */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(18, 104, 179, 0.38);
    outline-offset: 2px;
}

/* Responsive adjustments */

@media (max-width: 991.98px) {
    .container {
        width: min(100% - 24px, 1220px);
    }

    section#main-body,
    #main-body {
        padding-top: 20px;
        padding-bottom: 40px;
    }

    .header .container {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    header.header .logo-img,
    .header .logo-img,
    .logo-img {
        max-width: 190px;
        max-height: 62px;
    }

    .sidebar {
        margin-bottom: 22px;
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: 14px;
    }

    .container {
        width: min(100% - 20px, 1220px);
    }

    .card-body,
    .panel-body {
        padding: 15px;
    }

    .card-header,
    .panel-heading {
        padding: 12px 15px;
    }

    .btn {
        white-space: normal;
    }

    .table-responsive {
        border: 1px solid var(--kw-colour-border);
        border-radius: var(--kw-radius-medium);
    }

    .tiles .tile {
        margin-bottom: 10px;
    }
}

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

/* End Kern Theme Revision 1 */


/* ========================================================================
   Kern Theme Revision 2B
   Customer Portal structural shell
   ======================================================================== */

:root {
    --kw-rail-width: 286px;
    --kw-header-height: 76px;
    --kw-rail-bg: #102838;
    --kw-rail-bg-deep: #0a1f2c;
    --kw-rail-text: #d9e6ed;
    --kw-rail-muted: #88a7b8;
    --kw-rail-active: #1678c2;
}

body {
    overflow-x: hidden;
}

.kw-portal-shell {
    min-height: 100vh;
}

.kw-portal-rail {
    position: fixed;
    z-index: 1040;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: var(--kw-rail-width);
    flex-direction: column;
    color: var(--kw-rail-text);
    background: linear-gradient(180deg, var(--kw-rail-bg) 0%, var(--kw-rail-bg-deep) 100%);
    box-shadow: 8px 0 28px rgba(5, 24, 37, 0.16);
}

.kw-rail-brand {
    padding: 26px 22px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.kw-rail-brand-link {
    display: block;
    color: #fff;
    text-decoration: none;
}

.kw-rail-logo {
    display: block;
    width: auto;
    max-width: 210px;
    max-height: 72px;
    filter: brightness(0) invert(1);
}

.kw-rail-company {
    display: block;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 700;
}

.kw-rail-context {
    display: block;
    margin-top: 9px;
    color: var(--kw-rail-muted);
    font-size: 0.70rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.kw-rail-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 18px 14px;
}

.kw-rail-section + .kw-rail-section {
    margin-top: 22px;
}

.kw-rail-heading {
    padding: 0 14px 8px;
    color: var(--kw-rail-muted);
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.kw-rail-menu,
.kw-rail-children {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kw-rail-item,
.kw-rail-child {
    display: block !important;
    width: 100%;
    margin: 2px 0;
    padding: 0;
    background: transparent;
}

.kw-rail-link,
.kw-rail-child > a,
.kw-rail-footer > a {
    display: flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    gap: 11px;
    padding: 9px 14px;
    color: var(--kw-rail-text);
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
}

.kw-rail-link:hover,
.kw-rail-link:focus,
.kw-rail-child > a:hover,
.kw-rail-child > a:focus,
.kw-rail-footer > a:hover,
.kw-rail-footer > a:focus {
    color: #fff;
    background: rgba(255, 255, 255, 0.09);
    text-decoration: none;
}

.kw-rail-item.active > .kw-rail-link,
.kw-rail-child.active > a {
    color: #fff;
    background: var(--kw-rail-active);
    box-shadow: 0 5px 14px rgba(0, 87, 153, 0.26);
}

.kw-rail-label {
    min-width: 0;
    flex: 1 1 auto;
}

.kw-rail-icon {
    width: 18px;
    flex: 0 0 18px;
    text-align: center;
}

.kw-rail-chevron {
    margin-left: auto;
    font-size: 0.72rem;
    transition: transform 160ms ease;
}

.kw-rail-link[aria-expanded="true"] .kw-rail-chevron {
    transform: rotate(180deg);
}

.kw-rail-badge {
    margin-left: auto;
    padding: 2px 7px;
    color: #fff;
    background: var(--kw-rail-active);
    border-radius: 999px;
    font-size: 0.68rem;
}

.kw-rail-children {
    margin: 4px 0 8px 12px;
    padding: 5px;
    background: rgba(0, 0, 0, 0.17);
    border-radius: 8px;
}

.kw-rail-child > a {
    min-height: 36px;
    padding: 7px 10px;
    color: #bfd1dc;
    font-size: 0.88rem;
    white-space: normal;
}

.kw-rail-footer {
    padding: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.kw-portal-main {
    min-height: 100vh;
    margin-left: var(--kw-rail-width);
}

.kw-portal-header {
    position: sticky;
    z-index: 1025;
    top: 0;
    min-height: var(--kw-header-height);
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid var(--kw-colour-border, #d9e1e6);
    box-shadow: 0 3px 14px rgba(16, 40, 58, 0.06);
    backdrop-filter: blur(12px);
}

.kw-portal-header-inner {
    display: flex;
    min-height: var(--kw-header-height);
    align-items: center;
    gap: 14px;
    padding: 12px 28px;
}

.kw-header-page {
    display: flex;
    min-width: 180px;
    flex-direction: column;
}

.kw-header-context,
.kw-header-account-label {
    color: var(--kw-colour-text-muted, #6f7f89);
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.kw-header-title {
    overflow: hidden;
    color: var(--kw-colour-text, #173142);
    font-size: 1.06rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kw-header-search {
    width: min(360px, 32vw);
}

.kw-header-search .input-group {
    width: 100%;
}

.kw-header-action,
.kw-rail-toggle {
    position: relative;
    display: inline-flex;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--kw-colour-primary-dark, #0f527d);
    background: #f5f8fa;
    border: 1px solid var(--kw-colour-border, #d9e1e6);
}

.kw-header-action:hover,
.kw-header-action:focus,
.kw-rail-toggle:hover,
.kw-rail-toggle:focus {
    color: #fff;
    background: var(--kw-colour-primary, #1678c2);
    border-color: var(--kw-colour-primary, #1678c2);
}

.kw-header-action-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    padding: 2px 5px;
    color: #fff;
    background: var(--kw-colour-primary, #1678c2);
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: 0.67rem;
    line-height: 1.2;
}

.kw-header-account {
    display: flex;
    max-width: 230px;
    flex-direction: column;
    padding: 5px 2px;
    color: var(--kw-colour-text, #173142);
    text-decoration: none;
}

.kw-header-account strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kw-header-account:hover,
.kw-header-account:focus {
    color: var(--kw-colour-primary, #1678c2);
    text-decoration: none;
}

.kw-return-admin {
    width: auto;
    min-width: 42px;
    padding: 0 12px;
    gap: 8px;
}

.kw-portal-main .master-breadcrumb,
.kw-portal-main section#main-body,
.kw-portal-main footer.footer,
.kw-portal-main .network-issues-notifications {
    margin-left: 0;
}

.kw-portal-main .master-breadcrumb .container,
.kw-portal-main section#main-body > .container,
.kw-portal-main footer.footer > .container {
    max-width: 1280px;
}

@media (min-width: 1200px) {
    #kwPortalRail.collapse {
        display: flex !important;
    }
}

@media (max-width: 1199.98px) {
    .kw-portal-rail {
        width: min(88vw, 310px);
        transform: translateX(-105%);
        transition: transform 180ms ease;
    }

    .kw-portal-rail.show {
        transform: translateX(0);
    }

    .kw-portal-main {
        margin-left: 0;
    }

    .kw-portal-header-inner {
        padding-right: 18px;
        padding-left: 18px;
    }
}

@media (max-width: 767.98px) {
    .kw-portal-header-inner {
        gap: 9px;
        padding: 10px 12px;
    }

    .kw-header-page {
        min-width: 0;
        flex: 1 1 auto;
    }

    .kw-header-title {
        font-size: 0.95rem;
    }

    .kw-header-account {
        display: none;
    }

    .kw-header-action,
    .kw-rail-toggle {
        width: 39px;
        min-width: 39px;
        height: 39px;
        min-height: 39px;
    }
}

/* End Kern Theme Revision 2B */

/* ==========================================================================
   Kern Theme Revision 2C
   Compact Website V4 portal footer
   ========================================================================== */

.kw-portal-footer {
    width: 100%;
    margin: 0;
    padding: 0;
    color: #d8e6ef;
    background: linear-gradient(100deg, #102838 0%, #0b2231 52%, #071b29 100%);
    border-top: 1px solid rgba(91, 194, 255, 0.28);
}

.kw-footer-inner {
    width: min(100% - 40px, 1240px);
    margin: 0 auto;
    padding: 16px 0 10px;
}

.kw-footer-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px 11px;
}

.kw-footer-link {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 7px;
    color: #edf7fc;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
    transition: color 150ms ease, transform 150ms ease;
}

.kw-footer-link i {
    width: 16px;
    color: #59bdf2;
    font-size: 0.82rem;
    text-align: center;
}

.kw-footer-link:hover,
.kw-footer-link:focus {
    color: #8cd8ff;
    text-decoration: none;
    transform: translateY(-1px);
}

.kw-footer-separator {
    color: rgba(91, 194, 255, 0.44);
    font-size: 0.7rem;
}

.kw-footer-lower {
    position: relative;
    display: flex;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.kw-footer-copyright {
    margin: 0;
    color: #82a2b5;
    font-size: 0.69rem;
    font-weight: 500;
    text-align: center;
}

.kw-footer-locale {
    position: absolute;
    right: 0;
    min-height: 28px;
    padding: 4px 9px;
    color: #bcd0dc;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 5px;
    font-size: 0.68rem;
    font-weight: 650;
}

.kw-footer-locale:hover,
.kw-footer-locale:focus {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(91, 194, 255, 0.35);
}

.kw-portal-main {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

.kw-portal-main > #main-body {
    width: 100%;
    flex: 1 0 auto;
}

.kw-portal-main > .kw-portal-footer {
    flex: 0 0 auto;
}

@media (max-width: 991.98px) {
    .kw-footer-inner {
        width: min(100% - 28px, 1240px);
    }

    .kw-footer-lower {
        flex-direction: column;
        gap: 7px;
        margin-top: 8px;
    }

    .kw-footer-locale {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .kw-footer-inner {
        width: min(100% - 24px, 1240px);
        padding: 16px 0 12px;
    }

    .kw-footer-toolbar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .kw-footer-link {
        width: 100%;
        min-height: 38px;
        justify-content: flex-start;
        padding: 6px 8px;
        border-radius: 6px;
        white-space: normal;
    }

    .kw-footer-separator {
        display: none;
    }

    .kw-footer-lower {
        align-items: flex-start;
        padding: 8px;
    }

    .kw-footer-copyright {
        width: 100%;
        text-align: left;
    }
}

/* End Kern Theme Revision 2C */

/* ==========================================================================
   Kern Theme Revision 2D
   Left navigation SVG icons
   ========================================================================== */

.kw-rail-svg-wrap {
    display: inline-flex;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    color: #79bee6;
}

.kw-rail-svg {
    display: block;
    width: 20px;
    height: 20px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kw-rail-link:hover .kw-rail-svg-wrap,
.kw-rail-link:focus .kw-rail-svg-wrap,
.kw-rail-link[aria-expanded="true"] .kw-rail-svg-wrap,
.kw-rail-item.active > .kw-rail-link .kw-rail-svg-wrap {
    color: #ffffff;
}

.kw-rail-svg-wrap-child {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
    margin-right: 9px;
    color: #8fb8ce;
    opacity: 0.9;
}

.kw-rail-svg-wrap-child .kw-rail-svg {
    width: 16px;
    height: 16px;
    stroke-width: 1.7;
}

.kw-rail-child > a {
    display: flex;
    align-items: center;
}

.kw-rail-label {
    min-width: 0;
    flex: 1 1 auto;
}

.kw-rail-chevron {
    margin-left: auto;
    transition: transform 160ms ease;
}

.kw-rail-link[aria-expanded="true"] .kw-rail-chevron {
    transform: rotate(180deg);
}

/* End Kern Theme Revision 2D SVG icons */

/* ==========================================================================
   Kern Theme Revision 2D
   Top utility toolbar refinement
   ========================================================================== */

.kw-portal-header {
    min-height: 72px;
}

.kw-portal-header-inner {
    width: 100%;
    min-height: 72px;
    padding: 10px 24px;
    gap: 10px;
}

.kw-header-page {
    min-width: 180px;
    max-width: 280px;
    flex: 0 1 280px;
}

.kw-header-context {
    margin-bottom: 2px;
    font-size: 0.65rem;
    letter-spacing: 0.11em;
}

.kw-header-title {
    font-size: 1rem;
    line-height: 1.2;
}

.kw-header-search {
    width: clamp(300px, 27vw, 420px);
    margin-left: auto !important;
}

.kw-header-search .form-control {
    height: 42px;
    min-height: 42px;
    border-radius: 0 7px 7px 0;
}

.kw-header-search .input-group-prepend .btn {
    width: 44px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 7px 0 0 7px;
}

.kw-header-action,
.kw-rail-toggle {
    position: relative;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    flex: 0 0 42px;
    padding: 0;
    border-radius: 7px;
}

.kw-header-action-badge {
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 1px 4px;
    line-height: 12px;
}

.kw-header-account {
    display: inline-flex;
    min-width: 0;
    max-width: 220px;
    height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    color: var(--kw-colour-text);
    background: #ffffff;
    border: 1px solid var(--kw-colour-border);
    border-radius: 7px;
    text-decoration: none;
}

.kw-header-account-label {
    display: none;
}

.kw-header-account strong {
    overflow: hidden;
    font-size: 0.82rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kw-header-account:hover,
.kw-header-account:focus {
    color: var(--kw-colour-primary-dark);
    background: var(--kw-colour-primary-light);
    text-decoration: none;
}

.kw-portal-header a[title="Switch Account"] {
    color: var(--kw-colour-primary-dark);
}

.kw-portal-header a[href*="returntoadmin=1"] {
    width: auto;
    min-width: 42px;
    max-width: 190px;
    padding: 0 12px;
    color: #3d5261;
    background: #f4f7f9;
    border-color: #cbd7df;
    font-size: 0.78rem;
    white-space: nowrap;
}

.kw-portal-header a[href*="returntoadmin=1"]:hover,
.kw-portal-header a[href*="returntoadmin=1"]:focus {
    color: #ffffff;
    background: #466273;
    border-color: #466273;
}

@media (min-width: 1500px) {
    .kw-portal-header-inner {
        padding-right: 28px;
        padding-left: 28px;
    }

    .kw-header-search {
        width: 420px;
    }
}

@media (max-width: 1199.98px) {
    .kw-portal-header-inner {
        padding: 10px 16px;
    }

    .kw-header-page {
        min-width: 0;
        flex: 1 1 auto;
    }

    .kw-header-search {
        width: min(38vw, 360px);
    }

    .kw-portal-header a[href*="returntoadmin=1"] span {
        display: none !important;
    }

    .kw-portal-header a[href*="returntoadmin=1"] {
        width: 42px;
        padding: 0;
    }
}

@media (max-width: 767.98px) {
    .kw-portal-header,
    .kw-portal-header-inner {
        min-height: 62px;
    }

    .kw-portal-header-inner {
        padding: 8px 10px;
        gap: 7px;
    }

    .kw-header-context {
        display: none;
    }

    .kw-header-title {
        font-size: 0.9rem;
    }

    .kw-header-account {
        display: none;
    }

    .kw-header-action,
    .kw-rail-toggle,
    .kw-portal-header a[href*="returntoadmin=1"] {
        width: 40px;
        min-width: 40px;
        height: 40px;
        min-height: 40px;
        flex-basis: 40px;
    }
}

/* End Kern Theme Revision 2D utility toolbar */

/* Revision 2D: notification and cart badge correction */

.kw-portal-header,
.kw-portal-header-inner,
.kw-header-tools {
    overflow: visible;
}

.kw-header-action {
    position: relative;
    overflow: visible !important;
}

.kw-header-action-badge {
    position: absolute;
    z-index: 5;
    top: -4px;
    right: -4px;
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    color: #ffffff;
    background: var(--kw-colour-primary);
    border: 2px solid #ffffff;
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

/* Move badges inward on narrow screens. */

@media (max-width: 767.98px) {
    .kw-header-action-badge {
        top: -3px;
        right: -3px;
    }
}

/* End Revision 2D notification and cart badge correction */

/* Revision 2D: centre and contain utility controls */

.kw-portal-header-inner {
    padding-right: 30px;
}

.kw-header-search {
    width: clamp(280px, 25vw, 380px);
}

.kw-portal-header a[href*="returntoadmin=1"] {
    min-width: 170px;
    margin-right: 0;
}

@media (max-width: 1440px) {
    .kw-portal-header-inner {
        padding-right: 22px;
    }

    .kw-header-search {
        width: clamp(230px, 23vw, 320px);
    }

    .kw-header-account {
        max-width: 165px;
    }

    .kw-portal-header a[href*="returntoadmin=1"] {
        min-width: 152px;
        padding-right: 10px;
        padding-left: 10px;
        font-size: 0.74rem;
    }
}

@media (max-width: 1199.98px) {
    .kw-portal-header a[href*="returntoadmin=1"] {
        width: 42px;
        min-width: 42px;
        max-width: 42px;
        padding: 0;
    }

    .kw-portal-header a[href*="returntoadmin=1"] span {
        display: none !important;
    }
}

/* End Revision 2D utility containment correction */

/* Revision 2D: centre knowledgebase search without clipping admin controls */

@media (min-width: 1200px) {
    .kw-portal-header-inner {
        position: relative;
        display: flex;
        width: 100%;
        min-width: 0;
        align-items: center;
        padding-right: 24px;
        padding-left: 24px;
        overflow: visible;
    }

    .kw-header-page {
        position: relative;
        z-index: 2;
        min-width: 180px;
        max-width: 260px;
        flex: 0 1 260px;
    }

    .kw-header-search {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 50%;
        width: clamp(300px, 24vw, 420px);
        max-width: 420px;
        margin: 0 !important;
        transform: translate(-50%, -50%);
    }

    #accountNotifications {
        margin-left: auto;
    }

    .kw-header-action,
    .kw-header-account,
    .kw-portal-header a[href*="returntoadmin=1"] {
        position: relative;
        z-index: 2;
        flex-shrink: 0;
    }

    .kw-portal-header a[href*="returntoadmin=1"] {
        min-width: 174px;
        max-width: none;
        padding-right: 16px;
        padding-left: 16px;
    }
}

@media (min-width: 1200px) and (max-width: 1599.98px) {
    .kw-header-search {
        left: 43%;
        width: clamp(240px, 21vw, 320px);
    }

    .kw-header-page {
        max-width: 210px;
        flex-basis: 210px;
    }

    .kw-header-account {
        max-width: 158px;
    }

    .kw-portal-header a[href*="returntoadmin=1"] {
        min-width: 154px;
        padding-right: 11px;
        padding-left: 11px;
        font-size: 0.75rem;
    }
}

@media (min-width: 1200px) and (max-width: 1299.98px) {
    .kw-header-search {
        display: none !important;
    }
}

/* End Revision 2D centred knowledgebase search */

/* Revision 2D: centre footer toolbar in main portal canvas */

.kw-portal-footer {
    width: 100%;
    box-sizing: border-box;
}

.kw-footer-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 16px 32px 10px;
    box-sizing: border-box;
}

.kw-footer-toolbar {
    display: flex;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px 11px;
    box-sizing: border-box;
}

.kw-footer-lower {
    position: relative;
    display: grid;
    width: 100%;
    min-height: 28px;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    margin-top: 3px;
}

.kw-footer-copyright {
    grid-column: 2;
    justify-self: center;
}

.kw-footer-locale {
    position: static;
    grid-column: 3;
    justify-self: end;
}

@media (max-width: 991.98px) {
    .kw-footer-inner {
        padding-right: 20px;
        padding-left: 20px;
    }

    .kw-footer-lower {
        display: flex;
        flex-direction: column;
        gap: 7px;
        justify-content: center;
    }

    .kw-footer-locale {
        align-self: center;
    }
}

@media (max-width: 767.98px) {
    .kw-footer-inner {
        padding-right: 14px;
        padding-left: 14px;
    }

    .kw-footer-toolbar {
        display: grid;
        grid-template-columns: 1fr;
    }

    .kw-footer-lower {
        align-items: center;
    }

    .kw-footer-copyright {
        text-align: center;
    }
}

/* End Revision 2D centred footer toolbar */

/* Revision 2D: remove footer currency control */

.kw-footer-locale {
    display: none !important;
}

.kw-footer-lower {
    display: flex;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
}

.kw-footer-copyright {
    grid-column: auto;
    justify-self: auto;
    width: 100%;
    text-align: center;
}

/* End Revision 2D footer currency removal */

/* Revision 2D: remove footer currency control */

.kw-footer-locale {
    display: none !important;
}

.kw-footer-lower {
    display: flex;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
}

.kw-footer-copyright {
    grid-column: auto;
    justify-self: auto;
    width: 100%;
    text-align: center;
}

/* End Revision 2D footer currency removal */

/* Revision 2D: align portal canvas and footer after fixed rail */

@media (min-width: 1200px) {
    .kw-portal-main {
        width: calc(100vw - var(--kw-nav-width));
        max-width: calc(100vw - var(--kw-nav-width));
        margin-left: var(--kw-nav-width);
        box-sizing: border-box;
    }

    .kw-portal-header,
    .kw-portal-footer,
    .kw-portal-main > #main-body,
    .kw-portal-main > .master-breadcrumb {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .kw-footer-inner {
        width: 100%;
        max-width: 100%;
        margin-right: auto;
        margin-left: auto;
        padding-right: 32px;
        padding-left: 32px;
        box-sizing: border-box;
    }

    .kw-footer-toolbar {
        display: flex;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 7px 11px;
        box-sizing: border-box;
    }

    .kw-footer-lower {
        width: 100%;
        justify-content: center;
    }

    .kw-footer-copyright {
        width: auto;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }
}

@media (max-width: 1199.98px) {
    .kw-portal-main {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }
}

/* End Revision 2D portal canvas and footer alignment */

/* ==========================================================================
   Kern Theme Revision 2E
   Wider inner canvas and stable WHMCS sidebar
   ========================================================================== */

/* Keep the page canvas aligned inside the area to the right of the portal rail. */

.kw-portal-main #main-body > .container,
.kw-portal-main .master-breadcrumb > .container {
    width: min(calc(100% - 48px), 1440px);
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
}

.kw-portal-main #main-body {
    width: 100%;
    padding-top: 24px;
    padding-bottom: 40px;
}

/* Desktop pages that contain the native WHMCS sidebar and primary content. */

@media (min-width: 1200px) {
    .kw-portal-main #main-body > .container > .row {
        display: grid;
        grid-template-columns: 260px minmax(0, 1fr);
        column-gap: 24px;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    .kw-portal-main #main-body > .container > .row > .col-lg-4.col-xl-3 {
        width: 260px;
        max-width: 260px;
        padding-right: 0;
        padding-left: 0;
    }

    .kw-portal-main #main-body > .container > .row > .primary-content {
        width: auto;
        max-width: none;
        min-width: 0;
        padding-right: 0;
        padding-left: 0;
    }

    .kw-portal-main #main-body > .container > .primary-content {
        width: 100%;
        max-width: none;
    }

    .kw-portal-main .sidebar {
        width: 100%;
    }

    .kw-portal-main .primary-content .tiles,
    .kw-portal-main .primary-content .client-home-panels,
    .kw-portal-main .primary-content .panel,
    .kw-portal-main .primary-content .card {
        max-width: none;
    }
}

/* Use a slightly narrower sidebar on common laptop widths. */

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .kw-portal-main #main-body > .container,
    .kw-portal-main .master-breadcrumb > .container {
        width: min(calc(100% - 36px), 1320px);
    }

    .kw-portal-main #main-body > .container > .row {
        grid-template-columns: 240px minmax(0, 1fr);
        column-gap: 20px;
    }

    .kw-portal-main #main-body > .container > .row > .col-lg-4.col-xl-3 {
        width: 240px;
        max-width: 240px;
    }
}

/* Restore the native responsive flow below desktop width. */

@media (max-width: 1199.98px) {
    .kw-portal-main #main-body > .container,
    .kw-portal-main .master-breadcrumb > .container {
        width: min(100% - 24px, 100%);
        max-width: none;
    }

    .kw-portal-main #main-body > .container > .row {
        display: flex;
        width: auto;
        margin-right: -12px;
        margin-left: -12px;
    }

    .kw-portal-main #main-body > .container > .row > .col-lg-4.col-xl-3,
    .kw-portal-main #main-body > .container > .row > .primary-content {
        width: 100%;
        max-width: 100%;
        padding-right: 12px;
        padding-left: 12px;
    }
}

@media (max-width: 767.98px) {
    .kw-portal-main #main-body > .container,
    .kw-portal-main .master-breadcrumb > .container {
        width: min(100% - 20px, 100%);
    }

    .kw-portal-main #main-body {
        padding-top: 18px;
        padding-bottom: 28px;
    }
}

/* End Kern Theme Revision 2E */

/* Revision 2E: compact authentication forms */

.kw-portal-main .login-form {
    width: 100%;
    max-width: 540px;
    margin-right: auto;
    margin-left: auto;
}

.kw-portal-main .login-form > .card,
.kw-portal-main .login-form .card.mw-540 {
    width: 100%;
    max-width: 540px !important;
    margin-right: auto;
    margin-left: auto;
}

.kw-portal-main .providerLinkingFeedback + .alert.mw-540,
.kw-portal-main .alert.mw-540 {
    width: 100%;
    max-width: 540px !important;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 767.98px) {
    .kw-portal-main .login-form,
    .kw-portal-main .login-form > .card,
    .kw-portal-main .login-form .card.mw-540,
    .kw-portal-main .alert.mw-540 {
        max-width: 100% !important;
    }
}

/* End Revision 2E compact authentication forms */

/* ==========================================================================
   Kern Theme Revision 2F-A
   Larger dashboard summary cards
   ========================================================================== */

.kw-portal-main .tiles {
    width: 100%;
    margin-bottom: 26px !important;
}

.kw-portal-main .tiles .row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    margin: 0;
}

.kw-portal-main .tiles .row > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}

.kw-portal-main .tiles .tile {
    position: relative;
    display: flex;
    min-height: 154px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 22px;
    overflow: hidden;
    color: var(--kw-colour-text);
    background: #ffffff;
    border: 1px solid #d7e1e8;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(16, 40, 58, 0.07);
    text-decoration: none;
    transition:
        transform 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease;
}

.kw-portal-main .tiles .tile:hover,
.kw-portal-main .tiles .tile:focus {
    transform: translateY(-3px);
    color: var(--kw-colour-text);
    border-color: #65b8e8;
    box-shadow: 0 12px 28px rgba(16, 70, 105, 0.14);
    text-decoration: none;
}

.kw-portal-main .tiles .tile > i {
    position: absolute;
    top: 20px;
    right: 20px;
    display: inline-flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    color: #1978b8;
    background: #eaf6fc;
    border-radius: 13px;
    font-size: 24px;
    opacity: 1;
}

.kw-portal-main .tiles .tile .stat {
    margin: 0 0 5px;
    color: #103f62;
    font-size: 2.15rem;
    font-weight: 750;
    line-height: 1;
}

.kw-portal-main .tiles .tile .title {
    color: #4f6574;
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    line-height: 1.3;
    text-transform: uppercase;
}

.kw-portal-main .tiles .tile .highlight {
    display: none;
}

.kw-portal-main .tiles .tile::after {
    position: absolute;
    right: 22px;
    bottom: 22px;
    color: #7c9bad;
    content: "›";
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    transition: transform 160ms ease;
}

.kw-portal-main .tiles .tile:hover::after,
.kw-portal-main .tiles .tile:focus::after {
    color: #1978b8;
    transform: translateX(3px);
}

@media (max-width: 1199.98px) {
    .kw-portal-main .tiles .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .kw-portal-main .tiles .row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .kw-portal-main .tiles .tile {
        min-height: 132px;
        padding: 18px;
    }

    .kw-portal-main .tiles .tile > i {
        top: 16px;
        right: 16px;
        width: 46px;
        height: 46px;
        font-size: 21px;
    }
}

/* End Kern Theme Revision 2F-A */

/* Revision 2F-B: dashboard SVG icons */

.kw-portal-main .tiles .tile > .kw-rail-svg-wrap {
    position: absolute;
    top: 20px;
    right: 20px;
    display: inline-flex;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    align-items: center;
    justify-content: center;
    margin: 0;
    color: #1978b8;
    background: #eaf6fc;
    border-radius: 13px;
    opacity: 1;
    transition:
        color 160ms ease,
        background-color 160ms ease,
        transform 160ms ease;
}

.kw-portal-main .tiles .tile > .kw-rail-svg-wrap .kw-rail-svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kw-portal-main .tiles .tile:hover > .kw-rail-svg-wrap,
.kw-portal-main .tiles .tile:focus > .kw-rail-svg-wrap {
    color: #ffffff;
    background: #1978b8;
    transform: scale(1.04);
}

@media (max-width: 575.98px) {
    .kw-portal-main .tiles .tile > .kw-rail-svg-wrap {
        top: 16px;
        right: 16px;
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .kw-portal-main .tiles .tile > .kw-rail-svg-wrap .kw-rail-svg {
        width: 24px;
        height: 24px;
    }
}

/* End Revision 2F-B dashboard SVG icons */

/* ==========================================================================
   Kern Theme Revision 2G
   Website V4 rail alignment and branding
   ========================================================================== */

:root {
    --kw-nav-width: 248px;
    --kw-nav-bg: rgba(5, 15, 29, 0.96);
    --kw-nav-bg-deep: rgba(6, 20, 37, 0.90);
}

.kw-portal-rail {
    width: var(--kw-nav-width);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    background:
        linear-gradient(
            var(--kw-nav-bg),
            var(--kw-nav-bg-deep)
        ),
        radial-gradient(
            circle at 50% 0%,
            rgba(41, 168, 255, 0.18),
            rgba(0, 0, 0, 0) 34%
        );
}

.kw-rail-brand {
    padding: 24px 18px 18px;
}

.kw-rail-logo {
    display: block;
    width: 190px;
    max-width: 190px;
    height: auto;
    max-height: 50px;
    object-fit: contain;
}

.kw-rail-brand-tagline {
    display: block;
    margin-top: 4px;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.2;
}

.kw-rail-context {
    display: block;
    margin-top: 14px;
    color: #68bce9;
    font-size: 0.69rem;
    font-weight: 750;
    letter-spacing: 1.3248px;
    text-transform: uppercase;
}

.kw-website-home {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 10px;
    margin: 0 12px 14px;
    padding: 10px 13px;
    color: #ffffff;
    background: rgba(20, 111, 176, 0.18);
    border: 1px solid rgba(95, 193, 247, 0.08);
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
}

.kw-website-home:hover,
.kw-website-home:focus {
    color: #ffffff;
    background: rgba(35, 137, 207, 0.28);
    border-color: rgba(95, 193, 247, 0.25);
    text-decoration: none;
}

.kw-website-home .kw-rail-svg-wrap {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin: 0;
    color: #68c6f5;
}

.kw-website-home .kw-rail-svg {
    width: 17px;
    height: 17px;
}

.kw-rail-scroll {
    padding-right: 10px;
    padding-left: 10px;
}

.kw-rail-section {
    margin-top: 18px;
}

.kw-rail-heading {
    padding-right: 12px;
    padding-left: 12px;
    font-size: 0.69rem;
    letter-spacing: 1.3248px;
}

.kw-rail-link {
    min-height: 40px;
    padding: 8px 12px !important;
    font-size: 0.81rem;
    font-weight: 650;
}

@media (min-width: 1200px) {
    .kw-portal-main {
        width: calc(100vw - var(--kw-nav-width));
        max-width: calc(100vw - var(--kw-nav-width));
        margin-left: var(--kw-nav-width);
    }
}

@media (max-width: 1199.98px) {
    .kw-portal-rail {
        width: min(88vw, 248px);
    }

    .kw-portal-main {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
    }
}

/* End Kern Theme Revision 2G */

/* Revision 2G: match Website V4 logo dimensions */

.kw-rail-brand-link {
    display: block;
    width: 190px;
    max-width: 190px;
}

.kw-rail-brand-link img,
.kw-rail-brand-link .logo-img,
.kw-rail-brand-link svg {
    display: block;
    width: 190px !important;
    max-width: 190px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    object-fit: contain;
}

.kw-rail-brand {
    padding-right: 18px;
    padding-left: 14px;
}

@media (max-width: 1199.98px) {
    .kw-rail-brand-link,
    .kw-rail-brand-link img,
    .kw-rail-brand-link .logo-img,
    .kw-rail-brand-link svg {
        width: 190px !important;
        max-width: 190px !important;
    }
}

/* End Revision 2G Website V4 logo dimensions */

/* Revision 2G: match Website V4 brand alignment and tagline */

.kw-rail-brand {
    padding-left: 18px;
}

.kw-rail-brand-tagline {
    margin-top: 4px;
    color: #ffffff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: normal;
}

/* End Revision 2G Website V4 tagline alignment */

/* Revision 2G: lift Carrier Grade ISP tagline */

.kw-rail-brand-tagline {
    margin-top: 2px;
    transform: translateY(-2px);
}

/* End Revision 2G tagline vertical alignment */

/* Kern Theme Revision 2H - Dashboard introduction */
.kw-dashboard-intro {
    margin: 0 0 20px;
}

.kw-dashboard-eyebrow {
    margin: 0 0 6px;
    color: #2176d2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.2;
}

.kw-dashboard-intro h1 {
    margin: 0;
    color: #10233b;
    font-size: clamp(26px, 2.2vw, 34px);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.12;
}

.kw-dashboard-summary {
    margin: 8px 0 0;
    color: #5a6b7f;
    font-size: 15px;
    line-height: 1.55;
}

@media (max-width: 767.98px) {
    .kw-dashboard-intro {
        margin-bottom: 16px;
    }

    .kw-dashboard-intro h1 {
        font-size: 26px;
    }
}
/* End Kern Theme Revision 2H - Dashboard introduction */

/* Kern Theme Revision 2H - Dashboard quick actions */
.kw-dashboard-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    margin: 0 0 24px;
}

.kw-dashboard-action {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 12px;
    min-height: 98px;
    align-items: center;
    padding: 16px;
    color: #17324d;
    background: #ffffff;
    border: 1px solid #d8e3eb;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.06);
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.kw-dashboard-action:hover,
.kw-dashboard-action:focus {
    color: #17324d;
    border-color: #69bceb;
    box-shadow: 0 10px 24px rgba(16, 70, 105, 0.13);
    text-decoration: none;
    transform: translateY(-2px);
}

.kw-dashboard-action:focus-visible {
    outline: 3px solid rgba(33, 118, 210, 0.3);
    outline-offset: 3px;
}

.kw-dashboard-action-icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    color: #1978b8;
    background: #eaf6fc;
    border-radius: 11px;
}

.kw-dashboard-action-icon .kw-rail-svg-wrap {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin: 0;
    color: inherit;
}

.kw-dashboard-action-icon .kw-rail-svg {
    width: 22px;
    height: 22px;
    stroke-width: 1.8;
}

.kw-dashboard-action-content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.kw-dashboard-action-content strong {
    color: #123a59;
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.25;
}

.kw-dashboard-action-content span {
    color: #687b8d;
    font-size: 0.74rem;
    line-height: 1.4;
}

.kw-dashboard-action-arrow {
    color: #7d9bad;
    font-size: 1.55rem;
    line-height: 1;
    transition: color 160ms ease, transform 160ms ease;
}

.kw-dashboard-action:hover .kw-dashboard-action-icon,
.kw-dashboard-action:focus .kw-dashboard-action-icon {
    color: #ffffff;
    background: #1978b8;
}

.kw-dashboard-action:hover .kw-dashboard-action-arrow,
.kw-dashboard-action:focus .kw-dashboard-action-arrow {
    color: #1978b8;
    transform: translateX(3px);
}

@media (max-width: 1199.98px) {
    .kw-dashboard-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .kw-dashboard-actions {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 20px;
    }

    .kw-dashboard-action {
        min-height: 88px;
        padding: 14px;
    }
}
/* End Kern Theme Revision 2H - Dashboard quick actions */
/* Kern Theme Revision 2I - Compact dashboard cards */

.kw-portal-main .tiles {
    margin-bottom: 16px !important;
}

.kw-portal-main .tiles .tile {
    display: grid;
    min-height: 88px;
    grid-template-columns: 44px minmax(0, 1fr) 18px;
    grid-template-rows: auto auto;
    column-gap: 14px;
    align-content: center;
    padding: 14px 16px;
}

.kw-portal-main .tiles .tile > .kw-rail-svg-wrap {
    position: static;
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    margin: 0;
    transform: none;
}

.kw-portal-main .tiles .tile > .kw-rail-svg-wrap .kw-rail-svg {
    width: 23px;
    height: 23px;
}

.kw-portal-main .tiles .tile .stat {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0 0 2px;
    font-size: 1.75rem;
    line-height: 1;
}

.kw-portal-main .tiles .tile .title {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    font-size: 0.72rem;
    line-height: 1.2;
}

.kw-portal-main .tiles .tile::after {
    position: static;
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: end;
    transform: none;
}

.kw-portal-main .tiles .tile:hover::after,
.kw-portal-main .tiles .tile:focus::after {
    transform: translateX(2px);
}

.kw-dashboard-actions-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 820px;
    margin: 0 auto 18px;
}

.kw-dashboard-actions-compact .kw-dashboard-action {
    min-height: 72px;
}

@media (max-width: 1199.98px) {
    .kw-portal-main .tiles .tile {
        min-height: 84px;
    }
}

@media (max-width: 767.98px) {
    .kw-dashboard-actions-compact {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    .kw-portal-main .tiles .tile {
        min-height: 80px;
        grid-template-columns: 40px minmax(0, 1fr) 16px;
        column-gap: 12px;
        padding: 12px 14px;
    }

    .kw-portal-main .tiles .tile > .kw-rail-svg-wrap {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}

/* End Kern Theme Revision 2I - Compact dashboard cards */
/* Kern Theme Revision 2I - Store-only quick action */
.kw-dashboard-actions-store-only {
    display: grid;
    grid-template-columns: minmax(0, 520px);
    justify-content: center;
    max-width: none;
    margin: 0 auto 18px;
}

.kw-dashboard-actions-store-only .kw-dashboard-action {
    min-height: 68px;
}

@media (max-width: 575.98px) {
    .kw-dashboard-actions-store-only {
        grid-template-columns: 1fr;
    }
}
/* End Kern Theme Revision 2I - Store-only quick action */
/* ========================================================================== 
   Kern Theme Revision 2J - Wider inner display area
   ========================================================================== */

@media (min-width: 1200px) {
    .kw-portal-main #main-body > .container,
    .kw-portal-main .master-breadcrumb > .container {
        width: calc(100% - 48px) !important;
        max-width: 1480px !important;
        margin-right: auto;
        margin-left: auto;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }
}

@media (min-width: 1600px) {
    .kw-portal-main #main-body > .container,
    .kw-portal-main .master-breadcrumb > .container {
        width: calc(100% - 64px) !important;
    }
}

@media (max-width: 1199.98px) {
    .kw-portal-main #main-body > .container,
    .kw-portal-main .master-breadcrumb > .container {
        width: 100%;
        max-width: 100%;
    }
}

/* End Kern Theme Revision 2J - Wider inner display area */
/* ========================================================================== 
   Kern Theme Revision 2J - 1600px inner display area
   ========================================================================== */

@media (min-width: 1200px) {
    .kw-portal-main #main-body > .container,
    .kw-portal-main .master-breadcrumb > .container {
        max-width: 1600px !important;
    }
}

/* End Kern Theme Revision 2J - 1600px inner display area */
/* Kern Theme Revision 2J - Network Status quick action */

.kw-dashboard-actions-two {
    grid-template-columns: repeat(2, minmax(0, 520px));
    justify-content: center;
}

@media (max-width: 767.98px) {
    .kw-dashboard-actions-two {
        grid-template-columns: 1fr;
    }
}

/* End Kern Theme Revision 2J - Network Status quick action */
/* Revision 2J: offset full-width footer from fixed portal rail */
@media (min-width: 1200px) {
    .kw-portal-footer {
        width: calc(100% - 248px) !important;
        margin-left: 248px !important;
        box-sizing: border-box;
    }

    .kw-footer-inner {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}
/* End Revision 2J footer rail offset */
/* Revision 2J: Planned Maintenance dashboard card */

.kw-dashboard-actions-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kw-maintenance-action .kw-dashboard-action-icon {
    color: #b76a00;
    background: #fff4df;
}

.kw-maintenance-action:hover .kw-dashboard-action-icon,
.kw-maintenance-action:focus .kw-dashboard-action-icon {
    color: #ffffff;
    background: #b76a00;
}

@media (max-width: 1199.98px) {
    .kw-dashboard-actions-three {
        grid-template-columns: 1fr;
    }
}

/* End Revision 2J Planned Maintenance dashboard card */
/* Revision 2K: Website V4 sidebar typography and spacing alignment */

@media (min-width: 1200px) {
    .kw-rail-brand {
        padding: 24px 18px 14px;
    }

    .kw-rail-context {
        margin-top: 10px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.32px;
        line-height: 1.2;
    }

    .kw-website-home {
        min-height: 34px;
        gap: 9px;
        margin: 0 9px 12px;
        padding: 7px 10px;
        border-radius: 9px;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.2;
    }

    .kw-website-home .kw-rail-svg-wrap {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
    }

    .kw-website-home .kw-rail-svg {
        width: 15px;
        height: 15px;
    }

    .kw-rail-scroll {
        padding: 11px 9px 18px;
    }

    .kw-rail-section {
        margin-top: 15px;
    }

    .kw-rail-section + .kw-rail-section {
        margin-top: 19px;
    }

    .kw-rail-heading {
        padding: 0 6px 7px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 1.32px;
        line-height: 1.2;
    }

    .kw-rail-item,
    .kw-rail-child {
        margin: 1px 0;
    }

    .kw-rail-link {
        min-height: 34px;
        gap: 9px;
        padding: 7px 8px !important;
        border-radius: 8px;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.2;
    }

    .kw-rail-svg-wrap {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
    }

    .kw-rail-svg {
        width: 15px;
        height: 15px;
        stroke-width: 1.7;
    }

    .kw-rail-chevron {
        font-size: 10px;
    }

    .kw-rail-children {
        margin: 3px 0 5px 8px;
        padding: 3px;
        border-radius: 7px;
    }

    .kw-rail-child > a {
        min-height: 31px;
        gap: 8px;
        padding: 6px 8px;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.2;
    }

    .kw-rail-svg-wrap-child {
        width: 14px;
        height: 14px;
        flex-basis: 14px;
    }

    .kw-rail-svg-wrap-child .kw-rail-svg {
        width: 14px;
        height: 14px;
    }
}

/* End Revision 2K Website V4 sidebar alignment */


/* Revision 2L: Website V4 submenu and active-state refinement */
.kw-rail-children {
    margin-left: 8px;
    padding: 3px 3px 3px 6px;
    background: rgba(8, 31, 50, 0.46);
    border-left: 1px solid rgba(104, 198, 245, 0.30);
    border-radius: 3px;
    box-shadow: none;
}

.kw-rail-item.active > .kw-rail-link,
.kw-rail-child.active > a {
    background: rgba(20, 111, 176, 0.24);
    border: 1px solid rgba(95, 193, 247, 0.14);
    box-shadow: none;
}

.kw-rail-link[aria-expanded="true"] {
    background: rgba(20, 111, 176, 0.14);
}

.kw-rail-child > a:hover,
.kw-rail-child > a:focus {
    background: rgba(35, 137, 207, 0.16);
}
/* End Revision 2L Website V4 submenu refinement */
/* Revision 2M: Your Services panel refinement */
#servicesPanel {
    overflow: hidden;
    border: 1px solid #d9e3ea;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(16, 40, 58, 0.06);
}

#servicesPanel.card-accent-gold {
    border-top: 3px solid #1678c2;
}

#servicesPanel .card-header {
    min-height: 54px;
    padding: 12px 16px;
    background: #ffffff;
    border-bottom: 1px solid #e4ebf0;
}

#servicesPanel .card-title {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #173142;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

#servicesPanel .card-title > .fas {
    color: #1678c2;
    font-size: 15px;
}

#servicesPanel .card-title .float-right {
    order: 3;
    margin-left: auto;
}

#servicesPanel .card-title .btn {
    padding: 6px 10px;
    color: #0f527d;
    background: #f4f8fb;
    border: 1px solid #cddce6;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

#servicesPanel .card-title .btn:hover,
#servicesPanel .card-title .btn:focus {
    color: #ffffff;
    background: #1678c2;
    border-color: #1678c2;
}

#servicesPanel .list-group-item {
    padding: 0;
    background: #ffffff;
    border-width: 0 0 1px;
    border-color: #e8eef2;
}

#servicesPanel .list-group-item:last-child {
    border-bottom: 0 !important;
}

#servicesPanel .div-service-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "name status actions";
    align-items: center;
    gap: 14px;
    min-height: 58px;
    padding: 10px 16px;
    cursor: pointer;
}

#servicesPanel .div-service-item:hover,
#servicesPanel .div-service-item:focus-within {
    background: #f7fafc;
}

#servicesPanel .div-service-name {
    grid-area: name;
    min-width: 0;
}

#servicesPanel .div-service-name .font-weight-bold {
    display: block;
    overflow: hidden;
    color: #173142;
    font-size: 13px;
    font-weight: 650 !important;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#servicesPanel .div-service-name .text-domain {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: #6f7f89;
    font-size: 11px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#servicesPanel .div-service-name .text-domain:empty {
    display: none;
}

#servicesPanel .div-service-status {
    grid-area: status;
    width: auto !important;
    min-width: 64px;
    text-align: center;
}

#servicesPanel .div-service-status .label-placeholder {
    display: none;
}

#servicesPanel .div-service-status .label {
    display: inline-flex;
    min-width: 58px;
    align-items: center;
    justify-content: center;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.2;
    text-transform: uppercase;
}

#servicesPanel .div-service-status .label-success {
    color: #17683a;
    background: #e7f6ed;
    border: 1px solid #bee5cd;
}

#servicesPanel .div-service-buttons {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

#servicesPanel .div-service-buttons .btn {
    min-height: 30px;
    padding: 5px 9px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

#servicesPanel .div-service-buttons .btn-view-details {
    color: #0f527d;
    background: #ffffff;
    border-color: #bdd0dc;
}

#servicesPanel .div-service-buttons .btn-view-details:hover,
#servicesPanel .div-service-buttons .btn-view-details:focus {
    color: #ffffff;
    background: #1678c2;
    border-color: #1678c2;
}

/* Keep module actions available in the dropdown without allowing duplicate
   primary module buttons to dominate the dashboard service row. */
#servicesPanel .div-service-buttons .btn-group-secondary {
    display: none;
}

#servicesPanel .div-service-buttons .btn-group-primary .dropdown-toggle {
    width: 30px;
    min-width: 30px;
    padding-right: 0;
    padding-left: 0;
    color: #0f527d;
    background: #f4f8fb;
    border-color: #cddce6;
}

#servicesPanel .dropdown-menu {
    min-width: 190px;
    padding: 5px;
    border-color: #d6e1e8;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(16, 40, 58, 0.14);
}

#servicesPanel .dropdown-item {
    padding: 7px 9px;
    border-radius: 5px;
    color: #173142;
    font-size: 11px;
    line-height: 1.3;
}

@media (max-width: 767.98px) {
    #servicesPanel .card-header {
        padding: 11px 12px;
    }

    #servicesPanel .card-title {
        font-size: 14px;
    }

    #servicesPanel .card-title .btn {
        padding: 5px 8px;
    }

    #servicesPanel .div-service-item {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "name status"
            "actions actions";
        gap: 8px 10px;
        min-height: 0;
        padding: 11px 12px;
    }

    #servicesPanel .div-service-name .font-weight-bold,
    #servicesPanel .div-service-name .text-domain {
        white-space: normal;
    }

    #servicesPanel .div-service-buttons {
        justify-content: flex-start;
    }
}

/* End Revision 2M Your Services panel refinement */

/* Revision 2N: Conditional billing alert */

.kw-dashboard-intro-row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 20px;
}

.kw-dashboard-intro-row .kw-dashboard-intro {
    min-width: 0;
    flex: 1 1 auto;
    margin-bottom: 0;
}

.kw-billing-alert {
    display: grid;
    width: min(420px, 38%);
    min-width: 360px;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas:
        "icon content"
        "icon action";
    align-items: center;
    column-gap: 14px;
    row-gap: 10px;
    padding: 16px 17px;
    background: #fffaf0;
    border: 1px solid #ecd7a9;
    border-left: 4px solid #d99518;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.07);
}

.kw-billing-alert-overdue {
    background: #fff6f3;
    border-color: #edc2b8;
    border-left-color: #c94a35;
}

.kw-billing-alert-icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    grid-area: icon;
    align-items: center;
    justify-content: center;
    color: #aa6800;
    background: #fff0cc;
    border-radius: 11px;
}

.kw-billing-alert-overdue .kw-billing-alert-icon {
    color: #a73121;
    background: #ffe3dc;
}

.kw-billing-alert-icon .kw-rail-svg-wrap {
    width: 21px;
    height: 21px;
    margin: 0;
    color: currentColor;
}

.kw-billing-alert-icon .kw-rail-svg {
    width: 21px;
    height: 21px;
}

.kw-billing-alert-content {
    display: flex;
    min-width: 0;
    grid-area: content;
    flex-direction: column;
}

.kw-billing-alert-eyebrow {
    margin-bottom: 2px;
    color: #8a5707;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

.kw-billing-alert-overdue .kw-billing-alert-eyebrow {
    color: #9e2f20;
}

.kw-billing-alert-title {
    color: #172f40;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.kw-billing-alert-summary {
    margin-top: 2px;
    color: #61727d;
    font-size: 12px;
    line-height: 1.35;
}

.kw-billing-alert-action {
    display: inline-flex;
    width: fit-content;
    min-height: 32px;
    grid-area: action;
    align-items: center;
    gap: 7px;
    justify-content: center;
    padding: 6px 11px;
    color: #784800;
    background: #ffffff;
    border: 1px solid #dfbd78;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
    text-decoration: none;
    box-shadow: none;
}

.kw-billing-alert-action:hover,
.kw-billing-alert-action:focus {
    color: #ffffff;
    background: #b87308;
    border-color: #b87308;
    text-decoration: none;
    box-shadow: 0 0 0 3px rgba(184, 115, 8, 0.18);
}

.kw-billing-alert-overdue .kw-billing-alert-action {
    color: #8f2c1e;
    border-color: #dca89f;
}

.kw-billing-alert-overdue .kw-billing-alert-action:hover,
.kw-billing-alert-overdue .kw-billing-alert-action:focus {
    color: #ffffff;
    background: #b83d2b;
    border-color: #b83d2b;
    box-shadow: 0 0 0 3px rgba(184, 61, 43, 0.18);
}

@media (max-width: 991.98px) {
    .kw-dashboard-intro-row {
        flex-direction: column;
    }

    .kw-billing-alert {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    .kw-dashboard-intro-row {
        gap: 14px;
    }

    .kw-billing-alert {
        grid-template-columns: 40px minmax(0, 1fr);
        column-gap: 12px;
        padding: 14px;
    }

    .kw-billing-alert-icon {
        width: 40px;
        height: 40px;
    }

    .kw-billing-alert-action {
        width: 100%;
    }
}

/* End Revision 2N conditional billing alert */



/* Revision 2O.6: Email Security quick action */

.kw-dashboard-actions-email-security {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kw-email-security-action {
    appearance: none;
    text-align: left;
    font-family: inherit;
}

.kw-email-security-svg {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
}

.kw-email-security-svg svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.kw-email-security-modal .modal-dialog {
    max-width: 560px;
}

.kw-email-security-modal .modal-content {
    overflow: hidden;
    border: 1px solid #d9e1e6;
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(16, 40, 58, 0.2);
}

.kw-email-security-modal .modal-header {
    align-items: flex-start;
    padding: 18px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #d9e1e6;
}

.kw-email-security-modal .modal-title {
    margin: 0;
    color: #10233b;
    font-size: 20px;
    font-weight: 700;
}

.kw-email-security-eyebrow {
    margin: 0 0 4px;
    color: #1678c2;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

.kw-email-security-modal .modal-body {
    padding: 20px;
}

.kw-email-security-summary {
    margin: 0 0 16px;
    color: #61727d;
    font-size: 13px;
    line-height: 1.45;
}

.kw-email-security-modal form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 10px;
    color: #526774;
    font-size: 12px;
}

.kw-email-security-modal select.form-control {
    width: 100%;
    min-height: 38px;
    height: 38px;
    margin: 5px 0 0;
    border-color: #bdcbd5;
    border-radius: 7px;
    font-size: 12px;
}

.kw-email-security-modal select.form-control:focus {
    border-color: #1678c2;
    box-shadow: 0 0 0 3px rgba(22, 120, 194, 0.14);
}

.kw-email-security-modal .btn-service-sso {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 8px 14px;
    color: #ffffff;
    background: #1678c2;
    border: 1px solid #1678c2;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 650;
}

.kw-email-security-modal .btn-service-sso:hover,
.kw-email-security-modal .btn-service-sso:focus {
    color: #ffffff;
    background: #105f9c;
    border-color: #105f9c;
    box-shadow: 0 0 0 3px rgba(22, 120, 194, 0.16);
}

.kw-email-security-modal .login-feedback {
    grid-column: 1 / -1;
}

.kw-email-security-provider {
    margin: 12px 0 0;
    color: #778893;
    font-size: 10px;
    line-height: 1.3;
}

@media (max-width: 1199.98px) {
    .kw-dashboard-actions-email-security {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .kw-dashboard-actions-email-security {
        grid-template-columns: 1fr;
    }

    .kw-email-security-modal .modal-dialog {
        margin: 12px;
    }

    .kw-email-security-modal form {
        grid-template-columns: 1fr;
    }

    .kw-email-security-modal .btn-service-sso {
        width: 100%;
    }
}

/* End Revision 2O.6 Email Security quick action */

/* Revision 2P: Dynamic Network Status quick actions */

.kw-network-status-action,
.kw-planned-maintenance-action {
    position: relative;
}

.kw-network-status-action .kw-dashboard-action-icon,
.kw-planned-maintenance-action .kw-dashboard-action-icon {
    position: relative;
}

.kw-network-status-action .kw-dashboard-action-icon::after,
.kw-planned-maintenance-action .kw-dashboard-action-icon::after {
    position: absolute;
    top: -7px;
    right: -8px;
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 750;
    line-height: 1;
    box-sizing: border-box;
}

.kw-network-operational .kw-dashboard-action-icon {
    color: #237a45;
    background: #e3f5e9;
}

.kw-network-operational .kw-dashboard-action-icon::after {
    color: #ffffff;
    background: #2f8f52;
    content: "✓";
}

.kw-network-low .kw-dashboard-action-icon,
.kw-network-medium .kw-dashboard-action-icon,
.kw-network-high .kw-dashboard-action-icon,
.kw-network-critical .kw-dashboard-action-icon,
.kw-network-warning .kw-dashboard-action-icon {
    color: #ffffff;
}

.kw-network-low .kw-dashboard-action-icon {
    background: #2978b8;
}

.kw-network-medium .kw-dashboard-action-icon,
.kw-network-warning .kw-dashboard-action-icon {
    background: #d99518;
}

.kw-network-high .kw-dashboard-action-icon {
    background: #d56a24;
}

.kw-network-critical .kw-dashboard-action-icon {
    background: #b83d2b;
}

.kw-network-has-issues .kw-dashboard-action-icon::after {
    color: #ffffff;
    background: #b83d2b;
    content: attr(data-count);
}

.kw-network-critical {
    border-color: #e2b6ae;
    background: #fff8f6;
}

.kw-network-critical:hover,
.kw-network-critical:focus {
    border-color: #c86a59;
}

.kw-network-high {
    border-color: #e8c0a6;
    background: #fffaf6;
}

.kw-network-medium {
    border-color: #ecd7a9;
    background: #fffdf7;
}

.kw-network-low {
    border-color: #bbd5e8;
    background: #f8fcff;
}

.kw-maintenance-scheduled .kw-dashboard-action-icon {
    color: #a96800;
    background: #fff0cc;
}

.kw-maintenance-scheduled .kw-dashboard-action-icon::after {
    color: #ffffff;
    background: #d99518;
    content: attr(data-count);
}

.kw-network-card-svg {
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
}

.kw-network-card-svg svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* End Revision 2P Dynamic Network Status quick actions */

/* Revision 2Q: three-column dashboard action row */
@media (min-width: 1200px) {
    .kw-dashboard-actions,
    .kw-dashboard-actions-email-security {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
/* End Revision 2Q three-column dashboard action row */

/* Revision 2Q.2: place Email Security last */
.kw-email-security-action {
    order: 99;
}
/* End Revision 2Q.2 Email Security ordering */

/* Revision 2Q.4: Network Status and Maintenance page layout */
.kw-network-status-page { width: 100%; }
.kw-network-status-tools { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 18px; margin: 0 0 18px; }
.kw-status-tool-card { overflow: hidden; min-width: 0; margin: 0; border: 1px solid #d9e1e6; border-top: 3px solid #1678c2; border-radius: 12px; box-shadow: 0 5px 16px rgba(16, 40, 58, 0.06); }
.kw-status-tool-card .card-header { display: flex; min-height: 50px; align-items: center; gap: 10px; padding: 12px 16px; color: #10233b; background: #fff; font-size: 17px; font-weight: 700; }
.kw-status-tool-card .card-header i { color: #1678c2; font-size: 16px; }
.kw-status-tool-card .card-body { padding: 10px; }
.kw-status-filter-list, .kw-status-action-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.kw-status-filter, .kw-status-action { display: flex; min-width: 0; min-height: 42px; align-items: center; gap: 8px; padding: 8px 10px; color: #20384a; background: #fff; border: 1px solid #d4dfe7; border-radius: 8px; font-size: 12px; line-height: 1.2; text-decoration: none; }
.kw-status-filter:hover, .kw-status-filter:focus, .kw-status-action:hover, .kw-status-action:focus { color: #105f9c; background: #f3f9fd; border-color: #8bbfe0; text-decoration: none; }
.kw-status-filter.active { color: #fff; background: #1678c2; border-color: #1678c2; }
.kw-status-filter i, .kw-status-action i { flex: 0 0 auto; color: #1678c2; font-size: 14px; }
.kw-status-filter.active i { color: #fff; }
.kw-status-filter > span:nth-child(2), .kw-status-action span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kw-status-count { display: inline-flex; min-width: 25px; height: 22px; align-items: center; justify-content: center; margin-left: auto; padding: 0 7px; color: #31546b; background: #edf3f7; border-radius: 999px; font-size: 11px; font-weight: 700; }
.kw-status-filter.active .kw-status-count { color: #105f9c; background: #fff; }
.kw-network-issue-list { display: grid; gap: 16px; }
.kw-network-issue-card, .kw-network-server-card { overflow: hidden; margin: 0; border: 1px solid #d9e1e6; border-radius: 12px; box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05); }
.kw-network-issue-header { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; background: #f8fafc; border-top: 3px solid #1678c2; }
.kw-network-issue-title { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 7px; color: #10233b; }
.kw-network-issue-state { color: #667984; font-size: 12px; font-weight: 500; }
.kw-network-affecting { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; color: #314d5f; font-size: 14px; }
.kw-network-issue-meta { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 16px; padding: 0; color: #60727e; font-size: 12px; list-style: none; }
.kw-network-issue-meta li { display: inline-flex; align-items: center; gap: 5px; }
.kw-network-issue-meta i { color: #1678c2; }
.kw-network-issue-description { color: #334d5d; font-size: 13px; line-height: 1.65; }
.kw-network-issue-description > :last-child { margin-bottom: 0; }
.kw-network-no-issues { padding: 18px; background: #fff; border: 1px solid #d9e1e6; border-radius: 10px; }
.kw-network-pagination { margin-top: 18px; }
@media (max-width: 991.98px) { .kw-network-status-tools { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .kw-status-filter-list, .kw-status-action-list { grid-template-columns: 1fr; } .kw-network-issue-header { align-items: flex-start; } .kw-network-issue-meta { display: grid; grid-template-columns: 1fr; gap: 8px; } }
/* End Revision 2Q.4 Network Status and Maintenance page layout */

/* Revision 2R: Account Details layout */
.kw-account-details-form { width: 100%; }
.kw-account-details-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.kw-account-section { overflow: hidden; margin: 0 0 18px; border: 1px solid #d9e1e6; border-top: 3px solid #1678c2; border-radius: 12px; box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05); }
.kw-account-details-grid .kw-account-section { margin-bottom: 18px; }
.kw-account-section .card-body { padding: 20px; }
.kw-account-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid #e1e7eb; }
.kw-account-section-heading h3 { margin: 0 0 4px; color: #10233b; font-size: 20px; font-weight: 700; line-height: 1.25; }
.kw-account-section-heading p { margin: 0; color: #6a7d89; font-size: 12px; line-height: 1.45; }
.kw-account-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 18px; }
.kw-account-field-grid .form-group { min-width: 0; margin: 0; }
.kw-account-field-full { grid-column: 1 / -1; }
.kw-account-details-form .col-form-label { display: block; margin: 0 0 6px; padding: 0; color: #20384a; font-size: 12px; font-weight: 700; }
.kw-account-details-form .form-control, .kw-account-details-form .custom-select, .kw-account-details-form .control input[type="text"], .kw-account-details-form .control input[type="email"], .kw-account-details-form .control input[type="tel"], .kw-account-details-form .control select, .kw-account-details-form .control textarea { width: 100%; min-height: 40px; border-color: #c7d4dd; border-radius: 7px; font-size: 13px; }
.kw-account-details-form .form-control:focus, .kw-account-details-form .custom-select:focus { border-color: #1678c2; box-shadow: 0 0 0 3px rgba(22, 120, 194, 0.14); }
.kw-account-details-form .field-help-text, .kw-account-details-form .control .description { margin-top: 5px; color: #71838e; font-size: 11px; line-height: 1.4; }
.kw-account-preference-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.kw-account-preference-item { display: flex; min-height: 46px; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 14px; color: #294459; background: #f8fafc; border: 1px solid #d9e1e6; border-radius: 8px; font-size: 12px; line-height: 1.4; cursor: pointer; }
.kw-account-preference-item .form-check-input { position: static; flex: 0 0 auto; margin: 2px 0 0; }
.kw-account-marketing-control { display: inline-flex; align-items: center; gap: 12px; margin: 0; color: #294459; font-size: 13px; font-weight: 650; cursor: pointer; }
.kw-account-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin: 2px 0 22px; padding: 16px 0 0; border-top: 1px solid #d9e1e6; }
.kw-account-form-actions .btn { min-width: 118px; min-height: 40px; }
@media (max-width: 991.98px) { .kw-account-details-grid { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) { .kw-account-field-grid, .kw-account-preference-list { grid-template-columns: 1fr; } .kw-account-field-full { grid-column: auto; } .kw-account-section .card-body { padding: 16px; } }
@media (max-width: 575.98px) { .kw-account-form-actions { align-items: stretch; flex-direction: column-reverse; } .kw-account-form-actions .btn { width: 100%; } }
/* End Revision 2R Account Details layout */

/* Revision 2R.1: Account top menu */
.kw-account-menu-card {
    overflow: hidden;
    margin: 0 0 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-account-menu-card .card-header {
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    color: #10233b;
    background: #ffffff;
    border-bottom: 1px solid #d9e1e6;
    font-size: 17px;
    font-weight: 700;
}

.kw-account-menu-card .card-header .kw-rail-svg-wrap {
    width: 20px;
    height: 20px;
    color: #1678c2;
}

.kw-account-menu-card .card-header .kw-rail-svg {
    width: 20px;
    height: 20px;
}

.kw-account-menu-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
}

.kw-account-menu-action {
    display: flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    color: #20384a;
    background: #ffffff;
    border: 1px solid #d4dfe7;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
}

.kw-account-menu-action:hover,
.kw-account-menu-action:focus {
    color: #105f9c;
    background: #f3f9fd;
    border-color: #8bbfe0;
    text-decoration: none;
}

.kw-account-menu-action.active {
    color: #ffffff;
    background: #1678c2;
    border-color: #1678c2;
}

.kw-account-menu-action .kw-rail-svg-wrap {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: #1678c2;
}

.kw-account-menu-action .kw-rail-svg {
    width: 18px;
    height: 18px;
}

.kw-account-menu-action.active .kw-rail-svg-wrap {
    color: #ffffff;
}

.kw-account-menu-action > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1399.98px) {
    .kw-account-menu-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .kw-account-menu-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .kw-account-menu-list {
        grid-template-columns: 1fr;
    }
}
/* End Revision 2R.1 Account top menu */

/* Revision 2R.2: User Management layout */
.kw-user-management-card {
    overflow: hidden;
    margin: 0 0 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-user-management-card .card-body {
    padding: 20px;
}

.kw-user-list {
    display: grid;
    gap: 10px;
}

.kw-user-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 14px 16px;
    background: #f8fafc;
    border: 1px solid #d9e1e6;
    border-radius: 9px;
}

.kw-user-identity {
    display: grid;
    min-width: 0;
    gap: 5px;
    color: #20384a;
}

.kw-user-email-line {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.kw-user-email-line strong,
.kw-user-identity > strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.kw-user-identity small {
    color: #6a7d89;
    font-size: 11px;
}

.kw-user-2fa {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 700;
}

.kw-user-2fa-enabled { color: #237a45; }
.kw-user-2fa-disabled { color: #788995; }

.kw-user-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}

.kw-user-actions .btn {
    min-width: 126px;
}

.kw-pending-invites {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #d9e1e6;
}

.kw-pending-invites h4,
.kw-permission-legend {
    margin: 0 0 12px;
    color: #10233b;
    font-size: 15px;
    font-weight: 700;
}

.kw-user-owner-note {
    margin: 14px 0 0;
    color: #6a7d89;
    font-size: 11px;
}

.kw-user-invite-form .form-group > label,
.kw-permission-choice legend {
    color: #20384a;
    font-size: 12px;
    font-weight: 700;
}

.kw-user-invite-form .form-control {
    min-height: 40px;
    border-color: #c7d4dd;
    border-radius: 7px;
}

.kw-permission-choice {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
}

.kw-permission-mode {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 18px 0 0;
    color: #294459;
    font-size: 12px;
    cursor: pointer;
}

.kw-permission-mode .form-check-input,
.kw-permission-item .form-check-input {
    position: static;
    flex: 0 0 auto;
    margin: 2px 0 0;
}

.kw-permission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    margin: 0 0 18px;
    padding: 14px;
    background: #f8fafc;
    border: 1px solid #d9e1e6;
    border-radius: 9px;
}

.kw-permission-item {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 11px 12px;
    color: #294459;
    background: #ffffff;
    border: 1px solid #d9e1e6;
    border-radius: 8px;
    cursor: pointer;
}

.kw-permission-item > span {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.kw-permission-item strong {
    font-size: 12px;
}

.kw-permission-item small {
    color: #71838e;
    font-size: 11px;
    line-height: 1.4;
}

.kw-user-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #d9e1e6;
}

.kw-user-form-actions .btn {
    min-width: 118px;
}

.kw-user-modal .modal-content {
    overflow: hidden;
    border: 1px solid #d9e1e6;
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(16, 40, 58, 0.2);
}

@media (max-width: 767.98px) {
    .kw-user-row {
        grid-template-columns: 1fr;
    }

    .kw-user-actions {
        justify-content: flex-start;
    }

    .kw-permission-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .kw-user-management-card .card-body {
        padding: 16px;
    }

    .kw-user-actions,
    .kw-user-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .kw-user-actions .btn,
    .kw-user-form-actions .btn {
        width: 100%;
    }
}
/* End Revision 2R.2 User Management layout */

/* Revision 2R.2.1: User Management corrections */
.kw-user-actions .btn.disabled,
.kw-user-actions .btn[aria-disabled="true"] {
    pointer-events: none;
    cursor: default;
    opacity: 0.55;
    color: #71838e;
    background: #edf1f4;
    border-color: #d4dce2;
    box-shadow: none;
}

.kw-user-actions .btn-danger.disabled,
.kw-user-actions .btn-danger[aria-disabled="true"] {
    color: #7a858d;
    background: #edf1f4;
    border-color: #d4dce2;
}

.kw-user-actions .btn.disabled:hover,
.kw-user-actions .btn.disabled:focus,
.kw-user-actions .btn[aria-disabled="true"]:hover,
.kw-user-actions .btn[aria-disabled="true"]:focus {
    color: #71838e;
    background: #edf1f4;
    border-color: #d4dce2;
    box-shadow: none;
    transform: none;
}

#invitePermissions.w-hidden {
    display: none;
}
/* End Revision 2R.2.1 User Management corrections */

/* Revision 2R.3: Contacts layout */
.kw-contact-selector-card,
.kw-contact-card {
    overflow: hidden;
    margin: 0 0 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-contact-selector-card .card-body,
.kw-contact-card .card-body {
    padding: 20px;
}

.kw-contact-selector-card form .row {
    align-items: end;
}

.kw-contact-selector-card .col-form-label,
.kw-contact-card .col-form-label {
    display: block;
    margin: 0 0 6px;
    padding: 0;
    color: #20384a;
    font-size: 12px;
    font-weight: 700;
}

.kw-contact-selector-card .form-control,
.kw-contact-card .form-control,
.kw-contact-card .custom-select {
    min-height: 40px;
    border-color: #c7d4dd;
    border-radius: 7px;
    font-size: 13px;
}

.kw-contact-selector-card .form-control:focus,
.kw-contact-card .form-control:focus,
.kw-contact-card .custom-select:focus {
    border-color: #1678c2;
    box-shadow: 0 0 0 3px rgba(22, 120, 194, 0.14);
}

.kw-contact-card .form-group {
    margin-bottom: 15px;
}

.kw-contact-email-preferences {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
}

.kw-contact-email-preference {
    display: flex;
    min-height: 46px;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    padding: 12px 14px;
    color: #294459;
    background: #f8fafc;
    border: 1px solid #d9e1e6;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.4;
    cursor: pointer;
}

.kw-contact-email-preference .form-check-input {
    position: static;
    flex: 0 0 auto;
    margin: 2px 0 0;
}

.kw-contact-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    margin: 2px 0 22px;
    padding: 16px 0 0;
    border-top: 1px solid #d9e1e6;
}

.kw-contact-form-actions .btn {
    min-width: 118px;
}

.kw-contact-modal .modal-content {
    overflow: hidden;
    border: 1px solid #d9e1e6;
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(16, 40, 58, 0.2);
}

.kw-contact-modal .modal-header {
    color: #ffffff;
    background: #1678c2;
}

@media (max-width: 767.98px) {
    .kw-contact-email-preferences {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .kw-contact-selector-card .card-body,
    .kw-contact-card .card-body {
        padding: 16px;
    }

    .kw-contact-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .kw-contact-form-actions .btn {
        width: 100%;
    }
}
/* End Revision 2R.3 Contacts layout */

/* Revision 2R.4: Account Security layout */
.kw-account-security-card {
    overflow: hidden;
    margin: 0 0 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-account-security-card .card-body {
    padding: 20px;
}

.kw-account-security-card .alert {
    margin-bottom: 16px;
}

.kw-account-security-form {
    margin: 0;
}

.kw-security-setting-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid #d9e1e6;
    border-radius: 9px;
}

.kw-security-setting-copy {
    display: grid;
    min-width: 0;
    gap: 5px;
    color: #20384a;
}

.kw-security-setting-copy strong {
    font-size: 13px;
}

.kw-security-setting-copy span {
    color: #6a7d89;
    font-size: 11px;
    line-height: 1.45;
}

.kw-security-setting-control {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.kw-security-status {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.kw-security-status-enabled {
    color: #236f43;
    background: #e6f4eb;
    border: 1px solid #b9ddc5;
}

.kw-security-status-disabled {
    color: #667984;
    background: #edf1f4;
    border: 1px solid #d4dce2;
}

@media (max-width: 767.98px) {
    .kw-security-setting-row {
        grid-template-columns: 1fr;
    }

    .kw-security-setting-control {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .kw-account-security-card .card-body {
        padding: 16px;
    }
}
/* End Revision 2R.4 Account Security layout */

/* Revision 2R.5: Email History layout */
.kw-email-history-card {
    overflow: hidden;
    margin: 0 0 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-email-history-card .card-body {
    padding: 20px;
}

.kw-email-history-table-wrap {
    overflow-x: auto;
    margin: 0;
}

.kw-email-history-table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.kw-email-history-table thead th {
    padding: 11px 14px;
    color: #20384a;
    background: #f3f7fa;
    border-top: 1px solid #d9e1e6;
    border-bottom: 1px solid #d9e1e6;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.kw-email-history-table thead th:first-child {
    border-left: 1px solid #d9e1e6;
    border-top-left-radius: 8px;
}

.kw-email-history-table thead th:last-child {
    border-right: 1px solid #d9e1e6;
    border-top-right-radius: 8px;
}

.kw-email-history-table tbody td {
    padding: 13px 14px;
    color: #294459;
    background: #ffffff;
    border-bottom: 1px solid #e1e7eb;
    font-size: 12px;
    vertical-align: middle;
}

.kw-email-history-row {
    cursor: pointer;
}

.kw-email-history-row:hover td {
    background: #f6fbfe;
}

.kw-email-date {
    width: 190px;
    white-space: nowrap;
}

.kw-email-subject {
    min-width: 320px;
}

.kw-email-action {
    width: 150px;
    text-align: right;
    white-space: nowrap;
}

.kw-email-action .btn {
    min-width: 116px;
}

.kw-email-attachment {
    display: inline-flex;
    margin-left: 5px;
    color: #607987;
}

.kw-email-loading {
    padding: 24px;
    color: #6a7d89;
}

.kw-email-history-card .dataTables_wrapper .dataTables_length,
.kw-email-history-card .dataTables_wrapper .dataTables_filter,
.kw-email-history-card .dataTables_wrapper .dataTables_info,
.kw-email-history-card .dataTables_wrapper .dataTables_paginate {
    color: #526b7a;
    font-size: 11px;
}

.kw-email-history-card .dataTables_wrapper .dataTables_length,
.kw-email-history-card .dataTables_wrapper .dataTables_filter {
    margin-bottom: 12px;
}

.kw-email-history-card .dataTables_wrapper .dataTables_info,
.kw-email-history-card .dataTables_wrapper .dataTables_paginate {
    margin-top: 12px;
}

.kw-email-history-card .dataTables_wrapper select,
.kw-email-history-card .dataTables_wrapper input {
    min-height: 34px;
    border: 1px solid #c7d4dd;
    border-radius: 6px;
}

.kw-email-popup-body {
    min-height: 100vh;
    margin: 0;
    padding: 18px;
    background: #eef3f6;
}

.kw-email-popup-card {
    overflow: hidden;
    max-width: 1100px;
    margin: 0 auto;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 12px 34px rgba(16, 40, 58, 0.12);
}

.kw-email-popup-header {
    padding: 16px 18px;
    color: #10233b;
    background: #ffffff;
    border-bottom: 1px solid #d9e1e6;
}

.kw-email-popup-title {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.kw-email-popup-title .kw-rail-svg-wrap {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    color: #1678c2;
}

.kw-email-popup-title .kw-rail-svg {
    width: 22px;
    height: 22px;
}

.kw-email-popup-title h1 {
    margin: 0;
    color: #10233b;
    font-size: 18px;
    line-height: 1.35;
}

.kw-email-popup-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 12px;
    color: #607987;
    font-size: 11px;
}

.kw-email-popup-content {
    padding: 12px;
    background: #f8fafc;
}

.kw-email-popup-content iframe {
    display: block;
    min-height: 480px;
    background: #ffffff;
    border: 1px solid #d9e1e6;
    border-radius: 8px;
}

.kw-email-popup-footer {
    display: flex;
    justify-content: flex-end;
    padding: 12px 18px;
    background: #ffffff;
    border-top: 1px solid #d9e1e6;
}

.kw-email-popup-footer .btn {
    min-width: 110px;
}

@media (max-width: 767.98px) {
    .kw-email-history-card .card-body {
        padding: 16px;
    }

    .kw-email-date {
        width: 150px;
    }

    .kw-email-subject {
        min-width: 240px;
    }

    .kw-email-popup-body {
        padding: 8px;
    }
}
/* End Revision 2R.5 Email History layout */

/* Revision 2R.6: User Settings layout */
.kw-user-settings-menu-card,
.kw-user-settings-card {
    overflow: hidden;
    margin: 0 0 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-user-settings-menu-card .card-header {
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    color: #10233b;
    background: #ffffff;
    border-bottom: 1px solid #d9e1e6;
    font-size: 17px;
    font-weight: 700;
}

.kw-user-settings-menu-card .card-header .kw-rail-svg-wrap {
    width: 20px;
    height: 20px;
    color: #1678c2;
}

.kw-user-settings-menu-card .card-header .kw-rail-svg {
    width: 20px;
    height: 20px;
}

.kw-user-settings-menu-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
}

.kw-user-settings-menu-action {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    color: #20384a;
    background: #ffffff;
    border: 1px solid #d4dfe7;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}

.kw-user-settings-menu-action:hover,
.kw-user-settings-menu-action:focus {
    color: #105f9c;
    background: #f3f9fd;
    border-color: #8bbfe0;
    text-decoration: none;
}

.kw-user-settings-menu-action.active {
    color: #ffffff;
    background: #1678c2;
    border-color: #1678c2;
}

.kw-user-settings-menu-action .kw-rail-svg-wrap {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: #1678c2;
}

.kw-user-settings-menu-action .kw-rail-svg {
    width: 18px;
    height: 18px;
}

.kw-user-settings-menu-action.active .kw-rail-svg-wrap {
    color: #ffffff;
}

.kw-user-settings-card .card-body {
    padding: 20px;
}

.kw-user-settings-intro {
    margin: 0 0 18px;
    padding: 13px 16px;
    color: #526b7a;
    background: #f3f7fa;
    border: 1px solid #d9e1e6;
    border-radius: 9px;
    font-size: 12px;
}

.kw-user-settings-grid,
.kw-user-settings-email-grid,
.kw-password-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
}

.kw-user-settings-email-grid {
    max-width: 900px;
}

.kw-password-field-grid {
    max-width: 900px;
}

.kw-password-field-full {
    grid-column: 1 / -1;
}

.kw-user-settings-form .form-group {
    margin-bottom: 15px;
}

.kw-user-settings-form .col-form-label {
    display: block;
    margin: 0 0 6px;
    padding: 0;
    color: #20384a;
    font-size: 12px;
    font-weight: 700;
}

.kw-user-settings-form .form-control,
.kw-user-settings-form .custom-select {
    min-height: 40px;
    border-color: #c7d4dd;
    border-radius: 7px;
    font-size: 13px;
}

.kw-user-settings-form .form-control:focus,
.kw-user-settings-form .custom-select:focus {
    border-color: #1678c2;
    box-shadow: 0 0 0 3px rgba(22, 120, 194, 0.14);
}

.kw-user-settings-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #d9e1e6;
}

.kw-user-settings-actions .btn {
    min-width: 118px;
}

.kw-user-verification-status {
    flex: 0 0 auto;
}

.kw-password-generator-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 2px;
}

.kw-password-generator-row .btn {
    min-width: 170px;
}

.kw-linked-accounts-wrap {
    display: grid;
    gap: 16px;
}

.kw-twofa-status {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 4px 10px;
    color: #294459;
    background: #edf4f8;
    border: 1px solid #cedce5;
    border-radius: 999px;
    font-size: 11px;
}

.kw-twofa-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.kw-twofa-actions .btn {
    min-width: 190px;
}

@media (max-width: 767.98px) {
    .kw-user-settings-grid,
    .kw-user-settings-email-grid,
    .kw-password-field-grid {
        grid-template-columns: 1fr;
    }

    .kw-password-field-full {
        grid-column: auto;
    }
}

@media (max-width: 575.98px) {
    .kw-user-settings-menu-list {
        grid-template-columns: 1fr;
    }

    .kw-user-settings-card .card-body {
        padding: 16px;
    }

    .kw-user-settings-actions,
    .kw-twofa-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .kw-user-settings-actions .btn,
    .kw-twofa-actions .btn,
    .kw-password-generator-row .btn {
        width: 100%;
    }
}
/* End Revision 2R.6 User Settings layout */

/* Revision 2R.7: Submit Ticket nbn Health Check */
.kw-nbn-health-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin: 0 0 22px;
    padding: 18px;
    background: #eff8fd;
    border: 1px solid #a9d4ed;
    border-left: 4px solid #1678c2;
    border-radius: 10px;
}

.kw-nbn-health-icon .kw-rail-svg-wrap {
    width: 34px;
    height: 34px;
    color: #1678c2;
}

.kw-nbn-health-icon .kw-rail-svg {
    width: 34px;
    height: 34px;
}

.kw-nbn-health-copy h3 {
    margin: 0 0 5px;
    color: #10233b;
    font-size: 17px;
}

.kw-nbn-health-copy p {
    margin: 0;
    color: #526b7a;
    font-size: 12px;
    line-height: 1.5;
}

.kw-nbn-health-copy label {
    display: block;
    margin: 12px 0 5px;
    color: #20384a;
    font-size: 11px;
    font-weight: 700;
}

.kw-nbn-health-service {
    max-width: 520px;
    min-height: 38px;
}

.kw-nbn-health-action {
    display: grid;
    justify-items: end;
    gap: 6px;
}

.kw-nbn-health-action .btn {
    min-width: 190px;
}

.kw-nbn-health-staging {
    color: #6a7d89;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.kw-nbn-health-page-body {
    min-height: 100vh;
    margin: 0;
    padding: 24px;
    background: #eef3f6;
}

.kw-nbn-health-page-card {
    overflow: hidden;
    max-width: 900px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #d9e1e6;
    border-top: 4px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 12px 34px rgba(16, 40, 58, 0.12);
}

.kw-nbn-health-page-header,
.kw-nbn-health-page-content,
.kw-nbn-health-page-footer {
    padding: 20px;
}

.kw-nbn-health-page-header {
    border-bottom: 1px solid #d9e1e6;
}

.kw-nbn-health-page-header h1 {
    margin: 8px 0 4px;
    color: #10233b;
    font-size: 24px;
}

.kw-nbn-health-page-header p,
.kw-nbn-health-page-status p {
    margin: 0;
    color: #526b7a;
    font-size: 13px;
    line-height: 1.5;
}

.kw-nbn-health-page-badge {
    display: inline-flex;
    padding: 4px 9px;
    color: #7a5312;
    background: #fff4cf;
    border: 1px solid #ecd58e;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.kw-nbn-health-page-service {
    display: grid;
    gap: 4px;
    margin-bottom: 16px;
    padding: 14px;
    background: #f3f8fb;
    border: 1px solid #d2e1ea;
    border-radius: 8px;
}

.kw-nbn-health-page-service span,
.kw-nbn-health-page-service small {
    color: #607987;
    font-size: 11px;
}

.kw-nbn-health-page-status {
    padding: 16px;
    color: #236f43;
    background: #eaf6ee;
    border: 1px solid #b9ddc5;
    border-radius: 8px;
}

.kw-nbn-health-page-status h2 {
    margin: 0 0 6px;
    color: #236f43;
    font-size: 17px;
}

.kw-nbn-health-page-footer {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid #d9e1e6;
}

@media (max-width: 767.98px) {
    .kw-nbn-health-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .kw-nbn-health-action {
        grid-column: 1 / -1;
        justify-items: stretch;
    }

    .kw-nbn-health-action .btn {
        width: 100%;
    }
}
/* End Revision 2R.7 Submit Ticket nbn Health Check */

/* Revision 2R.8: Submit Ticket top Support navigation */
.kw-support-top-card,
.kw-recent-tickets-card {
    overflow: hidden;
    margin: 0 0 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-support-top-card .card-header,
.kw-recent-tickets-card .card-header {
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    color: #10233b;
    background: #ffffff;
    border-bottom: 1px solid #d9e1e6;
    font-size: 17px;
    font-weight: 700;
}

.kw-support-top-card .card-header .kw-rail-svg-wrap,
.kw-recent-tickets-card .card-header .kw-rail-svg-wrap {
    width: 20px;
    height: 20px;
    color: #1678c2;
}

.kw-support-top-card .card-header .kw-rail-svg,
.kw-recent-tickets-card .card-header .kw-rail-svg {
    width: 20px;
    height: 20px;
}

.kw-support-top-menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
}

.kw-support-top-action {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    color: #20384a;
    background: #ffffff;
    border: 1px solid #d4dfe7;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}

.kw-support-top-action:hover,
.kw-support-top-action:focus {
    color: #105f9c;
    background: #f3f9fd;
    border-color: #8bbfe0;
    text-decoration: none;
}

.kw-support-top-action.active {
    color: #ffffff;
    background: #1678c2;
    border-color: #1678c2;
}

.kw-support-top-action .kw-rail-svg-wrap {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: #1678c2;
}

.kw-support-top-action .kw-rail-svg {
    width: 18px;
    height: 18px;
}

.kw-support-top-action.active .kw-rail-svg-wrap {
    color: #ffffff;
}

.kw-recent-tickets-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
}

.kw-recent-ticket {
    display: grid;
    min-width: 0;
    gap: 4px;
    padding: 11px 12px;
    color: #294459;
    background: #f8fafc;
    border: 1px solid #d9e1e6;
    border-radius: 8px;
    text-decoration: none;
}

.kw-recent-ticket:hover,
.kw-recent-ticket:focus {
    color: #105f9c;
    background: #f1f8fc;
    border-color: #8bbfe0;
    text-decoration: none;
}

.kw-recent-ticket-reference {
    color: #1678c2;
    font-size: 11px;
    font-weight: 700;
}

.kw-recent-ticket strong {
    overflow: hidden;
    font-size: 12px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kw-recent-ticket-status {
    justify-self: start;
    padding: 3px 7px;
    color: #607987;
    background: #edf1f4;
    border-radius: 999px;
    font-size: 10px;
}

.kw-ticket-status-open,
.kw-ticket-status-customer-reply,
.kw-ticket-status-answered {
    color: #236f43;
    background: #e6f4eb;
}

@media (max-width: 991.98px) {
    .kw-recent-tickets-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .kw-support-top-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .kw-support-top-menu,
    .kw-recent-tickets-grid {
        grid-template-columns: 1fr;
    }
}
/* End Revision 2R.8 Submit Ticket top Support navigation */

/* Revision 2R.8.1: Submit Ticket refinements */
.kw-recent-tickets-header {
    justify-content: space-between;
}

.kw-recent-tickets-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.kw-recent-tickets-more {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 5px 10px;
    font-size: 11px;
}

.kw-ticket-options {
    overflow: hidden;
    margin-top: 20px;
    background: #ffffff;
    border: 1px solid #d9e1e6;
    border-radius: 10px;
}

.kw-ticket-options-header {
    padding: 14px 16px;
    background: #f3f7fa;
    border-bottom: 1px solid #d9e1e6;
}

.kw-ticket-options-header h3 {
    margin: 0 0 3px;
    color: #10233b;
    font-size: 16px;
}

.kw-ticket-options-header p {
    margin: 0;
    color: #607987;
    font-size: 11px;
}

.kw-ticket-options-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
}

.kw-ticket-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    min-height: 70px;
    padding: 12px 14px;
    color: #20384a;
    background: #ffffff;
    border: 1px solid #d4dfe7;
    border-radius: 8px;
    text-decoration: none;
}

.kw-ticket-option:hover,
.kw-ticket-option:focus {
    color: #105f9c;
    background: #f3f9fd;
    border-color: #8bbfe0;
    box-shadow: 0 4px 12px rgba(16, 95, 156, 0.08);
    text-decoration: none;
}

.kw-ticket-option-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #1678c2;
    background: #eaf5fb;
    border-radius: 8px;
}

.kw-ticket-option-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.kw-ticket-option-copy strong {
    color: inherit;
    font-size: 14px;
    font-weight: 700;
}

.kw-ticket-option-copy small {
    overflow: hidden;
    color: #607987;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kw-ticket-option-arrow {
    color: #8aa0ae;
    font-size: 11px;
}

@media (max-width: 767.98px) {
    .kw-ticket-options-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .kw-recent-tickets-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .kw-recent-tickets-more {
        width: 100%;
        justify-content: center;
    }
}
/* End Revision 2R.8.1 Submit Ticket refinements */

/* Revision 2R.9: View Ticket layout */
.kw-view-ticket-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}

.kw-ticket-summary-card {
    overflow: hidden;
    margin: 0;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(16, 40, 58, 0.05);
}

.kw-ticket-summary-card .card-header,
.kw-ticket-summary-card .panel-heading {
    min-height: 44px;
    padding: 11px 14px;
    color: #10233b;
    background: #f3f7fa;
    border-bottom: 1px solid #d9e1e6;
    font-size: 13px;
    font-weight: 700;
}

.kw-ticket-summary-card .list-group-item {
    padding: 9px 12px;
    color: #294459;
    background: #ffffff;
    border-color: #e1e7eb;
    font-size: 11px;
}

.kw-ticket-summary-card .list-group-item a {
    overflow-wrap: anywhere;
}

.kw-ticket-information-card {
    grid-column: span 2;
}

.kw-ticket-information-card .list-group {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.kw-ticket-information-card .list-group-item {
    min-width: 0;
    border-top: 0;
    border-right: 1px solid #e1e7eb;
}

.kw-ticket-information-card .list-group-item:last-child {
    border-right: 0;
}

.kw-view-ticket-card,
.kw-ticket-reply-card {
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-view-ticket-card > .card-body:first-child {
    padding: 18px 20px !important;
    background: #ffffff;
    border-bottom: 1px solid #d9e1e6;
}

.kw-view-ticket-card .card-title {
    color: #10233b;
    font-size: 19px;
}

.kw-view-ticket-card .ticket-actions {
    display: inline-flex;
    gap: 7px;
}

.kw-view-ticket-card > .card-body:not(:first-child) {
    padding: 0 18px 18px;
    background: #f7f9fb;
}

.kw-view-ticket-card .ticket-reply {
    overflow: hidden;
    margin-top: 18px;
    background: #ffffff;
    border: 1px solid #d9e1e6;
    border-radius: 10px;
}

.kw-view-ticket-card .ticket-reply.staff {
    border-left: 4px solid #1678c2;
}

.kw-view-ticket-card .posted-by {
    padding: 10px 14px;
    color: #526b7a;
    background: #f3f7fa;
    border-bottom: 1px solid #d9e1e6;
    font-size: 11px;
}

.kw-view-ticket-card .message {
    padding: 16px !important;
    color: #243e50;
    font-size: 13px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.kw-view-ticket-card .message img {
    max-width: 100%;
    height: auto;
}

.kw-view-ticket-card .attachments {
    background: #f8fafc;
    border-top: 1px solid #d9e1e6;
}

.kw-ticket-reply-card .card-body {
    padding: 20px;
}

.kw-ticket-reply-card .card-title {
    margin-bottom: 16px;
    color: #10233b;
    font-size: 18px;
}

.kw-view-ticket-ready .main-content,
.kw-view-ticket-ready .content-padded,
.kw-view-ticket-ready .col-md-9,
.kw-view-ticket-ready .col-lg-9 {
    max-width: 100%;
    flex: 0 0 100%;
}

@media (max-width: 991.98px) {
    .kw-view-ticket-summary {
        grid-template-columns: 1fr;
    }

    .kw-ticket-information-card {
        grid-column: auto;
    }

    .kw-ticket-information-card .list-group {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .kw-ticket-information-card .list-group {
        grid-template-columns: 1fr;
    }

    .kw-view-ticket-card .ticket-actions {
        display: flex;
        width: 100%;
        margin-top: 12px !important;
        float: none !important;
    }

    .kw-view-ticket-card .ticket-actions .btn {
        flex: 1 1 0;
    }
}
/* End Revision 2R.9 View Ticket layout */

/* Revision 2R.9.1: View Ticket wide content */
body.kw-view-ticket-ready .kw-view-ticket-container {
    width: calc(100% - 48px);
    max-width: 1600px;
}

body.kw-view-ticket-ready .kw-view-ticket-content-row {
    margin-right: 0;
    margin-left: 0;
}

body.kw-view-ticket-ready .kw-view-ticket-content-row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-right: 0;
    padding-left: 0;
}

body.kw-view-ticket-ready .kw-view-ticket-summary,
body.kw-view-ticket-ready .kw-view-ticket-card,
body.kw-view-ticket-ready .kw-ticket-reply-card,
body.kw-view-ticket-ready .kw-support-top-card {
    width: 100%;
    max-width: none;
}

@media (max-width: 767.98px) {
    body.kw-view-ticket-ready .kw-view-ticket-container {
        width: calc(100% - 24px);
    }
}
/* End Revision 2R.9.1 View Ticket wide content */

/* Revision 2R.9.2: View Ticket full browser width */
body.kw-view-ticket-ready .kw-view-ticket-container {
    width: 100%;
    max-width: none;
    padding-right: 24px;
    padding-left: 24px;
}

body.kw-view-ticket-ready .kw-view-ticket-content-row,
body.kw-view-ticket-ready .kw-view-ticket-content-row > [class*="col-"] {
    width: 100%;
    max-width: none;
    flex-basis: 100%;
}

body.kw-view-ticket-ready .kw-support-top-card,
body.kw-view-ticket-ready .kw-view-ticket-summary,
body.kw-view-ticket-ready .kw-view-ticket-card,
body.kw-view-ticket-ready .kw-ticket-reply-card {
    width: 100%;
    max-width: none;
}

@media (max-width: 767.98px) {
    body.kw-view-ticket-ready .kw-view-ticket-container {
        padding-right: 12px;
        padding-left: 12px;
    }
}
/* End Revision 2R.9.2 View Ticket full browser width */

/* Revision 2R.9.3: View Ticket forced full width */
body.kw-view-ticket-ready .kw-view-ticket-full-width-shell,
body.kw-view-ticket-ready .container.kw-view-ticket-full-width-shell,
body.kw-view-ticket-ready .container-fluid.kw-view-ticket-full-width-shell {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 24px !important;
    padding-left: 24px !important;
}

body.kw-view-ticket-ready .kw-view-ticket-full-width-content,
body.kw-view-ticket-ready .kw-view-ticket-full-width-column,
body.kw-view-ticket-ready .kw-view-ticket-content-row > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
}

body.kw-view-ticket-ready .kw-view-ticket-full-width-content,
body.kw-view-ticket-ready .kw-view-ticket-full-width-column {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body.kw-view-ticket-ready #kwViewTicketSummary,
body.kw-view-ticket-ready .kw-support-top-card,
body.kw-view-ticket-ready .kw-view-ticket-card,
body.kw-view-ticket-ready .kw-ticket-reply-card {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 767.98px) {
    body.kw-view-ticket-ready .kw-view-ticket-full-width-shell,
    body.kw-view-ticket-ready .container.kw-view-ticket-full-width-shell,
    body.kw-view-ticket-ready .container-fluid.kw-view-ticket-full-width-shell {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }
}
/* End Revision 2R.9.3 View Ticket forced full width */

/* Revision 2R.10: Downloads layout */
.kw-downloads-search-card,
.kw-downloads-section,
.kw-download-files-card {
    overflow: hidden;
    margin: 0 0 18px;
    background: #ffffff;
    border: 1px solid #d9e1e6;
    border-top: 3px solid #1678c2;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(16, 40, 58, 0.05);
}

.kw-downloads-search-card form {
    padding: 14px;
}

.kw-downloads-search-card .kb-search {
    margin-bottom: 0 !important;
}

.kw-downloads-section-heading {
    display: flex;
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #f3f7fa;
    border-bottom: 1px solid #d9e1e6;
}

.kw-downloads-section-heading h2 {
    margin: 0 0 3px;
    color: #10233b;
    font-size: 17px;
}

.kw-downloads-section-heading p {
    margin: 0;
    color: #607987;
    font-size: 11px;
}

.kw-download-category-grid {
    padding: 12px 12px 0;
}

.kw-download-category-card {
    border: 1px solid #d4dfe7;
    border-radius: 9px;
    box-shadow: none;
}

.kw-download-category-card:hover {
    border-color: #8bbfe0;
    box-shadow: 0 4px 12px rgba(16, 95, 156, 0.08);
}

.kw-download-category-card .card-body {
    min-height: 74px;
    color: #20384a;
}

.kw-download-category-card .h5 {
    color: #105f9c;
    font-size: 14px;
}

.kw-download-files-card .card-body {
    padding: 14px 16px;
    background: #f3f7fa;
    border-bottom: 1px solid #d9e1e6;
}

.kw-download-files-card .card-title {
    color: #10233b;
    font-size: 17px;
}

.kw-download-files-card .list-group-item {
    padding: 13px 16px;
    color: #294459;
}

.kw-download-files-card .list-group-item:hover {
    color: #105f9c;
    background: #f3f9fd;
}
/* End Revision 2R.10 Downloads layout */

/* Keep the left navigation scrollable while hiding its scrollbar. */
.kw-rail-scroll {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

.kw-rail-scroll::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
    background: transparent !important;
}

/* Order menu: make the disabled Hardware item and status intentional. */
.kw-order-nav-list .kw-order-nav-disabled {
    margin: 5px 8px 2px 22px;
    padding: 8px 9px 8px 12px;
    color: #b8cbd8 !important;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 7px;
    opacity: 1 !important;
}

.kw-order-nav-list .kw-order-nav-disabled > span:first-child {
    color: #b8cbd8 !important;
    font-weight: 650;
}

.kw-order-nav-list .kw-order-nav-disabled small {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 3px 6px;
    color: #ffd36a !important;
    background: rgba(255, 190, 46, 0.12);
    border: 1px solid rgba(255, 200, 77, 0.36);
    border-radius: 999px;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.055em;
    white-space: nowrap;
    text-transform: uppercase;
}

/* Order menu: left-align Hardware and its Coming Soon badge. */
.kw-order-nav-list .kw-order-nav-disabled {
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 7px !important;
    padding-left: 12px !important;
    text-align: left;
}

.kw-order-nav-list .kw-order-nav-disabled > span:first-child {
    flex: 0 0 auto;
    text-align: left;
}

.kw-order-nav-list .kw-order-nav-disabled small {
    margin-left: 0 !important;
}

/* Final alignment for the disabled Hardware menu item. */
.kw-order-nav-list .kw-order-nav-disabled {
    margin: 5px 8px 2px 22px !important;
    padding: 7px 8px 7px 12px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

.kw-order-nav-list .kw-order-nav-disabled > span:first-child {
    flex: 0 0 auto !important;
}

.kw-order-nav-list .kw-order-nav-disabled small {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* Align the Hardware placeholder with the OTHER SERVICES heading. */
.kw-order-nav-list .kw-order-nav-disabled {
    margin: 7px 8px 3px 0 !important;
    padding: 8px 10px !important;
    justify-content: flex-start !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    text-align: left !important;
}

.kw-order-nav-list .kw-order-nav-disabled > span:first-child,
.kw-order-nav-list .kw-order-nav-disabled small {
    margin: 0 !important;
}

/* Qualification page: selected-plan summary. */
.kw-qualification-plan {
    position: relative;
    margin: 22px 0 !important;
    padding: 24px !important;
    overflow: hidden;
    border: 1px solid #cfe0ea !important;
    border-radius: 14px !important;
    background:
        linear-gradient(
            135deg,
            rgba(8, 124, 188, 0.055),
            rgba(255, 255, 255, 0.96) 62%
        ) !important;
    box-shadow: 0 8px 22px rgba(8, 35, 58, 0.055);
}

.kw-qualification-plan::before {
    display: block;
    margin-bottom: 12px;
    color: #087cbc;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.12em;
    content: "SELECTED PLAN";
}

.kw-qualification-plan > div {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 8px;
}

.kw-qualification-plan > div strong {
    color: #08233a;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
}

.kw-qualification-plan > div span {
    flex: 0 0 auto;
    padding: 5px 10px;
    color: #075f96;
    background: #e8f6fc;
    border: 1px solid #b9dfef;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.kw-qualification-plan > p {
    max-width: 680px;
    margin: 0 !important;
    color: #4f6879;
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 600px) {
    .kw-qualification-plan > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
}

/* Stage 2 provides a semantic Selected plan label. */
.kw-qualification-plan::before {
    display: none !important;
    content: none !important;
}

/* Stage 2 template renders the Selected plan label directly. */
.kw-qualification-plan::before {
    display: none !important;
    content: none !important;
}
