/* Estilos para integração com Google Sheets - OrganizaMEI */

/* Ícones de notificação */
.sync-notification .icon .fa-check {
    color: #38a169;
}

.sync-notification .icon .fa-times {
    color: #e53e3e;
}

.sync-notification .icon .fa-exclamation-triangle {
    color: #ecc94b;
}

.sync-notification .icon .fa-info-circle {
    color: #17acaf;
}

/* Estilos para status de integração */
.integration-status .status-icon .fa-times {
    color: #e53e3e;
}

.integration-status .status-icon .fa-check-circle {
    color: #17acaf;
}

.integration-status .status-icon .fa-exclamation-triangle {
    color: #ecc94b;
}

/* Status das abas */
.sheets-tabs-status .fa-check-circle {
    color: #17acaf !important;
}

.sheets-tabs-status .fa-exclamation-triangle {
    color: #ecc94b;
}

/* Status específico do Financeiro */
#financeiro-status .fa-check-circle {
    color: #17acaf !important;
}

/* Estilos para estoque */
.estoque-status.success .fa-check-circle {
    color: #17acaf;
}

.estoque-status.error .fa-exclamation-triangle {
    color: #ecc94b;
}

/* Barra de progresso para salvar URL */
.save-url-progress {
    margin-top: 15px;
    padding: 15px;
    background: rgba(23, 172, 175, 0.1);
    border-radius: 8px;
    border: 1px solid rgba(23, 172, 175, 0.3);
}

.save-url-progress .progress-text {
    font-size: 14px;
    color: #17acaf;
    margin-bottom: 10px;
    font-weight: 500;
}

.save-url-progress .progress-bar-container {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}

.save-url-progress .progress-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #17acaf, #38a169);
    border-radius: 3px;
    transition: width 0.3s ease;
    width: 0%;
}

/* Spinner de carregamento */
.loading-spinner {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
}

.loading-spinner-small {
    display: inline-block;
    width: 10px;
    height: 10px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #17acaf;
    animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Estados dos botões */
.btn.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn.success {
    background-color: #17acaf !important;
    border-color: #17acaf !important;
}

.btn.error {
    background-color: #e53e3e !important;
    border-color: #e53e3e !important;
}

/* Notificações de sincronização */
.sync-notification {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 500;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.sync-notification.show {
    opacity: 1;
    transform: translateY(0);
}

.sync-notification.success {
    background: rgba(56, 161, 105, 0.1);
    border: 1px solid rgba(56, 161, 105, 0.3);
    color: #38a169;
}

.sync-notification.error {
    background: rgba(229, 62, 62, 0.1);
    border: 1px solid rgba(229, 62, 62, 0.3);
    color: #e53e3e;
}

.sync-notification.warning {
    background: rgba(236, 201, 75, 0.1);
    border: 1px solid rgba(236, 201, 75, 0.3);
    color: #ecc94b;
}

.sync-notification.info {
    background: rgba(23, 172, 175, 0.1);
    border: 1px solid rgba(23, 172, 175, 0.3);
    color: #17acaf;
}

.sync-notification .icon {
    margin-right: 8px;
    display: flex;
    align-items: center;
}

/* Indicador mini de sincronização */
.mini-sync-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
}

.mini-sync-indicator.success {
    background-color: #38a169;
    box-shadow: 0 0 8px rgba(56, 161, 105, 0.4);
}

.mini-sync-indicator.error {
    background-color: #e53e3e;
    box-shadow: 0 0 8px rgba(229, 62, 62, 0.4);
}

.mini-sync-indicator.syncing {
    background-color: #17acaf;
    animation: pulse 2s infinite;
}

.mini-sync-indicator.not-configured {
    background-color: #ecc94b;
    box-shadow: 0 0 8px rgba(236, 201, 75, 0.4);
}

.mini-sync-indicator.checking {
    background-color: #17acaf;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(23, 172, 175, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(23, 172, 175, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(23, 172, 175, 0);
    }
}

/* Status de sincronização */
.sync-status {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    display: inline-block;
}

.sync-status.sync-success {
    background: rgba(56, 161, 105, 0.1);
    color: #38a169;
    border: 1px solid rgba(56, 161, 105, 0.3);
}

.sync-status.sync-error {
    background: rgba(229, 62, 62, 0.1);
    color: #e53e3e;
    border: 1px solid rgba(229, 62, 62, 0.3);
}

.sync-status.sync-syncing {
    background: rgba(23, 172, 175, 0.1);
    color: #17acaf;
    border: 1px solid rgba(23, 172, 175, 0.3);
}

.sync-status.sync-not-configured {
    background: rgba(236, 201, 75, 0.1);
    color: #ecc94b;
    border: 1px solid rgba(236, 201, 75, 0.3);
}

.sync-status.sync-checking {
    background: rgba(23, 172, 175, 0.1);
    color: #17acaf;
    border: 1px solid rgba(23, 172, 175, 0.3);
}

/* Status das sheets */
.sheets-status {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    display: inline-block;
}

.sheets-status.success {
    background: rgba(56, 161, 105, 0.1);
    color: #38a169;
    border: 1px solid rgba(56, 161, 105, 0.3);
}

.sheets-status.error {
    background: rgba(229, 62, 62, 0.1);
    color: #e53e3e;
    border: 1px solid rgba(229, 62, 62, 0.3);
}

.sheets-status.warning {
    background: rgba(236, 201, 75, 0.1);
    color: #ecc94b;
    border: 1px solid rgba(236, 201, 75, 0.3);
}

/* Status de integração */
.integration-status {
    padding: 12px 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.integration-status.connected {
    background: rgba(56, 161, 105, 0.1);
    border: 1px solid rgba(56, 161, 105, 0.3);
    color: #17acaf;
}

.integration-status.error {
    background: rgba(229, 62, 62, 0.1);
    border: 1px solid rgba(229, 62, 62, 0.3);
    color: #e53e3e;
    text-align: center;
}

/* URL carregada */
.url-loaded {
    color: #38a169;
    font-size: 12px;
    font-weight: 500;
}

/* Status do estoque */
.estoque-status {
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    transition: all 0.3s ease;
}

.estoque-status.success {
    background: rgba(56, 161, 105, 0.1);
    border: 1px solid rgba(56, 161, 105, 0.3);
    color: #38a169;
}

.estoque-status.error {
    background: rgba(229, 62, 62, 0.1);
    border: 1px solid rgba(229, 62, 62, 0.3);
    color: #e53e3e;
}