.fam-product-box {
    border: 1px solid #28893e;
    margin: 0 0 15px;
    padding: 15px 12px 18px;
}

.fam-product-options {
    margin-top: 12px;
}

.fam-month-grid {
    display: grid;
    gap: 6px 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 520px;
}

.fam-help {
    color: #667085;
    font-size: 0.92em;
    margin-bottom: 0;
}

.fam-agreement-card {
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    padding: 16px;
    margin: 0 0 16px;
}

.fam-card-header {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fam-card-header h4 {
    margin: 0 0 12px;
}

.fam-status {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.85em;
    font-weight: 600;
    padding: 4px 10px;
}

.fam-status-active {
    background: #e6f4ea;
    color: #1f6f3a;
}

.fam-status-cancelled {
    background: #eeeeee;
    color: #555555;
}

.fam-details-grid {
    display: grid;
    gap: 8px 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fam-filter-table {
    margin-top: 10px;
}

.fam-edit-form fieldset {
    border: 0;
    margin: 0 0 16px;
    padding: 0;
}

.fam-edit-form legend {
    font-weight: 700;
    margin-bottom: 8px;
}

.fam-frequency-options label {
    display: block;
    margin: 0 0 6px;
}

.fam-danger-button {
    background: #b42318 !important;
    border-color: #b42318 !important;
    color: #ffffff !important;
}

.fam-inline-form {
    display: inline-block;
    margin: 0 8px 8px 0;
}

@media (max-width: 640px) {
    .fam-month-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fam-details-grid {
        grid-template-columns: 1fr;
    }
}
