body { font-family: 'Inter', sans-serif; transition: background-color 0.3s ease, color 0.3s ease; }
.code-font { font-family: 'Fira Code', monospace; }

/* Scrollbar customizada */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.dark ::-webkit-scrollbar-thumb { background: #475569; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.dropzone.dragover { background-color: #eff6ff; border-color: #3b82f6; color: #1e3a8a; }
.dark .dropzone.dragover { background-color: #1e3a8a; border-color: #60a5fa; color: #bfdbfe; }

/* Ajustes Cropper.js */
.img-container { max-height: 500px; width: 100%; display: block; }
.img-container img { display: block; max-width: 100%; }

/* Fundo xadrez para pré-visualização de imagens com transparência */
.checkerboard-bg {
    background-image: linear-gradient(45deg, #e2e8f0 25%, transparent 25%), linear-gradient(-45deg, #e2e8f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e2e8f0 75%), linear-gradient(-45deg, transparent 75%, #e2e8f0 75%);
    background-size: 16px 16px;
    background-position: 0 0, 0 8px, 8px -8px, -8px 0px;
}
.dark .checkerboard-bg {
    background-image: linear-gradient(45deg, #334155 25%, transparent 25%), linear-gradient(-45deg, #334155 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #334155 75%), linear-gradient(-45deg, transparent 75%, #334155 75%);
}

/* Animações */
@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes fadeInPage { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.toast-enter { animation: slideIn 0.3s ease-out forwards; }
.toast-exit { animation: fadeOut 0.3s ease-out forwards; }
.page-enter { animation: fadeInPage 0.4s ease-out forwards; }

.loader {
    border-top-color: currentColor;
    -webkit-animation: spinner 1.5s linear infinite;
    animation: spinner 1.5s linear infinite;
}
@keyframes spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.nav-btn.active {
    background-color: rgb(239 246 255);
    color: rgb(29 78 216);
}
.dark .nav-btn.active {
    background-color: rgba(30, 58, 138, 0.3);
    color: rgb(96 165 250);
}
