/* Dashboard styles */
.edara-dashboard {
    margin: 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
}

.edara-stats-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
    margin-top: 30px;
}

.edara-stats-card {
    background: #fff;
    border: none;
    border-radius: 8px;
    padding: 24px;
    text-align: left;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    transition: box-shadow 0.2s ease-in-out;
}

.edara-stats-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    transform: none;
}

.edara-stats-label {
    font-size: 14px;
    color: #5c5c5c;
    margin: 0 0 8px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.edara-stats-value {
    font-size: 24px;
    font-weight: 600;
    color: #000;
    margin: 0 0 8px;
}

.edara-stats-sublabel {
    font-size: 14px;
    color: #757575;
    margin: 0;
    display: flex;
    align-items: center;
}

.edara-chart-container {
    background: #fff;
    border: none;
    border-radius: 8px;
    padding: 24px;
    margin-top: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.edara-chart-container h2 {
    margin-top: 0;
    margin-bottom: 16px;
    color: #1d2327;
    font-size: 1.5em;
    font-weight: 600;
}

.edara-date-filters {
    margin-bottom: 24px;
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    background: #f8f9fa;
    padding: 12px 16px;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

.edara-date-filters label {
    font-weight: 500;
    color: #333;
    font-size: 14px;
}

.edara-date-filters input[type="date"] {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    background: #fff;
    cursor: pointer;
}

.edara-date-filters button {
    background: #5a69af;
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: background-color 0.2s ease;
}

.edara-date-filters button:hover {
    background: #4a5791;
}

.edara-chart-wrapper {
    height: 400px;
    position: relative;
    margin-top: 20px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 10px;
}

#edara-no-data {
    text-align: center;
    color: #757575;
    font-style: normal;
    margin-top: 20px;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 4px;
    font-size: 14px;
}

/* Settings Page Styles */
.edara-settings-wrap {
    max-width: 1200px;
    margin: 20px 0;
}

.edara-settings-section {
    background: #fff;
    border: 1px solid #ccd0d4;
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 20px;
    box-shadow: 0 1px 1px rgba(0,0,0,.04);
}

.edara-settings-section h2 {
    margin: 0 0 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
    font-size: 1.3em;
    font-weight: 600;
}

.edara-settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.edara-settings-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.edara-settings-field label {
    font-weight: 600;
    margin-bottom: 4px;
}

.edara-settings-field select,
.edara-settings-field input[type="text"],
.edara-settings-field input[type="date"] {
    width: 100%;
    max-width: 400px;
}

.edara-field-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.edara-refresh-button {
    cursor: pointer !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    position: relative;
    z-index: 9999 !important;
    background: #f0f0f1 !important;
    border: 1px solid #2271b1 !important;
    color: #2271b1 !important;
    padding: 4px 8px !important;
    min-height: 30px !important;
    transition: all 0.2s ease !important;
}

.edara-refresh-button:hover {
    background: #2271b1 !important;
    color: #ffffff !important;
}

.edara-refresh-button:active {
    background: #135e96 !important;
    color: #ffffff !important;
}

.edara-refresh-button:disabled {
    cursor: not-allowed !important;
    opacity: 0.7 !important;
    background: #f0f0f1 !important;
    color: #2271b1 !important;
}

.edara-checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.edara-checkbox-wrapper input[type="checkbox"] {
    margin: 0;
}

.edara-checkbox-wrapper span {
    font-weight: normal;
}

/* Select2 Customization */
.select2-container {
    min-width: 200px;
    max-width: 400px;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    border: 1px solid #8c8f94;
    border-radius: 4px;
    min-height: 32px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 32px;
    padding-left: 12px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #f0f0f1;
    border: 1px solid #c3c4c7;
    border-radius: 3px;
    padding: 2px 6px;
    margin: 4px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 5px;
    color: #646970;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
}

/* Description text */
.edara-settings-field .description {
    color: #646970;
    font-style: italic;
    margin: 4px 0 0;
}

/* Submit button */
.edara-settings-wrap .submit {
    margin-top: 20px;
    padding: 15px 0;
    border-top: 1px solid #eee;
}

/* Payment Links Styles */
.payment-links-container {
    margin-top: 10px;
}

.payment-links-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

.payment-links-header p.description {
    margin: 0;
    color: #646970;
    font-style: italic;
}

.payment-links-header button {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
    line-height: 1;
}

.payment-links-header button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 1;
    vertical-align: middle;
}

.payment-links-header button:hover {
    background: #0071a1;
    color: #fff;
    border-color: #0071a1;
}

.payment-link-row {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 15px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: box-shadow 0.2s ease;
}

.payment-link-row:hover {
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.payment-link-fields {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 20px;
    align-items: end;
}

.payment-link-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.payment-link-field label {
    font-weight: 600;
    color: #1d2327;
    font-size: 14px;
    margin-bottom: 4px;
}

.payment-link-field select,
.payment-link-field input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    font-size: 14px;
    background: #fff;
    transition: border-color 0.2s ease;
    height: 44px;
    box-sizing: border-box;
}

.payment-link-field select:disabled {
    background-color: #f6f7f7;
    color: #757575;
    cursor: not-allowed;
}

.payment-link-field select:focus,
.payment-link-field input[type="text"]:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

.payment-link-actions {
    display: flex;
    justify-content: center;
    align-items: center;
}

.remove-payment-link {
    background: #dc3232 !important;
    color: #fff !important;
    border: 1px solid #dc3232 !important;
    padding: 0 !important;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    line-height: 1;
}

.remove-payment-link:hover {
    background: #a02828 !important;
    border-color: #a02828 !important;
}

.remove-payment-link .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 1;
    margin: 0;
    vertical-align: middle;
}

/* Empty state */
.payment-links-empty {
    text-align: center;
    color: #646970;
    font-style: italic;
    padding: 40px 20px;
    background: #f8f9fa;
    border: 2px dashed #ddd;
    border-radius: 4px;
}

/* Responsive adjustments */
@media screen and (max-width: 1200px) {
    .payment-link-fields {
        grid-template-columns: 1fr 1fr auto;
        gap: 15px;
    }
    
    .payment-link-field:nth-child(3) {
        grid-column: 1 / -2;
    }
}

@media screen and (max-width: 782px) {
    .edara-stats-container {
        grid-template-columns: 1fr;
    }
    
    .edara-date-filters {
        flex-direction: column;
        align-items: stretch;
    }
    
    .edara-date-filters input[type="date"] {
        width: 100%;
    }
    
    .edara-chart-wrapper {
        height: 300px;
    }
    
    .edara-settings-grid {
        grid-template-columns: 1fr;
    }
    
    .edara-settings-field select,
    .edara-settings-field input[type="text"],
    .edara-settings-field input[type="date"] {
        max-width: 100%;
    }
    
    .select2-container {
        max-width: 100%;
    }
    
    .payment-links-header {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    
    .payment-link-fields {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .payment-link-actions {
        justify-content: center;
        margin-top: 10px;
    }
} 