/* variaveis.css — Design tokens. Nenhuma regra de componente aqui. */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --primary:       #E8714A;
    --primary-hover: #d46040;
    --primary-muted: rgba(232,113,74,0.14);
    --danger:        #EF4444;
    --success:       #10B981;
    --radius:        10px;
    --radius-sm:     6px;
    --font-main:     'Inter', sans-serif;
    --page-width:       1400px;   /* largura padrão de todos os módulos */
    --container-max:    1400px;
    --container-pad-x:  32px;

    /* Paleta clara */
    --bg:            #F8FAFC;
    --surface:       #FFFFFF;
    --surface-alt:   #F1F5F9;
    --border:        #E2E8F0;
    --border-hover:  #CBD5E1;
    --text:          #1E293B;
    --text-muted:    #64748B;
    --text-faint:    #94A3B8;

    /* Sombras */
    --shadow-sm:     0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --shadow:        0 4px 6px -1px rgba(0,0,0,0.06), 0 2px 4px -1px rgba(0,0,0,0.04);
    --shadow-md:     0 10px 15px -3px rgba(0,0,0,0.08);
}

/* ── DARK MODE — neutro, zero azul ── */
[data-theme="escuro"] {
    color-scheme: dark;
    --primary:       #c8603c;
    --primary-hover: #b85535;
    --primary-muted: rgba(200,96,60,0.13);

    --bg:            #1a1a1a;
    --surface:       #242427;
    --surface-alt:   #1e1e21;
    --border:        rgba(255,255,255,0.07);
    --border-hover:  rgba(255,255,255,0.13);
    --text:          #dadada;
    --text-muted:    #8A8A8E;
    --text-faint:    rgba(255,255,255,0.28);

    --shadow-sm:     0 1px 3px rgba(0,0,0,0.3);
    --shadow:        0 4px 12px rgba(0,0,0,0.3);
    --shadow-md:     0 10px 28px rgba(0,0,0,0.45);
}

body {
    font-family: var(--font-main);
    background: var(--bg);
    color: var(--text);
    display: flex;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

/* ── Scrollbar neutra no dark ── */
[data-theme="escuro"] ::-webkit-scrollbar              { width: 5px; height: 5px; }
[data-theme="escuro"] ::-webkit-scrollbar-track        { background: transparent; }
[data-theme="escuro"] ::-webkit-scrollbar-thumb        { background: rgba(255,255,255,0.08); border-radius: 4px; }
[data-theme="escuro"] ::-webkit-scrollbar-thumb:hover  { background: rgba(255,255,255,0.14); }

/* ── Container padrão (painel e páginas internas) ── */
.container,
.ff-content-max {
    width: 100%;
    max-width: var(--container-max, var(--page-width, 1400px));
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-pad-x, 32px);
    padding-right: var(--container-pad-x, 32px);
}

@media (max-width: 768px) {
    .container,
    .ff-content-max {
        padding-left: 20px;
        padding-right: 20px;
    }
}
