﻿/* --------------------------------------------------
   DyarHost V2 - Premium Client Area Design System
   Child theme override for WHMCS Nexus parent theme.
-------------------------------------------------- */

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iranyekanwebthinfanum.woff") format("woff");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iranyekanweblightfanum.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iranyekanwebregularfanum.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iranyekanwebmediumfanum.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iranyekanwebboldfanum.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iranyekanwebextraboldfanum.woff") format("woff");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IRANYekan";
    src: url("../fonts/iranyekanwebblackfanum.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --font-sans: "IRANYekan", "Segoe UI", Tahoma, sans-serif;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;

    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.625rem;
    --radius-xl: 0.75rem;
    --radius-pill: 999px;

    --surface-0: #edf2fa;
    --surface-1: #ffffff;
    --surface-2: #f4f7fd;
    --surface-3: #e5ecf8;
    --text-1: #1d2f62;
    --text-2: #364b7f;
    --text-3: #7184ab;
    --border-1: #d4deef;
    --border-2: #c0cfe5;

    --primary-1: #1f3270;
    --primary-2: #365bc8;
    --primary-3: #4f72d6;
    --accent-1: #667fb8;
    --accent-2: #95acd2;

    --success: #1f7a5c;
    --warning: #9a6a1f;
    --danger: #9b2f44;
    --error: #9b2f44;
    --error-lifted: #b74158;
    --info: #2f5f8c;

    --shadow-sm: 0 1px 2px rgba(31, 50, 112, 0.05);
    --shadow-md: 0 6px 14px rgba(31, 50, 112, 0.1);
    --shadow-lg: 0 14px 28px rgba(31, 50, 112, 0.14);
}

html,
body,
button,
input,
select,
textarea,
.btn,
.nav,
.dropdown-menu {
    font-family: var(--font-sans) !important;
}

html,
body {
    direction: rtl;
    text-align: right;
}

body {
    min-height: 100vh;
    color: var(--text-1);
    background-color: var(--surface-0);
    background-image: linear-gradient(180deg, #edf2fa 0%, #f3f7fe 45%, #eef3fb 100%);
}

a {
    color: var(--primary-3);
    transition: color 0.22s ease;
}

a:hover,
a:focus {
    color: var(--primary-2);
}

label {
    margin-bottom: unset !important;
}

/* Keep technical fields readable left-to-right */
input[type="email"],
input[type="url"],
input[type="tel"],
input[name*="domain"],
input[name*="hostname"],
code,
kbd,
pre,
.text-monospace {
    direction: ltr;
    text-align: left;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    padding: var(--space-3) 0;
}

.client-topbar {
    margin-bottom: var(--space-3);
}

.client-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    direction: ltr;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-5);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, var(--primary-1) 0%, var(--primary-2) 100%);
    box-shadow: 0 10px 24px rgba(31, 50, 112, 0.2);
}

.client-topbar-inner .topbar-notifications,
.client-topbar-inner .topbar-account {
    direction: rtl;
}

/* Merge top bar and nav shell into one continuous header block */
.site-header .client-topbar {
    margin-bottom: 0;
}

.site-header .client-topbar-inner {
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.site-header .client-topbar+.container .main-nav-shell {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.topbar .btn,
.topbar .input-group-text {
    color: #fff;
}

.topbar .btn-primary {
    color: #fff;
}

.topbar .input-group-text {
    border-color: rgba(255, 255, 255, 0.26);
    background: rgba(255, 255, 255, 0.12);
}

#accountNotifications {
    border-radius: var(--radius-pill);
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.82rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: 0.5rem 0.95rem;
}

#accountNotifications:hover,
#accountNotifications:focus {
    background: rgba(255, 255, 255, 0.2);
}

/* Force Persian font on account notifications popover */
.popover.popover-user-notifications,
.popover.popover-user-notifications .popover-body,
.popover.popover-user-notifications .client-alerts,
.popover.popover-user-notifications .client-alerts li,
.popover.popover-user-notifications .client-alerts li a,
.popover.popover-user-notifications .client-alerts li .message,
.popover.popover-user-notifications .client-alerts li.none {
    font-family: var(--font-sans) !important;
}

/* Ensure topbar controls keep readable contrast in all inherited states */
.client-topbar-inner .btn,
.client-topbar-inner .btn span,
.client-topbar-inner .btn i {
    color: #fff !important;
}

#accountNotifications {
    color: #fff !important;
}

.active-client .btn-active-client,
.active-client .btn-active-client span {
    color: #fff !important;
}

.active-client .btn-group>.btn:hover,
.active-client .btn-group>.btn:focus,
.active-client .btn-group>.btn:hover i,
.active-client .btn-group>.btn:focus i,
.active-client .btn-group>.btn:hover span,
.active-client .btn-group>.btn:focus span {
    color: #fff !important;
}

.active-client {
    margin-bottom: 0;
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    min-width: 0;
    gap: var(--space-2);
}

.active-client .input-group-prepend {
    margin: 0;
}

.active-client .input-group-text {
    height: 40px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: rgba(255, 255, 255, 0.95);
    padding-inline: 0.85rem;
}

.active-client .btn-group {
    display: inline-flex;
    align-items: stretch;
    flex-wrap: nowrap;
    min-width: 0;
    max-width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: var(--radius-pill);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 20px rgba(20, 36, 88, 0.16);
}

.active-client .btn-group>.btn {
    border: 0;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.22);
    background: transparent;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.active-client .btn-group>.btn:first-child {
    border-inline-start: 0;
}

.active-client .btn-group>.btn:hover,
.active-client .btn-group>.btn:focus {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    text-decoration: none;
}

.active-client .btn-group>.btn:focus-visible {
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.45);
    outline: 0;
}

.active-client .btn-active-client {
    border-radius: 0;
    padding-inline: 0.95rem;
    font-weight: 600;
    font-size: 0.88rem;
    line-height: 1;
    max-width: 240px;
    min-width: 148px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.active-client .btn-active-client>span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.active-client .btn-group>.btn:not(.btn-active-client) {
    width: 42px;
    min-width: 42px;
    padding: 0;
}

.active-client .btn-group>.btn-return-to-admin {
    width: auto;
    min-width: 44px;
    padding-inline: 0.7rem;
}

.main-nav-shell {
    border: 1px solid var(--border-1);
    border-radius: var(--radius-xl);
    background: var(--surface-1);
    box-shadow: var(--shadow-sm);
}

.main-nav-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: 0 1rem;
    min-height: 58px;
    border-bottom: 1px solid var(--border-1);
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    margin: 0;
    line-height: 1.25;
    color: var(--text-1);
    font-weight: 800;
    letter-spacing: 0.01em;
    font-size: 1.06rem;
}

.navbar-brand:hover,
.navbar-brand:focus {
    color: var(--text-1);
    text-decoration: none;
}

.logo-img {
    max-height: 34px;
    width: auto;
}

.kb-search-form {
    display: none !important;
    margin-inline-start: auto;
    margin-inline-end: var(--space-2);
    width: min(100%, 460px);
}

.kb-search-form-mobile {
    display: none !important;
}

.kb-search-form .input-group,
.kb-search-form-mobile .input-group {
    min-height: 3rem;
    border: 1px solid #9fb0c4;
    border-radius: var(--radius-pill);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.kb-search-form .input-group-prepend,
.kb-search-form-mobile .input-group-prepend {
    display: flex;
    align-items: center;
    margin: 0.25rem;
    border: 1px solid #c6d2df;
    border-radius: var(--radius-pill);
    background: #f9fbfd;
}

.kb-search-form .input-group:hover,
.kb-search-form-mobile .input-group:hover {
    border-color: #9dafc3;
    background: #fbfcfe;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.07);
}

.kb-search-form .btn,
.kb-search-form-mobile .btn {
    border: 0;
    color: #5a6e83;
    background: transparent;
    width: 2.3rem;
    min-width: 2.3rem;
    height: 2.3rem;
    margin-inline-start: 0.36rem;
    border-radius: var(--radius-pill);
    padding: 0;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.kb-search-form .form-control,
.kb-search-form-mobile .form-control {
    border: 0;
    box-shadow: none;
    background: transparent;
    color: #223548;
    font-weight: 500;
    font-size: 0.9rem;
    padding-inline: 0.45rem 0.95rem;
}

.kb-search-form .form-control::placeholder,
.kb-search-form-mobile .form-control::placeholder {
    color: #7a899a;
    opacity: 1;
}

.kb-search-form .btn:hover,
.kb-search-form .btn:focus,
.kb-search-form-mobile .btn:hover,
.kb-search-form-mobile .btn:focus {
    color: #fff;
    background: var(--primary-2);
}

.kb-search-form .input-group-prepend:hover,
.kb-search-form .input-group-prepend:focus-within,
.kb-search-form-mobile .input-group-prepend:hover,
.kb-search-form-mobile .input-group-prepend:focus-within {
    border-color: var(--primary-2);
    background: rgba(54, 91, 200, 0.08);
}

.kb-search-form .input-group:focus-within,
.kb-search-form-mobile .input-group:focus-within {
    border-color: var(--primary-2);
    box-shadow: 0 0 0 2px rgba(54, 91, 200, 0.14), 0 1px 4px rgba(15, 23, 42, 0.08);
}

.kb-search-form .input-group:focus-within .btn,
.kb-search-form-mobile .input-group:focus-within .btn {
    color: #fff;
    background: var(--primary-2);
}

@media (max-width: 575px) {
    .kb-search-form-mobile .input-group {
        min-height: 2.75rem;
    }
}

.header-toolbar {
    display: flex;
    align-items: center;
    flex-direction: row;
    margin: 0;
    padding: 0;
    gap: var(--space-2);
    list-style: none;
}

.header-toolbar .btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-2);
    background: var(--surface-1);
    color: var(--text-2);
}

.header-toolbar .cart-btn {
    overflow: visible;
}

.header-toolbar .btn:hover,
.header-toolbar .btn:focus {
    border-color: rgba(54, 91, 200, 0.4);
    color: var(--primary-2);
    background: var(--surface-2);
}

#cartItemCount {
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 1.35rem;
    height: 1.35rem;
    border-radius: var(--radius-pill);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    border: 2px solid var(--surface-1);
    background: var(--primary-2);
    color: #fff;
    padding: 0 0.3rem;
    box-shadow: none;
}

#cartItemCount:empty {
    display: none;
}

.site-navbar {
    padding: var(--space-2) var(--space-5) var(--space-4);
}

.site-navbar .navbar-collapse {
    align-items: center;
    gap: var(--space-4);
    justify-content: space-between;
}

.nav-primary {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

ul#nav.navbar-nav.nav-primary {
    gap: 1rem;
    margin: 0 !important;
    padding-right: 1rem;
}

.nav-account-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 2.4rem;
    border: 1px solid #bcc8d6;
    border-radius: 0.75rem;
    padding: 0.16rem 0.5rem;
    background: #f8fafc;
    box-shadow: none;
}

.nav-account-group {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: nowrap;
    margin-left: 0.5rem;
}

.nav-account-icon {
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-2);
    background: transparent;
    border: 0;
    padding: 0;
    padding-inline-start: 0.12rem;
    padding-inline-end: 0;
    font-size: 0.78rem;
    line-height: 1;
    flex: 0 0 auto;
}

.nav-account-icon i {
    display: block;
    font-size: 1em;
    line-height: 1;
}

.nav-secondary {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    margin: 0;
    padding: 0;
}

.nav-account-actions {
    display: inline-flex;
    align-items: center;
    gap: 0;
}

/* Override parent theme navbar spacing inside account pill */
.nav-account-pill .navbar-nav.nav-secondary {
    margin: 0 !important;
    padding: 0 !important;
}

.nav-account-pill .nav-account-actions,
.nav-account-pill .nav-secondary,
.nav-account-pill .nav-secondary .nav-menu-item {
    height: auto;
}

.nav-account-pill .nav-secondary .nav-menu-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    justify-content: center;
    min-height: 2rem !important;
    padding: 0.16rem 0.5rem !important;
    padding-inline-start: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-size: 0.85rem !important;
    font-weight: 700;
    border-radius: 0.5rem;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.site-navbar .nav-primary .nav-menu-link {
    font-size: small !important;
    padding: 0 1rem !important;
    min-height: 2rem;
    align-items: center;
    border: 0;
    background: transparent;
    box-shadow: none;
    position: relative;
    color: var(--primary-1);
}

.site-navbar .nav-primary .nav-menu-link::before {
    content: "";
    position: absolute;
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.15rem;
    height: 2px;
    background: var(--primary-2);
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-navbar .nav-primary .nav-menu-link.dropdown-toggle::after {
    margin-right: 0.2rem;
    margin-left: 0;
}

.nav-account-pill .nav-secondary .nav-menu-link>span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    transform: none;
    white-space: nowrap;
    unicode-bidi: plaintext;
}

.nav-account-pill .nav-secondary .nav-menu-link.dropdown-toggle::after {
    align-self: center;
    margin-top: 0 !important;
    margin-right: 0.35rem;
    margin-left: 0;
    vertical-align: middle !important;
}

.nav-account-pill .nav-secondary .nav-menu-link:hover,
.nav-account-pill .nav-secondary .nav-menu-link:focus,
.nav-account-pill .nav-secondary .nav-menu-item.active>.nav-menu-link,
.nav-account-pill .nav-secondary .nav-menu-item.open>.nav-menu-link {
    color: var(--text-1);
    background: transparent !important;
}

.site-navbar .nav-primary .nav-menu-link:hover,
.site-navbar .nav-primary .nav-menu-link:focus,
.site-navbar .nav-primary .nav-menu-item.active>.nav-menu-link,
.site-navbar .nav-primary .nav-menu-item.open>.nav-menu-link,
.site-navbar .nav-primary .nav-menu-item.show>.nav-menu-link,
.site-navbar .nav-primary .nav-menu-link[aria-expanded="true"] {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.site-navbar .nav-primary .nav-menu-link:hover::before,
.site-navbar .nav-primary .nav-menu-link:focus::before,
.site-navbar .nav-primary .nav-menu-item.active>.nav-menu-link::before,
.site-navbar .nav-primary .nav-menu-item.open>.nav-menu-link::before,
.site-navbar .nav-primary .nav-menu-item.show>.nav-menu-link::before,
.site-navbar .nav-primary .nav-menu-link[aria-expanded="true"]::before {
    transform: scaleX(1);
    opacity: 1;
}

.nav-secondary .nav-menu-item {
    display: flex;
    align-items: center;
    height: auto;
}

.nav-secondary .nav-menu-link {
    display: inline-flex;
    align-items: center;
    border: 0;
    background: transparent;
    min-height: 1.8rem;
    padding: 0.22rem 0.5rem;
    border-radius: var(--radius-pill);
    font-size: 0.84rem;
    line-height: 1.3;
}

.nav-secondary .nav-menu-link.dropdown-toggle::after {
    align-self: center;
}

.nav-secondary .nav-menu-link:hover,
.nav-secondary .nav-menu-link:focus,
.nav-secondary .nav-menu-item.active>.nav-menu-link,
.nav-secondary .nav-menu-item.open>.nav-menu-link {
    border-color: transparent;
    background: var(--surface-2);
}

.nav-menu-item {
    list-style: none;
}

.nav-menu-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    border-radius: var(--radius-md);
    padding: 0.55rem 0.85rem;
    color: var(--text-2);
    font-size: 0.9rem;
    font-weight: 600;
    border: 1px solid transparent;
    line-height: 1.2;
    transition: color 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.site-navbar .nav-primary .nav-menu-link>i {
    width: 1rem;
    min-width: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    line-height: 1;
    color: var(--primary-2);
    opacity: 0.95;
    transition: color 0.22s ease, transform 0.22s ease, opacity 0.22s ease;
}

.site-navbar .nav-primary .nav-menu-link>span {
    display: inline-flex;
    align-items: center;
}

.nav-menu-link.dropdown-toggle::after {
    margin-left: 0;
    margin-right: 0.35rem;
    transition: transform 0.2s ease;
}

.collapsable-dropdown>.nav-menu-link {
    border: 1px solid var(--border-2);
    border-radius: var(--radius-pill);
    background: var(--surface-1);
    padding: 0.42rem 0.85rem;
}

.nav-menu-link:hover,
.nav-menu-link:focus,
.nav-menu-item.active>.nav-menu-link,
.nav-menu-item.open>.nav-menu-link {
    color: var(--primary-2);
    border-color: var(--border-2);
    background: var(--surface-1);
    text-decoration: none;
}

.site-navbar .nav-primary .nav-menu-link:hover>i,
.site-navbar .nav-primary .nav-menu-link:focus>i,
.site-navbar .nav-primary .nav-menu-item.active>.nav-menu-link>i,
.site-navbar .nav-primary .nav-menu-item.open>.nav-menu-link>i {
    color: var(--primary-1);
    opacity: 1;
    transform: translateY(-1px) scale(1.06);
}

.site-navbar .nav-primary .nav-menu-item.open>.nav-menu-link.dropdown-toggle::after {
    transform: rotate(180deg);
}

.nav-menu-item .badge {
    border-radius: var(--radius-pill);
    background: var(--surface-2);
    color: var(--primary-2);
    font-size: 0.69rem;
    padding: 0.18rem 0.45rem;
}

.dropdown-menu {
    border: 1px solid var(--border-1);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    padding: var(--space-2);
    min-width: 14rem;
    margin-top: var(--space-2);
    text-align: right;
}

.dropdown-item {
    border-radius: 0.6rem;
    color: var(--text-2);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.86rem;
    font-weight: 500;
    padding: 0.5rem 0.7rem;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
    color: var(--primary-2);
    background: var(--surface-2);
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    opacity: 0.58;
}

/* Compact top navigation dropdowns */
.site-navbar .dropdown-menu {
    padding: 0.3rem;
    min-width: 10.75rem;
    margin-top: 0.35rem;
    border-radius: 0.45rem;
    left: auto;
    right: 0;
}

/* Smooth open/close animation for top-nav dropdowns (desktop) */
.site-navbar .nav-menu-item.dropdown>.dropdown-menu {
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px) scale(0.98);
    transform-origin: top right;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
}

.site-navbar .nav-menu-item.dropdown.open>.dropdown-menu,
.site-navbar .nav-menu-item.dropdown.show>.dropdown-menu,
.site-navbar .nav-menu-item.dropdown>.dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s, 0s, 0s;
}

@media (prefers-reduced-motion: reduce) {

    .site-navbar .nav-menu-item.dropdown>.dropdown-menu,
    .site-navbar .nav-menu-item.dropdown.open>.dropdown-menu,
    .site-navbar .nav-menu-item.dropdown.show>.dropdown-menu,
    .site-navbar .nav-menu-item.dropdown>.dropdown-menu.show {
        transition: none;
        transform: none;
    }
}

.site-navbar .dropdown-item {
    border-radius: 0.45rem;
    gap: 0.35rem;
    font-size: 0.76rem;
    padding: 0.34rem 0.55rem;
}

.site-navbar .dropdown-item>span {
    line-height: 1.2;
}

.site-navbar .dropdown-menu>li.dropdown-item {
    padding: 0;
    border-radius: 0;
}

.site-navbar .dropdown-menu>li.dropdown-item>a.dropdown-item {
    display: flex;
}

.site-navbar .dropdown-menu>li.dropdown-item>a.dropdown-item,
.site-navbar .dropdown-menu>li.dropdown-item>a.dropdown-item>span {
    font-size: small !important;
    line-height: 1.25 !important;
}

/* Hide submit/open support ticket quick-link only inside dropdown menus */
.dropdown-menu a[href*="submitticket.php"],
.dropdown-menu a[href*="supporttickets.php?action=open"],
.dropdown-menu a[href*="supporttickets.php?action=add"],
.dropdown-menu a[href*="/support/tickets/open"] {
    display: none !important;
}

/* Hide submit-ticket item from primary navbar (we show dedicated button near account/login) */
#nav a[href*="submitticket.php"],
#nav a[href*="supporttickets.php?action=open"],
#nav a[href*="supporttickets.php?action=add"],
#nav a[href*="/support/tickets/open"] {
    display: none !important;
}

.btn.submit-ticket-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.3rem;
    padding: 0.22rem 0.9rem;
    white-space: nowrap;
    margin-inline-start: 0;
    border-color: var(--primary-2);
    background: var(--primary-2);
    background-image: none;
    color: #fff !important;
    font-weight: 600;
    font-size: 0.84rem;
    line-height: 1.3;
}

.btn.submit-ticket-btn span,
.btn.submit-ticket-btn i {
    color: #fff !important;
}

.btn.submit-ticket-btn:hover,
.btn.submit-ticket-btn:focus {
    border-color: var(--primary-1);
    background: var(--primary-1);
    background-image: none;
    color: #fff;
}

.btn.submit-ticket-btn i {
    font-size: 0.84rem;
    line-height: 1;
    color: inherit;
}

.btn.submit-ticket-btn span {
    display: inline-flex;
    align-items: center;
    line-height: 1.3;
}

@media (max-width: 1199px) {
    .submit-ticket-btn {
        width: 100%;
        justify-content: center;
    }

    .nav-account-group {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .nav-account-pill {
        width: 100%;
    }
}

.master-breadcrumb {
    margin-top: var(--space-4);
    margin-bottom: var(--space-5);
    display: flex;
    justify-content: flex-end;
}

.master-breadcrumb .container {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    max-width: 100%;
    margin: 0;
    margin-left: auto !important;
    border: 1px solid #d2dced;
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #fbfdff 0%, #f2f7ff 100%);
    padding: 0.42rem 0.82rem;
}

.master-breadcrumb .breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.12rem;
    background: transparent;
    margin-bottom: 0;
    padding: 0;
    direction: rtl;
}

.master-breadcrumb .breadcrumb-item,
.master-breadcrumb .breadcrumb-item a {
    color: #5f749f;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.35;
}

.master-breadcrumb .breadcrumb-item a {
    display: inline-flex;
    align-items: center;
}

.master-breadcrumb .breadcrumb-item.active {
    color: #2c467e;
    font-weight: 800;
}

.master-breadcrumb .breadcrumb-item.active::before {
    opacity: 0.65;
}

.master-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    content: "›";
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-3);
    padding: 0 0.42rem;
}

/* Main body */
#main-body {
    padding-bottom: var(--space-8);
}

#main-body .sidebar {
    margin-bottom: var(--space-4);
}

#main-body .sidebar .card,
#main-body .sidebar .panel {
    border: 1px solid var(--border-1);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

/* Sidebar cards: align visual style with order-page category/action cards */
#main-body .sidebar .card-sidebar,
#main-body .sidebar .panel.panel-sidebar {
    border: 1px solid #c7d2df;
    border-radius: 0.72rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

#main-body .sidebar .card-sidebar>.card-header,
#main-body .sidebar .panel.panel-sidebar>.panel-heading {
    border-bottom: 1px solid #d5deea;
    background: #edf2f8;
    padding: 0.84rem 1rem;
}

#main-body .sidebar .card-sidebar>.card-header .card-title,
#main-body .sidebar .panel.panel-sidebar>.panel-heading .panel-title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.42rem;
    color: #264380;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

#main-body .sidebar .card-sidebar>.card-header .card-title>.fas:first-child,
#main-body .sidebar .card-sidebar>.card-header .card-title>.far:first-child,
#main-body .sidebar .panel.panel-sidebar>.panel-heading .panel-title>.fas:first-child,
#main-body .sidebar .panel.panel-sidebar>.panel-heading .panel-title>.far:first-child {
    display: inline-flex !important;
    font-size: 0.92rem;
    color: #2c4f95;
}

#main-body .sidebar .card-sidebar .card-minimise,
#main-body .sidebar .panel.panel-sidebar .panel-minimise {
    float: none !important;
    margin-inline-start: auto;
    color: #2c4f95;
    font-size: 0.88rem;
}

#main-body .sidebar .card-sidebar .list-group,
#main-body .sidebar .panel.panel-sidebar .list-group {
    margin-bottom: 0;
    background: #fff;
}

#main-body .sidebar .card-sidebar .list-group-item,
#main-body .sidebar .panel.panel-sidebar .list-group-item {
    border: 0;
    border-top: 1px solid #dbe4ee;
    background: #fff;
    color: #274382;
    font-size: 0.95rem;
    font-weight: 700;
    padding: 0.82rem 1rem;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#main-body .sidebar .card-sidebar .list-group-item:first-child,
#main-body .sidebar .panel.panel-sidebar .list-group-item:first-child {
    border-top: 0;
}

#main-body .sidebar .card-sidebar .list-group-item:hover,
#main-body .sidebar .card-sidebar .list-group-item:focus,
#main-body .sidebar .card-sidebar .list-group-item.active,
#main-body .sidebar .card-sidebar .list-group-item.active:hover,
#main-body .sidebar .card-sidebar .list-group-item.active:focus,
#main-body .sidebar .panel.panel-sidebar .list-group-item:hover,
#main-body .sidebar .panel.panel-sidebar .list-group-item:focus,
#main-body .sidebar .panel.panel-sidebar .list-group-item.active,
#main-body .sidebar .panel.panel-sidebar .list-group-item.active:hover,
#main-body .sidebar .panel.panel-sidebar .list-group-item.active:focus {
    background: #e5edf7;
    color: #264380;
}

#main-body .sidebar .card-sidebar .list-group-item>i.far.fa-circle,
#main-body .sidebar .panel.panel-sidebar .list-group-item>i.far.fa-circle {
    display: none;
}

#main-body .sidebar .card-sidebar .sidebar-menu-item-wrapper,
#main-body .sidebar .panel.panel-sidebar .sidebar-menu-item-wrapper {
    display: flex;
    align-items: center;
    gap: 0.55rem !important;
    width: 100%;
}

#main-body .sidebar .card-sidebar .sidebar-menu-item-label,
#main-body .sidebar .panel.panel-sidebar .sidebar-menu-item-label {
    flex: 1;
}

#main-body .sidebar .card-sidebar .sidebar-menu-item-icon-wrapper,
#main-body .sidebar .panel.panel-sidebar .sidebar-menu-item-icon-wrapper {
    color: #2c4f95;
    width: 1.05rem;
    text-align: center;
}

#main-body .sidebar .card-sidebar .card-footer,
#main-body .sidebar .panel.panel-sidebar .panel-footer {
    padding: 0.75rem 1rem;
    border-top: 1px solid #dbe4ee;
    background: #fff;
}

/* Dashboard */
.client-dashboard {
    display: block;
    margin-bottom: var(--space-6);
}

.metric-grid {
    margin-bottom: var(--space-6);
}

.metric-card {
    height: 100%;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    border: 1px solid var(--border-1);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    background: var(--surface-1);
    box-shadow: var(--shadow-sm);
    color: var(--text-1);
    text-decoration: none;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.metric-card:hover,
.metric-card:focus {
    border-color: #b0bccb;
    box-shadow: var(--shadow-md);
    color: var(--text-1);
    text-decoration: none;

    .metric-icon {
        background: var(--primary-2);
    }
}

.metric-icon {
    width: 50px;
    height: 50px;
    border-radius: var(--radius-md);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease, border-inline-end-color 0.2s ease;
    background: var(--primary-1);

}


.metric-body {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.metric-value {
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 1.05;
    color: var(--primary-1);
}

.metric-label {
    font-size: 0.88rem;
    color: var(--text-2);
}

.client-home-cards .card {
    margin-bottom: var(--space-5);
    border: 1px solid var(--border-1);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

.client-home-cards .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    border-bottom: 1px solid var(--border-1);
    background: linear-gradient(135deg, rgba(54, 91, 200, 0.1) 0%, rgba(54, 91, 200, 0.07) 55%, rgba(54, 91, 200, 0.04) 100%);
    padding: 0.95rem 1.15rem;
    box-shadow: inset 0 -1px 0 rgba(17, 24, 39, 0.03);
    border: 1px solid var(--border-1);
}

.client-home-cards .card-title {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-size: 0.97rem;
    font-weight: 700;
    color: var(--text-1);
}

.client-home-cards .card-title .badge {
    background: var(--surface-2);
    color: var(--text-2);
    border-radius: var(--radius-pill);
    font-size: 0.7rem;
}

.client-home-cards .card-body {
    padding: 1rem 1.15rem;
}

.client-home-cards .list-group {
    border-top: 1px solid var(--border-1);
}

.client-home-cards .list-group-item {
    border: 0;
    border-bottom: 1px solid var(--border-1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0.86rem 1.1rem;
    color: var(--text-2);
}

.client-home-cards .list-group-item:last-child {
    border-bottom: 0;
}

.client-home-cards .list-group-item.active,
.client-home-cards .list-group-item:hover {
    background: var(--surface-2);
    color: var(--primary-2);
}

/* Dashboard: recent tickets panel */
.client-home-cards .card:has(.list-group>a.list-group-item[href*="viewticket.php"]) .list-group {
    border-top: 0;
    padding: 0.75rem;
    background: linear-gradient(180deg, #f7fafd 0%, #f1f5fa 100%);
    display: grid;
    gap: 0.6rem;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem 0.95rem;
    border: 1px solid #d8e2ec;
    border-inline-end: 3px solid #bac9d8;
    border-radius: var(--radius-md);
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    padding: 0.7rem 0.92rem 0.64rem;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.52;
    color: #173b5d;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease, border-inline-end-color 0.2s ease;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] br {
    display: none;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"]:hover,
.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"]:focus,
.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"].active {
    border-color: #b5c6d9;
    border-inline-end-color: #4f72d6;
    background: #fcfeff;
    color: #264380;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] small {
    flex: 0 0 100%;
    margin: 0;
    padding-top: 0.32rem;
    border-top: 1px dashed #dbe5ef;
    font-size: 0.73rem;
    font-weight: 600;
    line-height: 1.45;
    color: #5f748b;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status {
    margin-inline-start: auto;
    margin-inline-end: 0.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6.25rem;
    min-height: 1.75rem;
    padding: 0.18rem 0.64rem;
    border-radius: var(--radius-pill);
    border: 1px solid #b7c8da;
    background: #e7eff8;
    color: #20496f;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status.status-answered {
    border-color: #9ab8d6;
    background: #e4eef9;
    color: #25507a;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status.status-customer-reply,
.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status.status-on-hold {
    border-color: #e5c27a;
    background: #fff3dc;
    color: #7f5918;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status.status-open,
.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status.status-active {
    border-color: #9dd2b9;
    background: #e7f6ef;
    color: #1f6d50;
}

.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status.status-closed,
.client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status.status-cancelled {
    border-color: #e2aeb8;
    background: #fdecef;
    color: #8e3043;
}

@media (max-width: 575px) {
    .client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] {
        padding: 0.62rem 0.74rem 0.58rem;
        gap: 0.4rem 0.7rem;
        font-size: 0.81rem;
    }

    .client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] .label.status {
        margin-inline-end: 0.28rem;
        min-width: 5.6rem;
        min-height: 1.62rem;
        padding: 0.16rem 0.52rem;
        font-size: 0.66rem;
    }

    .client-home-cards .card .list-group>a.list-group-item[href*="viewticket.php"] small {
        font-size: 0.68rem;
    }
}

/* Fallback selectors: recent tickets panel spacing (independent from ticket URL pattern) */
.client-home-cards [menuitemname="Recent Support Tickets"] .list-group>.list-group-item,
.client-home-cards [menuitemname="Support Tickets"] .list-group>.list-group-item,
.client-home-cards [menuitemname="Tickets"] .list-group>.list-group-item,
.client-home-cards .card:has(.card-title .fa-comments) .list-group>.list-group-item {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    column-gap: 0.95rem !important;
    row-gap: 0.5rem !important;
    padding: 0.7rem 0.92rem 0.64rem !important;
}

.client-home-cards [menuitemname="Recent Support Tickets"] .list-group>.list-group-item .label,
.client-home-cards [menuitemname="Support Tickets"] .list-group>.list-group-item .label,
.client-home-cards [menuitemname="Tickets"] .list-group>.list-group-item .label,
.client-home-cards .card:has(.card-title .fa-comments) .list-group>.list-group-item .label {
    margin-inline-start: auto !important;
    margin-inline-end: 0.4rem !important;
}

.client-home-cards [menuitemname="Recent Support Tickets"] .list-group>.list-group-item small,
.client-home-cards [menuitemname="Support Tickets"] .list-group>.list-group-item small,
.client-home-cards [menuitemname="Tickets"] .list-group>.list-group-item small,
.client-home-cards .card:has(.card-title .fa-comments) .list-group>.list-group-item small {
    flex: 0 0 100% !important;
    margin: 0 !important;
}

@media (max-width: 575px) {

    .client-home-cards [menuitemname="Recent Support Tickets"] .list-group>.list-group-item,
    .client-home-cards [menuitemname="Support Tickets"] .list-group>.list-group-item,
    .client-home-cards [menuitemname="Tickets"] .list-group>.list-group-item,
    .client-home-cards .card:has(.card-title .fa-comments) .list-group>.list-group-item {
        column-gap: 0.7rem !important;
        row-gap: 0.4rem !important;
        padding: 0.62rem 0.74rem 0.58rem !important;
    }

    .client-home-cards [menuitemname="Recent Support Tickets"] .list-group>.list-group-item .label,
    .client-home-cards [menuitemname="Support Tickets"] .list-group>.list-group-item .label,
    .client-home-cards [menuitemname="Tickets"] .list-group>.list-group-item .label,
    .client-home-cards .card:has(.card-title .fa-comments) .list-group>.list-group-item .label {
        margin-inline-end: 0.28rem !important;
    }
}

/* Hard fallback: any home-card list item that includes a status label (ticket-like row) */
.client-home-cards .list-group>.list-group-item:has(.label),
.client-home-cards .list-group>.list-group-item:has(.badge) {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    column-gap: 0.92rem !important;
    row-gap: 0.48rem !important;
}

.client-home-cards .list-group>.list-group-item:has(.label) .label,
.client-home-cards .list-group>.list-group-item:has(.badge) .badge {
    margin-inline: 0.35rem !important;
}

.client-home-cards .list-group>.list-group-item:has(.label) small,
.client-home-cards .list-group>.list-group-item:has(.badge) small {
    flex: 0 0 100% !important;
    margin: 0 !important;
}

/* Ticket row utility classes added by clientareahome.tpl script */
.client-home-cards .home-ticket-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    column-gap: 0.92rem !important;
    row-gap: 0.48rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.client-home-cards .home-ticket-row .home-ticket-cell,
.client-home-cards .home-ticket-row td {
    width: 100% !important;
    max-width: 100% !important;
}

.client-home-cards .home-ticket-row .home-ticket-status,
.client-home-cards .home-ticket-row .label.status,
.client-home-cards .home-ticket-row .label,
.client-home-cards .home-ticket-row .badge.status,
.client-home-cards .home-ticket-row .badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: var(--radius-lg) !important;
    margin-inline: 0.42rem !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    padding-inline: 0.72rem !important;
}

/* If ticket row is rendered as table cells, make cells use full width and keep spacing */
.client-home-cards .home-ticket-row table {
    width: 100% !important;
    table-layout: fixed !important;
}

.client-home-cards .home-ticket-row td {
    width: auto !important;
    padding: 0.12rem 0.24rem !important;
    vertical-align: middle !important;
}

/* Empty state for home panels (services/tickets/news) */
.client-home-cards .card.panel-empty-state .list-group {
    padding: 0.95rem;
    background: linear-gradient(180deg, #f7f9fb 0%, #eff3f7 100%);
}

.client-home-cards .card.panel-empty-state .list-group .list-group-item.empty-state-item {
    border: 1px dashed #c8d0db;
    border-radius: var(--radius-lg);
    background: #fbfcfe;
    min-height: 190px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem !important;
    text-align: center;
    color: var(--text-2);
    font-weight: 700;
}

.client-home-cards .card.panel-empty-state .list-group .list-group-item.empty-state-item:hover,
.client-home-cards .card.panel-empty-state .list-group .list-group-item.empty-state-item.active {
    background: #fbfcfe;
    color: var(--text-2);
}

.client-home-cards .card.panel-empty-state .list-group .list-group-item.empty-state-item::before {
    content: "";
    width: 114px;
    height: 88px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20180%20140'%3E%3Cellipse%20cx='92'%20cy='118'%20rx='44'%20ry='10'%20fill='%239aa0a6'%20opacity='.4'/%3E%3Cpolygon%20points='42,62%2091,40%20141,62%2091,84'%20fill='%23dce1e7'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='42,62%2042,100%2091,122%2091,84'%20fill='%23c8ced6'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='141,62%20141,100%2091,122%2091,84'%20fill='%23b7bfca'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='56,56%2089,41%2088,24%2052,39'%20fill='%23eef1f5'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='124,56%2092,41%2094,25%20130,39'%20fill='%23e7ebf0'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cline%20x1='71'%20y1='49'%20x2='81'%20y2='49'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cline%20x1='76'%20y1='44'%20x2='76'%20y2='54'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cline%20x1='103'%20y1='49'%20x2='110'%20y2='56'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3C/svg%3E");
}

.client-home-cards .card.panel-empty-state .list-group .list-group-item.empty-state-item>span {
    width: 100%;
}

.client-home-cards .card.panel-empty-state .list-group .list-group-item.empty-state-item a {
    color: var(--primary-2);
    font-weight: 700;
}

.client-home-cards .card-footer {
    border-top: 1px solid var(--border-1);
    background: var(--surface-1);
    padding: 0.75rem 1.1rem;
}

/* Service list item */
.div-service-item {
    position: relative;
    border: 1px solid var(--border-1);
    border-right: 3px solid #a9bacd;
    border-radius: 0;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-4);
    margin-bottom: var(--space-3);
    transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, border-right-color 0.2s ease;
}

.div-service-item:hover {
    border-color: #b8c5d4;
    border-right-color: #365bc8;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.014);
    background: #4f72d60a;
}

.div-service-status {
    position: relative;
    min-width: 7.4rem;
}

.div-service-status .label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-pill);
    padding: 0.28rem 0.72rem;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
}

.div-service-status .label-placeholder {
    visibility: hidden;
}

.div-service-status .label-active,
.div-service-status .label-completed {
    background: rgba(31, 122, 92, 0.14);
    color: #1f7a5c;
}

.div-service-status .label-pending {
    background: rgba(154, 106, 31, 0.14);
    color: #8b5f1f;
}

.div-service-status .label-suspended,
.div-service-status .label-cancelled,
.div-service-status .label-terminated,
.div-service-status .label-fraud {
    background: rgba(155, 47, 68, 0.14);
    color: #8f2c3f;
}

.div-service-name {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.div-service-title {
    color: var(--text-1);
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.div-service-name .text-domain {
    color: #5f7288;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    direction: ltr;
    text-align: left;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.div-service-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.div-service-buttons .btn-group .btn,
.div-service-buttons .btn-view-details {
    border-radius: var(--radius-sm);
}

.div-service-buttons .btn-view-details {
    border-color: #b6c3d2;
    color: #2d4f95;
    background: #fff;
    font-weight: 700;
}

.div-service-buttons .btn-view-details:hover,
.div-service-buttons .btn-view-details:focus {
    border-color: #8fa6bf;
    color: #244078;
    background: #f3f7fb;
}

/* Forms */
.card,
.panel,
.list-group-item,
.alert,
.dropdown-menu,
.modal-content,
.table {
    text-align: right;
    font-size: small;
}

.auth-shell {
    margin: var(--space-8) auto;
    max-width: 620px;
}

.auth-card {
    border: 1px solid var(--border-1);
    border-radius: var(--radius-xl);
    background: var(--surface-1);
    box-shadow: var(--shadow-md);
    overflow: hidden;
}

.auth-card .card-body {
    padding: var(--space-8);
}

.auth-headline {
    margin-bottom: var(--space-5);
}

.auth-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--text-1);
    margin-bottom: var(--space-2);
}

.auth-subtitle {
    margin: 0;
    color: var(--text-3);
}

.auth-card .form-group label,
.form-group .form-control-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-2);
}

.form-control,
.custom-select,
.field.form-control {
    border: 1px solid var(--border-2);
    border-radius: var(--radius-md);
    min-height: 2.7rem;
    color: var(--text-1);
    background: #fff;
    box-shadow: none !important;
}

.form-control:focus,
.custom-select:focus,
.field.form-control:focus {
    border-color: rgba(54, 91, 200, 0.5);
    box-shadow: 0 0 0 2px rgba(54, 91, 200, 0.14) !important;
}

.input-group.auth-input-group,
.login-form .input-group {
    border: 1px solid var(--border-2);
    border-radius: var(--radius-md);
    background: #fff;
}

.input-group.auth-input-group:focus-within,
.login-form .input-group:focus-within,
.password-reset-card .input-group:focus-within {
    border-color: rgba(54, 91, 200, 0.5);
    box-shadow: 0 0 0 2px rgba(54, 91, 200, 0.14);
}

.input-group.auth-input-group .input-group-text,
.login-form .input-group-text {
    border: 0;
    background: transparent;
    color: var(--text-3);
}

.input-group.auth-input-group .form-control,
.login-form .input-group .form-control {
    border: 0;
    background: transparent;
}

.password-reset-card .form-control,
.password-reset-card .custom-select {
    border-color: var(--border-2);
}

/* Buttons */
.btn {
    border-radius: var(--radius-md);
    font-weight: 600;
    transition: all 0.2s ease;
}

.btn-primary {
    border-color: var(--primary-2);
    color: #fff;
    background: var(--primary-2);
    box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus {
    color: #fff;
    transform: none;
    box-shadow: none;
    border-color: var(--primary-1);
    background: var(--primary-1);
}

.btn-default,
.btn-outline-secondary {
    border-color: var(--border-2);
    background: #fff;
    color: var(--text-2);
}

.btn-default:hover,
.btn-default:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    border-color: rgba(54, 91, 200, 0.35);
    color: var(--primary-2);
    background: var(--surface-2);
}

.btn.disabled,
.btn:disabled {
    opacity: 0.55;
}

/* Alerts */
.alert {
    border-radius: var(--radius-md);
    border-width: 1px;
    font-size: small;
}

.alert-success {
    border-color: rgba(31, 122, 92, 0.25);
    background: rgba(31, 122, 92, 0.1);
    color: #1f7a5c;
}

.alert-info {
    border-color: rgba(47, 95, 140, 0.26);
    background: rgba(47, 95, 140, 0.1);
    color: #2f5f8c;
}

.alert-warning {
    border-color: #e6c870;
    background: #f6ecd0;
    color: #8a5a00;
}

.alert-danger {
    border-color: rgba(155, 47, 68, 0.26);
    background: rgba(155, 47, 68, 0.1);
    color: #8f2c3f;
}

/* Keep top network issue notification inside the main container */
.network-issues-holder {
    margin-top: 0.72rem;
}

.network-issues-holder .network-issue-alert {
    border-radius: var(--radius-lg) !important;
    border: 1px solid !important;
    border-color: #e6c870 !important;
    background: #fffbf0 !important;
    color: #865700 !important;
    box-shadow: none !important;
    padding: 0.72rem 0.96rem !important;
}

.network-issues-holder .network-issue-alert>.container {
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.network-issues-holder .network-issue-alert .alert-link.float-lg-right {
    float: left !important;
}

.network-issues-holder .network-issue-alert .alert-link {
    color: #6d4700 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.network-issues-holder .network-issue-alert .alert-link:hover,
.network-issues-holder .network-issue-alert .alert-link:focus {
    color: #563800 !important;
    text-decoration: none !important;
}

.network-issues-holder .network-issue-alert .alert-link .fa-arrow-right {
    display: inline-block;
    color: inherit;
    text-decoration: none !important;
    font-size: x-small;
    font-weight: bold;
    transform: rotate(180deg);
}

/* Registration helpers */
#registration .prepend-icon {
    position: relative;
}

#registration .prepend-icon .field-icon {
    position: absolute;
    top: 50%;
    right: 0.9rem;
    transform: translateY(-50%);
    z-index: 2;
    color: var(--text-3);
}

#registration .prepend-icon .field {
    padding-right: 2.35rem;
    padding-left: 0.9rem;
}

#registration .generate-password {
    min-width: 100%;
}

#registration .accepttos {
    margin-left: 0.35rem;
}

#registration .iti,
#registration .intl-tel-input {
    width: 100%;
    direction: ltr;
}

#registration #inputPhone::placeholder {
    text-align: right;
}

/* Footer */
.site-footer {
    margin-top: var(--space-10);
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
    color: #d4dce6;
    background: #1f3270 !important;
}

.site-footer .footer-shell {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: var(--space-6);
    align-items: start;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: var(--space-2);
}

.footer-brand:hover,
.footer-brand:focus {
    color: #fff;
    text-decoration: none;
}

.footer-note {
    margin-bottom: 0;
    color: rgba(223, 232, 242, 0.82);
    font-size: 0.84rem;
    max-width: 32rem;
}

.footer-nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    padding-right: 0;
}

.footer-nav .nav-link {
    color: #d2dde9;
    border: 1px solid rgba(210, 221, 233, 0.24);
    border-radius: var(--radius-pill);
    padding: 0.45rem 0.95rem;
    font-size: 0.82rem;
}

.footer-nav .nav-link:hover,
.footer-nav .nav-link:focus {
    color: #fff;
    border-color: rgba(210, 221, 233, 0.36);
    background: rgba(255, 255, 255, 0.06);
}

.site-footer .copyright {
    font-size: 0.78rem;
    color: rgba(212, 220, 230, 0.7);
    margin-bottom: 0;
}

.footer-social {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: 0;
    padding-right: 0;
}

.footer-social .list-inline-item {
    margin: 0;
}

.footer-social .btn {
    border-color: rgba(210, 221, 233, 0.25);
    color: #d2dde9;
    background: rgba(255, 255, 255, 0.04);
}

.footer-social .btn:hover,
.footer-social .btn:focus {
    color: #fff;
    border-color: rgba(210, 221, 233, 0.38);
    background: rgba(255, 255, 255, 0.08);
}

/* Modal and table polish */
.modal-content {
    border: 1px solid var(--border-1);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.modal-header,
.modal-footer {
    border-color: var(--border-1);
}

.table {
    border-color: var(--border-1);
}

.table thead th {
    color: var(--text-2);
    border-bottom-color: var(--border-2);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.table td,
.table th {
    border-top-color: var(--border-1);
}

/* DataTables controls (top toolbar) */
.client-home-cards .dataTables_wrapper .row:first-child {
    align-items: center !important;
    row-gap: var(--space-3) !important;
    margin-bottom: var(--space-3) !important;
}

.client-home-cards .dataTables_wrapper .row:first-child>[class*="col-"] {
    display: flex !important;
    align-items: center !important;
}

.client-home-cards .dataTables_wrapper .row:first-child>[class*="col-"]:first-child {
    justify-content: flex-start !important;
}

.client-home-cards .dataTables_wrapper .row:first-child>[class*="col-"]:last-child {
    justify-content: flex-end !important;
}

.client-home-cards .dataTables_wrapper .dataTables_info,
.client-home-cards .dataTables_wrapper .dataTables_filter,
.client-home-cards .dataTables_wrapper .dataTables_length {
    float: none !important;
    margin: 0 !important;
}

.client-home-cards .dataTables_wrapper .dataTables_info {
    padding-top: 0 !important;
    color: var(--text-2) !important;
    font-size: 0.86rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.client-home-cards .dataTables_wrapper .dataTables_filter label,
.client-home-cards .dataTables_wrapper .dataTables_length label {
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--space-2) !important;
    margin: 0 !important;
    color: var(--text-2) !important;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.client-home-cards .dataTables_wrapper .dataTables_filter input {
    margin: 0 !important;
    min-width: 16rem !important;
    height: 2.45rem !important;
    border: 1px solid var(--border-2) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.45rem 0.75rem !important;
    background: #fff !important;
    box-shadow: none !important;
}

.client-home-cards .dataTables_wrapper .dataTables_filter input:focus {
    border-color: #97a9be !important;
    box-shadow: 0 0 0 0.15rem rgba(54, 91, 200, 0.08) !important;
    outline: 0 !important;
}

.client-home-cards .dataTables_wrapper .dataTables_length select {
    min-width: 4.4rem !important;
    height: 2.2rem !important;
    border: 1px solid var(--border-2) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.15rem 0.45rem !important;
    background-color: #fff !important;
}

/* Empty state for DataTables cells */
.dataTables_wrapper table.dataTable tbody td.dataTables_empty,
table.dataTable tbody td.dataTables_empty,
.table td.dataTables_empty {
    text-align: center !important;
    vertical-align: middle !important;
    color: var(--text-2);
    font-weight: 700;
    line-height: 1.7;
    padding: 1.15rem 1rem 1.05rem !important;
    background: linear-gradient(180deg, #f7f9fb 0%, #eff3f7 100%);
}

.dataTables_wrapper table.dataTable tbody td.dataTables_empty::before,
table.dataTable tbody td.dataTables_empty::before,
.table td.dataTables_empty::before {
    content: "";
    display: block;
    width: 108px;
    height: 84px;
    margin: 0 auto 0.55rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20180%20140'%3E%3Cellipse%20cx='92'%20cy='118'%20rx='44'%20ry='10'%20fill='%239aa0a6'%20opacity='.4'/%3E%3Cpolygon%20points='42,62%2091,40%20141,62%2091,84'%20fill='%23dce1e7'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='42,62%2042,100%2091,122%2091,84'%20fill='%23c8ced6'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='141,62%20141,100%2091,122%2091,84'%20fill='%23b7bfca'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='56,56%2089,41%2088,24%2052,39'%20fill='%23eef1f5'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='124,56%2092,41%2094,25%20130,39'%20fill='%23e7ebf0'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cline%20x1='71'%20y1='49'%20x2='81'%20y2='49'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cline%20x1='76'%20y1='44'%20x2='76'%20y2='54'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cline%20x1='103'%20y1='49'%20x2='110'%20y2='56'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3C/svg%3E");
}

@media (max-width: 767px) {
    .client-home-cards .dataTables_wrapper .row:first-child>[class*="col-"] {
        justify-content: flex-start !important;
    }

    .client-home-cards .dataTables_wrapper .dataTables_info,
    .client-home-cards .dataTables_wrapper .dataTables_filter,
    .client-home-cards .dataTables_wrapper .dataTables_length {
        width: 100% !important;
    }

    .client-home-cards .dataTables_wrapper .dataTables_filter label {
        width: 100% !important;
        justify-content: space-between !important;
    }

    .client-home-cards .dataTables_wrapper .dataTables_filter input {
        min-width: 0 !important;
        width: 100% !important;
    }
}

/* Responsiveness */
@media (max-width: 1199px) {
    .site-header {
        position: relative;
    }

    .kb-search-form {
        display: none !important;
    }

    .site-navbar {
        padding: 0;
    }

    .site-navbar.mobile-nav-hidden {
        display: none;
    }

    .site-navbar .navbar-collapse {
        border-top: 1px solid var(--border-1);
        padding: var(--space-2) var(--space-5) var(--space-4);
        padding-top: var(--space-4);
        margin-top: var(--space-2);
        justify-content: flex-start;
    }

    .nav-primary,
    .nav-secondary {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .nav-account-pill {
        width: 100%;
        justify-content: flex-start;
        border-radius: var(--radius-md);
    }

    .nav-menu-link {
        width: 100%;
        justify-content: space-between;
    }

    .dropdown-menu {
        position: static !important;
        float: none;
        box-shadow: none;
        border: 0;
        border-right: 3px solid var(--border-2);
        border-radius: 0;
        margin: 0.25rem 0 0.6rem;
        padding: 0.25rem 0.4rem;
    }

    /* Animate mobile/collapsed navbar dropdowns */
    .site-navbar .nav-menu-item.dropdown>.dropdown-menu {
        display: block;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        visibility: visible;
        pointer-events: none;
        transform: translateY(-0.35rem);
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        border-right-width: 0;
        transition: max-height 0.28s ease, opacity 0.2s ease, transform 0.22s ease, margin 0.22s ease, padding 0.22s ease, border-right-width 0.22s ease;
    }

    .site-navbar .nav-menu-item.dropdown.open>.dropdown-menu,
    .site-navbar .nav-menu-item.dropdown.show>.dropdown-menu,
    .site-navbar .nav-menu-item.dropdown>.dropdown-menu.show {
        max-height: 24rem;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        margin: 0.25rem 0 0.6rem;
        padding: 0.25rem 0.4rem;
        border-right-width: 3px;
    }
}

@media (max-width: 1199px) and (prefers-reduced-motion: reduce) {
    .site-navbar .nav-menu-item.dropdown>.dropdown-menu {
        transition: none;
        transform: none;
    }
}

@media (max-width: 991px) {
    #accountNotifications>span.d-none.d-sm-inline {
        display: none !important;
    }

    #accountNotifications>span.d-sm-none {
        display: inline-flex !important;
    }

    .client-topbar-inner {
        flex-direction: row;
        align-items: center;
    }

    .topbar-account {
        width: auto;
        min-width: 0;
        flex: 1 1 auto;
    }

    .active-client {
        width: 100%;
        min-width: 0;
        justify-content: flex-end;
    }

    .active-client .btn-group {
        width: 100%;
        min-width: 0;
    }

    .active-client .btn-active-client {
        flex: 1 1 auto;
        max-width: none;
        min-width: 0;
    }

    #main-body .row {
        direction: rtl;
    }

    .metric-card {
        padding: var(--space-4);
    }

    .metric-value {
        font-size: 1.5rem;
    }

    .div-service-item {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }

    .div-service-status {
        min-width: auto;
    }

    .div-service-buttons {
        justify-content: flex-start;
    }

    .auth-card .card-body {
        padding: var(--space-6);
    }

    .site-footer .footer-shell {
        grid-template-columns: 1fr;
    }

    .footer-social {
        justify-content: flex-start;
    }
}

@media (max-width: 575px) {
    .main-nav-top {
        padding: 0 1rem;
    }

    .active-client {
        gap: 0;
    }

    .site-navbar {
        padding: 0;
    }

    .site-navbar .navbar-collapse {
        padding: var(--space-2) var(--space-3) var(--space-3);
        padding-top: var(--space-4);
    }

    .header-toolbar .btn {
        width: 38px;
        height: 38px;
    }

    .master-breadcrumb .container {
        width: 100%;
        border-radius: var(--radius-md);
        padding: 0.4rem 0.68rem;
    }

    .master-breadcrumb .breadcrumb {
        justify-content: flex-start;
    }

    .auth-card .card-body {
        padding: var(--space-5);
    }
}

.container {
    max-width: unset;
}

.panel.panel-sidebar>.panel-heading {
    cursor: pointer;
}

.card-footer a {
    border-color: var(--border-2);
    background: #fff;
    color: var(--text-3);
    border: 1px solid var(--grayscale);

}

.card-footer a:hover {
    color: var(--text-2);
    background: unset !important;


}

.card-footer a:active {
    color: var(--text-1) !important;
    background-color: unset !important;

}

.card-footer a:focus {
    color: var(--text-1) !important;
    box-shadow: unset !important;
    background: unset !important;

}

.card-header a:hover {
    color: var(--text-1) !important;
    border-color: unset !important;
    background: unset !important;
}

.client-home-cards .card-header .home-panel-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.48rem;
    border-radius: 0.7rem !important;
    border: 1px solid #b9c7d7;
    background: #fff;
    color: #163a5e;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    padding: 0.43rem 0.7rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.client-home-cards .card-header .home-panel-action-btn .home-panel-action-text {
    display: inline-flex;
    align-items: center;
}

.client-home-cards .card-header .home-panel-action-btn .home-panel-action-icon {
    width: 1.32rem;
    height: 1.32rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e7edf5;
    color: #365bc8;
    font-size: 0.71rem;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.client-home-cards .card-header .home-panel-action-btn:hover,
.client-home-cards .card-header .home-panel-action-btn:focus {
    color: #264380 !important;
    border-color: #92a8bf !important;
    background: #f4f8fc !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
    text-decoration: none;
}

.client-home-cards .card-header .home-panel-action-btn:hover .home-panel-action-icon,
.client-home-cards .card-header .home-panel-action-btn:focus .home-panel-action-icon {
    background: #365bc8;
    color: #fff;
}

/* Basket and order pages */

.order-standard_cart {
    margin: 0 !important;
}

/* Force summary label/value placement in RTL:
   label on right, amount on left */
#order-standard_cart .order-summary .summary-container .subtotal .pull-left,
#order-standard_cart .order-summary .summary-container .bordered-totals .clearfix .pull-left,
#order-standard_cart .order-summary .summary-container .recurring-totals .pull-left {
    float: right !important;
    text-align: right !important;
}

#order-standard_cart .order-summary .summary-container .subtotal .pull-right,
#order-standard_cart .order-summary .summary-container .bordered-totals .clearfix .pull-right,
#order-standard_cart .order-summary .summary-container .recurring-totals .pull-right {
    float: left !important;
    text-align: left !important;
    direction: ltr !important;
}

#order-standard_cart .order-summary .summary-container .total-due-today {
    text-align: center !important;
}

#order-standard_cart .order-summary .summary-container .total-due-today .amt,
#order-standard_cart .order-summary .summary-container .total-due-today>span {
    display: block;
    text-align: center !important;
}

.summary-container {
    border: 1px solid var(--border-1) !important;
    border-radius: var(--radius-lg) !important;
    background: var(--surface-1) !important;
    box-shadow: var(--shadow-sm) !important;
    padding: var(--space-4) !important;
}

.cart-body .row {
    width: 100% !important;
    justify-content: space-between;
    padding-right: 1rem !important;

    .alert {
        margin-top: var(--space-4);
        margin-bottom: var(--space-4);
    }
}

.secondary-cart-body {
    border: 1px solid var(--border-1) !important;
    border-radius: var(--radius-lg) !important;
    background: var(--surface-1) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Promo code section */
#order-standard_cart .secondary-cart-body .view-cart-tabs .nav-tabs .nav-link {
    border: 1px solid var(--border-1) !important;
    border-bottom: 0 !important;
    border-radius: var(--radius-md) var(--radius-md) 0 0 !important;
    background: #f3f6fa;
    color: var(--text-2);
    font-weight: 700;
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .nav-tabs .nav-link.active,
#order-standard_cart .secondary-cart-body .view-cart-tabs .nav-tabs .nav-link[aria-expanded="true"] {
    background: #fbfcfe;
    color: #0f3257;
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo {
    border: 1px solid var(--border-1);
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, #fbfcfe 0%, #f4f7fb 100%);
    padding: 1rem;
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo .form-group.prepend-icon {
    margin-bottom: 0.75rem;
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo .field-icon {
    color: #5f7389;
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo #inputPromotionCode {
    border: 1px solid #b8c5d4 !important;
    border-radius: var(--radius-md) !important;
    background: #fff;
    color: var(--text-1);
    font-size: small;
    font-weight: 500;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo #inputPromotionCode:focus {
    border-color: #7f98b2 !important;
    box-shadow: 0 0 0 0.15rem rgba(79, 114, 214, 0.12);
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo .btn[name="validatepromo"] {
    border: 1px solid #aebed0 !important;
    border-radius: var(--radius-md) !important;
    background: #eef3f9 !important;
    color: #0f3257 !important;
    font-weight: 700;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo .btn[name="validatepromo"]:hover,
#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo .btn[name="validatepromo"]:focus {
    border-color: #7f98b2 !important;
    background: #dfe9f4 !important;
    color: #1f3270 !important;
}

#order-standard_cart .secondary-cart-body .view-cart-tabs .tab-pane.promo .view-cart-promotion-code {
    border: 1px solid #b8c5d4;
    border-radius: var(--radius-md);
    background: #f1f6fb;
    color: #0f3257;
    font-weight: 700;
    text-align: center;
    padding: 0.65rem 0.75rem;
    margin-bottom: 0.75rem;
}

/* Checkout CTA button */
#order-standard_cart .order-summary .btn.btn-checkout,
#order-standard_cart .order-summary .btn.btn-success.btn-checkout {
    border: 1px solid var(--primary-2) !important;
    border-radius: var(--radius-md) !important;
    background: var(--primary-2) !important;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    direction: rtl;
    gap: 0.5rem;
    min-height: 48px;
    padding: 0.78rem 1.6rem !important;
    font-size: small;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(54, 91, 200, 0.2);
}

#order-standard_cart .order-summary .btn.btn-checkout:hover,
#order-standard_cart .order-summary .btn.btn-checkout:focus {
    border-color: var(--primary-1) !important;
    background: var(--primary-1) !important;
    color: #fff !important;
    text-decoration: none;
}

#order-standard_cart .order-summary .btn.btn-checkout i {
    color: inherit;
    transform: rotate(180deg);
}

/* Cart remove item button */
#order-standard_cart .view-cart-items .btn.btn-link.btn-xs.btn-remove-from-cart {
    border: 1px solid rgba(155, 47, 68, 0.35) !important;
    border-radius: var(--radius-pill) !important;
    background: #fff1f4 !important;
    color: var(--danger) !important;
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(155, 47, 68, 0.1);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

#order-standard_cart .view-cart-items .btn.btn-link.btn-xs.btn-remove-from-cart:hover,
#order-standard_cart .view-cart-items .btn.btn-link.btn-xs.btn-remove-from-cart:focus {
    border-color: rgba(155, 47, 68, 0.6) !important;
    background: #ffe4ea !important;
    color: #7a2435 !important;
    box-shadow: 0 0 0 2px rgba(155, 47, 68, 0.16);
}

#order-standard_cart .view-cart-items .btn.btn-link.btn-xs.btn-remove-from-cart i {
    font-size: 0.78rem;
    color: inherit;
}

/* Cart edit item button */
#order-standard_cart .view-cart-items .item-title .btn.btn-link.btn-xs:not(.btn-remove-from-cart) {
    border: 1px solid rgba(54, 91, 200, 0.28) !important;
    border-radius: var(--radius-lg) !important;
    background: linear-gradient(180deg, #f9fcff 0%, #eef4fb 100%) !important;
    color: var(--primary-2) !important;
    display: inline-flex;
    align-items: center;
    gap: 0.32rem;
    padding: 0.3rem 0.72rem !important;
    margin-inline-start: 0.42rem;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

#order-standard_cart .view-cart-items .item-title .btn.btn-link.btn-xs:not(.btn-remove-from-cart):hover,
#order-standard_cart .view-cart-items .item-title .btn.btn-link.btn-xs:not(.btn-remove-from-cart):focus {
    border-color: rgba(54, 91, 200, 0.52) !important;
    background: linear-gradient(180deg, #eef5ff 0%, #e2ecf8 100%) !important;
    color: var(--primary-1) !important;
    transform: translateY(-1px);
}

#order-standard_cart .view-cart-items .item-title .btn.btn-link.btn-xs:not(.btn-remove-from-cart) i {
    font-size: 0.72rem;
    color: inherit;
}

@media (max-width: 575.98px) {
    #order-standard_cart .view-cart-items .item-title .btn.btn-link.btn-xs:not(.btn-remove-from-cart) {
        padding: 0.34rem 0.66rem !important;
        margin-inline-start: 0.34rem;
        margin-top: 0.28rem;
    }

    #order-standard_cart .view-cart-items .item-title .btn.btn-link.btn-xs.btn-remove-from-cart {
        width: auto;
        min-width: 2rem;
        height: auto;
        min-height: 2rem;
        padding: 0.32rem 0.68rem !important;
        margin-inline-start: 0.35rem;
    }
}

/* Empty cart action button */
#order-standard_cart .empty-cart {
    margin-top: 0.9rem !important;
    margin-bottom: 1rem !important;
    padding-inline: 0.15rem !important;
    text-align: left !important;
}

#order-standard_cart .empty-cart #btnEmptyCart {
    border: 1px solid rgba(155, 47, 68, 0.32) !important;
    border-radius: var(--radius-md) !important;
    background: #fff4f6 !important;
    color: var(--danger) !important;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.42rem 0.92rem !important;
    font-weight: 700;
    line-height: 1.1;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

#order-standard_cart .empty-cart #btnEmptyCart:hover,
#order-standard_cart .empty-cart #btnEmptyCart:focus {
    border-color: rgba(155, 47, 68, 0.55) !important;
    background: #ffe9ee !important;
    color: #7a2435 !important;
    box-shadow: 0 0 0 2px rgba(155, 47, 68, 0.12);
}

#order-standard_cart .empty-cart #btnEmptyCart i {
    color: inherit;
}

/* Empty cart message with illustration */
#order-standard_cart .view-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    min-height: 210px;
    padding: 1.4rem 1rem;
    margin-top: 0.45rem;
    border: 1px dashed #c8d0db;
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, #f7f9fb 0%, #eef2f6 100%);
    color: var(--text-2);
    font-weight: 700;
    text-align: center;
}

#order-standard_cart .view-cart-empty::before {
    content: "";
    width: 124px;
    height: 96px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20180%20140'%3E%3Cellipse%20cx='92'%20cy='118'%20rx='44'%20ry='10'%20fill='%239aa0a6'%20opacity='.4'/%3E%3Cpolygon%20points='42,62%2091,40%20141,62%2091,84'%20fill='%23dce1e7'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='42,62%2042,100%2091,122%2091,84'%20fill='%23c8ced6'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='141,62%20141,100%2091,122%2091,84'%20fill='%23b7bfca'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='56,56%2089,41%2088,24%2052,39'%20fill='%23eef1f5'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cpolygon%20points='124,56%2092,41%2094,25%20130,39'%20fill='%23e7ebf0'%20stroke='%236b737d'%20stroke-width='3'/%3E%3Cline%20x1='71'%20y1='49'%20x2='81'%20y2='49'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cline%20x1='76'%20y1='44'%20x2='76'%20y2='54'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cline%20x1='103'%20y1='49'%20x2='110'%20y2='56'%20stroke='%2339424e'%20stroke-width='3'%20stroke-linecap='round'/%3E%3C/svg%3E");
}

@media (max-width: 575.98px) {
    #order-standard_cart .view-cart-empty {
        min-height: 180px;
        gap: 0.7rem;
    }

    #order-standard_cart .view-cart-empty::before {
        width: 106px;
        height: 82px;
    }
}

/* Force-fix DataTables top toolbar alignment (legacy + v2 markup) */
body .dataTables_wrapper .dataTables_info,
body .dataTables_wrapper .dataTables_filter,
body .dataTables_wrapper .dataTables_length,
body div.dt-container .dt-info,
body div.dt-container .dt-search,
body div.dt-container .dt-length {
    float: none !important;
    margin: 0 !important;
    padding-top: 0 !important;
}

body .dataTables_wrapper .row:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
    margin-bottom: 0.8rem !important;
}

body .dataTables_wrapper .row:first-child>[class*="col-"] {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 280px !important;
}

body .dataTables_wrapper .row:first-child>[class*="col-"]:first-child {
    justify-content: flex-start !important;
}

body .dataTables_wrapper .row:first-child>[class*="col-"]:last-child {
    justify-content: flex-end !important;
}

body .dataTables_wrapper .dataTables_info,
body div.dt-container .dt-info {
    color: var(--text-2) !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

body .dataTables_wrapper .dataTables_filter label,
body .dataTables_wrapper .dataTables_length label,
body div.dt-container .dt-search label,
body div.dt-container .dt-length label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

body .dataTables_wrapper .dataTables_filter input,
body div.dt-container .dt-search input {
    width: 330px !important;
    min-width: 330px !important;
    max-width: 100% !important;
    height: 2.7rem !important;
    margin: 0 !important;
    border: 1px solid var(--border-2) !important;
    border-radius: 0.5rem !important;
    padding: 0.45rem 0.8rem !important;
    background-color: #fff !important;
    box-shadow: none !important;
}

body .dataTables_wrapper .dataTables_filter input:focus,
body div.dt-container .dt-search input:focus {
    border-color: #97a9be !important;
    box-shadow: 0 0 0 0.15rem rgba(54, 91, 200, 0.08) !important;
    outline: 0 !important;
}

body .dataTables_wrapper .dataTables_length select,
body div.dt-container .dt-length select {
    min-width: 4.4rem !important;
    height: 2.2rem !important;
    border: 1px solid var(--border-2) !important;
    border-radius: 0.45rem !important;
    padding: 0.12rem 0.45rem !important;
    background: #fff !important;
}

body div.dt-container .dt-layout-row:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    flex-wrap: wrap !important;
    margin-bottom: 0.8rem !important;
}

body div.dt-container .dt-layout-cell {
    display: flex !important;
    align-items: center !important;
}

body div.dt-container .dt-layout-cell.dt-layout-start {
    justify-content: flex-start !important;
}

body div.dt-container .dt-layout-cell.dt-layout-end {
    justify-content: flex-end !important;
}

@media (max-width: 767px) {
    body .dataTables_wrapper .row:first-child>[class*="col-"] {
        flex: 1 1 100% !important;
        justify-content: flex-start !important;
    }

    body .dataTables_wrapper .dataTables_info,
    body .dataTables_wrapper .dataTables_filter,
    body .dataTables_wrapper .dataTables_length,
    body div.dt-container .dt-info,
    body div.dt-container .dt-search,
    body div.dt-container .dt-length {
        width: 100% !important;
    }

    body .dataTables_wrapper .dataTables_filter label,
    body div.dt-container .dt-search label {
        display: flex !important;
        width: 100% !important;
    }

    body .dataTables_wrapper .dataTables_filter input,
    body div.dt-container .dt-search input {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* WHMCS tablelist.tpl layout: dom '<"listtable"fit>pl' */
body .dataTables_wrapper .listtable {
    margin-bottom: 0.75rem !important;
}

body .dataTables_wrapper .listtable .dataTables_filter {
    float: right !important;
    margin: 0 0 0.65rem 0 !important;
}

body .dataTables_wrapper .listtable .dataTables_info {
    float: left !important;
    margin: 0 0 0.65rem 0 !important;
    line-height: 2.7rem !important;
    font-size: 0.9rem !important;
}

body .dataTables_wrapper .listtable .dataTables_filter label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    margin: 0 !important;
}

body .dataTables_wrapper .listtable .dataTables_filter input {
    width: 330px !important;
    min-width: 330px !important;
    max-width: 100% !important;
    height: 2.7rem !important;
    margin: 0 !important;
    border: 1px solid var(--border-2) !important;
    border-radius: 0.5rem !important;
    padding: 0.5rem 2.5rem 0.5rem 0.5rem !important;
    background: #fff !important;
}

body .dataTables_wrapper .listtable .dataTables_filter::after {
    right: 20px !important;
    left: unset !important;
}

body .dataTables_wrapper .listtable table.dataTable {
    clear: both !important;
    width: 100% !important;
    margin-top: 0.25rem !important;
}

@media (max-width: 767px) {

    body .dataTables_wrapper .listtable .dataTables_filter,
    body .dataTables_wrapper .listtable .dataTables_info {
        float: none !important;
        width: 100% !important;
        margin-bottom: 0.55rem !important;
        line-height: 1.6 !important;
    }

    body .dataTables_wrapper .listtable .dataTables_filter label {
        display: flex !important;
        width: 100% !important;
    }

    body .dataTables_wrapper .listtable .dataTables_filter input {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* DataTables bottom controls: pagination + length */
body .dataTables_wrapper .dataTables_paginate {
    float: right !important;
    margin: 0 !important;
    padding-top: 0 !important;
}

body .dataTables_wrapper .dataTables_paginate .pagination {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
}

body .dataTables_wrapper .dataTables_paginate .pagination>li>a,
body .dataTables_wrapper .dataTables_paginate .pagination>li>span,
body .dataTables_wrapper .dataTables_paginate .pagination .page-link {
    min-width: 2.35rem !important;
    height: 2.25rem !important;
    padding: 0 0.78rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--border-2) !important;
    border-radius: var(--radius-md) !important;
    background: #fff !important;
    color: var(--text-2) !important;
    line-height: 1 !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body .dataTables_wrapper .dataTables_paginate .pagination>.active>a,
body .dataTables_wrapper .dataTables_paginate .pagination>.active>span,
body .dataTables_wrapper .dataTables_paginate .pagination .page-item.active .page-link {
    background: var(--primary-2) !important;
    border-color: var(--primary-2) !important;
    color: #fff !important;
}

body .dataTables_wrapper .dataTables_paginate .pagination>li>a:hover,
body .dataTables_wrapper .dataTables_paginate .pagination>li>span:hover,
body .dataTables_wrapper .dataTables_paginate .pagination .page-link:hover {
    border-color: #9fb0c3 !important;
    background: #f7f9fb !important;
    color: var(--text-1) !important;
}

body .dataTables_wrapper .dataTables_length {
    float: left !important;
    margin: 0 !important;
    padding-top: 0 !important;
}

body .dataTables_wrapper .dataTables_length label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    color: var(--text-2) !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

body .dataTables_wrapper .dataTables_length select {
    margin: 0 !important;
    min-width: 4.4rem !important;
    height: 2.25rem !important;
    border: 1px solid var(--border-2) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.1rem 0.45rem !important;
    background: #fff !important;
    color: var(--text-1) !important;
    font-weight: 700 !important;
    text-align: center !important;
}

body .dataTables_wrapper .dataTables_paginate::after,
body .dataTables_wrapper .dataTables_length::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

@media (max-width: 767px) {

    body .dataTables_wrapper .dataTables_paginate,
    body .dataTables_wrapper .dataTables_length {
        float: none !important;
        width: 100% !important;
        margin-top: 0.55rem !important;
    }

    body .dataTables_wrapper .dataTables_paginate .pagination {
        width: 100% !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }

    body .dataTables_wrapper .dataTables_length label {
        width: 100% !important;
    }
}

/* Domain list bulk-action toolbar */
body #domainForm>.btn-group.btn-group-sm.mb-3 {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    width: 100% !important;
    margin-bottom: 1rem !important;
    padding: 0.5rem !important;
    border: 1px solid var(--border-1) !important;
    border-radius: var(--radius-lg) !important;
    background: linear-gradient(180deg, #f9fbfd 0%, #f2f6fa 100%) !important;
    box-shadow: var(--shadow-sm) !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3 .btn-group,
body #domainForm>.btn-group.btn-group-sm.mb-3 .btn {
    float: none !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3>.btn,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group>.btn {
    margin: 0 !important;
    border: 1px solid #c8d2df !important;
    border-radius: var(--radius-md) !important;
    background: #fff !important;
    color: var(--text-2) !important;
    min-height: 2.35rem !important;
    padding: 0.44rem 0.86rem !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.42rem !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3>.btn+.btn,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn+.btn-group,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group+.btn,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group+.btn-group {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3>.btn:hover,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn:focus,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group>.btn:hover,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group>.btn:focus {
    background: #f4f8fc !important;
    border-color: #aab9cb !important;
    color: var(--primary-2) !important;
    box-shadow: 0 0 0 0.14rem rgba(54, 91, 200, 0.08) !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3>.btn.active,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group>.btn.active,
body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group>.btn[aria-expanded="true"] {
    border-color: #94a7bc !important;
    background: #edf3f9 !important;
    color: var(--primary-2) !important;
    box-shadow: inset 0 0 0 1px rgba(54, 91, 200, 0.08) !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3 .btn i {
    color: #4f6b88 !important;
    font-size: 0.88rem !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3 .dropdown-menu {
    border: 1px solid var(--border-1) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.36rem !important;
    min-width: 12.8rem !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12) !important;
    margin-top: 0.3rem !important;
    background: #fff !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3 .dropdown-item {
    border-radius: var(--radius-sm) !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.46rem 0.62rem !important;
    font-size: 0.83rem !important;
    font-weight: 600 !important;
    color: var(--text-2) !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3 .dropdown-item:hover,
body #domainForm>.btn-group.btn-group-sm.mb-3 .dropdown-item:focus {
    background: #eef3f8 !important;
    color: var(--primary-2) !important;
}

body #domainForm>.btn-group.btn-group-sm.mb-3 .dropdown-item i {
    color: #4f6b88 !important;
}

@media (max-width: 767px) {
    body #domainForm>.btn-group.btn-group-sm.mb-3 {
        padding: 0.42rem !important;
        gap: 0.42rem !important;
    }

    body #domainForm>.btn-group.btn-group-sm.mb-3>.btn,
    body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group {
        width: 100% !important;
    }

    body #domainForm>.btn-group.btn-group-sm.mb-3>.btn-group>.btn {
        width: 100% !important;
        justify-content: space-between !important;
    }

    body #domainForm>.btn-group.btn-group-sm.mb-3>.btn {
        justify-content: center !important;
    }

    body #domainForm>.btn-group.btn-group-sm.mb-3 .dropdown-menu {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* sidbar products pages */
.sidebar-menu-item-wrapper {
    gap: 8px !important;
}

.sidebar-menu-item-wrapper .sidebar-menu-item-badge {
    margin-left: unset !important;
    margin-right: auto !important;
}

/* Order products page: sidebar + product cards */
#order-standard_cart .cart-sidebar .card-sidebar {
    border: 1px solid var(--border-1);
    border-radius: var(--radius-lg);
    background: var(--surface-1);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

#order-standard_cart .cart-sidebar .card-sidebar .card-header {
    border-bottom: 1px solid var(--border-1);
    background: linear-gradient(180deg, #f9fbfe 0%, #eef3f9 100%);
    padding: 0.82rem 1rem;
}

#order-standard_cart .cart-sidebar .card-sidebar .panel-title {
    font-size: 0.94rem;
    font-weight: 800;
    color: var(--primary-2);
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

#order-standard_cart .cart-sidebar .card-sidebar .list-group-item {
    border-color: var(--border-1);
    background: #fff;
    font-weight: 600;
    color: var(--text-2);
    transition: background-color 0.2s ease, color 0.2s ease;
}

#order-standard_cart .cart-sidebar .card-sidebar .list-group-item:hover,
#order-standard_cart .cart-sidebar .card-sidebar .list-group-item:focus {
    background: #f4f8fc;
    color: var(--primary-2);
}

#order-standard_cart .cart-sidebar .card-sidebar .list-group-item.active,
#order-standard_cart .cart-sidebar .card-sidebar .list-group-item.active:hover,
#order-standard_cart .cart-sidebar .card-sidebar .list-group-item.active:focus {
    background: #e6eef8;
    border-color: #c6d5e7;
    color: var(--primary-2);
    font-weight: 800;
}

/* Order products page (mobile): collapsed sidebar cards (categories/actions) */
@media (max-width: 1199px) {
    #order-standard_cart .sidebar-collapsed {
        margin-top: 1rem;
        padding: 0 1.5rem 1rem !important;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
        align-items: stretch;
        position: relative;
    }

    #order-standard_cart .sidebar-collapsed::after {
        content: "";
        position: absolute;
        left: 1.5rem;
        right: 1.5rem;
        bottom: 0;
        height: 1px;
        background: var(--border-1);
        pointer-events: none;
    }

    #order-standard_cart .sidebar-collapsed::before {
        display: none;
    }

    #order-standard_cart .sidebar-collapsed>.panel {
        margin: 0;
        border: 1px solid var(--border-1);
        border-radius: var(--radius-sm);
        background: var(--surface-1);
        box-shadow: none;
        overflow: hidden;
    }

    #order-standard_cart .sidebar-collapsed>.panel .panel-heading.card-header {
        padding: 0.8rem 1rem;
        border-bottom: 1px solid var(--border-1);
        background: #fff;
    }

    #order-standard_cart .sidebar-collapsed>.panel .panel-title {
        margin: 0;
        font-size: 1rem;
        font-weight: 800;
        color: var(--primary-1);
        line-height: 1.4;
    }

    #order-standard_cart .sidebar-collapsed>.panel .panel-body.card-body {
        padding: 1rem;
        background: #fff;
    }

    #order-standard_cart .sidebar-collapsed>.panel .panel-body.card-body form {
        margin: 0;
    }

    #order-standard_cart .sidebar-collapsed>.panel .custom-select,
    #order-standard_cart .sidebar-collapsed>.panel select.form-control {
        min-height: 2.65rem;
        border-color: #d2dae4;
        border-radius: 0.55rem;
        background-color: #fff;
        color: #293f56;
        text-align: center;
        text-align-last: center;
    }

    #order-standard_cart .sidebar-collapsed>.panel .custom-select option,
    #order-standard_cart .sidebar-collapsed>.panel select.form-control option {
        text-align: right;
    }

    #order-standard_cart .sidebar-collapsed>.pull-right.form-inline.float-right {
        float: none !important;
        margin: 0;
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    #order-standard_cart .sidebar-collapsed {
        grid-template-columns: 1fr;
    }

    #order-standard_cart .sidebar-collapsed::after {
        left: 1rem;
        right: 1rem;
    }

    #order-standard_cart .sidebar-collapsed::before {
        display: none;
    }
}

#order-standard_cart .products {
    margin-top: 1rem;
}

#order-standard_cart .row .header-lined {
    padding: 0 1.5rem !important;
}

#order-standard_cart .products .row.row-eq-height>[class*="col-"] {
    display: flex;
    margin-bottom: 1rem;
}

#order-standard_cart .products .product {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
    border: 1px solid var(--border-1) !important;
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, #ffffff 0%, #fafdff 100%);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;

    header {
        flex-direction: column-reverse;

        .qty {
            margin-right: auto;
            font-size: x-small;
        }
    }

    .product-pricing {
        text-align: center;
    }
}

#order-standard_cart .products .product:hover {
    transform: translateY(-2px);
    border-color: #bcc8d6;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.1);
}

#order-standard_cart .products .product header {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin: 0;
    padding: 0.92rem 1rem;
    border-bottom: 1px solid var(--border-1);
    background: linear-gradient(180deg, #f9fbfe 0%, #eef3f9 100%);
}

#order-standard_cart .products .product header span:not(.qty) {
    margin: 0;
    color: var(--primary-2);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.5;
}

#order-standard_cart .products .product header .qty {
    float: none;
    font-size: 0.76rem;
    font-style: normal;
    color: #2e4a66;
    background: #e3ecf7;
    border: 1px solid #bfd0e3;
    border-radius: var(--radius-pill);
    padding: 0.25rem 0.65rem;
    white-space: nowrap;
}

#order-standard_cart .products .product div.product-desc {
    float: none;
    width: auto;
    margin: 0;
    padding: 1rem 1rem 0.95rem;
    font-size: 0.84rem;
    color: var(--text-2);

    ul {
        padding-left: unset !important;

        li {
            display: flex;
            flex-direction: row-reverse;
            justify-content: space-between;
        }
    }
}

#order-standard_cart .products .product div.product-desc.product-desc-full-width {
    grid-column: 1 / -1;
}

#order-standard_cart .products .product div.product-desc p {
    margin-bottom: 0.72rem;
    color: var(--text-2);
    line-height: 1.75;
}

#order-standard_cart .products .product div.product-desc ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.42rem;
}

#order-standard_cart .products .product div.product-desc li {
    background: #f5f8fc;
    border: 1px solid #dde6f0;
    border-radius: var(--radius-sm);
    padding: 0.38rem 0.58rem;
    line-height: 1.55;
}

#order-standard_cart .products .product span.feature-value {
    font-weight: 800;
    color: #10385d;
}

#order-standard_cart .products .product footer {
    float: none;
    width: auto;
    margin: 0;
    padding: 1rem;
    border-inline-start: 1px solid var(--border-1);
    background: #f6faff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.72rem;
    font-size: 0.82rem;
    text-align: center;
}

#order-standard_cart .products .product div.product-pricing {
    margin: 0;
    padding: 0.62rem 0.68rem;
    border: 1px solid #d2dfec;
    border-radius: var(--radius-md);
    background: #fff;
    color: var(--text-2);
    line-height: 1.55;
}

#order-standard_cart .products .product div.product-pricing span.price {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--primary-2);
    direction: ltr;
    display: inline-block;
}

#order-standard_cart .products .product .btn.btn-order-now {
    width: 100%;
    min-height: 42px;
    border: 1px solid var(--primary-2);
    border-radius: var(--radius-md);
    background: var(--primary-2);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

#order-standard_cart .products .product .btn.btn-order-now i {
    font-size: 0.9rem;
    line-height: 1;
    display: unset !important;
}

#order-standard_cart .products .product .btn.btn-order-now:hover,
#order-standard_cart .products .product .btn.btn-order-now:focus {
    border-color: var(--primary-1);
    background: var(--primary-1);
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 991px) {
    #order-standard_cart .products .row.row-eq-height>[class*="col-"] {
        margin-bottom: 0.8rem;
    }

    #order-standard_cart .products .product {
        grid-template-columns: 1fr;
    }

    #order-standard_cart .products .product footer {
        border-inline-start: 0;
        border-top: 1px solid var(--border-1);
    }
}

@media (max-width: 575px) {
    #order-standard_cart .products .product header {
        padding: 0.82rem 0.78rem;
        flex-direction: column;
        align-items: flex-start;
    }

    #order-standard_cart .products .product div.product-desc,
    #order-standard_cart .products .product footer {
        padding: 0.8rem;
    }
}

/* sidbar product list */
body #order-standard_cart .cart-sidebar .card-sidebar .panel-title {

    .fas {
        display: unset !important;
    }

    .fa-chevron-up {
        margin-right: auto;
    }
}

/* domain page */
body #order-standard_cart .domain-pricing {

    .tld-pricing-header {
        align-items: center !important;
        padding: 0 1rem !important;
    }
}

body #order-standard_cart .cart-body {
    padding: 0 1rem !important;
}

#inputDomain::placeholder {
    text-align: right !important;
}

/* Domain register page visual refresh */
#order-standard_cart.domain-register-view {
    --dr-primary: #123a61;
    --dr-primary-2: #0f2f4e;
    --dr-accent: #f6c330;
    --dr-bg-soft: #f5f9ff;
    --dr-border: #d7e2ef;
    --dr-text: #12293f;
    --dr-text-soft: #5a7188;
    --dr-shadow: 0 12px 28px rgba(15, 43, 72, 0.12);
}

#order-standard_cart.domain-register-view .header-lined {
    margin-bottom: 0.75rem !important;
    border: 0 !important;
}

#order-standard_cart.domain-register-view .header-lined h1 {
    margin-bottom: 0.35rem !important;
    color: var(--dr-text) !important;
    font-weight: 900 !important;
    letter-spacing: -0.01em !important;
}

#order-standard_cart.domain-register-view .header-lined+p {
    margin-bottom: 0.9rem !important;
    color: var(--dr-text-soft) !important;
    font-size: 0.96rem !important;
    line-height: 1.9 !important;
}

#order-standard_cart.domain-register-view .domain-checker-container {
    margin: 1rem 0 1.7rem !important;
    border: 1px solid #d3dfec !important;
    border-radius: 1.05rem !important;
    background: linear-gradient(140deg, #f9fcff 0%, #ebf3fc 100%) !important;
    box-shadow: var(--dr-shadow) !important;
    overflow: hidden !important;
    position: relative !important;
}

#order-standard_cart.domain-register-view .domain-checker-container::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: radial-gradient(circle at 88% 18%, rgba(18, 58, 97, 0.12) 0, rgba(18, 58, 97, 0) 45%) !important;
}

#order-standard_cart.domain-register-view .domain-checker-bg {
    padding: 2.6rem 1.2rem 2.1rem !important;
    background: none !important;
}

#order-standard_cart.domain-register-view .domain-checker-container .input-group-box {
    margin: 0 auto !important;
    max-width: 780px !important;
    padding: 0.45rem !important;
    border-radius: 0.95rem !important;
    border: 1px solid var(--dr-border) !important;
    background: #fff !important;
    box-shadow: 0 10px 20px rgba(18, 58, 97, 0.08) !important;
}

#order-standard_cart.domain-register-view .domain-checker-container .input-group-lg>.form-control {
    height: 58px !important;
    border: 0 !important;
    border-radius: 0.72rem !important;
    font-size: 1.12rem !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    padding-inline: 1rem !important;
}

#order-standard_cart.domain-register-view .domain-checker-container #inputDomain {
    direction: ltr !important;
    text-align: left !important;
    color: #143451 !important;
}

#order-standard_cart.domain-register-view .domain-check-availability {
    width: auto !important;
    min-width: 132px !important;
    height: 58px !important;
    border: 1px solid #153d64 !important;
    border-radius: 0.72rem !important;
    background: linear-gradient(180deg, #1f5f96 0%, #163f67 100%) !important;
    color: #fff !important;
    font-size: 0.96rem !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 18px rgba(16, 47, 78, 0.24) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

#order-standard_cart.domain-register-view .domain-check-availability:hover,
#order-standard_cart.domain-register-view .domain-check-availability:focus {
    background: linear-gradient(180deg, #1a5384 0%, #113352 100%) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 26px rgba(16, 47, 78, 0.28) !important;
}

#order-standard_cart.domain-register-view .captcha-container {
    margin-top: 0.95rem !important;
    text-align: center !important;
}

#order-standard_cart.domain-register-view .default-captcha {
    margin: 0 auto !important;
    max-width: 390px !important;
    padding: 0.9rem 1rem !important;
    border: 1px solid var(--dr-border) !important;
    border-radius: 0.95rem !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 8px 20px rgba(18, 58, 97, 0.08) !important;
}

#order-standard_cart.domain-register-view .default-captcha p {
    margin-bottom: 0.55rem !important;
    color: #415e7a !important;
    font-weight: 600 !important;
}

#order-standard_cart.domain-register-view .captcha-container img {
    margin-top: 0 !important;
    border: 1px solid #c5d5e8 !important;
    border-radius: 0.45rem !important;
    background: #fff !important;
    padding: 2px !important;
}

#order-standard_cart.domain-register-view .captcha-container .form-control {
    max-width: 105px !important;
    margin-inline-start: 0.45rem !important;
    border: 1px solid #b8cde4 !important;
    border-radius: 0.55rem !important;
    color: #163856 !important;
    font-weight: 700 !important;
}

#order-standard_cart.domain-register-view .domain-pricing {
    margin-top: 1.15rem !important;
}

#order-standard_cart.domain-register-view .domain-pricing h4.font-size-18 {
    display: flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    margin-bottom: 0.95rem !important;
    font-size: 1.22rem !important;
    color: var(--dr-text) !important;
    font-weight: 900 !important;
}

#order-standard_cart.domain-register-view .domain-pricing h4.font-size-18::before {
    content: "" !important;
    width: 7px !important;
    height: 23px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, var(--dr-accent), #d7a00c) !important;
}

#order-standard_cart.domain-register-view .tld-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.45rem !important;
    margin: 0 0 1rem !important;
}

#order-standard_cart.domain-register-view .tld-filters .badge {
    padding: 0.5rem 0.95rem !important;
    border-radius: 999px !important;
    border: 1px solid #c8d7e7 !important;
    background: #f4f8fd !important;
    color: #244463 !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

#order-standard_cart.domain-register-view .tld-filters .badge:hover,
#order-standard_cart.domain-register-view .tld-filters .badge:focus {
    border-color: #9cb3cb !important;
    background: #e9f2fc !important;
    color: #143654 !important;
}

#order-standard_cart.domain-register-view .tld-filters .badge.badge-info,
#order-standard_cart.domain-register-view .tld-filters .badge.badge-primary,
#order-standard_cart.domain-register-view .tld-filters .badge.badge-success,
#order-standard_cart.domain-register-view .tld-filters .badge.active,
#order-standard_cart.domain-register-view .tld-filters .badge[aria-current="true"] {
    border-color: #17456f !important;
    background: linear-gradient(180deg, #1f5f96 0%, #17456f 100%) !important;
    color: #fff !important;
}

#order-standard_cart.domain-register-view .domain-pricing .bg-white {
    border: 1px solid var(--dr-border) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(18, 58, 97, 0.08) !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-pricing-header {
    margin: 0 !important;
    border-bottom: 1px solid var(--dr-border) !important;
    background: #f4f8fd !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-pricing-header [class*="col-"] {
    border-bottom: 0 !important;
    background: transparent !important;
    color: #254462 !important;
    font-weight: 800 !important;
    padding-top: 0.72rem !important;
    padding-bottom: 0.72rem !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-pricing-header .tld-column {
    background: #e8f0fa !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-row {
    margin: 0 !important;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
    border-bottom: 1px solid #edf3f9 !important;
    transition: background-color 0.2s ease !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-row:hover {
    background: #f9fcff !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-row strong {
    color: #153450 !important;
    font-size: 1.01rem !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-row small {
    color: #687f95 !important;
}

#order-standard_cart.domain-register-view .domain-pricing .two-row-center {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.5 !important;
    border-right: 0 !important;
    padding-inline: 1rem !important;
}

#order-standard_cart.domain-register-view .domain-pricing .tld-sale-group {
    display: inline-flex !important;
    align-items: center !important;
    margin-inline-start: 0.4rem !important;
    padding: 0.16rem 0.5rem !important;
    border-radius: 0.45rem !important;
    background: #fff7de !important;
    color: #9b6f12 !important;
    font-size: 0.66rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

#order-standard_cart.domain-register-view .domain-promo-box {
    margin: 1.1rem 0 !important;
    min-height: 220px !important;
    padding: 1.2rem 1.25rem !important;
    border: 1px solid var(--dr-border) !important;
    border-radius: 1rem !important;
    background: linear-gradient(140deg, #ffffff 0%, var(--dr-bg-soft) 100%) !important;
    box-shadow: 0 12px 24px rgba(15, 43, 72, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

#order-standard_cart.domain-register-view .domain-promo-box .clearfix {
    margin-bottom: 0.45rem !important;
}

#order-standard_cart.domain-register-view .domain-promo-box i {
    float: left !important;
    color: var(--dr-primary) !important;
    line-height: 1 !important;
}

#order-standard_cart.domain-register-view .domain-promo-box h3 {
    margin: 0 !important;
    color: var(--dr-text) !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
}

#order-standard_cart.domain-register-view .domain-promo-box p {
    margin-bottom: 0.55rem !important;
    color: #516a82 !important;
    font-size: 0.87rem !important;
    line-height: 1.75 !important;
}

#order-standard_cart.domain-register-view .domain-promo-box .small {
    margin-top: 0.7rem !important;
    color: #6f859b !important;
}

#order-standard_cart.domain-register-view .domain-promo-box .btn {
    align-self: flex-start !important;
    min-width: 156px !important;
    border-radius: 0.68rem !important;
    border: 0 !important;
    font-weight: 800 !important;
    padding: 0.6rem 1.25rem !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

#order-standard_cart.domain-register-view .domain-promo-box .btn:hover,
#order-standard_cart.domain-register-view .domain-promo-box .btn:focus {
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 20px rgba(15, 43, 72, 0.18) !important;
}

#order-standard_cart.domain-register-view .domain-promo-box .btn-warning {
    color: #0f2740 !important;
    background: linear-gradient(180deg, #ffd74f 0%, #f3b90c 100%) !important;
}

#order-standard_cart.domain-register-view .domain-promo-box .btn-primary {
    background: linear-gradient(180deg, #1f5f96 0%, #17456f 100%) !important;
    color: #fff !important;
}

#order-standard_cart.domain-register-view .domain-checker-container,
#order-standard_cart.domain-register-view .domain-pricing .bg-white,
#order-standard_cart.domain-register-view .domain-promo-box {
    animation: domainRegisterFadeUp 0.42s ease both !important;
}

#order-standard_cart.domain-register-view .domain-pricing .bg-white {
    animation-delay: 0.05s !important;
}

#order-standard_cart.domain-register-view .domain-promo-box {
    animation-delay: 0.09s !important;
}

@keyframes domainRegisterFadeUp {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 991px) {
    #order-standard_cart.domain-register-view .domain-checker-bg {
        padding: 1.75rem 1rem 1.45rem !important;
    }

    #order-standard_cart.domain-register-view .domain-pricing .two-row-center {
        padding-inline: 0.75rem !important;
    }
}

@media (max-width: 767px) {
    #order-standard_cart.domain-register-view .header-lined h1 {
        font-size: 2rem !important;
    }

    #order-standard_cart.domain-register-view .domain-checker-container .input-group-box {
        padding: 0.35rem !important;
    }

    #order-standard_cart.domain-register-view .domain-checker-container .input-group-lg>.form-control,
    #order-standard_cart.domain-register-view .domain-check-availability {
        height: 50px !important;
        font-size: 0.98rem !important;
    }

    #order-standard_cart.domain-register-view .domain-check-availability {
        width: 100% !important;
    }

    #order-standard_cart.domain-register-view .default-captcha {
        padding: 0.7rem !important;
    }

    #order-standard_cart.domain-register-view .domain-pricing h4.font-size-18 {
        font-size: 1.08rem !important;
    }

    #order-standard_cart.domain-register-view .domain-promo-box {
        min-height: 0 !important;
        padding: 1rem !important;
    }
}

/* domain search page */
#order-standard_cart #frmProductDomain .domains-row .input-group {
    flex-direction: row-reverse !important;
}

/* Configure product domain page visual refresh */
#order-standard_cart #frmProductDomain {
    --cd-primary: #143a60;
    --cd-primary-2: #1e5d91;
    --cd-surface: #ffffff;
    --cd-surface-soft: #f4f8fc;
    --cd-border: #d6e0ea;
    --cd-text: #162a40;
    --cd-text-soft: #63788f;
    --cd-shadow: 0 14px 30px rgba(17, 42, 68, 0.12);
}

#order-standard_cart #frmProductDomain .domain-selection-options {
    margin: 1rem 0 1.2rem !important;
    display: grid !important;
    gap: 0.82rem !important;
}

#order-standard_cart #frmProductDomain .domain-selection-options .option {
    margin-bottom: 0 !important;
    padding: 0.95rem 1rem !important;
    border: 1px solid var(--cd-border) !important;
    border-radius: 1rem !important;
    background: linear-gradient(155deg, var(--cd-surface) 0%, var(--cd-surface-soft) 100%) !important;
    box-shadow: 0 5px 14px rgba(17, 42, 68, 0.06) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

#order-standard_cart #frmProductDomain .domain-selection-options .option:hover {
    border-color: #becfdf !important;
    box-shadow: 0 9px 20px rgba(17, 42, 68, 0.08) !important;
    transform: translateY(-1px) !important;
}

#order-standard_cart #frmProductDomain .domain-selection-options .option.option-selected {
    border-color: #1e547f !important;
    background: linear-gradient(160deg, #ffffff 0%, #edf5fe 100%) !important;
    box-shadow: var(--cd-shadow) !important;
}

#order-standard_cart #frmProductDomain .domain-selection-options .option>label {
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    width: 100% !important;
    color: var(--cd-text) !important;
    font-size: 0.96rem !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
}

#order-standard_cart #frmProductDomain .domain-selection-options .option>label input[type="radio"] {
    accent-color: var(--cd-primary-2);
}

#order-standard_cart #frmProductDomain .domain-selection-options .option .iradio_square-blue {
    margin-right: 0 !important;
    margin-left: 0.2rem !important;
    transform: scale(1.05) !important;
}

#order-standard_cart #frmProductDomain .domain-selection-options .option .iradio_square-blue.checked {
    filter: saturate(1.2);
}

#order-standard_cart #frmProductDomain .domain-input-group {
    margin: 0.9rem 0 0 !important;
    padding-top: 0.95rem !important;
    border-top: 1px dashed #c3d2e1 !important;
}

#order-standard_cart #frmProductDomain .option.option-selected .domain-input-group {
    animation: domainOptionReveal 0.26s ease both !important;
}

#order-standard_cart #frmProductDomain .domain-input-group .domains-row {
    margin-right: -0.22rem !important;
    margin-left: -0.22rem !important;
}

#order-standard_cart #frmProductDomain .domain-input-group .input-group-addon,
#order-standard_cart #frmProductDomain .domain-input-group .input-group-text,
#order-standard_cart #frmProductDomain .domain-input-group input.form-control,
#order-standard_cart #frmProductDomain .domain-input-group select.form-control {
    height: 50px !important;
    border-color: #c4d2e1 !important;
    box-shadow: none !important;
}

#order-standard_cart #frmProductDomain .domain-input-group .input-group-addon,
#order-standard_cart #frmProductDomain .domain-input-group .input-group-text {
    min-width: 64px !important;
    justify-content: center !important;
    border-radius: 0.72rem !important;
    background: #edf4fb !important;
    color: #35526d !important;
    font-weight: 700 !important;
}

#order-standard_cart #frmProductDomain .domain-input-group input.form-control,
#order-standard_cart #frmProductDomain .domain-input-group select.form-control {
    border-radius: 0.72rem !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: #193852 !important;
}

#order-standard_cart #frmProductDomain .domain-input-group input.form-control:focus,
#order-standard_cart #frmProductDomain .domain-input-group select.form-control:focus {
    border-color: #2b6798 !important;
    box-shadow: 0 0 0 0.2rem rgba(43, 103, 152, 0.13) !important;
}

#order-standard_cart #frmProductDomain .domain-input-group .col-sm-2 .btn {
    height: 50px !important;
    border-radius: 0.72rem !important;
    border: 1px solid #17466f !important;
    background: linear-gradient(180deg, #21639a 0%, #184b75 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 9px 18px rgba(23, 70, 111, 0.24) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

#order-standard_cart #frmProductDomain .domain-input-group .col-sm-2 .btn:hover,
#order-standard_cart #frmProductDomain .domain-input-group .col-sm-2 .btn:focus {
    transform: translateY(-1px) !important;
    box-shadow: 0 13px 24px rgba(23, 70, 111, 0.26) !important;
    background: linear-gradient(180deg, #1b588a 0%, #123b5d 100%) !important;
}

#order-standard_cart #frmProductDomain .domain-input-group .col-sm-2 .btn i {
    display: inline-block !important;
    margin-inline-start: 0.3rem !important;
}

#order-standard_cart #frmProductDomain+#DomainSearchResults,
#order-standard_cart #frmProductDomainSelections #DomainSearchResults {
    margin-top: 0.5rem !important;
}

#order-standard_cart #frmProductDomain+p {
    margin: 0.35rem 0 1rem !important;
    color: var(--cd-text-soft) !important;
    font-size: 0.86rem !important;
}

@keyframes domainOptionReveal {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 767px) {
    #order-standard_cart #frmProductDomain .domain-selection-options {
        gap: 0.66rem !important;
    }

    #order-standard_cart #frmProductDomain .domain-selection-options .option {
        padding: 0.82rem 0.74rem !important;
        border-radius: 0.88rem !important;
    }

    #order-standard_cart #frmProductDomain .domain-selection-options .option>label {
        font-size: 0.9rem !important;
    }

    #order-standard_cart #frmProductDomain .domain-input-group {
        margin-top: 0.7rem !important;
        padding-top: 0.75rem !important;
    }

    #order-standard_cart #frmProductDomain .domain-input-group .col-sm-2 .btn {
        margin-top: 0.42rem !important;
    }

    #order-standard_cart #frmProductDomain .domain-input-group .input-group-addon,
    #order-standard_cart #frmProductDomain .domain-input-group .input-group-text,
    #order-standard_cart #frmProductDomain .domain-input-group input.form-control,
    #order-standard_cart #frmProductDomain .domain-input-group select.form-control,
    #order-standard_cart #frmProductDomain .domain-input-group .col-sm-2 .btn {
        height: 46px !important;
    }
}

/* Domain transfer page visual refresh */
#order-standard_cart #frmDomainTransfer {
    --dt-primary: #17496f;
    --dt-primary-2: #236aa1;
    --dt-surface: #ffffff;
    --dt-surface-soft: #f3f8fd;
    --dt-border: #d4e0ec;
    --dt-text: #142c43;
    --dt-text-soft: #5d7389;
    --dt-shadow: 0 14px 30px rgba(16, 42, 66, 0.12);
}

#order-standard_cart:has(#frmDomainTransfer) .cart-body .header-lined,
#order-standard_cart:has(#frmDomainTransfer) .cart-body .header-lined h1 {
    text-align: center !important;
}

#order-standard_cart .cart-body>#frmDomainTransfer {
    margin-top: 0.6rem !important;
}

#order-standard_cart #frmDomainTransfer .row>.col-sm-8.col-sm-offset-2.offset-sm-2 {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#order-standard_cart #frmDomainTransfer .panel.card.panel-default {
    border: 1px solid var(--dt-border) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: linear-gradient(160deg, var(--dt-surface) 0%, var(--dt-surface-soft) 100%) !important;
    box-shadow: var(--dt-shadow) !important;
}

#order-standard_cart #frmDomainTransfer .panel-heading.card-header {
    padding: 0.95rem 1.15rem 0.78rem !important;
    border-bottom: 1px solid var(--dt-border) !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

#order-standard_cart #frmDomainTransfer .panel-heading .panel-title {
    margin: 0 !important;
    color: var(--dt-text) !important;
    font-size: 1.7rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#order-standard_cart #frmDomainTransfer .panel-body.card-body {
    padding: 1.2rem 1.25rem 0.95rem !important;
}

#order-standard_cart #frmDomainTransfer .form-group {
    margin-bottom: 0.85rem !important;
}

#order-standard_cart #frmDomainTransfer .form-group>label {
    margin-bottom: 0.38rem !important;
    color: #1a3c5a !important;
    font-size: 0.86rem !important;
    font-weight: 800 !important;
}

#order-standard_cart #frmDomainTransfer .form-group>label .pull-right,
#order-standard_cart #frmDomainTransfer .form-group>label .float-right {
    color: var(--dt-primary) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

#order-standard_cart #frmDomainTransfer #inputTransferDomain,
#order-standard_cart #frmDomainTransfer #inputAuthCode {
    height: 52px !important;
    border: 1px solid #c4d4e3 !important;
    border-radius: 0.72rem !important;
    font-size: 1.03rem !important;
    box-shadow: none !important;
    direction: ltr !important;
    text-align: left !important;
    color: #173a57 !important;
}

#order-standard_cart #frmDomainTransfer #inputTransferDomain::placeholder,
#order-standard_cart #frmDomainTransfer #inputAuthCode::placeholder {
    color: #758ca3 !important;
    text-align: right !important;
}

#order-standard_cart #frmDomainTransfer #inputTransferDomain:focus,
#order-standard_cart #frmDomainTransfer #inputAuthCode:focus {
    border-color: #2f6b9c !important;
    box-shadow: 0 0 0 0.2rem rgba(47, 107, 156, 0.13) !important;
}

#order-standard_cart #frmDomainTransfer #transferUnavailable {
    margin: 0.25rem 0 0.7rem !important;
    border: 1px solid rgba(173, 117, 27, 0.28) !important;
    border-radius: 0.6rem !important;
    background: #fff7df !important;
    color: #6f4c10 !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    padding: 0.5rem 0.65rem !important;
}

#order-standard_cart #frmDomainTransfer .captcha-container {
    margin-top: 0.7rem !important;
    text-align: center !important;
}

#order-standard_cart #frmDomainTransfer .default-captcha {
    max-width: 352px !important;
    margin: 0 auto !important;
    padding: 0.8rem 0.8rem 0.72rem !important;
    border: 1px solid var(--dt-border) !important;
    border-radius: 0.82rem !important;
    background: #fdfefe !important;
    box-shadow: 0 8px 18px rgba(16, 42, 66, 0.08) !important;
}

#order-standard_cart #frmDomainTransfer .default-captcha p {
    margin-bottom: 0.45rem !important;
    color: #4f6680 !important;
    font-weight: 700 !important;
}

#order-standard_cart #frmDomainTransfer .default-captcha>div {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.56rem !important;
    direction: ltr !important;
}

#order-standard_cart #frmDomainTransfer .captcha-container img {
    margin-top: 0 !important;
    border: 1px solid #bfd1e2 !important;
    border-radius: 0.5rem !important;
}

#order-standard_cart #frmDomainTransfer .captcha-container .form-control {
    width: 88px !important;
    max-width: 88px !important;
    height: 42px !important;
    border: 1px solid #c2d4e5 !important;
    border-radius: 0.58rem !important;
    font-weight: 700 !important;
    color: #183f5f !important;
}

#order-standard_cart #frmDomainTransfer .panel-footer.card-footer {
    padding: 0.78rem 1.05rem 0.86rem !important;
    border-top: 1px solid var(--dt-border) !important;
    background: rgba(255, 255, 255, 0.78) !important;
    text-align: center !important;
}

#order-standard_cart #frmDomainTransfer #btnTransferDomain {
    min-width: 184px !important;
    height: 48px !important;
    border-radius: 0.72rem !important;
    border: 1px solid #15456d !important;
    background: linear-gradient(180deg, #2266a0 0%, #184b75 100%) !important;
    color: #fff !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 20px rgba(20, 64, 99, 0.24) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

#order-standard_cart #frmDomainTransfer #btnTransferDomain:hover,
#order-standard_cart #frmDomainTransfer #btnTransferDomain:focus {
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 24px rgba(20, 64, 99, 0.28) !important;
    background: linear-gradient(180deg, #1b588a 0%, #123b5d 100%) !important;
}

#order-standard_cart #frmDomainTransfer #btnTransferDomain .loader {
    margin-inline-start: 0.2rem !important;
}

#order-standard_cart #frmDomainTransfer+p.text-center.small {
    margin-top: 0.72rem !important;
    color: var(--dt-text-soft) !important;
    font-size: 0.82rem !important;
}

/* domain btn back */
#order-standard_cart p.text-center a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem;
    flex-direction: row-reverse !important;
    font-size: small !important;
    margin-right: auto !important;
    width: max-content;
}

@media (max-width: 767px) {
    #order-standard_cart #frmDomainTransfer .panel-heading .panel-title {
        font-size: 1.46rem !important;
    }

    #order-standard_cart #frmDomainTransfer .panel-body.card-body {
        padding: 0.95rem 0.82rem 0.75rem !important;
    }

    #order-standard_cart #frmDomainTransfer #inputTransferDomain,
    #order-standard_cart #frmDomainTransfer #inputAuthCode {
        height: 48px !important;
        font-size: 0.95rem !important;
    }

    #order-standard_cart #frmDomainTransfer .panel-footer.card-footer {
        padding: 0.72rem 0.8rem 0.78rem !important;
    }

    #order-standard_cart #frmDomainTransfer #btnTransferDomain {
        min-width: 100% !important;
        height: 46px !important;
    }
}

/* submit ticket captcha */
#main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row-reverse !important;
    gap: 0.7rem 0.9rem !important;
    padding-bottom: 0 !important;
    margin-bottom: 0.9rem !important;
}

#main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker>p {
    flex: 0 0 100% !important;
    margin-bottom: 0.45rem !important;
}

#main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker>.captchaimage,
#main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker>.captchaimage+div {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

#main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker .captchaimage img {
    display: block !important;
    margin: 0 !important;
    border-radius: 0.55rem !important;
}

#main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker #inputCaptcha {
    width: 112px !important;
    min-width: 112px !important;
    margin: 0 !important;
    text-align: center !important;
    direction: ltr !important;
    border-radius: 0.55rem !important;
}

@media (max-width: 575px) {
    #main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker {
        gap: 0.55rem 0.65rem !important;
    }

    #main-body .primary-content form[action*="submitticket.php"][action*="step=3"] #default-captcha-domainchecker #inputCaptcha {
        width: 102px !important;
        min-width: 102px !important;
    }
}


/* ticket list */
body #tableTicketsList .label.status {
    display: inline-block;
    min-width: 6.8rem;
    padding: 0.34rem 0.62rem;
    border-radius: var(--radius-sm);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

body #tableTicketsList .label.status.status-answered {
    background-color: #2f5f8c !important;
    border: 1px solid #23496d;
    color: #fff !important;
}

body #tableTicketsList .label.status.status-customer-reply {
    background-color: #e9c95d !important;
    border: 1px solid #cfad3b;
    color: #3b2d08 !important;
}

/* tickets page */
.view-ticket .card-body {
    padding: unset !important;
}

.view-ticket>.card-body.p-3 {
    padding: 1rem !important;

    h3 {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

.view-ticket .ticket-reply .posted-by .requestor-badge {
    margin-left: 1rem;
    border-radius: var(--radius-sm) !important;
}

.view-ticket .ticket-reply .message>.clearfix {
    margin-top: 0.9rem;
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.view-ticket .ticket-reply .rating,
.view-ticket .ticket-reply .rating-done {
    float: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.32rem 0.56rem;
    border: 1px solid #d8e2ef;
    border-radius: var(--radius-md);
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    box-shadow: var(--shadow-sm);
    unicode-bidi: bidi-override;
    direction: rtl;
    font-size: 1.25rem;
}

.view-ticket .ticket-reply .rating span.star,
.view-ticket .ticket-reply .rating-done span.star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    transition: transform 0.18s ease, text-shadow 0.18s ease;
    font-size: small;
}

.view-ticket .ticket-reply .rating span.star:before,
.view-ticket .ticket-reply .rating-done span.star:before {
    color: #c6d0de;
    font-weight: 400;
    transition: color 0.18s ease;
}

.view-ticket .ticket-reply .rating span.star:hover,
.view-ticket .ticket-reply .rating span.star:hover~span.star {
    transform: translateY(-1px) scale(1.04);
    text-shadow: 0 1px 6px rgba(242, 222, 136, 0.4);
}

.view-ticket .ticket-reply .rating span.star:hover:before,
.view-ticket .ticket-reply .rating span.star:hover~span.star:before,
.view-ticket .ticket-reply .rating-done span.star.active:before {
    color: #e9c95d;
    font-weight: 900;
}

.view-ticket .ticket-reply .rating-done .rated {
    margin-inline-end: 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-2);
    white-space: nowrap;
}

@media (max-width: 575px) {
    #main-body>div>div.row>div.col-lg-8.col-xl-9.primary-content>div.card.view-ticket>div.card-body.p-3>h3 {
        justify-content: center;
        flex-direction: column;
    }

    .view-ticket .ticket-reply .rating,
    .view-ticket .ticket-reply .rating-done {
        padding: 0.3rem 0.5rem;
        font-size: 1.15rem;
        gap: 0.18rem;
    }
}

.form-group .md-editor {
    .btn-group {
        flex-direction: row-reverse !important;
    }
}

#main-body>div>div.row>div.col-lg-4.col-xl-3>div:nth-child(1)>div>div.card-footer.clearfix {
    display: none !important;
}

#containerAddCcEmail {
    flex-direction: row-reverse !important;

    input {
        font-size: small !important;
    }

    button {
        background: var(--accent-1);
        color: white;
        font-size: small !important;
    }
}

/* Order summary rows in RTL: label/value swapped with space-between */
#order-standard_cart .order-summary .summary-container .subtotal,
#order-standard_cart .order-summary .summary-container .bordered-totals .clearfix,
#order-standard_cart .order-summary .summary-container .recurring-totals,
#order-standard_cart .order-summary .summary-container .summary-totals .clearfix,
#order-standard_cart .order-summary .summary-container>.clearfix {
    display: flex !important;
    align-items: center;
    justify-content: space-between !important;
    gap: 0.5rem;
    text-align: right !important;
}

#order-standard_cart .order-summary .summary-container .pull-left {
    width: inherit !important;
    margin-left: auto !important;
}

#order-standard_cart .order-summary .summary-container .pull-right {
    order: 2;
    direction: ltr !important;
    text-align: left !important;
}

#order-standard_cart .order-summary .summary-container .pull-left {
    order: 1;
}

#order-standard_cart .order-summary .summary-container .total-due-today,
#order-standard_cart .order-summary .summary-container .total-due-today span,
#order-standard_cart .order-summary .summary-container .text-right,
#order-standard_cart .order-summary .summary-container .recurring-charges {
    text-align: left !important;
}

#order-standard_cart .order-summary .summary-container .total-due-today .amt {
    direction: ltr !important;
}


/* announcements page */
.announcements .announcement {
    border-bottom: 1px solid #365bc81c !important;
    padding-bottom: 1rem;

    .btn-default {
        margin-right: auto !important;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        justify-content: end;
        width: max-content;

        .fa-arrow-right {
            rotate: 180deg;
            font-size: x-small;
        }
    }
}

.announcements .kb-search,
.announcements .card.kb-category,
.announcements .card:has(.kb-article-item),
.announcements .announcement {
    box-shadow: none !important;
}

/* knowledgebase pages */
#main-body .primary-content:has(#inputKnowledgebaseSearch) {
    --kbp-primary: #1d5c90;
    --kbp-primary-2: #173f63;
    --kbp-border: #d4dfeb;
    --kbp-surface: #ffffff;
    --kbp-surface-soft: #f5f9fe;
    --kbp-text: #17324d;
    --kbp-text-soft: #5d748b;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) form[role="form"].mb-4 {
    max-width: 1080px !important;
    margin: 0 auto 1rem !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .kb-search {
    border: 1px solid #c7d5e3 !important;
    border-radius: 0.85rem !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .kb-search .form-control {
    height: 56px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--kbp-text) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-align: center !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .kb-search .form-control::placeholder {
    color: #6f869c !important;
    opacity: 1 !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .kb-search .input-group-append {
    margin: 0.36rem !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) #btnKnowledgebaseSearch {
    min-width: 102px !important;
    border: 1px solid #18486f !important;
    border-radius: 0.62rem !important;
    background: linear-gradient(180deg, #2167a2 0%, #184b75 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 16px rgba(20, 64, 99, 0.22) !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) #btnKnowledgebaseSearch:hover,
#main-body .primary-content:has(#inputKnowledgebaseSearch) #btnKnowledgebaseSearch:focus {
    background: linear-gradient(180deg, #1a588a 0%, #123d60 100%) !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .row:has(.kb-category) {
    justify-content: center !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card.kb-category {
    border: 1px solid var(--kbp-border) !important;
    border-radius: 0.95rem !important;
    background: linear-gradient(165deg, var(--kbp-surface) 0%, var(--kbp-surface-soft) 100%) !important;
    box-shadow: none !important;
    margin-bottom: 1rem !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card.kb-category a.card-body {
    display: block !important;
    padding: 1.05rem 1rem !important;
    text-align: center !important;
    color: var(--kbp-text) !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card.kb-category .h5 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.45rem !important;
    width: 100% !important;
    font-size: 1.9rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card.kb-category .badge.badge-info {
    position: static !important;
    float: none !important;
    order: 3 !important;
    margin: 0 !important;
    border-radius: 0.5rem !important;
    padding: 0.22rem 0.58rem !important;
    background: #2ba9b7 !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card.kb-category p {
    margin-top: 0.42rem !important;
    text-align: center !important;
    color: var(--kbp-text-soft) !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) {
    border: 1px solid var(--kbp-border) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: none !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) .card-title {
    margin: 0 !important;
    text-align: center !important;
    color: #102f4a !important;
    font-size: 1.85rem !important;
    font-weight: 900 !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) .card-body {
    padding: 1rem 1rem 0.95rem !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item {
    padding: 1.15rem 1rem !important;
    border-top-color: #e4ecf4 !important;
    text-align: center !important;
    color: #17456d !important;
    font-size: 1.16rem !important;
    font-weight: 700 !important;
}

#main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item small {
    margin: 0.5rem auto 0 !important;
    display: block !important;
    max-width: 92% !important;
    color: #335675 !important;
    font-size: 0.95rem !important;
    line-height: 1.95 !important;
}

@media (max-width: 767px) {
    #main-body .primary-content:has(#inputKnowledgebaseSearch) .kb-search .form-control {
        height: 50px !important;
        font-size: 0.92rem !important;
        text-align: right !important;
        padding-right: 0.75rem !important;
    }

    #main-body .primary-content:has(#inputKnowledgebaseSearch) #btnKnowledgebaseSearch {
        min-width: 92px !important;
        font-size: 0.86rem !important;
    }

    #main-body .primary-content:has(#inputKnowledgebaseSearch) .card.kb-category .h5 {
        font-size: 1.1rem !important;
    }

    #main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) .card-title {
        font-size: 1.55rem !important;
    }

    #main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item {
        font-size: 1.02rem !important;
        padding: 0.92rem 0.72rem !important;
    }

    #main-body .primary-content:has(#inputKnowledgebaseSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item small {
        font-size: 0.86rem !important;
        line-height: 1.8 !important;
    }
}

/* knowledgebase article page */
#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"]) {
    --kba-border: #d4dfeb;
    --kba-surface: #ffffff;
    --kba-surface-soft: #f5f9fe;
    --kba-text: #16324d;
    --kba-text-soft: #5f7790;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) {
    border: 1px solid var(--kba-border) !important;
    border-radius: 1rem !important;
    background: linear-gradient(165deg, var(--kba-surface) 0%, var(--kba-surface-soft) 100%) !important;
    box-shadow: 0 12px 24px rgba(16, 42, 66, 0.09) !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"])>.card-body {
    padding: 1.2rem 1.2rem 1.05rem !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) h1 {
    margin: 0 0 0.65rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.55rem !important;
    text-align: center !important;
    color: #1e5688 !important;
    font-size: 2rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) h1 .btn.btn-default.btn-sm {
    float: none !important;
    margin: 0 !important;
    border: 1px solid #bdd0e3 !important;
    border-radius: 0.65rem !important;
    background: #f8fbff !important;
    color: #153c5e !important;
    font-weight: 800 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) .list-inline {
    margin: 0 0 0.6rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.55rem !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) .list-inline .list-inline-item {
    margin: 0 !important;
    padding-right: 0 !important;
    color: var(--kba-text-soft) !important;
    font-weight: 600 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) article {
    max-width: 980px !important;
    margin: 0.75rem auto !important;
    padding: 1rem 1.15rem !important;
    border: 1px solid #dbe6f1 !important;
    border-radius: 0.82rem !important;
    background: #fff !important;
    color: #1d3550 !important;
    line-height: 2 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) h4 {
    margin-top: 1rem !important;
    margin-bottom: 0.7rem !important;
    text-align: center !important;
    color: #173a5a !important;
    font-weight: 900 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) form.d-flex {
    justify-content: center !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) form.d-flex .btn {
    min-width: 116px !important;
    border-radius: 0.65rem !important;
    border: 1px solid #bcd0e3 !important;
    background: #f8fbff !important;
    color: #153c5e !important;
    font-weight: 800 !important;
    margin-inline: 0.18rem !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"]) .card:has(.kb-article-item) {
    border: 1px solid var(--kba-border) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(16, 42, 66, 0.08) !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"]) .card:has(.kb-article-item) .card-title {
    margin: 0 !important;
    text-align: center !important;
    color: #102f4a !important;
    font-size: 1.72rem !important;
    font-weight: 900 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"]) .card:has(.kb-article-item) .list-group-item.kb-article-item {
    padding: 1.05rem 0.95rem !important;
    text-align: center !important;
    color: #17456d !important;
    font-weight: 700 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"]) .card:has(.kb-article-item) .list-group-item.kb-article-item small {
    margin: 0.45rem auto 0 !important;
    max-width: 92% !important;
    color: #395d7c !important;
    line-height: 1.85 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>a.btn {
    margin-top: 0.3rem !important;
    border: 1px solid #c0d2e3 !important;
    border-radius: 0.65rem !important;
    background: #f9fbff !important;
    color: #143654 !important;
    font-weight: 800 !important;
}

#main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>a.btn.float-right {
    float: none !important;
    margin-right: 0.35rem !important;
}

@media (max-width: 767px) {
    #main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"])>.card-body {
        padding: 0.95rem 0.78rem 0.85rem !important;
    }

    #main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) h1 {
        font-size: 1.36rem !important;
    }

    #main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"])>.card:has(a[onclick*="window.print"]) article {
        padding: 0.85rem 0.72rem !important;
        font-size: 0.92rem !important;
        line-height: 1.9 !important;
    }

    #main-body .primary-content:has(a[onclick*="window.print"]):has(form[action*="knowledgebase"]) .card:has(.kb-article-item) .card-title {
        font-size: 1.38rem !important;
    }
}

/* downloads pages */
#main-body .primary-content:has(#inputDownloadsSearch) {
    --dlp-primary: #1d5c90;
    --dlp-primary-2: #173f63;
    --dlp-border: #d4dfeb;
    --dlp-surface: #ffffff;
    --dlp-surface-soft: #f5f9fe;
    --dlp-text: #17324d;
    --dlp-text-soft: #5d748b;
}

#main-body .primary-content:has(#inputDownloadsSearch) form[role="form"] {
    max-width: 1080px !important;
    margin: 0 auto 1rem !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .kb-search {
    border: 1px solid #c7d5e3 !important;
    border-radius: 0.85rem !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(16, 42, 66, 0.08) !important;
    overflow: hidden !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .kb-search .form-control {
    height: 56px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--dlp-text) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-align: center !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .kb-search .form-control::placeholder {
    color: #6f869c !important;
    opacity: 1 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .kb-search .input-group-append {
    margin: 0.36rem !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) #btnDownloadsSearch {
    min-width: 102px !important;
    border: 1px solid #18486f !important;
    border-radius: 0.62rem !important;
    background: linear-gradient(180deg, #2167a2 0%, #184b75 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 16px rgba(20, 64, 99, 0.22) !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) #btnDownloadsSearch:hover,
#main-body .primary-content:has(#inputDownloadsSearch) #btnDownloadsSearch:focus {
    background: linear-gradient(180deg, #1a588a 0%, #123d60 100%) !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .row:has(.kb-category) {
    justify-content: center !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card.kb-category {
    border: 1px solid var(--dlp-border) !important;
    border-radius: 0.95rem !important;
    background: linear-gradient(165deg, var(--dlp-surface) 0%, var(--dlp-surface-soft) 100%) !important;
    box-shadow: 0 10px 22px rgba(16, 42, 66, 0.09) !important;
    margin-bottom: 1rem !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card.kb-category a.card-body {
    display: block !important;
    padding: 1.05rem 1rem !important;
    text-align: center !important;
    color: var(--dlp-text) !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card.kb-category .h5 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0.45rem !important;
    width: 100% !important;
    font-size: 1.55rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card.kb-category .badge.badge-info {
    position: static !important;
    float: none !important;
    order: 3 !important;
    margin: 0 !important;
    border-radius: 0.5rem !important;
    padding: 0.22rem 0.58rem !important;
    background: #2ba9b7 !important;
    color: #fff !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card.kb-category p {
    margin-top: 0.42rem !important;
    text-align: center !important;
    color: var(--dlp-text-soft) !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) {
    border: 1px solid var(--dlp-border) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(16, 42, 66, 0.08) !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) .card-title {
    margin: 0 !important;
    text-align: center !important;
    color: #102f4a !important;
    font-size: 1.72rem !important;
    font-weight: 900 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) .card-body {
    padding: 1rem 1rem 0.95rem !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item {
    padding: 1.05rem 0.95rem !important;
    text-align: center !important;
    color: #17456d !important;
    font-weight: 700 !important;
    position: relative !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item small {
    margin: 0.45rem auto 0 !important;
    max-width: 92% !important;
    color: #395d7c !important;
    line-height: 1.85 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item .float-md-right {
    float: none !important;
    display: block !important;
    position: absolute !important;
    top: 0.72rem !important;
    left: 0.82rem !important;
    margin: 0 !important;
    z-index: 2 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) .list-group-item.kb-article-item .label.label-danger {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.26rem !important;
    padding: 0.34rem 0.62rem !important;
    border-radius: 0.55rem !important;
    background-color: var(--error, var(--danger)) !important;
    color: #fff !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .card .list-group-item:not(.kb-article-item) {
    padding: 1.15rem 0.95rem !important;
    text-align: center !important;
    color: #1e3e5c !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
}

#main-body .primary-content:has(#inputDownloadsSearch) .kb-search,
#main-body .primary-content:has(#inputDownloadsSearch) .card.kb-category,
#main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) {
    box-shadow: none !important;
}

#main-body .primary-content:has(#inputDownloadsSearch)>a.btn.btn-default.px-4 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    margin: 0.3rem auto 0 !important;
    border: 1px solid #c0d2e3 !important;
    border-radius: 0.65rem !important;
    background: #f9fbff !important;
    color: #143654 !important;
    font-weight: 800 !important;
}

@media (max-width: 767px) {
    #main-body .primary-content:has(#inputDownloadsSearch) .kb-search .form-control {
        height: 50px !important;
        font-size: 0.92rem !important;
        text-align: right !important;
        padding-right: 0.75rem !important;
    }

    #main-body .primary-content:has(#inputDownloadsSearch) #btnDownloadsSearch {
        min-width: 92px !important;
        font-size: 0.86rem !important;
    }

    #main-body .primary-content:has(#inputDownloadsSearch) .card.kb-category .h5 {
        font-size: 1.08rem !important;
    }

    #main-body .primary-content:has(#inputDownloadsSearch) .card:has(.kb-article-item) .card-title {
        font-size: 1.38rem !important;
    }

    #main-body .primary-content:has(#inputDownloadsSearch) .card .list-group-item:not(.kb-article-item) {
        font-size: 0.92rem !important;
    }
}

/* network status page */
#main-body .primary-content:has(nav[aria-label="Network issues navigation"]) {
    --nsp-border: #d4dfeb;
    --nsp-surface: #ffffff;
    --nsp-surface-soft: #f5f9fe;
    --nsp-text: #17324d;
    --nsp-text-soft: #5d748b;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.alert.alert-success {
    border: 1px solid #b8d7ca !important;
    border-radius: 0.8rem !important;
    background: linear-gradient(160deg, #edf8f2 0%, #e6f5ed 100%) !important;
    color: #1c6a4e !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    margin-bottom: 0.9rem !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.alert.alert-info {
    border: 1px solid #bfd4e7 !important;
    border-radius: 0.8rem !important;
    background: linear-gradient(160deg, #eef6ff 0%, #e8f2fd 100%) !important;
    color: #1d4f7a !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    margin-bottom: 0.9rem !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.card {
    border: 1px solid var(--nsp-border) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: var(--nsp-surface) !important;
    box-shadow: none !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.card .card-header {
    padding: 0.92rem 1rem !important;
    border-bottom: 1px solid #dfe8f1 !important;
    background: linear-gradient(165deg, #ffffff 0%, var(--nsp-surface-soft) 100%) !important;
    color: var(--nsp-text) !important;
    font-size: 1.12rem !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.card .card-body {
    padding: 0.95rem 1rem !important;
    color: #2a4b69 !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.card .list-inline {
    margin-bottom: 0.55rem !important;
    color: var(--nsp-text-soft) !important;
    font-size: 0.9rem !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.card .card-header .badge {
    float: none !important;
    margin-inline-start: 0.55rem !important;
    border-radius: 0.5rem !important;
    padding: 0.24rem 0.58rem !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"])>p {
    margin: 0 0 0.9rem !important;
    padding: 0.92rem 1rem !important;
    border: 1px solid #d9e4ef !important;
    border-radius: 0.82rem !important;
    background: linear-gradient(165deg, #ffffff 0%, #f7fbff 100%) !important;
    text-align: center !important;
    color: #183a58 !important;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"]) nav[aria-label="Network issues navigation"] .pagination {
    display: flex !important;
    justify-content: center !important;
    gap: 0.42rem !important;
    margin-top: 0.2rem !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"]) nav[aria-label="Network issues navigation"] .page-link {
    border: 1px solid #c3d3e4 !important;
    border-radius: 0.58rem !important;
    background: #f8fbff !important;
    color: #163c5f !important;
    font-weight: 700 !important;
    min-width: 86px !important;
    text-align: center !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"]) nav[aria-label="Network issues navigation"] .page-item.disabled .page-link {
    opacity: 0.55 !important;
}

#main-body .primary-content:has(nav[aria-label="Network issues navigation"]) nav[aria-label="Network issues navigation"] .page-link:hover,
#main-body .primary-content:has(nav[aria-label="Network issues navigation"]) nav[aria-label="Network issues navigation"] .page-link:focus {
    border-color: #95aec8 !important;
    background: #ecf4fd !important;
}

@media (max-width: 767px) {
    #main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.card .card-header {
        font-size: 1rem !important;
        padding: 0.78rem 0.72rem !important;
    }

    #main-body .primary-content:has(nav[aria-label="Network issues navigation"])>.card .card-body {
        padding: 0.78rem 0.72rem !important;
    }

    #main-body .primary-content:has(nav[aria-label="Network issues navigation"])>p {
        font-size: 0.95rem !important;
        padding: 0.78rem 0.72rem !important;
    }

    #main-body .primary-content:has(nav[aria-label="Network issues navigation"]) nav[aria-label="Network issues navigation"] .page-link {
        min-width: 78px !important;
        padding: 0.32rem 0.56rem !important;
        font-size: 0.86rem !important;
    }
}

/* product addons tab (client area product details) */
#main-body .primary-content:has(#tabAddons) #tabAddons {
    --pat-border: #d5e0ec;
    --pat-surface: #ffffff;
    --pat-surface-soft: #f5f9fe;
    --pat-text: #17324d;
    --pat-text-soft: #5f7790;
    padding-top: 0.4rem !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons>h3 {
    margin: 0 0 0.9rem !important;
    text-align: center !important;
    color: #102f4a !important;
    font-size: 2rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons>.alert {
    border-radius: 0.8rem !important;
    border: 1px solid #e7d7a2 !important;
    background: linear-gradient(160deg, #fff9e8 0%, #fff4d1 100%) !important;
    color: #7f5d11 !important;
    text-align: center !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 16px rgba(127, 93, 17, 0.08) !important;
    margin: 0 auto 1rem !important;
    max-width: 1080px !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons>.row {
    justify-content: center !important;
    margin: 0 !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons>.row>.col-10.offset-1 {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 920px !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue {
    border: 1px solid var(--pat-border) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    background: linear-gradient(165deg, var(--pat-surface) 0%, var(--pat-surface-soft) 100%) !important;
    box-shadow: 0 10px 22px rgba(16, 42, 66, 0.08) !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue .card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.65rem !important;
    padding: 0.86rem 1rem !important;
    border-bottom: 1px solid #dfe8f1 !important;
    background: rgba(255, 255, 255, 0.74) !important;
    color: var(--pat-text) !important;
    font-size: 1.08rem !important;
    font-weight: 900 !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue .card-header .label {
    float: none !important;
    margin: 0 !important;
    border-radius: 0.5rem !important;
    padding: 0.24rem 0.62rem !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue .card-body {
    margin: 0 !important;
    padding: 0.95rem 1rem !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue .card-body p {
    margin-bottom: 0.44rem !important;
    color: #234563 !important;
    line-height: 1.85 !important;
}

#main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue .card-footer {
    border-top: 1px solid #e2ebf4 !important;
    background: rgba(255, 255, 255, 0.76) !important;
    padding: 0.74rem 0.92rem !important;
}

#main-body .primary-content:has(#tabAddons)>a.btn.btn-default {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    margin: 0.55rem auto 0 !important;
    border: 1px solid #c0d2e3 !important;
    border-radius: 0.65rem !important;
    background: #f9fbff !important;
    color: #143654 !important;
    font-weight: 800 !important;
}

@media (max-width: 767px) {
    #main-body .primary-content:has(#tabAddons) #tabAddons>h3 {
        font-size: 1.5rem !important;
        margin-bottom: 0.72rem !important;
    }

    #main-body .primary-content:has(#tabAddons) #tabAddons>.alert {
        padding: 0.72rem 0.7rem !important;
        font-size: 0.9rem !important;
    }

    #main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue .card-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        font-size: 0.98rem !important;
        padding: 0.72rem !important;
    }

    #main-body .primary-content:has(#tabAddons) #tabAddons .card.bg-default.card-accent-blue .card-body {
        padding: 0.78rem 0.72rem !important;
    }
}

/* standalone domain addons page (clientarea.php?action=domainaddons) */
#main-body .primary-content .card form[action*="?action=domainaddons"] {
    max-width: 920px !important;
    margin: 0 auto !important;
}

#main-body .primary-content .card form[action*="?action=domainaddons"] .card-title {
    margin: 0 0 0.85rem !important;
    text-align: center !important;
    color: #102f4a !important;
    font-size: 1.9rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content .card form[action*="?action=domainaddons"] .alert {
    border-radius: 0.8rem !important;
    border: 1px solid #e7d7a2 !important;
    background: linear-gradient(160deg, #fff9e8 0%, #fff4d1 100%) !important;
    color: #7f5d11 !important;
    text-align: center !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 16px rgba(127, 93, 17, 0.08) !important;
    margin: 0 auto 1rem !important;
}

#main-body .primary-content .card form[action*="?action=domainaddons"] p {
    text-align: center !important;
    color: #234563 !important;
    line-height: 1.9 !important;
}

#main-body .primary-content>a.btn.btn-default[href*="action=domaindetails"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    margin: 0.55rem auto 0 !important;
    border: 1px solid #c0d2e3 !important;
    border-radius: 0.65rem !important;
    background: #f9fbff !important;
    color: #143654 !important;
    font-weight: 800 !important;
}

@media (max-width: 767px) {
    #main-body .primary-content .card form[action*="?action=domainaddons"] .card-title {
        font-size: 1.45rem !important;
    }

    #main-body .primary-content .card form[action*="?action=domainaddons"] .alert {
        padding: 0.72rem 0.7rem !important;
        font-size: 0.9rem !important;
    }
}

/* cart addons page (cart.php?gid=addons) */
#order-standard_cart #noAddons.alert {
    max-width: 980px !important;
    margin: 0 auto 1rem !important;
    border: 1px solid #e7d7a2 !important;
    border-radius: 0.82rem !important;
    background: linear-gradient(160deg, #fff9e8 0%, #fff4d1 100%) !important;
    color: #7f5d11 !important;
    text-align: center !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 16px rgba(127, 93, 17, 0.08) !important;
    padding: 0.86rem 1rem !important;
}

#order-standard_cart #noAddons+p.text-center {
    margin: 0.4rem 0 1rem !important;
}

#order-standard_cart #noAddons+p.text-center .btn.btn-default {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.38rem !important;
    border: 1px solid #c0d2e3 !important;
    border-radius: 0.65rem !important;
    background: #f9fbff !important;
    color: #143654 !important;
    font-weight: 800 !important;
    padding: 0.56rem 1rem !important;
}

#order-standard_cart .products .product form.form-inline[action*="?a=add"] {
    display: block !important;
    margin: 0 !important;
}

#order-standard_cart .products .product form.form-inline[action*="?a=add"] header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.78rem 0.9rem !important;
    border-bottom: 1px solid #dfe8f1 !important;
    background: linear-gradient(165deg, #ffffff 0%, #f4f8fd 100%) !important;
}

#order-standard_cart .products .product form.form-inline[action*="?a=add"] .product-desc {
    padding: 0.88rem 0.9rem !important;
}

#order-standard_cart .products .product form.form-inline[action*="?a=add"] .product-desc .form-control {
    min-height: 46px !important;
    border: 1px solid #c4d4e3 !important;
    border-radius: 0.65rem !important;
}

#order-standard_cart .products .product form.form-inline[action*="?a=add"] footer {
    padding: 0.75rem 0.9rem !important;
    border-top: 1px solid #e2ebf4 !important;
    background: rgba(255, 255, 255, 0.78) !important;
}

#order-standard_cart .products .product form.form-inline[action*="?a=add"] footer .btn.btn-success {
    border-radius: 0.62rem !important;
    font-weight: 800 !important;
}

@media (max-width: 767px) {
    #order-standard_cart #noAddons.alert {
        font-size: 0.92rem !important;
        padding: 0.72rem 0.7rem !important;
    }

    #order-standard_cart #noAddons+p.text-center .btn.btn-default {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* flat cards on knowledgebase listing page */
body:has(#inputKnowledgebaseSearch) .kb-search,
body:has(#inputKnowledgebaseSearch) .card,
body:has(#inputKnowledgebaseSearch) .panel {
    box-shadow: none !important;
}

/* flat cards on network status page */
body:has(nav[aria-label="Network issues navigation"]) .card,
body:has(nav[aria-label="Network issues navigation"]) .panel,
body:has(nav[aria-label="Network issues navigation"]) .alert {
    box-shadow: none !important;
}

/* global datatable/table-list refresh (client area) */
body .table-container.table-responsive:has(.table.table-list) {
    border: 1px solid #d9e2ec !important;
    border-radius: 0.9rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 8px 20px rgba(15, 35, 64, 0.06) !important;
    padding: 0.65rem 0.7rem 0.78rem !important;
}

body .table-container.table-responsive:has(.table.table-list) hr {
    border-top-color: #dbe5ef !important;
    margin-top: 0.7rem !important;
    margin-bottom: 0.8rem !important;
}

body .dataTables_wrapper .listtable {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.65rem 1rem !important;
    flex-wrap: wrap !important;
}

body .dataTables_wrapper .listtable .dataTables_filter,
body .dataTables_wrapper .listtable .dataTables_info {
    float: none !important;
    margin: 0 !important;
}

body .dataTables_wrapper .listtable .dataTables_filter input {
    border-color: #c6d4e2 !important;
    border-radius: 0.7rem !important;
    background: #fff !important;
}

body .dataTables_wrapper .listtable .dataTables_filter input:focus {
    border-color: #9ab2ca !important;
    box-shadow: 0 0 0 0.17rem rgba(54, 91, 200, 0.11) !important;
}

body .table.table-list {
    margin-bottom: 0 !important;
    border: 1px solid #d8e1ec !important;
    border-radius: 0.8rem !important;
    overflow: hidden !important;
    background: #fff !important;
}

body .table.table-list thead th {
    position: relative !important;
    border-top: 0 !important;
    border-bottom: 1px solid #d8e2ed !important;
    background: linear-gradient(180deg, #f6f9fc 0%, #eef3f8 100%) !important;
    color: #133554 !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    padding: 0.82rem 0.7rem !important;
    white-space: nowrap !important;
}

body .table.table-list tbody td {
    padding: 0.88rem 0.7rem !important;
    border-top: 1px solid #e4ebf3 !important;
    color: #223a53 !important;
    vertical-align: middle !important;
    font-size: 0.9rem !important;
}

body .table.table-list tbody tr:nth-child(even) {
    background: #fbfdff !important;
}

body .table.table-list tbody tr {
    transition: background-color 0.18s ease, box-shadow 0.18s ease !important;
}

body .table.table-list tbody tr:hover {
    background: #f2f7fc !important;
}

body .table.table-list tbody tr[onclick] {
    cursor: pointer !important;
}

body .table.table-list tbody td strong {
    color: #0f304d !important;
    font-size: 0.93rem !important;
}

body .table.table-list tbody td a[target="_blank"] {
    color: #4f72d6 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

body .table.table-list tbody td a[target="_blank"]:hover,
body .table.table-list tbody td a[target="_blank"]:focus {
    color: #365bc8 !important;
    text-decoration: underline !important;
}

body .table.table-list tbody td small {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
}

body .table.table-list .label.status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 6.9rem !important;
    min-height: 1.9rem !important;
    padding: 0.2rem 0.72rem !important;
    border-radius: 999px !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    border: 1px solid #c8d5e3 !important;
    background: #eef3f8 !important;
    color: #1e3d5a !important;
    white-space: nowrap !important;
}

body .table.table-list .label.status.status-active,
body .table.table-list .label.status.status-open,
body .table.table-list .label.status.status-paid,
body .table.table-list .label.status.status-completed {
    background: #e6f5ef !important;
    border-color: #9fd7be !important;
    color: #1b6b4f !important;
}

body .table.table-list .label.status.status-pending,
body .table.table-list .label.status.status-payment-pending,
body .table.table-list .label.status.status-on-hold {
    background: #fff5df !important;
    border-color: #e8cb87 !important;
    color: #865e16 !important;
}

body .table.table-list .label.status.status-unpaid,
body .table.table-list .label.status.status-overdue,
body .table.table-list .label.status.status-suspended,
body .table.table-list .label.status.status-terminated,
body .table.table-list .label.status.status-cancelled,
body .table.table-list .label.status.status-closed,
body .table.table-list .label.status.status-fraud {
    background: #fdecee !important;
    border-color: #e6b3bb !important;
    color: #8f2c3f !important;
}

@media (max-width: 991px) {
    body .dataTables_wrapper .listtable {
        gap: 0.45rem !important;
    }

    body .dataTables_wrapper .listtable .dataTables_filter,
    body .dataTables_wrapper .listtable .dataTables_info {
        width: 100% !important;
    }

    body .dataTables_wrapper .listtable .dataTables_filter input {
        width: 100% !important;
        min-width: 0 !important;
    }

    body .table-container.table-responsive:has(.table.table-list) {
        padding: 0.55rem 0.5rem 0.65rem !important;
    }

    body .table.table-list thead th {
        font-size: 0.78rem !important;
        padding: 0.72rem 0.55rem !important;
    }

    body .table.table-list tbody td {
        font-size: 0.86rem !important;
        padding: 0.76rem 0.55rem !important;
    }

    body .table.table-list .label.status {
        min-width: 6.2rem !important;
        font-size: 0.72rem !important;
    }
}

/* account page  */
.attachment-group {
    flex-direction: row-reverse;

    button {
        font-size: small !important;
        height: max-content;
    }

    .custom-file-label {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: small;
    }
}

/* account details page refresh (clientarea.php?action=details) */
#main-body .primary-content>form[action="?action=details"] {
    --cad-border: #d9e3ee;
    --cad-border-strong: #c3d1df;
    --cad-surface: #ffffff;
    --cad-surface-soft: #f7faff;
    --cad-title: #264380;
    --cad-text: #1f405f;
    --cad-muted: #627a92;
    max-width: 1180px;
    margin: 0 auto;
}

#main-body .primary-content>form[action="?action=details"]>.card {
    border: 1px solid var(--cad-border) !important;
    border-radius: 0.9rem !important;
    background: linear-gradient(180deg, var(--cad-surface) 0%, #fcfdff 100%) !important;
    box-shadow: none !important;
    margin-bottom: 1rem !important;
}

#main-body .primary-content>form[action="?action=details"]>.card>.card-body {
    padding: 1rem 1.1rem 1.05rem !important;
}

#main-body .primary-content>form[action="?action=details"] .card-title {
    margin: 0 0 0.95rem !important;
    color: var(--cad-title) !important;
    font-size: 1.38rem !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
}

#main-body .primary-content>form[action="?action=details"] .row.d-md-block {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
}

#main-body .primary-content>form[action="?action=details"] .row.d-md-block>[class*="col-md-"] {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

#main-body .primary-content>form[action="?action=details"] .form-group {
    margin-bottom: 0.85rem !important;
}

#main-body .primary-content>form[action="?action=details"] .col-form-label {
    color: var(--cad-text) !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    padding: unset !important;
    line-height: 1.55 !important;
}

#main-body .primary-content>form[action="?action=details"] .form-control,
#main-body .primary-content>form[action="?action=details"] .custom-select,
#main-body .primary-content>form[action="?action=details"] .field.form-control {
    border: 1px solid var(--cad-border-strong) !important;
    border-radius: 0.72rem !important;
    background: #ffffff !important;
    color: #143756 !important;
    box-shadow: none !important;
}

#main-body .primary-content>form[action="?action=details"] .form-control:focus,
#main-body .primary-content>form[action="?action=details"] .custom-select:focus,
#main-body .primary-content>form[action="?action=details"] .field.form-control:focus {
    border-color: #93abc4 !important;
    box-shadow: 0 0 0 0.19rem rgba(54, 91, 200, 0.12) !important;
}

#main-body .primary-content>form[action="?action=details"] .form-control[disabled],
#main-body .primary-content>form[action="?action=details"] .custom-select[disabled] {
    background: #f1f5f9 !important;
    color: #5f748b !important;
}

#main-body .primary-content>form[action="?action=details"] .iti {
    width: 100% !important;
}

#main-body .primary-content>form[action="?action=details"] .intl-tel-input,
#main-body .primary-content>form[action="?action=details"] .iti {
    width: 100% !important;
    direction: ltr;
}

#main-body .primary-content>form[action="?action=details"] #inputPhone {
    direction: ltr !important;
    text-align: left !important;
    unicode-bidi: plaintext;
    font-variant-numeric: tabular-nums;
}

#main-body .primary-content>form[action="?action=details"] .intl-tel-input input[type="tel"],
#main-body .primary-content>form[action="?action=details"] .intl-tel-input input[type="text"],
#main-body .primary-content>form[action="?action=details"] .iti input[type="tel"],
#main-body .primary-content>form[action="?action=details"] .iti input[type="text"] {
    min-height: 2.9rem !important;
    border-radius: 0.72rem !important;
}

#main-body .primary-content>form[action="?action=details"] .intl-tel-input .flag-container,
#main-body .primary-content>form[action="?action=details"] .iti .iti__flag-container {
    padding: 2px !important;
}

#main-body .primary-content>form[action="?action=details"] .intl-tel-input .selected-flag,
#main-body .primary-content>form[action="?action=details"] .iti .iti__selected-country {
    height: calc(100% - 4px) !important;
    border-inline-end: 1px solid #cfdae6;
    background: #f3f7fc !important;
    border-radius: 0.62rem 0 0 0.62rem;
    display: flex;
    align-items: center;
}

#main-body .primary-content>form[action="?action=details"] .intl-tel-input .selected-dial-code,
#main-body .primary-content>form[action="?action=details"] .iti .iti__selected-dial-code {
    color: #143756;
    font-weight: 700;
}

/* prevent phone country dropdown from being clipped/hidden */
#main-body .primary-content>form[action="?action=details"]>.card:first-child,
#main-body .primary-content>form[action="?action=details"]>.card:first-child>.card-body {
    overflow: visible !important;
}

#main-body .primary-content>form[action="?action=details"] .intl-tel-input,
#main-body .primary-content>form[action="?action=details"] .iti {
    position: relative;
    z-index: 30;
}

#main-body .primary-content>form[action="?action=details"] .intl-tel-input .country-list,
#main-body .primary-content>form[action="?action=details"] .iti .iti__country-list {
    z-index: 4000 !important;
    max-height: 18rem !important;
    border: 1px solid #c7d6e5 !important;
    border-radius: 0.62rem !important;
    box-shadow: 0 10px 24px rgba(15, 35, 64, 0.12) !important;
}

#main-body .primary-content>form[action="?action=details"] .controls.form-check {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.58rem 0.7rem;
    margin: 0;
    padding-top: 0.15rem;
}

#main-body .primary-content>form[action="?action=details"] .controls.form-check br {
    display: none;
}

#main-body .primary-content>form[action="?action=details"] .controls.form-check label {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    border: 1px solid #dbe5ef;
    border-radius: 0.74rem;
    background: linear-gradient(180deg, var(--cad-surface) 0%, var(--cad-surface-soft) 100%);
    padding: 0.64rem 0.72rem;
    color: #143756;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.72;
    cursor: pointer;
}

#main-body .primary-content>form[action="?action=details"] .controls.form-check .form-check-input {
    position: relative;
    margin: 0.2rem 0 0;
    flex: 0 0 auto;
    accent-color: #365bc8;
}

#main-body .primary-content>form[action="?action=details"]>.card:has(input[name="marketingoptin"]) .card-body {
    display: grid;
    gap: 0.72rem;
}

#main-body .primary-content>form[action="?action=details"]>.card:has(input[name="marketingoptin"]) p {
    margin: 0;
    color: var(--cad-text);
    line-height: 1.9;
}

#main-body .primary-content>form[action="?action=details"]>.form-group.text-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0.25rem 0 0 !important;
}

#main-body .primary-content>form[action="?action=details"]>.form-group.text-center .btn {
    min-width: 8.7rem;
    min-height: 2.7rem;
    border-radius: 0.72rem;
    font-size: 0.96rem;
    font-weight: 800;
    padding: 0.56rem 1rem;
}

body:has(#main-body .primary-content > form[action="?action=details"]) #main-body .sidebar .panel.panel-sidebar,
body:has(#main-body .primary-content > form[action="?action=details"]) #main-body .sidebar .card-sidebar {
    border-color: #c8d5e3 !important;
}

body:has(#main-body .primary-content > form[action="?action=details"]) #main-body .sidebar .list-group-item.active,
body:has(#main-body .primary-content > form[action="?action=details"]) #main-body .sidebar .list-group-item.active:hover,
body:has(#main-body .primary-content > form[action="?action=details"]) #main-body .sidebar .list-group-item.active:focus {
    border-radius: unset;
}

@media (min-width: 1200px) {
    body:has(#main-body .primary-content > form[action="?action=details"]) #main-body .col-lg-4.col-xl-3>.sidebar:first-child {
        position: sticky;
        top: 8rem;
    }
}

@media (max-width: 991px) {
    #main-body .primary-content>form[action="?action=details"] .card-title {
        font-size: 1.15rem !important;
    }

    #main-body .primary-content>form[action="?action=details"] .controls.form-check {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    #main-body .primary-content>form[action="?action=details"]>.form-group.text-center .btn {
        width: 100%;
    }
}

/* account contacts pages refresh (rp=/account/contacts) */
#main-body .primary-content:has(form[action*="/account/contacts"]) {
    --cc-border: #d9e3ee;
    --cc-border-strong: #c3d1df;
    --cc-surface: #ffffff;
    --cc-surface-soft: #f7faff;
    --cc-title: #264380;
    --cc-text: #1f405f;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info {
    border: 1px solid var(--cc-border) !important;
    border-radius: 0.9rem !important;
    background: linear-gradient(180deg, var(--cc-surface) 0%, #fafdff 100%) !important;
    color: var(--cc-text) !important;
    box-shadow: none !important;
    padding: 0.85rem 1rem !important;
    margin-bottom: 1rem !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info form {
    margin: 0;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info .row {
    align-items: center;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info .col-form-label {
    margin-bottom: 0 !important;
    color: var(--cc-text) !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info .form-control,
#main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info .custom-select,
#main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info .btn {
    min-height: 2.9rem !important;
    border-radius: 0.72rem !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.card {
    border: 1px solid var(--cc-border) !important;
    border-radius: 0.9rem !important;
    background: linear-gradient(180deg, var(--cc-surface) 0%, #fcfdff 100%) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    margin-bottom: 1rem !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.card>.card-body {
    padding: 1rem 1.1rem 1.05rem !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .card-title {
    margin: 0 0 0.95rem !important;
    color: var(--cc-title) !important;
    font-size: 1.38rem !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .form-group {
    margin-bottom: 0.85rem !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .col-form-label {
    color: var(--cc-text) !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    line-height: 1.55 !important;
    padding: unset !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .form-control,
#main-body .primary-content:has(form[action*="/account/contacts"]) .custom-select,
#main-body .primary-content:has(form[action*="/account/contacts"]) .field.form-control {
    border: 1px solid var(--cc-border-strong) !important;
    border-radius: 0.72rem !important;
    background: #ffffff !important;
    color: #143756 !important;
    box-shadow: none !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .form-control:focus,
#main-body .primary-content:has(form[action*="/account/contacts"]) .custom-select:focus,
#main-body .primary-content:has(form[action*="/account/contacts"]) .field.form-control:focus {
    border-color: #93abc4 !important;
    box-shadow: 0 0 0 0.19rem rgba(54, 91, 200, 0.12) !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .controls.form-check {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.58rem 0.7rem;
    margin: 0;
    padding-top: 0.15rem;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .controls.form-check br {
    display: none;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .controls.form-check label {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    border: 1px solid #dbe5ef;
    border-radius: 0.74rem;
    background: linear-gradient(180deg, var(--cc-surface) 0%, var(--cc-surface-soft) 100%);
    padding: 0.64rem 0.72rem;
    color: #143756;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.72;
    cursor: pointer;
}

#main-body .primary-content:has(form[action*="/account/contacts"]) .controls.form-check .form-check-input {
    position: relative;
    margin: 0.2rem 0 0;
    flex: 0 0 auto;
    accent-color: #365bc8;
}

#main-body .primary-content form[action*="/account/contacts/new"],
#main-body .primary-content form[action*="rp=/account/contacts/new"],
#main-body .primary-content form[action*="/account/contacts/save"],
#main-body .primary-content form[action*="rp=/account/contacts/save"] {
    margin-bottom: 0;
}

#main-body .primary-content form[action*="/account/contacts/new"] .form-group.text-center,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .form-group.text-center,
#main-body .primary-content form[action*="/account/contacts/save"] .form-group.text-center,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .form-group.text-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0.25rem 0 0 !important;
}

#main-body .primary-content form[action*="/account/contacts/new"] .form-group.text-center .btn,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .form-group.text-center .btn,
#main-body .primary-content form[action*="/account/contacts/save"] .form-group.text-center .btn,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .form-group.text-center .btn {
    min-width: 8.7rem;
    min-height: 2.7rem;
    border-radius: 0.72rem;
    font-size: 0.96rem;
    font-weight: 800;
    padding: 0.56rem 1rem;
}

#main-body .primary-content form[action*="/account/contacts/new"] .intl-tel-input,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .intl-tel-input,
#main-body .primary-content form[action*="/account/contacts/new"] .iti,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .iti,
#main-body .primary-content form[action*="/account/contacts/save"] .intl-tel-input,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .intl-tel-input,
#main-body .primary-content form[action*="/account/contacts/save"] .iti,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .iti {
    width: 100% !important;
    direction: ltr;
    position: relative;
    z-index: 30;
}

#main-body .primary-content form[action*="/account/contacts/new"] #inputPhone,
#main-body .primary-content form[action*="rp=/account/contacts/new"] #inputPhone,
#main-body .primary-content form[action*="/account/contacts/save"] #inputPhone,
#main-body .primary-content form[action*="rp=/account/contacts/save"] #inputPhone {
    direction: ltr !important;
    text-align: left !important;
    unicode-bidi: plaintext;
    font-variant-numeric: tabular-nums;
}

#main-body .primary-content form[action*="/account/contacts/new"] .intl-tel-input .selected-flag,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .intl-tel-input .selected-flag,
#main-body .primary-content form[action*="/account/contacts/new"] .iti .iti__selected-country,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .iti .iti__selected-country,
#main-body .primary-content form[action*="/account/contacts/save"] .intl-tel-input .selected-flag,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .intl-tel-input .selected-flag,
#main-body .primary-content form[action*="/account/contacts/save"] .iti .iti__selected-country,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .iti .iti__selected-country {
    height: calc(100% - 4px) !important;
    border-inline-end: 1px solid #cfdae6;
    background: #f3f7fc !important;
    border-radius: 0.62rem 0 0 0.62rem;
    display: flex;
    align-items: center;
}

#main-body .primary-content form[action*="/account/contacts/new"] .intl-tel-input .selected-dial-code,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .intl-tel-input .selected-dial-code,
#main-body .primary-content form[action*="/account/contacts/new"] .iti .iti__selected-dial-code,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .iti .iti__selected-dial-code,
#main-body .primary-content form[action*="/account/contacts/save"] .intl-tel-input .selected-dial-code,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .intl-tel-input .selected-dial-code,
#main-body .primary-content form[action*="/account/contacts/save"] .iti .iti__selected-dial-code,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .iti .iti__selected-dial-code {
    color: #143756;
    font-weight: 700;
}

#main-body .primary-content form[action*="/account/contacts/new"] .intl-tel-input .country-list,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .intl-tel-input .country-list,
#main-body .primary-content form[action*="/account/contacts/new"] .iti .iti__country-list,
#main-body .primary-content form[action*="rp=/account/contacts/new"] .iti .iti__country-list,
#main-body .primary-content form[action*="/account/contacts/save"] .intl-tel-input .country-list,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .intl-tel-input .country-list,
#main-body .primary-content form[action*="/account/contacts/save"] .iti .iti__country-list,
#main-body .primary-content form[action*="rp=/account/contacts/save"] .iti .iti__country-list {
    z-index: 4000 !important;
    max-height: 18rem !important;
    border: 1px solid #c7d6e5 !important;
    border-radius: 0.62rem !important;
    box-shadow: 0 10px 24px rgba(15, 35, 64, 0.12) !important;
}

#main-body .primary-content:has(form[action*="/account/contacts"])>.card:has(#inputPhone),
#main-body .primary-content:has(form[action*="/account/contacts"])>.card:has(#inputPhone)>.card-body {
    overflow: visible !important;
}

body:has(#main-body .primary-content form[action*="/account/contacts"]) #main-body .sidebar .panel.panel-sidebar,
body:has(#main-body .primary-content form[action*="/account/contacts"]) #main-body .sidebar .card-sidebar {
    border-color: #c8d5e3 !important;
}

body:has(#main-body .primary-content form[action*="/account/contacts"]) #main-body .sidebar .list-group-item.active,
body:has(#main-body .primary-content form[action*="/account/contacts"]) #main-body .sidebar .list-group-item.active:hover,
body:has(#main-body .primary-content form[action*="/account/contacts"]) #main-body .sidebar .list-group-item.active:focus {
    border-radius: unset !important;
}

@media (min-width: 1200px) {
    body:has(#main-body .primary-content form[action*="/account/contacts"]) #main-body .col-lg-4.col-xl-3>.sidebar:first-child {
        position: sticky;
        top: 8rem;
    }
}

@media (max-width: 991px) {
    #main-body .primary-content:has(form[action*="/account/contacts"]) .card-title {
        font-size: 1.15rem !important;
    }

    #main-body .primary-content:has(form[action*="/account/contacts"]) .controls.form-check {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    #main-body .primary-content:has(form[action*="/account/contacts"])>.alert.alert-block.alert-info .col-form-label {
        margin-bottom: 0.35rem !important;
    }

    #main-body .primary-content form[action*="/account/contacts/new"] .form-group.text-center .btn,
    #main-body .primary-content form[action*="rp=/account/contacts/new"] .form-group.text-center .btn,
    #main-body .primary-content form[action*="/account/contacts/save"] .form-group.text-center .btn,
    #main-body .primary-content form[action*="rp=/account/contacts/save"] .form-group.text-center .btn {
        width: 100%;
    }
}

/* account users pages refresh (rp=/account/users) */
#main-body .primary-content:has(form[action*="/account/users"]) {
    --au-border: #d9e3ee;
    --au-border-strong: #c3d1df;
    --au-surface: #ffffff;
    --au-surface-soft: #f7faff;
    --au-title: #264380;
    --au-text: #1f405f;
    --au-muted: #627a92;
}

#main-body .primary-content:has(form[action*="/account/users"])>.card {
    border: 1px solid var(--au-border) !important;
    border-radius: 0.9rem !important;
    background: linear-gradient(180deg, var(--au-surface) 0%, #fcfdff 100%) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    margin-bottom: 1rem !important;
}

#main-body .primary-content:has(form[action*="/account/users"])>.card>.card-body {
    padding: 1rem 1.1rem 1.05rem !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) .card-title {
    margin: 0 0 0.95rem !important;
    color: var(--au-title) !important;
    font-size: 1.38rem !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) .card-body>p:not(.text-muted) {
    color: var(--au-text);
    line-height: 1.9;
}

#main-body .primary-content:has(form[action*="/account/users"]) .card-body>p.h5 {
    margin-top: 0.85rem;
    margin-bottom: 0.75rem;
    color: #143756;
    font-weight: 800;
    font-size: 1.05rem;
}

#main-body .primary-content:has(form[action*="/account/users"]) .table {
    margin-bottom: 0.95rem;
    border: 1px solid #d8e2ed !important;
    border-radius: 0.8rem !important;
    overflow: hidden !important;
    background: #fff !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) .table th {
    border-top: 0 !important;
    border-bottom: 1px solid #d8e2ed !important;
    background: linear-gradient(180deg, #f6f9fc 0%, #eef3f8 100%) !important;
    color: #133554 !important;
    font-size: 0.89rem !important;
    font-weight: 800 !important;
    padding: 0.82rem 0.72rem !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) .table td {
    padding: 0.88rem 0.72rem !important;
    border-top: 1px solid #e4ebf3 !important;
    color: #223a53 !important;
    vertical-align: middle !important;
    font-size: 0.95rem !important;
    line-height: 1.75;
}

#main-body .primary-content:has(form[action*="/account/users"]) .table tr:nth-child(even) td {
    background: #fbfdff;
}

#main-body .primary-content:has(form[action*="/account/users"]) .table td small,
#main-body .primary-content:has(form[action*="/account/users"]) .table td .text-muted {
    color: var(--au-muted) !important;
    font-size: 0.85rem !important;
    font-weight: 700;
}

#main-body .primary-content:has(form[action*="/account/users"]) .label.label-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-inline-start: 0.4rem;
    border-radius: 999px;
    border: 1px solid #aac7e2;
    background: #e9f3fc;
    color: #1a4f7c;
    font-size: 0.73rem;
    font-weight: 800;
    padding: 0.18rem 0.58rem;
}

#main-body .primary-content:has(form[action*="/account/users"]) .table .btn {
    min-height: 2.2rem;
    border-radius: 0.62rem;
    font-size: 0.86rem;
    font-weight: 800;
    padding: 0.44rem 0.82rem;
}

#main-body .primary-content:has(form[action*="/account/users"]) .table td form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem;
    margin: 0;
}

#main-body .primary-content:has(form[action*="/account/users"]) .text-muted.m-0 {
    margin-top: 0.35rem !important;
    padding: 0.72rem 0.82rem;
    border: 1px dashed #c9d8e7;
    border-radius: 0.74rem;
    background: #f8fbff;
}

#main-body .primary-content:has(form[action*="/account/users"]) .form-group {
    margin-bottom: 0.88rem !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) .form-control {
    min-height: 2.9rem !important;
    border: 1px solid var(--au-border-strong) !important;
    border-radius: 0.72rem !important;
    background: #fff !important;
    color: #143756 !important;
    box-shadow: none !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) .form-control:focus {
    border-color: #93abc4 !important;
    box-shadow: 0 0 0 0.19rem rgba(54, 91, 200, 0.12) !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) form[action*="/account/users/invite"] .form-check {
    margin: 0;
    padding: 0;
}

#main-body .primary-content:has(form[action*="/account/users"]) form[action*="/account/users/invite"] .form-check.form-check-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-inline-start: 1.2rem;
    color: #143756;
    font-weight: 700;
}

#main-body .primary-content:has(form[action*="/account/users"]) form[action*="/account/users/invite"] .form-check-input[type="radio"] {
    position: static;
    margin: 0;
}

#main-body .primary-content:has(form[action*="/account/users"]) #invitePermissions {
    border: 1px solid #d5e1ee !important;
    border-radius: 0.78rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    box-shadow: none !important;
    padding: 0.78rem 0.86rem !important;
    margin-bottom: 0.95rem !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) #invitePermissions .form-check.form-check-inline {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0 0 0.58rem;
    padding: 0.56rem 0.62rem;
    border: 1px solid #dbe5ef;
    border-radius: 0.7rem;
    background: linear-gradient(180deg, #fff 0%, #f7faff 100%);
}

#main-body .primary-content:has(form[action*="/account/users"]) #invitePermissions .form-check-input[type="checkbox"] {
    position: static;
    margin: 0.2rem 0 0;
    accent-color: #365bc8;
}

#main-body .primary-content:has(form[action*="/account/users"]) #invitePermissions br {
    display: none;
}

#main-body .primary-content:has(form[action*="/account/users"]) #invitePermissions .text-muted {
    color: #617b95 !important;
}

#main-body .primary-content:has(form[action*="/account/users"]) form[action*="/account/users/invite"]>.btn.btn-primary,
#main-body .primary-content:has(form[action*="/account/users-permissions/save"]) button.btn.btn-primary,
#main-body .primary-content:has(form[action*="/account/users-permissions/save"]) a.btn.btn-default {
    min-width: 8.7rem;
    min-height: 2.7rem;
    border-radius: 0.72rem;
    font-size: 0.96rem;
    font-weight: 800;
    padding: 0.56rem 1rem;
}

#main-body .primary-content:has(form[action*="/account/users-permissions/save"]) form>p {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
    margin-top: 0.9rem;
    margin-bottom: 0;
}

#main-body .primary-content:has(form[action*="/account/users-permissions/save"]) .form-check.form-check-inline {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0 0 0.58rem;
    padding: 0.56rem 0.62rem;
    border: 1px solid #dbe5ef;
    border-radius: 0.7rem;
    background: linear-gradient(180deg, #fff 0%, #f7faff 100%);
}

#main-body .primary-content:has(form[action*="/account/users-permissions/save"]) .form-check-input[type="checkbox"] {
    position: static;
    margin: 0.2rem 0 0;
    accent-color: #365bc8;
}

#main-body .primary-content:has(form[action*="/account/users-permissions/save"]) .form-check.form-check-inline br {
    display: none;
}

body:has(#main-body .primary-content form[action*="/account/users"]) #main-body .sidebar .panel.panel-sidebar,
body:has(#main-body .primary-content form[action*="/account/users"]) #main-body .sidebar .card-sidebar {
    border-color: #c8d5e3 !important;
}

body:has(#main-body .primary-content form[action*="/account/users"]) #main-body .sidebar .list-group-item.active,
body:has(#main-body .primary-content form[action*="/account/users"]) #main-body .sidebar .list-group-item.active:hover,
body:has(#main-body .primary-content form[action*="/account/users"]) #main-body .sidebar .list-group-item.active:focus {
    border-radius: unset !important;
}

@media (min-width: 1200px) {
    body:has(#main-body .primary-content form[action*="/account/users"]) #main-body .col-lg-4.col-xl-3>.sidebar:first-child {
        position: sticky;
        top: 8rem;
    }
}

@media (max-width: 991px) {
    #main-body .primary-content:has(form[action*="/account/users"]) .card-title {
        font-size: 1.15rem !important;
    }

    #main-body .primary-content:has(form[action*="/account/users"]) .table td form {
        flex-direction: column;
    }

    #main-body .primary-content:has(form[action*="/account/users"]) .table td .btn {
        width: 100%;
    }

    #main-body .primary-content:has(form[action*="/account/users"]) form[action*="/account/users/invite"] .form-check.form-check-inline {
        margin-inline-start: 0.8rem;
        margin-bottom: 0.45rem;
    }

    #main-body .primary-content:has(form[action*="/account/users"]) form[action*="/account/users/invite"]>.btn.btn-primary,
    #main-body .primary-content:has(form[action*="/account/users-permissions/save"]) button.btn.btn-primary,
    #main-body .primary-content:has(form[action*="/account/users-permissions/save"]) a.btn.btn-default {
        width: 100%;
    }
}

/* user switch account page refresh (rp=/user/accounts) */
#main-body .primary-content:has(.select-account) {
    --usa-border: #d7e4f4;
    --usa-border-strong: #c2d5ef;
    --usa-surface: #ffffff;
    --usa-surface-soft: #f7fbff;
    --usa-title: #193a73;
    --usa-text: #20446d;
    --usa-muted: #5f769f;
    --usa-accent: #365bc8;
}

#main-body .primary-content:has(.select-account)>.card.mw-540 {
    width: min(100%, 780px) !important;
    max-width: 780px !important;
    margin: 0 auto 1rem !important;
    border: 1px solid var(--usa-border) !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, var(--usa-surface) 0%, var(--usa-surface-soft) 100%) !important;
    overflow: hidden;
}

#main-body .primary-content:has(.select-account)>.card.mw-540>.card-body {
    padding: 1.25rem 1.35rem 1.35rem !important;
}

#main-body .primary-content:has(.select-account)>.card.mw-540>.card-body>p:first-of-type {
    margin: 0 0 1rem !important;
    color: var(--usa-title) !important;
    text-align: center;
    font-size: 1.22rem;
    font-weight: 900;
    line-height: 1.6;
}

#main-body .primary-content:has(.select-account) .select-account {
    margin: 0;
    padding: 0;
    border-top: 0;
    display: grid;
    gap: 0.72rem;
}

#main-body .primary-content:has(.select-account) .select-account a {
    margin: 0;
    border: 1px solid var(--usa-border);
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    color: var(--usa-text);
    text-decoration: none;
    font-size: 1.04rem;
    font-weight: 700;
    line-height: 1.75;
    padding: 0.86rem 1rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

#main-body .primary-content:has(.select-account) .select-account a::before {
    content: "";
    width: 0.58rem;
    height: 0.58rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #6e89e2 0%, #365bc8 100%);
    box-shadow: 0 0 0 3px rgba(54, 91, 200, 0.12);
    flex: 0 0 auto;
}

#main-body .primary-content:has(.select-account) .select-account a .label:first-of-type {
    margin-inline-start: auto;
}

#main-body .primary-content:has(.select-account) .select-account a .label {
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.3;
    padding: 0.23rem 0.58rem;
    border: 1px solid transparent;
}

#main-body .primary-content:has(.select-account) .select-account a .label.label-info {
    background: #eaf3ff;
    border-color: #c6dcfa;
    color: #1d4b96;
}

#main-body .primary-content:has(.select-account) .select-account a .label.label-default {
    background: #f3f6fb;
    border-color: #d8e2ef;
    color: #60748f;
}

#main-body .primary-content:has(.select-account) .select-account a:hover,
#main-body .primary-content:has(.select-account) .select-account a:focus {
    background: #ffffff;
    border-color: var(--usa-border-strong);
    box-shadow: 0 10px 20px rgba(17, 43, 73, 0.08);
    transform: translateY(-1px);
}

#main-body .primary-content:has(.select-account) .select-account a:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 0.19rem rgba(54, 91, 200, 0.16), 0 10px 20px rgba(17, 43, 73, 0.08);
}

#main-body .primary-content:has(.select-account) .select-account a.disabled {
    opacity: 0.58;
    cursor: not-allowed;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

@media (max-width: 991px) {
    #main-body .primary-content:has(.select-account)>.card.mw-540>.card-body {
        padding: 1rem !important;
    }

    #main-body .primary-content:has(.select-account)>.card.mw-540>.card-body>p:first-of-type {
        font-size: 1.03rem;
        margin-bottom: 0.8rem !important;
    }

    #main-body .primary-content:has(.select-account) .select-account {
        gap: 0.6rem;
    }

    #main-body .primary-content:has(.select-account) .select-account a {
        font-size: 0.95rem;
        border-radius: 0.75rem;
        padding: 0.75rem 0.82rem;
    }

    #main-body .primary-content:has(.select-account) .select-account a .label:first-of-type {
        margin-inline-start: 0;
    }
}

/* domain details overview (clientarea.php?action=domaindetails) */
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card {
    border: 1px solid #d6e0eb !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    box-shadow: 0 10px 24px rgba(16, 43, 70, 0.08) !important;
    overflow: hidden !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body {
    padding: 1.05rem 1.1rem 1.2rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.card-title {
    margin: 0 0 0.9rem !important;
    font-size: 1.3rem !important;
    font-weight: 900 !important;
    color: #10314d !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6) {
    margin: 0 0 0.7rem !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.7rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6):last-of-type {
    margin-bottom: 0 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>[class*="col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    padding: 0.9rem 1rem !important;
    border: 1px solid #d9e5f1 !important;
    border-radius: 0.8rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 5px 14px rgba(16, 43, 70, 0.05) !important;
    color: #163955 !important;
    font-size: 1.02rem !important;
    font-weight: 600 !important;
    line-height: 1.85 !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>[class*="col-"]:hover {
    transform: translateY(-2px) !important;
    border-color: #c3d6ea !important;
    box-shadow: 0 10px 20px rgba(16, 43, 70, 0.08) !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>[class*="col-"]:only-child {
    grid-column: 1 / -1 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>[class*="col-"] h5 {
    margin: 0 0 0.36rem !important;
    color: #355a7b !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>[class*="col-"] a {
    color: #0f3e68 !important;
    font-weight: 800 !important;
    direction: ltr !important;
    unicode-bidi: plaintext !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>[class*="col-"] img {
    vertical-align: -2px !important;
    margin-inline-start: 0.2rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>.ssl-inactive {
    border-color: #efc7d0 !important;
    background: linear-gradient(180deg, #fff9fb 0%, #fff4f6 100%) !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>h3.card-title+ul {
    margin: 0.2rem 0 0 !important;
    padding-right: 1.1rem !important;
    color: #204661 !important;
    display: grid !important;
    gap: 0.35rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>h3.card-title+ul li {
    font-weight: 700 !important;
}

@media (max-width: 991px) {
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body {
        padding: 0.85rem 0.78rem 0.92rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.card-title {
        font-size: 1.12rem !important;
        margin-bottom: 0.72rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6) {
        grid-template-columns: 1fr !important;
        gap: 0.6rem !important;
        margin-bottom: 0.6rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabOverview>.card>.card-body>.row:has(> .col-lg-6)>[class*="col-"] {
        padding: 0.78rem 0.82rem !important;
        font-size: 0.96rem !important;
        line-height: 1.75 !important;
    }
}

/* domain details auto-renew tab (clientarea.php?action=domaindetails#tabAutorenew) */
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>.card {
    border: 1px solid #d6e0eb !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    overflow: hidden !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>.card>.card-body,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew {
    text-align: center !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>.card>.card-body {
    padding: 1.2rem 1.1rem 1.3rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew .card-title,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>h3 {
    margin: 0 0 0.9rem !important;
    color: #10314d !important;
    font-size: 1.38rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>.card>.card-body>p,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>p {
    max-width: 980px !important;
    margin: 0 auto 1rem !important;
    padding: 0.72rem 0.86rem !important;
    border: 1px solid #dce7f2 !important;
    border-radius: 0.78rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%) !important;
    color: #234766 !important;
    font-weight: 600 !important;
    line-height: 1.95 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew .alert {
    border-radius: 0.78rem !important;
    margin: 0 auto 0.9rem !important;
    max-width: 980px !important;
    text-align: center !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew h2.text-center,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew h4.text-center.mb-4 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    margin: 0 auto 1rem !important;
    padding: 0.66rem 0.9rem !important;
    border: 1px solid #d3e1ef !important;
    border-radius: 0.82rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%) !important;
    color: #10314d !important;
    font-size: 1.06rem !important;
    font-weight: 900 !important;
    line-height: 1.65 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew .label {
    border-radius: 0.5rem !important;
    padding: 0.22rem 0.58rem !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew .label.label-success {
    background: #1f7a5c !important;
    color: #fff !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew .label.label-danger {
    background: #9b2f44 !important;
    color: #fff !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew form {
    margin-top: 0.2rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew form p.text-center {
    margin: 0 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew form .btn.btn-lg {
    min-height: 3rem !important;
    min-width: 13rem !important;
    border-radius: 0.72rem !important;
    font-size: 1.06rem !important;
    font-weight: 900 !important;
    padding: 0.62rem 1.2rem !important;
    box-shadow: 0 10px 20px rgba(16, 43, 70, 0.12) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew form .btn.btn-lg:hover,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew form .btn.btn-lg:focus {
    transform: translateY(-2px) !important;
    filter: saturate(106%) !important;
    box-shadow: 0 14px 24px rgba(16, 43, 70, 0.16) !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew br {
    display: none !important;
}

@media (max-width: 991px) {
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>.card>.card-body {
        padding: 0.9rem 0.78rem 0.98rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew .card-title,
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>h3 {
        font-size: 1.15rem !important;
        margin-bottom: 0.72rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>.card>.card-body>p,
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew>p {
        font-size: 0.93rem !important;
        padding: 0.62rem 0.66rem !important;
        margin-bottom: 0.72rem !important;
        line-height: 1.82 !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew h2.text-center,
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew h4.text-center.mb-4 {
        display: flex !important;
        width: 100% !important;
        font-size: 0.98rem !important;
        padding: 0.56rem 0.64rem !important;
        margin-bottom: 0.76rem !important;
        flex-wrap: wrap !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAutorenew form .btn.btn-lg {
        width: 100% !important;
        min-width: 0 !important;
        font-size: 0.98rem !important;
        min-height: 2.72rem !important;
    }
}

/* domain details addons tab (clientarea.php?action=domaindetails#tabAddons) */
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons>.card {
    border: 1px solid #d6e0eb !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    overflow: hidden !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons>.card>.card-body {
    padding: 1.1rem 1.1rem 1.2rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .card-title {
    margin: 0 0 0.82rem !important;
    color: #10314d !important;
    font-size: 1.34rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons>.card>.card-body>p {
    margin: 0 0 0.92rem !important;
    padding: 0.68rem 0.82rem !important;
    border: 1px solid #dce7f2 !important;
    border-radius: 0.78rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%) !important;
    color: #234766 !important;
    font-weight: 600 !important;
    line-height: 1.9 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons>.card>.card-body>hr {
    margin: 0.86rem 0 !important;
    border-top-color: #dce7f2 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom {
    margin: 0 !important;
    margin-bottom: 1rem !important;
    padding: 0.84rem 0.2rem !important;
    border: 1px solid #dae5f0 !important;
    border-radius: 0.84rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 6px 16px rgba(16, 43, 70, 0.05) !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3+hr,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom+hr {
    display: none !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-3.col-md-2.text-center,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom>.col-3.col-md-2.text-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100% !important;
    padding: 0.4rem 0.3rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-3.col-md-2.text-center>i,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom>.col-3.col-md-2.text-center>i {
    color: #0f3150 !important;
    font-size: 2.2rem !important;
    line-height: 1 !important;
    background: linear-gradient(180deg, #ffffff 0%, #ecf4fd 100%) !important;
    border: 1px solid #cfe0f1 !important;
    border-radius: 0.85rem !important;
    padding: 0.7rem !important;
    box-shadow: 0 4px 10px rgba(16, 43, 70, 0.08) !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-3.col-md-2.text-center>i+i {
    margin-right: 0.45rem !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-9.col-md-10,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom>.col-9.col-md-10 {
    color: #1b425f !important;
    font-size: 1.01rem !important;
    font-weight: 600 !important;
    line-height: 1.86 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-9.col-md-10>strong,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom>.col-9.col-md-10>strong {
    display: block !important;
    margin-bottom: 0.24rem !important;
    color: #0f3150 !important;
    font-size: 1.3rem !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons form[action*="action=domainaddons"] {
    margin-top: 0.62rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.44rem !important;
    flex-wrap: wrap !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons form[action*="action=domainaddons"] .btn {
    min-height: 2.42rem !important;
    border-radius: 0.65rem !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    padding: 0.46rem 0.86rem !important;
    box-shadow: 0 6px 14px rgba(16, 43, 70, 0.08) !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons form[action*="action=domainaddons"] .btn.btn-success {
    background: #21a34a !important;
    border-color: #1e9444 !important;
    color: #fff !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons form[action*="action=domainaddons"] .btn.btn-danger {
    background: #d13f53 !important;
    border-color: #bf3549 !important;
    color: #fff !important;
}

#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons form[action*="action=domainaddons"] .btn:hover,
#main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons form[action*="action=domainaddons"] .btn:focus {
    transform: translateY(-1px) !important;
    filter: saturate(106%) !important;
}

@media (max-width: 991px) {
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons>.card>.card-body {
        padding: 0.9rem 0.78rem 0.98rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .card-title {
        font-size: 1.16rem !important;
        margin-bottom: 0.7rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons>.card>.card-body>p {
        font-size: 0.93rem !important;
        padding: 0.62rem 0.66rem !important;
        line-height: 1.8 !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3,
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom {
        padding: 0.7rem 0.45rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-3.col-md-2.text-center,
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom>.col-3.col-md-2.text-center {
        margin-bottom: 0.42rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-3.col-md-2.text-center>i,
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom>.col-3.col-md-2.text-center>i {
        font-size: 1.62rem !important;
        padding: 0.5rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.mb-3>.col-9.col-md-10>strong,
    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons .row.margin-bottom>.col-9.col-md-10>strong {
        font-size: 1.08rem !important;
    }

    #main-body .primary-content:has(#tabAutorenew):has(#tabNameservers):has(#tabReglock) #tabAddons form[action*="action=domainaddons"] .btn {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* domain renewals page (cart.php?a=confdomains / route cart-domain-renewals) */
#order-standard_cart:has(#domainRenewals) .cart-body>.row {
    width: 100% !important;
    margin: 0 !important;
    padding-right: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 1rem !important;
}

#order-standard_cart:has(#domainRenewals) .cart-body .header-lined {
    margin-bottom: 0.88rem !important;
}

#order-standard_cart:has(#domainRenewals) .cart-body .header-lined h1.font-size-36 {
    margin: 0 !important;
    color: #10314d !important;
    font-size: 2.05rem !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewalFilter.form-control.domain-renewals-filter {
    width: 230px !important;
    height: 42px !important;
    border: 1px solid #bfd0e1 !important;
    border-radius: 0.7rem !important;
    background: #fff !important;
    color: #153853 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewalFilter.form-control.domain-renewals-filter:focus {
    border-color: #8fa8c2 !important;
    box-shadow: 0 0 0 2px rgba(22, 60, 95, 0.14) !important;
}

#order-standard_cart:has(#domainRenewals) .secondary-cart-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    border: 1px solid #d6e0eb !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    overflow: hidden !important;
    padding: 0.92rem !important;
}

#order-standard_cart:has(#domainRenewals) .secondary-cart-sidebar {
    flex: 0 0 335px !important;
    width: 335px !important;
    max-width: 335px !important;
    align-self: flex-start !important;
}

@media (min-width: 1200px) {
    #order-standard_cart:has(#domainRenewals) .secondary-cart-sidebar {
        position: sticky !important;
        top: 8rem !important;
    }
}

#order-standard_cart:has(#domainRenewals) .secondary-cart-body>.text-center {
    margin-bottom: 0.55rem !important;
    color: #4d6a83 !important;
    font-weight: 700 !important;
}

#order-standard_cart:has(#domainRenewals) .secondary-cart-body #linkShowAll {
    color: #134266 !important;
    font-weight: 800 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals {
    margin: 0 !important;
    border: 1px solid #d9e4ef !important;
    border-radius: 0.92rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%) !important;
    overflow: hidden !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal {
    margin: 0 !important;
    padding: 0.96rem 1rem !important;
    border-bottom: 1px solid #dde8f3 !important;
    background: transparent !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal:last-child {
    border-bottom: 0 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .label {
    border-radius: 0.52rem !important;
    padding: 0.24rem 0.55rem !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .label.label-success {
    background: #1f7a5c !important;
    color: #fff !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .label.label-warning {
    background: #e3a43d !important;
    color: #2f2411 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .label.label-info {
    background: #2f5f8c !important;
    color: #fff !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .label.label-grey {
    background: #7b8796 !important;
    color: #fff !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .label.label-danger {
    background: #9b2f44 !important;
    color: #fff !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal h3.font-size-24 {
    margin: 0 0 0.34rem !important;
    color: #10314d !important;
    font-size: 2rem !important;
    font-weight: 900 !important;
    line-height: 1.38 !important;
    direction: ltr !important;
    unicode-bidi: plaintext !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal p {
    margin: 0 0 0.42rem !important;
    color: #1f4664 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.88 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal p.domain-renewal-desc {
    margin-right: 0 !important;
    margin-bottom: 0.58rem !important;
    padding: 0.58rem 0.66rem !important;
    border: 1px solid #d7e5f2 !important;
    border-radius: 0.7rem !important;
    background: #f4f9ff !important;
    color: #315676 !important;
    font-size: 0.9rem !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal form.form-horizontal {
    margin-top: 0.5rem !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal form.form-horizontal .form-group.row {
    margin: 0 !important;
    align-items: center !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal form.form-horizontal label.control-label {
    margin: 0 !important;
    color: #355a7b !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .select-renewal-pricing {
    border: 1px solid #bfd0e1 !important;
    border-radius: 0.66rem !important;
    min-height: 2.55rem !important;
    background: #fff !important;
    color: #183d5b !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .select-renewal-pricing:focus {
    border-color: #8fa8c2 !important;
    box-shadow: 0 0 0 2px rgba(22, 60, 95, 0.14) !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .text-right {
    margin-top: 0.52rem !important;
    text-align: left !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .btn-add-renewal-to-cart {
    border: 1px solid #163d60 !important;
    border-radius: 0.64rem !important;
    background: #163d60 !important;
    color: #fff !important;
    font-weight: 800 !important;
    min-height: 2.55rem !important;
    min-width: 8.2rem !important;
    padding: 0.42rem 0.82rem !important;
    box-shadow: 0 8px 16px rgba(16, 43, 70, 0.16) !important;
}

#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .btn-add-renewal-to-cart:hover,
#order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .btn-add-renewal-to-cart:focus {
    border-color: #0f2e4a !important;
    background: #0f2e4a !important;
}

#order-standard_cart:has(#domainRenewals) .secondary-cart-body>.text-center>small {
    color: #607b94 !important;
    font-weight: 600 !important;
}

#order-standard_cart:has(#domainRenewals) #orderSummary .order-summary {
    border: 1px solid #d6e0eb !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    overflow: hidden !important;
    margin-bottom: 0.78rem !important;
}

#order-standard_cart:has(#domainRenewals) #orderSummary .order-summary h2.font-size-30 {
    margin: 0 !important;
    padding: 0.84rem 0.9rem !important;
    border-bottom: 1px solid #dbe7f3 !important;
    color: #10314d !important;
    font-size: 1.48rem !important;
    font-weight: 900 !important;
    line-height: 1.42 !important;
}

#order-standard_cart:has(#domainRenewals) #orderSummary .order-summary #producttotal.summary-container {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0.86rem 0.9rem !important;
}

#order-standard_cart:has(#domainRenewals) #orderSummary #btnGoToCart {
    width: 100% !important;
    min-height: 3rem !important;
    border-radius: 0.72rem !important;
    border-color: #163d60 !important;
    background: #163d60 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    font-size: 1.02rem !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 20px rgba(16, 43, 70, 0.16) !important;
}

#order-standard_cart:has(#domainRenewals) #orderSummary #btnGoToCart:hover,
#order-standard_cart:has(#domainRenewals) #orderSummary #btnGoToCart:focus {
    border-color: #0f2e4a !important;
    background: #0f2e4a !important;
}

#order-standard_cart:has(#domainRenewals) #orderSummary #btnGoToCart i {
    font-size: 1rem !important;
}

@media (max-width: 1199px) {
    #order-standard_cart:has(#domainRenewals) .secondary-cart-sidebar {
        flex-basis: 300px !important;
        width: 300px !important;
        max-width: 300px !important;
    }
}

@media (max-width: 991px) {
    #order-standard_cart:has(#domainRenewals) .cart-body>.row {
        flex-direction: column !important;
        gap: 0.78rem !important;
    }

    #order-standard_cart:has(#domainRenewals) .secondary-cart-body,
    #order-standard_cart:has(#domainRenewals) .secondary-cart-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: auto !important;
    }

    #order-standard_cart:has(#domainRenewals) .secondary-cart-body {
        padding: 0.74rem !important;
    }

    #order-standard_cart:has(#domainRenewals) .cart-body .header-lined h1.font-size-36 {
        font-size: 1.56rem !important;
    }

    #order-standard_cart:has(#domainRenewals) #domainRenewalFilter.form-control.domain-renewals-filter {
        width: 100% !important;
    }

    #order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal {
        padding: 0.76rem 0.72rem !important;
    }

    #order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal h3.font-size-24 {
        font-size: 1.12rem !important;
    }

    #order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal p {
        font-size: 0.9rem !important;
    }

    #order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .text-right {
        text-align: right !important;
    }

    #order-standard_cart:has(#domainRenewals) #domainRenewals .domain-renewal .btn-add-renewal-to-cart {
        width: 100% !important;
    }

    #order-standard_cart:has(#domainRenewals) #orderSummary .order-summary h2.font-size-30 {
        font-size: 1.18rem !important;
    }
}

body.dh-modal-open {
    overflow: hidden;
}

.dh-logout-modal {
    position: fixed;
    inset: 0;
    z-index: 2100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(7, 21, 39, 0.5);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.dh-logout-modal[hidden] {
    display: none !important;
}

.dh-logout-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.dh-logout-modal__dialog {
    position: relative;
    width: min(30rem, 100%);
    border: 1px solid #c8d6e5;
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8fd 100%);
    box-shadow: 0 24px 44px rgba(9, 31, 53, 0.24);
    padding: 1.15rem 1.15rem 1rem;
    transform: translateY(10px) scale(0.985);
    transition: transform 0.22s ease;
}

.dh-logout-modal.is-open .dh-logout-modal__dialog {
    transform: translateY(0) scale(1);
}

.dh-logout-modal__close {
    position: absolute;
    top: 0.55rem;
    left: 0.55rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid #ccdae8;
    border-radius: 999px;
    background: #f0f5fb;
    color: #4f72d6;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.dh-logout-modal__close:hover,
.dh-logout-modal__close:focus {
    background: #e4edf7;
    border-color: #9db2c9;
    color: #365bc8;
}

.dh-logout-modal__close:focus-visible {
    outline: 2px solid rgba(79, 114, 214, 0.35);
    outline-offset: 2px;
}

.dh-logout-modal__icon {
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 999px;
    border: 1px solid #f0c5cc;
    background: linear-gradient(180deg, #fff2f4 0%, #ffe7eb 100%);
    color: #a33449;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    margin-bottom: 0.8rem;
}

.dh-logout-modal__title {
    margin: 0 0 0.4rem;
    font-size: 1.08rem;
    font-weight: 800;
    color: #264380;
}

.dh-logout-modal__desc {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.75;
    color: #34526f;
}

.dh-logout-modal__actions {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
}

.dh-logout-btn {
    min-width: 7.65rem;
    border-radius: 999px;
    padding: 0.55rem 1rem;
    font-size: 0.88rem;
    font-weight: 700;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.dh-logout-btn:focus-visible {
    outline: 2px solid rgba(79, 114, 214, 0.35);
    outline-offset: 2px;
}

.dh-logout-btn--ghost {
    border-color: #c2d1e1;
    background: #f5f9fd;
    color: #4f72d6;
}

.dh-logout-btn--ghost:hover,
.dh-logout-btn--ghost:focus {
    border-color: #9fb6cd;
    background: #e9f1f9;
    color: #365bc8;
}

.dh-logout-btn--danger {
    border-color: #c04c61;
    background: #c94f66;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(172, 51, 73, 0.24);
}

.dh-logout-btn--danger:hover,
.dh-logout-btn--danger:focus {
    border-color: #a63a50;
    background: #ab3f55;
    color: #ffffff;
}

@media (max-width: 576px) {
    .dh-logout-modal {
        align-items: flex-end;
    }

    .dh-logout-modal__dialog {
        width: 100%;
        border-radius: 0.95rem;
        padding: 1rem;
    }

    .dh-logout-modal__title {
        font-size: 1rem;
    }

    .dh-logout-modal__actions {
        width: 100%;
        gap: 0.45rem;
    }

    .dh-logout-btn {
        flex: 1;
        min-width: 0;
    }
}


/* btn set domain */
#registerDomainPanel>div.card-body>form>div {
    input[name="domain"] {
        border-radius: var(--radius-lg) !important;
    }

    .btn {
        font-size: small !important;
        border-radius: var(--radius-lg);
    }

    .btn-success {
        background: var(--primary-3);
    }

}

/* user security page (rp=/user/security) */
#main-body .primary-content:has(.twofa-config-link.open-modal) {
    --us-border: #d7e2ef;
    --us-surface: #ffffff;
    --us-surface-soft: #f5f8ff;
    --us-title: #173c6f;
    --us-text: #2a4a6d;
}

#main-body .primary-content:has(.twofa-config-link.open-modal)>p:first-of-type {
    margin: 0 0 0.9rem;
    color: var(--us-text);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.85;
}

#main-body .primary-content:has(.twofa-config-link.open-modal)>.card:has(.twofa-config-link.open-modal) {
    border: 1px solid var(--us-border) !important;
    border-radius: 1rem !important;
    background: linear-gradient(180deg, var(--us-surface) 0%, var(--us-surface-soft) 100%) !important;
    box-shadow: 0 10px 26px rgba(17, 51, 86, 0.08) !important;
    height: auto !important;
    overflow: hidden !important;
}

#main-body .primary-content:has(.twofa-config-link.open-modal)>.card:has(.twofa-config-link.open-modal)>.card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.82rem;
    padding: 1.2rem 1.25rem 1.25rem !important;
}

#main-body .primary-content:has(.twofa-config-link.open-modal)>.card:has(.twofa-config-link.open-modal) .card-title {
    align-self: stretch;
    margin: 0 !important;
    color: var(--us-title) !important;
    font-size: 1.55rem !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
}

#main-body .primary-content:has(.twofa-config-link.open-modal) p.twofa-config-link {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.46rem;
    border: 1px solid #d2deed;
    border-radius: 999px;
    background: #f1f6ff;
    color: #214363;
    font-size: 0.89rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 0.4rem 0.74rem;
}

#main-body .primary-content:has(.twofa-config-link.open-modal) p.twofa-config-link strong {
    font-weight: 900;
}

#main-body .primary-content:has(.twofa-config-link.open-modal) p.twofa-config-link.disable {
    border-color: #b8dfcf;
    background: #edf9f3;
    color: #155c44;
}

#main-body .primary-content:has(.twofa-config-link.open-modal) p.twofa-config-link.enable {
    border-color: #ecd8a4;
    background: #fff7de;
    color: #7b5a1f;
}

#main-body .primary-content:has(.twofa-config-link.open-modal)>.card:has(.twofa-config-link.open-modal) .alert.alert-warning {
    align-self: stretch;
    margin: 0;
    border: 1px solid #ead9ab !important;
    border-radius: 0.78rem !important;
    background: #fff7df !important;
    color: #79581a !important;
    font-size: 0.93rem;
    font-weight: 700;
    line-height: 1.85;
    padding: 0.7rem 0.86rem !important;
}

#main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link {
    margin: 0;
    min-width: 12rem;
    min-height: 2.8rem;
    border-radius: 0.72rem;
    border-width: 1px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.3;
    padding: 0.52rem 1.1rem;
    transition: all 0.2s ease;
}

#main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link.enable {
    border-color: #214496;
    background: linear-gradient(135deg, #2f56b8 0%, #1f3f8f 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(32, 63, 135, 0.18);
}

#main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link.enable:hover,
#main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link.enable:focus {
    border-color: #173273;
    background: linear-gradient(135deg, #274a9f 0%, #183475 100%);
    color: #fff;
    box-shadow: 0 10px 20px rgba(25, 51, 108, 0.22);
}

#main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link.disable {
    border-color: #ce6e7d;
    background: linear-gradient(135deg, #ca4f63 0%, #a8394f 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(155, 47, 68, 0.16);
}

#main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link.disable:hover,
#main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link.disable:focus {
    border-color: #953144;
    background: linear-gradient(135deg, #b54357 0%, #8f2e40 100%);
    color: #fff;
    box-shadow: 0 10px 20px rgba(136, 42, 59, 0.2);
}

@media (max-width: 767px) {
    #main-body .primary-content:has(.twofa-config-link.open-modal)>.card:has(.twofa-config-link.open-modal)>.card-body {
        align-items: stretch;
        padding: 1rem 0.95rem 1.05rem !important;
    }

    #main-body .primary-content:has(.twofa-config-link.open-modal)>.card:has(.twofa-config-link.open-modal) .card-title {
        font-size: 1.24rem !important;
    }

    #main-body .primary-content:has(.twofa-config-link.open-modal) p.twofa-config-link {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    #main-body .primary-content:has(.twofa-config-link.open-modal) a.open-modal.twofa-config-link {
        width: 100%;
        min-width: 0;
    }
}

/* generate password modal */
#modalGeneratePassword .modal-dialog {
    max-width: 44rem;
}

#modalGeneratePassword .modal-content {
    border: 1px solid #ccd8e8 !important;
    border-radius: 0.95rem !important;
    box-shadow: 0 18px 44px rgba(17, 41, 79, 0.2);
    overflow: hidden;
}

#modalGeneratePassword .modal-header {
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    border-bottom: 1px solid #d5e1ef !important;
    color: #1d3d77 !important;
    align-items: center;
    padding: 0.95rem 1rem;
}

#modalGeneratePassword .modal-title {
    margin: 0;
    color: #213f79;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.35;
}

#modalGeneratePassword .modal-header .close {
    margin: 0;
    padding: 0.15rem;
    border: 0;
    background: transparent;
    color: #7f93b3;
    opacity: 1;
    font-size: 2rem;
    line-height: 1;
    text-shadow: none;
}

#modalGeneratePassword .modal-header .close:hover,
#modalGeneratePassword .modal-header .close:focus {
    color: #3a5687;
}

#modalGeneratePassword .modal-body {
    background: linear-gradient(180deg, #f9fbff 0%, #f4f8ff 100%);
    padding: 1rem;
}

#modalGeneratePassword #generatePwLengthError {
    margin: 0 0 0.85rem;
    border-radius: 0.75rem;
    border-color: rgba(164, 52, 73, 0.24);
    background: rgba(164, 52, 73, 0.11);
    color: #8a2f43;
    font-size: 0.88rem;
    font-weight: 700;
}

#modalGeneratePassword .form-group.row {
    align-items: center;
    margin-bottom: 0.74rem;
}

#modalGeneratePassword .col-form-label {
    margin-bottom: 0 !important;
    color: #1f3f68;
    font-size: 1.08rem;
    font-weight: 800;
}

#modalGeneratePassword .form-control {
    min-height: 2.9rem;
    border: 1px solid #bfd0e5;
    border-radius: 0.65rem;
    background: #fff;
    color: #1b3761;
    font-size: 1.04rem;
    font-weight: 700;
    box-shadow: none !important;
}

#modalGeneratePassword .form-control:focus {
    border-color: #8eabd3;
    box-shadow: 0 0 0 0.19rem rgba(54, 91, 200, 0.14) !important;
}

#modalGeneratePassword #inputGeneratePasswordLength {
    max-width: 10rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

#modalGeneratePassword .row .copy-to-clipboard,
#modalGeneratePassword .row .btn[type="submit"] {
    min-height: 2.05rem;
    border-radius: 0.62rem;
    border: 1px solid #b9cae0;
    background: #f7faff;
    color: #26497d;
    font-size: 0.92rem;
    font-weight: 800;
    padding: 0.34rem 0.74rem;
}

#modalGeneratePassword .row .copy-to-clipboard:hover,
#modalGeneratePassword .row .copy-to-clipboard:focus,
#modalGeneratePassword .row .btn[type="submit"]:hover,
#modalGeneratePassword .row .btn[type="submit"]:focus {
    border-color: #8ea9cd;
    background: #eef4ff;
    color: #173d74;
}

#modalGeneratePassword .copy-to-clipboard img {
    width: 0.95rem;
    height: 0.95rem;
}

#modalGeneratePassword .modal-footer {
    direction: ltr;
    background: #ffffff;
    border-top: 1px solid #d5e1ef !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.55rem;
    padding: 0.85rem 1rem 0.95rem;
}

#modalGeneratePassword .modal-footer .btn {
    direction: rtl;
    min-height: 2.55rem;
    border-radius: 0.68rem;
    font-size: 0.98rem;
    font-weight: 800;
    padding: 0.5rem 1rem;
}

#modalGeneratePassword .modal-footer .btn-default {
    border-color: #bfd0e5;
    background: #f8fbff;
    color: #38567f;
}

#modalGeneratePassword .modal-footer .btn-default:hover,
#modalGeneratePassword .modal-footer .btn-default:focus {
    border-color: #9eb6d4;
    background: #edf3fc;
    color: #213e6e;
}

#modalGeneratePassword #btnGeneratePasswordInsert {
    border-color: #234796;
    background: linear-gradient(135deg, #335dca 0%, #214492 100%);
    color: #fff;
    min-width: 14.8rem;
    box-shadow: 0 10px 20px rgba(32, 63, 135, 0.22);
}

#modalGeneratePassword #btnGeneratePasswordInsert:hover,
#modalGeneratePassword #btnGeneratePasswordInsert:focus {
    border-color: #173575;
    background: linear-gradient(135deg, #2a51b1 0%, #1a3779 100%);
    color: #fff;
}

@media (max-width: 767px) {
    #modalGeneratePassword .modal-dialog {
        margin: 0.65rem;
    }

    #modalGeneratePassword .modal-title {
        font-size: 1.5rem;
    }

    #modalGeneratePassword .form-group.row {
        margin-bottom: 0.8rem;
    }

    #modalGeneratePassword .col-form-label {
        margin-bottom: 0.35rem !important;
        font-size: 0.95rem;
    }

    #modalGeneratePassword #inputGeneratePasswordLength {
        max-width: none;
        width: 100%;
    }

    #modalGeneratePassword .row .copy-to-clipboard,
    #modalGeneratePassword .row .btn[type="submit"] {
        width: 100%;
    }

    #modalGeneratePassword .modal-footer {
        flex-direction: column;
        direction: rtl;
    }

    #modalGeneratePassword .modal-footer .btn,
    #modalGeneratePassword #btnGeneratePasswordInsert {
        width: 100%;
        min-width: 0;
    }
}

/* account password page: keep save button visible and high-contrast */
#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn {
    min-width: 8.9rem;
    min-height: 2.7rem;
    border-radius: 0.72rem;
    font-size: 0.95rem;
    font-weight: 800;
    padding: 0.5rem 0.98rem;
    margin: 0.35rem 0 0;
}

#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn.btn-primary[type="submit"] {
    border-color: #234796 !important;
    background: linear-gradient(135deg, #335dca 0%, #214492 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(32, 63, 135, 0.2);
    opacity: 1 !important;
}

#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn.btn-primary[type="submit"]:hover,
#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn.btn-primary[type="submit"]:focus {
    border-color: #173575 !important;
    background: linear-gradient(135deg, #2a51b1 0%, #1a3779 100%) !important;
    color: #ffffff !important;
}

#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn.btn-primary[type="submit"]:disabled {
    border-color: #8ea4c2 !important;
    background: linear-gradient(135deg, #9eb1ca 0%, #859bb8 100%) !important;
    color: #ffffff !important;
    box-shadow: none;
    opacity: 1 !important;
}

#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn.btn-default[type="reset"] {
    border-color: #bfd0e5;
    background: #f8fbff;
    color: #2d4a74;
}

#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn.btn-default[type="reset"]:hover,
#main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn.btn-default[type="reset"]:focus {
    border-color: #9eb6d4;
    background: #edf3fc;
    color: #213e6e;
}

@media (max-width: 767px) {
    #main-body .primary-content form.using-password-strength:has(#inputExistingPassword)>input.btn {
        width: 100%;
    }
}