﻿.portal-navbar {
    transition: background-color .2s ease, box-shadow .2s ease;
    min-height: 76px;
    z-index: 1040;
}

:root {
    --portal-brand: var(--bs-primary);
    --portal-brand-hover: var(--app-nav-link-hover-color);
    --portal-brand-strong: var(--primary-700, var(--bs-primary));
    --portal-nav-bg: var(--app-nav-background);
    --portal-nav-bg-soft: var(--app-drawer-background);
    --portal-brand-soft: rgba(var(--bs-primary-rgb), .09);
    --portal-brand-subtle: rgba(var(--bs-primary-rgb), .14);
    --portal-ink: var(--bs-body-color);
    --portal-muted: var(--bs-secondary-color);
    --portal-surface: var(--bs-body-bg);
    --portal-section: var(--bs-tertiary-bg);
    --portal-dark-surface: var(--app-panel-bg);
    --portal-dark-section: var(--app-content-background);
    --portal-border-subtle: var(--bs-border-color-translucent);
    --portal-shadow-color: rgba(var(--bs-body-color-rgb), .12);
    --portal-shadow-soft: rgba(var(--bs-body-color-rgb), .06);
    --portal-on-dark: var(--bs-light);
    --portal-muted-on-dark: rgba(var(--bs-light-rgb), .75);
    --portal-overlay-dark: rgba(var(--bs-dark-rgb), .34);
    --portal-overlay-light: rgba(var(--bs-light-rgb), .9);
}

.portal-loader {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(var(--bs-dark-rgb), .34);
    backdrop-filter: blur(8px);
    opacity: 1;
    visibility: visible;
    transition: opacity .18s ease, visibility .18s ease;
}

.portal-loader.loader-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.portal-loader-content {
    display: grid;
    justify-items: center;
    gap: .55rem;
    width: min(20rem, calc(100vw - 2rem));
    padding: 1.35rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1.25rem;
    background: var(--portal-surface);
    color: var(--portal-ink);
    text-align: center;
    box-shadow: 0 1.5rem 4rem rgba(var(--bs-dark-rgb), .22);
}

.portal-loader-logo {
    width: 2.4rem;
    height: 2.4rem;
    animation: portal-loader-spin 1s linear infinite;
}

.portal-loader-content strong {
    color: var(--portal-ink);
    font-size: 1rem;
    font-weight: 700;
}

.portal-loader-content span {
    color: var(--portal-muted);
    font-size: .9rem;
}

.portal-loader .loader-progress {
    width: 100%;
    height: .35rem;
    margin-top: .35rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .18);
}

.portal-loader .loader-bar {
    width: 44%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--portal-brand), var(--portal-brand-hover));
    animation: portal-loader-bar 1.1s ease-in-out infinite;
}

body.portal-is-loading {
    cursor: progress;
}

body.dark-theme .portal-loader-content {
    border-color: rgba(var(--bs-light-rgb), .1);
    background: var(--portal-dark-surface);
    color: var(--bs-body-color);
}

body.dark-theme .portal-loader-content strong {
    color: var(--bs-body-color);
}

body.dark-theme .portal-loader-content span {
    color: var(--bs-secondary-color);
}

@keyframes portal-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes portal-loader-bar {
    0% {
        transform: translateX(-120%);
    }

    50% {
        transform: translateX(50%);
    }

    100% {
        transform: translateX(240%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-loader,
    .portal-loader-logo,
    .portal-loader .loader-bar {
        animation: none !important;
        transition: none !important;
    }
}

.portal-topbar {
    background: var(--portal-dark-surface);
    color: var(--bs-light);
    position: relative;
    z-index: 1400;
    overflow: visible;
}

.app-landing .portal-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1060;
    background: rgba(var(--bs-dark-rgb), .9);
    backdrop-filter: blur(14px);
    border-color: rgba(var(--bs-light-rgb), .12) !important;
}

.portal-topbar .language {
    list-style: none;
    padding-left: 0;
}

.portal-topbar .language a,
.portal-topbar .language-link {
    text-decoration: none;
    font-weight: 500;
}



.portal-theme-switch {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    color: inherit;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    cursor: pointer;
    user-select: none;
}

.portal-theme-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.portal-theme-slider {
    width: 2.5rem;
    height: 1.35rem;
    position: relative;
    border-radius: 999px;
    background: rgba(var(--bs-light-rgb), .28);
    border: 1px solid rgba(var(--bs-light-rgb), .35);
    transition: background-color .2s ease;
}

.portal-theme-slider::after {
    content: "";
    width: .95rem;
    height: .95rem;
    position: absolute;
    top: .14rem;
    left: .18rem;
    border-radius: 50%;
    background: var(--bs-light);
    box-shadow: 0 .2rem .45rem rgba(var(--bs-dark-rgb), .25);
    transition: transform .2s ease;
}

.portal-theme-switch input:checked + .portal-theme-slider {
    background: var(--portal-brand);
}

.portal-theme-switch[aria-pressed="true"] .portal-theme-slider {
    background: var(--portal-brand);
}

.portal-theme-switch input:checked + .portal-theme-slider::after {
    transform: translateX(1.08rem);
}

.portal-theme-switch[aria-pressed="true"] .portal-theme-slider::after {
    transform: translateX(1.08rem);
}

.portal-theme-label {
    color: rgba(var(--bs-light-rgb), .9);
    font-weight: 500;
}

.portal-navbar .portal-logo {
    max-height: 42px;
    width: auto;
}

.app-landing .portal-navbar {
    top: 38px;
    background: rgba(var(--bs-dark-rgb), .74);
    backdrop-filter: blur(14px);
    box-shadow: 0 .75rem 2rem rgba(var(--bs-dark-rgb), .12);
}

.portal-public .portal-navbar {
    top: 38px;
    background: rgba(var(--bs-dark-rgb), .74) !important;
    border-bottom: 1px solid rgba(var(--bs-light-rgb), .12) !important;
    backdrop-filter: blur(14px);
    box-shadow: 0 .75rem 2rem rgba(var(--bs-dark-rgb), .12) !important;
}

.portal-navbar .navbar-nav > .nav-item > .nav-link {
    padding: .875rem .9rem;
    font-weight: 500;
    color: var(--portal-ink);
    text-transform: none;
    letter-spacing: 0;
}

.app-landing .portal-navbar .navbar-nav > .nav-item > .nav-link {
    color: rgba(var(--bs-light-rgb), .92);
}

.portal-public .portal-navbar .navbar-nav > .nav-item > .nav-link {
    color: rgba(var(--bs-light-rgb), .92);
}

.portal-navbar .navbar-nav > .nav-item > .nav-link span {
    font-weight: 500;
    text-transform: none;
}

.portal-navbar .navbar-nav > .nav-item:hover > .nav-link,
.portal-navbar .navbar-nav > .nav-item > .nav-link:focus {
    color: var(--portal-brand);
}

.portal-navbar .dropdown-mega .dropdown-menu {
    top: 100%;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(1040px, calc(100vw - 2rem));
    margin-top: .25rem;
    border: 0;
    border-radius: .9rem;
    box-shadow: 0 1.25rem 2.75rem rgba(var(--bs-dark-rgb), .16);
    overflow: hidden;
}

.portal-navbar .mega-content {
    background: var(--portal-surface);
}

.portal-navbar .img-megamenu {
    width: 100%;
    max-height: 190px;
    object-fit: cover;
    border-radius: .5rem;
}

.portal-navbar .dropdown-menu h2,
.portal-navbar .dropdown-menu h3 {
    color: var(--portal-ink);
    font-weight: 600;
    letter-spacing: -.02em;
}

.portal-navbar .dropdown-menu h3 span {
    color: var(--portal-brand);
}

.portal-navbar .dropdown-menu .discount-price {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: .15rem;
    padding: .5rem 1rem;
    border-radius: 999px;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
}

.portal-navbar .dropdown-menu .discount-price .amount {
    font-size: 1.85rem;
    line-height: 1;
    font-weight: 600;
}

.portal-navbar .dropdown-menu .discount-price .percent,
.portal-navbar .dropdown-menu .discount-price .off {
    font-weight: 500;
}

.portal-navbar .dropdown-menu .list-group-item {
    border: 0;
    border-radius: .5rem;
    margin-bottom: .35rem;
    background: var(--portal-section);
    color: var(--bs-body-color);
    font-weight: 500;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.portal-navbar .dropdown-menu .list-group-item:hover {
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    transform: translateX(3px);
}

.portal-footer-logo {
    max-height: 42px;
    width: auto;
}

.portal-public-shell .content-wrapper,
.portal-landing-shell .content-wrapper {
    padding: 0;
}

.portal-public .portal-public-shell {
    padding-top: 9.25rem;
}

.app-landing .portal-public-shell,
.app-landing .portal-landing-shell {
    padding-top: 0;
}

.portal-marketplace-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 0;
    border-radius: .75rem;
    padding: 0;
    overflow: hidden;
    background: var(--portal-surface);
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.portal-marketplace-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 1.25rem 2.75rem rgba(var(--bs-dark-rgb), .14);
}

.portal-marketplace-icon {
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .75rem;
}

.portal-marketplace-icon i {
    width: 1.35rem;
    min-width: 1.35rem;
    font-size: 1.35rem;
    line-height: 1;
    text-align: center;
}

.portal-card-header,
.portal-card-body,
.portal-card-footer {
    padding: 1.5rem;
}

.portal-card-header {
    min-height: 9.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    border-bottom: 1px solid var(--bs-secondary-bg);
}

.portal-card-body {
    flex: 1 1 auto;
    min-height: 8rem;
}

.portal-card-footer {
    padding-top: 0;
}

.portal-hero-carousel {
    background: var(--portal-dark-surface);
}

.features-section,
.faq-section {
    background: var(--portal-surface);
}

.demo-section,
.journey-section,
.testimonial-section,
.contact-section {
    background: var(--portal-section);
}

.portal-hero-slide {
    min-height: 620px;
    display: flex !important;
    align-items: center;
    position: relative;
    background-position: center;
    background-size: cover;
}

.portal-hero-slide::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(var(--bs-dark-rgb), .88), rgba(var(--bs-dark-rgb), .56) 48%, rgba(var(--bs-dark-rgb), .22));
}

.portal-hero-slide .container {
    position: relative;
    z-index: 1;
    padding-top: 10rem;
    padding-bottom: 5rem;
}

.portal-hero-content {
    max-width: 690px;
    color: var(--bs-light);
}

.portal-hero-content .display-4,
.portal-hero-content .lead {
    color: var(--bs-light);
}

.portal-hero-kicker {
    color: var(--primary-50, var(--bs-primary-text-emphasis)) !important;
    text-shadow: 0 .08rem .4rem rgba(var(--bs-dark-rgb), .45);
}

.portal-landing-slider .slick-dots {
    bottom: 1.5rem;
}

.portal-landing-slider .slick-dots li button:before {
    color: var(--bs-light);
    opacity: .65;
}

.portal-landing-slider .slick-dots li.slick-active button:before {
    color: var(--bs-light);
    opacity: 1;
}

.portal-landing-slider .slick-prev,
.portal-landing-slider .slick-next {
    z-index: 2;
    width: 3rem;
    height: 3rem;
}

.portal-landing-slider .slick-prev {
    left: 1.5rem;
}

.portal-landing-slider .slick-next {
    right: 1.5rem;
}

.portal-footer .footer-links {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.portal-footer .footer-links li {
    margin-bottom: .625rem;
}

.portal-footer .footer-links a {
    color: var(--bs-secondary-color);
    text-decoration: none;
    transition: color .18s ease;
}

.portal-footer .footer-links a:hover {
    color: var(--bs-primary, var(--bs-primary));
}

.portal-testimonial-slider {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}

.portal-testimonial-slider .slick-track {
    display: flex !important;
}

.portal-testimonial-slider .slick-slide {
    height: auto;
}

.portal-testimonial-slider .slick-slide > div,
.portal-testimonial-slide {
    height: 100%;
}

.portal-testimonial-slide {
    padding: 0 .75rem;
    display: flex !important;
}

.portal-testimonial-card {
    height: 100%;
    min-height: 320px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.75rem;
    border-radius: .85rem;
    background: var(--portal-surface);
    box-shadow: 0 1rem 2.5rem rgba(var(--bs-dark-rgb), .09);
}

.portal-testimonial-card p {
    color: var(--bs-secondary-color);
    line-height: 1.65;
    flex: 1 1 auto;
}

.portal-stars {
    color: var(--bs-warning);
    letter-spacing: .1rem;
    margin-bottom: 1rem;
}

.portal-testimonial-author {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-top: 1.25rem;
}

.portal-testimonial-author img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
}

.portal-testimonial-author span {
    display: block;
    color: var(--bs-secondary-color);
    font-size: .85rem;
}

.portal-footer {
    background: var(--portal-section);
}

.portal-footer h6 {
    color: var(--portal-ink);
}

.portal-footer-bottom {
    border-top: 0;
}

@media (max-width: 767.98px) {
    .portal-footer {
        text-align: center;
    }

    .portal-footer .row.g-4 {
        row-gap: 2rem !important;
    }

    .portal-footer .footer-links {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: .25rem;
    }

    .portal-footer .footer-links li {
        margin-bottom: 0;
    }

    .portal-footer .footer-links a {
        display: inline-flex;
        justify-content: center;
        padding: .25rem .5rem;
        line-height: 1.35;
    }

    .portal-footer .portal-footer-bottom > [class*="col-"] {
        text-align: center !important;
    }
}

@media (max-width: 575.98px) {
    .portal-footer .row.g-4 > [class*="col-"] {
        width: 100%;
    }
}

.portal-app .app-content .content-wrapper {
    min-height: calc(100vh - 8rem);
}

.dark-theme .portal-navbar,
.dark-theme .portal-footer,
.dark-theme .portal-marketplace-card,
.dark-theme .portal-testimonial-card {
    background: var(--portal-dark-surface);
    color: var(--bs-body-color);
}

.dark-theme .features-section,
.dark-theme .faq-section,
.dark-theme .portal-navbar .mega-content,
.dark-theme .portal-navbar .dropdown-menu {
    background: var(--portal-dark-surface);
}

.dark-theme .demo-section,
.dark-theme .journey-section,
.dark-theme .testimonial-section,
.dark-theme .contact-section {
    background: var(--portal-dark-section);
}

.dark-theme .portal-navbar .navbar-nav > .nav-item > .nav-link,
.dark-theme .portal-footer .footer-links a,
.dark-theme .portal-marketplace-card h3,
.dark-theme .portal-testimonial-card strong,
.dark-theme .portal-navbar .dropdown-menu h2,
.dark-theme .portal-navbar .dropdown-menu h3,
.dark-theme .accordion-button {
    color: var(--bs-body-color);
}

.dark-theme .portal-marketplace-card .text-muted,
.dark-theme .portal-testimonial-card p,
.dark-theme .portal-testimonial-author span,
.dark-theme .portal-footer .text-muted {
    color: var(--bs-secondary-color) !important;
}

.dark-theme .portal-navbar .dropdown-menu .list-group-item,
.dark-theme .accordion-item,
.dark-theme .accordion-button {
    background: rgba(var(--bs-light-rgb), .045);
    color: var(--bs-secondary-color);
}

.dark-theme .portal-navbar .dropdown-menu .list-group-item:hover {
    background: var(--portal-brand-subtle);
    color: var(--portal-brand);
}

.dark-theme .btn-outline-dark {
    color: var(--bs-body-color);
    border-color: rgba(var(--bs-light-rgb), .45);
}

.dark-theme .btn-link.text-dark {
    color: var(--bs-body-color) !important;
}

.dark-theme .btn-outline-dark:hover {
    background: rgba(var(--bs-light-rgb), .08);
    border-color: rgba(var(--bs-light-rgb), .65);
}

.dark-theme .portal-card-header {
    border-bottom-color: rgba(var(--bs-light-rgb), .08);
}

@media (max-width: 991.98px) {
    .app-landing .portal-navbar,
    .portal-navbar {
        top: 0;
        background: var(--bs-light);
    }

    .app-landing .portal-topbar {
        position: static;
    }

    .app-landing .portal-navbar .navbar-nav > .nav-item > .nav-link {
        color: var(--bs-body-color);
    }

    .portal-navbar .dropdown-mega .dropdown-menu {
        width: 100%;
        transform: none;
        left: auto;
        box-shadow: none;
        border-radius: .5rem;
    }

    .dark-theme.app-landing .portal-navbar,
    .dark-theme .portal-navbar {
        background: var(--portal-dark-surface);
    }

    .dark-theme.app-landing .portal-navbar .navbar-nav > .nav-item > .nav-link {
        color: var(--bs-body-color);
    }

    .portal-hero-slide {
        min-height: 560px;
    }
}

/* Portal refinement overrides */
.portal-navbar .container {
    padding-left: 1rem;
    padding-right: 1rem;
}

.portal-navbar .navbar-toggler {
    border: 1px solid rgba(var(--bs-secondary-rgb), .45);
    border-radius: .75rem;
    padding: .55rem .7rem;
    box-shadow: none;
}

.portal-navbar .navbar-toggler:focus {
    box-shadow: 0 0 0 .2rem var(--portal-brand-subtle);
}

.portal-navbar .dropdown-mega .dropdown-menu {
    color: var(--portal-ink);
}

.portal-navbar .mega-content {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.portal-navbar .dropdown-menu h2,
.portal-navbar .dropdown-menu h3 {
    font-weight: 500;
    line-height: 1.2;
}

.portal-navbar .dropdown-menu h2 {
    font-size: 1.45rem;
}

.portal-navbar .dropdown-menu h3 {
    font-size: 1.2rem;
}

.portal-navbar .dropdown-menu p,
.portal-navbar .dropdown-menu .link {
    color: var(--portal-muted);
    font-size: .95rem;
    font-weight: 400;
}

.portal-navbar .dropdown-menu .discount-price {
    align-items: center;
    gap: .2rem;
    min-width: 6.5rem;
    line-height: 1;
    vertical-align: middle;
}

.portal-navbar .dropdown-menu .discount-price .amount {
    font-size: 1.65rem;
}

.portal-navbar .dropdown-menu .discount-price .percent,
.portal-navbar .dropdown-menu .discount-price .off {
    line-height: 1;
}

.portal-navbar .dropdown-menu .discount-price .off {
    align-self: center;
    font-size: .78rem;
    margin-left: .05rem;
}

.features-section,
.faq-section {
    background: var(--bs-tertiary-bg);
}

.portal-marketplace-card,
.portal-testimonial-card {
    background: linear-gradient(180deg, var(--bs-light) 0%, var(--bs-body-bg) 100%);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .1);
}

.testimonial-section {
    padding-bottom: 5rem;
}

.portal-stars {
    min-height: 1.25rem;
    font-size: 0;
}

.portal-stars::before {
    content: "\f005\f005\f005\f005\f005";
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome, sans-serif;
    font-size: .95rem;
    font-weight: 900;
    letter-spacing: .18rem;
}

.portal-account .portal-public-shell {
    background:
        radial-gradient(circle at top left, var(--portal-brand-soft), transparent 34rem),
        linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-secondary-bg) 100%);
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.portal-account .process.login,
.portal-account .blankpage-form-field,
.portal-account .hero-section,
.portal-account .body-content,
.portal-account .container-fluid {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto;
}

.portal-account .process.login .head {
    align-items: center;
    min-height: 58vh;
    gap: 2rem 0;
}

.portal-account .process.login .left h1,
.portal-account .hero-section h1,
.portal-account .hero-section h2 {
    color: var(--portal-ink);
    font-weight: 600;
    letter-spacing: -.035em;
}

.portal-account .process.login .left h3,
.portal-account .hero-section p,
.portal-account .card .text-muted,
.portal-account .login-card .text-muted {
    color: var(--portal-muted) !important;
}

.portal-account .card,
.portal-account .login-card,
.portal-account .panel {
    border: 1px solid rgba(var(--bs-secondary-rgb), .2);
    border-radius: 1rem !important;
    background: rgba(var(--bs-light-rgb), .94) !important;
    color: var(--portal-ink);
    box-shadow: 0 1.25rem 3rem rgba(var(--bs-dark-rgb), .12);
    overflow: hidden;
}

.portal-account .card-header,
.portal-account .panel-hdr {
    background: rgba(var(--bs-light-rgb), .9);
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .2);
    color: var(--portal-ink);
    font-weight: 500;
}

.portal-account .form-label,
.portal-account .form-check-label {
    color: var(--portal-ink);
    font-weight: 500;
}

.portal-account .form-control,
.portal-account .form-select {
    border-radius: .7rem;
    border-color: rgba(var(--bs-secondary-rgb), .45);
    background: var(--bs-light) !important;
    color: var(--portal-ink) !important;
    min-height: 2.75rem;
}

.portal-account .form-control:focus,
.portal-account .form-select:focus {
    border-color: var(--portal-brand);
    box-shadow: 0 0 0 .2rem var(--portal-brand-soft);
}

.portal-account .page-logo,
.portal-account .iblogo,
.portal-account .hero-section #net {
    display: none !important;
}

.portal-account .login-card.translucent-dark {
    backdrop-filter: none;
}

.portal-account .modal-content {
    border-radius: 1rem;
    border: 0;
}

.dark-theme .portal-marketplace-card,
.dark-theme .portal-testimonial-card {
    border-color: rgba(var(--bs-light-rgb), .08);
}

.dark-theme.portal-account .portal-public-shell {
    background:
        radial-gradient(circle at top left, var(--portal-brand-subtle), transparent 32rem),
        linear-gradient(180deg, var(--portal-dark-section) 0%, var(--portal-dark-surface) 100%);
}

.dark-theme.portal-account .card,
.dark-theme.portal-account .login-card,
.dark-theme.portal-account .panel {
    background: rgba(var(--bs-dark-rgb), .96) !important;
    border-color: rgba(var(--bs-light-rgb), .08);
    color: var(--bs-body-color);
}

.dark-theme.portal-account .card-header,
.dark-theme.portal-account .panel-hdr {
    background: rgba(var(--bs-light-rgb), .045);
    border-bottom-color: rgba(var(--bs-light-rgb), .08);
    color: var(--bs-body-color);
}

.dark-theme.portal-account .process.login .left h1,
.dark-theme.portal-account .hero-section h1,
.dark-theme.portal-account .hero-section h2,
.dark-theme.portal-account .form-label,
.dark-theme.portal-account .form-check-label {
    color: var(--bs-body-color);
}

.dark-theme.portal-account .process.login .left h3,
.dark-theme.portal-account .hero-section p,
.dark-theme.portal-account .card .text-muted,
.dark-theme.portal-account .login-card .text-muted {
    color: var(--bs-secondary-color) !important;
}

.dark-theme.portal-account .form-control,
.dark-theme.portal-account .form-select {
    background: rgba(var(--bs-light-rgb), .06) !important;
    border-color: rgba(var(--bs-light-rgb), .14);
    color: var(--bs-body-color) !important;
}

@media (max-width: 991.98px) {
    .portal-topbar .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .portal-topbar-phone {
        display: none !important;
    }

    .portal-topbar .d-flex.flex-wrap.justify-content-between {
        align-items: center !important;
        gap: .75rem !important;
    }

    .portal-topbar .d-flex.align-items-center.flex-wrap.gap-3.ms-auto {
        justify-content: flex-end;
        gap: .75rem !important;
    }

    .portal-theme-switch {
        min-height: 2rem;
        padding: .2rem .35rem;
        border-radius: 999px;
        line-height: 1;
    }

    .portal-theme-label {
        display: inline-block !important;
        font-size: .82rem;
        white-space: nowrap;
    }

    .portal-navbar {
        min-height: 64px;
        padding-top: .65rem !important;
        padding-bottom: .65rem !important;
    }

    .portal-navbar .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2831, 41, 55, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    .portal-navbar .navbar-brand {
        margin-left: 0;
        padding-left: .15rem;
    }

    .portal-navbar .portal-logo {
        max-height: 36px;
    }

    .portal-navbar .navbar-collapse {
        margin-top: .75rem;
        padding: .75rem;
        border-radius: .9rem;
        background: var(--bs-light);
        box-shadow: 0 1rem 2rem rgba(var(--bs-dark-rgb), .12);
    }

    .portal-navbar .navbar-nav {
        align-items: stretch !important;
    }

    .portal-navbar .navbar-nav > .nav-item > .nav-link,
    .app-landing .portal-navbar .navbar-nav > .nav-item > .nav-link {
        color: var(--bs-body-color);
        padding: .75rem .5rem;
    }

    .portal-navbar .dropdown-mega .dropdown-menu {
        position: static !important;
        margin-top: .25rem;
    }

    .portal-navbar .mega-content {
        padding: .75rem !important;
    }

    .portal-navbar .dropdown-menu .row > [class*="col-"] {
        padding-top: .75rem !important;
        padding-bottom: .75rem !important;
    }

    .portal-navbar .img-megamenu {
        max-height: 130px;
    }

    .portal-navbar .dropdown-menu .discount-price {
        margin-top: .5rem !important;
        margin-bottom: .75rem !important;
    }

    .portal-account .process.login,
    .portal-account .blankpage-form-field,
    .portal-account .hero-section,
    .portal-account .body-content,
    .portal-account .container-fluid {
        width: min(100% - 1rem, 720px);
    }

    .portal-account .process.login .head {
        min-height: auto;
    }

    .portal-account .process.login .left {
        text-align: center;
    }

    .testimonial-section {
        padding-bottom: 4rem;
    }

    .dark-theme .portal-navbar .navbar-collapse {
        background: var(--portal-dark-surface);
        box-shadow: 0 1rem 2rem rgba(var(--bs-dark-rgb), .28);
    }

    .dark-theme .portal-navbar .navbar-nav > .nav-item > .nav-link,
    .dark-theme.app-landing .portal-navbar .navbar-nav > .nav-item > .nav-link {
        color: var(--bs-body-color);
    }

    .dark-theme .portal-navbar .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28229, 231, 235, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }
}

@media (max-width: 767.98px) {
    .portal-hero-slide {
        min-height: 560px;
        background-position: center top;
    }

    .portal-hero-slide::before {
        background: linear-gradient(180deg, rgba(var(--bs-dark-rgb), .9), rgba(var(--bs-dark-rgb), .72) 58%, rgba(var(--bs-dark-rgb), .62));
    }

    .portal-hero-slide .container {
        padding-top: 4rem;
        padding-bottom: 5.25rem;
    }

    .portal-hero-content {
        max-width: 100%;
        text-align: center;
    }

    .portal-hero-content .display-4 {
        font-size: clamp(2rem, 9vw, 2.75rem);
        line-height: 1.08;
    }

    .portal-hero-content .lead {
        font-size: 1rem;
        line-height: 1.55;
    }

    .portal-hero-content .d-flex {
        justify-content: center;
    }

    .portal-hero-content .btn {
        width: min(100%, 18rem);
    }

    .portal-landing-slider .slick-prev,
    .portal-landing-slider .slick-next {
        display: none !important;
    }

    .portal-landing-slider .slick-dots {
        bottom: 1rem;
    }
}

@media (max-width: 575.98px) {
    .portal-topbar .container > .d-flex {
        justify-content: center !important;
    }

    .portal-topbar .d-flex.align-items-center.flex-wrap.gap-3.ms-auto {
        width: 100%;
        justify-content: center;
        margin-left: 0 !important;
    }

    .portal-theme-switch {
        justify-content: center;
    }

    .portal-app-header .portal-theme-switch {
        flex: 0 0 auto;
        margin-left: auto;
    }

    .portal-hero-slide {
        min-height: 600px;
    }
}

/* Login and inner-page unification */
.portal-public .portal-public-shell {
    background:
        radial-gradient(circle at top left, var(--portal-brand-soft), transparent 34rem),
        radial-gradient(circle at bottom right, rgba(var(--bs-info-rgb), .08), transparent 28rem),
        linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-secondary-bg) 100%);
}

.portal-login-page {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
}

.portal-login-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
    gap: 2rem;
    align-items: center;
    min-height: 64vh;
}

.portal-login-intro {
    position: relative;
    padding: 2rem 0;
}

.portal-login-intro h1 {
    max-width: 680px;
    margin-bottom: 1rem;
    color: var(--portal-ink);
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 650;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.portal-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .85rem;
    color: var(--bs-primary-text-emphasis);
    font-size: .78rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portal-login-lead {
    max-width: 640px;
    color: var(--portal-muted);
    font-size: 1.12rem;
    line-height: 1.75;
}

.portal-login-benefits {
    display: grid;
    gap: .9rem;
    margin-top: 2rem;
}

.portal-login-benefit {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    max-width: 680px;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: rgba(var(--bs-light-rgb), .72);
    box-shadow: 0 .75rem 1.75rem rgba(var(--bs-dark-rgb), .06);
}

.portal-login-benefit > span {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .9rem;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1.15rem;
}

.portal-login-benefit strong {
    display: block;
    margin-bottom: .25rem;
    color: var(--portal-ink);
    font-weight: 600;
}

.portal-login-benefit p {
    margin: 0;
    color: var(--portal-muted);
    line-height: 1.55;
}

.portal-login-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.25rem;
}

.portal-login-metrics div {
    min-width: 7rem;
    padding: .85rem 1rem;
    border-radius: 1rem;
    background: var(--portal-dark-surface);
    color: var(--bs-light);
    box-shadow: 0 .85rem 1.8rem rgba(var(--bs-dark-rgb), .16);
}

.portal-login-metrics strong,
.portal-login-metrics span {
    display: block;
}

.portal-login-metrics strong {
    font-size: 1.15rem;
    font-weight: 650;
}

.portal-login-metrics span {
    color: rgba(var(--bs-light-rgb), .72);
    font-size: .8rem;
}

.portal-login-card {
    position: relative;
    border-radius: 1.25rem !important;
    background: rgba(var(--bs-light-rgb), .96) !important;
    backdrop-filter: blur(18px);
}

.portal-login-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(135deg, var(--portal-brand-soft), transparent 38%);
}

.portal-login-card > * {
    position: relative;
}

.portal-login-card-header {
    margin-bottom: 1.5rem;
}

.portal-login-card-header h2 {
    margin-bottom: .35rem;
    color: var(--portal-ink);
    font-size: 1.8rem;
    font-weight: 650;
    letter-spacing: -.035em;
}

.portal-login-card-header p {
    margin-bottom: 0;
    color: var(--portal-muted);
    line-height: 1.6;
}

.portal-login-toggle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.portal-login-toggle .form-check {
    min-height: 3rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    margin: 0;
    padding: .7rem .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .24);
    border-radius: .85rem;
    background: var(--bs-tertiary-bg);
}

.portal-login-toggle .form-check-input {
    margin: 0;
}

.portal-login-page .form-group {
    margin-bottom: 1.15rem;
}

.portal-login-page .input-group .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.portal-login-page .input-group .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.portal-login-footer {
    margin-top: 1.25rem;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16) !important;
    background: transparent;
}

.portal-login-signup {
    margin: 1rem 0 0;
    color: var(--portal-muted);
}

.portal-public:not(.portal-account) .card,
.portal-public:not(.portal-account) .panel,
.portal-app .card,
.portal-app .panel {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: linear-gradient(180deg, var(--bs-light) 0%, var(--bs-body-bg) 100%);
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08);
}

.portal-public:not(.portal-account) .card-header,
.portal-public:not(.portal-account) .panel-hdr,
.portal-app .card-header,
.portal-app .panel-hdr {
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .18);
    background: rgba(var(--bs-light-rgb), .88);
    color: var(--portal-ink);
    font-weight: 550;
}

.portal-app .page-content,
.portal-app .app-content .content-wrapper {
    background:
        radial-gradient(circle at top left, var(--portal-brand-soft), transparent 30rem),
        linear-gradient(180deg, var(--bs-tertiary-bg) 0%, var(--bs-secondary-bg) 100%);
}

.portal-app .form-control,
.portal-app .form-select,
.portal-public .form-control,
.portal-public .form-select {
    border-radius: .7rem;
    border-color: rgba(var(--bs-secondary-rgb), .45);
}

.portal-app .app-sidebar {
    border-right: 1px solid rgba(var(--bs-primary-rgb), .28);
   /* background:
        linear-gradient(180deg, var(--portal-brand) 0%, var(--portal-nav-bg-soft) 56%, var(--portal-dark-surface) 100%);*/
}

html.portal-app.set-nav-dark:not([data-bs-theme=dark]) {
    --app-nav-bg: var(--portal-nav-bg);
    --app-nav-background: var(--portal-nav-bg);
}

html.portal-app.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar {
    background-color: var(--app-nav-bg);
    background-image: linear-gradient(180deg, var(--portal-nav-bg) 0%, var(--portal-nav-bg-soft) 100%);
}

.portal-app .app-sidebar .nav-menu {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .5rem .75rem 1rem;
}

.portal-app .app-sidebar .nav-menu ul {
    flex-direction: column;
    gap: .28rem;
    margin: .25rem 0 .55rem;
    padding-top: .18rem;
    padding-bottom: .18rem;
}

.portal-app .app-sidebar .nav-menu > li {
    margin-bottom: .15rem;
}

.portal-app .app-sidebar .nav-menu > li > ul > li {
    margin-top: .18rem;
}

.portal-app .app-sidebar .nav-menu li a {
    position: relative;
    min-height: 2.35rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    color: rgba(var(--bs-light-rgb), .86);
    font-weight: 400;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.portal-app .app-sidebar .nav-menu > li > a {
    min-height: 2.55rem;
}

.portal-app .app-sidebar .nav-menu li.active > a,
.portal-app .app-sidebar .nav-menu li.open > a,
.portal-app .app-sidebar .nav-menu li a:hover {
    color: var(--bs-light);
    border-color: rgba(var(--bs-light-rgb), .10);
    background: rgba(var(--bs-light-rgb), .11);
}

.portal-app .app-sidebar .nav-menu > li > ul li a {
    min-height: 2.15rem;
    padding-top: .42rem;
    padding-bottom: .42rem;
    color: rgba(var(--bs-light-rgb), .76);
}

.portal-app .app-sidebar .nav-menu > li > ul li.active > a,
.portal-app .app-sidebar .nav-menu > li > ul li.open > a,
.portal-app .app-sidebar .nav-menu > li > ul li a:hover {
    background: rgba(var(--bs-light-rgb), .08);
}

.portal-app .app-sidebar .app-menu-filter-container .form-control {
    border-color: rgba(var(--bs-primary-rgb), .26);
}

.portal-app .portal-app-header {
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: rgba(var(--bs-light-rgb), .92);
    backdrop-filter: blur(14px);
}

.portal-app-list-page {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.5rem);
}

.portal-app-list-hero,
.portal-app-list-card {
    width: min(var(--portal-content-width), calc(100% - 2rem)) !important;
    max-width: var(--portal-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.portal-app-list-hero h1 {
    font-weight: 350;
    letter-spacing: -.025em;
}

.portal-app-list-card {
    overflow: hidden;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1.25rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .85rem 2.25rem rgba(var(--bs-dark-rgb), .07);
}

.portal-app-list-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.35rem;
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: var(--portal-mode-soft);
}

.portal-app-list-card-header h2 {
    margin: 0;
    color: var(--portal-mode-ink);
    font-size: 1.05rem;
    font-weight: 400;
}

.portal-app-list-card-header p {
    margin: .2rem 0 0;
    color: var(--portal-mode-muted);
    font-size: .9rem;
}

.portal-app-table-wrap {
    padding: clamp(1rem, 2vw, 1.5rem);
}



.portal-profile-page {
    width: min(var(--portal-content-width), calc(100% - 2rem));
    margin: 0 auto 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.portal-profile-hero {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    border-radius: 1rem;
    border-color: rgba(var(--bs-secondary-rgb), .16);
    box-shadow: 0 .6rem 1.5rem rgba(var(--bs-dark-rgb), .05);
}

.portal-profile-hero > div:first-child {
    max-width: 46rem;
}

.portal-profile-hero h1 {
    font-weight: 350;
    letter-spacing: -.025em;
}

.portal-profile-hero p {
    font-size: .94rem;
}

.portal-profile-layout {
    display: grid;
    grid-template-columns: minmax(16rem, .78fr) minmax(0, 1.55fr);
    gap: 1rem;
    align-items: start;
}

.portal-profile-card {
    min-width: 0;
    padding: clamp(1rem, 1.8vw, 1.25rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .55rem 1.25rem rgba(var(--bs-dark-rgb), .045);
}

.portal-profile-identity {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: .9rem;
    position: sticky;
    top: 1rem;
    text-align: center;
}

.portal-profile-avatar-wrap {
    position: relative;
    width: 7.5rem;
    height: 7.5rem;
    padding: .28rem;
    border-radius: 999px;
    background:
        linear-gradient(var(--portal-mode-surface), var(--portal-mode-surface)) padding-box,
        linear-gradient(135deg, var(--portal-brand), rgba(var(--bs-secondary-rgb), .38)) border-box;
    border: 1px solid transparent;
}

.portal-profile-avatar-wrap img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    box-shadow: 0 .7rem 1.45rem rgba(var(--bs-dark-rgb), .1);
}

.portal-profile-initials {
    position: absolute;
    right: .15rem;
    bottom: .15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 .4rem;
    border: 2px solid var(--portal-mode-surface);
    border-radius: 999px;
    background: var(--portal-brand);
    color: var(--bs-light);
    font-size: .72rem;
    font-weight: 500;
}

.portal-profile-card h2 {
    margin: 0;
    color: var(--portal-mode-ink);
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: -.01em;
}

.portal-profile-name-block span,
.portal-profile-help {
    color: var(--portal-mode-muted);
    font-size: .82rem;
}

.portal-profile-status-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
}

.portal-profile-pill {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .32rem .65rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 999px;
    background: var(--portal-mode-soft);
    color: var(--portal-mode-muted);
    font-size: .78rem;
}

.portal-profile-pill-success {
    border-color: rgba(var(--bs-success-rgb), .22);
    background: rgba(var(--bs-success-rgb), .1);
    color: var(--bs-success);
}

.portal-profile-pill-warning {
    border-color: rgba(var(--bs-warning-rgb), .24);
    background: rgba(var(--bs-warning-rgb), .1);
    color: var(--bs-warning-text-emphasis);
}

.portal-profile-upload {
    width: 100%;
    border-radius: 999px;
    font-weight: 400;
}

.portal-profile-upload + input[type="file"] {
    display: none;
}

.portal-profile-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.portal-profile-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .9rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
}

.portal-profile-eyebrow {
    display: block;
    margin-bottom: .15rem;
    color: var(--portal-mode-muted);
    font-size: .7rem;
    font-weight: 400;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.portal-profile-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.portal-profile-info-item,
.portal-profile-address,
.portal-profile-meta {
    min-width: 0;
    padding: .8rem .9rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .14);
    border-radius: .95rem;
    background: var(--portal-mode-soft);
}

.portal-profile-info-item span,
.portal-profile-meta span {
    display: block;
    margin-bottom: .18rem;
    color: var(--portal-mode-muted);
    font-size: .76rem;
}

.portal-profile-info-item strong,
.portal-profile-address strong,
.portal-profile-meta strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--portal-mode-ink);
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.35;
}

.portal-profile-address {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
}

.portal-profile-address i {
    color: var(--portal-brand);
    font-size: 1.05rem;
    margin-top: .15rem;
}

.portal-profile-address span {
    display: block;
    margin-top: .2rem;
    color: var(--portal-mode-muted);
    font-size: .82rem;
}

.portal-profile-meta-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.dark-theme.portal-public .portal-public-shell,
.dark-theme.portal-app .page-content,
.dark-theme.portal-app .app-content .content-wrapper {
    background:
        radial-gradient(circle at top left, var(--portal-brand-subtle), transparent 32rem),
        linear-gradient(180deg, var(--portal-dark-section) 0%, var(--portal-dark-surface) 100%);
}

.dark-theme .portal-login-intro h1,
.dark-theme .portal-login-benefit strong,
.dark-theme .portal-login-card-header h2 {
    color: var(--bs-body-color);
}

.dark-theme .portal-login-lead,
.dark-theme .portal-login-benefit p,
.dark-theme .portal-login-card-header p,
.dark-theme .portal-login-signup {
    color: var(--bs-secondary-color);
}

.dark-theme .portal-login-benefit,
.dark-theme .portal-login-card,
.dark-theme.portal-public:not(.portal-account) .card,
.dark-theme.portal-public:not(.portal-account) .panel,
.dark-theme.portal-app .card,
.dark-theme.portal-app .panel {
    background: rgba(var(--bs-dark-rgb), .96) !important;
    border-color: rgba(var(--bs-light-rgb), .08);
    color: var(--bs-body-color);
}

.dark-theme.portal-app .portal-app-header,
.dark-theme.portal-app .portal-app-list-card,
.dark-theme.portal-app .portal-app-list-card-header {
    border-color: rgba(var(--bs-light-rgb), .08);
    background: rgba(var(--bs-dark-rgb), .96);
}

.dark-theme.portal-app .portal-app-list-card-header {
    background: rgba(var(--bs-light-rgb), .045);
}

.dark-theme.portal-app .portal-app-list-card-header h2,
.dark-theme.portal-app .portal-app-list-hero h1,
.dark-theme.portal-app .portal-profile-hero h1,
.dark-theme.portal-app .portal-profile-card h2 {
    color: var(--bs-body-color);
}

.dark-theme.portal-app .portal-profile-card {
    border-color: rgba(var(--bs-light-rgb), .08);
    background: rgba(var(--bs-dark-rgb), .96);
}

.dark-theme.portal-app .portal-profile-card-header {
    border-color: rgba(var(--bs-light-rgb), .08);
}

.dark-theme.portal-app .portal-profile-info-item,
.dark-theme.portal-app .portal-profile-address,
.dark-theme.portal-app .portal-profile-meta,
.dark-theme.portal-app .portal-profile-pill {
    background: rgba(var(--bs-light-rgb), .045);
    border-color: rgba(var(--bs-light-rgb), .08);
}

.dark-theme .portal-login-toggle .form-check,
.dark-theme.portal-public:not(.portal-account) .card-header,
.dark-theme.portal-public:not(.portal-account) .panel-hdr,
.dark-theme.portal-app .card-header,
.dark-theme.portal-app .panel-hdr {
    background: rgba(var(--bs-light-rgb), .045);
    border-color: rgba(var(--bs-light-rgb), .08);
    color: var(--bs-body-color);
}

@media (max-width: 991.98px) {
    .portal-profile-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-profile-layout {
        grid-template-columns: 1fr;
    }

    .portal-profile-identity {
        position: static;
    }
}

@media (max-width: 575.98px) {
    .portal-profile-info-grid,
    .portal-profile-meta-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .portal-login-shell {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .portal-login-intro {
        padding-bottom: 0;
        text-align: center;
    }

    .portal-login-lead,
    .portal-login-benefit {
        margin-left: auto;
        margin-right: auto;
    }

    .portal-login-benefit {
        text-align: left;
    }

    .portal-login-metrics {
        justify-content: center;
    }
}

@media (max-width: 575.98px) {
    .portal-login-page {
        width: min(100% - 1rem, 100%);
    }

    .portal-login-toggle {
        grid-template-columns: 1fr;
    }

    .portal-login-benefit {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .portal-login-benefit > span {
        margin: 0 auto;
    }
}

/* Final simplification pass */
.features-section,
.demo-section,
.journey-section,
.testimonial-section,
.faq-section,
.contact-section,
.portal-public .portal-public-shell,
.portal-account .portal-public-shell {
    background: var(--bs-tertiary-bg);
}

.portal-login-shell {
    grid-template-columns: minmax(0, .95fr) minmax(360px, .8fr);
    min-height: 52vh;
}

.portal-login-intro {
    padding: 1rem 0;
}

.portal-login-intro h1 {
    max-width: 560px;
    font-size: clamp(2rem, 4vw, 3.15rem);
}

.portal-login-lead {
    max-width: 560px;
    font-size: 1.05rem;
}

.portal-login-benefits,
.portal-login-metrics {
    display: none;
}

.portal-login-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.4rem;
}

.portal-login-actions span {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem .9rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .2);
    border-radius: 999px;
    background: var(--bs-light);
    color: var(--portal-ink);
    font-weight: 500;
    box-shadow: 0 .65rem 1.25rem rgba(var(--bs-dark-rgb), .05);
}

.portal-login-actions i {
    color: var(--portal-brand);
}

.portal-login-card {
    background: var(--bs-light) !important;
    box-shadow: 0 1rem 2.4rem rgba(var(--bs-dark-rgb), .1);
}

.portal-login-card::before {
    display: none;
}

.portal-login-toggle .form-check {
    position: relative;
    min-height: 3rem;
    padding: .75rem .95rem .75rem 2.6rem;
}

.portal-login-toggle .form-check-input {
    position: absolute;
    left: .95rem;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.portal-login-toggle .form-check-label {
    line-height: 1.2;
}

.portal-marketplace-card,
.portal-testimonial-card,
.portal-public:not(.portal-account) .card,
.portal-public:not(.portal-account) .panel,
.portal-app .card,
.portal-app .panel {
    background: var(--bs-light);
}

.dark-theme .features-section,
.dark-theme .demo-section,
.dark-theme .journey-section,
.dark-theme .testimonial-section,
.dark-theme .faq-section,
.dark-theme .contact-section,
.dark-theme.portal-public .portal-public-shell,
.dark-theme.portal-account .portal-public-shell,
.dark-theme.portal-app .page-content,
.dark-theme.portal-app .app-content .content-wrapper {
    background: var(--portal-dark-section);
}

.dark-theme .portal-login-actions span,
.dark-theme .portal-login-card {
    background: var(--portal-dark-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08);
    color: var(--bs-body-color);
}

@media (max-width: 991.98px) {
    .portal-public .portal-navbar,
    .app-landing .portal-navbar {
        top: 0;
        background: var(--bs-light) !important;
        border-bottom-color: rgba(var(--bs-secondary-rgb), .2) !important;
    }

    .portal-public .portal-public-shell {
        padding-top: 1.5rem;
    }

    .app-landing .portal-landing-shell {
        padding-top: 0;
    }

    .portal-login-shell {
        grid-template-columns: 1fr;
    }

    .portal-login-actions {
        justify-content: center;
    }

    .dark-theme.portal-public .portal-navbar,
    .dark-theme.app-landing .portal-navbar {
        background: var(--portal-dark-surface) !important;
        border-bottom-color: rgba(var(--bs-light-rgb), .08) !important;
    }
}

/* Final header, font, and mega-menu alignment */
html,
body,
button,
input,
select,
textarea {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-weight: 350;
}

.portal-public .portal-topbar,
.app-landing .portal-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1400;
    overflow: visible;
    background: rgba(var(--bs-dark-rgb), .92);
    border-color: rgba(var(--bs-light-rgb), .1) !important;
    backdrop-filter: blur(14px);
}

.portal-public .portal-navbar,
.app-landing .portal-navbar {
    position: fixed;
    top: 38px;
    left: 0;
    right: 0;
    z-index: 1030;
    background: rgba(var(--bs-dark-rgb), .78) !important;
    border-bottom: 1px solid rgba(var(--bs-light-rgb), .1) !important;
    backdrop-filter: blur(14px);
    box-shadow: 0 .85rem 2rem rgba(var(--bs-dark-rgb), .16) !important;
}

.portal-public .portal-public-shell {
    padding-top: 9.25rem;
}

.app-landing .portal-landing-shell {
    padding-top: 0;
}

.portal-navbar .navbar-nav > .nav-item > .nav-link,
.portal-navbar .navbar-nav > .nav-item > .nav-link span,
.portal-topbar .language a,
.portal-theme-label {
    font-weight: 400;
}

.portal-navbar .navbar-nav > .portal-nav-action {
    display: flex;
    align-items: center;
    margin-left: .75rem !important;
}

.portal-navbar .navbar-nav > .portal-nav-action + .portal-nav-action {
    margin-left: .5rem !important;
}

.portal-navbar .portal-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.45rem;
    padding-inline: 1.05rem;
    white-space: nowrap;
}

.portal-navbar .dropdown-mega .dropdown-menu {
    width: min(980px, calc(100vw - 2rem));
    margin-top: .6rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1.1rem;
    background: transparent;
    box-shadow: 0 1.5rem 3.5rem rgba(var(--bs-dark-rgb), .18);
}

.portal-navbar .mega-content {
    padding: 1rem !important;
    border-radius: 1.1rem;
    background: rgba(var(--bs-light-rgb), .98);
}

.portal-navbar .dropdown-menu .row {
    align-items: stretch;
    gap: 0;
}

.portal-navbar .dropdown-menu .row > [class*="col-"] {
    padding: 1rem !important;
}

.portal-navbar .dropdown-menu .row > [class*="col-"]:nth-child(2) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    text-align: left !important;
    border-left: 1px solid rgba(var(--bs-secondary-rgb), .14);
    border-right: 1px solid rgba(var(--bs-secondary-rgb), .14);
}

.portal-navbar .img-megamenu {
    height: 100%;
    min-height: 170px;
    max-height: 210px;
    border-radius: .95rem;
}

.portal-navbar .dropdown-menu h2,
.portal-navbar .dropdown-menu h3 {
    margin-bottom: .65rem;
    color: var(--bs-body-color);
    font-weight: 400;
    letter-spacing: -.015em;
}

.portal-navbar .dropdown-menu h2 {
    font-size: 1.35rem;
}

.portal-navbar .dropdown-menu h3 {
    font-size: 1.12rem;
}

.portal-navbar .dropdown-menu p {
    margin-bottom: .75rem;
    color: var(--bs-secondary-color);
    line-height: 1.55;
}

.portal-navbar .dropdown-menu .discount-price {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    grid-template-areas:
        "amount percent"
        "amount off";
    align-items: center;
    justify-content: start;
    column-gap: .25rem;
    row-gap: .1rem;
    min-width: auto;
    margin: .4rem 0 1rem !important;
    padding: .55rem .8rem;
    border-radius: .9rem;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
}

.portal-navbar .dropdown-menu .discount-price .amount {
    grid-area: amount;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: .95;
}

.portal-navbar .dropdown-menu .discount-price .percent {
    grid-area: percent;
    font-size: .8rem;
    font-weight: 400;
    line-height: 1;
}

.portal-navbar .dropdown-menu .discount-price .off {
    grid-area: off;
    align-self: start;
    margin: 0;
    font-size: .68rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portal-navbar .dropdown-menu .list-group-item {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: .65rem .8rem;
    border-radius: .8rem;
    background: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    font-weight: 400;
}

.portal-navbar .dropdown-menu .list-group-item::after {
    content: "\f105";
    margin-left: auto;
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", FontAwesome, sans-serif;
    font-size: .75rem;
    opacity: .55;
}

.portal-login-intro h1,
.portal-login-card-header h2,
.portal-login-actions span,
.portal-login-toggle .form-check-label,
.portal-login-page .form-label {
    font-weight: 400 !important;
}

.portal-login-intro h1 {
    letter-spacing: -.025em;
}

.portal-login-card-header h2 {
    font-size: 1.65rem;
}

.dark-theme .portal-navbar .mega-content {
    background: rgba(var(--bs-dark-rgb), .98);
}

.dark-theme .portal-navbar .dropdown-menu .row > [class*="col-"]:nth-child(2) {
    border-color: rgba(var(--bs-light-rgb), .08);
}

.dark-theme .portal-navbar .dropdown-menu h2,
.dark-theme .portal-navbar .dropdown-menu h3 {
    color: var(--bs-body-color);
}

@media (max-width: 991.98px) {
    .portal-public .portal-topbar,
    .app-landing .portal-topbar {
        position: static;
    }

    .portal-public .portal-navbar,
    .app-landing .portal-navbar {
        position: sticky;
        top: 0;
        background: var(--bs-light) !important;
        box-shadow: 0 .75rem 1.5rem rgba(var(--bs-dark-rgb), .08) !important;
    }

    .portal-public .portal-public-shell {
        padding-top: 1.5rem;
    }

    .portal-navbar .dropdown-mega .dropdown-menu {
        width: 100%;
        margin-top: .25rem;
        border: 0;
        border-radius: .9rem;
        box-shadow: none;
    }

    .portal-navbar .navbar-nav > .portal-nav-action,
    .portal-navbar .navbar-nav > .portal-nav-action + .portal-nav-action {
        margin-left: 0 !important;
        margin-top: .55rem;
    }

    .portal-navbar .portal-nav-btn {
        width: 100%;
    }

    .portal-navbar .dropdown-menu .row > [class*="col-"]:nth-child(2) {
        border-left: 0;
        border-right: 0;
        border-top: 1px solid rgba(var(--bs-secondary-rgb), .14);
        border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .14);
    }
}

/* Account management completion pass */
.portal-account nav.navbar:not(.portal-navbar),
.portal-account .page-logo,
.portal-account .iblogo,
.portal-account .body-content > .overlay,
.portal-account .login-card + #net,
.portal-account section.hero-section > #net {
    display: none !important;
}

.portal-account .portal-public-shell {
    min-height: calc(100vh - 8rem);
    background: var(--bs-tertiary-bg);
}

.portal-account .content-wrapper {
    padding-left: 0;
    padding-right: 0;
}

.portal-account .process.login:not(.portal-login-page) {
    width: min(980px, calc(100% - 2rem));
}

.portal-account .process.login:not(.portal-login-page) .head {
    min-height: 50vh;
    justify-content: center;
}

.portal-account .process.login:not(.portal-login-page) .left {
    display: none !important;
}

.portal-account .process.login:not(.portal-login-page) .right {
    flex: 0 0 min(100%, 520px);
    max-width: 520px;
    margin: 0 auto;
}

.portal-account .blankpage-form-field,
.portal-account .body-content .blankpage-form-field {
    width: min(520px, calc(100vw - 2rem)) !important;
}

.portal-account .hero-section {
    display: flex;
    align-items: center;
    min-height: 50vh;
    padding: 0;
}

.portal-account .hero-section .container {
    position: relative;
    z-index: 1;
}

.portal-account .login-card,
.portal-account .card,
.portal-account .panel {
    border-radius: 1.05rem !important;
}

.portal-account .login-card h2,
.portal-account .card h2,
.portal-account .panel h2,
.portal-account .card-header,
.portal-account .panel-hdr h2,
.portal-account .panel-hdr h5 {
    font-weight: 400 !important;
    letter-spacing: -.015em;
}

.portal-account .login-card p.text-white,
.portal-account .login-card .text-white,
.portal-account .login-card .opacity-50 {
    color: var(--portal-muted) !important;
    opacity: 1 !important;
}

.portal-account .login-card.bg-dark,
.portal-account .login-card.bg-opacity-50,
.portal-account .translucent-dark {
    background: var(--bs-light) !important;
}

.portal-account .btn-dark,
.portal-account .btn-default {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--bs-btn-color, var(--bs-light));
}

.portal-account .form-group,
.portal-account .mb-3 {
    margin-bottom: 1rem !important;
}

.portal-account .input-group .form-control {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.portal-account .input-group .btn,
.portal-account .input-group .input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.portal-account .input-code {
    width: 2.75rem;
    height: 3rem;
    margin: 0 .2rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .45);
    border-radius: .7rem;
    text-align: center;
    font-size: 1.15rem;
}

.portal-account .custom-control,
.portal-account .form-check {
    color: var(--portal-ink);
}

.portal-account .form-check {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
}

.portal-account .form-check-input {
    flex: 0 0 auto;
    margin-left: 0;
    margin-top: .2rem;
}

.portal-account .form-check-label {
    line-height: 1.45;
}

.portal-account .alert {
    border: 0;
    border-radius: .85rem;
}

.portal-account .alert-info {
    background: var(--portal-brand-soft);
    color: var(--bs-primary-text-emphasis);
}

.portal-account .alert-warning {
    background: rgba(var(--bs-warning-rgb), .12);
    color: var(--bs-warning-text-emphasis);
}

.portal-account .text-info {
    color: var(--portal-brand) !important;
}

.portal-account .text-danger {
    color: var(--bs-danger) !important;
}

.portal-account .container-fluid > .row,
.portal-account .body-content > .row {
    justify-content: center;
}

.portal-account .container-fluid .panel {
    width: min(980px, 100%);
    margin: 0 auto;
}

.portal-account .panel-content {
    padding: 1.25rem;
}

.portal-account .panel-toolbar .btn-panel {
    display: none;
}

.portal-account .portal-register-page {
    width: min(1120px, calc(100% - 2rem));
}

.portal-account .portal-register-page .right {
    flex-basis: 100%;
    max-width: 980px;
}

.portal-account .portal-register-page .card {
    margin-bottom: 1rem !important;
}

.portal-account .message-box {
    width: min(560px, calc(100% - 2rem));
    min-height: auto !important;
    margin: 0 auto;
    padding: 2rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .2);
    border-radius: 1rem;
    background: var(--bs-light);
    box-shadow: 0 1.25rem 3rem rgba(var(--bs-dark-rgb), .12);
}

.portal-account .row.justify-content-center.mt-5 {
    margin-top: 0 !important;
    min-height: 50vh;
    align-items: center;
}

.dark-theme.portal-account .portal-public-shell {
    background: var(--portal-dark-section);
}

.dark-theme.portal-account .login-card.bg-dark,
.dark-theme.portal-account .login-card.bg-opacity-50,
.dark-theme.portal-account .translucent-dark,
.dark-theme.portal-account .message-box {
    background: var(--portal-dark-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08);
    color: var(--bs-body-color);
}

.dark-theme.portal-account .login-card p.text-white,
.dark-theme.portal-account .login-card .text-white,
.dark-theme.portal-account .login-card .opacity-50,
.dark-theme.portal-account .custom-control,
.dark-theme.portal-account .form-check {
    color: var(--bs-secondary-color) !important;
}

.dark-theme.portal-account .input-code {
    background: rgba(var(--bs-light-rgb), .06);
    border-color: rgba(var(--bs-light-rgb), .14);
    color: var(--bs-body-color);
}

@media (max-width: 767.98px) {
    .portal-account .process.login:not(.portal-login-page),
    .portal-account .blankpage-form-field,
    .portal-account .body-content .blankpage-form-field {
        width: min(100% - 1rem, 100%) !important;
    }

    .portal-account .hero-section {
        min-height: auto;
    }

    .portal-account .login-card,
    .portal-account .card,
    .portal-account .panel,
    .portal-account .message-box {
        box-shadow: 0 .75rem 1.75rem rgba(var(--bs-dark-rgb), .09);
    }

    .portal-account .input-codes {
        gap: .25rem;
    }

    .portal-account .input-code {
        width: 2.35rem;
        height: 2.75rem;
        margin: 0;
    }
}

/* Life, application partials, and workflow theme pass */
.portal-public:not(.app-landing):not(.portal-account) .process,
.portal-app .process {
    width: min(1180px, calc(100% - 2rem));
    margin-left: auto;
    margin-right: auto;
}

.portal-public:not(.app-landing):not(.portal-account) .process.head,
.portal-public:not(.app-landing):not(.portal-account) .process > .row.head,
.portal-app .process > h3,
.portal-app .process > h4,
.portal-app .process > h5,
.portal-app .process > .row.head {
    margin-bottom: 1.5rem;
    padding: 1.25rem 0;
    border: 0 !important;
    color: var(--portal-ink);
    text-align: center;
}


.portal-public .c-red,
.portal-app .c-red,
.portal-public .basecolor1,
.portal-app .basecolor1 {
    color: var(--portal-brand) !important;
}

.portal-public .section.product-list,
.portal-public .section.howitworks,
.portal-public .section,
.portal-app .outer-process-body,
.portal-app .section-first,
.portal-app .result-section {
    background: transparent;
}

/*.portal-public .product-list .product,
.portal-public .howitworks .col-icon-cntr-claim,
.portal-app .portal-form-section,
.portal-app .product-list-outer,
.portal-app .result-row,
.portal-app .frequency-card,
.portal-app .action-card,
.portal-app .survey-page-body,
.portal-app .question-validation-theme,
.portal-public .portal-form-section,
.portal-public .product-list-outer,
.portal-public .result-row,
.portal-public .frequency-card,
.portal-public .action-card,
.portal-public .survey-page-body,
.portal-public .question-validation-theme {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    border-radius: 1rem !important;
    background: var(--bs-light) !important;
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08) !important;
}*/

.portal-public .product-list a:not(.btn),
.portal-public .product-list a:not(.btn):hover,
.portal-app .product-list a:not(.btn),
.portal-app .product-list a:not(.btn):hover {
    color: inherit;
    text-decoration: none;
}

.portal-public .product-list .btn,
.portal-app .product-list .btn,
.portal-public .result-action-btn .btn,
.portal-app .result-action-btn .btn {
    color: var(--bs-btn-color) !important;
}

.portal-public .product-list .btn:hover,
.portal-app .product-list .btn:hover,
.portal-public .result-action-btn .btn:hover,
.portal-app .result-action-btn .btn:hover {
    color: var(--bs-btn-hover-color) !important;
}

.portal-public .product-list .product {
    height: 100%;
    min-height: 18rem;
    padding: 1.5rem;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.portal-public .product-list .product:hover {
    transform: translateY(-4px);
    border-color: var(--portal-brand-subtle) !important;
    box-shadow: 0 1.25rem 2.75rem rgba(var(--bs-dark-rgb), .12) !important;
}

.portal-public .product-list .product h4,
.portal-public .howitworks h5,
.portal-app .product-list .head,
.portal-app .result-head,
.portal-app .card-header,
.portal-public .card-header {
    color: var(--portal-ink);
    font-weight: 400 !important;
}

.portal-public .product-list .product p,
.portal-public .howitworks h6,
.portal-app .isp-wrap,
.portal-app .benefit,
.portal-app .page-intro,
.portal-public .page-intro {
    color: var(--portal-muted);
}

.portal-public .pro-icons,
.portal-public .img-container-sml,
.portal-public .col-icon-cntr-claim i,
.portal-app .survey-page-button,
.portal-app .coverage-btn {
    color: var(--portal-brand);
}

.portal-public .img-container-sml,
.portal-public .col-icon-cntr-claim i {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    border-radius: .9rem;
    background: var(--portal-brand-soft);
}

.portal-public .img-container-sml img {
    max-width: 2.25rem;
    max-height: 2.25rem;
}

.portal-app .container-fluid,
.portal-public .container-fluid {
    max-width: 1180px;
}

.portal-app .row.container-fluid,
.portal-public .row.container-fluid {
    width: min(1180px, calc(100% - 2rem));
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.portal-app .card.portal-form-section,
.portal-app .portal-form-section.card,
.portal-public .card.portal-form-section,
.portal-public .portal-form-section.card {
    overflow: hidden;
}

.portal-app .card-header.bg-primary,
.portal-app .card-header,
.portal-public .card-header.bg-primary,
.portal-public .card-header {
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    background: rgba(var(--bs-light-rgb), .92) !important;
    color: var(--portal-ink) !important;
}

.portal-app .card-title,
.portal-public .card-title {
    margin-bottom: 0;
    color: inherit;
    font-weight: 400 !important;
}

.portal-app .form-control,
.portal-app .form-select,
.portal-public .form-control,
.portal-public .form-select {
    min-height: 2.7rem;
    border-color: rgba(var(--bs-secondary-rgb), .45);
    border-radius: .7rem;
}

.portal-app label,
.portal-public label {
    color: var(--portal-ink);
    font-weight: 400;
}

.portal-app .product-list-outer,
.portal-public .product-list-outer {
    margin-bottom: 1rem;
    overflow: hidden;
}

.portal-app .product-list,
.portal-public .product-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.portal-app .product-list > .col,
.portal-public .product-list > .col {
    flex: 1 1 12rem;
    min-width: 11rem;
    padding: 1rem;
    border-right: 1px solid rgba(var(--bs-secondary-rgb), .14);
}

.portal-app .product-list > .col:last-child,
.portal-public .product-list > .col:last-child {
    border-right: 0;
}

.portal-app .product-list .head,
.portal-public .product-list .head,
.portal-app .result-head,
.portal-public .result-head {
    margin-bottom: .5rem;
    color: var(--portal-muted);
    font-size: .78rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.portal-app .product-list .body,
.portal-public .product-list .body {
    color: var(--portal-ink);
}

.portal-app .product-list .value,
.portal-public .product-list .value {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 400;
}

.portal-app .imgproduct,
.portal-public .imgproduct {
    max-width: 7.5rem;
    max-height: 3rem;
    object-fit: contain;
    margin-bottom: .6rem;
}

.portal-app .result-action-btn,
.portal-public .result-action-btn,
.portal-app .benefit,
.portal-public .benefit {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

.portal-app .result-action-btn li,
.portal-public .result-action-btn li {
    margin-bottom: .5rem;
}

.termlife-results-content .product-list > .col.termlife > .body .result-action-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.portal-app .coverage-btn,
.portal-public .coverage-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .4rem;
    color: var(--portal-brand);
    font-weight: 400;
    text-decoration: none;
}

.portal-app .modal-content,
.portal-public .modal-content {
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 1.5rem 3.5rem rgba(var(--bs-dark-rgb), .18);
}

.portal-app .modal-header,
.portal-public .modal-header {
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .18);
    background: rgba(var(--bs-light-rgb), .92);
    color: var(--portal-ink);
}

.portal-app .table,
.portal-public .table {
    --bs-table-border-color: rgba(var(--bs-secondary-rgb), .2);
}

.portal-app .table thead th,
.portal-public .table thead th {
    background: var(--bs-tertiary-bg);
    color: var(--portal-muted);
    font-weight: 400;
}

.dark-theme.portal-app .portal-form-section,
.dark-theme.portal-app .product-list-outer,
.dark-theme.portal-app .result-row,
.dark-theme.portal-app .frequency-card,
.dark-theme.portal-app .action-card,
.dark-theme.portal-app .survey-page-body,
.dark-theme.portal-public .portal-form-section,
.dark-theme.portal-public .product-list-outer,
.dark-theme.portal-public .result-row,
.dark-theme.portal-public .frequency-card,
.dark-theme.portal-public .action-card,
.dark-theme.portal-public .survey-page-body,
.dark-theme.portal-public .product-list .product,
.dark-theme.portal-public .howitworks .col-icon-cntr-claim {
    background: var(--portal-dark-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
    color: var(--bs-body-color);
}

.dark-theme.portal-app .card-header,
.dark-theme.portal-public .card-header,
.dark-theme.portal-app .modal-header,
.dark-theme.portal-public .modal-header {
    background: rgba(var(--bs-light-rgb), .045) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
    color: var(--bs-body-color) !important;
}

.dark-theme.portal-app .process h1,
.dark-theme.portal-app .process h2,
.dark-theme.portal-app .process h3,
.dark-theme.portal-app .process h4,
.dark-theme.portal-app .process h5,
.dark-theme.portal-public .process h1,
.dark-theme.portal-public .process h2,
.dark-theme.portal-public .process h3,
.dark-theme.portal-public .process h4,
.dark-theme.portal-public .process h5,
.dark-theme.portal-app .product-list .body,
.dark-theme.portal-public .product-list .body,
.dark-theme.portal-app .product-list .value,
.dark-theme.portal-public .product-list .value,
.dark-theme.portal-app label,
.dark-theme.portal-public label {
    color: var(--bs-body-color);
}

.dark-theme.portal-app .product-list .head,
.dark-theme.portal-public .product-list .head,
.dark-theme.portal-app .isp-wrap,
.dark-theme.portal-public .isp-wrap,
.dark-theme.portal-app .benefit,
.dark-theme.portal-public .benefit,
.dark-theme.portal-app .page-intro,
.dark-theme.portal-public .page-intro {
    color: var(--bs-secondary-color);
}

@media (max-width: 767.98px) {
    .portal-app .product-list,
    .portal-public .product-list {
        display: block;
    }

    .portal-app .product-list > .col,
    .portal-public .product-list > .col {
        border-right: 0;
        border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .14);
    }

    .portal-app .product-list > .col:last-child,
    .portal-public .product-list > .col:last-child {
        border-bottom: 0;
    }

    .portal-public .product-list .product {
        min-height: auto;
        margin-bottom: 1rem;
    }
}

/* Uniform light-mode page surfaces */
:root {
    --portal-light-page-bg: var(--bs-tertiary-bg);
    --portal-light-card-bg: var(--bs-light);
    --portal-light-soft-bg: var(--bs-secondary-bg);
}

body:not(.dark-theme),
body:not(.dark-theme).portal-public,
body:not(.dark-theme).portal-account,
body:not(.dark-theme).portal-app,
body:not(.dark-theme) .app-body,
body:not(.dark-theme) .app-content,
body:not(.dark-theme) .content-wrapper,
body:not(.dark-theme) .page-content,
body:not(.dark-theme) .portal-public-shell,
body:not(.dark-theme) .portal-landing-shell,
body:not(.dark-theme) .features-section,
body:not(.dark-theme) .demo-section,
body:not(.dark-theme) .journey-section,
body:not(.dark-theme) .testimonial-section,
body:not(.dark-theme) .faq-section,
body:not(.dark-theme) .contact-section,
body:not(.dark-theme) .section,
body:not(.dark-theme) .section.product-list,
body:not(.dark-theme) .section.howitworks,
body:not(.dark-theme) .outer-process-body,
body:not(.dark-theme) .section-first,
body:not(.dark-theme) .result-section,
body:not(.dark-theme) .survey-page-body,
body:not(.dark-theme) .body-content {
    background: var(--portal-light-page-bg) !important;
    background-color: var(--portal-light-page-bg) !important;
    background-image: none !important;
}

body:not(.dark-theme) .portal-hero-carousel,
body:not(.dark-theme) .portal-hero-slide {
    background-color: var(--portal-dark-surface) !important;
}

body:not(.dark-theme) .card,
body:not(.dark-theme) .panel,
body:not(.dark-theme) .portal-marketplace-card,
body:not(.dark-theme) .portal-testimonial-card,
body:not(.dark-theme) .portal-login-card,
body:not(.dark-theme) .login-card,
body:not(.dark-theme) .message-box,
body:not(.dark-theme) .product,
body:not(.dark-theme) .col-icon-cntr-claim,
body:not(.dark-theme) .portal-form-section,
body:not(.dark-theme) .product-list-outer,
body:not(.dark-theme) .result-row,
body:not(.dark-theme) .frequency-card,
body:not(.dark-theme) .action-card,
body:not(.dark-theme) .modal-content,
body:not(.dark-theme) .accordion-item {
    background: var(--portal-light-card-bg) !important;
    background-color: var(--portal-light-card-bg) !important;
    background-image: none !important;
}

body:not(.dark-theme) .card-header,
body:not(.dark-theme) .panel-hdr,
body:not(.dark-theme) .modal-header,
body:not(.dark-theme) .table thead th,
body:not(.dark-theme) .portal-card-header,
body:not(.dark-theme) .accordion-button,
body:not(.dark-theme) .portal-login-toggle .form-check,
body:not(.dark-theme) .portal-navbar .dropdown-menu .list-group-item,
body:not(.dark-theme) .product-list .head,
body:not(.dark-theme) .result-head {
    background: var(--portal-light-soft-bg) !important;
    background-color: var(--portal-light-soft-bg) !important;
    background-image: none !important;
}

/* Unified public menu final reset */
.portal-navbar .navbar-nav > .nav-item {
    margin: 0 !important;
    border-top: 0 !important;
}

.portal-navbar .navbar-nav > .nav-item::before {
    display: none !important;
}

.portal-navbar .nav-link,
.portal-navbar .nav-link span,
.portal-navbar .dropdown-item,
.portal-navbar .list-group-item {
    font-size: .94rem !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    text-decoration: none !important;
}

.portal-navbar .dropdown-toggle::after {
    position: static !important;
    inset: auto !important;
    display: inline-block !important;
    margin-left: .45rem !important;
    vertical-align: .12em !important;
    border-top-width: .35em !important;
    border-right-width: .35em !important;
    border-left-width: .35em !important;
}

.portal-navbar .dropdown-menu {
    padding: 0 !important;
    font-weight: 400 !important;
    text-align: left !important;
}

.portal-navbar .dropdown-menu .discount-price {
    position: static !important;
    width: auto !important;
    height: auto !important;
}

.portal-navbar .dropdown-menu .discount-price .amount,
.portal-navbar .dropdown-menu .discount-price .percent,
.portal-navbar .dropdown-menu .discount-price .off,
.portal-navbar .dropdown-menu .discount-price .staric {
    position: static !important;
    inset: auto !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin: 0 !important;
}

.portal-navbar .dropdown-menu .discount-price .staric {
    display: none !important;
}

.portal-navbar .mega-content h1,
.portal-navbar .mega-content h2,
.portal-navbar .mega-content h3,
.portal-navbar .mega-content h4,
.portal-navbar .mega-content h5,
.portal-navbar .mega-content h6 {
    font-weight: 400 !important;
    text-transform: none !important;
}

.portal-navbar .navbar-nav > .portal-nav-action {
    display: flex !important;
    align-items: center;
    margin-left: .75rem !important;
}

.portal-navbar .navbar-nav > .portal-nav-action + .portal-nav-action {
    margin-left: .5rem !important;
}

.portal-navbar .portal-nav-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.45rem;
    padding-inline: 1.05rem;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .portal-navbar .navbar-nav > .portal-nav-action,
    .portal-navbar .navbar-nav > .portal-nav-action + .portal-nav-action {
        margin-left: 0 !important;
        margin-top: .55rem;
    }

    .portal-navbar .portal-nav-btn {
        width: 100%;
    }
}

/* Standard utility coverage */
.overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(var(--bs-light-rgb), .72) url("/wwwroot/images/loading-image.svg") center no-repeat;
    backdrop-filter: blur(2px);
}

.portal-loader-target {
    position: relative;
}

.portal-loader-target.portal-loader-active::before,
body.portal-page-loading::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 30;
    border-radius: inherit;
    background: rgba(var(--bs-light-rgb), .72) url("/wwwroot/images/loading-image.svg") center no-repeat;
    backdrop-filter: blur(2px);
    pointer-events: all;
}

body.portal-page-loading::before {
    position: fixed;
    z-index: 9999;
}

.portal-loader-target.portal-loader-active {
    min-height: 8rem;
}

.portal-login-page .portal-login-toggle .form-check {
    display: flex !important;
    align-items: center !important;
    gap: .55rem;
    padding: .75rem .95rem !important;
}

.portal-login-page .portal-login-toggle .form-check-input {
    position: static !important;
    flex: 0 0 auto;
    float: none;
    margin: 0 !important;
    transform: none !important;
}

.portal-login-page .portal-login-toggle .form-check-label {
    display: inline-flex;
    align-items: center;
    min-height: 1.25rem;
    margin: 0;
    line-height: 1.25;
}

/* Inner portal page coverage for Razor views still using older helper class names */
/*.portal-public:not(.app-landing):not(.portal-account) .process,
.portal-app .process {
    width: min(100%, 1180px);
    margin: 0 auto 1.25rem;
    padding: 1.25rem 1rem 0;
    text-align: center;
}*/

/*.portal-public:not(.app-landing):not(.portal-account) .process .row.head,
.portal-app .process .row.head {
    justify-content: center;
    margin-inline: 0;
}*/

.portal-public:not(.app-landing):not(.portal-account) .process .row.head > *,
.portal-app .process .row.head > * {
    width: 100%;
}

.portal-public:not(.app-landing):not(.portal-account) .outer-process-body,
.portal-app .outer-process-body {
    width: min(100%, 1180px);
    margin: 0 auto 2rem;
    padding: 0 1rem 2rem;
}

.portal-public:not(.app-landing):not(.portal-account) .portal-form-section,
.portal-app .portal-form-section {
    padding: clamp(1.25rem, 2vw, 2rem) !important;
}

.portal-public .form-group,
.portal-app .form-group {
    margin-bottom: 1rem;
}

.portal-public .form-group.text-center,
.portal-app .form-group.text-center {
    margin-top: 1rem;
}

.portal-public .c-red,
.portal-public .text-pink,
.portal-app .c-red,
.portal-app .text-pink {
    color: var(--portal-brand) !important;
}

@media (max-width: 767.98px) {
    .portal-public:not(.app-landing):not(.portal-account) .process,
    .portal-app .process {
        padding-top: .75rem;
    }

    .portal-public:not(.app-landing):not(.portal-account) .outer-process-body,
    .portal-app .outer-process-body {
        padding-inline: .75rem;
    }
}

/* Authenticated portal shell */
.portal-app .app-wrap {
    min-height: 100vh;
    background: var(--portal-light-page-bg);
}

.portal-app .app-body {
    flex: 1 1 auto;
    min-width: 0;
    background: var(--portal-light-page-bg) !important;
}

.portal-app .content-wrapper {
    width: min(100%, 1320px);
}

.portal-app-header {  
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .18);
    box-shadow: 0 .75rem 2rem rgba(var(--bs-dark-rgb), .04);
    backdrop-filter: blur(16px);
    z-index: calc(var(--z-index-master) + 2);
}

.portal-signedin-menu,
.portal-signedin-menu.show {
    position: relative;
    z-index: 1070;
}

.portal-signedin-menu .dropdown-menu {
    z-index: 1080;
}

.portal-topbar .portal-signedin-menu,
.portal-topbar .portal-signedin-menu.show {
    position: relative;
    z-index: 1450;
}

.portal-topbar .portal-signedin-menu .dropdown-menu,
.portal-topbar .portal-signedin-menu .dropdown-menu.show {
    z-index: 1460 !important;
}

@media (max-width: 991.98px) {
    .portal-public .portal-topbar,
    .app-landing .portal-topbar {
        z-index: 1400 !important;
        overflow: visible !important;
    }

    .portal-public .portal-navbar,
    .app-landing .portal-navbar,
    .portal-navbar {
        z-index: 1030 !important;
    }

    .portal-topbar .portal-signedin-menu .dropdown-menu,
    .portal-topbar .portal-signedin-menu .dropdown-menu.show {
        position: fixed !important;
        top: 2.75rem !important;
        right: 1rem !important;
        left: auto !important;
        inset: auto 1rem auto auto !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 1460 !important;
    }
}

html.portal-app.app-mobile-menu-open .portal-app-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    overflow: visible !important;
    z-index: 1200 !important;
}

html.portal-app.app-mobile-menu-open .portal-app-header-actions,
html.portal-app.app-mobile-menu-open .portal-signedin-menu,
html.portal-app.app-mobile-menu-open .portal-signedin-menu.show {
    position: relative;
    z-index: 1210 !important;
}

html.portal-app.app-mobile-menu-open .portal-signedin-menu .dropdown-menu {
    position: fixed !important;
    top: calc(var(--app-header-height, 4rem) - .25rem) !important;
    right: 1rem !important;
    left: auto !important;
    transform: none !important;
    z-index: 1220 !important;
}

@media (max-width: 991.98px) {
    .portal-app-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        overflow: visible !important;
        z-index: 1300 !important;
    }

    .portal-app-header .portal-app-header-actions,
    .portal-app-header .portal-signedin-menu,
    .portal-app-header .portal-signedin-menu.show {
        position: relative;
        z-index: 1310 !important;
    }

    .portal-app-header .portal-signedin-menu .dropdown-menu,
    .portal-app-header .portal-signedin-menu .dropdown-menu.show {
        position: fixed !important;
        top: calc(var(--app-header-height, 4rem) - .25rem) !important;
        right: 1rem !important;
        left: auto !important;
        inset: auto 1rem auto auto !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 1320 !important;
    }
}

.portal-app-header-left,
.portal-app-header-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.portal-app-header-left {
    flex: 1 1 auto;
    min-width: 0;
}

.portal-app-header-actions {
    flex: 0 0 auto;
    margin-left: auto;
}

.portal-back-home {
    border-radius: 999px !important;
    font-weight: 400;
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

.portal-app .app-logo {
    gap: .7rem;
    color: var(--portal-ink);
    font-weight: 500;
}

.portal-app .app-logo-img {
    width: auto;
    max-height: 2.4rem;
}

.portal-app .app-logo-text {
    color: var(--portal-ink);
    font-weight: 600;
    letter-spacing: -.01em;
}

.portal-app .app-sidebar > .app-logo {
    padding-inline: 1.25rem;
}

.portal-app-language {
    list-style: none;
    padding-left: 0;
    align-items: center;
    max-width: 16rem;
    overflow-x: auto;
    scrollbar-width: none;
}

.portal-app-language::-webkit-scrollbar {
    display: none;
}

.portal-app-language a {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .12);
    color: var(--portal-muted);
    text-decoration: none;
    font-size: .78rem;
    line-height: 1;
    white-space: nowrap;
}

.portal-app-language a:hover,
.portal-app-language a.active-language {
    background: var(--portal-brand);
    color: var(--portal-brand);
}

.portal-app-language a.active-language,
.portal-app-language a:hover {
    color: var(--bs-light);
}

.portal-app-theme-switch .portal-theme-label {
    color: var(--portal-muted);
}

.portal-app-theme-switch .portal-theme-slider {
    background: rgba(var(--bs-secondary-rgb), .3);
    border-color: rgba(var(--bs-secondary-rgb), .35);
}

.portal-user-trigger {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 2.6rem;
    min-height: 2.6rem;
    padding: .2rem .45rem !important;
    border-radius: 999px !important;
    border-color: rgba(var(--bs-secondary-rgb), .25) !important;
    color: var(--portal-ink) !important;
}

.portal-user-caret {
    color: var(--portal-muted);
    font-size: .8rem;
}

.portal-signedin-trigger {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-color: rgba(var(--bs-secondary-rgb), .22) !important;
}

.portal-topbar-actions {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.portal-topbar-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding-inline: .85rem;
    line-height: 1;
    white-space: nowrap;
}

.portal-user-avatar,
.portal-sidebar-avatar {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--portal-brand);
    color: var(--bs-light);
    font-size: .85rem;
    font-weight: 500;
}

.portal-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.portal-sidebar-profile {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .9rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-light-soft-bg);
}

.portal-sidebar-profile strong {
    display: block;
    color: var(--portal-ink);
    font-weight: 500;
    line-height: 1.2;
}

.portal-sidebar-eyebrow {
    display: block;
    color: var(--portal-muted);
    font-size: .75rem;
    line-height: 1.2;
}

.portal-sidebar-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
}

.portal-sidebar-filter {
    position: relative;
}

.portal-sidebar-filter i {
    position: absolute;
    top: 50%;
    left: .85rem;
    transform: translateY(-50%);
    color: var(--portal-muted);
    z-index: 1;
}

.portal-sidebar-filter .form-control {
    padding-left: 2.2rem;
    border-radius: 999px;
}

.portal-sidebar-menu,
.portal-sidebar-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-sidebar-menu {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.portal-sidebar-menu .portal-sidebar-link,
.portal-sidebar-menu .portal-sidebar-submenu a {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 2.55rem;
    padding: .65rem .75rem;
    border-radius: .75rem;
    color: var(--portal-ink);
    font-size: .92rem;
    font-weight: 400;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.portal-sidebar-menu .portal-sidebar-link:hover,
.portal-sidebar-menu .portal-sidebar-submenu a:hover,
.portal-sidebar-menu .active > a,
.portal-sidebar-menu .active > .portal-sidebar-link {
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
}

.portal-sidebar-menu .portal-sidebar-link > i:first-child {
    width: 1.25rem;
    text-align: center;
    color: var(--portal-brand);
}

.portal-sidebar-chevron {
    margin-left: auto;
    color: var(--portal-muted);
    transition: transform .18s ease;
}

.portal-sidebar-group.open > .portal-sidebar-link .portal-sidebar-chevron {
    transform: rotate(180deg);
}

.portal-sidebar-submenu {
    display: none;
    padding: .25rem 0 .35rem 1.85rem !important;
}

.portal-sidebar-group.open > .portal-sidebar-submenu,
.portal-sidebar-group.active > .portal-sidebar-submenu {
    display: block;
}

.portal-sidebar-submenu a {
    min-height: 2.25rem;
    color: var(--portal-muted);
}

.portal-app .breadcrumb.page-breadcrumb {
    width: min(100%, 1320px);
    margin: 0 auto 1rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: .9rem;
    background: rgba(var(--bs-light-rgb), .76);
    box-shadow: 0 .5rem 1.25rem rgba(var(--bs-dark-rgb), .04);
}

.portal-breadcrumb-wrap {
    width: 100%;
}

.portal-app .breadcrumb.page-breadcrumb {
    align-items: center;
    gap: .35rem;
}

.portal-app .breadcrumb.page-breadcrumb a {
    color: var(--portal-brand);
    text-decoration: none;
}

.portal-breadcrumb-date {
    margin-left: auto;
    color: var(--portal-muted);
    font-size: .85rem;
}

.portal-app .subheader {
    margin-bottom: 1rem;
}

.portal-app .subheader-title {
    color: var(--portal-ink);
    font-weight: 400;
    letter-spacing: -.015em;
}

.portal-app .panel {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    border-radius: 1rem !important;
    background: var(--bs-light) !important;
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08) !important;
    overflow: hidden;
}

.portal-app .panel-hdr,
.portal-app .panel-container,
.portal-app .panel-content {
    background: transparent !important;
}

.portal-app .panel-content {
    padding: 1.25rem !important;
}

.portal-app .card,
.portal-app .panel {
    border-color: rgba(var(--bs-secondary-rgb), .18) !important;
}

.portal-app .dataTables_wrapper {
    color: var(--portal-ink);
}

.portal-app-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: auto;
    padding: 1rem 1.5rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .18);
}

.portal-app-footer-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem 1rem;
    color: var(--portal-muted);
    font-size: .85rem;
}

.portal-app .table {
    margin-bottom: 0;
    overflow: hidden;
/*    border-radius: .9rem;
*/

}

.portal-app .card.shadow-sm,
.portal-app .card.border-0.shadow-sm {
    border-radius: 1.25rem;
}

.portal-app .card-header.bg-white {
    background: var(--portal-mode-surface) !important;
}

.portal-field-card {
    height: 100%;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.portal-quote-edit-page {
    width: min(var(--portal-content-width), calc(100% - 2rem));
    max-width: var(--portal-content-width);
    margin: 0 auto;
}

.portal-quote-stepper .step-head {
    padding: 0;
}

.portal-quote-stepper .step-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-quote-stepper .step-list li {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 3.25rem;
    padding: .75rem .9rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: .95rem;
    background: var(--portal-mode-soft);
    color: var(--portal-mode-muted);
    font-weight: 500;
}

.portal-quote-stepper .step-list li span {
    width: 1.85rem;
    height: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .18);
    color: var(--portal-mode-ink);
    font-size: .85rem;
    font-weight: 700;
}

.portal-quote-stepper .step-list li.active {
    border-color: var(--portal-brand-subtle);
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
}

.portal-quote-stepper .step-list li.active span {
    background: var(--portal-brand);
    color: var(--bs-light);
}

.portal-quote-workflow {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.portal-quote-workflow #svg_wrap {
    overflow-x: auto;
}

.portal-quote-workflow .portal-form-section {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    border-radius: 1rem !important;
    background: var(--portal-mode-soft) !important;
}

.portal-quote-workflow .form-callback {
    padding: clamp(1.25rem, 2vw, 1.5rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.portal-quote-workflow .form-callback .h3 {
    margin-bottom: .35rem;
    color: var(--portal-mode-ink);
    font-size: 1.1rem;
}

.portal-quote-workflow .form-callback p {
    color: var(--portal-mode-muted);
}

.portal-quote-workflow #request-callback-btn {
    color: var(--bs-light);
    background: var(--portal-brand);
    border-color: var(--portal-brand);
}

@media (max-width: 991.98px) {
    .portal-quote-stepper .step-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .portal-quote-stepper .step-list {
        grid-template-columns: 1fr;
    }
}

/* Customer dashboard */
.portal-dashboard {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.portal-page-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1.25rem;
    background:
        radial-gradient(circle at top right, var(--portal-brand-soft), transparent 36%),
        var(--bs-light);
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08);
}

.portal-page-kicker {
    display: inline-flex;
    margin-bottom: .5rem;
    color: var(--portal-brand);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portal-page-hero h1 {
    margin-bottom: .4rem;
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    font-weight: 400;
    letter-spacing: -.03em;
}

.portal-page-hero p {
    max-width: 42rem;
    margin-bottom: 0;
    color: var(--portal-muted);
}

.portal-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.portal-dashboard-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.portal-dashboard-nav-card {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    min-height: 8.5rem;
    padding: 1.1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1.1rem;
    text-decoration: none;
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.portal-dashboard-nav-card:hover {
    transform: translateY(-3px);
    border-color: var(--portal-brand-subtle);
    box-shadow: 0 1.25rem 2.75rem rgba(var(--bs-dark-rgb), .12);
}

.portal-dashboard-nav-icon {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: .95rem;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1.25rem;
}

.portal-dashboard-nav-card strong,
.portal-dashboard-nav-card small {
    display: block;
}

.portal-dashboard-nav-card strong {
    margin-bottom: .25rem;
    font-weight: 400;
}

.portal-dashboard-nav-card small {
    color: var(--portal-muted);
    line-height: 1.45;
}

.portal-stat-card {
    position: relative;
    height: 100%;
    min-height: 11rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.25rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1.1rem;
    text-decoration: none;
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.portal-stat-card:hover {
    transform: translateY(-3px);
    border-color: var(--portal-brand-subtle);
    box-shadow: 0 1.25rem 2.75rem rgba(var(--bs-dark-rgb), .12);
}

.portal-stat-icon {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1.45rem;
}

.portal-stat-success .portal-stat-icon {
    background: rgba(var(--bs-success-rgb), .12);
}

.portal-stat-danger .portal-stat-icon {
    background: rgba(var(--bs-danger-rgb), .12);
}

.portal-stat-value {
    display: block;
    margin-top: 1rem;
    font-size: 2.15rem;
    font-weight: 400;
    line-height: 1;
}

.portal-stat-label {
    color: var(--portal-muted);
    font-size: .95rem;
}

.portal-dashboard-card {
    border-radius: 1.1rem !important;
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .08) !important;
    overflow: hidden;
}

.portal-dashboard-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
}

.portal-dashboard-card .card-header h2 {
    font-weight: 400;
}

.portal-dashboard-card .card-body {
    padding: 1.25rem;
}

.portal-dashboard-list {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.portal-dashboard-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: .9rem;
    text-decoration: none;
}

.portal-dashboard-list-item strong,
.portal-dashboard-list-item small {
    display: block;
}

.portal-dashboard-list-item strong {
    font-weight: 500;
}

.portal-dashboard-list-item small {
    margin-top: .2rem;
}

.portal-dashboard-list-item i {
    color: var(--portal-brand);
}

.portal-dashboard-list-item:hover {
    background: var(--portal-brand-soft);
}

.customer-dashboard {
    width: min(var(--portal-content-width), calc(100% - 2rem));
    margin: 0 auto 2rem;
    gap: 1rem;
    color: var(--portal-mode-ink);
}

.customer-dashboard .customer-dashboard-hero {
    width: 100%;
    max-width: none;
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    margin: 0;
    padding: clamp(1rem, 1.8vw, 1.35rem) clamp(1rem, 2.2vw, 1.6rem) !important;
    border-color: rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background:
        linear-gradient(135deg, rgba(var(--bs-light-rgb), .92), rgba(var(--bs-light-rgb), .78)),
        linear-gradient(135deg, var(--portal-brand-soft), transparent 54%) !important;
    box-shadow: 0 .6rem 1.5rem rgba(var(--bs-dark-rgb), .05);
}

.customer-dashboard .customer-dashboard-hero > div:first-child {
    max-width: 46rem;
}

.customer-dashboard .customer-dashboard-hero h1,
.customer-dashboard .customer-dashboard-hero p {
    margin-inline: 0;
}

.customer-dashboard .customer-dashboard-hero h1 {
    font-weight: 350;
    letter-spacing: -.025em;
}

.customer-dashboard .customer-dashboard-hero p {
    font-size: .94rem;
}

.customer-dashboard .portal-page-actions .btn {
    min-height: 2.3rem;
    padding: .45rem .85rem;
    border-radius: 999px;
    font-size: .84rem;
    font-weight: 400;
    box-shadow: none !important;
}

.customer-dashboard-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
}

.customer-dashboard-stat {
    display: grid;
    grid-template-columns: 2.35rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: .7rem;
    row-gap: .1rem;
    align-items: center;
    min-height: 5.35rem;
    padding: .95rem 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-surface, var(--bs-light));
    color: inherit;
    text-decoration: none;
    box-shadow: 0 .55rem 1.25rem rgba(var(--bs-dark-rgb), .045);
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.customer-dashboard-stat:hover {
    transform: translateY(-2px);
    border-color: var(--portal-brand-subtle);
    box-shadow: 0 .85rem 1.7rem rgba(var(--bs-dark-rgb), .07);
    color: inherit;
    text-decoration: none;
}

.customer-dashboard-stat-icon {
    grid-row: 1 / span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 50%;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1rem;
}

.customer-dashboard-stat-alert .customer-dashboard-stat-icon {
    background: rgba(var(--bs-danger-rgb), .12);
    color: var(--bs-danger);
}

.customer-dashboard-stat-value {
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 350;
    letter-spacing: -.02em;
}

.customer-dashboard-stat-label {
    min-width: 0;
    color: var(--portal-muted);
    font-size: .8rem;
    font-weight: 400;
}

.customer-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(19rem, .95fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: .8rem;
    align-items: stretch;
}

.customer-dashboard-panel {
    min-width: 0;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-surface, var(--bs-light));
    box-shadow: 0 .55rem 1.25rem rgba(var(--bs-dark-rgb), .045);
}

.customer-dashboard-panel-action {
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.customer-dashboard-panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .8rem;
}

.customer-dashboard-panel-action .customer-dashboard-panel-header {
    margin-bottom: 0;
}

.customer-dashboard-panel-header h2 {
    margin: .15rem 0 0;
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: -.01em;
}

.customer-dashboard-panel-header > i {
    color: var(--portal-brand);
    font-size: 1.15rem;
}

.customer-dashboard-panel-header a {
    flex: 0 0 auto;
    font-size: .82rem;
}

.customer-dashboard-eyebrow {
    display: block;
    color: var(--portal-muted);
    font-size: .7rem;
    font-weight: 400;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.customer-dashboard-action-stack {
    display: grid;
    gap: .65rem;
}

.customer-dashboard-action-stack > div {
    padding: .8rem .9rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .12);
    border-radius: 1rem;
    background: var(--portal-mode-soft, var(--bs-tertiary-bg));
}

.customer-dashboard-action-stack span,
.customer-dashboard-action-stack small {
    display: block;
    color: var(--portal-muted);
    font-size: .78rem;
    font-weight: 400;
}

.customer-dashboard-action-stack strong {
    display: block;
    margin: .1rem 0;
    font-size: .98rem;
    font-weight: 400;
}

.customer-dashboard-panel p {
    margin: 0;
    color: var(--portal-muted);
    font-size: .88rem;
    line-height: 1.45;
}

.customer-dashboard-list {
    display: grid;
    gap: .55rem;
}

.customer-dashboard-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 3.55rem;
    padding: .68rem .8rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .14);
    border-radius: .95rem;
    color: inherit;
    text-decoration: none;
    transition: background-color .16s ease, border-color .16s ease;
}

.customer-dashboard-list-item:hover {
    background: var(--portal-brand-soft);
    border-color: var(--portal-brand-subtle);
    color: inherit;
    text-decoration: none;
}

.customer-dashboard-list-item span {
    min-width: 0;
}

.customer-dashboard-list-item strong,
.customer-dashboard-list-item small,
.customer-dashboard-list-meta span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.customer-dashboard-list-item strong {
    font-size: .88rem;
    font-weight: 400;
}

.customer-dashboard-list-item small,
.customer-dashboard-list-meta {
    color: var(--portal-muted);
    font-size: .76rem;
    font-weight: 400;
}

.customer-dashboard-list-meta {
    flex: 0 0 auto;
    max-width: 9rem;
    text-align: right;
}

.customer-dashboard-empty {
    min-height: 3.7rem;
    padding: .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .12);
    border-radius: 1rem;
    background: var(--portal-mode-soft, var(--bs-tertiary-bg));
    color: var(--portal-muted);
    font-size: .88rem;
    line-height: 1.45;
}

body.dark-theme .customer-dashboard .customer-dashboard-hero {
    background:
        linear-gradient(135deg, rgba(var(--bs-dark-rgb), .96), rgba(var(--bs-dark-rgb), .9)),
        linear-gradient(135deg, rgba(var(--bs-primary-rgb), .16), transparent 54%) !important;
}

body.dark-theme .customer-dashboard-stat,
body.dark-theme .customer-dashboard-panel {
    background: var(--portal-mode-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
    box-shadow: none;
}

body.dark-theme .customer-dashboard-action-stack > div,
body.dark-theme .customer-dashboard-empty {
    background: rgba(var(--bs-light-rgb), .045);
    border-color: rgba(var(--bs-light-rgb), .08);
}

.dark-theme.portal-app .app-wrap,
.dark-theme.portal-app .app-body,
.dark-theme.portal-app .app-content,
.dark-theme.portal-app .content-wrapper {
    background: var(--portal-dark-section) !important;
}

.dark-theme.portal-app .app-sidebar,
.dark-theme.portal-app .portal-app-header,
.dark-theme.portal-app .portal-page-hero,
.dark-theme.portal-app .portal-dashboard-nav-card,
.dark-theme.portal-app .portal-stat-card,
.dark-theme.portal-app .portal-dashboard-card,
.dark-theme.portal-app .portal-dashboard-list-item,
.dark-theme.portal-app .portal-sidebar-profile,
.dark-theme.portal-app .breadcrumb.page-breadcrumb,
.dark-theme.portal-app .portal-app-footer,
.dark-theme.portal-app .panel {
    background: var(--portal-dark-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
    color: var(--bs-body-color);
}

.dark-theme.portal-app .app-logo,
.dark-theme.portal-app .app-logo-text,
.dark-theme.portal-app .portal-user-trigger,
.dark-theme.portal-app .portal-sidebar-profile strong,
.dark-theme.portal-app .nav-menu a,
.dark-theme.portal-app .portal-page-hero h1,
.dark-theme.portal-app .portal-dashboard-nav-card,
.dark-theme.portal-app .portal-dashboard-card .card-header h2,
.dark-theme.portal-app .portal-stat-value,
.dark-theme.portal-app .portal-dashboard-list-item,
.dark-theme.portal-app .subheader-title {
    color: var(--bs-body-color) !important;
}

.dark-theme.portal-app .portal-page-hero p,
.dark-theme.portal-app .portal-dashboard-nav-card small,
.dark-theme.portal-app .portal-stat-label,
.dark-theme.portal-app .portal-sidebar-eyebrow,
.dark-theme.portal-app .portal-dashboard-list-item small,
.dark-theme.portal-app .portal-app-language a,
.dark-theme.portal-app .portal-app-theme-switch .portal-theme-label {
    color: var(--bs-secondary-color) !important;
}

@media (max-width: 991.98px) {
    .portal-app .app-content {
        padding: 1rem;
    }

    .portal-app-header {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        column-gap: .5rem;
        padding: .75rem 1rem;
    }

    .portal-app-header-actions {
        flex: 1 1 auto;
        gap: .5rem;
        min-width: 0;
        justify-content: flex-end;
    }

    .portal-app-header .mobile-menu-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 2.25rem;
        width: 2.25rem;
        height: 2.25rem;
        margin-right: 0 !important;
        position: relative;
        z-index: 1310;
    }

    .portal-app-header-left {
        flex: 0 0 auto;
        min-width: max-content;
        gap: .35rem;
    }

    .portal-app-header .portal-theme-label,
    .portal-app-header .portal-signedin-trigger > span:not(.portal-user-avatar) {
        display: none !important;
    }

    .portal-app-header .portal-app-language {
        flex: 0 1 min(30vw, 8rem);
        min-width: 0;
        max-width: min(30vw, 8rem);
        flex-wrap: nowrap !important;
    }

    .portal-app-header .portal-app-language li {
        flex: 0 0 auto;
    }

    html.portal-app.app-mobile-menu-open .app-sidebar {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translate3d(0, 0, 0) !important;
        z-index: 1290 !important;
    }

    html.portal-app.app-mobile-menu-open [data-toggleclass="app-mobile-menu-open"].backdrop {
        display: block !important;
        opacity: 1 !important;
        z-index: 1280 !important;
    }

    .portal-page-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-dashboard-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .customer-dashboard .customer-dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
        text-align: left;
    }

    .customer-dashboard-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .customer-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .customer-dashboard-panel-action {
        grid-row: auto;
    }

    .portal-app-footer {
        align-items: flex-start;
        flex-direction: column;
        padding: 1rem;
    }

    .portal-app-footer-meta {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .portal-app .app-content {
        padding: .75rem;
    }

    .portal-app-header {
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: .35rem;
        padding-inline: .65rem;
    }

    .portal-app-header-left {
        gap: .25rem;
    }

    .portal-app-header .mobile-menu-icon,
    .portal-back-home {
        flex-basis: 2rem;
        width: 2rem;
        height: 2rem;
    }

    .portal-app-header-actions {
        gap: .35rem;
    }

    .portal-app-header .portal-app-language {
        flex-basis: min(24vw, 5.5rem);
        max-width: min(24vw, 5.5rem);
    }

    .portal-app-header .portal-app-language a {
        min-height: 1.65rem;
        padding-inline: .42rem;
        font-size: .62rem;
    }

    .portal-page-actions,
    .portal-page-actions .btn {
        width: 100%;
    }

    .portal-dashboard-nav {
        grid-template-columns: 1fr;
    }

    .customer-dashboard-summary {
        grid-template-columns: 1fr;
    }

    .customer-dashboard-list-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .customer-dashboard-list-meta {
        width: 100%;
        max-width: none;
        text-align: left;
    }

    .portal-app-theme-switch .portal-theme-label {
        display: none !important;
    }

    .portal-dashboard-card .card-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-topbar-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* Final theme-mode surface overrides */
body:not(.dark-theme) {
    --portal-content-width: 980px;
    --portal-mode-page: var(--bs-tertiary-bg);
    --portal-mode-surface: var(--bs-light);
    --portal-mode-soft: var(--bs-secondary-bg);
    --portal-mode-ink: var(--bs-body-color);
    --portal-mode-muted: var(--bs-secondary-color);
}

body.dark-theme {
    --portal-content-width: 980px;
    --portal-mode-page: var(--portal-dark-section);
    --portal-mode-surface: var(--portal-dark-surface);
    --portal-mode-soft: rgba(var(--bs-light-rgb), .055);
    --portal-mode-ink: var(--bs-body-color);
    --portal-mode-muted: var(--bs-secondary-color);
}

body:not(.dark-theme).portal-public .portal-topbar,
body:not(.dark-theme).app-landing .portal-topbar,
body:not(.dark-theme).portal-account .portal-topbar {
    background: rgba(var(--bs-light-rgb), .94) !important;
    color: var(--portal-mode-ink) !important;
    border-color: rgba(var(--bs-secondary-rgb), .22) !important;
    box-shadow: 0 .5rem 1.5rem rgba(var(--bs-dark-rgb), .04);
}

body.dark-theme .portal-topbar,
body.dark-theme.portal-public .portal-topbar,
body.dark-theme.app-landing .portal-topbar,
body.dark-theme.portal-account .portal-topbar {
    background: rgba(var(--bs-dark-rgb), .94) !important;
    color: var(--bs-tertiary-bg) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
    box-shadow: 0 .75rem 2rem rgba(var(--bs-dark-rgb), .18);
}

body:not(.dark-theme) .portal-topbar .language a,
body:not(.dark-theme) .portal-topbar .language-link,
body:not(.dark-theme) .portal-topbar .portal-theme-label,
body:not(.dark-theme) .portal-topbar-phone {
    color: var(--portal-mode-muted) !important;
}

body:not(.dark-theme) .portal-topbar .language a:hover,
body:not(.dark-theme) .portal-topbar .language-link:hover {
    color: var(--portal-brand) !important;
}

body:not(.dark-theme) .portal-theme-slider {
    background: rgba(var(--bs-secondary-rgb), .32);
    border-color: rgba(var(--bs-secondary-rgb), .38);
}

body:not(.dark-theme).portal-public .portal-navbar,
body:not(.dark-theme).app-landing .portal-navbar,
body:not(.dark-theme).portal-account .portal-navbar {
    background: rgba(var(--bs-light-rgb), .92) !important;
    border-bottom: 1px solid rgba(var(--bs-light-rgb), .75) !important;
    box-shadow: 0 .6rem 1.8rem rgba(var(--bs-dark-rgb), .045) !important;
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
}

body.dark-theme .portal-navbar,
body.dark-theme.portal-public .portal-navbar,
body.dark-theme.app-landing .portal-navbar,
body.dark-theme.portal-account .portal-navbar {
    background: rgba(var(--bs-dark-rgb), .88) !important;
    border-bottom: 1px solid rgba(var(--bs-light-rgb), .1) !important;
    box-shadow: 0 .75rem 2rem rgba(var(--bs-dark-rgb), .2) !important;
}

body.portal-public .portal-topbar,
body.app-landing .portal-topbar,
body.portal-account .portal-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    overflow: visible !important;
    z-index: 1500 !important;
}

body.portal-public .portal-navbar,
body.app-landing .portal-navbar,
body.portal-account .portal-navbar {
    z-index: 1400 !important;
}

body.portal-public .portal-topbar .portal-signedin-menu .dropdown-menu.show,
body.app-landing .portal-topbar .portal-signedin-menu .dropdown-menu.show,
body.portal-account .portal-topbar .portal-signedin-menu .dropdown-menu.show {
    position: fixed !important;
    top: 2.75rem !important;
    right: 1rem !important;
    left: auto !important;
    inset: auto 1rem auto auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1510 !important;
}

body:not(.dark-theme) .portal-navbar .navbar-nav > .nav-item > .nav-link,
body:not(.dark-theme).app-landing .portal-navbar .navbar-nav > .nav-item > .nav-link,
body:not(.dark-theme).portal-public .portal-navbar .navbar-nav > .nav-item > .nav-link {
    color: var(--portal-mode-ink) !important;
}

body.dark-theme .portal-navbar .navbar-nav > .nav-item > .nav-link,
body.dark-theme.app-landing .portal-navbar .navbar-nav > .nav-item > .nav-link,
body.dark-theme.portal-public .portal-navbar .navbar-nav > .nav-item > .nav-link {
    color: rgba(var(--bs-light-rgb), .92) !important;
}

body.dark-theme .portal-footer,
body.dark-theme .portal-footer h6,
body.dark-theme .portal-footer .footer-links a,
body.dark-theme .portal-footer .text-muted {
    color: rgba(var(--bs-light-rgb), .92) !important;
}

body.dark-theme .portal-footer .footer-links a:hover,
body.dark-theme .portal-footer .footer-links a:focus {
    color: var(--bs-light) !important;
}

body.dark-theme.app-landing .portal-landing-shell,
body.dark-theme.app-landing .features-section,
body.dark-theme.app-landing .demo-section,
body.dark-theme.app-landing .journey-section,
body.dark-theme.app-landing .testimonial-section,
body.dark-theme.app-landing .faq-section,
body.dark-theme.app-landing .contact-section {
    background: var(--portal-dark-surface) !important;
    background-color: var(--portal-dark-surface) !important;
}

@media (max-width: 991.98px) {
    body.portal-public .portal-topbar,
    body.app-landing .portal-topbar,
    body.portal-account .portal-topbar {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        z-index: 1500 !important;
    }

    body.portal-public .portal-topbar .container > .d-flex,
    body.app-landing .portal-topbar .container > .d-flex,
    body.portal-account .portal-topbar .container > .d-flex {
        min-height: 2.5rem;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        gap: .5rem !important;
    }

    body.portal-public .portal-topbar-phone,
    body.app-landing .portal-topbar-phone,
    body.portal-account .portal-topbar-phone {
        display: none !important;
    }

    body.portal-public .portal-topbar .language,
    body.app-landing .portal-topbar .language,
    body.portal-account .portal-topbar .language {
        display: inline-flex !important;
        flex: 1 1 auto;
        flex-wrap: nowrap !important;
        align-items: center;
        gap: .35rem !important;
        max-width: min(48vw, 12rem);
        overflow-x: auto;
        scrollbar-width: none;
        white-space: nowrap;
    }

    body.portal-public .portal-topbar .language::-webkit-scrollbar,
    body.app-landing .portal-topbar .language::-webkit-scrollbar,
    body.portal-account .portal-topbar .language::-webkit-scrollbar {
        display: none;
    }

    body.portal-public .portal-topbar .language li,
    body.app-landing .portal-topbar .language li,
    body.portal-account .portal-topbar .language li {
        flex: 0 0 auto;
    }

    body.portal-public .portal-topbar .language a,
    body.portal-public .portal-topbar .language-link,
    body.app-landing .portal-topbar .language a,
    body.app-landing .portal-topbar .language-link,
    body.portal-account .portal-topbar .language a,
    body.portal-account .portal-topbar .language-link {
        display: inline-flex;
        align-items: center;
        min-height: 1.85rem;
        padding: .25rem .5rem;
        border-radius: 999px;
        background: rgba(var(--bs-light-rgb), .1);
        font-size: .76rem;
        line-height: 1;
    }

    body.portal-public .portal-topbar .language a.active-language,
    body.portal-public .portal-topbar .language-link.active-language,
    body.app-landing .portal-topbar .language a.active-language,
    body.app-landing .portal-topbar .language-link.active-language,
    body.portal-account .portal-topbar .language a.active-language,
    body.portal-account .portal-topbar .language-link.active-language {
        background: var(--portal-brand);
        color: var(--bs-light) !important;
    }

    body.portal-public .portal-topbar .d-flex.align-items-center.flex-wrap.gap-3.ms-auto,
    body.app-landing .portal-topbar .d-flex.align-items-center.flex-wrap.gap-3.ms-auto,
    body.portal-account .portal-topbar .d-flex.align-items-center.flex-wrap.gap-3.ms-auto {
        width: auto !important;
        margin-left: auto !important;
        flex: 0 0 auto;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: .5rem !important;
    }

    body.portal-public .portal-topbar .portal-theme-label,
    body.app-landing .portal-topbar .portal-theme-label,
    body.portal-account .portal-topbar .portal-theme-label,
    body.portal-public .portal-topbar .portal-signedin-trigger > span:not(.portal-user-avatar),
    body.app-landing .portal-topbar .portal-signedin-trigger > span:not(.portal-user-avatar),
    body.portal-account .portal-topbar .portal-signedin-trigger > span:not(.portal-user-avatar) {
        display: none !important;
    }

    body.portal-public .portal-topbar-actions,
    body.app-landing .portal-topbar-actions,
    body.portal-account .portal-topbar-actions {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        flex-wrap: nowrap;
    }

    body.portal-public .portal-topbar-actions .btn,
    body.app-landing .portal-topbar-actions .btn,
    body.portal-account .portal-topbar-actions .btn {
        padding-inline: .65rem;
        white-space: nowrap;
    }

    body.portal-public .portal-navbar,
    body.app-landing .portal-navbar,
    body.portal-account .portal-navbar {
        display: flex !important;
        position: sticky !important;
        top: 0 !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 1400 !important;
    }

    body.portal-public .portal-navbar .navbar-toggler,
    body.app-landing .portal-navbar .navbar-toggler,
    body.portal-account .portal-navbar .navbar-toggler {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        margin-left: auto;
    }

    body.portal-public .portal-navbar .navbar-collapse.show,
    body.app-landing .portal-navbar .navbar-collapse.show,
    body.portal-account .portal-navbar .navbar-collapse.show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

body:not(.dark-theme) .portal-navbar .btn-outline-light {
    border-color: rgba(var(--bs-primary-rgb), .32);
    color: var(--portal-brand);
}

body:not(.dark-theme) .portal-navbar .btn-outline-light:hover {
    background: var(--portal-brand);
    border-color: var(--portal-brand);
    color: var(--bs-light);
}

body.dark-theme,
body.dark-theme.portal-public,
body.dark-theme.portal-account,
body.dark-theme.portal-app,
body.dark-theme .app-body,
body.dark-theme .app-content,
body.dark-theme .content-wrapper,
body.dark-theme .page-content,
body.dark-theme .portal-public-shell,
body.dark-theme .portal-landing-shell,
body.dark-theme .section,
body.dark-theme .section.product-list,
body.dark-theme .section.howitworks,
body.dark-theme .outer-process-body,
body.dark-theme .section-first,
body.dark-theme .result-section,
body.dark-theme .survey-page-body,
body.dark-theme .body-content {
    background: var(--portal-mode-page) !important;
    background-color: var(--portal-mode-page) !important;
    background-image: none !important;
    color: var(--portal-mode-ink);
}

body.dark-theme .card,
body.dark-theme .panel,
body.dark-theme .portal-form-section,
body.dark-theme .portal-mini-form-section,
body.dark-theme .product-list-outer,
body.dark-theme .result-row,
body.dark-theme .frequency-card,
body.dark-theme .action-card,
body.dark-theme .modal-content,
body.dark-theme .accordion-item,
body.dark-theme .portal-page-hero {
    background: var(--portal-mode-surface) !important;
    background-color: var(--portal-mode-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
    color: var(--portal-mode-ink);
}

body.dark-theme .card-header,
body.dark-theme .panel-hdr,
body.dark-theme .modal-header,
body.dark-theme .table thead th,
body.dark-theme .portal-card-header,
body.dark-theme .accordion-button,
body.dark-theme .product-list .head,
body.dark-theme .result-head {
    background: var(--portal-mode-soft) !important;
    background-color: var(--portal-mode-soft) !important;
    color: var(--portal-mode-ink) !important;
}

body.dark-theme .text-muted,
body.dark-theme .page-intro,
body.dark-theme .benefit,
body.dark-theme .portal-page-hero p {
    color: var(--portal-mode-muted) !important;
}

.portal-page-hero {
    width: min(var(--portal-content-width), calc(100% - 2rem));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .85rem;
    margin: 1rem auto .9rem;
    padding: clamp(.85rem, 1.6vw, 1.2rem) clamp(1rem, 2vw, 1.5rem) !important;
    text-align: center;
    border-radius: 1rem;
    background:
        linear-gradient(135deg, var(--portal-brand-soft), transparent 52%),
        var(--portal-mode-surface) !important;
    box-shadow: 0 .75rem 1.75rem rgba(var(--bs-dark-rgb), .06);
}

.portal-page-hero > div:first-child {
    max-width: 54rem;
}

.portal-page-kicker {
    margin-bottom: .28rem;
    font-size: .72rem;
    letter-spacing: .1em;
}

.portal-page-hero h1 {
    max-width: 48rem;
    margin: 0 auto .25rem;
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.2;
}

.portal-page-hero p {
    max-width: 44rem;
    margin-inline: auto;
    font-size: .95rem;
    line-height: 1.55;
}

.portal-page-actions {
    justify-content: center;
}

.portal-quote-hero {
    width: min(var(--portal-content-width), calc(100% - 2rem));
}

.portal-process-card {
    width: min(var(--portal-content-width), calc(100% - 2rem));
    margin: 0 auto 2rem;
}

.portal-public:not(.app-landing):not(.portal-account) .outer-process-body,
.portal-app .outer-process-body,
.portal-public:not(.app-landing):not(.portal-account) .section-first,
.portal-app .section-first,
.portal-public:not(.app-landing):not(.portal-account) .result-section,
.portal-app .result-section,
.portal-public:not(.app-landing):not(.portal-account) .survey-page-body,
.portal-app .survey-page-body,
.portal-public:not(.app-landing):not(.portal-account) .portal-form-section,
.portal-app .portal-form-section,
.portal-public:not(.app-landing):not(.portal-account) .portal-mini-form-section,
.portal-app .portal-mini-form-section,
.portal-public:not(.app-landing):not(.portal-account) .product-list-outer,
.portal-app .product-list-outer {
    width: min(var(--portal-content-width), calc(100% - 2rem));
    max-width: var(--portal-content-width);
    margin-left: auto;
    margin-right: auto;
}

.portal-public:not(.app-landing):not(.portal-account) .outer-process-body,
.portal-app .outer-process-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.portal-wizard-shell .portal-form-section,
.portal-wizard-shell .survey-page-body,
.portal-wizard-shell .product-list-outer,
.portal-wizard-shell .result-section,
.outer-process-body .portal-form-section,
.outer-process-body .portal-mini-form-section,
.outer-process-body .survey-page-body,
.outer-process-body .product-list-outer,
.outer-process-body .result-section {
    width: 100%;
    max-width: 100%;
}

.termlife-results-page {
    display: flex;
    flex-direction: column;
    gap: clamp(1.25rem, 2.4vw, 2rem);
    padding-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}

.portal-page-shell {
    box-sizing: border-box;
    width: min(var(--portal-content-width), calc(100% - 2rem)) !important;
    max-width: var(--portal-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.portal-page-shell .portal-form-section,
.portal-page-shell .portal-mini-form-section,
.portal-page-shell .result-section,
.portal-page-shell .life-result-form,
.portal-page-shell .product-list-outer,
.termlife-results-content {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 1rem;
}

.portal-page-shell .portal-form-section h4 {
    max-width: 760px;
    margin: 0 auto 1.5rem;
    color: var(--portal-ink);
    font-size: clamp(1.15rem, 1.9vw, 1.55rem);
    font-weight: 400;
    letter-spacing: -.015em;
    line-height: 1.35;
}

.portal-page-shell .portal-form-section h4 span {
    font-weight: 400;
}

.portal-page-shell .product-list .head,
.portal-page-shell .product-list .value,
.portal-page-shell .result-head,
.portal-page-shell .btn {
    font-weight: 400 !important;
}

.portal-page-shell .portal-page-kicker {
    font-weight: 400;
    letter-spacing: .09em;
}

.portal-page-shell .portal-page-hero h1,
.portal-page-hero.portal-page-shell h1 {
    font-weight: 350;
    letter-spacing: -.025em;
}

.portal-page-hero.portal-page-shell {
    box-shadow: 0 .6rem 1.5rem rgba(var(--bs-dark-rgb), .05);
}

.termlife-results-content {
    display: flex;
    flex-direction: column;
    gap: clamp(1.5rem, 2.8vw, 2.5rem);
    width: 100%;
}

.termlife-status-section {
    display: flex;
    justify-content: center;
}

.termlife-status-pill,
.termlife-status-alert {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .8rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(var(--bs-primary-rgb), .16);
    background: rgba(var(--bs-light-rgb), .86);
    color: var(--portal-ink);
    box-shadow: 0 .75rem 1.75rem rgba(var(--bs-dark-rgb), .06);
}

.termlife-status-pill i {
    color: var(--portal-brand);
}

.termlife-greeting-section,
.termlife-refine-section,
.termlife-offers-section {
    padding: 0 !important;
}

.quotation-result-message {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: center;
    overflow: hidden;
    padding: clamp(1.15rem, 2.2vw, 1.8rem);
    border: 1px solid rgba(var(--bs-primary-rgb), .16);
    border-radius: 1.1rem;
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .18), transparent 34%),
        linear-gradient(135deg, rgba(var(--bs-light-rgb), .96), rgba(var(--bs-light-rgb), .9));
    box-shadow: 0 .85rem 2rem rgba(var(--bs-dark-rgb), .07);
}

.quotation-result-message::after {
    content: "";
    position: absolute;
    inset: auto -4rem -5rem auto;
    width: 13rem;
    height: 13rem;
    border-radius: 999px;
    background: rgba(var(--bs-primary-rgb), .10);
    pointer-events: none;
}

.quotation-result-icon {
    position: relative;
    z-index: 1;
    width: clamp(3rem, 6vw, 4rem);
    height: clamp(3rem, 6vw, 4rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    background: var(--portal-brand);
    color: var(--bs-light);
    font-size: clamp(1.2rem, 2.2vw, 1.65rem);
    box-shadow: 0 .8rem 1.5rem rgba(var(--bs-primary-rgb), .20);
}

.quotation-result-copy {
    position: relative;
    z-index: 1;
}

.quotation-result-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem 1rem;
    margin-bottom: .45rem;
}

.quotation-result-eyebrow,
.termlife-section-heading .portal-page-kicker {
    display: inline-flex;
    color: var(--portal-brand);
    font-size: .78rem;
    font-weight: 400;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.quotation-validity {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .65rem;
    border: 1px solid rgba(var(--bs-primary-rgb), .16);
    border-radius: 999px;
    background: rgba(var(--bs-light-rgb), .74);
    color: var(--portal-ink);
    font-size: .82rem;
    font-weight: 400;
}

.quotation-validity i {
    color: var(--portal-brand);
}

.quotation-result-copy h2 {
    margin: 0 0 .65rem;
    color: var(--portal-ink);
    font-size: clamp(1.45rem, 2.5vw, 2.05rem);
    font-weight: 350;
    letter-spacing: -.025em;
}

.quotation-result-copy h2 span,
.quotation-result-copy strong {
    color: var(--portal-brand);
}

.quotation-result-copy p {
    max-width: 76ch;
    margin: 0;
    color: var(--portal-muted);
    font-size: clamp(.98rem, 1.4vw, 1.08rem);
    line-height: 1.75;
}

.portal-reference,
.quotation-reference,
.application-reference {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
    padding: .65rem .85rem;
    border-radius: .75rem;
    background: rgba(var(--bs-light-rgb), .78);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
}

.portal-reference span,
.quotation-reference span,
.application-reference span {
    color: var(--portal-muted);
    font-size: .82rem;
    font-weight: 400;
}

.portal-reference strong,
.quotation-reference strong,
.application-reference strong {
    color: var(--portal-brand);
    overflow-wrap: anywhere;
    font-weight: 400;
}

.termlife-section-heading {
    margin-bottom: 1rem;
}

.termlife-section-heading h2 {
    max-width: 760px;
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(1.08rem, 1.8vw, 1.42rem);
    font-weight: 350;
    letter-spacing: -.02em;
}

.termlife-refine-card {
    padding: clamp(1rem, 2vw, 1.5rem) !important;
}

.termlife-refine-card .form-label {
    color: var(--portal-muted);
    font-size: .82rem;
    font-weight: 400;
    letter-spacing: .02em;
}

.termlife-offers-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.motor-vehicle-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.plan-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.motor-vehicle-summary-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .10), transparent 35%),
        var(--portal-mode-surface);
    box-shadow: 0 .65rem 1.65rem rgba(var(--bs-dark-rgb), .06);
}

.plan-summary-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .10), transparent 35%),
        var(--portal-mode-surface);
    box-shadow: 0 .65rem 1.65rem rgba(var(--bs-dark-rgb), .06);
}

.motor-vehicle-summary-icon,
.motor-no-offers-icon,
.plan-summary-icon,
.plan-no-offers-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1.25rem;
}

.motor-vehicle-summary-copy {
    min-width: 0;
    flex: 1;
}

.plan-summary-copy {
    min-width: 0;
    flex: 1;
}

.motor-vehicle-summary-copy h4 {
    margin: .2rem 0 .8rem;
    color: var(--portal-mode-ink);
    font-size: 1.05rem;
    font-weight: 500;
}

.plan-summary-copy h4 {
    margin: .2rem 0 .8rem;
    color: var(--portal-mode-ink);
    font-size: 1.05rem;
    font-weight: 500;
}

.motor-vehicle-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
}

.plan-summary-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
}

.motor-vehicle-metrics div {
    min-width: 0;
    padding: .75rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .14);
    border-radius: .85rem;
    background: rgba(var(--bs-light-rgb), .58);
}

.plan-summary-metrics div {
    min-width: 0;
    padding: .75rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .14);
    border-radius: .85rem;
    background: rgba(var(--bs-light-rgb), .58);
}

.motor-vehicle-metrics dt {
    margin-bottom: .25rem;
    color: var(--portal-mode-muted);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.plan-summary-metrics dt {
    margin-bottom: .25rem;
    color: var(--portal-mode-muted);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.motor-vehicle-metrics dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.plan-summary-metrics dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.motor-no-offers-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: clamp(1.1rem, 2.4vw, 1.75rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.plan-no-offers-card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: clamp(1.1rem, 2.4vw, 1.75rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.motor-no-offers-card h3 {
    margin: .15rem 0 .45rem;
    color: var(--portal-mode-ink);
    font-size: clamp(1.08rem, 1.8vw, 1.35rem);
    font-weight: 500;
}

.plan-no-offers-card h3 {
    margin: .15rem 0 .45rem;
    color: var(--portal-mode-ink);
    font-size: clamp(1.08rem, 1.8vw, 1.35rem);
    font-weight: 500;
}

.motor-no-offers-card p {
    max-width: 760px;
    margin: 0 0 1rem;
    color: var(--portal-mode-muted);
}

.plan-no-offers-card p {
    max-width: 760px;
    margin: 0 0 1rem;
    color: var(--portal-mode-muted);
}

body.dark-theme .quotation-result-message {
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .26), transparent 34%),
        linear-gradient(135deg, var(--portal-dark-surface), var(--portal-dark-section));
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .quotation-result-copy h2,
body.dark-theme .termlife-section-heading h2,
body.dark-theme .portal-page-shell .portal-form-section h4,
body.dark-theme .termlife-status-pill,
body.dark-theme .motor-vehicle-summary-copy h4,
body.dark-theme .motor-vehicle-metrics dd,
body.dark-theme .motor-no-offers-card h3,
body.dark-theme .plan-summary-copy h4,
body.dark-theme .plan-summary-metrics dd,
body.dark-theme .plan-no-offers-card h3 {
    color: var(--bs-body-color);
}

body.dark-theme .quotation-result-copy p,
body.dark-theme .portal-reference span,
body.dark-theme .quotation-reference span,
body.dark-theme .application-reference span,
body.dark-theme .quotation-validity,
body.dark-theme .termlife-refine-card .form-label,
body.dark-theme .motor-vehicle-metrics dt,
body.dark-theme .motor-no-offers-card p,
body.dark-theme .plan-summary-metrics dt,
body.dark-theme .plan-no-offers-card p {
    color: var(--bs-secondary-color);
}

body.dark-theme .portal-reference,
body.dark-theme .quotation-reference,
body.dark-theme .application-reference,
body.dark-theme .quotation-validity,
body.dark-theme .termlife-status-pill,
body.dark-theme .motor-vehicle-summary-card,
body.dark-theme .motor-no-offers-card,
body.dark-theme .plan-summary-card,
body.dark-theme .plan-no-offers-card {
    background: rgba(var(--bs-dark-rgb), .82);
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .motor-vehicle-metrics div,
body.dark-theme .plan-summary-metrics div {
    background: rgba(var(--bs-light-rgb), .045);
    border-color: rgba(var(--bs-light-rgb), .08);
}

.portal-benefits-modal .modal-dialog {
    --bs-modal-width: min(860px, calc(100vw - 2rem));
}

.portal-benefits-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 0;
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .12), transparent 36%),
        var(--portal-mode-surface);
    box-shadow: 0 1.15rem 3rem rgba(var(--bs-dark-rgb), .16);
}

.portal-benefits-modal .modal-header {
    align-items: flex-start;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.4rem) clamp(1rem, 2.4vw, 1.75rem);
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: rgba(var(--bs-light-rgb), .76) !important;
}

.portal-benefits-title {
    display: flex;
    align-items: center;
    gap: .85rem;
}

.portal-benefits-icon {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    border-radius: .85rem;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1.2rem;
    box-shadow: 0 .65rem 1.35rem rgba(var(--bs-primary-rgb), .14);
}

.portal-benefits-modal .modal-title {
    margin: .15rem 0 0;
    color: var(--portal-ink);
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
    font-weight: 350;
    letter-spacing: -.02em;
}

.portal-benefits-modal .btn-close {
    margin-top: .15rem;
    border-radius: 999px;
    opacity: .68;
}

.portal-benefits-modal .btn-close:hover {
    opacity: 1;
}

.portal-benefits-modal .modal-body {
    padding: clamp(1rem, 2.4vw, 1.75rem);
}

.portal-benefits-intro {
    max-width: 58ch;
    margin: 0 0 1rem;
    color: var(--portal-muted);
    font-size: .95rem;
    line-height: 1.6;
}

.portal-benefits-table-wrap {
    overflow: hidden;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 0;
    background: rgba(var(--bs-light-rgb), .78);
}

.portal-benefits-table {
    margin-bottom: 0 !important;
    border-color: transparent !important;
}

.portal-benefits-table thead th {
    padding: .85rem 1rem;
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    background: rgba(var(--bs-light-rgb), .92) !important;
    color: var(--portal-muted) !important;
    font-size: .76rem;
    font-weight: 400 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.portal-benefits-table tbody td {
    padding: .9rem 1rem;
    border-color: rgba(var(--bs-secondary-rgb), .12) !important;
    color: var(--portal-ink);
    font-size: .92rem;
    line-height: 1.55;
    vertical-align: middle;
}

.portal-benefits-table tbody tr:last-child td {
    border-bottom: 0;
}

.portal-benefits-table tbody tr:hover td {
    background: rgba(var(--bs-primary-rgb), .05);
}

.portal-benefits-table img {
    width: auto;
    max-width: 2rem;
    max-height: 2rem;
}

.portal-benefits-modal .dataTables_wrapper,
.portal-benefits-modal .dataTables_processing,
.portal-benefits-modal .dataTables_empty {
    color: var(--portal-muted);
    font-weight: 400;
}

.portal-benefits-modal .dataTables_processing {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    padding: .75rem 1rem;
    border-radius: 999px;
    background: rgba(var(--bs-light-rgb), .9);
    box-shadow: 0 .75rem 1.75rem rgba(var(--bs-dark-rgb), .12);
}

body.dark-theme .portal-benefits-modal .modal-content {
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .18), transparent 36%),
        var(--portal-dark-surface);
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .portal-benefits-modal .modal-header,
body.dark-theme .portal-benefits-table thead th {
    background: rgba(var(--bs-light-rgb), .045) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
}

body.dark-theme .portal-benefits-modal .modal-title,
body.dark-theme .portal-benefits-table tbody td {
    color: var(--bs-body-color);
}

body.dark-theme .portal-benefits-intro,
body.dark-theme .portal-benefits-modal .dataTables_wrapper,
body.dark-theme .portal-benefits-modal .dataTables_processing,
body.dark-theme .portal-benefits-modal .dataTables_empty,
body.dark-theme .portal-benefits-table thead th {
    color: var(--bs-secondary-color) !important;
}

body.dark-theme .portal-benefits-table-wrap {
    background: rgba(var(--bs-dark-rgb), .82);
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .portal-benefits-table tbody td {
    border-color: rgba(var(--bs-light-rgb), .08) !important;
}

body.dark-theme .portal-benefits-table tbody tr:hover td {
    background: rgba(var(--bs-light-rgb), .035);
}

.portal-next-steps-modal .modal-dialog {
    --bs-modal-width: min(960px, calc(100vw - 2rem));
}

body.modal-open .modal {
    z-index: 1600 !important;
}

body.modal-open .modal-backdrop {
    z-index: 1590 !important;
}

.portal-next-steps-modal .modal-content {
    overflow: hidden;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 0;
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .12), transparent 36%),
        var(--portal-mode-surface);
    box-shadow: 0 1.15rem 3rem rgba(var(--bs-dark-rgb), .16);
}

.portal-next-steps-modal .modal-header {
    align-items: flex-start;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.4rem) clamp(1rem, 2.4vw, 1.75rem);
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: rgba(var(--bs-light-rgb), .76) !important;
}

.portal-next-steps-title {
    display: flex;
    align-items: center;
    gap: .85rem;
}

.portal-next-steps-icon {
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    border-radius: 0;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1.2rem;
    box-shadow: 0 .65rem 1.35rem rgba(var(--bs-primary-rgb), .14);
}

.portal-next-steps-modal .modal-title {
    margin: .15rem 0 0;
    color: var(--portal-ink);
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
    font-weight: 350;
    letter-spacing: -.02em;
}

.portal-next-steps-modal .btn-close {
    margin-top: .15rem;
    border-radius: 0;
    opacity: .68;
}

.portal-next-steps-modal .btn-close:hover {
    opacity: 1;
}

.portal-next-steps-modal .modal-body {
    padding: clamp(1rem, 2.4vw, 1.75rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.portal-next-steps-intro {
    max-width: 62ch;
    margin: 0 0 1.25rem;
}

.portal-next-steps-intro h2 {
    margin: 0 0 .35rem;
    color: var(--portal-ink);
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
    font-weight: 350;
    letter-spacing: -.025em;
}

.portal-next-steps-intro p {
    margin: 0;
    color: var(--portal-muted);
    font-size: .96rem;
    line-height: 1.65;
}

.portal-next-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.portal-next-step-card {
    position: relative;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.15rem;
    overflow: hidden;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 0;
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .08), transparent 42%),
        rgba(var(--bs-light-rgb), .88);
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.portal-next-step-card:hover,
.portal-next-step-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(var(--bs-primary-rgb), .32);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .09);
}

.portal-next-step-card:focus-visible {
    outline: 3px solid rgba(var(--bs-primary-rgb), .24);
    outline-offset: 3px;
}

.portal-next-step-image {
    width: 4.25rem;
    height: 4.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(var(--bs-primary-rgb), .12);
    border-radius: 0;
    background: var(--portal-brand-soft);
}

.portal-next-step-image img {
    width: 2.75rem;
    height: 2.75rem;
    object-fit: contain;
}

.portal-next-step-copy {
    display: grid;
    gap: .4rem;
}

.portal-next-step-copy strong {
    color: var(--portal-ink);
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: -.01em;
}

.portal-next-step-copy small {
    color: var(--portal-muted);
    font-size: .88rem;
    line-height: 1.55;
}

.portal-next-step-card > i {
    margin-top: auto;
    color: var(--portal-brand);
    font-size: 1rem;
}

body.dark-theme .portal-next-steps-modal .modal-content {
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .18), transparent 36%),
        var(--portal-dark-surface);
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .portal-next-steps-modal .modal-header {
    background: rgba(var(--bs-light-rgb), .045) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
}

body.dark-theme .portal-next-steps-modal .modal-title,
body.dark-theme .portal-next-steps-intro h2,
body.dark-theme .portal-next-step-copy strong {
    color: var(--bs-body-color);
}

body.dark-theme .portal-next-steps-intro p,
body.dark-theme .portal-next-step-copy small {
    color: var(--bs-secondary-color);
}

body.dark-theme .portal-next-step-card {
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .12), transparent 42%),
        rgba(var(--bs-dark-rgb), .86);
    border-color: rgba(var(--bs-light-rgb), .08);
}

.payment-options-process {
    gap: clamp(1rem, 2vw, 1.5rem);
}

.payment-options-hero,
.payment-options-shell {
    width: min(var(--portal-content-width), calc(100% - 2rem)) !important;
    max-width: var(--portal-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.payment-options-hero {
    padding: clamp(1rem, 2.2vw, 1.65rem);
    text-align: center;
    border: 1px solid rgba(var(--bs-primary-rgb), .14);
    border-radius: 1.1rem;
    background:
        linear-gradient(135deg, var(--portal-brand-soft), transparent 56%),
        var(--portal-mode-surface);
    box-shadow: 0 .75rem 1.8rem rgba(var(--bs-dark-rgb), .06);
}

.payment-options-hero h3 {
    margin: .2rem 0 .45rem;
    color: var(--portal-ink);
    font-size: clamp(1.35rem, 2.3vw, 1.9rem);
    font-weight: 350;
    letter-spacing: -.025em;
}

.payment-options-hero p {
    max-width: 64ch;
    margin: 0 auto;
    color: var(--portal-muted);
    font-size: .98rem;
    line-height: 1.65;
}

.payment-options-hero strong {
    color: var(--portal-brand);
    font-weight: 400;
}

.payment-reference-pill {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1rem;
    padding: .55rem .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 999px;
    background: rgba(var(--bs-light-rgb), .78);
    color: var(--portal-muted);
    font-size: .84rem;
}

.payment-reference-pill strong {
    color: var(--portal-brand);
    font-weight: 400;
}

.payment-options-shell {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.35rem);
    padding: clamp(1rem, 2vw, 1.5rem) !important;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1.25rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .85rem 2.25rem rgba(var(--bs-dark-rgb), .06);
}

.payment-options-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: clamp(1rem, 2.4vw, 1.75rem) !important;
}

.payment-options-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.payment-options-heading h4 {
    margin: .2rem 0 0;
    color: var(--portal-ink);
    font-size: clamp(1.12rem, 1.8vw, 1.45rem);
    font-weight: 350;
    letter-spacing: -.02em;
}

.payment-options-heading p {
    max-width: 34rem;
    margin: 0;
    color: var(--portal-muted);
    font-size: .9rem;
    line-height: 1.55;
}

.payment-frequency-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 1rem;
}

@media (min-width: 992px) {
    .payment-frequency-grid {
        grid-template-columns: repeat(var(--payment-option-count, 4), minmax(0, 1fr));
    }
}

.payment-frequency-card {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(var(--bs-secondary-rgb), .2);
    border-radius: 1.05rem;
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .08), transparent 42%),
        rgba(var(--bs-light-rgb), .88);
    outline: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.payment-frequency-card:hover,
.payment-frequency-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(var(--bs-primary-rgb), .32);
    box-shadow: 0 1rem 2.25rem rgba(var(--bs-dark-rgb), .09);
}

.payment-frequency-card:focus-visible {
    outline: 3px solid rgba(var(--bs-primary-rgb), .24);
    outline-offset: 3px;
}

.payment-frequency-card.active {
    border-color: rgba(var(--bs-primary-rgb), .55);
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .15), transparent 42%),
        rgba(var(--bs-light-rgb), .96);
    box-shadow: 0 1rem 2.45rem rgba(var(--bs-primary-rgb), .13);
}

.payment-frequency-card-body {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    gap: .9rem;
    padding: 1.05rem;
}

.payment-frequency-card-top {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding-right: 1.6rem;
}

.payment-frequency-icon {
    width: 2.6rem;
    height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.6rem;
    border-radius: .85rem;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-size: 1.1rem;
}

.payment-frequency-card h5 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(.95rem, 1.1vw, 1.05rem);
    font-weight: 650;
    letter-spacing: -.01em;
}

.payment-frequency-card-top span:not(.payment-frequency-icon) {
    color: var(--portal-muted);
    font-size: .8rem;
}

.payment-price-block {
    padding: .9rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: .95rem;
    background: rgba(var(--bs-light-rgb), .78);
}

.payment-price-label,
.payment-price-block > span:last-child,
.payment-comparison-list span {
    display: block;
    color: var(--portal-muted);
    font-size: .78rem;
    font-weight: 400;
}

.payment-price-block strong {
    display: block;
    margin: .2rem 0;
    color: var(--portal-brand);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 650;
    letter-spacing: -.03em;
}

.payment-comparison-list {
    display: grid;
    gap: .65rem;
}

.payment-comparison-list div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .14);
}

.payment-comparison-list div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.payment-comparison-list strong {
    color: var(--portal-ink);
    font-size: .88rem;
    font-weight: 650;
    white-space: nowrap;
}

.payment-frequency-note {
    margin-top: auto;
    color: var(--portal-muted);
    font-size: .84rem;
    line-height: 1.5;
}

.payment-check-badge {
    position: absolute;
    top: .9rem;
    right: .9rem;
    width: 1.55rem;
    height: 1.55rem;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--portal-brand);
    color: var(--bs-light);
    font-size: .72rem;
}

.payment-frequency-card.active .payment-check-badge {
    display: inline-flex;
}






.payment-options-empty {
    padding: 1rem;
    border: 1px dashed rgba(var(--bs-secondary-rgb), .3);
    border-radius: .95rem;
    color: var(--portal-muted);
    text-align: center;
}

.payment-frequency-title-area {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

    .payment-frequency-title-area > div {
        min-width: 0;
    }

.payment-rate-badge {
    position: relative;
    top: .9rem;
    text-align: center;
    left: .9rem;
    z-index: 1;
    /* max-width: calc(100% - 4rem); */
    padding: .28rem .55rem;
    border-radius: 999px;
    color: var(--bs-light);
    overflow: hidden;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.payment-frequency-card-top {
    padding-right: 1.9rem;
}

.payment-comparison-highlight {
    margin: -.15rem -.25rem 0;
    padding: .7rem .75rem !important;
    border: 1px solid rgba(var(--bs-primary-rgb), .18) !important;
    border-radius: .85rem;
    background: rgba(var(--bs-primary-rgb), .07);
}

    .payment-comparison-highlight span {
        color: var(--portal-brand);
        font-weight: 650;
    }

    .payment-comparison-highlight strong {
        color: var(--portal-brand);
        font-size: .98rem;
        font-weight: 750;
    }

.payment-frequency-card.active .payment-comparison-highlight {
    border-color: rgba(var(--bs-primary-rgb), .32) !important;
    background: rgba(var(--bs-primary-rgb), .11);
}

.payment-rate-badge-best {
    background: linear-gradient(135deg, var(--bs-success), var(--bs-success));
}

.payment-rate-badge-flexible {
    background: linear-gradient(135deg, var(--bs-info-text-emphasis), var(--bs-info));
}

.payment-frequency-card {
    display: flex;
    flex-direction: column;
}

.payment-frequency-card-body {
    height: 100%;
}

.payment-frequency-card-top {
    min-height: 3.25rem;
    align-items: flex-start;
}

.payment-price-block {
    min-height: 6.7rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.payment-comparison-list {
    min-height: 4.7rem;
}

.payment-frequency-note {
    min-height: 3.9rem;
    display: flex;
    align-items: center;
    padding-top: .25rem;
}

.payment-options-empty {
    grid-column: 1 / -1;
}

.payment-frequency-card-disabled {
    pointer-events: none;
    opacity: .72;
}

.payment-frequency-card.is-saving::after {
    content: "Saving selection...";
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    display: flex;
    justify-content: center;
    border-radius: .85rem;
    padding: .62rem .75rem;
    background: var(--portal-brand);
    color: var(--bs-light);
    font-size: .8rem;
    font-weight: 650;
    z-index: 3;
}

.payment-frequency-card.is-saving .payment-frequency-note {
    opacity: 0;
}

@media (max-width: 767.98px) {
    .payment-frequency-title-area {
        flex-direction: column;
        gap: .5rem;
    }

        .payment-frequency-title-area .payment-rate-badge {
            max-width: 100%;
            text-align: left;
        }

    .payment-frequency-card-top,
    .payment-price-block,
    .payment-comparison-list,
    .payment-frequency-note {
        min-height: auto;
    }
}
body.dark-theme .payment-options-hero,
body.dark-theme .payment-frequency-card,
body.dark-theme .payment-options-panel,
body.dark-theme .payment-options-shell {
    background:
        radial-gradient(circle at top right, rgba(var(--bs-primary-rgb), .12), transparent 42%),
        var(--portal-dark-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
}

body.dark-theme .payment-reference-pill,
body.dark-theme .payment-price-block {
    background: rgba(var(--bs-dark-rgb), .82);
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .payment-options-hero h3,
body.dark-theme .payment-options-heading h4,
body.dark-theme .payment-frequency-card h5,
body.dark-theme .payment-comparison-list strong {
    color: var(--bs-body-color);
}

body.dark-theme .payment-options-hero p,
body.dark-theme .payment-reference-pill,
body.dark-theme .payment-options-heading p,
body.dark-theme .payment-frequency-card-top span:not(.payment-frequency-icon),
body.dark-theme .payment-price-label,
body.dark-theme .payment-price-block > span:last-child,
body.dark-theme .payment-comparison-list span,
body.dark-theme .payment-frequency-note,
body.dark-theme .payment-options-empty {
    color: var(--bs-secondary-color);
}

body.dark-theme .payment-comparison-list div {
    border-color: rgba(var(--bs-light-rgb), .08);
}

@media (max-width: 767.98px) {
    .quotation-result-message {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .portal-reference,
    .quotation-reference,
    .application-reference {
        align-items: flex-start;
        gap: .25rem .65rem;
        max-width: 100%;
    }

    .payment-options-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-next-steps-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .portal-next-steps-modal .modal-dialog {
        --bs-modal-width: calc(100vw - 1rem);
        margin: .5rem auto;
    }

    .portal-next-steps-modal .modal-dialog.modal-dialog-scrollable {
        height: calc(100vh - 1rem);
        max-height: calc(100vh - 1rem);
    }

    @supports (height: 100dvh) {
        .portal-next-steps-modal .modal-dialog.modal-dialog-scrollable {
            height: calc(100dvh - 1rem);
            max-height: calc(100dvh - 1rem);
        }
    }

    .portal-next-steps-modal .modal-content {
        height: 100%;
        max-height: 100%;
        display: flex;
        flex-direction: column;
        border-radius: 1rem;
    }

    .portal-next-steps-modal .modal-header {
        align-items: center;
        padding: .9rem 1rem;
    }

    .portal-next-steps-title {
        min-width: 0;
        gap: .65rem;
    }

    .portal-next-steps-icon {
        width: 2.35rem;
        height: 2.35rem;
        flex-basis: 2.35rem;
        font-size: 1rem;
    }

    .portal-next-steps-modal .modal-title {
        max-width: 68vw;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 1.05rem;
    }

    .portal-next-steps-modal .btn-close {
        flex: 0 0 auto;
        margin: 0 0 0 auto;
    }

    .portal-next-steps-modal .modal-body {
        min-height: 0;
        padding: 1rem;
        overscroll-behavior: contain;
    }

    .portal-next-steps-intro {
        margin-bottom: .9rem;
    }

    .portal-next-steps-intro h2 {
        font-size: 1.25rem;
    }

    .portal-next-steps-intro p {
        font-size: .9rem;
        line-height: 1.5;
    }

    .portal-next-steps-grid {
        gap: .7rem;
    }

    .portal-next-step-card {
        flex-direction: row;
        align-items: center;
        gap: .75rem;
        min-height: auto;
        padding: .85rem;
    }

    .portal-next-step-image {
        width: 3rem;
        height: 3rem;
        flex: 0 0 3rem;
    }

    .portal-next-step-image img {
        width: 2rem;
        height: 2rem;
    }

    .portal-next-step-copy {
        min-width: 0;
        gap: .18rem;
    }

    .portal-next-step-copy strong {
        font-size: .98rem;
    }

    .portal-next-step-copy small {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: .8rem;
        line-height: 1.35;
    }

    .portal-next-step-card > i {
        flex: 0 0 auto;
        margin: 0 0 0 auto;
    }
}

.portal-wizard-shell {
    padding: clamp(1rem, 2vw, 1.5rem) 0 !important;
}

.portal-wizard-content {
    min-height: 590px;
    padding: 1.25rem 0 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.portal-wizard .toolbar {
    padding: 1rem 0 0;
    border: 0 !important;
    background: transparent !important;
}

.application-edit-page {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.5rem);
}

.application-edit-hero,
.application-edit-shell {
    width: min(var(--portal-content-width), calc(100% - 2rem)) !important;
    max-width: var(--portal-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.application-edit-hero h1 {
    font-weight: 350;
    letter-spacing: -.025em;
}

.application-edit-hero p strong {
    color: var(--portal-brand);
    font-weight: 400;
}

.application-edit-shell {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.35rem);
    padding: clamp(1rem, 2vw, 1.5rem) 0 !important;
}

.application-edit-shell > form,
.application-edit-shell .application-journey {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.application-smartwizard {
    padding: clamp(1rem, 2.4vw, 1.75rem) !important;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    border-radius: 1.25rem !important;
    background: var(--portal-mode-surface) !important;
    box-shadow: 0 .85rem 2.25rem rgba(var(--bs-dark-rgb), .07);
    text-align: left;
    font: inherit;
    font-size: inherit;
}

.application-smartwizard > .tab-content,
.application-smartwizard .sw-container,
.application-smartwizard .sw-content {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding: clamp(1rem, 2vw, 1.5rem) 0 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.application-smartwizard .tab-pane {
    padding: 0 !important;
}

.application-smartwizard form[id^="form-"],
.application-smartwizard #form-8 {
    width: 100%;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.application-smartwizard .row.container-fluid {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.application-smartwizard .card,
.application-smartwizard .modal-content,
.application-smartwizard .modal-form-content {
    border-radius: 1rem !important;
}

.application-smartwizard .card {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    background: var(--portal-mode-surface);
    box-shadow: 0 .65rem 1.65rem rgba(var(--bs-dark-rgb), .06);
}

.application-smartwizard .card-header {
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: var(--portal-mode-soft);
}

.application-smartwizard .card-body {
    font: inherit;
    font-size: inherit;
}

.application-smartwizard .form-label,
.application-smartwizard label {
    font-weight: 400 !important;
}

.application-smartwizard h1,
.application-smartwizard h2,
.application-smartwizard h3,
.application-smartwizard h4,
.application-smartwizard h5,
.application-smartwizard h6,
.application-smartwizard strong {
    font-weight: 400;
}

.application-smartwizard .toolbar,
.application-smartwizard .sw-toolbar-elm {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .6rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: transparent !important;
}

.application-smartwizard .toolbar .btn,
.application-smartwizard .sw-toolbar-elm .btn {
    border-radius: 999px !important;
    font-weight: 400;
}

.application-smartwizard .field-error-highlight {
    border-color: var(--bs-danger) !important;
    box-shadow: 0 0 0 .2rem rgba(var(--bs-danger-rgb), .14) !important;
}

.application-journey {
    padding: clamp(1rem, 2.4vw, 1.75rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1.25rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .85rem 2.25rem rgba(var(--bs-dark-rgb), .07);
}

.application-journey-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
}

.application-journey-header h2 {
    margin: .15rem 0 .35rem;
    color: var(--portal-mode-ink);
    font-weight: 400;
    letter-spacing: -.02em;
}

.application-journey-header p {
    max-width: 52rem;
    margin: 0;
    color: var(--portal-mode-muted);
}

.application-journey-status {
    min-width: 12rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(var(--bs-primary-rgb), .22);
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .08);
}

.application-journey-status span,
.application-journey-sidebar-heading span {
    display: block;
    color: var(--portal-mode-muted);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.application-journey-status strong,
.application-journey-sidebar-heading strong {
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.application-journey-layout {
    display: grid;
    grid-template-columns: minmax(15rem, 19rem) minmax(0, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
    align-items: start;
}

.application-journey-sidebar {
    position: sticky;
    top: 1rem;
}

.application-journey-sidebar-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.application-step-list {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.application-step-trigger {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    width: 100%;
    padding: .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
    color: var(--portal-mode-muted);
    text-align: left;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.application-step-trigger:hover,
.application-step-trigger:focus {
    border-color: rgba(var(--bs-primary-rgb), .34);
    box-shadow: 0 .6rem 1.25rem rgba(var(--bs-dark-rgb), .07);
    transform: translateY(-1px);
}

.application-step-trigger .num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .18);
    color: var(--portal-mode-muted);
    font-weight: 600;
}

.application-step-trigger strong {
    display: block;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.application-step-trigger small {
    display: block;
    margin-top: .15rem;
    line-height: 1.35;
}

.application-step-trigger.active {
    border-color: rgba(var(--bs-primary-rgb), .48);
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--portal-brand);
}

.application-step-trigger.active .num {
    background: var(--portal-brand);
    color: var(--bs-light);
}

.application-step-trigger.completed .num {
    background: rgba(var(--bs-success-rgb), .14);
    color: var(--bs-success);
}

.application-step-trigger.completed .num::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
    font-weight: 900;
}

.application-step-trigger.completed .num {
    font-size: 0;
}

.application-step-content {
    min-width: 0;
}

.application-step-progress {
    height: .45rem;
    overflow: hidden;
    margin-bottom: 1rem;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .18);
}

.application-step-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--portal-brand), var(--bs-info));
    transition: width .25s ease;
}

.application-step-panel {
    min-height: 28rem;
}

.application-step-panel[hidden] {
    display: none !important;
}


.application-step-intro {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.application-step-intro > span {
    color: var(--portal-brand);
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: -.04em;
}

.application-step-intro h3 {
    margin: 0 0 .25rem;
    color: var(--portal-mode-ink);
    font-weight: 400;
}

.application-step-intro p {
    margin: 0;
    color: var(--portal-mode-muted);
}

.contact-info-group {
    margin-bottom: 1rem;
    padding: clamp(.85rem, 2vw, 1.25rem);
    border: 1px solid rgba(var(--bs-secondary-rgb), .14);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.contact-info-group:last-of-type {
    margin-bottom: 0;
}

.contact-info-group .form-group {
    margin-bottom: 1rem;
}

.contact-info-group .form-group:last-child {
    margin-bottom: 0;
}

.application-step-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .6rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
}




.application-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.application-review-tile {
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.application-review-tile h4 {
    margin: 0 0 .75rem;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.application-review-tile dl,
.application-review-tile dd {
    margin: 0;
}

.application-review-tile dl {
    display: grid;
    gap: .65rem;
}

.application-review-tile dt {
    color: var(--portal-mode-muted);
    font-size: .78rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.application-review-tile dd {
    color: var(--portal-mode-ink);
}

.application-journey .field-error-highlight {
    border-color: var(--bs-danger) !important;
    box-shadow: 0 0 0 .2rem rgba(var(--bs-danger-rgb), .14) !important;
}

.application-card-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.application-card-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.application-card-section-header h4 {
    margin: .15rem 0 .35rem;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.application-card-section-header p {
    max-width: 48rem;
    margin: 0;
    color: var(--portal-mode-muted);
}

.application-card-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.application-card-summary span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .55rem .8rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 999px;
    background: var(--portal-mode-surface);
    color: var(--portal-mode-muted);
}

.application-card-summary strong {
    color: var(--portal-mode-ink);
    font-weight: 600;
}

.application-card-summary .is-complete {
    border-color: rgba(var(--bs-success-rgb), .24);
    background: rgba(var(--bs-success-rgb), .08);
    color: var(--bs-success);
}

.application-card-summary .needs-attention {
    border-color: rgba(var(--bs-warning-rgb), .34);
    background: rgba(var(--bs-warning-rgb), .12);
    color: var(--bs-warning-text-emphasis);
}

.application-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.application-info-card,
.application-document-card,
.application-empty-state {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .55rem 1.3rem rgba(var(--bs-dark-rgb), .05);
}

.application-info-card {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    padding: 1rem;
}

.application-info-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .85rem;
}

.application-card-eyebrow {
    display: block;
    margin-bottom: .15rem;
    color: var(--portal-mode-muted);
    font-size: .76rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.application-info-card h5,
.application-document-card h5 {
    margin: 0;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.application-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .14);
    color: var(--portal-mode-muted);
    font-size: .78rem;
    font-weight: 600;
}

.application-chip-success {
    background: rgba(var(--bs-success-rgb), .12);
    color: var(--bs-success);
}

.application-chip-warning {
    background: rgba(var(--bs-warning-rgb), .16);
    color: var(--bs-warning-text-emphasis);
}

.application-chip-danger {
    background: rgba(var(--bs-danger-rgb), .12);
    color: var(--bs-danger);
}

.application-metric-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
}

.application-metric-list div {
    padding: .75rem;
    border-radius: .85rem;
    background: var(--portal-mode-soft);
}

.application-metric-list dt {
    margin-bottom: .2rem;
    color: var(--portal-mode-muted);
    font-size: .75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.application-metric-list dd {
    margin: 0;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.contract-info-panel {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.contract-field-hint,
.contract-summary-meta {
    margin: 0;
    color: var(--portal-mode-muted);
}

.contract-summary-meta {
    font-size: .78rem;
    font-weight: 500;
}

.contract-start-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1.1rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .65rem 1.5rem rgba(var(--bs-dark-rgb), .06);
}

.contract-start-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1.35rem;
}

.contract-start-body .form-label {
    margin-bottom: .25rem;
    color: var(--portal-mode-ink);
    font-weight: 600;
}

.contract-start-input {
    max-width: 18rem;
    margin-top: .75rem;
    border-radius: .85rem !important;
}

.contract-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}

.contract-summary-card {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    margin: 0;
    padding: .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: .9rem;
    background: var(--portal-mode-surface);
}

.contract-summary-card .form-label {
    margin-bottom: 0;
}

.contract-summary-value {
    display: block;
    color: var(--portal-mode-ink);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    font-weight: 600;
    line-height: 1.2;
}

.application-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: auto;
    padding-top: .85rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .14);
}

.application-card-actions .btn {
    border-radius: 999px !important;
}

.application-document-list {
    display: grid;
    gap: .85rem;
}

.application-document-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
}

.application-document-card.is-complete {
    border-color: rgba(var(--bs-success-rgb), .18);
}

.application-document-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .1);
    color: var(--portal-brand);
    font-size: 1.25rem;
}

.application-document-card.is-complete .application-document-icon {
    background: rgba(var(--bs-success-rgb), .12);
    color: var(--bs-success);
}

.application-document-body {
    min-width: 0;
}

.application-document-body p {
    margin: .55rem 0 0;
    color: var(--portal-mode-muted);
}

.application-empty-state {
    grid-column: 1 / -1;
    padding: 2rem;
    color: var(--portal-mode-muted);
    text-align: center;
}

.application-empty-state i {
    display: block;
    margin-bottom: .75rem;
    color: var(--portal-brand);
    font-size: 2rem;
}

.application-empty-state h5 {
    margin: 0 0 .3rem;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.application-empty-state p {
    margin: 0;
}

.application-empty-state.error i {
    color: var(--bs-danger);
}

.benefit-modal-form {
    margin: 0;
}

.benefit-modal-header {
    align-items: flex-start;
    padding: 1.25rem 1.5rem;
    border-bottom: 0;
    background: linear-gradient(135deg, var(--portal-brand), var(--portal-brand-strong));
    color: var(--bs-light);
}

.benefit-modal-header .portal-page-kicker,
.benefit-modal-header p,
.benefit-modal-header .modal-title {
    color: inherit;
}

.benefit-modal-header .modal-title {
    margin: .2rem 0 .25rem;
    font-weight: 500;
    letter-spacing: -.02em;
}

.benefit-modal-header p {
    max-width: 44rem;
    margin: 0;
    opacity: .88;
}

/*.benefit-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0 !important;
    border: 1px solid rgba(var(--bs-light-rgb), .26) !important;
    border-radius: 999px;
    background: rgba(var(--bs-light-rgb), .12) !important;
    color: var(--bs-light) !important;
    opacity: 1 !important;
    text-shadow: none !important;
}*/

.benefit-modal-validation {
    margin: 0;
    padding: .75rem 1.5rem 0;
}

.benefit-modal-body {
    padding: 1.5rem;
    background: var(--portal-mode-surface);
}

.benefit-modal-layout {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    gap: 1.25rem;
}

.benefit-modal-guide,
.benefit-modal-section,
.benefit-field-card {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.benefit-modal-guide {
    align-self: start;
    padding: 1rem;
}

.benefit-modal-guide-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: .85rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1.35rem;
}

.benefit-modal-guide h6,
.benefit-modal-section-title h6 {
    margin: 0 0 .3rem;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.benefit-modal-guide p,
.benefit-modal-guide li,
.benefit-modal-section-title p {
    color: var(--portal-mode-muted);
}

.benefit-modal-guide p {
    margin-bottom: .8rem;
}

.benefit-modal-guide ul {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding-left: 1.1rem;
}

.benefit-modal-fields {
    display: grid;
    gap: 1rem;
}

.benefit-modal-section {
    padding: 1rem;
    background: var(--portal-mode-surface);
}

.benefit-modal-section-title {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: 1rem;
}

.benefit-modal-section-title > span {
    color: var(--portal-brand);
    font-weight: 700;
    letter-spacing: -.04em;
}

.benefit-modal-section-title p {
    margin: 0;
}

.benefit-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.benefit-field-card {
    margin: 0;
    padding: .85rem;
}

.benefit-field-card.full-width {
    width: 100%;
}

.benefit-field-card.emphasis {
    background: rgba(var(--bs-primary-rgb), .06);
    border-color: rgba(var(--bs-primary-rgb), .18);
}

.benefit-field-card .form-label {
    margin-bottom: .4rem;
    color: var(--portal-mode-ink);
    font-weight: 500 !important;
}

.benefit-field-card .form-control,
.benefit-field-card .select2-container--default .select2-selection--single {
    border-radius: .85rem !important;
}

.benefit-modal-footer {
    gap: .6rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: var(--portal-mode-surface);
}

.benefit-modal-footer .btn {
    border-radius: 999px !important;
}

.beneficiary-modal-form,
.document-modal-form {
    margin: 0;
}

#appDocModal .modal-content {
    overflow: hidden;
}

#appDocModal .document-modal-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.beneficiary-modal-header,
.document-modal-header,
.health-questionnaire-modal-header {
    align-items: flex-start;
    padding: 1.25rem 1.5rem;
    border-bottom: 0;
    background: linear-gradient(135deg, var(--portal-brand), var(--portal-brand-strong));
    color: var(--bs-light);
}

.beneficiary-modal-header .portal-page-kicker,
.beneficiary-modal-header p,
.beneficiary-modal-header .modal-title,
.document-modal-header .portal-page-kicker,
.document-modal-header p,
.document-modal-header .modal-title,
.health-questionnaire-modal-header .portal-page-kicker,
.health-questionnaire-modal-header p,
.health-questionnaire-modal-header .modal-title {
    color: inherit;
}

.beneficiary-modal-header .modal-title,
.document-modal-header .modal-title,
.health-questionnaire-modal-header .modal-title {
    margin: .2rem 0 .25rem;
    font-weight: 500;
    letter-spacing: -.02em;
}

.beneficiary-modal-header p,
.document-modal-header p,
.health-questionnaire-modal-header p {
    max-width: 44rem;
    margin: 0;
    opacity: .88;
}

.beneficiary-modal-validation,
.document-modal-validation {
    margin: 0;
    padding: .75rem 1.5rem 0;
}

.beneficiary-modal-body,
.document-modal-body,
.health-questionnaire-modal-body {
    padding: 1.5rem;
    background: var(--portal-mode-surface);
}

.beneficiary-modal-layout {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    gap: 1.25rem;
}

.beneficiary-modal-guide,
.beneficiary-field-card,
.document-upload-card,
.document-drop-zone {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.beneficiary-modal-guide {
    align-self: start;
    padding: 1rem;
}

.beneficiary-modal-guide-icon,
.document-upload-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin-bottom: .85rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1.35rem;
}

.beneficiary-modal-guide h6,
.document-upload-card h6 {
    margin: 0 0 .3rem;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.beneficiary-modal-guide p,
.beneficiary-modal-guide li,
.beneficiary-switch-card p,
.document-upload-card p,
.document-drop-zone p {
    color: var(--portal-mode-muted);
}

.beneficiary-modal-guide p {
    margin-bottom: .8rem;
}

.beneficiary-modal-guide ul {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding-left: 1.1rem;
}

.beneficiary-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.beneficiary-field-card {
    margin: 0;
    padding: .85rem;
}

.beneficiary-field-card.full-width,
.beneficiary-switch-card {
    grid-column: 1 / -1;
}

.beneficiary-field-card.emphasis {
    background: rgba(var(--bs-primary-rgb), .06);
    border-color: rgba(var(--bs-primary-rgb), .18);
}

.beneficiary-field-card .form-label {
    margin-bottom: .4rem;
    color: var(--portal-mode-ink);
    font-weight: 500 !important;
}

.beneficiary-field-card .form-control,
.beneficiary-field-card .select2-container--default .select2-selection--single {
    border-radius: .85rem !important;
}

.beneficiary-switch-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.beneficiary-switch-card strong,
.document-drop-zone strong {
    display: block;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.beneficiary-switch-card p {
    margin: .2rem 0 0;
}

.beneficiary-modal-footer,
.document-modal-footer {
    gap: .6rem;
    padding: 1rem 1.5rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: var(--portal-mode-surface);
}


.document-modal-body {
    display: grid;
    gap: 1rem;
}

.document-upload-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
}

.document-upload-card .document-upload-icon {
    margin-bottom: 0;
}

.document-upload-card p {
    margin: .4rem 0 .65rem;
}

.document-drop-zone {
    padding: 1.25rem;
    text-align: center;
}

.document-drop-zone > i {
    display: block;
    margin-bottom: .75rem;
    color: var(--portal-brand);
    font-size: 2rem;
}

.document-drop-zone p {
    margin: .25rem 0 1rem;
}

.document-drop-zone .form-control-file {
    display: inline-block;
    max-width: 28rem;
}

.health-questionnaire-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 1.2rem;
}

.health-questionnaire-body {
    padding: 0 !important;
    background: transparent !important;
}

.health-questionnaire-status {
    margin-bottom: 1rem;
}

.health-questionnaire-start {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.health-questionnaire-start i {
    color: var(--portal-brand);
    font-size: 1.35rem;
}

.health-questionnaire-start strong {
    display: block;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.health-questionnaire-start p {
    margin: .25rem 0 0;
    color: var(--portal-mode-muted);
}

.health-questionnaire-body #svg_wrap {
    display: none;
}

.health-questionnaire-body #SurveyQuestions {
    margin-top: 1rem;
}

.health-questionnaire-disclaimer {
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
}

.health-questionnaire-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .6rem;
    margin-top: 1rem;
    padding: 1rem;
}

.health-questionnaire-body .questions,
.health-questionnaire-body .question-fieldset {
    margin: 0;
}

.health-questionnaire-body .question-fieldset {
    padding: 1.15rem;
}

.health-questionnaire-body .question-title-container {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .4rem .65rem;
    margin: 0 0 1rem;
    color: var(--portal-mode-ink);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.45;
}

.health-questionnaire-body .question-number {
    color: var(--portal-brand);
    font-weight: 700;
}

.health-questionnaire-body .question-info,
.health-questionnaire-body .requiredErrorMessage,
.health-questionnaire-body .optionErrorMessage {
    grid-column: 1 / -1;
}

.health-questionnaire-body .question-info {
    display: inline-flex;
    align-items: flex-start;
    gap: .4rem;
    margin-top: .25rem;
    padding: .65rem .75rem;
    border-radius: .85rem;
    background: rgba(var(--bs-primary-rgb), .09);
    color: var(--portal-mode-muted);
    font-size: .88rem;
    font-weight: 400;
}

.health-questionnaire-body .answer-option-col,
.motor-underwriting-flow .answer-option-col {
    display: grid;
    gap: .65rem;
}

.health-questionnaire-body .radio-button-label,
.motor-underwriting-flow .radio-button-label {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    margin: 0;
    padding: .75rem .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .2);
    border-radius: .9rem;
    background: var(--portal-mode-surface);
    color: var(--portal-mode-ink);
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.health-questionnaire-body .radio-button-label:hover,
.health-questionnaire-body .radio-button-label:focus-within,
.health-questionnaire-body .radio-button-label:has(input:checked),
.motor-underwriting-flow .radio-button-label:hover,
.motor-underwriting-flow .radio-button-label:focus-within,
.motor-underwriting-flow .radio-button-label.selected,
.motor-underwriting-flow .radio-button-label:has(input:checked) {
    border-color: rgba(var(--bs-primary-rgb), .45);
    background: rgba(var(--bs-primary-rgb), .08);
    box-shadow: 0 .45rem 1rem rgba(var(--bs-dark-rgb), .06);
}

.health-questionnaire-body .radio-button-display,
.health-questionnaire-body .checkbox-button-display,
.motor-underwriting-flow .radio-button-display,
.motor-underwriting-flow .checkbox-button-display {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    accent-color: var(--portal-brand);
}

.health-questionnaire-body .radio-button-label-text,
.motor-underwriting-flow .radio-button-label-text {
    margin: 0;
    color: inherit;
    font-weight: 500;
}

.health-questionnaire-body .text-input-container {
    max-width: 32rem;
}

.health-questionnaire-body .wds-input {
    width: 100%;
    min-height: 2.8rem;
    padding: .65rem .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .28);
    border-radius: .85rem;
    background: var(--portal-mode-surface);
    color: var(--portal-mode-ink);
    outline: none;
}

.health-questionnaire-body .wds-input:focus {
    border-color: rgba(var(--bs-primary-rgb), .55);
    box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .12);
}

.health-questionnaire-disclaimer .survey-title {
    margin: 0 0 .5rem;
    color: var(--portal-mode-ink);
    font-size: 1rem;
    font-weight: 600;
}

.health-questionnaire-disclaimer small {
    color: var(--portal-mode-muted);
}

.health-questionnaire-actions .btn {
    border-radius: 999px !important;
}


.health-decision-flow {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.health-decision-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.health-decision-hero h4 {
    margin: .15rem 0 .35rem;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.health-decision-hero p {
    max-width: 56rem;
    margin: 0;
    color: var(--portal-mode-muted);
}

.health-decision-legend {
    display: grid;
    gap: .5rem;
    min-width: 16rem;
}

.health-decision-legend span {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem .75rem;
    border-radius: 999px;
    background: var(--portal-mode-surface);
    color: var(--portal-mode-muted);
    font-size: .86rem;
}

.health-decision-legend i {
    color: var(--portal-brand);
}

.health-member-list {
    display: grid;
    gap: 1rem;
}

.health-member-card {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .55rem 1.3rem rgba(var(--bs-dark-rgb), .05);
}

.health-member-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .85rem;
}

.health-member-header h5 {
    margin: 0;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.health-question-list {
    display: grid;
    gap: .85rem;
}

.health-question-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.health-question-card span {
    display: inline-block;
    margin-bottom: .35rem;
    color: var(--portal-brand);
    font-weight: 700;
    letter-spacing: -.04em;
}

.health-question-card strong {
    display: block;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.health-question-card p {
    margin: .4rem 0 0;
    color: var(--portal-mode-muted);
}

.health-answer-group {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
}

.health-answer-pill {
    position: relative;
    margin: 0;
    cursor: pointer;
}

.health-answer-pill input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.health-answer-pill span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.25rem;
    margin: 0;
    padding: .55rem .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .24);
    border-radius: 999px;
    background: var(--portal-mode-surface);
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.health-answer-pill.selected span,
.health-answer-pill input:checked + span {
    border-color: rgba(var(--bs-primary-rgb), .5);
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
}

.health-outcome,
.health-path-panel {
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.health-outcome {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.health-outcome i {
    color: var(--portal-brand);
    font-size: 1.2rem;
}

.health-outcome.success {
    border-color: rgba(var(--bs-success-rgb), .2);
    background: rgba(var(--bs-success-rgb), .08);
}

.health-outcome.success i {
    color: var(--bs-success);
}

.health-outcome strong,
.health-path-intro strong {
    display: block;
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.health-outcome p,
.health-path-intro p,
.health-path-card small {
    margin: .25rem 0 0;
    color: var(--portal-mode-muted);
}

.health-path-panel {
    display: grid;
    gap: 1rem;
}

.health-path-intro {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.health-path-intro i {
    color: var(--portal-brand);
    font-size: 1.2rem;
}

.health-path-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.health-path-card {
    display: grid;
    gap: .45rem;
    width: 100%;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-surface);
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.health-path-card:hover,
.health-path-card:focus,
.health-path-card.selected {
    border-color: rgba(var(--bs-primary-rgb), .42);
    box-shadow: 0 .55rem 1.3rem rgba(var(--bs-dark-rgb), .07);
}

.health-path-card.selected {
    background: rgba(var(--bs-primary-rgb), .08);
}

.health-path-card strong {
    color: var(--portal-mode-ink);
    font-weight: 500;
}

.health-path-card em {
    color: var(--portal-brand);
    font-style: normal;
    font-weight: 600;
}

.health-path-card em.warning {
    color: var(--bs-warning-text-emphasis);
}

.health-path-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: .9rem;
    background: rgba(var(--bs-secondary-rgb), .14);
    color: var(--portal-brand);
    font-size: 1.1rem;
}

.health-path-icon.warning {
    background: rgba(var(--bs-warning-rgb), .16);
    color: var(--bs-warning-text-emphasis);
}

.health-path-icon.success {
    background: rgba(var(--bs-success-rgb), .12);
    color: var(--bs-success);
}

.motor-plan-page {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.5rem);
}

.motor-plan-hero,
.motor-plan-shell {
    width: min(var(--portal-content-width), calc(100% - 2rem)) !important;
    max-width: var(--portal-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.motor-plan-hero h1 {
    font-weight: 350;
    letter-spacing: -.025em;
}

.motor-plan-hero p {
    color: var(--portal-brand);
    font-weight: 400;
}

.motor-plan-shell {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.35rem);
    padding: clamp(1rem, 2vw, 1.5rem) !important;
}

.motor-plan-progress ol {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.motor-stepform-card {
    width: 100%;
    padding: clamp(1rem, 2.4vw, 1.75rem) !important;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    border-radius: 1.25rem !important;
    background: var(--portal-mode-surface) !important;
    box-shadow: 0 .85rem 2.25rem rgba(var(--bs-dark-rgb), .07);
    text-align: left;
    font: inherit;
    font-size: inherit;
}

.motor-stepform-card .portal-form-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.motor-stepform-card .form-grid {
    overflow: hidden;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .65rem 1.65rem rgba(var(--bs-dark-rgb), .06);
}

.motor-stepform-card .form-grid > .title {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: var(--portal-mode-soft);
}

.motor-stepform-card .form-grid > .title h5 {
    margin: 0;
    color: var(--portal-mode-ink);
    font-weight: 400;
}

.motor-stepform-card .form-grid > .body {
    padding: clamp(1rem, 2vw, 1.5rem);
}

.motor-stepform-card .form-label,
.motor-stepform-card label {
    font-weight: 400 !important;
}

.motor-stepform-card .bg-gray {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .6rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: transparent !important;
}

.motor-stepform-card .stepbutton {
    margin-top: 0 !important;
    font-weight: 400;
}

body.dark-theme .application-smartwizard {
    background: var(--portal-dark-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
}

body.dark-theme .application-journey,
body.dark-theme .application-step-trigger,
body.dark-theme .application-step-intro,
body.dark-theme .application-review-tile,
body.dark-theme .application-card-section-header,
body.dark-theme .application-info-card,
body.dark-theme .contract-start-card,
body.dark-theme .contract-summary-card,
body.dark-theme .application-document-card,
body.dark-theme .application-empty-state,
body.dark-theme .application-card-summary span,
body.dark-theme .benefit-modal-body,
body.dark-theme .benefit-modal-section,
body.dark-theme .benefit-modal-footer,
body.dark-theme .benefit-modal-guide,
body.dark-theme .benefit-field-card,
body.dark-theme .beneficiary-modal-body,
body.dark-theme .beneficiary-modal-footer,
body.dark-theme .beneficiary-modal-guide,
body.dark-theme .beneficiary-field-card,
body.dark-theme .document-modal-body,
body.dark-theme .document-modal-footer,
body.dark-theme .document-upload-card,
body.dark-theme .document-drop-zone,
body.dark-theme .health-questionnaire-modal-body,
body.dark-theme .health-questionnaire-start,
body.dark-theme .health-questionnaire-disclaimer,
body.dark-theme .health-questionnaire-body .question-fieldset,
body.dark-theme .health-questionnaire-body .radio-button-label,
body.dark-theme .health-questionnaire-body .wds-input,
body.dark-theme .health-decision-hero,
body.dark-theme .health-decision-legend span,
body.dark-theme .health-member-card,
body.dark-theme .health-question-card,
body.dark-theme .health-outcome,
body.dark-theme .health-path-panel,
body.dark-theme .health-path-card,
body.dark-theme .health-answer-pill span {
    background: var(--portal-dark-surface);
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .application-step-trigger,
body.dark-theme .application-step-intro,
body.dark-theme .application-review-tile,
body.dark-theme .application-card-section-header,
body.dark-theme .application-metric-list div,
body.dark-theme .benefit-modal-guide,
body.dark-theme .benefit-field-card,
body.dark-theme .beneficiary-modal-guide,
body.dark-theme .beneficiary-field-card,
body.dark-theme .document-upload-card,
body.dark-theme .document-drop-zone,
body.dark-theme .health-questionnaire-start,
body.dark-theme .health-questionnaire-disclaimer,
body.dark-theme .health-questionnaire-body .question-fieldset,
body.dark-theme .health-decision-hero,
body.dark-theme .health-question-card,
body.dark-theme .health-outcome,
body.dark-theme .health-path-panel {
    background: rgba(var(--bs-light-rgb), .045);
}

body.dark-theme .motor-stepform-card,
body.dark-theme .motor-stepform-card .form-grid {
    background: var(--portal-dark-surface) !important;
    border-color: rgba(var(--bs-light-rgb), .08) !important;
}

body.dark-theme .motor-stepform-card .form-grid > .title {
    border-color: rgba(var(--bs-light-rgb), .08);
    background: rgba(var(--bs-light-rgb), .045);
}

body.dark-theme .motor-plan-hero h1,
body.dark-theme .motor-stepform-card h1,
body.dark-theme .motor-stepform-card h2,
body.dark-theme .motor-stepform-card h3,
body.dark-theme .motor-stepform-card h4,
body.dark-theme .motor-stepform-card h5,
body.dark-theme .motor-stepform-card h6 {
    color: var(--bs-body-color);
}

body.dark-theme .application-smartwizard .card,
body.dark-theme .application-smartwizard .card-header {
    border-color: rgba(var(--bs-light-rgb), .08);
    background: rgba(var(--bs-light-rgb), .045);
}

body.dark-theme .application-edit-hero h1,
body.dark-theme .application-journey-header h2,
body.dark-theme .application-step-intro h3,
body.dark-theme .application-review-tile h4,
body.dark-theme .application-card-section-header h4,
body.dark-theme .application-info-card h5,
body.dark-theme .contract-start-body .form-label,
body.dark-theme .contract-summary-value,
body.dark-theme .application-document-card h5,
body.dark-theme .application-empty-state h5,
body.dark-theme .benefit-modal-guide h6,
body.dark-theme .benefit-modal-section-title h6,
body.dark-theme .beneficiary-modal-guide h6,
body.dark-theme .beneficiary-field-card .form-label,
body.dark-theme .beneficiary-switch-card strong,
body.dark-theme .document-upload-card h6,
body.dark-theme .document-drop-zone strong,
body.dark-theme .health-questionnaire-start strong,
body.dark-theme .health-questionnaire-body .question-title-container,
body.dark-theme .health-questionnaire-body .radio-button-label,
body.dark-theme .health-questionnaire-disclaimer .survey-title,
body.dark-theme .health-decision-hero h4,
body.dark-theme .health-member-header h5,
body.dark-theme .health-question-card strong,
body.dark-theme .health-outcome strong,
body.dark-theme .health-path-intro strong,
body.dark-theme .health-path-card strong,
body.dark-theme .application-smartwizard h1,
body.dark-theme .application-smartwizard h2,
body.dark-theme .application-smartwizard h3,
body.dark-theme .application-smartwizard h4,
body.dark-theme .application-smartwizard h5,
body.dark-theme .application-smartwizard h6 {
    color: var(--bs-body-color);
}

.application-review-page {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.5rem);
}

.application-review-hero,
.application-review-shell {
    width: min(var(--portal-content-width), calc(100% - 2rem)) !important;
    max-width: var(--portal-content-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.application-review-hero h1 {
    font-weight: 350;
    letter-spacing: -.025em;
}

.application-review-hero p strong {
    color: var(--portal-brand);
    font-weight: 500;
}

/* Keep application workflow context visible without pushing the form below the fold. */
.application-workflow-hero {
    gap: .35rem;
    margin-top: .6rem;
    margin-bottom: .55rem;
    padding: clamp(.65rem, 1.25vw, .9rem) clamp(.9rem, 1.5vw, 1.2rem) !important;
}

.application-workflow-hero > div:first-child {
    max-width: 46rem;
}

.application-workflow-hero .portal-page-kicker {
    margin-bottom: .1rem;
    font-size: .65rem;
    line-height: 1.15;
}

.application-workflow-hero h1,
.acceptance-hero.application-workflow-hero h1,
.contract-review-hero.application-workflow-hero h1 {
    max-width: 42rem;
    margin-bottom: .1rem;
    font-size: clamp(1.2rem, 1.7vw, 1.55rem);
    line-height: 1.16;
}

.application-workflow-hero p,
.acceptance-hero.application-workflow-hero p,
.contract-review-hero.application-workflow-hero p {
    max-width: 42rem;
    margin-top:5px;
    margin-bottom: 5px;
    font-size: .86rem;
    line-height: 1.35;
}

.application-workflow-hero .application-reference {
    margin-top: .35rem;
    padding: .3rem .55rem;
    font-size: .72rem;
}

@media (max-width: 575.98px) {
    .application-workflow-hero {
        width: calc(100% - 1rem) !important;
        margin-top: .4rem;
        margin-bottom: .4rem;
        padding: .6rem .75rem !important;
    }

    .application-workflow-hero h1,
    .acceptance-hero.application-workflow-hero h1,
    .contract-review-hero.application-workflow-hero h1 {
        font-size: 1.15rem;
    }

    .application-workflow-hero p {
        font-size: .82rem;
    }
}

.application-review-shell {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 1.35rem);
    padding: clamp(1rem, 2vw, 1.5rem) !important;
}

.portal-application-progress ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.portal-application-progress li {
    position: relative;
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 4rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .22);
    border-radius: 1rem;
    background: var(--portal-mode-surface);
    color: var(--portal-mode-muted);
    box-shadow: 0 .75rem 1.75rem rgba(var(--bs-dark-rgb), .06);
}

.portal-application-progress li.active,
.portal-application-progress li.completed {
    border-color: rgba(var(--bs-primary-rgb), .30);
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
}

.portal-application-progress-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.9rem;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .16);
    color: inherit;
    font-size: .82rem;
    font-weight: 600;
}

.portal-application-progress li.active .portal-application-progress-index,
.portal-application-progress li.completed .portal-application-progress-index {
    background: var(--portal-brand);
    color: var(--bs-light);
}

.page-inner-card-wrap {
    width: 100%;
}

.page-inner-card {
    overflow: hidden;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18) !important;
    border-radius: 1.25rem !important;
    background: var(--portal-mode-surface) !important;
    box-shadow: 0 .85rem 2.25rem rgba(var(--bs-dark-rgb), .07);
}

.page-inner-card > .card-header {
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .16);
    background: linear-gradient(135deg, var(--portal-brand), var(--portal-brand-strong));
    color: var(--bs-light);
}

.page-inner-card > .card-header .card-title {
    margin: 0;
    color: inherit;
    font-weight: 500;
}

.page-inner-card > .card-body {
    font: inherit;
    font-size: inherit;
    padding: clamp(1.25rem, 2.4vw, 2rem);
}

.page-inner-card > .card-body p,
.page-inner-card > .card-body label,
.page-inner-card > .card-body .form-check-label {
    font-size: inherit;
}

.page-inner-card .signature-pad canvas {
    border: 1px solid rgba(var(--bs-dark-rgb), .22) !important;
    border-radius: .85rem;
    background: var(--bs-light);
}

.offer-coverage-hero h1 {
    max-width: 44rem;
    font-size: clamp(1.65rem, 2.6vw, 2rem);
    line-height: 1.16;
}

.offer-coverage-hero p {
    max-width: 48rem;
    font-size: 1rem;
    line-height: 1.55;
}

.offer-coverage-card-header {
    padding: 1rem 1.25rem !important;
}


.offer-coverage-card-header .card-title {
    margin-top: .15rem !important;
    font-size: 1.1rem;
    line-height: 1.3;
}

.page-inner-card-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: inherit !important;
    line-height: 1.5;
}

.offer-coverage-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.offer-coverage-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: var(--portal-mode-muted);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.offer-coverage-summary strong {
    display: block;
    color: var(--portal-mode-ink);
    font-size: 1.65rem;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.offer-coverage-summary p {
    max-width: 46rem;
    margin: .4rem 0 0;
    color: var(--portal-mode-muted);
    font-size: .92rem !important;
}

.offer-coverage-summary > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1.35rem;
    box-shadow: none;
}

.offer-coverage-guidance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.offer-coverage-guidance article {
    min-height: 100%;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.offer-coverage-guidance i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    margin-bottom: .65rem;
    border-radius: .9rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1rem;
}

.offer-coverage-guidance h3 {
    margin: 0 0 .45rem;
    color: var(--portal-mode-ink);
    font-size: 1rem;
    font-weight: 600;
}

.offer-coverage-guidance p {
    margin: 0;
    color: var(--portal-mode-muted);
    font-size: .9rem !important;
    line-height: 1.5;
}

.under-review-status-panel {
    margin-bottom: 1rem;
}

.under-review-status-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: .85rem;
}

.under-review-status-meta span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .6rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 999px;
    background: var(--portal-mode-card);
    color: var(--portal-mode-muted);
    font-size: .82rem;
    font-weight: 600;
}

.under-review-assessment-card,
.under-review-requirements,
.under-review-empty-state,
.under-review-timeline {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-card);
}

.under-review-assessment-card {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.under-review-assessment-card h3,
.under-review-empty-state h4,
.under-review-mini-card h4,
.under-review-timeline-step h3 {
    margin: 0 0 .4rem;
    color: var(--portal-mode-ink);
    font-weight: 700;
}

.under-review-assessment-card p,
.under-review-empty-state p,
.under-review-timeline-step p {
    margin: 0;
    color: var(--portal-mode-muted);
    font-size: .92rem !important;
}

.under-review-pill-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .5rem;
    min-width: 11rem;
}

.under-review-pill,
.under-review-required {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .35rem .7rem;
    border-radius: 999px;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.under-review-pill-muted {
    background: rgba(var(--bs-secondary-rgb), .12);
    color: var(--portal-mode-muted);
}

.under-review-section-heading {
    margin-bottom: 1rem;
}

.under-review-task-list {
    display: grid;
    gap: 1rem;
}

.under-review-task-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.under-review-task-main {
    display: flex;
    gap: .85rem;
}

.under-review-task-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1.1rem;
}

.under-review-task-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: .35rem;
}

.under-review-task-title h4 {
    margin: 0;
    color: var(--portal-mode-ink);
    font-size: 1rem;
    font-weight: 700;
}

.under-review-required {
    padding: .25rem .55rem;
    background: rgba(var(--bs-danger-rgb), .1);
    color: var(--bs-danger);
    font-size: .68rem;
}

.under-review-task-main p {
    margin: 0 0 .65rem;
    color: var(--portal-mode-muted);
    font-size: .9rem !important;
    line-height: 1.5;
}

.under-review-task-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.under-review-task-meta span {
    padding: .25rem .5rem;
    border-radius: 999px;
    background: var(--portal-mode-card);
    color: var(--portal-mode-muted);
    font-size: .76rem;
    font-weight: 700;
}

.under-review-upload-panel form {
    display: grid;
    gap: .55rem;
}

.under-review-upload-label {
    margin: 0;
    color: var(--portal-mode-ink);
    font-size: .84rem;
    font-weight: 700;
}

.under-review-empty-state {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    background: var(--portal-mode-soft);
}

.under-review-empty-state > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.75rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 1rem;
    background: rgba(var(--bs-success-rgb), .12);
    color: var(--bs-success);
    font-size: 1.1rem;
}

.under-review-secondary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.under-review-mini-card {
    padding: .85rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: .9rem;
    background: var(--portal-mode-soft);
}

.under-review-mini-card h4 {
    font-size: .95rem;
}

.under-review-mini-row {
    display: grid;
    gap: .75rem;
    padding: .5rem 0;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .14);
    color: var(--portal-mode-muted);
    font-size: .84rem;
}

.under-review-mini-row strong {
    color: var(--portal-mode-ink);
}

.under-review-mini-row span {
    line-height: 1.45;
}

.under-review-timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    background: var(--portal-mode-soft);
}

.under-review-timeline-step {
    display: flex;
    gap: .75rem;
}

.under-review-timeline-step > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(var(--bs-secondary-rgb), .14);
    color: var(--portal-mode-muted);
    font-weight: 800;
}

.under-review-timeline-step.active > span {
    background: rgba(var(--bs-primary-rgb), .14);
    color: var(--portal-brand);
}

.under-review-timeline-step h3 {
    font-size: .95rem;
}

.offer-coverage-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .75rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
}


.offer-coverage-next {
    min-width: 9rem;
}

.acceptance-hero h1 {
    max-width: 44rem;
    font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    line-height: 1.16;
}

.acceptance-hero p {
    max-width: 48rem;
    font-size: 1rem;
    line-height: 1.55;
}

.acceptance-card-header {
    padding: 1rem 1.25rem !important;
}

.acceptance-card-header .card-title {
    margin-top: .15rem !important;
    font-size: 1.1rem;
    line-height: 1.3;
}

.acceptance-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: inherit !important;
    line-height: 1.5;
}

.acceptance-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.acceptance-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: var(--portal-mode-muted);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.acceptance-summary strong {
    display: block;
    color: var(--portal-mode-ink);
    font-size: 1.65rem;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.acceptance-summary p {
    max-width: 46rem;
    margin: .4rem 0 0;
    color: var(--portal-mode-muted);
    font-size: .92rem !important;
}

.acceptance-summary > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1.35rem;
    box-shadow: none;
}



.acceptance-terms-card h3,
.acceptance-section-heading h3 {
    margin: 0 0 .75rem;
    color: var(--portal-mode-ink);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -.02em;
}

.acceptance-terms-card ul {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding-left: 1.25rem;
    color: var(--portal-mode-muted);
}

.acceptance-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.acceptance-section-heading h3 {
    margin-bottom: 0;
}

.acceptance-section-heading p,
.acceptance-helper-text,
.acceptance-disclaimer p,
.acceptance-success p {
    margin: 0;
    color: var(--portal-mode-muted);
}

.acceptance-section-heading p {
    max-width: 34rem;
    font-size: .9rem !important;
}

.acceptance-method-toggle {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.acceptance-method-option {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 2.6rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .2);
    border-radius: 999px;
    background: var(--portal-mode-surface);
    color: var(--portal-mode-muted);
    font-weight: 500;
    transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.acceptance-method-option.active,
.acceptance-method-option:hover,
.acceptance-method-option:focus-visible {
    border-color: rgba(var(--bs-primary-rgb), .48);
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    outline: none;
    box-shadow: 0 .75rem 1.5rem rgba(var(--bs-primary-rgb), .10);
}

.acceptance-method-panel {
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: 1rem;
    background: var(--portal-mode-surface);
}

.acceptance-helper-text {
    margin-bottom: .85rem;
}

.acceptance-signature-pad {
    display: flex;
    flex-direction: column;
    width: min(100%, 32rem);
    margin-inline: auto;
}

.acceptance-canvas-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 1;
    overflow: hidden;
    border: 1px dashed rgba(var(--bs-secondary-rgb), .44);
    border-radius: 1rem;
    background: var(--bs-light);
}

.acceptance-canvas-wrapper canvas {
    display: block;
    width: 100%;
    height: 100%;
    border: 0 !important;
    background: var(--bs-light);
    touch-action: none;
    user-select: none;
}

.acceptance-pad-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .65rem;
    margin-top: .85rem;
}


.acceptance-typed-name {
    min-height: 3.25rem;
    border-radius: .9rem !important;
    font-size: 1.05rem;
}

.acceptance-checkbox {
    margin: 1rem 0;
    padding: .85rem .85rem .85rem 2.35rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .16);
    border-radius: .9rem;
    background: var(--portal-mode-soft);
}

.acceptance-disclaimer,
.acceptance-success {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 1rem;
}

.acceptance-disclaimer {
    border: 1px solid rgba(var(--bs-primary-rgb), .16);
    background: rgba(var(--bs-primary-rgb), .06);
}

.acceptance-disclaimer i {
    color: var(--portal-brand);
    margin-top: .2rem;
}

.acceptance-success {
    border: 1px solid rgba(var(--bs-success-rgb), .18);
    background: rgba(var(--bs-success-rgb), .08);
    color: var(--bs-success);
}

.acceptance-success strong {
    display: block;
    color: inherit;
}

.acceptance-success p {
    color: inherit;
}

.acceptance-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .75rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
}

.acceptance-next {
    min-width: 9rem;
}

.contract-review-hero h1 {
    max-width: 44rem;
    font-size: clamp(1.65rem, 2.6vw, 2.35rem);
    line-height: 1.16;
}

.contract-review-hero p {
    max-width: 48rem;
    font-size: 1rem;
    line-height: 1.55;
}

.contract-review-card-header {
    padding: 1rem 1.25rem !important;
}



.contract-review-card-header .card-title {
    margin-top: .15rem !important;
    font-size: 1.1rem;
    line-height: 1.3;
}

.contract-review-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    font-size: inherit !important;
    line-height: 1.5;
}

.contract-review-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.contract-review-eyebrow,
.contract-review-details span {
    display: block;
    margin-bottom: .35rem;
    color: var(--portal-mode-muted);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contract-review-summary strong {
    display: block;
    color: var(--portal-mode-ink);
    font-size: 1.35rem;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.contract-review-summary p {
    margin: .4rem 0 0;
    color: var(--portal-mode-muted);
    font-size: .92rem !important;
}

.contract-review-summary > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: rgba(var(--bs-primary-rgb), .12);
    color: var(--portal-brand);
    font-size: 1.35rem;
}

.contract-review-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.contract-review-details div,
.contract-review-checkbox {
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: 1rem;
    background: var(--portal-mode-soft);
}

.contract-review-details strong {
    display: block;
    color: var(--portal-mode-ink);
    font-size: .98rem;
    font-weight: 600;
}

.contract-review-checkbox {
    margin: 0;
    padding-left: 2.35rem;
}

.contract-review-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .75rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(var(--bs-secondary-rgb), .16);
}



.contract-review-alert {
    margin: 0;
}

body.dark-theme .page-inner-card,
body.dark-theme .portal-application-progress li,
body.dark-theme .offer-coverage-guidance article,
body.dark-theme .acceptance-terms-card,
body.dark-theme .acceptance-signing-card,
body.dark-theme .acceptance-method-panel,
body.dark-theme .acceptance-checkbox,
body.dark-theme .contract-review-details div,
body.dark-theme .contract-review-checkbox {
    border-color: rgba(var(--bs-light-rgb), .08) !important;
    background: var(--portal-dark-surface) !important;
}

body.dark-theme .application-review-hero h1,
body.dark-theme .page-inner-card h5,
body.dark-theme .offer-coverage-summary strong,
body.dark-theme .offer-coverage-guidance h3,
body.dark-theme .acceptance-summary strong,
body.dark-theme .acceptance-terms-card h3,
body.dark-theme .acceptance-section-heading h3,
body.dark-theme .contract-review-summary strong,
body.dark-theme .contract-review-details strong {
    color: var(--bs-body-color);
}

body.dark-theme .offer-coverage-summary,
body.dark-theme .acceptance-summary,
body.dark-theme .contract-review-summary {
    border-color: rgba(var(--bs-light-rgb), .08);
    background: rgba(var(--bs-light-rgb), .045);
}

body.dark-theme .offer-coverage-summary > i,
body.dark-theme .acceptance-summary > i,
body.dark-theme .contract-review-summary > i {
    background: rgba(var(--bs-light-rgb), .08);
    box-shadow: none;
}

body.dark-theme .acceptance-method-option {
    background: rgba(var(--bs-light-rgb), .045);
    border-color: rgba(var(--bs-light-rgb), .08);
    color: var(--bs-secondary-color);
}

body.dark-theme .acceptance-method-option.active,
body.dark-theme .acceptance-method-option:hover,
body.dark-theme .acceptance-method-option:focus-visible {
    color: var(--bs-primary-text-emphasis);
}

body.dark-theme .under-review-assessment-card,
body.dark-theme .under-review-requirements,
body.dark-theme .under-review-empty-state,
body.dark-theme .under-review-timeline,
body.dark-theme .under-review-task-card,
body.dark-theme .under-review-mini-card,
body.dark-theme .under-review-status-meta span,
body.dark-theme .under-review-task-meta span {
    border-color: rgba(var(--bs-light-rgb), .08);
    background: rgba(var(--bs-light-rgb), .045);
}

body.dark-theme .under-review-assessment-card h3,
body.dark-theme .under-review-empty-state h4,
body.dark-theme .under-review-mini-card h4,
body.dark-theme .under-review-task-title h4,
body.dark-theme .under-review-timeline-step h3,
body.dark-theme .under-review-upload-label,
body.dark-theme .under-review-mini-row strong {
    color: var(--bs-body-color);
}

@media (max-width: 991.98px) {
    .portal-application-progress ol {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        padding: .35rem .15rem 0;
    }

    .portal-application-progress li {
        flex-direction: column;
        justify-content: flex-start;
        gap: .45rem;
        min-height: auto;
        padding: 0 .2rem;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        text-align: center;
        font-size: .72rem;
        line-height: 1.2;
    }

    .portal-application-progress li::after {
        content: "";
        position: absolute;
        top: .95rem;
        left: calc(50% + 1.05rem);
        right: calc(-50% + 1.05rem);
        height: 2px;
        border-radius: 999px;
        background: rgba(var(--bs-secondary-rgb), .28);
    }

    .portal-application-progress li:last-child::after {
        display: none;
    }

    .portal-application-progress li.completed::after {
        background: rgba(var(--bs-primary-rgb), .55);
    }

    .portal-application-progress li.active,
    .portal-application-progress li.completed {
        border-color: transparent;
        background: transparent;
    }

    body.dark-theme .portal-application-progress li,
    body.dark-theme .portal-application-progress li.active,
    body.dark-theme .portal-application-progress li.completed {
        border-color: transparent !important;
        background: transparent !important;
        box-shadow: none;
    }

    .portal-application-progress-index {
        position: relative;
        z-index: 1;
        flex-basis: 2rem;
        width: 2rem;
        height: 2rem;
        border: 2px solid var(--portal-mode-surface);
        box-shadow: 0 .4rem .9rem rgba(var(--bs-dark-rgb), .12);
    }

    .application-journey-header,
    .application-journey-layout {
        grid-template-columns: 1fr;
    }

    .application-journey-header {
        flex-direction: column;
    }

    .application-journey-sidebar {
        position: static;
        min-width: 0;
    }

    .application-step-list {
        display: flex;
        flex-flow: row nowrap;
        gap: .6rem;
        overflow-x: auto;
        overflow-y: hidden;
        padding: .15rem .1rem .75rem;
        margin-inline: -.1rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .application-step-list::-webkit-scrollbar {
        height: .35rem;
    }

    .application-step-list::-webkit-scrollbar-track {
        background: transparent;
    }

    .application-step-list::-webkit-scrollbar-thumb {
        border-radius: 999px;
        background: rgba(var(--bs-secondary-rgb), .35);
    }

    .application-step-list li {
        flex: 0 0 auto;
        min-width: clamp(8.5rem, 38vw, 12rem);
        scroll-snap-align: start;
    }

    .application-step-trigger {
        align-items: center;
        gap: .55rem;
        min-height: 3.15rem;
        padding: .65rem .75rem;
        border-radius: 999px;
        white-space: nowrap;
    }

    .application-step-trigger .num {
        flex-basis: 1.8rem;
        width: 1.8rem;
        height: 1.8rem;
        font-size: .78rem;
    }

    .application-step-trigger.completed .num {
        font-size: 0;
    }

    .application-step-trigger.completed .num::before {
        font-size: .78rem;
    }

    .application-step-trigger strong {
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: .9rem;
    }

    .application-step-trigger small {
        display: none;
    }

    body.dark-theme .application-step-trigger {
        background: rgba(var(--bs-light-rgb), .045);
    }

    body.dark-theme .application-step-trigger.active {
        background: rgba(var(--bs-primary-rgb), .16);
    }

    .application-review-grid {
        grid-template-columns: 1fr;
    }

    .offer-coverage-guidance,
    .contract-review-details {
        grid-template-columns: 1fr;
    }

    .acceptance-section-heading {
        flex-direction: column;
    }

    .application-card-section-header {
        flex-direction: column;
    }

    .contract-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .application-card-grid {
        grid-template-columns: 1fr;
    }

    .benefit-modal-layout {
        grid-template-columns: 1fr;
    }

    .beneficiary-modal-layout {
        grid-template-columns: 1fr;
    }

    .beneficiary-field-grid {
        grid-template-columns: 1fr;
    }

    .health-decision-hero,
    .health-member-header {
        flex-direction: column;
    }

    .health-question-card,
    .health-path-grid {
        grid-template-columns: 1fr;
    }

    .health-answer-group {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    .application-step-list {
        margin-inline: -.35rem;
        padding-inline: .35rem;
    }

    .application-step-list li {
        min-width: min(72vw, 13rem);
    }

    .application-step-trigger {
        padding-inline: .7rem;
    }

    .application-step-toolbar {
        justify-content: stretch;
    }

    .application-step-toolbar .btn {
        flex: 1 1 100%;
    }


    .application-metric-list {
        grid-template-columns: 1fr;
    }

    .contract-start-card,
    .contract-summary-grid {
        grid-template-columns: 1fr;
    }

    .contract-start-input {
        max-width: none;
    }

    .application-document-card {
        grid-template-columns: 1fr;
    }

    .offer-coverage-summary {
        grid-template-columns: 1fr;
    }

    .under-review-assessment-card,
    .under-review-task-card,
    .under-review-secondary-grid,
    .under-review-timeline {
        grid-template-columns: 1fr;
    }

    .under-review-assessment-card {
        display: grid;
    }

    .under-review-pill-stack {
        align-items: flex-start;
        min-width: 0;
    }

    .acceptance-summary,
    .contract-review-summary {
        grid-template-columns: 1fr;
    }

    .offer-coverage-summary > i,
    .acceptance-summary > i,
    .contract-review-summary > i {
        order: -1;
    }

    .acceptance-method-toggle {
        grid-template-columns: 1fr;
    }

    .acceptance-signature-pad,
    .acceptance-pad-actions .btn {
        width: 100%;
    }

    .offer-coverage-actions,
    .acceptance-actions,
    .contract-review-actions {
        justify-content: stretch;
    }

    
    .benefit-field-grid {
        grid-template-columns: 1fr;
    }

    .benefit-modal-header,
    .benefit-modal-body,
    .benefit-modal-footer,
    .beneficiary-modal-header,
    .beneficiary-modal-body,
    .beneficiary-modal-footer,
    .document-modal-header,
    .document-modal-body,
    .document-modal-footer,
    .health-questionnaire-modal-header,
    .health-questionnaire-modal-body {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .beneficiary-switch-card,
    .document-upload-card,
    .health-questionnaire-start {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: flex-start;
    }

    .beneficiary-modal-footer,
    .document-modal-footer {
        justify-content: stretch;
    }

    #appDocModal .document-modal-footer .btn {
        flex: 1 1 0;
    }

  

    .health-answer-group {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .health-answer-pill span {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    #appDocModal .modal-dialog.modal-dialog-scrollable {
        width: calc(100% - 1rem);
        max-width: none;
        height: calc(100vh - 1rem);
        margin: .5rem auto;
    }

    @supports (height: 100dvh) {
        #appDocModal .modal-dialog.modal-dialog-scrollable {
            height: calc(100dvh - 1rem);
        }
    }

    #appDocModal .modal-content,
    #appDocModal .document-modal-form {
        height: 100%;
    }

    #appDocModal .document-modal-header {
        gap: .75rem;
        padding: .9rem 1rem;
    }

    #appDocModal .document-modal-header > div {
        min-width: 0;
    }

    #appDocModal .document-modal-header p {
        font-size: .88rem;
        line-height: 1.4;
    }

    #appDocModal .document-modal-body {
        min-height: 0;
        overflow-y: auto;
        padding-top: 1rem;
        padding-bottom: 1rem;
        overscroll-behavior: contain;
    }

    #appDocModal .document-modal-footer {
        flex-wrap: nowrap;
        padding: .85rem 1rem;
    }

    #appDocModal .document-upload-card,
    #appDocModal .document-drop-zone {
        width: 100%;
    }

    #appDocModal .document-drop-zone .form-control-file {
        display: block;
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .portal-wizard-content {
        min-height: auto;
    }

    .portal-app-table-wrap,
    .portal-app .table-responsive,
    .portal-public .table-responsive {
        max-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
    }

    .portal-app-table-wrap .dataTables_wrapper {
        min-width: 0;
    }

    .portal-app-table-wrap .dataTables_wrapper > .row {
        row-gap: .75rem;
        margin-right: 0;
        margin-left: 0;
    }

    .portal-app-table-wrap .dataTables_wrapper > .row > [class*="col-"] {
        min-width: 0;
        padding-right: 0;
        padding-left: 0;
    }

    .portal-app-table-wrap .dataTables_filter,
    .portal-app-table-wrap .dataTables_length,
    .portal-app-table-wrap .dataTables_info,
    .portal-app-table-wrap .dataTables_paginate {
        text-align: left;
    }

    .portal-app-table-wrap .dataTables_filter label {
        display: flex;
        align-items: center;
        gap: .5rem;
        max-width: 100%;
        white-space: normal;
    }

    .portal-app-table-wrap .dataTables_filter input {
        flex: 1 1 auto;
        min-width: 0;
        max-width: 100%;
        margin-left: 0;
    }

    .portal-app-table-wrap .dataTables_paginate ul.pagination {
        justify-content: flex-start;
        max-width: 100%;
        overflow-x: auto;
    }

    .application-review-shell {
        padding: .75rem !important;
    }

    .application-review-shell .container,
    .unit-linked-questionnaire-form,
    .unit-linked-questionnaire-form .survey-page,
    .unit-linked-questionnaire-form .survey-title-table-wrapper,
    .unit-linked-questionnaire-form .survey-title-table,
    .unit-linked-questionnaire-form .portal-form-section {
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
    }

    .application-review-shell .container {
        padding-right: 0;
        padding-left: 0;
    }

    .unit-linked-questionnaire-form .page-inner-card > .card-body,
    .unit-linked-questionnaire-form .survey-page .survey-page-body,
    .unit-linked-questionnaire-form .health-questionnaire-body .question-fieldset {
        padding: 1rem !important;
    }

    .unit-linked-questionnaire-form .survey-page td,
    .unit-linked-questionnaire-form .survey-page th,
    .unit-linked-questionnaire-form .survey-page p,
    .unit-linked-questionnaire-form .survey-page label,
    .unit-linked-questionnaire-form .survey-page .question-body {
        overflow-wrap: anywhere;
    }

    .unit-linked-questionnaire-form input,
    .unit-linked-questionnaire-form select,
    .unit-linked-questionnaire-form textarea,
    .unit-linked-questionnaire-form .select2-container {
        max-width: 100% !important;
    }

    .unit-linked-questionnaire-form .health-questionnaire-actions {
        justify-content: stretch;
    }

    .unit-linked-questionnaire-form .health-questionnaire-actions .btn {
        flex: 1 1 100%;
    }
}

/* Dark mode accent contrast */
body.dark-theme .customer-dashboard-stat {
    background: transparent !important;
}

body.dark-theme .portal-topbar-phone,
body.dark-theme .portal-topbar-phone i {
    color: var(--bs-body-color) !important;
}

body.dark-theme .text-primary,
body.dark-theme .c-red,
body.dark-theme .c-primary,
body.dark-theme .color-primary-300 {
    color: var(--bs-primary-text-emphasis) !important;
}

body.dark-theme .portal-navbar .dropdown-menu h3 span {
    color: var(--bs-primary-text-emphasis) !important;
}

body.dark-theme.portal-app .portal-app-header .mobile-menu-icon {
    border-color: rgba(var(--bs-primary-rgb), .36) !important;
    background: transparent !important;
    color: var(--bs-primary-text-emphasis) !important;
}

body.dark-theme.portal-app .portal-app-header .mobile-menu-icon .sa-icon,
body.dark-theme.portal-app .portal-app-header .mobile-menu-icon svg,
body.dark-theme.portal-app .portal-app-header .mobile-menu-icon use {
    color: inherit !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

body.dark-theme .btn-outline-primary,
body.dark-theme a.btn-outline-primary,
body.dark-theme button.btn-outline-primary {
    --bs-btn-color: var(--bs-primary-text-emphasis);
    --bs-btn-border-color: rgba(var(--bs-primary-rgb), .48);
    --bs-btn-hover-color: var(--bs-primary-text-emphasis);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: rgba(var(--bs-primary-rgb), .68);
    --bs-btn-active-color: var(--bs-primary-text-emphasis);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: rgba(var(--bs-primary-rgb), .78);
    --bs-btn-disabled-color: var(--bs-secondary-color);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: rgba(var(--bs-secondary-rgb), .28);
    color: var(--bs-primary-text-emphasis) !important;
    border-color: rgba(var(--bs-primary-rgb), .48) !important;
    background: transparent !important;
}

body.dark-theme .btn-outline-secondary,
body.dark-theme a.btn-outline-secondary,
body.dark-theme button.btn-outline-secondary,
body.dark-theme .btn-outline-dark,
body.dark-theme a.btn-outline-dark,
body.dark-theme button.btn-outline-dark {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: rgba(var(--bs-light-rgb), .32);
    --bs-btn-hover-color: var(--bs-body-color);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: rgba(var(--bs-light-rgb), .52);
    --bs-btn-active-color: var(--bs-body-color);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: rgba(var(--bs-light-rgb), .62);
    --bs-btn-disabled-color: var(--bs-secondary-color);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: rgba(var(--bs-light-rgb), .18);
    color: var(--bs-body-color) !important;
    border-color: rgba(var(--bs-light-rgb), .32) !important;
    background: transparent !important;
}

body.dark-theme .btn-outline-success,
body.dark-theme a.btn-outline-success,
body.dark-theme button.btn-outline-success {
    --bs-btn-color: var(--bs-success-text-emphasis);
    --bs-btn-border-color: rgba(var(--bs-success-rgb), .44);
    --bs-btn-hover-color: var(--bs-success-text-emphasis);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: rgba(var(--bs-success-rgb), .64);
    --bs-btn-active-color: var(--bs-success-text-emphasis);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: rgba(var(--bs-success-rgb), .74);
    color: var(--bs-success-text-emphasis) !important;
    border-color: rgba(var(--bs-success-rgb), .44) !important;
    background: transparent !important;
}

body.dark-theme .btn-outline-info,
body.dark-theme a.btn-outline-info,
body.dark-theme button.btn-outline-info {
    --bs-btn-color: var(--bs-info-text-emphasis);
    --bs-btn-border-color: rgba(var(--bs-info-rgb), .44);
    --bs-btn-hover-color: var(--bs-info-text-emphasis);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: rgba(var(--bs-info-rgb), .64);
    --bs-btn-active-color: var(--bs-info-text-emphasis);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: rgba(var(--bs-info-rgb), .74);
    color: var(--bs-info-text-emphasis) !important;
    border-color: rgba(var(--bs-info-rgb), .44) !important;
    background: transparent !important;
}

body.dark-theme .btn-outline-warning,
body.dark-theme a.btn-outline-warning,
body.dark-theme button.btn-outline-warning {
    --bs-btn-color: var(--bs-warning-text-emphasis);
    --bs-btn-border-color: rgba(var(--bs-warning-rgb), .46);
    --bs-btn-hover-color: var(--bs-warning-text-emphasis);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: rgba(var(--bs-warning-rgb), .66);
    --bs-btn-active-color: var(--bs-warning-text-emphasis);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: rgba(var(--bs-warning-rgb), .76);
    color: var(--bs-warning-text-emphasis) !important;
    border-color: rgba(var(--bs-warning-rgb), .46) !important;
    background: transparent !important;
}

body.dark-theme .btn-outline-danger,
body.dark-theme a.btn-outline-danger,
body.dark-theme button.btn-outline-danger {
    --bs-btn-color: var(--bs-danger-text-emphasis);
    --bs-btn-border-color: rgba(var(--bs-danger-rgb), .46);
    --bs-btn-hover-color: var(--bs-danger-text-emphasis);
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: rgba(var(--bs-danger-rgb), .66);
    --bs-btn-active-color: var(--bs-danger-text-emphasis);
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: rgba(var(--bs-danger-rgb), .76);
    color: var(--bs-danger-text-emphasis) !important;
    border-color: rgba(var(--bs-danger-rgb), .46) !important;
    background: transparent !important;
}

body.dark-theme .btn-link.text-dark,
body.dark-theme .btn-link.link-dark,
body.dark-theme a.btn-link.text-dark,
body.dark-theme a.btn-link.link-dark {
    color: var(--bs-body-color) !important;
}

body.dark-theme .btn-outline-primary:hover,
body.dark-theme .btn-outline-primary:focus-visible,
body.dark-theme .btn-outline-primary:active,
body.dark-theme .btn-outline-primary.active,
body.dark-theme .btn-outline-secondary:hover,
body.dark-theme .btn-outline-secondary:focus-visible,
body.dark-theme .btn-outline-secondary:active,
body.dark-theme .btn-outline-secondary.active,
body.dark-theme .btn-outline-success:hover,
body.dark-theme .btn-outline-success:focus-visible,
body.dark-theme .btn-outline-success:active,
body.dark-theme .btn-outline-success.active,
body.dark-theme .btn-outline-info:hover,
body.dark-theme .btn-outline-info:focus-visible,
body.dark-theme .btn-outline-info:active,
body.dark-theme .btn-outline-info.active,
body.dark-theme .btn-outline-warning:hover,
body.dark-theme .btn-outline-warning:focus-visible,
body.dark-theme .btn-outline-warning:active,
body.dark-theme .btn-outline-warning.active,
body.dark-theme .btn-outline-danger:hover,
body.dark-theme .btn-outline-danger:focus-visible,
body.dark-theme .btn-outline-danger:active,
body.dark-theme .btn-outline-danger.active,
body.dark-theme .btn-outline-dark:hover,
body.dark-theme .btn-outline-dark:focus-visible,
body.dark-theme .btn-outline-dark:active,
body.dark-theme .btn-outline-dark.active {
    background: transparent !important;
    box-shadow: none !important;
}

body.dark-theme.portal-app .app-sidebar .nav-menu li a {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--bs-secondary-color) !important;
}

.dark-theme.portal-app .app-sidebar .nav-menu li a {
    border-color: transparent !important;
    background: transparent !important;
    color: var(--bs-secondary-color) !important;
}

body.dark-theme.portal-app .app-sidebar .nav-menu li a i,
body.dark-theme.portal-app .app-sidebar .nav-menu li a .nav-link-text,
.dark-theme.portal-app .app-sidebar .nav-menu li a i,
.dark-theme.portal-app .app-sidebar .nav-menu li a .nav-link-text {
    color: inherit !important;
}

body.dark-theme.portal-app .app-sidebar .nav-menu li a > i::before,
body.dark-theme.portal-app .app-sidebar .nav-menu li a > i::after,
body.dark-theme.portal-app .primary-nav ul li a > i::before,
.dark-theme.portal-app .primary-nav ul li a > i::after,
.dark-theme.portal-app .app-sidebar .nav-menu li a > i::before,
.dark-theme.portal-app .app-sidebar .nav-menu li a > i::after,
.dark-theme.portal-app .primary-nav ul li a > i::before,
.dark-theme.portal-app .primary-nav ul li a > i::after {
    color: currentColor !important;
}

body.dark-theme.portal-app .app-sidebar .nav-menu > li > a {
    color: var(--bs-body-color) !important;
}

.dark-theme.portal-app .app-sidebar .nav-menu > li > a {
    color: var(--bs-body-color) !important;
}

body.dark-theme.portal-app .app-sidebar .nav-menu li.active > a,
body.dark-theme.portal-app .app-sidebar .nav-menu li.open > a,
body.dark-theme.portal-app .app-sidebar .nav-menu li a:hover,
body.dark-theme.portal-app .app-sidebar .nav-menu li a:focus,
.dark-theme.portal-app .app-sidebar .nav-menu li.active > a,
.dark-theme.portal-app .app-sidebar .nav-menu li.open > a,
.dark-theme.portal-app .app-sidebar .nav-menu li a:hover,
.dark-theme.portal-app .app-sidebar .nav-menu li a:focus {
    border-color: rgba(var(--bs-primary-rgb), .36) !important;
    background: transparent !important;
    color: var(--bs-primary-text-emphasis) !important;
}

body.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li a {
    color: var(--bs-secondary-color) !important;
}

.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li a {
    color: var(--bs-secondary-color) !important;
}

body.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li.active > a,
body.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li.open > a,
body.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li a:hover,
body.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li a:focus,
.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li.active > a,
.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li.open > a,
.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li a:hover,
.dark-theme.portal-app .app-sidebar .nav-menu > li > ul li a:focus {
    border-color: rgba(var(--bs-primary-rgb), .32) !important;
    background: transparent !important;
    color: var(--bs-primary-text-emphasis) !important;
}

body.dark-theme .portal-dashboard-nav-icon,
body.dark-theme .portal-stat-icon,
body.dark-theme .customer-dashboard-stat-icon,
body.dark-theme .portal-profile-pill i,
body.dark-theme .portal-quote-stepper .step-list li.active,
body.dark-theme .quote-choice-card .col-icon-cntr,
body.dark-theme .quotation-result-icon,
body.dark-theme .payment-frequency-icon,
body.dark-theme .application-step-trigger .num,
body.dark-theme .contract-start-icon,
body.dark-theme .application-document-icon,
body.dark-theme .application-empty-state i,
body.dark-theme .benefit-field-card > i,
body.dark-theme .beneficiary-field-card > i,
body.dark-theme .document-upload-icon,
body.dark-theme .health-path-card > i,
body.dark-theme .portal-application-progress-index,
body.dark-theme .offer-coverage-summary > i,
body.dark-theme .acceptance-summary > i,
body.dark-theme .contract-review-summary > i,
body.dark-theme .under-review-empty-state > i,
body.dark-theme .under-review-task-icon,
body.dark-theme .under-review-timeline-step.active > span {
    border: 1px solid rgba(var(--bs-primary-rgb), .32);
    background: transparent !important;
    color: var(--bs-primary-text-emphasis) !important;
    box-shadow: none;
}

body.dark-theme .portal-dashboard-list-item:hover,
body.dark-theme .customer-dashboard-list-item:hover,
body.dark-theme .portal-navbar .dropdown-menu .discount-price,
body.dark-theme .portal-sidebar-menu .portal-sidebar-submenu a:hover,
body.dark-theme .portal-sidebar-menu .active > a,
body.dark-theme .portal-sidebar-menu .active > .portal-sidebar-link,
body.dark-theme .application-journey-status,
body.dark-theme .application-step-trigger.active,
body.dark-theme .payment-frequency-card.active .payment-comparison-highlight,
body.dark-theme .benefit-field-card.emphasis,
body.dark-theme .beneficiary-field-card.emphasis,
body.dark-theme .motor-underwriting-flow .radio-button-label.selected,
body.dark-theme .motor-underwriting-flow .radio-button-label:has(input:checked),
body.dark-theme .health-answer-pill.selected span,
body.dark-theme .health-answer-pill input:checked + span,
body.dark-theme .health-path-card.selected,
body.dark-theme .portal-application-progress li.active,
body.dark-theme .portal-application-progress li.completed,
body.dark-theme .acceptance-method-option.active,
body.dark-theme .acceptance-method-option:hover,
body.dark-theme .acceptance-method-option:focus-visible,
body.dark-theme .acceptance-disclaimer,
body.dark-theme .bg-primary-50.text-primary,
body.dark-theme .text-primary.bg-primary-50 {
    border-color: rgba(var(--bs-primary-rgb), .36) !important;
    background: transparent !important;
    color: var(--bs-primary-text-emphasis) !important;
}

body.dark-theme .portal-page-kicker,
body.dark-theme .portal-login-actions i,
body.dark-theme .portal-dashboard-list-item i,
body.dark-theme .customer-dashboard-panel-header > i,
body.dark-theme .termlife-status-pill i,
body.dark-theme .application-step-trigger.active,
body.dark-theme .acceptance-disclaimer i {
    color: var(--bs-primary-text-emphasis) !important;
}

body.dark-theme .customer-dashboard-stat-alert .customer-dashboard-stat-icon,
body.dark-theme .portal-stat-danger .portal-stat-icon {
    border-color: rgba(var(--bs-danger-rgb), .36);
    color: var(--bs-danger-text-emphasis) !important;
}

body.dark-theme .application-document-card.is-complete .application-document-icon,
body.dark-theme .application-step-trigger.completed .num,
body.dark-theme .portal-stat-success .portal-stat-icon,
body.dark-theme .acceptance-success {
    border-color: rgba(var(--bs-success-rgb), .36);
    color: var(--bs-success-text-emphasis) !important;
}

.service-request-shell {
    width: min(var(--portal-content-width), 100%);
    margin: 0 auto;
}

.portal-document-preview-modal .modal-dialog {
    width: min(1140px, calc(100% - 2rem));
    max-width: none;
    height: calc(100vh - 2rem);
    margin: 1rem auto;
}

@supports (height: 100dvh) {
    .portal-document-preview-modal .modal-dialog {
        height: calc(100dvh - 2rem);
    }
}

.portal-document-preview-modal .modal-content {
    height: 100%;
}

.portal-document-preview-modal .modal-body {
    display: flex;
    min-height: 0;
    padding: 0;
}

.portal-document-preview-modal iframe {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    border: 0;
}

/* Let portal shells and their sections make better use of narrow phone screens. */
@media (max-width: 767.98px) {
    .termlife-results-page .product-list.col-md-12 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .portal-page-shell .section-first,
    .portal-page-shell .result-section,
    .portal-page-shell .survey-page-body,
    .portal-page-shell .portal-form-section,
    .portal-page-shell .portal-mini-form-section,
    .portal-page-shell .product-list-outer {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .portal-page-shell,
    .portal-page-hero,
    .portal-quote-hero,
    .portal-process-card,
    .portal-public:not(.app-landing):not(.portal-account) .outer-process-body,
    .portal-app .outer-process-body,
    .application-workflow-hero,
    .application-edit-hero,
    .application-edit-shell,
    .application-review-hero,
    .application-review-shell,
    .motor-plan-hero,
    .motor-plan-shell {
        width: min(var(--portal-content-width), calc(100% - 1rem)) !important;
    }

}

.service-request-hero,
.service-panel,
.portal-endorsement-panel {
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: .5rem;
    background: var(--portal-mode-surface);
    box-shadow: 0 .625rem 1.75rem rgba(var(--bs-dark-rgb), .06);
}

.service-request-hero,
.portal-endorsement-panel {
    padding: 1.25rem;
}

.service-step {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(var(--bs-secondary-rgb), .18);
}

.service-step:last-child {
    border-bottom: 0;
}

.service-step-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--portal-brand-soft);
    color: var(--portal-brand);
    font-weight: 700;
}

.service-policy-summary,
.portal-document-slot {
    padding: 1rem;
    border: 1px solid rgba(var(--bs-secondary-rgb), .18);
    border-radius: .5rem;
    background: var(--portal-mode-soft);
}

.service-mini-label {
    color: var(--portal-mode-muted);
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
}

body.dark-theme .service-request-hero,
body.dark-theme .service-panel,
body.dark-theme .portal-endorsement-panel,
body.dark-theme .service-policy-summary,
body.dark-theme .portal-document-slot {
    border-color: rgba(var(--bs-light-rgb), .08);
}

body.dark-theme .service-step-marker {
    border: 1px solid rgba(var(--bs-primary-rgb), .32);
    background: transparent;
    color: var(--bs-primary-text-emphasis);
}

body.dark-theme .bg-white {
    background-color: var(--portal-mode-surface) !important;
}

body.dark-theme .bg-light {
    background-color: var(--portal-mode-soft) !important;
}

body.dark-theme .bg-light.text-dark {
    color: var(--bs-body-color) !important;
}

.portal-address-lookup-results {
    display: none;
    max-height: 15rem;
    overflow-y: auto;
}

.portal-address-lookup-status {
    min-height: 1.25rem;
}
