body { font-family: 'Inter', sans-serif; background-color: #f8fafc; }

.modal-enter, .toast-enter { animation: fadeIn 0.3s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

.printable-area { background-color: white; }

img.mockup-image:not([src]), img.mockup-image[src=""] { display: none; }
img.mockup-image:error { content: url('https://placehold.co/400x400/e2e8f0/94a3b8?text=Arte+Indispon%C3%ADvel'); }

input[type="file"]::file-selector-button { @apply bg-gray-200 text-gray-800 font-semibold py-2 px-4 rounded-lg hover:bg-gray-300 transition duration-300 border-none mr-4 cursor-pointer; }

.size-input-container { @apply flex flex-col items-center w-24; }

.part-type-selector { @apply px-3 py-1 text-xs font-semibold rounded-md border-2 transition-colors duration-200; }
.part-type-selector.active { @apply bg-blue-600 border-blue-600 text-white; }
.part-type-selector:not(.active) { @apply bg-white border-gray-300 text-gray-600 hover:bg-gray-100; }

.source-selector { @apply px-4 py-2 text-sm font-semibold rounded-lg border-2 transition-colors duration-200; }
.source-selector.active { @apply bg-indigo-600 border-indigo-600 text-white; }
.source-selector:not(.active) { @apply bg-white border-gray-300 text-gray-700 hover:bg-indigo-50 hover:border-indigo-400; }

/* === BADGES DE STATUS (Versão Compatível com Navegador) === */

.status-badge {
    font-size: 0.75rem; /* text-xs */
    font-weight: 600;   /* font-semibold */
    padding: 0.25rem 0.5rem; /* py-1 px-2 */
    border-radius: 9999px; /* rounded-full */
    display: inline-block; /* Garante que o fundo apareça */
}

/* Pendente (Amarelo) */
.status-Pendente {
    background-color: #fef9c3; /* bg-yellow-100 */
    color: #854d0e; /* text-yellow-800 */
}

/* Confirmado (Azul) */
.status-Confirmado {
    background-color: #dbeafe; /* bg-blue-100 */
    color: #1e40af; /* text-blue-800 */
}

/* Em Produção (Roxo) */
.status-Em-Produção {
    background-color: #f3e8ff; /* bg-purple-100 */
    color: #6b21a8; /* text-purple-800 */
}

/* Finalizado (Verde) */
.status-Finalizado {
    background-color: #dcfce7; /* bg-green-100 */
    color: #166534; /* text-green-800 */
}

/* Entregue (Cinza) */
.status-Entregue {
    background-color: #e5e7eb; /* bg-gray-200 */
    color: #1f2937; /* text-gray-800 */
}

/* === NOVOS STATUS === */

/* Alteração Solicitada (Laranja - Atenção) */
.status-Alteração-Solicitada {
    background-color: #ffedd5; /* bg-orange-100 */
    color: #9a3412; /* text-orange-800 */
    border: 1px solid #fed7aa; /* border-orange-200 */
}

/* Aguardando Aprovação (Ciano - Bola com o cliente) */
.status-Aguardando-Aprovação {
    background-color: #cffafe; /* bg-cyan-100 */
    color: #155e75; /* text-cyan-800 */
    border: 1px solid #a5f3fc; /* border-cyan-200 */
}

/* === LAYOUT GERAL === */
.kanban-board { display: flex; overflow-x: auto; padding-bottom: 1rem; gap: 1.5rem; }

/* Ajustado para 350px para dar mais corpo aos cards no layout expandido */
.kanban-column { flex: 0 0 350px; max-width: 350px; } 

/* === CORREÇÃO v5.8.0: MODO TELA CHEIA (FULL WIDTH) === */
/* Sobrescreve a classe 'max-w-7xl' do Tailwind no #mainContent */
/* Isso elimina as bordas vazias laterais e usa 100% da tela */
#mainContent {
    max-width: 100% !important; 
    padding-left: 2rem; /* Espaçamento seguro lateral */
    padding-right: 2rem;
}

/* Z-Index Fix: Garante que os modais principais fiquem acima do banner de backup */
#orderModal, #viewModal, #transactionModal, #priceTableModal {
    z-index: 55;
}

/* Banner de Backup */
#backupReminderBanner {
    z-index: 50; 
}

