.hma-owner-reservations {
    color: #252b3f;
    font-family: Inter, Arial, sans-serif;
}

.hma-reservations-panel {
    display: block;
    padding: 32px !important;
}

.hma-dashboard-home-reservations {
    margin-bottom: 24px;
    padding: 24px;
    border: 1px solid #eceef6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(7, 23, 36, .06);
}

.hma-dashboard-home-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.hma-dashboard-home-head h2 {
    margin: 0;
    color: #071724;
    font-size: 26px;
    line-height: 1.15;
}

.hma-dashboard-home-head a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 8px;
    background: #7b6be5;
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}

.hma-dashboard-home-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.hma-dashboard-home-stats article {
    min-height: 86px;
    padding: 16px;
    border-radius: 8px;
    background: #f7f8fc;
}

.hma-dashboard-home-stats span {
    display: block;
    margin-bottom: 9px;
    color: #7f8495;
    font-size: 12px;
    font-weight: 800;
}

.hma-dashboard-home-stats strong {
    color: #071724;
    font-size: 24px;
    line-height: 1;
}

.hma-dashboard-home-list {
    display: grid;
    gap: 10px;
}

.hma-dashboard-home-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0;
    border-top: 1px solid #eef0f6;
}

.hma-dashboard-home-item strong {
    display: block;
    color: #071724;
}

.hma-dashboard-home-item span:not(.hma-pill) {
    display: block;
    margin-top: 4px;
    color: #7f8495;
    font-size: 13px;
}

.hma-dashboard-home-item-meta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}

.hma-dashboard-home-item-meta > strong {
    min-width: 86px;
    text-align: right;
}

.hma-dashboard-home-empty {
    margin: 0;
    padding: 18px 0 0;
    border-top: 1px solid #eef0f6;
    color: #687083;
}

.hma-owner-reservations *,
.hma-owner-reservations *::before,
.hma-owner-reservations *::after {
    box-sizing: border-box;
}

.hma-reservations-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.hma-reservations-toolbar h1 {
    margin: 0;
    color: #071724;
    font-size: 34px;
    line-height: 1.15;
}

.hma-eyebrow {
    margin: 0 0 7px;
    color: #7b6be5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hma-reservations-search {
    width: min(360px, 100%);
}

.hma-reservations-search input {
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid #e4e7f0;
    border-radius: 8px;
    background: #fbfbfe;
    color: #252b3f;
    box-shadow: none;
}

.hma-reservation-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.hma-reservation-summary article {
    min-height: 102px;
    padding: 20px;
    border: 1px solid #eceef6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(7, 23, 36, .06);
}

.hma-reservation-summary span {
    display: block;
    margin-bottom: 11px;
    color: #7f8495;
    font-size: 13px;
    font-weight: 700;
}

.hma-reservation-summary strong {
    color: #071724;
    font-size: 26px;
    line-height: 1;
}

.hma-reservation-summary small {
    display: block;
    margin-top: 10px;
    color: #16a464;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hma-reservation-table-wrap {
    overflow-x: auto;
    border: 1px solid #eceef6;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(7, 23, 36, .06);
}

.hma-reservation-mobile-list {
    display: none;
}

.hma-reservation-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
}

.hma-reservation-table th,
.hma-reservation-table td {
    padding: 18px 16px;
    border-bottom: 1px solid #eef0f6;
    text-align: left;
    vertical-align: top;
}

.hma-reservation-table th {
    color: #454b62;
    font-size: 13px;
    font-weight: 800;
    background: #fafbfe;
}

.hma-reservation-table td {
    color: #30364b;
    font-size: 14px;
}

.hma-reservation-table td strong {
    display: block;
    color: #071724;
}

.hma-reservation-table td span:not(.hma-pill) {
    display: block;
    margin-top: 3px;
    color: #8a90a1;
    font-size: 12px;
}

.hma-pill {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.hma-pill--source {
    background: #f0edff;
    color: #6d5adb;
}

.hma-pill--confirmed,
.hma-pill--paid {
    background: #e9f8f0;
    color: #137a48;
}

.hma-pill--pending,
.hma-pill--partial {
    background: #fff5de;
    color: #936411;
}

.hma-pill--cancelled {
    background: #feeceb;
    color: #b8332c;
}

.hma-breakdown-row td {
    padding: 0 16px 18px;
    background: #fbfbfe;
}

.hma-breakdown {
    display: grid;
    grid-template-columns: repeat(6, minmax(120px, 1fr));
    gap: 10px;
    padding: 14px;
    border: 1px solid #eceef6;
    border-radius: 8px;
    background: #fff;
}

.hma-breakdown div {
    min-height: 62px;
    padding: 12px;
    border-radius: 6px;
    background: #f7f8fc;
}

.hma-breakdown span {
    display: block;
    margin-bottom: 7px;
    color: #858b9d;
    font-size: 12px;
    font-weight: 700;
}

.hma-breakdown strong {
    color: #252b3f;
    font-size: 15px;
}

.hma-breakdown .hma-breakdown-total {
    background: #071724;
}

.hma-breakdown .hma-breakdown-total span,
.hma-breakdown .hma-breakdown-total strong {
    color: #fff;
}

.hma-empty {
    padding: 28px !important;
    color: #5b6072;
    text-align: center !important;
}

.hma-reservation-card {
    position: relative;
    border: 1px solid #e3e8f1;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 16px 42px rgba(7, 23, 36, .08);
}

.hma-reservation-card::before {
    content: "";
    display: block;
    height: 4px;
    background: #7b6be5;
}

.hma-reservation-card--confirmed::before {
    background: #16a464;
}

.hma-reservation-card--pending::before {
    background: #d6951d;
}

.hma-reservation-card--cancelled::before {
    background: #c93c35;
}

.hma-reservation-card + .hma-reservation-card {
    margin-top: 12px;
}

.hma-reservation-card-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 14px 14px 10px;
}

.hma-reservation-card-title strong {
    display: -webkit-box;
    overflow: hidden;
    color: #071724;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.22;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.hma-reservation-card-title span {
    display: block;
    margin-top: 5px;
    color: #8a90a1;
    font-size: 12px;
    font-weight: 800;
}

.hma-reservation-card-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.hma-reservation-card-market {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 10px;
    padding: 0 14px 8px;
}

.hma-reservation-card-market div {
    min-width: 0;
    padding: 12px;
    border-radius: 8px;
    background: #071724;
}

.hma-reservation-card-market div + div {
    background: #f3f5fa;
}

.hma-reservation-card-market span {
    display: block;
    margin-bottom: 6px;
    color: rgba(255, 255, 255, .64);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hma-reservation-card-market div + div span {
    color: #858b9d;
}

.hma-reservation-card-market strong {
    display: block;
    color: #fff;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.hma-reservation-card-market div + div strong {
    color: #071724;
    font-size: 17px;
}

.hma-reservation-card-ratio {
    height: 6px;
    margin: 0 14px 10px;
    border-radius: 999px;
    overflow: hidden;
    background: #eef1f6;
}

.hma-reservation-card-ratio span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #16a464;
}

.hma-reservation-card-timeline {
    display: grid;
    grid-template-columns: 1fr .55fr 1fr;
    gap: 1px;
    margin: 0 14px 10px;
    overflow: hidden;
    border: 1px solid #e9edf4;
    border-radius: 8px;
    background: #e9edf4;
}

.hma-reservation-card-timeline div {
    min-width: 0;
    padding: 9px 10px;
    background: #fbfcff;
}

.hma-reservation-card-timeline span {
    display: block;
    margin-bottom: 4px;
    color: #858b9d;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.hma-reservation-card-timeline strong {
    display: block;
    color: #252b3f;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
}

.hma-reservation-card-breakdown {
    margin: 0 14px 14px;
}

.hma-reservation-card-breakdown summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid #e9edf4;
    border-radius: 8px;
    background: #fbfcff;
    cursor: pointer;
    list-style: none;
}

.hma-reservation-card-breakdown summary::-webkit-details-marker {
    display: none;
}

.hma-reservation-card-breakdown summary::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #eef1f6;
    color: #071724;
    font-size: 18px;
    font-weight: 900;
}

.hma-reservation-card-breakdown[open] summary::after {
    content: "-";
}

.hma-reservation-card-breakdown summary span {
    color: #071724;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.hma-reservation-card-breakdown summary strong {
    margin-left: auto;
    color: #16a464;
    font-size: 13px;
    font-weight: 900;
}

.hma-reservation-card-ledger {
    display: grid;
    gap: 0;
    padding-top: 8px;
}

.hma-reservation-card-ledger div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 34px;
    padding: 8px 0;
    border-top: 1px solid #eef0f6;
}

.hma-reservation-card-ledger span {
    color: #858b9d;
    font-size: 12px;
    font-weight: 850;
}

.hma-reservation-card-ledger strong {
    color: #071724;
    font-size: 13px;
    font-weight: 900;
}

.hma-reservation-card-ledger .is-total {
    margin-top: 4px;
    padding: 10px 12px;
    border: 0;
    border-radius: 8px;
    background: #071724;
}

.hma-reservation-card-ledger .is-total span,
.hma-reservation-card-ledger .is-total strong {
    color: #fff;
}

@media (max-width: 900px) {
    .hma-reservations-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .hma-reservation-summary,
    .hma-breakdown,
    .hma-dashboard-home-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hma-dashboard-home-item {
        align-items: flex-start;
        flex-direction: column;
    }

    .hma-dashboard-home-item-meta {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 760px) {
    .hma-reservations-panel {
        padding: 16px !important;
    }

    .hma-reservations-toolbar {
        gap: 12px;
        margin-bottom: 14px;
    }

    .hma-reservations-toolbar h1 {
        font-size: 30px;
        line-height: 1.04;
    }

    .hma-eyebrow {
        margin-bottom: 5px;
        font-size: 11px;
    }

    .hma-reservations-search input {
        min-height: 44px;
    }

    .hma-reservation-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 14px;
    }

    .hma-reservation-summary article {
        min-height: 74px;
        padding: 12px;
        border-radius: 8px;
    }

    .hma-reservation-summary span {
        margin-bottom: 7px;
        font-size: 11px;
    }

    .hma-reservation-summary strong {
        font-size: 20px;
    }

    .hma-reservation-summary small {
        margin-top: 7px;
        font-size: 9px;
    }

    .hma-reservation-table-wrap {
        display: none;
    }

    .hma-reservation-mobile-list {
        display: block;
    }
}

@media (max-width: 560px) {
    .hma-breakdown,
    .hma-dashboard-home-stats {
        grid-template-columns: 1fr;
    }

    .hma-dashboard-home-head {
        flex-direction: column;
    }

    .hma-reservation-card-market {
        grid-template-columns: 1fr .72fr;
    }

    .hma-reservation-card-market strong {
        font-size: 22px;
    }

    .hma-reservation-card-market div + div strong {
        font-size: 15px;
    }

    .hma-reservation-card-timeline {
        grid-template-columns: 1fr .48fr 1fr;
    }
}
