/**
 * Asaas NF - Frontend Styles
 *
 * @since      1.0.0
 * @package    Asaas_NF_WooCommerce
 */

/* ==========================================================================
   My Account - Minhas Notas Fiscais
   ========================================================================== */

.asaas-nf-my-invoices {
    margin-bottom: 2em;
}

/* Filters */
.asaas-nf-filters {
    margin-bottom: 1.5em;
    padding: 1em;
    background: #f8f9fa;
    border-radius: 4px;
}

.asaas-nf-filters-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    align-items: flex-end;
}

.asaas-nf-filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.3em;
}

.asaas-nf-filter-group label {
    font-size: 0.875em;
    font-weight: 600;
    color: #555;
}

.asaas-nf-filter-group select,
.asaas-nf-filter-group input[type="date"] {
    padding: 0.5em;
    border: 1px solid #ddd;
    border-radius: 4px;
    min-width: 150px;
}

.asaas-nf-filter-actions {
    flex-direction: row;
    gap: 0.5em;
}

.asaas-nf-filter-actions .button {
    margin: 0;
}

/* Results count */
.asaas-nf-results-count {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 1em;
}

/* Table */
.asaas-nf-invoices-table {
    width: 100%;
    border-collapse: collapse;
}

.asaas-nf-invoices-table th {
    text-align: left;
    padding: 0.75em;
    background: #f8f9fa;
    border-bottom: 2px solid #ddd;
    font-weight: 600;
}

.asaas-nf-invoices-table td {
    padding: 0.75em;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.asaas-nf-invoices-table tr:hover td {
    background: #fafafa;
}

/* Status badges */
.asaas-nf-status {
    display: inline-block;
    padding: 0.25em 0.6em;
    font-size: 0.8em;
    font-weight: 600;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.asaas-nf-status--authorized {
    background: #d4edda;
    color: #155724;
}

.asaas-nf-status--pending {
    background: #fff3cd;
    color: #856404;
}

.asaas-nf-status--processing_cancellation {
    background: #fff3cd;
    color: #856404;
}

.asaas-nf-status--cancelled {
    background: #e2e3e5;
    color: #383d41;
}

.asaas-nf-status--cancellation_denied {
    background: #f8d7da;
    color: #721c24;
}

.asaas-nf-status--error {
    background: #f8d7da;
    color: #721c24;
}

/* Actions */
.asaas-nf-actions {
    display: flex;
    gap: 0.5em;
    flex-wrap: wrap;
}

.asaas-nf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4em 0.8em !important;
    font-size: 0.8em !important;
    text-decoration: none;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.asaas-nf-btn--pdf {
    background: #dc3545 !important;
    color: #fff !important;
    border-color: #dc3545 !important;
}

.asaas-nf-btn--pdf:hover {
    background: #c82333 !important;
    color: #fff !important;
}

.asaas-nf-btn--xml {
    background: #28a745 !important;
    color: #fff !important;
    border-color: #28a745 !important;
}

.asaas-nf-btn--xml:hover {
    background: #218838 !important;
    color: #fff !important;
}

.asaas-nf-btn-icon {
    font-weight: 700;
}

.asaas-nf-pending-msg,
.asaas-nf-error-msg {
    font-size: 0.8em;
    color: #666;
    font-style: italic;
}

.asaas-nf-error-msg {
    color: #dc3545;
    cursor: help;
}

/* Pagination */
.asaas-nf-pagination {
    margin-top: 1.5em;
    display: flex;
    gap: 0.3em;
    justify-content: center;
}

.asaas-nf-pagination .page-numbers {
    display: inline-block;
    padding: 0.5em 0.8em;
    border: 1px solid #ddd;
    border-radius: 3px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
}

.asaas-nf-pagination .page-numbers:hover {
    background: #f0f0f0;
}

.asaas-nf-pagination .page-numbers.current {
    background: #0073aa;
    color: #fff;
    border-color: #0073aa;
}

/* Responsive */
@media screen and (max-width: 768px) {
    .asaas-nf-filters-row {
        flex-direction: column;
        align-items: stretch;
    }

    .asaas-nf-filter-group {
        width: 100%;
    }

    .asaas-nf-filter-group select,
    .asaas-nf-filter-group input[type="date"] {
        width: 100%;
        min-width: auto;
    }

    .asaas-nf-filter-actions {
        flex-direction: row;
        justify-content: flex-start;
    }

    .asaas-nf-invoices-table thead {
        display: none;
    }

    .asaas-nf-invoices-table tr {
        display: block;
        margin-bottom: 1em;
        border: 1px solid #ddd;
        border-radius: 4px;
    }

    .asaas-nf-invoices-table td {
        display: flex;
        justify-content: space-between;
        padding: 0.6em 1em;
        border-bottom: 1px solid #eee;
    }

    .asaas-nf-invoices-table td:last-child {
        border-bottom: none;
    }

    .asaas-nf-invoices-table td::before {
        content: attr(data-title);
        font-weight: 600;
        margin-right: 1em;
    }

    .asaas-nf-actions {
        justify-content: flex-end;
    }
}
