﻿.reserv-status-card {
    margin-top: 10px;
    border: 1px solid #e1e2ea;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    font-family: var(--font-type01,'Pretendard',sans-serif);
}

    .reserv-status-card .rs-header {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 10px 14px;
        background: #f8f9fc;
        border-bottom: 1px solid #e1e2ea;
        font-size: 16px;
        font-weight: 600;
        color: #142247;
    }

        .reserv-status-card .rs-header .rs-date {
            color: var(--main-color01,#0E70DD);
        }

    .reserv-status-card .rs-body {
        padding: 12px 14px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .reserv-status-card .rs-row {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .reserv-status-card .rs-slot-name {
        font-size: 16px;
        color: #555;
        width: 148px;
        flex-shrink: 0;
        white-space: nowrap;
    }

    .reserv-status-card .rs-bar-wrap {
        flex: 1;
        height: 7px;
        background: #eee;
        border-radius: 4px;
        overflow: hidden;
    }

    .reserv-status-card .rs-bar-fill {
        height: 100%;
        border-radius: 4px;
        transition: width 0.4s ease;
    }

        .reserv-status-card .rs-bar-fill.ok {
            background: #52a722;
        }

        .reserv-status-card .rs-bar-fill.warn {
            background: #EF9F27;
        }

        .reserv-status-card .rs-bar-fill.full {
            background: #E24B4A;
        }

    .reserv-status-card .rs-count {
        font-size: 16px;
        font-weight: 600;
        color: #222;
        width: 48px;
        text-align: right;
        flex-shrink: 0;
    }

/* ===== 접수 현황판 (정원/접수/잔여) ===== */
.rsv-status {
    border: 1px solid var(--gray-color05, #DEE2E6);
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
    margin-bottom: 12px;
}

    .rsv-status .status-head,
    .rsv-status .status-body {
        display: flex;
        flex-wrap: nowrap;
        text-align: center;
    }

        .rsv-status .status-head > span,
        .rsv-status .status-body > span {
            flex: 1 1 25%;
            padding: 9px 5px;
        }

    .rsv-status .status-head {
        background: var(--blue-color01, #ECF6FF);
        border-bottom: 1px solid var(--gray-color05, #DEE2E6);
        font-size: 14px;
        font-weight: 600;
        color: var(--main-color02, #142247);
    }

    .rsv-status .status-body .st-tit {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        font-weight: 500;
        color: var(--font-color01, #222);
    }

    .rsv-status .status-body .st-num {
        font-family: var(--font-type02, "GmarketSans");
        font-size: 22px;
        font-weight: 700;
        line-height: 1.2;
        color: var(--main-color01, #0E70DD);
    }

    .rsv-status .status-body .st-num.remain {
        color: var(--point-color01, #E0024E);
    }

    .rsv-status .status-body.num-md .st-num {
        font-size: 18px;
        letter-spacing: -0.5px;
    }

    .rsv-status .status-body.num-sm .st-num {
        font-size: 15px;
        letter-spacing: -0.5px;
    }
