/*
 * DSE Customer Experience
 * Final customer-only presentation layer. Loaded after every route stylesheet
 * so legacy osTicket rules cannot fragment the public portal.
 */

body.dse-client-portal {
    --dse-cx-navy-950: #071326;
    --dse-cx-navy-900: #0b1932;
    --dse-cx-navy-800: #10264a;
    --dse-cx-blue-700: #1d4ed8;
    --dse-cx-blue-600: #2563eb;
    --dse-cx-blue-500: #3b82f6;
    --dse-cx-cyan-400: #38bdf8;
    --dse-cx-ink: #10213d;
    --dse-cx-copy: #334155;
    --dse-cx-muted: #64748b;
    --dse-cx-line: #d9e4f1;
    --dse-cx-line-strong: #c4d3e7;
    --dse-cx-canvas: #f3f7fc;
    --dse-cx-surface: #ffffff;
    --dse-cx-surface-soft: #f8fbff;
    --dse-cx-success: #0f9f6e;
    --dse-cx-warning: #c27605;
    --dse-cx-danger: #c2414b;
    --dse-cx-radius-sm: 10px;
    --dse-cx-radius: 16px;
    --dse-cx-radius-lg: 24px;
    --dse-cx-shadow-sm: 0 8px 24px rgba(15, 34, 66, .08);
    --dse-cx-shadow: 0 18px 54px rgba(15, 34, 66, .12);
    --dse-cx-shadow-blue: 0 14px 32px rgba(37, 99, 235, .24);
    margin: 0 !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    color: var(--dse-cx-ink) !important;
    background:
        radial-gradient(circle at 8% 1%, rgba(59, 130, 246, .09), transparent 27rem),
        linear-gradient(180deg, #edf4fc 0, var(--dse-cx-canvas) 22rem, #f7f9fc 100%) !important;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI",
        sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.dse-client-portal::before {
    height: 4px !important;
    background: linear-gradient(
        90deg,
        var(--dse-cx-blue-700),
        var(--dse-cx-cyan-400) 52%,
        var(--dse-cx-blue-600)
    ) !important;
}

body.dse-client-portal #container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: calc(100vh - 4px) !important;
    background: transparent !important;
}

body.dse-client-portal #content {
    flex: 1 0 auto;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 36rem !important;
    margin: 0 !important;
    padding: clamp(24px, 3vw, 42px) 20px clamp(58px, 6vw, 88px) !important;
    color: var(--dse-cx-copy) !important;
    background: transparent !important;
}

body.dse-client-portal #content:focus {
    outline: none;
}

body.dse-client-portal #content > :where(
    .dse-helpdesk-home,
    .dse-login-wrap,
    .dse-view-wrap,
    .dse-open-ticket,
    .dse-client-tickets,
    .dse-profile-wrap,
    .dse-profile-fallback,
    .dse-password-reset,
    .dse-client-ticket-detail,
    .dse-client-ticket-edit,
    .dse-callback-page,
    .dse-kb-shell,
    .dse-client-offline
) {
    width: min(1180px, 100%) !important;
    margin-inline: auto !important;
}

body.dse-client-portal :where(
    .dse-helpdesk-home,
    .dse-login-wrap,
    .dse-view-wrap,
    .dse-open-ticket,
    .dse-client-tickets,
    .dse-profile-wrap,
    .dse-profile-fallback,
    .dse-password-reset,
    .dse-client-ticket-detail,
    .dse-client-ticket-edit,
    .dse-callback-page,
    .dse-kb-shell,
    #footer
) *,
body.dse-client-portal :where(
    .ui-dialog,
    .ui-datepicker,
    .select2-drop,
    .redactor-dropdown
) * {
    box-sizing: border-box;
}

body.dse-client-portal a {
    color: var(--dse-cx-blue-600);
    text-underline-offset: 3px;
}

body.dse-client-portal a:hover {
    color: var(--dse-cx-blue-700);
}

body.dse-client-portal :where(
    a,
    button,
    input,
    select,
    textarea,
    [tabindex]
):focus-visible {
    outline: 3px solid rgba(37, 99, 235, .38) !important;
    outline-offset: 3px !important;
}

body.dse-client-portal #content select.select2-hidden-accessible,
body.dse-client-portal #content select.select2-offscreen,
body.dse-client-portal #content .select2-hidden-accessible,
body.dse-client-portal #content .select2-offscreen,
body.dse-client-portal select.select2-hidden-accessible,
body.dse-client-portal select.select2-offscreen {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    max-width: 1px !important;
    max-height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Shared shell */

body.dse-client-portal .dse-skip-link {
    position: fixed !important;
    z-index: 100000 !important;
    top: 10px !important;
    left: 12px !important;
    min-height: 44px !important;
    padding: 11px 18px !important;
    border: 1px solid rgba(255, 255, 255, .45) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: var(--dse-cx-blue-700) !important;
    box-shadow: var(--dse-cx-shadow-blue) !important;
    transform: translateY(-150%);
    transition: transform .18s ease;
}

body.dse-client-portal .dse-skip-link:focus {
    transform: translateY(0);
}

body.dse-client-portal .dse-helpdesk-top {
    position: relative;
    z-index: 20;
    border: 0 !important;
    border-bottom: 1px solid rgba(148, 177, 216, .2) !important;
    background:
        radial-gradient(circle at 12% -60%, rgba(56, 189, 248, .24), transparent 28rem),
        linear-gradient(125deg, var(--dse-cx-navy-950), var(--dse-cx-navy-900) 55%, #12355c) !important;
    box-shadow: 0 14px 36px rgba(7, 19, 38, .18) !important;
}

body.dse-client-portal .dse-helpdesk-shell {
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    padding: 18px 20px !important;
}

body.dse-client-portal #header.dse-helpdesk-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 58px !important;
    gap: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.dse-client-portal .dse-helpdesk-brand {
    display: flex !important;
    align-items: center !important;
    min-width: 0;
    gap: 15px !important;
}

body.dse-client-portal #logo {
    display: grid !important;
    flex: 0 0 auto;
    width: 58px !important;
    height: 58px !important;
    place-items: center;
    padding: 7px !important;
    border: 1px solid rgba(255, 255, 255, .17) !important;
    border-radius: 17px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18) !important;
}

body.dse-client-portal #logo img {
    display: block !important;
    width: 100% !important;
    max-width: 44px !important;
    height: auto !important;
    max-height: 44px !important;
    object-fit: contain;
}

body.dse-client-portal #logo .valign-helper {
    display: none !important;
}

body.dse-client-portal .dse-helpdesk-brand-text {
    display: grid !important;
    min-width: 0;
    gap: 2px !important;
}

body.dse-client-portal .dse-helpdesk-brand-text strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

body.dse-client-portal .dse-helpdesk-brand-text span {
    overflow: hidden;
    color: #b8c9df !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.dse-client-portal .dse-helpdesk-account {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-width: 0;
}

body.dse-client-portal .dse-helpdesk-account-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
}

body.dse-client-portal .dse-helpdesk-account-links a,
body.dse-client-portal .dse-helpdesk-customer-name {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: 8px 13px !important;
    border: 1px solid rgba(183, 207, 235, .2) !important;
    border-radius: 999px !important;
    color: #eaf3ff !important;
    background: rgba(255, 255, 255, .07) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

body.dse-client-portal .dse-helpdesk-account-links a:hover {
    border-color: rgba(125, 211, 252, .52) !important;
    background: rgba(37, 99, 235, .28) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

body.dse-client-portal .dse-helpdesk-customer-name {
    border-color: transparent !important;
    color: #93c5fd !important;
    background: transparent !important;
}

body.dse-client-portal .dse-helpdesk-account-links strong {
    display: grid;
    min-width: 22px;
    min-height: 22px;
    place-items: center;
    border-radius: 999px;
    color: #fff;
    background: var(--dse-cx-blue-600);
    font-size: 10px;
}

body.dse-client-portal .dse-helpdesk-nav-wrap {
    position: relative;
    z-index: 18;
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(196, 211, 231, .9) !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 10px 30px rgba(22, 46, 82, .06) !important;
    backdrop-filter: blur(18px);
}

body.dse-client-portal .dse-helpdesk-nav {
    display: flex !important;
    align-items: center !important;
    width: min(1180px, 100%) !important;
    min-height: 54px !important;
    margin: 0 auto !important;
    padding: 6px 0 !important;
    gap: 4px !important;
    list-style: none !important;
}

body.dse-client-portal .dse-helpdesk-nav > li {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.dse-client-portal .dse-helpdesk-nav > li > a {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 10px 15px !important;
    border: 0 !important;
    border-radius: 11px !important;
    color: #42536d !important;
    background: transparent !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

body.dse-client-portal .dse-helpdesk-nav > li > a:hover {
    color: var(--dse-cx-blue-700) !important;
    background: #eef5ff !important;
}

body.dse-client-portal .dse-helpdesk-nav > li > a.active {
    color: #fff !important;
    background: linear-gradient(135deg, var(--dse-cx-blue-700), var(--dse-cx-blue-500)) !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, .2) !important;
}

body.dse-client-portal .dse-helpdesk-nav-toggle {
    display: none !important;
}

body.dse-client-portal .dse-helpdesk-divider {
    display: none !important;
}

body.dse-client-portal :where(
    .error_bar,
    .warning_bar,
    .notice_bar,
    #msg_error,
    #msg_warning,
    #msg_notice,
    #msg_info
) {
    width: min(1180px, calc(100% - 40px)) !important;
    min-height: 48px !important;
    margin: 18px auto 0 !important;
    padding: 13px 16px 13px 46px !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 14px !important;
    color: var(--dse-cx-ink) !important;
    background-color: #fff !important;
    background-position: 15px center !important;
    box-shadow: var(--dse-cx-shadow-sm) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
}

body.dse-client-portal :where(.error_bar, #msg_error) {
    border-color: #f3c6ca !important;
    background-color: #fff5f6 !important;
}

body.dse-client-portal :where(.warning_bar, #msg_warning) {
    border-color: #f1d7a5 !important;
    background-color: #fffaf0 !important;
}

body.dse-client-portal :where(.notice_bar, #msg_notice, #msg_info) {
    border-color: #b9d8f8 !important;
    background-color: #f2f8ff !important;
}

/* Shared heroes, cards, controls, and actions */

body.dse-client-portal #content :where(
    .dse-helpdesk-home-hero,
    .dse-login-hero,
    .dse-view-hero,
    .dse-open-hero,
    .dse-ticket-hero,
    .dse-profile-hero,
    .dse-password-reset-hero,
    .dse-ticket-edit-hero,
    .dse-kb-hero
) {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    padding: clamp(32px, 5vw, 58px) !important;
    border: 1px solid rgba(126, 164, 209, .22) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 88% 8%, rgba(56, 189, 248, .19), transparent 23rem),
        radial-gradient(circle at 12% 105%, rgba(37, 99, 235, .24), transparent 24rem),
        linear-gradient(132deg, var(--dse-cx-navy-950), var(--dse-cx-navy-900) 54%, #123459) !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-hero,
    .dse-login-hero,
    .dse-view-hero,
    .dse-open-hero,
    .dse-ticket-hero,
    .dse-profile-hero,
    .dse-password-reset-hero,
    .dse-ticket-edit-hero,
    .dse-kb-hero
)::after {
    position: absolute;
    z-index: -1;
    right: -76px;
    bottom: -92px;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(147, 197, 253, .15);
    border-radius: 50%;
    box-shadow:
        0 0 0 36px rgba(147, 197, 253, .035),
        0 0 0 72px rgba(147, 197, 253, .025);
    content: "";
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-eyebrow,
    .dse-login-kicker,
    .dse-view-kicker,
    .dse-open-kicker,
    .dse-ticket-kicker,
    .dse-profile-kicker,
    .dse-password-reset-eyebrow,
    .dse-client-kicker,
    .dse-kb-kicker,
    .dse-kb-label,
    .dse-password-reset-label,
    .dse-login-label,
    .dse-view-label,
    .dse-open-label,
    .dse-profile-label,
    .dse-ticket-label
) {
    display: inline-block !important;
    margin: 0 0 10px !important;
    color: var(--dse-cx-cyan-400) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-hero,
    .dse-login-hero,
    .dse-view-hero,
    .dse-open-hero,
    .dse-ticket-hero,
    .dse-profile-hero,
    .dse-password-reset-hero,
    .dse-ticket-edit-hero,
    .dse-kb-hero
) :where(h1, h2) {
    max-width: 820px;
    margin: 0 0 13px !important;
    color: #fff !important;
    font-size: clamp(32px, 4.2vw, 52px) !important;
    font-weight: 850 !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-hero,
    .dse-login-hero,
    .dse-view-hero,
    .dse-open-hero,
    .dse-ticket-hero,
    .dse-profile-hero,
    .dse-password-reset-hero,
    .dse-ticket-edit-hero,
    .dse-kb-hero
) > p,
body.dse-client-portal #content .dse-profile-hero-copy > p {
    max-width: 760px;
    margin: 0 !important;
    color: #c9d8eb !important;
    font-size: clamp(16px, 2vw, 19px) !important;
    line-height: 1.68 !important;
}

body.dse-client-portal #content :where(
    .dse-login-panel,
    .dse-login-helper,
    .dse-view-panel,
    .dse-view-helper,
    .dse-open-form-card,
    .dse-open-help-card,
    .dse-ticket-panel,
    .dse-profile-panel,
    .dse-profile-helper,
    .dse-password-reset-panel,
    .dse-password-reset-helper,
    .dse-ticket-edit-card,
    .dse-kb-panel,
    .dse-kb-side-card
) {
    min-width: 0 !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: var(--dse-cx-shadow-sm) !important;
}

body.dse-client-portal #content :where(
    .dse-login-panel,
    .dse-view-panel,
    .dse-open-form-card,
    .dse-profile-panel,
    .dse-password-reset-panel,
    .dse-ticket-edit-card,
    .dse-kb-panel
) {
    padding: clamp(24px, 3.4vw, 40px) !important;
}

body.dse-client-portal #content :where(
    .dse-login-helper,
    .dse-view-helper,
    .dse-open-help-card,
    .dse-profile-helper,
    .dse-password-reset-helper,
    .dse-kb-side-card
) {
    padding: clamp(22px, 3vw, 32px) !important;
}

body.dse-client-portal #content :where(
    .dse-login-panel,
    .dse-login-helper,
    .dse-view-panel,
    .dse-view-helper,
    .dse-open-form-card,
    .dse-open-help-card,
    .dse-profile-panel,
    .dse-profile-helper,
    .dse-password-reset-panel,
    .dse-password-reset-helper,
    .dse-ticket-edit-card,
    .dse-kb-panel,
    .dse-kb-side-card
) :where(h2, h3) {
    margin: 0 0 10px !important;
    color: var(--dse-cx-ink) !important;
    font-weight: 820 !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
}

body.dse-client-portal #content :where(
    .dse-login-panel,
    .dse-login-helper,
    .dse-view-panel,
    .dse-view-helper,
    .dse-open-form-card,
    .dse-open-help-card,
    .dse-profile-panel,
    .dse-profile-helper,
    .dse-password-reset-panel,
    .dse-password-reset-helper,
    .dse-ticket-edit-card,
    .dse-kb-panel,
    .dse-kb-side-card
) p {
    color: var(--dse-cx-muted) !important;
    line-height: 1.65 !important;
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-button,
    .dse-login-button,
    .dse-view-button,
    .dse-open-button,
    .dse-ticket-button,
    .dse-profile-button,
    .dse-password-reset-button,
    .dse-kb-button,
    a.action-button
),
body.dse-client-portal #content :where(
    .dse-client-login-form,
    .dse-access-form,
    .dse-open-ticket-form,
    .dse-registration-form,
    .dse-profile-form,
    .dse-password-reset-form,
    .dse-client-ticket-edit-form,
    .dse-client-ticket-reply
) :where(
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    button
) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 11px 18px !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--dse-cx-blue-700), var(--dse-cx-blue-500)) !important;
    box-shadow: var(--dse-cx-shadow-blue) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-button,
    .dse-login-button,
    .dse-view-button,
    .dse-open-button,
    .dse-ticket-button,
    .dse-profile-button,
    .dse-password-reset-button,
    .dse-kb-button,
    a.action-button
):hover,
body.dse-client-portal #content :where(
    .dse-client-login-form,
    .dse-access-form,
    .dse-open-ticket-form,
    .dse-registration-form,
    .dse-profile-form,
    .dse-password-reset-form,
    .dse-client-ticket-edit-form,
    .dse-client-ticket-reply
) :where(input[type="submit"], input[type="button"], input[type="reset"], button):hover {
    color: #fff !important;
    filter: brightness(1.06);
    transform: translateY(-1px);
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-button:not(.primary),
    .dse-login-button.secondary,
    .dse-view-button.secondary,
    .dse-open-button.secondary,
    .dse-ticket-button.secondary,
    .dse-profile-button.secondary,
    .dse-password-reset-button.secondary,
    .dse-kb-button.secondary
),
body.dse-client-portal #content :where(
    .dse-client-legacy-form,
    .dse-client-ticket-edit-form,
    .dse-client-ticket-reply
) :where(input[type="button"], input[type="reset"]) {
    border-color: var(--dse-cx-line-strong) !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    box-shadow: 0 5px 15px rgba(22, 46, 82, .06) !important;
}

body.dse-client-portal #content :where(
    .dse-helpdesk-home-button:not(.primary),
    .dse-login-button.secondary,
    .dse-view-button.secondary,
    .dse-open-button.secondary,
    .dse-ticket-button.secondary,
    .dse-profile-button.secondary,
    .dse-password-reset-button.secondary,
    .dse-kb-button.secondary
):hover,
body.dse-client-portal #content :where(
    .dse-client-legacy-form,
    .dse-client-ticket-edit-form,
    .dse-client-ticket-reply
) :where(input[type="button"], input[type="reset"]):hover {
    color: var(--dse-cx-blue-700) !important;
    background: #f4f8ff !important;
}

body.dse-client-portal #content :where(
    .dse-client-login-form,
    .dse-access-form,
    .dse-open-ticket-form,
    .dse-registration-form,
    .dse-profile-form,
    .dse-password-reset-form,
    .dse-client-ticket-edit-form,
    .dse-client-ticket-reply
) :where(
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="search"],
    input[type="url"],
    input[type="number"],
    select,
    textarea
) {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 11px 13px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    box-shadow: inset 0 1px 2px rgba(16, 33, 61, .03) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

body.dse-client-portal #content :where(
    .dse-client-login-form,
    .dse-access-form,
    .dse-open-ticket-form,
    .dse-registration-form,
    .dse-profile-form,
    .dse-password-reset-form,
    .dse-client-ticket-edit-form,
    .dse-client-ticket-reply
) :where(
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="search"],
    input[type="url"],
    input[type="number"],
    select,
    textarea
):focus {
    border-color: var(--dse-cx-blue-500) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .11) !important;
    outline: none !important;
}

body.dse-client-portal #content :where(
    .dse-client-login-form,
    .dse-access-form,
    .dse-open-ticket-form,
    .dse-registration-form,
    .dse-profile-form,
    .dse-password-reset-form,
    .dse-client-ticket-edit-form,
    .dse-client-ticket-reply
) label {
    color: var(--dse-cx-ink) !important;
    font-size: 13px !important;
    font-weight: 760 !important;
}

body.dse-client-portal #content :where(.error, .dse-open-field-error) {
    color: var(--dse-cx-danger) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Home */

body.dse-client-portal .dse-helpdesk-home {
    display: grid !important;
    gap: 34px !important;
}

body.dse-client-portal .dse-helpdesk-home-hero {
    min-height: 350px;
    display: grid !important;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px !important;
}

body.dse-client-portal .dse-helpdesk-home-copy {
    max-width: 790px !important;
}

body.dse-client-portal .dse-helpdesk-home-actions,
body.dse-client-portal .dse-login-actions,
body.dse-client-portal .dse-view-actions,
body.dse-client-portal .dse-open-hero-actions,
body.dse-client-portal .dse-open-side-actions,
body.dse-client-portal .dse-password-reset-helper-actions,
body.dse-client-portal .dse-kb-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 11px !important;
    margin-top: 24px !important;
}

body.dse-client-portal .dse-helpdesk-home-assurance {
    display: grid !important;
    width: min(250px, 100%) !important;
    gap: 9px !important;
    padding: 20px !important;
    border: 1px solid rgba(147, 197, 253, .22) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .07) !important;
    backdrop-filter: blur(10px);
}

body.dse-client-portal .dse-helpdesk-home-assurance > * {
    color: #dceafe !important;
}

body.dse-client-portal .dse-helpdesk-workstreams {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

body.dse-client-portal .dse-helpdesk-workstream {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 260px;
    padding: 28px !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 20px !important;
    color: var(--dse-cx-copy) !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: var(--dse-cx-shadow-sm) !important;
    text-decoration: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.dse-client-portal .dse-helpdesk-workstream:hover {
    border-color: #a8c9f3 !important;
    box-shadow: var(--dse-cx-shadow) !important;
    transform: translateY(-4px);
}

body.dse-client-portal .dse-helpdesk-workstream-icon {
    display: grid !important;
    width: 50px !important;
    height: 50px !important;
    margin-bottom: 22px !important;
    place-items: center;
    border: 1px solid #c8ddf7 !important;
    border-radius: 15px !important;
    color: var(--dse-cx-blue-700) !important;
    background: #edf5ff !important;
    font-size: 18px !important;
    font-weight: 850 !important;
}

body.dse-client-portal .dse-helpdesk-workstream :where(h2, h3, strong) {
    margin: 0 0 10px !important;
    color: var(--dse-cx-ink) !important;
    font-size: 22px !important;
    font-weight: 820 !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em !important;
}

body.dse-client-portal .dse-helpdesk-workstream p {
    margin: 0 !important;
    color: var(--dse-cx-muted) !important;
    line-height: 1.66 !important;
}

body.dse-client-portal .dse-helpdesk-home-section-head {
    max-width: 720px !important;
    margin-bottom: 18px !important;
}

body.dse-client-portal .dse-helpdesk-home-section-head h2 {
    margin: 0 0 8px !important;
    color: var(--dse-cx-ink) !important;
    font-size: clamp(26px, 3vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
}

body.dse-client-portal .dse-helpdesk-home-foot {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 28px !important;
    border: 1px solid #c9dcf3 !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, #edf5ff, #fff) !important;
}

/* Authentication, ticket access, and password recovery */

body.dse-client-portal :where(.dse-login-wrap, .dse-view-wrap, .dse-password-reset) {
    display: grid !important;
    gap: 22px !important;
}

body.dse-client-portal :where(.dse-login-grid, .dse-view-grid, .dse-password-reset-layout) {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .85fr) !important;
    align-items: stretch !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-login-panel-head,
body.dse-client-portal .dse-view-panel-head,
body.dse-client-portal .dse-password-reset-panel-head {
    margin-bottom: 26px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal :where(.dse-login-fields, .dse-access-fields) {
    display: grid !important;
    gap: 18px !important;
}

body.dse-client-portal :where(.dse-login-field, .dse-access-field, .dse-password-reset-field) {
    display: grid !important;
    gap: 8px !important;
}

body.dse-client-portal .dse-login-field-head {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.dse-client-portal .dse-login-submit,
body.dse-client-portal .dse-access-submit-row,
body.dse-client-portal .dse-password-reset-actions {
    margin-top: 22px !important;
}

body.dse-client-portal :where(
    .dse-login-submit input[type="submit"],
    .dse-access-submit-row input[type="submit"],
    .dse-password-reset-submit
) {
    width: 100% !important;
}

body.dse-client-portal :where(.dse-login-form-footer, .dse-access-footer) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 10px 20px !important;
    margin-top: 24px !important;
    padding-top: 19px !important;
    border-top: 1px solid var(--dse-cx-line) !important;
    color: var(--dse-cx-muted) !important;
    font-size: 12px !important;
}

body.dse-client-portal :where(.dse-login-form-error, .dse-access-error) {
    margin-bottom: 18px !important;
    padding: 12px 14px !important;
    border: 1px solid #f3c6ca !important;
    border-radius: 11px !important;
    color: #9f2432 !important;
    background: #fff5f6 !important;
    font-weight: 650 !important;
}

body.dse-client-portal .dse-turnstile-wrap {
    width: 100% !important;
    margin: 20px 0 0 !important;
    overflow-x: auto;
}

body.dse-client-portal :where(.dse-view-list, .dse-password-reset-list) {
    display: grid !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
    gap: 12px !important;
    list-style: none !important;
}

body.dse-client-portal :where(.dse-view-list, .dse-password-reset-list) li {
    position: relative;
    margin: 0 !important;
    padding: 13px 14px 13px 42px !important;
    border: 1px solid #d9e8f8 !important;
    border-radius: 12px !important;
    color: var(--dse-cx-copy) !important;
    background: #f5f9ff !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.dse-client-portal :where(.dse-view-list, .dse-password-reset-list) li::before {
    position: absolute;
    top: 13px;
    left: 14px;
    display: grid;
    width: 19px;
    height: 19px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--dse-cx-success);
    content: "✓";
    font-size: 11px;
    font-weight: 900;
}

body.dse-client-portal .dse-password-reset-content {
    min-width: 0 !important;
}

body.dse-client-portal .dse-password-reset-banner,
body.dse-client-portal .dse-password-reset-status {
    margin-bottom: 20px !important;
    padding: 14px 16px !important;
    border: 1px solid #c7ddf5 !important;
    border-radius: 12px !important;
    color: var(--dse-cx-copy) !important;
    background: #f2f8ff !important;
}

body.dse-client-portal .dse-password-reset-hint,
body.dse-client-portal .dse-access-hint {
    color: var(--dse-cx-muted) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

/* Open request */

body.dse-client-portal .dse-open-ticket {
    display: grid !important;
    gap: 22px !important;
}

body.dse-client-portal .dse-open-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(270px, .75fr) !important;
    align-items: start !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-open-sidebar {
    display: grid !important;
    gap: 16px !important;
}

body.dse-client-portal .dse-open-form-head {
    margin-bottom: 22px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal :where(
    .dse-open-form-table,
    .dse-client-form-table,
    .dse-client-ticket-edit-table
) {
    width: 100% !important;
    max-width: none !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: transparent !important;
}

body.dse-client-portal :where(
    .dse-open-form-table,
    .dse-client-form-table,
    .dse-client-ticket-edit-table
) > tbody > tr > :where(th, td) {
    height: auto !important;
    padding: 6px 0 !important;
    border: 0 !important;
    color: var(--dse-cx-copy) !important;
    background: transparent !important;
    vertical-align: top !important;
}

body.dse-client-portal :where(
    .dse-open-form-table,
    .dse-client-form-table,
    .dse-client-ticket-edit-table
) > tbody > tr > th {
    width: 190px !important;
    padding: 18px 22px 6px 0 !important;
    color: var(--dse-cx-ink) !important;
    font-size: 13px !important;
    font-weight: 760 !important;
    text-align: left !important;
}

body.dse-client-portal .dse-open-section-row > td,
body.dse-client-portal .dse-dynamic-section-row > td {
    padding: 28px 0 8px !important;
}

body.dse-client-portal :where(.dse-open-section-title, .dse-dynamic-form-header) {
    display: block !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
    color: var(--dse-cx-ink) !important;
    font-size: 17px !important;
    font-weight: 820 !important;
    letter-spacing: -.02em !important;
}

body.dse-client-portal .dse-dynamic-form-header h3 {
    margin: 0 0 5px !important;
    color: var(--dse-cx-ink) !important;
    font-size: 17px !important;
    font-weight: 820 !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
}

body.dse-client-portal .dse-dynamic-form-header > div {
    color: var(--dse-cx-muted) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

body.dse-client-portal .dse-dynamic-field-row > .dse-dynamic-field {
    padding: 9px 0 !important;
}

body.dse-client-portal .dse-dynamic-label {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 7px !important;
    color: var(--dse-cx-ink) !important;
}

body.dse-client-portal .dse-dynamic-label > br {
    display: none !important;
}

body.dse-client-portal .dse-dynamic-hint {
    color: var(--dse-cx-muted) !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}

body.dse-client-portal .dse-open-ticket-form :where(
    .select2-container,
    .redactor-box,
    .filedrop
),
body.dse-client-portal .dse-client-ticket-edit-form :where(
    .select2-container,
    .redactor-box,
    .filedrop
) {
    width: 100% !important;
    max-width: 100% !important;
}

body.dse-client-portal #content .select2-container .select2-choice {
    min-height: 46px !important;
    padding: 10px 40px 10px 13px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.dse-client-portal #content .select2-container .select2-choice > span:first-child {
    line-height: 24px !important;
}

body.dse-client-portal #content .select2-container .select2-choice .select2-arrow {
    width: 36px !important;
    border: 0 !important;
    background: transparent !important;
}

body.dse-client-portal :where(.dse-open-help-list, .dse-profile-list) {
    display: grid !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    list-style: none !important;
}

body.dse-client-portal :where(.dse-open-help-list, .dse-profile-list) li {
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #dce8f5 !important;
    border-radius: 11px !important;
    color: var(--dse-cx-copy) !important;
    background: var(--dse-cx-surface-soft) !important;
}

body.dse-client-portal :where(.dse-open-form-actions, .dse-client-form-actions) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 26px 0 0 !important;
    padding: 22px 0 0 !important;
    border-top: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal .dse-open-success-card {
    padding: clamp(28px, 5vw, 52px) !important;
    border: 1px solid #b9e6d5 !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    background: linear-gradient(135deg, #f0fdf8, #fff) !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

/* Ticket list */

body.dse-client-portal .dse-client-tickets {
    display: grid !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-ticket-panel {
    overflow: hidden !important;
    padding: 0 !important;
}

body.dse-client-portal .dse-ticket-panel-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 25px 28px !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
    background: linear-gradient(180deg, #fff, #f8fbff) !important;
}

body.dse-client-portal .dse-ticket-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 18px 22px !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
    background: #f8fbff !important;
}

body.dse-client-portal .dse-ticket-filter {
    display: flex !important;
    flex: 1 1 340px !important;
    min-width: 0 !important;
    gap: 8px !important;
}

body.dse-client-portal .dse-ticket-filter input[type="search"],
body.dse-client-portal .dse-ticket-filter input[type="text"] {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 10px 13px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    background: #fff !important;
}

body.dse-client-portal .dse-ticket-states {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
}

body.dse-client-portal .dse-ticket-state {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 999px !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 760 !important;
    text-decoration: none !important;
}

body.dse-client-portal .dse-ticket-state.active {
    border-color: var(--dse-cx-blue-600) !important;
    color: #fff !important;
    background: var(--dse-cx-blue-600) !important;
}

body.dse-client-portal .dse-ticket-table-wrap {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
}

body.dse-client-portal .dse-ticket-table {
    width: 100% !important;
    min-width: 680px !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: #fff !important;
}

body.dse-client-portal .dse-ticket-table :where(th, td) {
    padding: 15px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #e3ebf5 !important;
    color: var(--dse-cx-copy) !important;
    text-align: left !important;
    vertical-align: middle !important;
}

body.dse-client-portal .dse-ticket-table th {
    color: #536680 !important;
    background: #f4f8fc !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal .dse-ticket-table .dse-ticket-row:hover td {
    background: #f8fbff !important;
}

body.dse-client-portal .dse-ticket-status,
body.dse-client-portal .dse-client-detail-status {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 7px 11px !important;
    border: 1px solid #bfddcf !important;
    border-radius: 999px !important;
    color: #087451 !important;
    background: #effbf6 !important;
    font-size: 11px !important;
    font-weight: 820 !important;
    line-height: 1 !important;
}

body.dse-client-portal .dse-ticket-status.closed,
body.dse-client-portal .dse-client-detail-status.is-closed {
    border-color: #cbd6e4 !important;
    color: #536278 !important;
    background: #f1f5f9 !important;
}

body.dse-client-portal .dse-ticket-empty {
    padding: 54px 24px !important;
    color: var(--dse-cx-muted) !important;
    text-align: center !important;
}

body.dse-client-portal .dse-ticket-pagination {
    padding: 17px 22px !important;
    border-top: 1px solid var(--dse-cx-line) !important;
    background: #f8fbff !important;
}

/* Account, registration, and profile */

body.dse-client-portal .dse-profile-wrap {
    display: grid !important;
    gap: 22px !important;
}

body.dse-client-portal .dse-profile-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(270px, .75fr) !important;
    align-items: start !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-profile-sidebar {
    display: grid !important;
    gap: 16px !important;
}

body.dse-client-portal .dse-profile-form-surface {
    min-width: 0 !important;
}

body.dse-client-portal .dse-profile-fallback {
    display: grid !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-profile-fallback-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    padding: clamp(32px, 5vw, 52px) !important;
    border: 1px solid rgba(126, 164, 209, .22) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 90% 0, rgba(56, 189, 248, .2), transparent 21rem),
        linear-gradient(132deg, var(--dse-cx-navy-950), #123459) !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal .dse-profile-fallback-hero h1 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #fff !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(32px, 4.2vw, 48px) !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
}

body.dse-client-portal .dse-profile-fallback-hero p {
    max-width: 720px !important;
    margin: 0 !important;
    color: #c9d8eb !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.dse-client-portal .dse-profile-fallback-card {
    min-width: 0 !important;
    padding: clamp(24px, 4vw, 40px) !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    background: #fff !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

html body.dse-client-portal #content section.dse-profile-panel :where(
    form.dse-registration-form,
    form.dse-profile-form,
    table.dse-client-form-table,
    table.dse-client-form-table tbody,
    table.dse-client-form-table tr,
    table.dse-client-form-table th,
    table.dse-client-form-table td
) {
    color: var(--dse-cx-copy) !important;
    background: transparent !important;
}

html body.dse-client-portal #content section.dse-profile-panel :where(
    table.dse-client-form-table th,
    table.dse-client-form-table td:first-child,
    form.dse-registration-form label,
    form.dse-profile-form label,
    form.dse-registration-form label span,
    form.dse-profile-form label span,
    form.dse-registration-form .required,
    form.dse-profile-form .required
) {
    color: var(--dse-cx-ink) !important;
}

html body.dse-client-portal #content section.dse-profile-panel table.dse-client-form-table th,
html body.dse-client-portal #content section.dse-profile-panel table.dse-client-form-table td:first-child,
html body.dse-client-portal #content section.dse-profile-panel form.dse-registration-form label,
html body.dse-client-portal #content section.dse-profile-panel form.dse-profile-form label {
    color: var(--dse-cx-ink) !important;
}

html body.dse-client-portal #content section.dse-profile-panel :where(
    form.dse-registration-form .error,
    form.dse-profile-form .error,
    form.dse-registration-form .required > .error,
    form.dse-profile-form .required > .error
) {
    color: var(--dse-cx-danger) !important;
}

html body.dse-client-portal #content section.dse-profile-panel form.dse-registration-form label > span.required,
html body.dse-client-portal #content section.dse-profile-panel form.dse-profile-form label > span.required {
    color: var(--dse-cx-ink) !important;
}

html body.dse-client-portal #content section.dse-profile-panel form.dse-registration-form label > span.required > span.error,
html body.dse-client-portal #content section.dse-profile-panel form.dse-profile-form label > span.required > span.error {
    color: var(--dse-cx-danger) !important;
}

html body.dse-client-portal #content section.dse-profile-panel .dse-dynamic-form-header {
    border-color: var(--dse-cx-line) !important;
    color: var(--dse-cx-ink) !important;
}

body.dse-client-portal .dse-profile-progress {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 22px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.dse-client-portal .dse-profile-progress li {
    min-width: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(191, 216, 245, .23) !important;
    border-radius: 12px !important;
    color: #c7d7eb !important;
    background: rgba(255, 255, 255, .065) !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

body.dse-client-portal .dse-profile-progress li.is-current,
body.dse-client-portal .dse-profile-progress li.is-complete {
    border-color: rgba(125, 211, 252, .42) !important;
    color: #fff !important;
    background: rgba(37, 99, 235, .23) !important;
}

body.dse-client-portal .dse-profile-progress-number {
    display: inline-grid !important;
    width: 24px !important;
    height: 24px !important;
    margin-right: 7px !important;
    place-items: center;
    border-radius: 50% !important;
    color: var(--dse-cx-navy-900) !important;
    background: #fff !important;
    font-size: 10px !important;
}

body.dse-client-portal .dse-profile-active-banner {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 22px !important;
    padding: 16px !important;
    border: 1px solid #bae5d4 !important;
    border-radius: 13px !important;
    color: #0a6b4d !important;
    background: #f0fcf7 !important;
}

body.dse-client-portal #content .dse-account-state-copy {
    min-width: 0 !important;
    color: var(--dse-cx-copy) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

body.dse-client-portal #content .dse-account-state-copy :where(
    p,
    li,
    div,
    span,
    strong,
    em
) {
    color: inherit !important;
}

body.dse-client-portal #content .dse-account-state-copy :where(
    img,
    video,
    iframe,
    table,
    pre
) {
    max-width: 100% !important;
}

body.dse-client-portal #content .dse-account-state-copy pre {
    overflow: auto !important;
}

body.dse-client-portal #content .dse-account-state-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal.dse-client-page-profile #content > .dse-profile-form {
    width: min(880px, 100%) !important;
    margin: 0 auto !important;
    padding: clamp(24px, 4vw, 40px) !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    background: #fff !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal .dse-client-form-table .field-label {
    display: block !important;
    color: var(--dse-cx-ink) !important;
    font-weight: 760 !important;
}

body.dse-client-portal .dse-client-form-table .help-block,
body.dse-client-portal .dse-client-form-table .hint {
    display: block !important;
    margin-top: 6px !important;
    color: var(--dse-cx-muted) !important;
    font-size: 12px !important;
}

/* Ticket detail and reply */

body.dse-client-portal .dse-client-ticket-detail {
    display: grid !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-ticket-account-callout {
    width: 100% !important;
    margin: 0 !important;
}

body.dse-client-portal #ticketInfo.dse-ticket-detail-overview {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal #ticketInfo.dse-ticket-detail-overview > tbody > tr > td {
    padding: 10px !important;
    border: 0 !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    vertical-align: top !important;
}

body.dse-client-portal #ticketInfo.dse-ticket-detail-overview > tbody > tr:first-child > td {
    padding: 0 !important;
}

body.dse-client-portal .dse-ticket-detail-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    min-height: 118px !important;
    padding: 26px 30px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 93% 10%, rgba(56, 189, 248, .18), transparent 18rem),
        linear-gradient(132deg, var(--dse-cx-navy-950), #12345a) !important;
}

body.dse-client-portal .dse-ticket-detail-head h1 {
    min-width: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(24px, 3vw, 34px) !important;
    line-height: 1.13 !important;
    letter-spacing: -.035em !important;
}

body.dse-client-portal .dse-ticket-detail-head h1 b {
    font-weight: 820 !important;
}

body.dse-client-portal .dse-ticket-detail-head h1 small {
    display: block !important;
    margin-top: 7px !important;
    color: #9ec7f6 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: .05em !important;
}

body.dse-client-portal .dse-ticket-detail-refresh {
    display: inline-grid !important;
    width: 34px !important;
    height: 34px !important;
    margin-right: 8px !important;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .08) !important;
    text-decoration: none !important;
    vertical-align: middle;
}

body.dse-client-portal .dse-ticket-detail-actions {
    display: flex !important;
    flex: 0 0 auto;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

body.dse-client-portal .dse-ticket-detail-actions .action-button {
    border-color: rgba(255, 255, 255, .25) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .1) !important;
    box-shadow: none !important;
}

body.dse-client-portal .dse-ticket-meta-card,
body.dse-client-portal .dse-ticket-custom-card {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dde7f2 !important;
    border-radius: 14px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fbfdff !important;
}

body.dse-client-portal :where(.dse-ticket-meta-card, .dse-ticket-custom-card) .headline {
    padding: 12px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
    color: var(--dse-cx-ink) !important;
    background: #eff5fc !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal :where(.dse-ticket-meta-card, .dse-ticket-custom-card) :where(th, td) {
    padding: 11px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
    color: var(--dse-cx-copy) !important;
    background: transparent !important;
    font-size: 13px !important;
    text-align: left !important;
}

body.dse-client-portal :where(.dse-ticket-meta-card, .dse-ticket-custom-card) th {
    width: 140px !important;
    color: #5c6d84 !important;
    font-weight: 760 !important;
}

body.dse-client-portal .dse-ticket-conversation {
    min-width: 0 !important;
    padding: clamp(20px, 3vw, 30px) !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    background: #eef4fb !important;
    box-shadow: var(--dse-cx-shadow-sm) !important;
}

body.dse-client-portal .dse-ticket-conversation-head,
body.dse-client-portal .dse-client-reply-head {
    margin-bottom: 20px !important;
}

body.dse-client-portal :where(.dse-ticket-conversation-head, .dse-client-reply-head) h2 {
    margin: 0 !important;
    color: var(--dse-cx-ink) !important;
    font-size: clamp(23px, 3vw, 30px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.03em !important;
}

body.dse-client-portal #ticketThread {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 14px !important;
    background: transparent !important;
}

body.dse-client-portal #ticketThread :where(.thread-entry, .message, .response) {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d4e0ee !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(22, 46, 82, .07) !important;
}

body.dse-client-portal #ticketThread .thread-entry > :where(.header, .thread-entry-header) {
    min-height: 50px !important;
    padding: 13px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #dce6f2 !important;
    border-radius: 16px 16px 0 0 !important;
    color: var(--dse-cx-ink) !important;
    background: #f5f9fe !important;
}

body.dse-client-portal #ticketThread .thread-entry.response > :where(.header, .thread-entry-header) {
    color: #fff !important;
    background: linear-gradient(135deg, #15345d, #1a4778) !important;
}

body.dse-client-portal #ticketThread .thread-entry > span.avatar {
    position: absolute !important;
    z-index: 2;
    top: 9px;
    float: none !important;
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    place-items: center;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, .78);
    border-radius: 50%;
    background: #fff;
}

body.dse-client-portal #ticketThread .thread-entry.message > span.avatar {
    left: 13px;
}

body.dse-client-portal #ticketThread .thread-entry.response > span.avatar {
    right: 13px;
}

body.dse-client-portal #ticketThread .thread-entry.message.avatar > .header {
    padding-left: 56px !important;
}

body.dse-client-portal #ticketThread .thread-entry.response.avatar > .header {
    padding-right: 56px !important;
}

body.dse-client-portal #ticketThread .thread-entry .header .pull-right {
    float: right !important;
    margin-left: 12px !important;
}

body.dse-client-portal #ticketThread :where(.thread-body, .message-body, .response-body) {
    min-width: 0 !important;
    padding: 18px !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

body.dse-client-portal #ticketThread :where(
    .thread-body,
    .message-body,
    .response-body
) :where(img, video, iframe, table, pre) {
    max-width: 100% !important;
}

body.dse-client-portal #ticketThread :where(.attachments, .thread-entry-attachments) {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 16px 16px !important;
    padding: 12px !important;
    border: 1px dashed #bfd2e9 !important;
    border-radius: 11px !important;
    background: #f7faff !important;
}

body.dse-client-portal #ticketThread .thread-event {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 2px auto !important;
    padding: 7px 12px !important;
    border: 1px solid #d5e1ee !important;
    border-radius: 999px !important;
    color: #5d6d82 !important;
    background: rgba(255, 255, 255, .88) !important;
    font-size: 11px !important;
}

body.dse-client-portal .dse-client-ticket-reply {
    min-width: 0 !important;
    padding: clamp(22px, 3.5vw, 34px) !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    background: #fff !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal .dse-reply-intro {
    margin: 0 0 12px !important;
    color: var(--dse-cx-muted) !important;
    font-size: 13px !important;
}

body.dse-client-portal .dse-reply-intro font.error {
    display: block !important;
    margin-top: 5px !important;
}

body.dse-client-portal :where(.dse-reply-editor, .dse-open-ticket-form, .dse-client-ticket-edit-form) .redactor-box {
    overflow: hidden !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.dse-client-portal :where(.dse-reply-editor, .dse-open-ticket-form, .dse-client-ticket-edit-form) .redactor-toolbar {
    margin: 0 !important;
    padding: 8px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
    background: #f3f7fc !important;
    box-shadow: none !important;
}

body.dse-client-portal :where(.dse-reply-editor, .dse-open-ticket-form, .dse-client-ticket-edit-form) .redactor-toolbar li a {
    min-width: 32px !important;
    min-height: 32px !important;
    border-radius: 7px !important;
    color: var(--dse-cx-copy) !important;
    background-color: #fff !important;
}

body.dse-client-portal :where(.dse-reply-editor, .dse-open-ticket-form, .dse-client-ticket-edit-form) .redactor-editor {
    min-height: 190px !important;
    padding: 18px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

body.dse-client-portal :where(.dse-reply-editor, .dse-open-ticket-form, .dse-client-ticket-edit-form) .filedrop {
    min-height: 72px !important;
    margin-top: 12px !important;
    padding: 16px !important;
    border: 1px dashed #afc8e6 !important;
    border-radius: 12px !important;
    background: #f5f9ff !important;
}

body.dse-client-portal .warning-banner {
    margin: 16px 0 0 !important;
    padding: 13px 15px !important;
    border: 1px solid #efd5a3 !important;
    border-radius: 12px !important;
    color: #8c5708 !important;
    background: #fff9eb !important;
}

/* Ticket edit */

body.dse-client-portal .dse-client-ticket-edit {
    display: grid !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-ticket-edit-card {
    width: min(920px, 100%) !important;
    margin: 0 auto !important;
}

/* Secure callback scheduling */

body.dse-client-portal #content .dse-callback-page {
    min-height: 0 !important;
    padding: 0 !important;
    color: var(--dse-cx-copy) !important;
    background: transparent !important;
}

body.dse-client-portal #content .dse-callback-shell {
    display: grid !important;
    width: min(100%, 1000px) !important;
    margin: 0 auto !important;
    gap: 20px !important;
}

body.dse-client-portal #content .dse-callback-header {
    position: relative;
    isolation: isolate;
    overflow: hidden !important;
    margin: 0 !important;
    padding: clamp(32px, 5vw, 52px) !important;
    border: 1px solid rgba(126, 164, 209, .22) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 90% 0, rgba(56, 189, 248, .2), transparent 21rem),
        linear-gradient(132deg, var(--dse-cx-navy-950), #123459) !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal #content .dse-callback-kicker {
    display: inline-flex !important;
    margin: 0 0 11px !important;
    color: var(--dse-cx-cyan-400) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content .dse-callback-kicker::before {
    background: var(--dse-cx-cyan-400) !important;
}

body.dse-client-portal #content .dse-callback-header h1 {
    max-width: 760px !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    font-size: clamp(32px, 4.2vw, 48px) !important;
    font-weight: 850 !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
}

body.dse-client-portal #content .dse-callback-header :where(p, .dse-callback-intro) {
    max-width: 720px !important;
    color: #c9d8eb !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.dse-client-portal #content .dse-callback-header .dse-callback-ticket {
    margin-top: 18px !important;
    padding: 9px 13px !important;
    border: 1px solid rgba(147, 197, 253, .25) !important;
    border-radius: 999px !important;
    color: #e7f2ff !important;
    background: rgba(255, 255, 255, .08) !important;
}

body.dse-client-portal #content .dse-callback-panel {
    margin: 0 !important;
    padding: clamp(24px, 4vw, 40px) !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal #content .dse-callback-panel h2 {
    margin: 0 0 10px !important;
    color: var(--dse-cx-ink) !important;
    font-size: clamp(24px, 3vw, 32px) !important;
    font-weight: 820 !important;
    line-height: 1.12 !important;
    letter-spacing: -.03em !important;
}

body.dse-client-portal #content :where(.dse-callback-meta, .dse-callback-summary) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 11px !important;
    margin: 20px 0 0 !important;
}

body.dse-client-portal #content .dse-callback-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.dse-client-portal #content :where(
    .dse-callback-meta,
    .dse-callback-summary
) > div {
    min-width: 0 !important;
    padding: 15px !important;
    border: 1px solid #dce7f3 !important;
    border-radius: 13px !important;
    background: #f8fbff !important;
}

body.dse-client-portal #content :where(
    .dse-callback-meta,
    .dse-callback-summary
) :where(dt, dd) {
    margin: 0 !important;
}

body.dse-client-portal #content :where(
    .dse-callback-meta,
    .dse-callback-summary
) dt {
    margin-bottom: 5px !important;
    color: var(--dse-cx-muted) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content :where(
    .dse-callback-meta,
    .dse-callback-summary
) dd {
    color: var(--dse-cx-ink) !important;
    font-size: 14px !important;
    font-weight: 760 !important;
    overflow-wrap: anywhere;
}

body.dse-client-portal #content .dse-callback-chooser-head {
    margin: 26px 0 14px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal #content .dse-callback-secure {
    border-color: #bce2d3 !important;
    color: #087451 !important;
    background: #effbf6 !important;
}

body.dse-client-portal #content .dse-callback-date-tabs {
    gap: 8px !important;
    margin-bottom: 14px !important;
    padding: 6px !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 14px !important;
    background: #f3f7fc !important;
}

body.dse-client-portal #content .dse-callback-date-tab {
    min-height: 58px !important;
    border-color: transparent !important;
    border-radius: 10px !important;
    background: transparent !important;
}

body.dse-client-portal #content .dse-callback-date-tab[aria-selected="true"] {
    border-color: var(--dse-cx-blue-600) !important;
    color: #fff !important;
    background: var(--dse-cx-blue-600) !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .2) !important;
}

body.dse-client-portal #content .dse-callback-day {
    overflow: hidden !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
}

body.dse-client-portal #content .dse-callback-day summary {
    min-height: 58px !important;
    padding: 16px 48px 16px 17px !important;
    color: var(--dse-cx-ink) !important;
    background: #f8fbff !important;
}

body.dse-client-portal #content .dse-callback-day fieldset {
    margin: 0 !important;
    padding: 18px !important;
    border: 0 !important;
    border-top: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal #content .dse-callback-slot-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

body.dse-client-portal #content .dse-callback-slot {
    min-width: 0 !important;
}

body.dse-client-portal #content .dse-callback-slot span {
    display: grid !important;
    min-height: 46px !important;
    place-items: center;
    padding: 9px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 760 !important;
    text-align: center !important;
}

body.dse-client-portal #content .dse-callback-slot input:checked + span {
    border-color: var(--dse-cx-blue-600) !important;
    color: #fff !important;
    background: var(--dse-cx-blue-600) !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .2) !important;
}

body.dse-client-portal #content .dse-callback-actions {
    margin-top: 22px !important;
    padding: 18px !important;
    border: 1px solid #d8e5f3 !important;
    border-radius: 14px !important;
    background: #f5f9ff !important;
}

body.dse-client-portal #content .dse-callback-actions .button {
    min-height: 46px !important;
    padding: 11px 18px !important;
    border: 0 !important;
    border-radius: 11px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--dse-cx-blue-700), var(--dse-cx-blue-500)) !important;
    box-shadow: var(--dse-cx-shadow-blue) !important;
    font-family: inherit !important;
    font-weight: 800 !important;
}

body.dse-client-portal #content .dse-callback-alert {
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid #c7ddf5 !important;
    border-radius: 13px !important;
    color: var(--dse-cx-copy) !important;
    background: #f2f8ff !important;
}

body.dse-client-portal #content .dse-callback-alert.error {
    border-color: #f3c6ca !important;
    color: #9f2432 !important;
    background: #fff5f6 !important;
}

body.dse-client-portal #content .dse-callback-alert.success {
    border-color: #bae5d4 !important;
    color: #087451 !important;
    background: #effbf6 !important;
}

body.dse-client-portal #content .dse-callback-state-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 22px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal #content .dse-callback-state-actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.dse-client-portal #content .dse-callback-state-actions a.is-primary {
    border-color: transparent !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--dse-cx-blue-700), var(--dse-cx-blue-500)) !important;
    box-shadow: var(--dse-cx-shadow-blue) !important;
}

/* Knowledge base */

body.dse-client-portal .dse-kb-shell {
    display: grid !important;
    gap: 22px !important;
}

body.dse-client-portal .dse-kb-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(270px, .72fr) !important;
    align-items: start !important;
    gap: 20px !important;
}

body.dse-client-portal .dse-kb-sidebar {
    display: grid !important;
    gap: 16px !important;
}

body.dse-client-portal .dse-kb-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: min(760px, 100%) !important;
    margin-top: 24px !important;
    padding: 7px !important;
    border: 1px solid rgba(173, 205, 241, .24) !important;
    border-radius: 15px !important;
    background: rgba(255, 255, 255, .1) !important;
    backdrop-filter: blur(10px);
}

body.dse-client-portal .dse-kb-search-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
}

body.dse-client-portal .dse-kb-search input {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 11px 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    font-family: inherit !important;
}

body.dse-client-portal .dse-kb-search button {
    min-height: 48px !important;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: var(--dse-cx-blue-600) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    cursor: pointer;
}

body.dse-client-portal .dse-kb-category-description {
    max-width: 780px !important;
    color: #c9d8eb !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.dse-client-portal .dse-kb-category-description :where(p, ul, ol) {
    color: inherit !important;
}

body.dse-client-portal .dse-kb-category-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

body.dse-client-portal .dse-kb-category-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 210px !important;
    padding: 24px !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 18px !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    box-shadow: var(--dse-cx-shadow-sm) !important;
    text-decoration: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.dse-client-portal .dse-kb-category-card:hover {
    border-color: #a8c9f3 !important;
    box-shadow: var(--dse-cx-shadow) !important;
    transform: translateY(-3px);
}

body.dse-client-portal .dse-kb-category-card > span {
    margin-bottom: 8px !important;
    color: var(--dse-cx-blue-600) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal .dse-kb-category-card strong {
    margin-bottom: 9px !important;
    color: var(--dse-cx-ink) !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
}

body.dse-client-portal .dse-kb-category-card p {
    flex: 1 1 auto;
    margin: 0 0 15px !important;
    color: var(--dse-cx-muted) !important;
}

body.dse-client-portal .dse-kb-articles {
    display: grid !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    gap: 9px !important;
    list-style: none !important;
}

body.dse-client-portal .dse-kb-article {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 13px !important;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid #dce7f3 !important;
    border-radius: 13px !important;
    background: #f9fbfe !important;
}

body.dse-client-portal .dse-kb-article-icon {
    display: grid !important;
    width: 36px !important;
    height: 36px !important;
    place-items: center;
    border-radius: 10px !important;
    color: var(--dse-cx-blue-700) !important;
    background: #e8f2ff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

body.dse-client-portal .dse-kb-article a {
    color: var(--dse-cx-ink) !important;
    font-weight: 760 !important;
    text-decoration: none !important;
}

body.dse-client-portal .dse-kb-article-meta {
    color: var(--dse-cx-muted) !important;
    font-size: 11px !important;
}

body.dse-client-portal .dse-kb-breadcrumbs,
body.dse-client-portal .dse-kb-updated {
    color: var(--dse-cx-muted) !important;
    font-size: 12px !important;
}

body.dse-client-portal .dse-kb-updated {
    margin: 10px 0 24px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
}

body.dse-client-portal .dse-kb-article-body {
    min-width: 0 !important;
    color: var(--dse-cx-copy) !important;
    font-size: 15px !important;
    line-height: 1.76 !important;
    overflow-wrap: anywhere;
}

body.dse-client-portal .dse-kb-article-body :where(h1, h2, h3, h4) {
    margin: 1.65em 0 .65em !important;
    color: var(--dse-cx-ink) !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}

body.dse-client-portal .dse-kb-article-body :where(img, video, iframe, embed, object, svg) {
    max-width: 100% !important;
    height: auto;
}

body.dse-client-portal .dse-kb-article-body iframe {
    width: 100% !important;
    min-height: 320px;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 13px !important;
}

body.dse-client-portal .dse-kb-article-body pre {
    max-width: 100% !important;
    padding: 16px !important;
    overflow: auto !important;
    border-radius: 12px !important;
    color: #dbeafe !important;
    background: var(--dse-cx-navy-950) !important;
    white-space: pre-wrap;
}

body.dse-client-portal .dse-client-table-scroll {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 !important;
    overflow-x: auto !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 13px !important;
}

body.dse-client-portal .dse-client-table-scroll table {
    width: 100% !important;
    min-width: 560px !important;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
}

body.dse-client-portal .dse-client-table-scroll :where(th, td) {
    padding: 11px 13px !important;
    border: 0 !important;
    border-bottom: 1px solid #e5edf6 !important;
    text-align: left !important;
}

body.dse-client-portal .dse-client-table-scroll th {
    color: var(--dse-cx-ink) !important;
    background: #eef4fb !important;
}

/* Offline page */

body.dse-client-portal .dse-client-offline {
    min-height: 400px;
    padding: clamp(34px, 6vw, 70px) !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: var(--dse-cx-radius-lg) !important;
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, .13), transparent 22rem),
        #fff !important;
    box-shadow: var(--dse-cx-shadow) !important;
}

body.dse-client-portal .dse-client-offline :where(h1, h2) {
    max-width: 780px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--dse-cx-ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(30px, 4vw, 46px) !important;
    font-weight: 850 !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
}

body.dse-client-portal .dse-client-offline :where(p, li) {
    max-width: 760px !important;
    color: var(--dse-cx-copy) !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
}

body.dse-client-portal .dse-client-offline :where(img, video, iframe) {
    max-width: 100% !important;
    height: auto !important;
}

body.dse-client-portal .dse-client-offline :where(table, pre) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: auto !important;
}

body.dse-client-portal .dse-client-offline table {
    border-collapse: collapse !important;
}

body.dse-client-portal .dse-client-offline :where(th, td) {
    padding: 10px 12px !important;
    border: 1px solid var(--dse-cx-line) !important;
    text-align: left !important;
}

body.dse-client-portal .dse-client-offline pre {
    padding: 16px !important;
    border-radius: 12px !important;
    color: #dbeafe !important;
    background: var(--dse-cx-navy-950) !important;
    white-space: pre-wrap !important;
}

/* Footer */

body.dse-client-portal #footer {
    flex: 0 0 auto;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #c6d5e8 !important;
    background:
        radial-gradient(circle at 10% 0, rgba(37, 99, 235, .2), transparent 25rem),
        linear-gradient(135deg, #071326, #0c1d38) !important;
}

body.dse-client-portal .dse-footer-inner {
    display: grid !important;
    grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr) !important;
    width: min(1180px, 100%) !important;
    margin: 0 auto !important;
    padding: 42px 20px 26px !important;
    gap: 30px 50px !important;
}

body.dse-client-portal .dse-footer-brand {
    display: grid !important;
    align-content: start !important;
    gap: 7px !important;
}

body.dse-client-portal .dse-footer-brand strong {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 820 !important;
    letter-spacing: -.02em !important;
}

body.dse-client-portal .dse-footer-brand span {
    max-width: 390px;
    color: #9fb3cc !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

body.dse-client-portal .dse-footer-links {
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: start !important;
    justify-content: flex-end !important;
    gap: 8px !important;
}

body.dse-client-portal .dse-footer-links a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    border: 1px solid rgba(176, 204, 236, .16) !important;
    border-radius: 999px !important;
    color: #dce9f9 !important;
    background: rgba(255, 255, 255, .045) !important;
    font-size: 12px !important;
    font-weight: 720 !important;
    text-decoration: none !important;
}

body.dse-client-portal .dse-footer-links a:hover {
    border-color: rgba(125, 211, 252, .38) !important;
    color: #fff !important;
    background: rgba(37, 99, 235, .18) !important;
}

body.dse-client-portal .dse-footer-meta {
    display: flex !important;
    grid-column: 1 / -1 !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px 24px !important;
    padding-top: 22px !important;
    border-top: 1px solid rgba(176, 204, 236, .14) !important;
    color: #8fa5be !important;
    font-size: 11px !important;
}

body.dse-client-portal .dse-footer-secure {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

/* Overlays, rich text menus, select menus, and date/time picker */

body.dse-client-portal #overlay {
    z-index: var(--dse-layer-modal-backdrop) !important;
    background: rgba(7, 19, 38, .62) !important;
    backdrop-filter: blur(5px);
}

body.dse-client-portal #loading {
    z-index: var(--dse-layer-loading) !important;
    overflow: hidden !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 26px 80px rgba(7, 19, 38, .28) !important;
}

body.dse-client-portal .ui-dialog {
    z-index: var(--dse-layer-modal) !important;
    overflow: hidden auto !important;
    max-width: calc(100vw - 24px) !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 28px 90px rgba(7, 19, 38, .3) !important;
}

body.dse-client-portal .ui-dialog .ui-dialog-titlebar {
    position: relative !important;
    min-height: 58px !important;
    padding: 17px 66px 17px 20px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
    color: var(--dse-cx-ink) !important;
    background: #f5f8fc !important;
}

body.dse-client-portal .ui-dialog .ui-dialog-titlebar-close {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(22, 46, 82, .07) !important;
}

body.dse-client-portal .ui-dialog .ui-dialog-titlebar-close::before {
    content: "×";
    font-family: inherit;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
}

body.dse-client-portal .ui-dialog .ui-dialog-titlebar-close .ui-icon {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
}

body.dse-client-portal .ui-dialog .ui-dialog-content {
    padding: 20px !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
}

body.dse-client-portal .ui-dialog .ui-dialog-buttonpane {
    margin: 0 !important;
    padding: 14px 18px !important;
    border: 0 !important;
    border-top: 1px solid var(--dse-cx-line) !important;
    background: #f8fbff !important;
}

body.dse-client-portal .ui-dialog .ui-dialog-buttonpane .ui-button {
    min-width: 96px !important;
    min-height: 44px !important;
    margin: 4px !important;
    padding: 10px 16px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    box-shadow: 0 5px 14px rgba(22, 46, 82, .07) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

body.dse-client-portal .ui-dialog .ui-dialog-buttonpane .ui-button:last-child {
    border-color: transparent !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--dse-cx-blue-700), var(--dse-cx-blue-500)) !important;
    box-shadow: var(--dse-cx-shadow-blue) !important;
}

body.dse-client-portal .redactor-overlay,
body.dse-client-portal #redactor-overlay {
    z-index: var(--dse-layer-modal-backdrop) !important;
}

body.dse-client-portal :where(
    .redactor-modal,
    .redactor-modal-box,
    .redactor-box-fullscreen
),
body.dse-client-portal #redactor-modal {
    z-index: var(--dse-layer-modal) !important;
}

body.dse-client-portal :where(
    .redactor-context-toolbar,
    .redactor-dropdown
) {
    z-index: var(--dse-layer-picker) !important;
}

body.dse-client-portal #redactor-progress {
    z-index: var(--dse-layer-loading) !important;
}

body.dse-client-portal .redactor-modal {
    width: min(680px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    overflow: hidden !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 18px !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    box-shadow: 0 28px 90px rgba(7, 19, 38, .3) !important;
    font-family: inherit !important;
}

body.dse-client-portal .redactor-modal-header {
    min-height: 58px !important;
    padding: 17px 62px 17px 20px !important;
    border-bottom: 1px solid var(--dse-cx-line) !important;
    color: var(--dse-cx-ink) !important;
    background: #f5f8fc !important;
    font-size: 17px !important;
    font-weight: 820 !important;
}

body.dse-client-portal .redactor-modal-body {
    padding: 20px !important;
}

body.dse-client-portal .redactor-modal-footer {
    padding: 14px 18px !important;
    border-top: 1px solid var(--dse-cx-line) !important;
    background: #f8fbff !important;
}

body.dse-client-portal .redactor-modal .redactor-close {
    top: 8px !important;
    right: 8px !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 11px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
}

body.dse-client-portal .redactor-modal :where(input, select, textarea) {
    min-height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 10px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    font-family: inherit !important;
}

body.dse-client-portal .redactor-modal button {
    min-height: 44px !important;
    padding: 10px 15px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: var(--dse-cx-blue-600) !important;
    font-family: inherit !important;
    font-weight: 800 !important;
}

body.dse-client-portal .redactor-modal button.redactor-button-secondary,
body.dse-client-portal .redactor-modal button.redactor-button-unstyled {
    border-color: var(--dse-cx-line-strong) !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
}

body.dse-client-portal :where(
    .select2-drop,
    .select2-drop-mask,
    .redactor-dropdown,
    .ui-autocomplete,
    .ui-selectmenu-menu,
    .ui-tooltip,
    .ui-timepicker-div
) {
    z-index: var(--dse-layer-picker) !important;
}

body.dse-client-portal .select2-drop {
    overflow: hidden !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(7, 19, 38, .18) !important;
}

body.dse-client-portal .select2-results {
    padding: 6px !important;
}

body.dse-client-portal .select2-results .select2-result-label {
    min-height: 38px !important;
    padding: 9px 10px !important;
    border-radius: 8px !important;
    color: var(--dse-cx-copy) !important;
}

body.dse-client-portal .select2-results .select2-highlighted {
    color: #fff !important;
    background: var(--dse-cx-blue-600) !important;
}

body.dse-client-portal #ui-datepicker-div.ui-datepicker.ui-widget-content {
    z-index: var(--dse-layer-picker) !important;
    width: min(720px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    max-height: min(760px, calc(100vh - 24px)) !important;
    padding: 16px !important;
    overflow: auto !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 18px !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    box-shadow: 0 28px 90px rgba(7, 19, 38, .28) !important;
    font-family: inherit !important;
}

body.dse-client-portal #ui-datepicker-div.ui-datepicker.ui-widget-content::after {
    display: table;
    clear: both;
    content: "";
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-group {
    float: left !important;
    width: 50% !important;
    min-width: 0 !important;
    padding: 0 6px !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-header {
    min-height: 48px !important;
    padding: 11px 44px !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: var(--dse-cx-ink) !important;
    background: #eef4fb !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-title {
    margin: 0 !important;
    color: var(--dse-cx-ink) !important;
    font-size: 14px !important;
    font-weight: 820 !important;
    line-height: 26px !important;
}

body.dse-client-portal #ui-datepicker-div :where(.ui-datepicker-prev, .ui-datepicker-next) {
    top: 8px !important;
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    place-items: center;
    border: 1px solid #cad8e9 !important;
    border-radius: 9px !important;
    background: #fff !important;
    cursor: pointer !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-prev {
    left: 8px !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-next {
    right: 8px !important;
}

body.dse-client-portal #ui-datepicker-div :where(.ui-datepicker-prev, .ui-datepicker-next) .ui-icon {
    margin: 0 !important;
    transform: none !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-calendar {
    width: 100% !important;
    margin: 8px 0 0 !important;
    border-collapse: separate !important;
    border-spacing: 3px !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-calendar :where(th, td) {
    width: 14.285% !important;
    height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--dse-cx-copy) !important;
    background: transparent !important;
    text-align: center !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-calendar th {
    color: var(--dse-cx-muted) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-calendar td a,
body.dse-client-portal #ui-datepicker-div .ui-datepicker-calendar td span {
    display: grid !important;
    width: 100% !important;
    height: 34px !important;
    place-items: center;
    padding: 0 !important;
    border: 1px solid #dce6f2 !important;
    border-radius: 8px !important;
    color: var(--dse-cx-copy) !important;
    background: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: center !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-calendar .ui-datepicker-today a {
    border-color: #efc768 !important;
    color: #7b4c00 !important;
    background: #fff4ce !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-calendar .ui-state-active {
    border-color: var(--dse-cx-blue-600) !important;
    color: #fff !important;
    background: var(--dse-cx-blue-600) !important;
}

body.dse-client-portal #ui-datepicker-div .ui-timepicker-div {
    clear: both !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 15px !important;
    border: 1px solid var(--dse-cx-line) !important;
    border-radius: 13px !important;
    background: #f8fbff !important;
}

body.dse-client-portal #ui-datepicker-div .ui-timepicker-div dl {
    display: grid !important;
    grid-template-columns: minmax(80px, .35fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px 16px !important;
    margin: 0 !important;
}

body.dse-client-portal #ui-datepicker-div .ui-timepicker-div :where(dt, dd) {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-buttonpane {
    display: flex !important;
    clear: both !important;
    width: 100% !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--dse-cx-line) !important;
    background: transparent !important;
}

body.dse-client-portal #ui-datepicker-div .ui-datepicker-buttonpane button {
    float: none !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 14px !important;
    border: 1px solid var(--dse-cx-line-strong) !important;
    border-radius: 10px !important;
    color: var(--dse-cx-ink) !important;
    background: #fff !important;
    font-family: inherit !important;
    font-weight: 750 !important;
}

/* Responsive */

@media (max-width: 900px) {
    body.dse-client-portal #content {
        padding-inline: 16px !important;
    }

    body.dse-client-portal :where(
        .dse-login-grid,
        .dse-view-grid,
        .dse-password-reset-layout,
        .dse-open-grid,
        .dse-profile-grid,
        .dse-kb-layout
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.dse-client-portal :where(
        .dse-login-helper,
        .dse-view-helper,
        .dse-open-sidebar,
        .dse-profile-sidebar,
        .dse-password-reset-helper,
        .dse-kb-sidebar
    ) {
        grid-row: auto !important;
    }

    body.dse-client-portal .dse-helpdesk-workstreams,
    body.dse-client-portal .dse-kb-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.dse-client-portal .dse-helpdesk-home-hero {
        min-height: 0;
        grid-template-columns: 1fr !important;
    }

    body.dse-client-portal .dse-helpdesk-home-assurance {
        width: 100% !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.dse-client-portal .dse-ticket-detail-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.dse-client-portal #content .dse-callback-slot-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.dse-client-portal .dse-footer-inner {
        grid-template-columns: 1fr !important;
    }

    body.dse-client-portal .dse-footer-links {
        justify-content: flex-start !important;
    }
}

@media (max-width: 720px) {
    body.dse-client-portal .dse-helpdesk-shell {
        padding: 13px 16px !important;
    }

    body.dse-client-portal #header.dse-helpdesk-header {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 13px !important;
    }

    body.dse-client-portal .dse-helpdesk-account,
    body.dse-client-portal .dse-helpdesk-account-links {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    body.dse-client-portal .dse-helpdesk-account-links {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        padding-bottom: 3px !important;
    }

    body.dse-client-portal .dse-helpdesk-account-links > * {
        flex: 0 0 auto !important;
    }

    body.dse-client-portal .dse-helpdesk-nav-wrap {
        padding: 8px 16px !important;
    }

    body.dse-client-portal .dse-helpdesk-nav-wrap.is-enhanced .dse-helpdesk-nav-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 46px !important;
        padding: 9px 13px !important;
        border: 1px solid var(--dse-cx-line) !important;
        border-radius: 12px !important;
        color: var(--dse-cx-ink) !important;
        background: #fff !important;
        font-family: inherit !important;
    }

    body.dse-client-portal .dse-helpdesk-nav-toggle-copy {
        display: grid !important;
        text-align: left !important;
    }

    body.dse-client-portal .dse-helpdesk-nav-toggle-copy small {
        color: var(--dse-cx-muted) !important;
        font-size: 10px !important;
    }

    body.dse-client-portal .dse-helpdesk-nav {
        display: flex !important;
        width: 100% !important;
        min-height: 0 !important;
        padding-top: 8px !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.dse-client-portal .dse-helpdesk-nav-wrap.is-enhanced .dse-helpdesk-nav {
        display: none !important;
    }

    body.dse-client-portal .dse-helpdesk-nav-wrap.is-open .dse-helpdesk-nav,
    body.dse-client-portal .dse-helpdesk-nav.is-open {
        display: flex !important;
    }

    body.dse-client-portal .dse-helpdesk-nav > li,
    body.dse-client-portal .dse-helpdesk-nav > li > a {
        width: 100% !important;
    }

    body.dse-client-portal #content :where(
        .dse-helpdesk-home-hero,
        .dse-login-hero,
        .dse-view-hero,
        .dse-open-hero,
        .dse-ticket-hero,
        .dse-profile-hero,
        .dse-password-reset-hero,
        .dse-ticket-edit-hero,
        .dse-kb-hero
    ) {
        padding: 30px 24px !important;
        border-radius: 20px !important;
    }

    body.dse-client-portal .dse-helpdesk-workstreams,
    body.dse-client-portal .dse-kb-category-grid,
    body.dse-client-portal .dse-helpdesk-home-assurance {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.dse-client-portal .dse-helpdesk-workstream {
        min-height: 0 !important;
    }

    body.dse-client-portal .dse-helpdesk-home-foot {
        grid-template-columns: 1fr !important;
    }

    body.dse-client-portal :where(
        .dse-open-form-table,
        .dse-client-form-table,
        .dse-client-ticket-edit-table
    ),
    body.dse-client-portal :where(
        .dse-open-form-table,
        .dse-client-form-table,
        .dse-client-ticket-edit-table
    ) > tbody,
    body.dse-client-portal :where(
        .dse-open-form-table,
        .dse-client-form-table,
        .dse-client-ticket-edit-table
    ) > tbody > tr,
    body.dse-client-portal :where(
        .dse-open-form-table,
        .dse-client-form-table,
        .dse-client-ticket-edit-table
    ) > tbody > tr > :where(th, td) {
        display: block !important;
        width: 100% !important;
    }

    body.dse-client-portal :where(
        .dse-open-form-table,
        .dse-client-form-table,
        .dse-client-ticket-edit-table
    ) > tbody > tr {
        margin-bottom: 12px !important;
    }

    body.dse-client-portal :where(
        .dse-open-form-table,
        .dse-client-form-table,
        .dse-client-ticket-edit-table
    ) > tbody > tr > th {
        padding: 4px 0 6px !important;
    }

    body.dse-client-portal :where(
        .dse-open-form-table,
        .dse-client-form-table,
        .dse-client-ticket-edit-table
    ) > tbody > tr > td {
        padding: 0 !important;
    }

    body.dse-client-portal .dse-profile-progress {
        grid-template-columns: 1fr !important;
    }

    body.dse-client-portal #content :where(
        .dse-callback-meta,
        .dse-callback-summary
    ) {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.dse-client-portal #content .dse-callback-slot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.dse-client-portal #ticketInfo.dse-ticket-detail-overview,
    body.dse-client-portal #ticketInfo.dse-ticket-detail-overview > tbody,
    body.dse-client-portal #ticketInfo.dse-ticket-detail-overview > tbody > tr,
    body.dse-client-portal #ticketInfo.dse-ticket-detail-overview > tbody > tr > td {
        display: block !important;
        width: 100% !important;
    }

    body.dse-client-portal #ticketInfo.dse-ticket-detail-overview > tbody > tr > td {
        padding: 7px 10px !important;
    }

    body.dse-client-portal #ticketInfo.dse-ticket-detail-overview > tbody > tr:first-child > td {
        padding: 0 !important;
    }

    body.dse-client-portal .dse-ticket-meta-card :where(th, td),
    body.dse-client-portal .dse-ticket-custom-card :where(th, td) {
        display: block !important;
        width: 100% !important;
    }

    body.dse-client-portal .dse-ticket-meta-card th,
    body.dse-client-portal .dse-ticket-custom-card th {
        padding-bottom: 2px !important;
        border-bottom: 0 !important;
    }

    body.dse-client-portal .dse-ticket-meta-card td,
    body.dse-client-portal .dse-ticket-custom-card td {
        padding-top: 2px !important;
    }

    body.dse-client-portal .dse-ticket-table {
        min-width: 0 !important;
    }

    body.dse-client-portal .dse-ticket-table thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
    }

    body.dse-client-portal .dse-ticket-table,
    body.dse-client-portal .dse-ticket-table tbody,
    body.dse-client-portal .dse-ticket-table tr,
    body.dse-client-portal .dse-ticket-table td {
        display: block !important;
        width: 100% !important;
    }

    body.dse-client-portal .dse-ticket-table .dse-ticket-row {
        width: calc(100% - 24px) !important;
        margin: 12px !important;
        overflow: hidden !important;
        border: 1px solid var(--dse-cx-line) !important;
        border-radius: 14px !important;
        background: #fff !important;
    }

    body.dse-client-portal .dse-ticket-table td {
        position: relative;
        min-height: 46px !important;
        padding: 12px 14px 12px 42% !important;
        border-bottom: 1px solid #e6edf5 !important;
        text-align: left !important;
    }

    body.dse-client-portal .dse-ticket-table td::before {
        position: absolute;
        top: 12px;
        left: 14px;
        width: calc(42% - 24px);
        color: var(--dse-cx-muted);
        content: attr(data-label);
        font-size: 10px;
        font-weight: 850;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    body.dse-client-portal #content .dse-client-tickets #ticketTable.dse-ticket-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: auto !important;
    }

    body.dse-client-portal #content .dse-client-tickets #ticketTable.dse-ticket-table .dse-ticket-row {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin: 12px !important;
    }

    body.dse-client-portal #content .dse-client-tickets #ticketTable.dse-ticket-table td.dse-ticket-empty {
        min-height: 0 !important;
        padding: 30px 18px !important;
        color: var(--dse-cx-muted) !important;
        text-align: center !important;
    }

    body.dse-client-portal #content .dse-client-tickets #ticketTable.dse-ticket-table td.dse-ticket-empty::before {
        display: none !important;
        content: none !important;
    }

    body.dse-client-portal #ticketThread :where(.thread-body, .message-body, .response-body) {
        overflow-x: auto !important;
    }

    body.dse-client-portal #ui-datepicker-div.ui-datepicker.ui-widget-content {
        width: min(390px, calc(100vw - 20px)) !important;
        padding: 12px !important;
    }

    body.dse-client-portal #ui-datepicker-div .ui-datepicker-group {
        width: 100% !important;
    }

}

@media (max-width: 560px) {
    body.dse-client-portal #content {
        padding: 20px 12px 50px !important;
    }

    body.dse-client-portal .dse-helpdesk-brand-text span {
        max-width: 220px;
    }

    body.dse-client-portal #content :where(
        .dse-login-panel,
        .dse-login-helper,
        .dse-view-panel,
        .dse-view-helper,
        .dse-open-form-card,
        .dse-open-help-card,
        .dse-profile-panel,
        .dse-profile-helper,
        .dse-password-reset-panel,
        .dse-password-reset-helper,
        .dse-ticket-edit-card,
        .dse-kb-panel,
        .dse-kb-side-card
    ) {
        padding: 21px 17px !important;
        border-radius: 17px !important;
    }

    body.dse-client-portal .dse-ticket-detail-head {
        padding: 22px 18px !important;
    }

    body.dse-client-portal :where(
        .dse-helpdesk-home-actions,
        .dse-login-actions,
        .dse-view-actions,
        .dse-open-hero-actions,
        .dse-open-side-actions,
        .dse-password-reset-helper-actions,
        .dse-kb-actions,
        .dse-callback-state-actions,
        .dse-open-form-actions,
        .dse-client-form-actions
    ) {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.dse-client-portal #content :where(
        .dse-helpdesk-home-button,
        .dse-login-button,
        .dse-view-button,
        .dse-open-button,
        .dse-ticket-button,
        .dse-profile-button,
        .dse-password-reset-button,
        .dse-kb-button,
        a.action-button
    ),
    body.dse-client-portal :where(
        .dse-open-form-actions,
        .dse-client-form-actions
    ) :where(input, button) {
        width: 100% !important;
    }

    body.dse-client-portal .dse-kb-search {
        grid-template-columns: 1fr !important;
    }

    body.dse-client-portal .dse-kb-article {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    body.dse-client-portal .dse-kb-article-meta {
        grid-column: 2 !important;
    }

    body.dse-client-portal #content .dse-callback-slot-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.dse-client-portal #content .dse-callback-actions {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.dse-client-portal #content .dse-callback-actions .button {
        width: 100% !important;
    }

    body.dse-client-portal #content .dse-callback-state-actions a {
        width: 100% !important;
    }

    body.dse-client-portal .dse-footer-inner {
        padding-top: 34px !important;
    }

    body.dse-client-portal .dse-footer-meta {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

@media (max-height: 680px) and (min-width: 721px) {
    body.dse-client-portal #ui-datepicker-div.ui-datepicker.ui-widget-content {
        max-height: calc(100vh - 12px) !important;
        overflow-y: auto !important;
    }
}

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

/* Homepage command center */

body.dse-client-portal #content .dse-helpdesk-home-v2 {
    --dse-home-electric: #2f7cff;
    --dse-home-cyan: #42d7ff;
    --dse-home-midnight: #06142a;
    --dse-home-panel: #0b1d39;
    display: grid !important;
    gap: clamp(28px, 4vw, 48px) !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero {
    position: relative;
    display: grid !important;
    min-height: 590px !important;
    grid-template-columns: minmax(0, 1fr) minmax(315px, 365px) !important;
    align-items: center !important;
    gap: clamp(38px, 5vw, 74px) !important;
    padding: clamp(52px, 6vw, 76px) clamp(38px, 6vw, 76px) 118px !important;
    border: 1px solid rgba(130, 189, 255, .22) !important;
    border-radius: 32px !important;
    background:
        radial-gradient(circle at 84% 18%, rgba(66, 215, 255, .22), transparent 20rem),
        radial-gradient(circle at 10% 108%, rgba(47, 124, 255, .38), transparent 28rem),
        linear-gradient(125deg, #050f21 0%, #081a35 48%, #103f68 100%) !important;
    box-shadow: 0 34px 90px rgba(6, 20, 42, .23) !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: inherit;
    background-image: radial-gradient(rgba(163, 218, 255, .17) 1px, transparent 1px);
    background-position: 82% 20%;
    background-size: 22px 22px;
    content: "";
    opacity: .42;
    mask-image: linear-gradient(100deg, transparent 50%, #000 100%);
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero::after {
    right: -82px !important;
    bottom: -104px !important;
    width: 330px !important;
    height: 330px !important;
    border-color: rgba(137, 206, 255, .18) !important;
    box-shadow:
        0 0 0 44px rgba(137, 206, 255, .04),
        0 0 0 88px rgba(137, 206, 255, .025) !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-copy {
    position: relative;
    z-index: 2;
    max-width: 690px !important;
    animation: dse-home-rise .65s cubic-bezier(.2, .75, .25, 1) both;
}

body.dse-client-portal #content .dse-helpdesk-home-status-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px 18px !important;
    margin-bottom: 22px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-eyebrow {
    margin: 0 !important;
    color: #52d9ff !important;
    letter-spacing: .15em !important;
}

body.dse-client-portal #content .dse-helpdesk-home-live {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 28px !important;
    padding: 6px 11px !important;
    border: 1px solid rgba(140, 255, 213, .22) !important;
    border-radius: 999px !important;
    color: #c7fbe8 !important;
    background: rgba(21, 166, 115, .12) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content .dse-helpdesk-home-live i,
body.dse-client-portal #content .dse-helpdesk-home-assurance header b i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 5px rgba(74, 222, 128, .1), 0 0 16px rgba(74, 222, 128, .75);
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero h1 {
    max-width: 680px !important;
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: clamp(48px, 5.6vw, 74px) !important;
    font-weight: 880 !important;
    line-height: .98 !important;
    letter-spacing: -.06em !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero h1 span {
    display: block;
    color: #8bdcff;
    background: linear-gradient(100deg, #fff 0%, #8bdcff 54%, #4ca1ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-lead {
    max-width: 650px !important;
    margin: 0 !important;
    color: #c8d9ee !important;
    font-size: clamp(17px, 1.8vw, 20px) !important;
    line-height: 1.65 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-actions {
    margin-top: 30px !important;
    gap: 12px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-button {
    display: inline-flex !important;
    min-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    padding: 14px 20px !important;
    border: 1px solid rgba(180, 211, 245, .28) !important;
    border-radius: 13px !important;
    color: #ecf6ff !important;
    background: rgba(255, 255, 255, .075) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    backdrop-filter: blur(12px);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-button.primary {
    border-color: rgba(102, 178, 255, .62) !important;
    color: #fff !important;
    background: linear-gradient(135deg, #1d5bea, #348dff) !important;
    box-shadow: 0 16px 34px rgba(24, 93, 230, .34) !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-button b {
    font-size: 20px !important;
    font-weight: 500 !important;
    transition: transform .2s ease;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-button:hover {
    border-color: rgba(139, 220, 255, .6) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .13) !important;
    transform: translateY(-2px);
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-button.primary:hover {
    background: linear-gradient(135deg, #2869f4, #42a0ff) !important;
    box-shadow: 0 20px 42px rgba(24, 93, 230, .42) !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-button:hover b {
    transform: translateX(4px);
}

body.dse-client-portal #content .dse-helpdesk-home-signals {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 34px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(172, 207, 244, .16) !important;
    gap: 16px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-signals > span {
    display: grid !important;
    gap: 3px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-signals strong {
    color: #f8fbff !important;
    font-size: 12px !important;
    font-weight: 820 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-signals small {
    color: #8fa8c6 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-assurance {
    position: relative;
    z-index: 2;
    display: grid !important;
    width: 100% !important;
    gap: 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(156, 207, 255, .25) !important;
    border-radius: 24px !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .055)) !important;
    box-shadow: 0 26px 60px rgba(0, 0, 0, .22), inset 0 1px rgba(255, 255, 255, .08) !important;
    backdrop-filter: blur(18px);
    animation: dse-home-rise .65s .12s cubic-bezier(.2, .75, .25, 1) both;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 12px 10px 16px !important;
    color: #f4f9ff !important;
    font-size: 11px !important;
    font-weight: 820 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance header b {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #b9cce4 !important;
    font-size: 9px !important;
    font-weight: 750 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance header b i {
    width: 5px;
    height: 5px;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance ol {
    display: grid !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    list-style: none !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance li {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 15px !important;
    border: 1px solid rgba(181, 215, 249, .16) !important;
    border-radius: 15px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .075) !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance li > b {
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    place-items: center !important;
    border-radius: 12px !important;
    color: #80d7ff !important;
    background: rgba(38, 112, 235, .28) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance li span,
body.dse-client-portal #content .dse-helpdesk-home-assurance li strong,
body.dse-client-portal #content .dse-helpdesk-home-assurance li small {
    display: block !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance li strong {
    margin-bottom: 3px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance li small {
    color: #b6c8dd !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance footer {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 17px 10px 8px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance footer > span {
    display: flex !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance footer > span i {
    width: 25px;
    height: 25px;
    margin-left: -6px;
    border: 2px solid #183a60;
    border-radius: 50%;
    background: linear-gradient(135deg, #3b82f6, #55d8ff);
}

body.dse-client-portal #content .dse-helpdesk-home-assurance footer > span i:first-child {
    margin-left: 0;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance footer p,
body.dse-client-portal #content .dse-helpdesk-home-assurance footer strong,
body.dse-client-portal #content .dse-helpdesk-home-assurance footer small {
    display: block !important;
    margin: 0 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance footer strong {
    color: #eef7ff !important;
    font-size: 10px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-assurance footer small {
    color: #91a9c5 !important;
    font-size: 9px !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions {
    position: relative;
    z-index: 5;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: -94px 34px 4px !important;
    padding: 0 !important;
    gap: 12px !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    min-width: 0 !important;
    min-height: 112px !important;
    align-items: center !important;
    gap: 13px !important;
    padding: 20px !important;
    border: 1px solid #d3e0ef !important;
    border-radius: 18px !important;
    color: var(--dse-cx-ink) !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 18px 44px rgba(14, 43, 79, .14) !important;
    text-decoration: none !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    animation: dse-home-rise .55s cubic-bezier(.2, .75, .25, 1) both;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a:nth-child(2) { animation-delay: .08s; }
body.dse-client-portal #content .dse-helpdesk-quick-actions a:nth-child(3) { animation-delay: .16s; }

body.dse-client-portal #content .dse-helpdesk-quick-actions a.primary {
    border-color: #2e7dff !important;
    color: #fff !important;
    background: linear-gradient(135deg, #1557df, #398fff) !important;
    box-shadow: 0 20px 46px rgba(25, 96, 224, .3) !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a:hover {
    border-color: #9fc3ee !important;
    color: var(--dse-cx-blue-700) !important;
    box-shadow: 0 24px 54px rgba(14, 43, 79, .2) !important;
    transform: translateY(-4px);
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a.primary:hover {
    border-color: #64b3ff !important;
    color: #fff !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-number {
    color: #6f88a5 !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .1em !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a.primary .dse-helpdesk-quick-number {
    color: #bce4ff !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a > span:not(.dse-helpdesk-quick-number),
body.dse-client-portal #content .dse-helpdesk-quick-actions strong,
body.dse-client-portal #content .dse-helpdesk-quick-actions small {
    display: block !important;
    min-width: 0 !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions strong {
    margin-bottom: 3px !important;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 830 !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions small {
    overflow: hidden;
    color: #70839a !important;
    font-size: 10px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a.primary small {
    color: #d8ebff !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a > b {
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    place-items: center !important;
    border: 1px solid #d6e3f1 !important;
    border-radius: 50% !important;
    color: #286add !important;
    font-size: 17px !important;
    font-weight: 500 !important;
}

body.dse-client-portal #content .dse-helpdesk-quick-actions a.primary > b {
    border-color: rgba(255, 255, 255, .26) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .09) !important;
}

body.dse-client-portal #content .dse-helpdesk-service-map {
    padding: clamp(34px, 5vw, 62px) !important;
    border: 1px solid #dce7f3 !important;
    border-radius: 30px !important;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 22px 60px rgba(20, 51, 88, .08) !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-section-head {
    display: grid !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr) !important;
    align-items: end !important;
    gap: 28px 60px !important;
    margin-bottom: 30px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-section-head > div > span,
body.dse-client-portal #content .dse-helpdesk-resource-copy > span,
body.dse-client-portal #content .dse-helpdesk-final-cta > div > span {
    display: block !important;
    margin-bottom: 11px !important;
    color: #1d65d8 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-section-head h2 {
    max-width: 680px !important;
    margin: 0 !important;
    color: #0b1d38 !important;
    font-size: clamp(34px, 4vw, 49px) !important;
    line-height: 1.03 !important;
    letter-spacing: -.05em !important;
}

body.dse-client-portal #content .dse-helpdesk-home-section-head > p {
    margin: 0 0 3px !important;
    color: #5c7089 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstreams {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream {
    grid-column: span 5;
    display: flex !important;
    min-height: 265px !important;
    padding: 28px !important;
    border: 1px solid #d7e3f0 !important;
    border-radius: 22px !important;
    color: #334a65 !important;
    background:
        radial-gradient(circle at 100% 0, rgba(64, 145, 255, .09), transparent 13rem),
        #f9fbfe !important;
    box-shadow: none !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.featured,
body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.accent {
    grid-column: span 7;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.featured {
    color: #dceafe !important;
    background:
        radial-gradient(circle at 88% 4%, rgba(61, 193, 255, .2), transparent 15rem),
        linear-gradient(135deg, #07162e, #123a63) !important;
    border-color: #1c4f7f !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.accent {
    background:
        radial-gradient(circle at 95% 15%, rgba(59, 130, 246, .16), transparent 15rem),
        linear-gradient(135deg, #eef6ff, #f9fbff) !important;
    border-color: #bdd7f5 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream:hover {
    border-color: #8ebdec !important;
    box-shadow: 0 20px 44px rgba(21, 61, 105, .12) !important;
    transform: translateY(-4px);
}

body.dse-client-portal #content .dse-helpdesk-workstream-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream-icon {
    width: 48px !important;
    height: 48px !important;
    margin: 0 0 26px !important;
    border-color: #c5dcf6 !important;
    border-radius: 14px !important;
    color: #1c65d8 !important;
    background: #ebf4ff !important;
    font-size: 13px !important;
}

body.dse-client-portal #content .dse-helpdesk-workstream.featured .dse-helpdesk-workstream-icon {
    border-color: rgba(139, 220, 255, .25) !important;
    color: #8bdcff !important;
    background: rgba(47, 124, 255, .2) !important;
}

body.dse-client-portal #content .dse-helpdesk-workstream-top > small {
    padding: 7px 10px !important;
    border: 1px solid rgba(139, 220, 255, .22) !important;
    border-radius: 999px !important;
    color: #bceaff !important;
    background: rgba(66, 215, 255, .08) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream :where(h3, strong) {
    max-width: 500px !important;
    margin: 0 0 11px !important;
    color: #0d213e !important;
    font-size: clamp(23px, 2.5vw, 29px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.featured h3 {
    color: #fff !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream p {
    max-width: 530px !important;
    color: #61758d !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.featured p {
    color: #b8cce2 !important;
}

body.dse-client-portal #content .dse-helpdesk-workstream-route {
    display: block !important;
    margin-top: auto !important;
    padding-top: 24px !important;
    color: #44709e !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content .dse-helpdesk-workstream.featured .dse-helpdesk-workstream-route {
    color: #70cfff !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-band {
    position: relative;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr) !important;
    align-items: center !important;
    gap: clamp(35px, 6vw, 80px) !important;
    padding: clamp(38px, 6vw, 70px) !important;
    border: 1px solid #163f69 !important;
    border-radius: 30px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 95% 10%, rgba(66, 215, 255, .2), transparent 21rem),
        linear-gradient(125deg, #06142a, #0d294b 65%, #124b75) !important;
    box-shadow: 0 24px 64px rgba(9, 35, 68, .16) !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-band::after {
    position: absolute;
    right: -80px;
    bottom: -120px;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(139, 220, 255, .14);
    border-radius: 50%;
    box-shadow: 0 0 0 48px rgba(139, 220, 255, .035), 0 0 0 96px rgba(139, 220, 255, .02);
    content: "";
}

body.dse-client-portal #content .dse-helpdesk-resource-copy {
    position: relative;
    z-index: 2;
}

body.dse-client-portal #content .dse-helpdesk-resource-copy > span {
    color: #55d8ff !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-copy h2 {
    max-width: 650px !important;
    margin: 0 0 16px !important;
    color: #fff !important;
    font-size: clamp(34px, 4.4vw, 52px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.05em !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-copy p {
    max-width: 620px !important;
    margin: 0 !important;
    color: #b9cce2 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 25px !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-links a {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 11px 15px !important;
    border: 1px solid rgba(169, 210, 250, .24) !important;
    border-radius: 11px !important;
    color: #e8f5ff !important;
    background: rgba(255, 255, 255, .07) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-links a:hover {
    border-color: rgba(139, 220, 255, .52) !important;
    color: #fff !important;
    background: rgba(47, 124, 255, .2) !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-band > aside {
    position: relative;
    z-index: 2;
    padding: 28px !important;
    border: 1px solid rgba(175, 215, 255, .2) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .07) !important;
    backdrop-filter: blur(14px);
}

body.dse-client-portal #content .dse-helpdesk-resource-band > aside p {
    margin: 22px 0 18px !important;
    color: #d4e4f5 !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-band > aside > strong {
    color: #65d9ff !important;
    font-size: 10px !important;
    font-weight: 820 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-mark {
    display: flex !important;
    align-items: center !important;
}

body.dse-client-portal #content .dse-helpdesk-resource-mark i {
    width: 32px;
    height: 32px;
    margin-left: -8px;
    border: 2px solid #173e67;
    border-radius: 50%;
    background: linear-gradient(135deg, #2364dc, #4bd4ff);
    box-shadow: 0 8px 20px rgba(24, 93, 230, .25);
}

body.dse-client-portal #content .dse-helpdesk-resource-mark i:first-child {
    margin-left: 0;
}

body.dse-client-portal #content .dse-helpdesk-final-cta {
    position: relative;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 32px !important;
    padding: clamp(34px, 5vw, 54px) clamp(30px, 6vw, 68px) !important;
    border: 1px solid #9bc7fb !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at 90% 10%, rgba(255, 255, 255, .7), transparent 14rem),
        linear-gradient(135deg, #eaf4ff, #f9fcff) !important;
}

body.dse-client-portal #content .dse-helpdesk-final-cta::after {
    position: absolute;
    right: 18%;
    bottom: -90px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(42, 110, 220, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 32px rgba(42, 110, 220, .035);
    content: "";
}

body.dse-client-portal #content .dse-helpdesk-final-cta > div,
body.dse-client-portal #content .dse-helpdesk-final-cta > a {
    position: relative;
    z-index: 2;
}

body.dse-client-portal #content .dse-helpdesk-final-cta h2 {
    margin: 0 0 8px !important;
    color: #0b1e3a !important;
    font-size: clamp(29px, 3.4vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
}

body.dse-client-portal #content .dse-helpdesk-final-cta p {
    max-width: 650px !important;
    margin: 0 !important;
    color: #5d7088 !important;
    font-size: 13px !important;
}

body.dse-client-portal #content .dse-helpdesk-final-cta > a {
    display: inline-flex !important;
    min-height: 52px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 14px 20px !important;
    border: 1px solid #226bed !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #1558df, #398fff) !important;
    box-shadow: 0 14px 30px rgba(31, 103, 224, .24) !important;
    font-size: 12px !important;
    font-weight: 820 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

body.dse-client-portal #content .dse-helpdesk-final-cta > a:hover {
    color: #fff !important;
    box-shadow: 0 18px 38px rgba(31, 103, 224, .34) !important;
    transform: translateY(-2px);
}

body.dse-client-page-index #footer {
    position: relative;
    overflow: hidden;
    align-self: stretch !important;
    min-width: 100% !important;
}

body.dse-client-page-index #footer::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(86, 202, 255, .62), transparent);
    content: "";
}

body.dse-client-page-index .dse-footer-inner {
    padding-top: 48px !important;
}

@keyframes dse-home-rise {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1040px) {
    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero {
        min-height: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        padding-bottom: 112px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-assurance {
        grid-template-columns: 1fr !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-assurance ol {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-assurance li {
        grid-template-columns: 1fr !important;
        align-content: start !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-assurance footer {
        display: none !important;
    }

    body.dse-client-portal #content .dse-helpdesk-quick-actions {
        margin-top: -92px !important;
    }
}

@media (max-width: 900px) {
    body.dse-client-portal #content .dse-helpdesk-quick-actions {
        grid-template-columns: 1fr !important;
        margin-right: 24px !important;
        margin-left: 24px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-quick-actions a {
        min-height: 92px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-section-head,
    body.dse-client-portal #content .dse-helpdesk-resource-band {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream,
    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.featured,
    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.accent {
        grid-column: span 6;
    }
}

@media (max-width: 680px) {
    body.dse-client-portal #content .dse-helpdesk-home-v2 {
        gap: 24px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero {
        gap: 30px !important;
        padding: 34px 22px 86px !important;
        border-radius: 24px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-hero h1 {
        font-size: clamp(40px, 13vw, 58px) !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-actions,
    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-button {
        width: 100% !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-signals {
        grid-template-columns: 1fr !important;
        gap: 11px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-assurance ol {
        grid-template-columns: 1fr !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-assurance li {
        grid-template-columns: 42px minmax(0, 1fr) !important;
    }

    body.dse-client-portal #content .dse-helpdesk-quick-actions {
        margin: -66px 12px 0 !important;
    }

    body.dse-client-portal #content .dse-helpdesk-service-map,
    body.dse-client-portal #content .dse-helpdesk-resource-band {
        padding: 28px 20px !important;
        border-radius: 24px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstreams {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream,
    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.featured,
    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-workstream.accent {
        grid-column: auto;
        min-height: 245px !important;
        padding: 24px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-links,
    body.dse-client-portal #content .dse-helpdesk-home-v2 .dse-helpdesk-home-links a {
        width: 100% !important;
    }

    body.dse-client-portal #content .dse-helpdesk-final-cta {
        grid-template-columns: 1fr !important;
        padding: 30px 22px !important;
        border-radius: 22px !important;
    }

    body.dse-client-portal #content .dse-helpdesk-final-cta > a {
        width: 100% !important;
        white-space: normal;
    }
}

@media print {
    body.dse-client-portal {
        color: #000 !important;
        background: #fff !important;
    }

    body.dse-client-portal :where(
        .dse-helpdesk-top,
        .dse-helpdesk-nav-wrap,
        #footer,
        .dse-ticket-detail-actions,
        .dse-client-ticket-reply,
        .dse-ai-chat
    ) {
        display: none !important;
    }

    body.dse-client-portal #content {
        padding: 0 !important;
    }

    body.dse-client-portal :where(
        #ticketInfo.dse-ticket-detail-overview,
        .dse-ticket-conversation,
        #ticketThread .thread-entry
    ) {
        border-color: #bbb !important;
        box-shadow: none !important;
    }
}
