/*
 * ALCANCE Agent Dashboard Premium V2
 * Final agent-only refinement layered after Portal Design System V2.
 * Contract: 40px controls, 5px radius, 10px gap, no shadows.
 */

body.mp-portal-ui-agent {
    --mp-agent-title: 18px;
    --mp-agent-section-title: 14px;
    --mp-agent-body: 10.5px;
    --mp-agent-meta: 9px;
}

/* Typography: lighter, quieter and consistent. */
body.mp-portal-ui-agent .mp-agent-topbar h1 {
    font-size: 17px !important;
    font-weight: 650 !important;
    letter-spacing: -.012em !important;
}

body.mp-portal-ui-agent .mp-agent-dashboard-welcome h2 {
    font-size: var(--mp-agent-title) !important;
    font-weight: 650 !important;
    letter-spacing: -.014em !important;
}

body.mp-portal-ui-agent .mp-agent-dashboard-welcome p,
body.mp-portal-ui-agent .mp-agent-topbar p {
    font-size: var(--mp-agent-body) !important;
    font-weight: 400 !important;
}

body.mp-portal-ui-agent .mp-agent-panel-head h3,
body.mp-portal-ui-agent .mp-agent-panel-heading h3,
body.mp-portal-ui-agent .mp-agent-page-hero h2,
body.mp-portal-ui-agent .mp-client-hero h2 {
    font-size: var(--mp-agent-section-title) !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    letter-spacing: -.008em !important;
}

body.mp-portal-ui-agent .mp-agent-eyebrow,
body.mp-portal-ui-agent [class*="section-kicker"] {
    font-size: 9px !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
}

body.mp-portal-ui-agent .mp-agent-panel-head a,
body.mp-portal-ui-agent .mp-agent-panel-heading a,
body.mp-portal-ui-agent .mp-table-link {
    font-size: 9.5px !important;
    font-weight: 650 !important;
}

/* Compact panel rhythm. */
body.mp-portal-ui-agent .mp-agent-panel-head,
body.mp-portal-ui-agent .mp-agent-panel-heading {
    min-height: 48px !important;
    padding: 10px 14px !important;
}

body.mp-portal-ui-agent .mp-agent-kpi-grid {
    margin-bottom: 10px !important;
}

body.mp-portal-ui-agent .mp-agent-kpi-card {
    min-height: 82px !important;
    gap: 10px !important;
    padding: 10px 12px !important;
}

body.mp-portal-ui-agent .mp-agent-kpi-icon {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
}

body.mp-portal-ui-agent .mp-agent-kpi-icon svg {
    width: 18px !important;
    height: 18px !important;
}

body.mp-portal-ui-agent .mp-agent-kpi-card small {
    font-size: 9px !important;
    font-weight: 650 !important;
}

body.mp-portal-ui-agent .mp-agent-kpi-card strong {
    margin: 2px 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

body.mp-portal-ui-agent .mp-agent-kpi-card p {
    font-size: 8.5px !important;
    line-height: 1.3 !important;
}

/* Sidebar: avoid unnecessary wrapping and reduce visual weight. */
body.mp-portal-ui-agent .mp-agent-sidebar .mp-agent-brand-label {
    white-space: nowrap !important;
    font-size: 9px !important;
    font-weight: 750 !important;
    letter-spacing: .08em !important;
}

body.mp-portal-ui-agent .mp-agent-nav a,
body.mp-portal-ui-agent .mp-agent-nav > span {
    min-height: 39px !important;
    font-size: 11px !important;
    font-weight: 550 !important;
}

body.mp-portal-ui-agent .mp-agent-nav a.is-active {
    font-weight: 650 !important;
}

/* Sabre is the operational hero, but must not overwhelm the dashboard. */
body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__header {
    padding: 13px 16px !important;
}

body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__title {
    font-size: 18px !important;
    font-weight: 650 !important;
    letter-spacing: -.012em !important;
}

body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__subtitle {
    font-size: 10px !important;
    font-weight: 400 !important;
}

body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__form {
    padding: 13px 16px 15px !important;
}

body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__trip-types button,
body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__tabs button {
    min-height: 40px !important;
    font-size: 11px !important;
    font-weight: 650 !important;
}

body.mp-portal-ui-agent .mp-agent-flight-search-panel input,
body.mp-portal-ui-agent .mp-agent-flight-search-panel select {
    height: 40px !important;
    min-height: 40px !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
}

body.mp-portal-ui-agent .mp-agent-flight-search-panel label,
body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__field > span {
    font-size: 10px !important;
    font-weight: 650 !important;
}

body.mp-portal-ui-agent .mp-agent-flight-search-panel .mpfs__submit,
body.mp-portal-ui-agent .mp-agent-flight-search-panel button[type="submit"]:not(.mpfs__modal-close) {
    width: 190px !important;
    min-height: 40px !important;
    height: 40px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

/* Empty data should inform, not dominate the page. */
body.mp-portal-ui-agent .mp-agent-dashboard-premium-grid .mp-agent-recent-bookings-panel > :last-child,
body.mp-portal-ui-agent .mp-agent-dashboard-premium-grid .mp-agent-destinations-card > :last-child {
    min-height: 165px !important;
    height: auto !important;
}

body.mp-portal-ui-agent .mp-agent-recent-quotes .mp-agent-empty,
body.mp-portal-ui-agent .mp-agent-recent-bookings-panel .mp-agent-empty,
body.mp-portal-ui-agent .mp-agent-destinations-card .mp-agent-empty {
    min-height: 145px !important;
    padding: 22px 16px !important;
}

body.mp-portal-ui-agent .mp-agent-empty strong {
    font-size: 12px !important;
    font-weight: 650 !important;
}

body.mp-portal-ui-agent .mp-agent-empty p {
    font-size: 10px !important;
}

/* Commission panel: remove artificial vertical stretching. */
body.mp-portal-ui-agent .mp-agent-dashboard-premium-grid .mp-agent-commission-chart-panel {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
}

body.mp-portal-ui-agent .mp-agent-commission-chart-body {
    flex: 0 0 auto !important;
    padding: 10px 14px 12px !important;
}

body.mp-portal-ui-agent .mp-agent-commission-chart {
    flex: 0 0 auto !important;
    min-height: 165px !important;
}

body.mp-portal-ui-agent .mp-agent-commission-chart-summary {
    gap: 10px !important;
    margin-top: 8px !important;
}

body.mp-portal-ui-agent .mp-agent-commission-chart-summary > div {
    padding: 9px 10px !important;
}

/* Commission summary works better as a compact 2 x 2 metric matrix. */
body.mp-portal-ui-agent .mp-agent-commission-summary .mp-agent-details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 12px 14px 14px !important;
}

body.mp-portal-ui-agent .mp-agent-commission-summary .mp-agent-details > div {
    min-width: 0 !important;
    padding: 10px 11px !important;
    border: 1px solid var(--mp-ds-line) !important;
    border-radius: 5px !important;
    background: #fbfcfe !important;
}

body.mp-portal-ui-agent .mp-agent-commission-summary .mp-agent-details dt {
    font-size: 8.5px !important;
    font-weight: 700 !important;
}

body.mp-portal-ui-agent .mp-agent-commission-summary .mp-agent-details dd {
    margin-top: 4px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* Quick Actions: consistent 40/48px rhythm. */
body.mp-portal-ui-agent .mp-agent-action-grid a {
    min-height: 48px !important;
    padding: 7px 10px !important;
}

body.mp-portal-ui-agent .mp-agent-action-grid a > span {
    width: 30px !important;
    height: 30px !important;
}

body.mp-portal-ui-agent .mp-agent-action-grid svg {
    width: 18px !important;
    height: 18px !important;
}

body.mp-portal-ui-agent .mp-agent-action-grid strong {
    font-size: 10px !important;
    font-weight: 600 !important;
}

/* Restore intentional visual hierarchy for the three footer cards. */
body.mp-portal-ui-agent .mp-agent-growth-card,
body.mp-portal-ui-agent .mp-agent-help-card,
body.mp-portal-ui-agent .mp-agent-rank-card {
    min-height: 96px !important;
    padding: 13px 14px !important;
}

body.mp-portal-ui-agent .mp-agent-growth-card {
    border-color: var(--mp-ds-navy-2) !important;
    background: var(--mp-ds-navy-2) !important;
    color: #fff !important;
}

body.mp-portal-ui-agent .mp-agent-growth-card h3,
body.mp-portal-ui-agent .mp-agent-growth-card p,
body.mp-portal-ui-agent .mp-agent-growth-card svg {
    color: #fff !important;
}

body.mp-portal-ui-agent .mp-agent-growth-card h3,
body.mp-portal-ui-agent .mp-agent-help-card h3 {
    font-size: 12.5px !important;
    font-weight: 650 !important;
}

body.mp-portal-ui-agent .mp-agent-growth-card p {
    color: #d7e1ed !important;
    font-size: 9px !important;
}

body.mp-portal-ui-agent .mp-agent-growth-card .mp-btn-primary {
    border-color: var(--mp-ds-orange) !important;
    background: var(--mp-ds-orange) !important;
    color: #fff !important;
}

body.mp-portal-ui-agent .mp-agent-rank-card {
    border-color: var(--mp-ds-navy-2) !important;
    background: var(--mp-ds-navy-2) !important;
    color: #fff !important;
}

body.mp-portal-ui-agent .mp-agent-rank-card span,
body.mp-portal-ui-agent .mp-agent-rank-card strong {
    color: #fff !important;
}

body.mp-portal-ui-agent .mp-agent-rank-card small {
    color: #ccd8e7 !important;
}

body.mp-portal-ui-agent .mp-agent-rank-card span {
    font-size: 8.5px !important;
    font-weight: 550 !important;
}

body.mp-portal-ui-agent .mp-agent-rank-card strong {
    margin: 4px 0 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

body.mp-portal-ui-agent .mp-rank-progress {
    height: 6px !important;
    margin-top: 10px !important;
    background: rgba(255, 255, 255, .14) !important;
}

/* Do not allow legacy selectors to add shadows or oversized radius back. */
body.mp-portal-ui-agent .mp-agent-panel,
body.mp-portal-ui-agent .mp-agent-kpi-card,
body.mp-portal-ui-agent .mp-agent-growth-card,
body.mp-portal-ui-agent .mp-agent-help-card,
body.mp-portal-ui-agent .mp-agent-rank-card,
body.mp-portal-ui-agent .mp-agent-flight-search-panel {
    border-radius: 5px !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    body.mp-portal-ui-agent .mp-agent-commission-summary .mp-agent-details {
        grid-template-columns: 1fr !important;
    }
}

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

    body.mp-portal-ui-agent .mp-agent-commission-chart {
        min-height: 150px !important;
    }
}
