/**
 * Livigo
 * Customer Moving
 *
 * Path:
 * /assets/css/moving.css
 *
 * Public:
 * - /moving/index.php
 *
 * Minha Livigo:
 * - /moving/request.php
 * - /moving/assessment.php
 * - /moving/details.php
 * - /moving/history.php
 * - /moving/quotes.php
 * - /moving/tracking.php
 *
 * Design:
 * - Livigo navy / lime identity
 * - Public marketing entry
 * - Account application inheritance
 * - Compact dashboard structure
 * - No decorative glow
 */


/* ==========================================================================
   PUBLIC MOVING LANDING PAGE
   /moving/index.php
   ========================================================================== */


/* --------------------------------------------------------------------------
   Public Moving Tokens
   -------------------------------------------------------------------------- */

.moving-home-page {
    --moving-public-bg: #0a2c72;
    --moving-public-deep: #071f54;
    --moving-public-deeper: #061a45;

    --moving-public-card: #0d3590;
    --moving-public-card-soft: #0c327f;

    --moving-public-text: #f7f9fc;
    --moving-public-muted: #c1cde0;
    --moving-public-subtle: #91a5c2;

    --moving-public-line:
        rgba(255, 255, 255, 0.11);

    --moving-public-line-strong:
        rgba(255, 255, 255, 0.18);

    --moving-public-lime: #c6f31e;
    --moving-public-lime-text: #10200c;

    margin: 0;

    background:
        var(--moving-public-bg);

    color:
        var(--moving-public-text);
}


/* --------------------------------------------------------------------------
   Public Moving Base
   -------------------------------------------------------------------------- */

.moving-home-page *,
.moving-home-page *::before,
.moving-home-page *::after {
    box-sizing: border-box;
}


.moving-home-page .section {
    position: relative;

    padding:
        68px
        0;
}


.moving-home-page .container {
    width:
        min(
            1180px,
            calc(100% - 40px)
        );

    margin-inline:
        auto;
}


.moving-home-page .card {
    border:
        1px solid
        var(--moving-public-line);

    border-radius:
        24px;

    background:
        var(--moving-public-card);

    color:
        var(--moving-public-text);

    box-shadow:
        none;
}


/* --------------------------------------------------------------------------
   Shared Public Eyebrow
   -------------------------------------------------------------------------- */

.moving-home-page .partners-eyebrow {
    display:
        inline-flex;

    align-items:
        center;

    color:
        var(--moving-public-lime);

    font-size:
        0.74rem;

    font-weight:
        800;

    line-height:
        1.2;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


/* ==========================================================================
   PUBLIC MOVING HERO
   ========================================================================== */

.moving-home-page .moving-hero {
    overflow:
        hidden;

    padding:
        78px
        0
        84px;

    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(198, 243, 30, 0.10),
            transparent 24%
        ),
        linear-gradient(
            145deg,
            #0d3590 0%,
            #0a2c72 48%,
            #071f54 100%
        );

    border-bottom:
        1px solid
        rgba(255, 255, 255, 0.08);
}


.moving-home-page .moving-hero::after {
    content: "";

    position:
        absolute;

    right:
        -170px;

    bottom:
        -260px;

    width:
        520px;

    height:
        520px;

    border:
        1px solid
        rgba(255, 255, 255, 0.07);

    border-radius:
        50%;

    pointer-events:
        none;
}


.moving-home-page .moving-hero__content {
    position:
        relative;

    z-index:
        2;

    max-width:
        850px;
}


.moving-home-page .moving-hero .section__title {
    max-width:
        780px;

    margin:
        14px
        0
        18px;

    color:
        #ffffff;

    font-size:
        clamp(
            2.55rem,
            5.2vw,
            4.6rem
        );

    font-weight:
        800;

    line-height:
        0.98;

    letter-spacing:
        -0.045em;
}


.moving-home-page .moving-hero .section__description {
    max-width:
        720px;

    margin:
        0;

    color:
        var(--moving-public-muted);

    font-size:
        clamp(
            1rem,
            1.8vw,
            1.18rem
        );

    line-height:
        1.7;
}


/* --------------------------------------------------------------------------
   Homepage Journey Context
   -------------------------------------------------------------------------- */

.moving-home-page .moving-journey-context {
    display:
        grid;

    gap:
        7px;

    width:
        min(
            100%,
            620px
        );

    margin-top:
        28px;

    padding:
        18px
        20px;

    border-color:
        rgba(
            198,
            243,
            30,
            0.28
        );

    background:
        rgba(
            7,
            31,
            84,
            0.72
        );
}


.moving-home-page .moving-journey-context p {
    margin:
        0;

    color:
        var(--moving-public-muted);

    font-size:
        0.95rem;

    line-height:
        1.5;
}


.moving-home-page .moving-journey-context strong {
    color:
        #ffffff;
}


.moving-home-page .moving-journey-context small {
    margin-top:
        4px;

    color:
        var(--moving-public-subtle);

    font-size:
        0.78rem;

    line-height:
        1.5;
}


/* --------------------------------------------------------------------------
   Hero Actions
   -------------------------------------------------------------------------- */

.moving-home-page .moving-hero__actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        12px;

    margin-top:
        30px;
}


/* ==========================================================================
   PUBLIC BUTTONS
   ========================================================================== */

.moving-home-page .button {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        50px;

    padding:
        0
        22px;

    border:
        1px solid
        transparent;

    border-radius:
        14px;

    text-decoration:
        none;

    font-size:
        0.94rem;

    font-weight:
        800;

    line-height:
        1;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}


.moving-home-page .button:hover {
    transform:
        translateY(-1px);
}


.moving-home-page .button--primary {
    border-color:
        var(--moving-public-lime);

    background:
        var(--moving-public-lime);

    color:
        var(--moving-public-lime-text);
}


.moving-home-page .button--primary:hover,
.moving-home-page .button--primary:focus-visible {
    background:
        #d1fa31;

    border-color:
        #d1fa31;
}


.moving-home-page .button--secondary {
    border-color:
        rgba(
            255,
            255,
            255,
            0.22
        );

    background:
        rgba(
            255,
            255,
            255,
            0.06
        );

    color:
        #ffffff;
}


.moving-home-page .button--secondary:hover,
.moving-home-page .button--secondary:focus-visible {
    background:
        rgba(
            255,
            255,
            255,
            0.11
        );

    border-color:
        rgba(
            255,
            255,
            255,
            0.32
        );
}


.moving-home-page .button--large {
    min-height:
        52px;

    padding-inline:
        24px;
}


/* ==========================================================================
   PUBLIC SECTION HEADERS
   ========================================================================== */

.moving-home-page .section__header {
    max-width:
        760px;

    margin-bottom:
        30px;
}


.moving-home-page .section__header .section__title {
    margin:
        10px
        0
        12px;

    color:
        #ffffff;

    font-size:
        clamp(
            2rem,
            4vw,
            3.2rem
        );

    font-weight:
        800;

    line-height:
        1.05;

    letter-spacing:
        -0.035em;
}


.moving-home-page .section__header .section__description {
    margin:
        0;

    color:
        var(--moving-public-muted);

    font-size:
        1rem;

    line-height:
        1.7;
}


/* ==========================================================================
   PUBLIC MOVING PROCESS
   ========================================================================== */

.moving-home-page .moving-process-section {
    background:
        var(--moving-public-bg);
}


.moving-home-page .moving-process-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap:
        16px;
}


.moving-home-page .moving-process-card {
    min-width:
        0;

    padding:
        24px;

    background:
        linear-gradient(
            160deg,
            #0d3590,
            #0a2f7c
        );
}


.moving-home-page .moving-process-card__number {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        42px;

    height:
        42px;

    margin-bottom:
        22px;

    border-radius:
        50%;

    background:
        var(--moving-public-lime);

    color:
        var(--moving-public-lime-text);

    font-size:
        0.78rem;

    font-weight:
        900;
}


.moving-home-page .moving-process-card h3 {
    margin:
        0
        0
        9px;

    color:
        #ffffff;

    font-size:
        1.12rem;
}


.moving-home-page .moving-process-card p {
    margin:
        0;

    color:
        var(--moving-public-muted);

    font-size:
        0.9rem;

    line-height:
        1.6;
}


/* ==========================================================================
   PUBLIC PAYMENT SECTION
   ========================================================================== */

.moving-home-page .moving-payment-section {
    background:
        var(--moving-public-deep);
}


.moving-home-page .moving-payment-card {
    display:
        grid;

    grid-template-columns:
        minmax(
            0,
            1.2fr
        )
        minmax(
            280px,
            0.8fr
        );

    gap:
        26px;

    align-items:
        stretch;

    padding:
        30px;

    background:
        #0a2c72;
}


.moving-home-page .moving-payment-card h2 {
    max-width:
        620px;

    margin:
        10px
        0
        12px;

    color:
        #ffffff;

    font-size:
        clamp(
            1.7rem,
            3vw,
            2.6rem
        );

    line-height:
        1.08;

    letter-spacing:
        -0.025em;
}


.moving-home-page .moving-payment-card > div:first-child > p {
    max-width:
        700px;

    margin:
        0;

    color:
        var(--moving-public-muted);

    line-height:
        1.7;
}


.moving-home-page .moving-payment-card__notice {
    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    padding:
        22px;

    border:
        1px solid
        rgba(
            198,
            243,
            30,
            0.30
        );

    border-radius:
        18px;

    background:
        rgba(
            198,
            243,
            30,
            0.08
        );
}


.moving-home-page .moving-payment-card__notice strong {
    display:
        block;

    margin-bottom:
        8px;

    color:
        var(--moving-public-lime);

    font-size:
        1rem;
}


.moving-home-page .moving-payment-card__notice p {
    margin:
        0;

    color:
        #d9e3f1;

    font-size:
        0.88rem;

    line-height:
        1.6;
}


/* ==========================================================================
   PUBLIC SERVICE VALUE SECTION
   ========================================================================== */

.moving-home-page .moving-service-section {
    background:
        var(--moving-public-bg);
}


.moving-home-page .moving-service-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap:
        16px;
}


.moving-home-page .moving-service-grid .card {
    min-width:
        0;

    padding:
        22px;

    background:
        var(--moving-public-card);
}


.moving-home-page .moving-service-grid .card::before {
    content:
        "";

    display:
        block;

    width:
        34px;

    height:
        4px;

    margin-bottom:
        20px;

    border-radius:
        999px;

    background:
        var(--moving-public-lime);
}


.moving-home-page .moving-service-grid h3 {
    margin:
        0
        0
        8px;

    color:
        #ffffff;

    font-size:
        1.05rem;
}


.moving-home-page .moving-service-grid p {
    margin:
        0;

    color:
        var(--moving-public-muted);

    font-size:
        0.88rem;

    line-height:
        1.6;
}


/* ==========================================================================
   PUBLIC FINAL CTA
   ========================================================================== */

.moving-home-page .moving-cta-section {
    padding-top:
        20px;

    background:
        var(--moving-public-bg);
}


.moving-home-page .moving-cta {
    padding:
        38px;

    border-color:
        rgba(
            198,
            243,
            30,
            0.22
        );

    background:
        linear-gradient(
            140deg,
            #0d3590 0%,
            #08245e 100%
        );
}


.moving-home-page .moving-cta h2 {
    margin:
        10px
        0
        8px;

    color:
        #ffffff;

    font-size:
        clamp(
            2rem,
            4vw,
            3.3rem
        );

    line-height:
        1;
}


.moving-home-page .moving-cta p {
    max-width:
        620px;

    margin:
        0
        0
        22px;

    color:
        var(--moving-public-muted);

    line-height:
        1.65;
}


/* ==========================================================================
   PUBLIC TABLET
   ========================================================================== */

@media (max-width: 960px) {

    .moving-home-page .moving-process-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .moving-home-page .moving-service-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }


    .moving-home-page .moving-payment-card {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================================
   PUBLIC MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .moving-home-page .section {
        padding:
            46px
            0;
    }


    .moving-home-page .container {
        width:
            calc(
                100% - 24px
            );
    }


    .moving-home-page .moving-hero {
        padding:
            48px
            0
            54px;
    }


    .moving-home-page .moving-hero .section__title {
        max-width:
            100%;

        margin-top:
            10px;

        font-size:
            clamp(
                2.25rem,
                11vw,
                3.2rem
            );

        line-height:
            1;
    }


    .moving-home-page .moving-hero .section__description {
        font-size:
            0.98rem;

        line-height:
            1.62;
    }


    .moving-home-page .moving-journey-context {
        margin-top:
            22px;

        padding:
            16px;

        border-radius:
            18px;
    }


    .moving-home-page .moving-hero__actions {
        display:
            grid;

        grid-template-columns:
            1fr;

        width:
            100%;

        margin-top:
            24px;
    }


    .moving-home-page .moving-hero__actions .button {
        width:
            100%;
    }


    .moving-home-page .section__header {
        margin-bottom:
            20px;
    }


    .moving-home-page .section__header .section__title {
        font-size:
            1.95rem;
    }


    .moving-home-page .moving-process-grid {
        grid-template-columns:
            1fr;

        gap:
            12px;
    }


    .moving-home-page .moving-process-card {
        padding:
            20px;
    }


    .moving-home-page .moving-process-card__number {
        width:
            38px;

        height:
            38px;

        margin-bottom:
            16px;
    }


    .moving-home-page .moving-payment-card {
        gap:
            18px;

        padding:
            20px;

        border-radius:
            20px;
    }


    .moving-home-page .moving-payment-card h2 {
        font-size:
            1.8rem;
    }


    .moving-home-page .moving-payment-card__notice {
        padding:
            18px;

        border-radius:
            16px;
    }


    .moving-home-page .moving-service-grid {
        grid-template-columns:
            1fr;

        gap:
            12px;
    }


    .moving-home-page .moving-service-grid .card {
        padding:
            20px;
    }


    .moving-home-page .moving-cta {
        padding:
            24px
            20px;

        border-radius:
            20px;
    }


    .moving-home-page .moving-cta .button {
        width:
            100%;
    }

}



/* ==========================================================================
   AUTHENTICATED MOVING APPLICATION
   ========================================================================== */


/* --------------------------------------------------------------------------
   Application Tokens
   -------------------------------------------------------------------------- */

.moving-request-page,
.moving-assessment-page,
.moving-details-page,
.moving-history-page,
.moving-quotes-page,
.moving-tracking-page {
    --moving-bg:
        var(
            --background,
            #071f54
        );

    --moving-surface:
        var(
            --surface,
            #0d3590
        );

    --moving-surface-soft:
        var(
            --surface-soft,
            #0e3a98
        );

    --moving-surface-muted:
        var(
            --background-soft,
            #08245e
        );

    --moving-text:
        var(
            --text,
            #f4f7fb
        );

    --moving-text-soft:
        var(
            --text-soft,
            #b7c4d4
        );

    --moving-text-muted:
        var(
            --text-muted,
            #8ea0b5
        );

    --moving-border:
        var(
            --border,
            rgba(
                255,
                255,
                255,
                0.09
            )
        );

    --moving-border-strong:
        var(
            --border-strong,
            rgba(
                255,
                255,
                255,
                0.15
            )
        );

    --moving-accent:
        var(
            --accent,
            #c6f31e
        );

    --moving-accent-text:
        var(
            --accent-contrast,
            #10200c
        );

    min-height:
        100vh;

    background:
        var(--moving-bg);

    color:
        var(--moving-text);
}


/* ==========================================================================
   APPLICATION SECTIONS
   ========================================================================== */

.moving-request-section,
.moving-assessment-section,
.moving-details-section,
.moving-history-section,
.moving-quotes-section,
.moving-tracking-section {
    padding:
        28px
        0
        112px;
}


.moving-request-section .container,
.moving-assessment-section .container,
.moving-details-section .container,
.moving-history-section .container,
.moving-quotes-section .container,
.moving-tracking-section .container {
    width:
        min(
            100% - 32px,
            1120px
        );

    margin-inline:
        auto;
}


/* ==========================================================================
   APPLICATION PAGE HEADER
   ========================================================================== */

.moving-request-section .section__header,
.moving-assessment-section .section__header,
.moving-details-section .section__header,
.moving-history-section .section__header,
.moving-quotes-section .section__header,
.moving-tracking-section .section__header,
.moving-request-section .account-dashboard__header,
.moving-assessment-section .account-dashboard__header,
.moving-details-section .account-dashboard__header,
.moving-history-section .account-dashboard__header,
.moving-quotes-section .account-dashboard__header,
.moving-tracking-section .account-dashboard__header {
    margin-bottom:
        22px;
}


.moving-request-section .section__title,
.moving-assessment-section .section__title,
.moving-details-section .section__title,
.moving-history-section .section__title,
.moving-quotes-section .section__title,
.moving-tracking-section .section__title,
.moving-request-section .account-dashboard__title,
.moving-assessment-section .account-dashboard__title,
.moving-details-section .account-dashboard__title,
.moving-history-section .account-dashboard__title,
.moving-quotes-section .account-dashboard__title,
.moving-tracking-section .account-dashboard__title {
    margin:
        8px
        0
        10px;

    color:
        var(--moving-text);

    font-size:
        clamp(
            1.9rem,
            4vw,
            3rem
        );

    line-height:
        1.05;

    letter-spacing:
        -0.035em;
}


.moving-request-section .section__description,
.moving-assessment-section .section__description,
.moving-details-section .section__description,
.moving-history-section .section__description,
.moving-quotes-section .section__description,
.moving-tracking-section .section__description,
.moving-request-section .account-dashboard__description,
.moving-assessment-section .account-dashboard__description,
.moving-details-section .account-dashboard__description,
.moving-history-section .account-dashboard__description,
.moving-quotes-section .account-dashboard__description,
.moving-tracking-section .account-dashboard__description {
    max-width:
        760px;

    margin:
        0;

    color:
        var(--moving-text-soft);

    font-size:
        1rem;

    line-height:
        1.65;
}


.moving-request-section .partners-eyebrow,
.moving-assessment-section .partners-eyebrow,
.moving-details-section .partners-eyebrow,
.moving-history-section .partners-eyebrow,
.moving-quotes-section .partners-eyebrow,
.moving-tracking-section .partners-eyebrow,
.moving-request-section .account-dashboard__eyebrow,
.moving-assessment-section .account-dashboard__eyebrow,
.moving-details-section .account-dashboard__eyebrow,
.moving-history-section .account-dashboard__eyebrow,
.moving-quotes-section .account-dashboard__eyebrow,
.moving-tracking-section .account-dashboard__eyebrow,
.moving-request-section .account-section__eyebrow {
    display:
        inline-flex;

    align-items:
        center;

    color:
        var(--moving-text-muted);

    font-size:
        0.72rem;

    font-weight:
        800;

    letter-spacing:
        0.10em;

    text-transform:
        uppercase;
}


/* ==========================================================================
   BACK LINK
   ========================================================================== */

.moving-request-section .account-back-link,
.moving-assessment-section .account-back-link,
.moving-details-section .account-back-link,
.moving-history-section .account-back-link,
.moving-quotes-section .account-back-link,
.moving-tracking-section .account-back-link {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    margin-bottom:
        16px;

    color:
        var(--moving-text-soft);

    font-weight:
        700;

    text-decoration:
        none;
}


.moving-request-section .account-back-link:hover,
.moving-assessment-section .account-back-link:hover,
.moving-details-section .account-back-link:hover,
.moving-history-section .account-back-link:hover,
.moving-quotes-section .account-back-link:hover,
.moving-tracking-section .account-back-link:hover {
    color:
        var(--moving-text);

    text-decoration:
        none;
}


/* ==========================================================================
   APPLICATION CARDS
   ========================================================================== */

.moving-request-section .card,
.moving-assessment-section .card,
.moving-details-section .card,
.moving-history-section .card,
.moving-quotes-section .card,
.moving-tracking-section .card,
.moving-request-section .account-form-card,
.moving-assessment-section .account-form-card,
.moving-details-section .account-form-card,
.moving-history-section .account-form-card,
.moving-quotes-section .account-form-card,
.moving-tracking-section .account-form-card {
    min-width:
        0;

    border:
        1px solid
        var(--moving-border);

    border-radius:
        24px;

    background:
        var(--moving-surface);

    color:
        var(--moving-text);

    box-shadow:
        none;
}


/* ==========================================================================
   REQUEST FORM
   ========================================================================== */

.moving-request-form {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        16px;

    align-items:
        start;
}


.moving-request-form__section {
    min-width:
        0;

    padding:
        22px;
}


.moving-request-form__section--full,
.moving-request-form__actions {
    grid-column:
        1 / -1;
}


.moving-request-form__header,
.moving-request-form .account-form-card__header {
    margin-bottom:
        18px;
}


.moving-request-form__header h2,
.moving-request-form .account-form-card__title {
    margin:
        6px
        0
        0;

    color:
        var(--moving-text);

    font-size:
        clamp(
            1.35rem,
            2.5vw,
            1.8rem
        );

    line-height:
        1.18;

    letter-spacing:
        -0.02em;
}


/* ==========================================================================
   REQUEST FORM GRID
   ========================================================================== */

.moving-request-form .form-grid,
.moving-request-form .account-form-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        16px;
}


.moving-request-form .form-field,
.moving-request-form .form-group {
    min-width:
        0;
}


.moving-request-form .form-field--full,
.moving-request-form .account-form-grid__full {
    grid-column:
        1 / -1;
}


.moving-request-form .form-field label,
.moving-request-form .form-label {
    display:
        block;

    margin-bottom:
        8px;

    color:
        var(--moving-text);

    font-size:
        0.9rem;

    font-weight:
        700;
}


.moving-request-form .form-field small,
.moving-request-form .form-help {
    display:
        block;

    margin-top:
        7px;

    color:
        var(--moving-text-muted);

    font-size:
        0.78rem;

    line-height:
        1.5;
}


/* ==========================================================================
   REQUEST INPUTS
   ========================================================================== */

.moving-request-form input,
.moving-request-form select,
.moving-request-form textarea,
.moving-request-form .form-control {
    width:
        100%;

    max-width:
        100%;

    min-height:
        50px;

    border:
        1px solid
        var(--moving-border-strong);

    border-radius:
        14px;

    outline:
        0;

    background:
        var(--moving-surface-muted);

    color:
        var(--moving-text);

    font:
        inherit;

    box-sizing:
        border-box;

    box-shadow:
        none;

    transition:
        border-color 0.16s ease,
        background-color 0.16s ease;
}


.moving-request-form input,
.moving-request-form select {
    padding:
        0
        14px;
}


.moving-request-form textarea {
    min-height:
        118px;

    padding:
        14px;

    line-height:
        1.55;

    resize:
        vertical;
}


.moving-request-form input::placeholder,
.moving-request-form textarea::placeholder {
    color:
        var(--moving-text-muted);
}


.moving-request-form input:focus,
.moving-request-form select:focus,
.moving-request-form textarea:focus,
.moving-request-form .form-control:focus {
    border-color:
        var(--moving-accent);

    background:
        var(--moving-surface-soft);

    box-shadow:
        none;
}


.moving-request-form select {
    appearance:
        auto;
}


/*
 * Journey information displayed as a non-editable
 * .form-control <div>.
 */

.moving-request-form div.form-control {
    display:
        flex;

    align-items:
        center;

    padding:
        0
        14px;
}


/* ==========================================================================
   PAYMENT NOTICE
   ========================================================================== */

.moving-payment-notice {
    padding:
        18px
        20px;

    border:
        1px solid
        rgba(
            198,
            243,
            30,
            0.22
        );

    border-radius:
        20px;

    background:
        rgba(
            198,
            243,
            30,
            0.06
        );
}


.moving-payment-notice strong {
    display:
        block;

    margin-bottom:
        7px;

    color:
        var(--moving-text);

    font-size:
        1rem;
}


.moving-payment-notice p {
    margin:
        0;

    color:
        var(--moving-text-soft);

    line-height:
        1.6;
}


/* ==========================================================================
   REQUEST ACTIONS
   ========================================================================== */

.moving-request-form__actions,
.moving-details-actions,
.moving-quote-card__actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        12px;

    align-items:
        center;
}


.moving-request-form__actions {
    margin-top:
        0;
}


.moving-request-form__actions .button,
.moving-request-form__actions .btn,
.moving-details-actions .button,
.moving-details-actions .btn,
.moving-quote-card__actions .button,
.moving-quote-card__actions .btn {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        50px;

    padding:
        0
        20px;

    border:
        1px solid
        var(--moving-border);

    border-radius:
        14px;

    text-decoration:
        none;

    font-weight:
        800;

    box-shadow:
        none;
}


.moving-request-form__actions .btn-primary,
.moving-details-actions .btn-primary,
.moving-quote-card__actions .btn-primary {
    border-color:
        var(--moving-accent);

    background:
        var(--moving-accent);

    color:
        var(--moving-accent-text);
}


.moving-request-form__actions .btn-secondary,
.moving-details-actions .btn-secondary,
.moving-quote-card__actions .btn-secondary {
    background:
        var(--moving-surface-muted);

    color:
        var(--moving-text);
}


/* ==========================================================================
   ASSESSMENT
   ========================================================================== */

.moving-assessment-summary {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0, 1fr)
        );

    gap:
        14px;

    margin-bottom:
        18px;
}


.moving-assessment-summary .card {
    padding:
        20px;
}


.moving-assessment-summary span,
.moving-details-grid span {
    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--moving-text-muted);

    font-size:
        0.72rem;

    font-weight:
        800;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;
}


.moving-assessment-summary strong,
.moving-details-grid strong {
    color:
        var(--moving-text);

    font-size:
        1rem;
}


.moving-assessment-status,
.moving-assessment-result,
.moving-assessment-next,
.moving-assessment-principle {
    padding:
        22px;

    margin-bottom:
        16px;
}


.moving-assessment-status h2,
.moving-assessment-result h2,
.moving-assessment-next h2 {
    margin:
        6px
        0
        12px;

    color:
        var(--moving-text);

    font-size:
        clamp(
            1.3rem,
            3vw,
            1.8rem
        );
}


.moving-assessment-status p,
.moving-assessment-next p,
.moving-assessment-principle p,
.moving-assessment-notes p {
    color:
        var(--moving-text-soft);

    line-height:
        1.65;
}


.moving-assessment-notes,
.moving-assessment-completed {
    margin-top:
        18px;
}


/* ==========================================================================
   DETAILS
   ========================================================================== */

.moving-details-grid {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        14px;

    margin-top:
        18px;
}


.moving-details-grid > div {
    min-width:
        0;

    padding:
        18px;

    border:
        1px solid
        var(--moving-border);

    border-radius:
        18px;

    background:
        var(--moving-surface);
}


/* ==========================================================================
   QUOTES
   ========================================================================== */

.moving-quotes-list {
    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        16px;
}


.moving-quotes-empty {
    grid-column:
        1 / -1;

    padding:
        24px;
}


.moving-quote-card {
    min-width:
        0;

    padding:
        22px;
}


.moving-quote-card.is-accepted {
    border-color:
        var(--moving-accent);

    box-shadow:
        none;
}


.moving-quote-card__header {
    display:
        flex;

    justify-content:
        space-between;

    align-items:
        flex-start;

    gap:
        16px;

    margin-bottom:
        18px;
}


.moving-quote-card__header h2 {
    margin:
        5px
        0;

    color:
        var(--moving-text);

    font-size:
        clamp(
            1.45rem,
            3vw,
            2rem
        );
}


.moving-quote-card__header p {
    margin:
        0;

    color:
        var(--moving-text-muted);

    font-size:
        0.78rem;

    word-break:
        break-word;
}


.moving-quote-card__status .badge {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        32px;

    padding:
        0
        12px;

    border:
        1px solid
        var(--moving-border);

    border-radius:
        999px;

    background:
        var(--moving-surface-muted);

    color:
        var(--moving-text-soft);

    font-size:
        0.74rem;

    font-weight:
        800;
}


.moving-quote-items,
.moving-quote-totals,
.moving-quote-notes {
    margin-top:
        20px;
}


.moving-quote-items h3,
.moving-quote-notes h3 {
    margin:
        0
        0
        12px;

    color:
        var(--moving-text);
}


.moving-quote-items__list {
    display:
        grid;

    gap:
        8px;
}


.moving-quote-item,
.moving-quote-totals > div {
    display:
        flex;

    justify-content:
        space-between;

    gap:
        14px;

    padding:
        12px
        0;

    border-bottom:
        1px solid
        var(--moving-border);
}


.moving-quote-item > div:last-child {
    text-align:
        right;
}


.moving-quote-item span,
.moving-quote-totals span {
    color:
        var(--moving-text-muted);
}


.moving-quote-total {
    margin-top:
        4px;

    border-bottom:
        0 !important;

    font-size:
        1.08rem;
}


/* ==========================================================================
   ALERTS
   ========================================================================== */

.moving-request-section .alert,
.moving-assessment-section .alert,
.moving-details-section .alert,
.moving-history-section .alert,
.moving-quotes-section .alert,
.moving-tracking-section .alert,
.moving-request-section .account-alert,
.moving-assessment-section .account-alert,
.moving-details-section .account-alert,
.moving-history-section .account-alert,
.moving-quotes-section .account-alert,
.moving-tracking-section .account-alert {
    margin-bottom:
        16px;

    padding:
        14px
        16px;

    border-radius:
        14px;

    line-height:
        1.5;

    box-shadow:
        none;
}


.moving-request-section .alert--error,
.moving-assessment-section .alert--error,
.moving-details-section .alert--error,
.moving-history-section .alert--error,
.moving-quotes-section .alert--error,
.moving-tracking-section .alert--error,
.moving-request-section .account-alert--error {
    border:
        1px solid
        rgba(
            239,
            68,
            68,
            0.35
        );

    background:
        rgba(
            127,
            29,
            29,
            0.16
        );

    color:
        #fecaca;
}


.moving-request-section .alert--success,
.moving-assessment-section .alert--success,
.moving-details-section .alert--success,
.moving-history-section .alert--success,
.moving-quotes-section .alert--success,
.moving-tracking-section .alert--success {
    border:
        1px solid
        rgba(
            34,
            197,
            94,
            0.32
        );

    background:
        rgba(
            20,
            83,
            45,
            0.17
        );

    color:
        #bbf7d0;
}


.moving-request-section .alert--warning,
.moving-assessment-section .alert--warning,
.moving-details-section .alert--warning,
.moving-history-section .alert--warning,
.moving-quotes-section .alert--warning,
.moving-tracking-section .alert--warning {
    border:
        1px solid
        rgba(
            245,
            158,
            11,
            0.35
        );

    background:
        rgba(
            120,
            53,
            15,
            0.16
        );

    color:
        #fde68a;
}


/* ==========================================================================
   APPLICATION TABLET
   ========================================================================== */

@media (max-width: 900px) {

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

}


/* ==========================================================================
   APPLICATION MOBILE
   ========================================================================== */

@media (max-width: 680px) {

    .moving-request-section,
    .moving-assessment-section,
    .moving-details-section,
    .moving-history-section,
    .moving-quotes-section,
    .moving-tracking-section {
        padding:
            20px
            0
            104px;
    }


    .moving-request-section .container,
    .moving-assessment-section .container,
    .moving-details-section .container,
    .moving-history-section .container,
    .moving-quotes-section .container,
    .moving-tracking-section .container {
        width:
            min(
                100% - 24px,
                1120px
            );
    }


    .moving-request-section .section__header,
    .moving-assessment-section .section__header,
    .moving-details-section .section__header,
    .moving-history-section .section__header,
    .moving-quotes-section .section__header,
    .moving-tracking-section .section__header,
    .moving-request-section .account-dashboard__header {
        margin-bottom:
            16px;
    }


    /*
     * Preserve the established compact Moving
     * dashboard structure.
     */

    .moving-request-form {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            12px;
    }


    .moving-request-form__section {
        padding:
            18px
            14px;

        border-radius:
            20px;
    }


    /*
     * Fields inside each tile remain one column.
     */

    .moving-request-form .form-grid,
    .moving-request-form .account-form-grid {
        grid-template-columns:
            1fr;

        gap:
            13px;
    }


    .moving-request-form .form-field--full,
    .moving-request-form .account-form-grid__full {
        grid-column:
            auto;
    }


    .moving-request-form__section--full,
    .moving-request-form__actions {
        grid-column:
            1 / -1;
    }


    .moving-assessment-summary,
    .moving-details-grid,
    .moving-quotes-list {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            12px;
    }


    .moving-assessment-summary .card,
    .moving-details-grid > div,
    .moving-quote-card {
        padding:
            16px
            14px;

        border-radius:
            20px;
    }


    .moving-request-form input,
    .moving-request-form select,
    .moving-request-form textarea,
    .moving-request-form .form-control {
        font-size:
            16px;
    }


    .moving-request-form__actions,
    .moving-details-actions {
        display:
            grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            10px;
    }


    .moving-request-form__actions .button,
    .moving-request-form__actions .btn,
    .moving-details-actions .button,
    .moving-details-actions .btn {
        width:
            100%;

        padding-inline:
            12px;
    }


    .moving-quote-card__header {
        flex-direction:
            column;

        gap:
            10px;
    }

}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 420px) {

    .moving-request-section .section__title,
    .moving-assessment-section .section__title,
    .moving-details-section .section__title,
    .moving-history-section .section__title,
    .moving-quotes-section .section__title,
    .moving-tracking-section .section__title,
    .moving-request-section .account-dashboard__title {
        font-size:
            1.75rem;
    }


    .moving-request-form__header h2,
    .moving-request-form .account-form-card__title {
        font-size:
            1.25rem;
    }


    .moving-request-form__section {
        padding:
            16px
            12px;
    }


    .moving-quote-item {
        flex-direction:
            column;
    }


    .moving-quote-item > div:last-child {
        text-align:
            left;
    }

}


/* ==========================================================================
   VERY SMALL SCREENS
   ========================================================================== */

@media (max-width: 350px) {

    .moving-request-form,
    .moving-assessment-summary,
    .moving-details-grid,
    .moving-quotes-list {
        grid-template-columns:
            1fr;
    }


    .moving-request-form__section,
    .moving-request-form__section--full,
    .moving-request-form__actions {
        grid-column:
            auto;
    }

}