/* MP Travel UI Standards V1
 * Shared visual contract for frontend forms and authenticated portal surfaces.
 * Core rules approved for the ALCANCE project:
 * - standard field/control height: 40px
 * - standard radius: 5px
 * - standard layout gap: 10px
 * - no shadows on fields/buttons/cards introduced by this layer
 */

:root {
    --mp-ui-field-height: 40px;
    --mp-ui-radius: 5px;
    --mp-ui-gap: 10px;
    --mp-ui-navy: #202021;
    --mp-ui-orange: #F47F22;
    --mp-ui-line: #d9e1ec;
    --mp-ui-text: #202021;
    --mp-ui-muted: #667085;
}

/* Elementor forms used throughout the public site. */
.elementor-form .elementor-field:not(textarea):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.elementor-form select.elementor-field {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

.elementor-form textarea.elementor-field {
    min-height: 96px !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

.elementor-form .elementor-button,
.elementor-form button[type="submit"] {
    min-height: var(--mp-ui-field-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

/* Unified Account page. */
.mp-auth-shell .mp-auth-field > div,
.mp-auth-shell .mp-auth-submit,
.mp-auth-shell .mp-auth-signup {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

/* Sign Up flow. */
.mp-signup-shell .mp-signup-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.mp-signup-shell .mp-signup-field select,
.mp-signup-shell .mp-signup-code-row input {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

.mp-signup-shell .mp-signup-field textarea {
    min-height: 96px !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

.mp-signup-shell .mp-signup-btn,
.mp-signup-shell .mp-signup-code-row button,
.mp-signup-shell .mp-signup-send-code {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

/* Agent Hub / quote workspace forms. */
body.mp-agent-portal-page .mp-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.mp-agent-portal-page .mp-field select,
body.mp-agent-portal-page .mp-index-toolbar input,
body.mp-agent-portal-page .mp-index-toolbar select {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-field textarea,
body.mp-agent-portal-page .mp-client-form-card textarea,
body.mp-agent-portal-page .mp-decline-request textarea {
    min-height: 96px !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-btn,
body.mp-agent-portal-page #mp-agent-portal-login .button-primary,
body.mp-agent-portal-page #mp-agent-portal-login input[type="text"],
body.mp-agent-portal-page #mp-agent-portal-login input[type="password"] {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

/* Sabre search inside Agent Hub. This intentionally outranks the historical
 * 45/46/50/52px declarations that accumulated in the legacy portal CSS. */
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs .mpfs__field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs .mpfs__field select,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs .mpfs__sort select,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="text"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="email"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="tel"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="date"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="number"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs select {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    padding: 0 12px !important;
    border-radius: var(--mp-ui-radius) !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs textarea {
    min-height: 96px !important;
    padding: 10px 12px !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__check,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__choice,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__trip-type,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__tab,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__submit,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__select,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__quote-submit,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs button[type="submit"]:not(.mpfs__modal-close) {
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__choice > span {
    display: flex !important;
    height: 38px !important;
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__swap {
    width: var(--mp-ui-field-height) !important;
    min-width: var(--mp-ui-field-height) !important;
    height: var(--mp-ui-field-height) !important;
    min-height: var(--mp-ui-field-height) !important;
    margin-top: 20px !important;
}

/* Compact the Sabre panel to the same visual rhythm used elsewhere. */
body.mp-agent-portal-page .mp-agent-flight-search-panel {
    padding: 18px !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__header {
    gap: var(--mp-ui-gap) !important;
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__title {
    font-size: 24px !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__form {
    gap: var(--mp-ui-gap) !important;
    padding: 14px !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__grid,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__grid--route,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__grid--details,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__trip-types,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__tabs {
    gap: var(--mp-ui-gap) !important;
}

/* Portal cards keep the approved compact premium language. */
body.mp-agent-portal-page .mp-agent-panel,
body.mp-agent-portal-page .mp-agent-kpi-card,
body.mp-agent-portal-page .mp-agent-action-grid a,
body.mp-agent-portal-page .mp-agent-growth-card,
body.mp-agent-portal-page .mp-agent-help-card,
body.mp-agent-portal-page .mp-agent-rank-card {
    border-radius: var(--mp-ui-radius) !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-kpi-grid,
body.mp-agent-portal-page .mp-agent-dashboard-main-grid,
body.mp-agent-portal-page .mp-agent-dashboard-secondary-grid,
body.mp-agent-portal-page .mp-agent-dashboard-footer-grid,
body.mp-agent-portal-page .mp-agent-action-grid {
    gap: var(--mp-ui-gap) !important;
}

body.mp-agent-portal-page .mp-agent-kpi-card {
    min-height: 96px !important;
    padding: 14px !important;
}

body.mp-agent-portal-page .mp-agent-action-grid a {
    min-height: 54px !important;
    padding: 9px 10px !important;
}

/* Agent Portal — Sabre is the primary operational tool.
 * Strong visual hierarchy without shadows or oversized controls. */
body.mp-agent-portal-page .mp-agent-flight-search-panel {
    padding: 0 !important;
    overflow: visible !important;
    border: 1px solid #aebed0 !important;
    border-radius: var(--mp-ui-radius) !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__header {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-bottom: 3px solid var(--mp-ui-orange) !important;
    border-radius: var(--mp-ui-radius) var(--mp-ui-radius) 0 0 !important;
    background: var(--mp-ui-navy) !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__title {
    margin: 0 0 4px !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
    letter-spacing: -.015em !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__subtitle {
    max-width: 820px !important;
    margin: 0 !important;
    color: #c7d4e3 !important;
    font-size: 11.5px !important;
    line-height: 1.5 !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__environment,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__badge {
    min-height: 30px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(244, 127, 34, .85) !important;
    border-radius: var(--mp-ui-radius) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .07) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__form {
    gap: var(--mp-ui-gap) !important;
    margin: 0 !important;
    padding: 18px !important;
    border: 0 !important;
    border-radius: 0 0 var(--mp-ui-radius) var(--mp-ui-radius) !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__trip-types,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__tabs {
    margin: 0 0 2px !important;
    padding: 3px !important;
    border-color: #cbd6e2 !important;
    background: #fff !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs label,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__field > span,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__sort > span {
    margin-bottom: 5px !important;
    color: #102a4c !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="text"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="email"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="tel"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="date"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input[type="number"],
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs select {
    border-color: #c4d0dd !important;
    color: var(--mp-ui-text) !important;
    background: #fff !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs input:focus,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs select:focus,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs textarea:focus {
    border-color: var(--mp-ui-orange) !important;
    outline: 2px solid rgba(244, 127, 34, .08) !important;
    box-shadow: none !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__check {
    border-color: #c4d0dd !important;
    background: #fff !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__swap {
    border-color: var(--mp-ui-orange) !important;
    color: var(--mp-ui-orange) !important;
    background: #fff !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__swap:hover,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__swap:focus-visible {
    border-color: var(--mp-ui-orange) !important;
    color: #fff !important;
    background: var(--mp-ui-orange) !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__submit,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs button[type="submit"]:not(.mpfs__modal-close) {
    width: min(230px, 100%) !important;
    justify-self: start !important;
    border-color: var(--mp-ui-orange) !important;
    color: #fff !important;
    background: var(--mp-ui-orange) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__submit:hover,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__submit:focus-visible,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs button[type="submit"]:not(.mpfs__modal-close):hover {
    border-color: var(--mp-ui-navy) !important;
    background: var(--mp-ui-navy) !important;
}

body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__hint,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__field-help,
body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs small {
    margin-top: 4px !important;
    color: #7b899b !important;
    font-size: 9px !important;
}

@media (max-width: 650px) {
    body.mp-agent-portal-page .mp-agent-flight-search-panel {
        padding: 0 !important;
    }

    body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__header {
        grid-template-columns: 1fr !important;
        padding: 14px !important;
    }

    body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__form {
        padding: 12px !important;
    }

    body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__environment,
    body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__badge {
        width: max-content !important;
    }

    body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs__submit,
    body.mp-agent-portal-page .mp-agent-flight-search-panel .mpfs button[type="submit"]:not(.mpfs__modal-close) {
        width: 100% !important;
    }
}
