/*
 * DSE customer entry-point layer.
 * Loaded after each page's local styles so the homepage, sign-in, and
 * ticket-request flows share the same readable, responsive system.
 */

:root {
    --dse-entry-page: #f5f7fb;
    --dse-entry-surface: #ffffff;
    --dse-entry-surface-soft: #f8fafc;
    --dse-entry-ink: #10203b;
    --dse-entry-muted: #66758c;
    --dse-entry-line: #dce5ef;
    --dse-entry-blue: #2f64e9;
    --dse-entry-blue-soft: #edf3ff;
    --dse-entry-navy: #101b32;
    --dse-entry-radius: 14px;
    --dse-entry-radius-small: 9px;
}

#content .dse-hd-wrap,
#content .dse-login-wrap,
#content .dse-open-ticket {
    width: min(100%, 1280px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: clamp(20px, 3vw, 34px) clamp(12px, 3vw, 30px) 72px !important;
    color: var(--dse-entry-ink) !important;
}

#content .dse-hd-wrap h1,
#content .dse-hd-wrap h2,
#content .dse-hd-wrap h3,
#content .dse-login-wrap h1,
#content .dse-login-wrap h2,
#content .dse-login-wrap h3,
#content .dse-open-ticket h1,
#content .dse-open-ticket h2,
#content .dse-open-ticket h3,
#content .dse-hd-wrap p,
#content .dse-login-wrap p,
#content .dse-open-ticket p,
#content .dse-hd-wrap li,
#content .dse-login-wrap li,
#content .dse-open-ticket li {
    overflow-wrap: anywhere !important;
}

/* Homepage */
#landing_page.dse-hd-wrap .dse-hd-hero,
#content .dse-login-wrap .dse-login-hero,
#content .dse-open-ticket .dse-open-hero {
    background: var(--dse-entry-navy) !important;
    border: 1px solid #263956 !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(16, 32, 59, .16) !important;
}

#landing_page.dse-hd-wrap .dse-hd-hero {
    width: 100% !important;
    max-width: 1100px !important;
    margin-bottom: 24px !important;
    padding: clamp(34px, 5vw, 54px) clamp(22px, 6vw, 54px) !important;
}

#landing_page.dse-hd-wrap .dse-hd-hero h1 {
    max-width: 900px !important;
    margin: 0 auto 16px !important;
    font-size: clamp(34px, 5vw, 58px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

#landing_page.dse-hd-wrap .dse-hd-hero p {
    max-width: 760px !important;
    margin: 0 auto 24px !important;
    color: #dbeafe !important;
    font-size: clamp(16px, 2vw, 19px) !important;
    line-height: 1.6 !important;
}

#landing_page.dse-hd-wrap .dse-hd-grid {
    gap: 16px !important;
    margin-bottom: 24px !important;
}

#landing_page.dse-hd-wrap .dse-hd-grid > .dse-hd-card,
#landing_page.dse-hd-wrap .dse-hd-welcome,
#landing_page.dse-hd-wrap .dse-hd-search-panel,
#landing_page.dse-hd-wrap .dse-hd-featured,
#landing_page.dse-hd-wrap .dse-hd-kb-callout {
    background: var(--dse-entry-surface) !important;
    border: 1px solid var(--dse-entry-line) !important;
    border-radius: var(--dse-entry-radius) !important;
    box-shadow: 0 8px 22px rgba(16, 32, 59, .07) !important;
    color: var(--dse-entry-ink) !important;
}

#landing_page.dse-hd-wrap .dse-hd-grid > .dse-hd-card {
    min-height: 270px !important;
    padding: 24px !important;
}

#landing_page.dse-hd-wrap .dse-hd-card-icon {
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 16px !important;
    border: 1px solid #c6d7f8 !important;
    border-radius: 12px !important;
    background: var(--dse-entry-blue-soft) !important;
    color: var(--dse-entry-blue) !important;
    font-size: 17px !important;
}

#landing_page.dse-hd-wrap .dse-hd-card h2,
#landing_page.dse-hd-wrap .dse-hd-welcome .thread-body h1,
#landing_page.dse-hd-wrap .dse-hd-welcome .thread-body h2,
#landing_page.dse-hd-wrap .dse-hd-welcome .thread-body h3,
#landing_page.dse-hd-wrap .dse-hd-search-panel h2,
#landing_page.dse-hd-wrap .dse-hd-featured-head h2 {
    color: var(--dse-entry-ink) !important;
    letter-spacing: 0 !important;
}

#landing_page.dse-hd-wrap .dse-hd-card p,
#landing_page.dse-hd-wrap .dse-hd-welcome .thread-body,
#landing_page.dse-hd-wrap .dse-hd-search-panel p,
#landing_page.dse-hd-wrap .dse-hd-featured-head p {
    color: var(--dse-entry-muted) !important;
    line-height: 1.6 !important;
}

#landing_page.dse-hd-wrap .dse-hd-label,
#landing_page.dse-hd-wrap .dse-hd-kicker {
    color: var(--dse-entry-blue) !important;
    letter-spacing: .08em !important;
}

#landing_page.dse-hd-wrap .dse-hd-search-panel {
    padding: 26px !important;
}

#landing_page.dse-hd-wrap .dse-hd-search-form {
    max-width: 860px !important;
}

#landing_page.dse-hd-wrap .dse-hd-search-form input.search {
    min-height: 46px !important;
    border: 1px solid #cbd8e8 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    color: var(--dse-entry-ink) !important;
    font-size: 15px !important;
}

#landing_page.dse-hd-wrap .dse-hd-search-form .dse-hd-button,
#landing_page.dse-hd-wrap .dse-hd-button {
    min-height: 42px !important;
    padding: 10px 15px !important;
    border: 1px solid #b9cdf7 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: var(--dse-entry-blue) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    box-shadow: 0 7px 16px rgba(47, 100, 233, .18) !important;
}

#landing_page.dse-hd-wrap .dse-hd-button.secondary {
    border-color: var(--dse-entry-line) !important;
    background: var(--dse-entry-surface) !important;
    color: var(--dse-entry-ink) !important;
    box-shadow: none !important;
}

#landing_page.dse-hd-wrap .dse-hd-kb-callout {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 18px !important;
    padding: 22px 24px !important;
    background: var(--dse-entry-blue-soft) !important;
}

#landing_page.dse-hd-wrap .dse-hd-kb-icon {
    width: 54px !important;
    height: 54px !important;
    border: 1px solid #c6d7f8 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: var(--dse-entry-blue) !important;
}

#landing_page.dse-hd-wrap .dse-hd-kb-copy h2,
#landing_page.dse-hd-wrap .dse-hd-kb-copy p {
    color: var(--dse-entry-ink) !important;
}

#landing_page.dse-hd-wrap .dse-hd-featured {
    padding: 26px !important;
}

#landing_page.dse-hd-wrap .featured-category.front-page {
    background: var(--dse-entry-surface-soft) !important;
    border: 1px solid var(--dse-entry-line) !important;
    border-radius: 12px !important;
    color: var(--dse-entry-ink) !important;
}

#landing_page.dse-hd-wrap .category-name,
#landing_page.dse-hd-wrap .article-title a {
    color: var(--dse-entry-ink) !important;
}

#landing_page.dse-hd-wrap .article-headline {
    background: #ffffff !important;
    border: 1px solid var(--dse-entry-line) !important;
    border-radius: var(--dse-entry-radius-small) !important;
}

#landing_page.dse-hd-wrap .article-teaser {
    color: var(--dse-entry-muted) !important;
}

#landing_page.dse-hd-wrap .dse-hd-cta {
    padding: 34px 28px !important;
    background: var(--dse-entry-navy) !important;
    border: 1px solid #263956 !important;
    border-radius: 18px !important;
}

#landing_page.dse-hd-wrap .dse-hd-cta h2 {
    color: #ffffff !important;
}

#landing_page.dse-hd-wrap .dse-hd-cta p {
    color: #dbeafe !important;
}

/* Sign-in */
#content .dse-login-wrap .dse-login-hero {
    width: 100% !important;
    max-width: 1100px !important;
    margin-bottom: 24px !important;
    padding: clamp(32px, 5vw, 52px) clamp(22px, 6vw, 52px) !important;
}

#content .dse-login-wrap .dse-login-hero h1 {
    margin-bottom: 14px !important;
    font-size: clamp(34px, 5vw, 54px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

#content .dse-login-wrap .dse-login-hero p {
    max-width: 760px !important;
    color: #dbeafe !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

#content .dse-login-wrap .dse-login-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
    gap: 18px !important;
}

#content .dse-login-wrap .dse-login-panel,
#content .dse-login-wrap .dse-login-helper {
    background: var(--dse-entry-surface) !important;
    border: 1px solid var(--dse-entry-line) !important;
    border-radius: var(--dse-entry-radius) !important;
    box-shadow: 0 8px 22px rgba(16, 32, 59, .07) !important;
    color: var(--dse-entry-ink) !important;
}

#content .dse-login-wrap .dse-login-panel {
    padding: clamp(22px, 3vw, 32px) !important;
}

#content .dse-login-wrap .dse-login-helper {
    padding: 24px !important;
}

#content .dse-login-wrap .dse-login-panel-head {
    margin-bottom: 20px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid var(--dse-entry-line) !important;
}

#content .dse-login-wrap .dse-login-panel-head h2,
#content .dse-login-wrap .dse-login-helper h2 {
    color: var(--dse-entry-ink) !important;
    letter-spacing: 0 !important;
}

#content .dse-login-wrap .dse-login-panel-head p,
#content .dse-login-wrap .dse-login-helper p {
    color: var(--dse-entry-muted) !important;
    line-height: 1.6 !important;
}

#content .dse-login-wrap .dse-login-label {
    color: var(--dse-entry-blue) !important;
}

#content .dse-login-wrap .dse-login-field-head {
    gap: 10px !important;
}

#content .dse-login-wrap .dse-login-field label {
    color: #344762 !important;
}

#content .dse-login-wrap .dse-login-field-head a,
#content .dse-login-wrap .dse-login-form-footer a {
    color: var(--dse-entry-blue) !important;
}

#content .dse-login-wrap .dse-login-field input {
    min-height: 44px !important;
    border: 1px solid #cbd8e8 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: #ffffff !important;
    color: var(--dse-entry-ink) !important;
}

#content .dse-login-wrap .dse-login-submit input[type="submit"] {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid #b9cdf7 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: var(--dse-entry-blue) !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(47, 100, 233, .18) !important;
}

#content .dse-login-wrap .dse-login-form-footer span,
#content .dse-login-wrap .dse-login-external > span {
    color: var(--dse-entry-muted) !important;
}

#content .dse-login-wrap .dse-login-button {
    min-height: 42px !important;
    border: 1px solid #b9cdf7 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: var(--dse-entry-blue) !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    box-shadow: 0 7px 16px rgba(47, 100, 233, .18) !important;
}

#content .dse-login-wrap .dse-login-button.secondary {
    border-color: var(--dse-entry-line) !important;
    background: #ffffff !important;
    color: var(--dse-entry-ink) !important;
    box-shadow: none !important;
}

/* Ticket request / drop-in page */
#content .dse-open-ticket .dse-open-hero {
    padding: clamp(32px, 5vw, 50px) clamp(22px, 5vw, 48px) !important;
}

#content .dse-open-ticket .dse-open-hero h1 {
    max-width: 900px !important;
    margin: 0 auto 14px !important;
    font-size: clamp(34px, 5vw, 54px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
}

#content .dse-open-ticket .dse-open-hero p {
    max-width: 780px !important;
    color: #dbeafe !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
}

#content .dse-open-ticket .dse-open-grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px) !important;
    gap: 18px !important;
}

#content .dse-open-ticket .dse-open-form-card,
#content .dse-open-ticket .dse-open-help-card,
#content .dse-open-ticket .dse-open-success-card {
    background: var(--dse-entry-surface) !important;
    border: 1px solid var(--dse-entry-line) !important;
    border-radius: var(--dse-entry-radius) !important;
    box-shadow: 0 8px 22px rgba(16, 32, 59, .07) !important;
    color: var(--dse-entry-ink) !important;
}

#content .dse-open-ticket .dse-open-form-card {
    padding: clamp(20px, 3vw, 30px) !important;
}

#content .dse-open-ticket .dse-open-help-card,
#content .dse-open-ticket .dse-open-help-card.compact,
#content .dse-open-ticket .dse-open-success-card {
    padding: 24px !important;
    background: var(--dse-entry-surface) !important;
}

#content .dse-open-ticket .dse-open-form-head {
    margin-bottom: 18px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid var(--dse-entry-line) !important;
}

#content .dse-open-ticket .dse-open-form-head h2,
#content .dse-open-ticket .dse-open-help-card h2,
#content .dse-open-ticket .dse-open-success-card h1,
#content .dse-open-ticket .dse-open-success-card h2,
#content .dse-open-ticket .dse-open-success-card h3 {
    color: var(--dse-entry-ink) !important;
    letter-spacing: 0 !important;
}

#content .dse-open-ticket .dse-open-form-head p,
#content .dse-open-ticket .dse-open-help-card p,
#content .dse-open-ticket .dse-open-success-card p,
#content .dse-open-ticket .dse-open-success-card li {
    color: var(--dse-entry-muted) !important;
    line-height: 1.6 !important;
}

#content .dse-open-ticket .dse-open-label {
    color: var(--dse-entry-blue) !important;
}

#content .dse-open-ticket .dse-open-help-list {
    gap: 8px !important;
}

#content .dse-open-ticket .dse-open-help-list li {
    padding: 12px 13px !important;
    border: 1px solid var(--dse-entry-line) !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: var(--dse-entry-surface-soft) !important;
    color: var(--dse-entry-muted) !important;
}

#content .dse-open-ticket #ticketForm {
    color: var(--dse-entry-ink) !important;
}

#content .dse-open-ticket #ticketForm table,
#content .dse-open-ticket #ticketForm .dse-open-form-table {
    border-spacing: 0 10px !important;
}

#content .dse-open-ticket #ticketForm th,
#content .dse-open-ticket #ticketForm td,
#content .dse-open-ticket #ticketForm td:first-child {
    color: var(--dse-entry-ink) !important;
}

#content .dse-open-ticket #ticketForm th,
#content .dse-open-ticket #ticketForm td:first-child {
    font-weight: 800 !important;
}

#content .dse-open-ticket #ticketForm .dse-open-section-title {
    padding: 13px 15px !important;
    border: 1px solid #cbd8e8 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: var(--dse-entry-blue-soft) !important;
}

#content .dse-open-ticket #ticketForm .dse-open-section-title span {
    color: var(--dse-entry-blue) !important;
}

#content .dse-open-ticket #ticketForm .dse-open-section-title strong {
    color: var(--dse-entry-ink) !important;
}

#content .dse-open-ticket #ticketForm input[type="text"],
#content .dse-open-ticket #ticketForm input[type="email"],
#content .dse-open-ticket #ticketForm input[type="tel"],
#content .dse-open-ticket #ticketForm input[type="password"],
#content .dse-open-ticket #ticketForm input[type="file"],
#content .dse-open-ticket #ticketForm select,
#content .dse-open-ticket #ticketForm textarea {
    min-height: 44px !important;
    border: 1px solid #cbd8e8 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: #ffffff !important;
    color: var(--dse-entry-ink) !important;
    font-size: 14px !important;
}

#content .dse-open-ticket #ticketForm textarea {
    min-height: 170px !important;
}

#content .dse-open-ticket #ticketForm .redactor-box {
    overflow: hidden !important;
    border: 1px solid #cbd8e8 !important;
    border-radius: var(--dse-entry-radius-small) !important;
}

#content .dse-open-ticket #ticketForm .redactor-toolbar {
    min-height: 42px !important;
    padding: 6px !important;
    background: var(--dse-entry-navy) !important;
    border: 0 !important;
}

#content .dse-open-ticket #ticketForm .redactor-editor {
    min-height: 180px !important;
    padding: 14px !important;
    background: #ffffff !important;
    color: var(--dse-entry-ink) !important;
}

#content .dse-open-ticket #ticketForm .filedrop {
    min-height: 56px !important;
    padding: 13px !important;
    border: 1px dashed #aebed3 !important;
    border-radius: var(--dse-entry-radius-small) !important;
    background: var(--dse-entry-surface-soft) !important;
    color: var(--dse-entry-muted) !important;
}

#content .dse-open-ticket #ticketForm .dse-open-form-actions {
    gap: 10px !important;
    border-top-color: var(--dse-entry-line) !important;
}

#content .dse-open-ticket #ticketForm input[type="submit"],
#content .dse-open-ticket #ticketForm input[type="reset"],
#content .dse-open-ticket #ticketForm input[type="button"],
#content .dse-open-ticket #ticketForm button {
    min-height: 42px !important;
    border-radius: var(--dse-entry-radius-small) !important;
    font-size: 14px !important;
}

#content .dse-open-ticket #ticketForm input[type="submit"] {
    background: var(--dse-entry-blue) !important;
    border-color: #b9cdf7 !important;
}

#content .dse-open-ticket #ticketForm input[type="reset"],
#content .dse-open-ticket #ticketForm input[type="button"],
#content .dse-open-ticket #ticketForm button {
    border: 1px solid var(--dse-entry-line) !important;
    background: #ffffff !important;
    color: var(--dse-entry-ink) !important;
}

@media (max-width: 980px) {
    #content .dse-login-wrap .dse-login-grid,
    #content .dse-open-ticket .dse-open-grid {
        grid-template-columns: 1fr !important;
    }

    #content .dse-login-wrap aside,
    #content .dse-open-ticket .dse-open-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    #content .dse-hd-wrap,
    #content .dse-login-wrap,
    #content .dse-open-ticket {
        padding: 20px 14px 56px !important;
    }

    #landing_page.dse-hd-wrap .dse-hd-grid,
    #landing_page.dse-hd-wrap .dse-hd-kb-grid {
        grid-template-columns: 1fr !important;
    }

    #landing_page.dse-hd-wrap .dse-hd-kb-callout {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        text-align: left !important;
    }

    #landing_page.dse-hd-wrap .dse-hd-grid > .dse-hd-card {
        min-height: 0 !important;
    }

    #landing_page.dse-hd-wrap .dse-hd-actions,
    #content .dse-login-wrap .dse-login-actions,
    #content .dse-open-ticket .dse-open-hero-actions,
    #content .dse-open-ticket .dse-open-success-actions,
    #content .dse-open-ticket .dse-open-side-actions,
    #content .dse-open-ticket #ticketForm .dse-open-form-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    #landing_page.dse-hd-wrap .dse-hd-button,
    #content .dse-login-wrap .dse-login-button,
    #content .dse-open-ticket .dse-open-button,
    #content .dse-open-ticket #ticketForm input[type="submit"],
    #content .dse-open-ticket #ticketForm input[type="reset"],
    #content .dse-open-ticket #ticketForm input[type="button"],
    #content .dse-open-ticket #ticketForm button {
        width: 100% !important;
    }

    #content .dse-login-wrap aside,
    #content .dse-open-ticket .dse-open-sidebar {
        grid-template-columns: 1fr !important;
    }

    #content .dse-open-ticket #ticketForm table,
    #content .dse-open-ticket #ticketForm .dse-open-form-table,
    #content .dse-open-ticket #ticketForm tbody,
    #content .dse-open-ticket #ticketForm tr,
    #content .dse-open-ticket #ticketForm th,
    #content .dse-open-ticket #ticketForm td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    #content .dse-open-ticket #ticketForm th,
    #content .dse-open-ticket #ticketForm td:first-child {
        padding-right: 0 !important;
        margin-bottom: 5px !important;
    }

    #content .dse-open-ticket .dse-open-form-card,
    #content .dse-open-ticket .dse-open-help-card,
    #content .dse-open-ticket .dse-open-success-card,
    #content .dse-login-wrap .dse-login-panel,
    #content .dse-login-wrap .dse-login-helper {
        border-radius: 12px !important;
    }
}

@media (max-width: 420px) {
    #landing_page.dse-hd-wrap .dse-hd-search-form {
        grid-template-columns: 1fr !important;
    }

    #content .dse-login-wrap .dse-login-panel,
    #content .dse-login-wrap .dse-login-helper,
    #content .dse-open-ticket .dse-open-form-card,
    #content .dse-open-ticket .dse-open-help-card,
    #content .dse-open-ticket .dse-open-success-card {
        padding: 18px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #landing_page.dse-hd-wrap *,
    #content .dse-login-wrap *,
    #content .dse-open-ticket * {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}
