/* /app/static/css/main.css */

/* =================================================================
 * ESTILOS BASE E VARIÁVEIS GLOBAIS DE COR (TEMAS)
 * ================================================================= */

/* --- TEMA PADRÃO (LIGHT) --- */
:root {
    --c-primary: #0891b2;         /* cyan-600 */
    --c-primary-hover: #0e7490;   /* cyan-700 */
    --c-secondary: #475569;       /* slate-600 */
    --c-secondary-hover: #334155; /* slate-700 */
    --c-success: #16a34a;         /* green-600 */
    --c-danger: #dc2626;          /* red-600 */
    --c-warning: #f59e0b;         /* amber-500 */
    
    --c-bg-primary: #ffffff;
    --c-bg-secondary: #f8fafc;   /* slate-50 */
    --c-bg-muted: #f1f5f9;       /* slate-100 */

    --c-text-primary: #1e293b;    /* slate-800 */
    --c-text-secondary: #475569;  /* slate-600 */
    --c-text-muted: #64748b;      /* slate-500 */
    --c-text-inverted: #ffffff;
    
    --c-border-primary: #e2e8f0;   /* slate-200 */
    --c-border-secondary: #cbd5e1; /* slate-300 */
}

/* --- TEMA DARK --- */
:root.dark {
    --c-primary: #22d3ee;         /* cyan-400 */
    --c-primary-hover: #67e8f9;   /* cyan-300 */
    --c-secondary: #94a3b8;       /* slate-400 */
    --c-secondary-hover: #a1b0c4;
    --c-success: #4ade80;         /* green-400 */
    --c-danger: #f87171;          /* red-400 */
    --c-warning: #facc15;         /* yellow-400 */

    --c-bg-primary: #1e293b;      /* slate-800 */
    --c-bg-secondary: #0f172a;    /* slate-900 */
    --c-bg-muted: #020617;        /* slate-950 */

    --c-text-primary: #f1f5f9;     /* slate-100 */
    --c-text-secondary: #cbd5e1;   /* slate-300 */
    --c-text-muted: #94a3b8;       /* slate-400 */
    --c-text-inverted: #0f172a;

    --c-border-primary: #334155;   /* slate-700 */
    --c-border-secondary: #475569; /* slate-600 */
}

/* --- NOVO TEMA MODERNO (PÓS-LOGIN) --- */
html[data-theme="moderno"] {
    /* Fundo escuro com tom de ardósia */
    --c-bg-primary: #1e293b;   /* slate-800 */
    --c-bg-secondary: #0f172a; /* slate-900 */
    --c-bg-muted: #020617;     /* slate-950 */

    /* Textos claros para alto contraste */
    --c-text-primary: #f1f5f9;
    --c-text-secondary: #cbd5e1;
    --c-text-muted: #94a3b8;
    --c-text-inverted: #0f172a;

    /* Bordas sutis que se integram ao design */
    --c-border-primary: #334155;
    --c-border-secondary: #475569;

    /* Cor de destaque vibrante (Teal/Verde-azulado) */
    --c-primary: #2dd4bf;       /* teal-400 */
    --c-primary-hover: #5eead4; /* teal-300 */
    
    /* Cores de status adaptadas para o fundo escuro */
    --c-success: #4ade80;
    --c-danger: #f87171;
    --c-warning: #facc15;
}

/* Ajustes finos para componentes no tema Moderno */
html[data-theme="moderno"] body {
    background-color: var(--c-bg-muted);
}
html[data-theme="moderno"] .btn-warning {
    color: #422006; /* Garante contraste no botão amarelo */
}

/* --- ESTILOS GLOBAIS --- */
html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
body {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.6;
    background-color: var(--c-bg-muted);
    color: var(--c-text-secondary);
    transition: background-color 0.3s, color 0.3s;
}

/* Animações */
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes spin { to { transform: rotate(360deg); } }
