/* Badge: usr 공통 기능 스타일 */

.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #e8f8ee;
    color: #15904d;
    font-size: 12px;
    font-weight: 900;
    width: max-content;
}

@media (max-height: 760px) {
    .badge {
        margin-bottom: 6px;
    }
}

.ingredient-analysis .ingredient-tag {
    display: flex;
    align-items: center;
    gap: 8px;

    background: #f5f5f5;

    padding: 10px 14px;
    border-radius: 999px;

    font-size: 14px;
}

.recommendation-results .recipe-badge-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.recommendation-results .recipe-badge-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    padding: 8px 12px;

    border-radius: 999px;

    background: #f4f7f2;

    font-size: 12px;
    font-weight: 800;

    color: #52635a;
}

.recommendation-results .recipe-badge-item b {
    color: #17251e;
    font-weight: 900;
}

.recommendation-results .recipe-badge-item.like {
    background: #fff1f1;
    color: #d84c4c;
}

.recipe-detail .ingredient-badge {
    padding: 3px 7px;

    border-radius: 999px;

    font-size: 10px;
    font-weight: 700;
}

.recipe-detail .ingredient-badge.required {
    background: #fff2d8;
    color: #ff9800;
}

.recipe-detail .ingredient-badge.missing {
    background: #ffe5e5;
    color: #ef4444;
}

.payment-card-manager .card-badge {
    background: rgba(255, 255, 255, 0.18);

    padding: 6px 12px;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 600;
}

.inquiry-feed .category {
    font-size: 12px;
    color: #6b7280;
}

.inquiry-feed .status {
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.inquiry-feed .status.received {
    background: #f3f4f6;
    color: #4b5563;
}

.inquiry-feed .status.answered {
    background: #dcfce7;
    color: #15803d;
}

.dashboard .chip {
    border-radius: 999px;
    background: #f0f7f2;
    color: #257246;
    padding: 6px 9px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.dashboard .recipe-tag {
    border-radius: 999px;
    padding: 5px 8px;
    background: #17251e;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.profile-editor .tag-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.recipe-catalog .item-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 8px 10px 8px 14px;
    margin: 4px;

    border-radius: 999px;

    background: linear-gradient(135deg, #4CAF50, #66BB6A);
    color: #fff;

    font-size: 13px;
    font-weight: 700;

    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.18);
}

.recipe-catalog .badge-text {
    line-height: 1;
}

.recipe-catalog .badge-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.billing-overview .plan-badge {
    display: inline-block;
    padding: 7px 12px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .22);
    font-size: 12px;
    font-weight: 700;
}

.billing-overview .subscription-status {
    position: absolute;
    top: 24px;
    right: 22px;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.billing-overview .subscription-status.active {
    background: rgba(255, 255, 255, .25);
}

.billing-overview .subscription-status.cancelled {
    background: rgba(239, 68, 68, .85);
}

.billing-overview .pay-status {
    height: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.billing-overview .pay-status.success {
    background: #dcfce7;
    color: #15803d;
}

.billing-overview .pay-status.fail {
    background: #fee2e2;
    color: #dc2626;
}

.pricing-options .badge {
    background: #4CAF50;
    color: #fff;
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 999px;
}

.selectable-recipe-list .menu-badge {
    padding: 4px 8px;

    border-radius: 999px;

    background: #eef9f0;
    color: #4CAF50;

    font-size: 11px;
    font-weight: 700;

    flex-shrink: 0;
}