:root {
    --mx-primary: #2196F3;
    --mx-primary-light: #42A5F5;
    --mx-primary-dark: #1976D2;
    --mx-accent: #03A9F4;
    --mx-accent-light: #4FC3F7;

    --mx-bg: #EEEEEE;
    --mx-surface: #FFFFFF;
    --mx-surface-2: #EEF1F4;   /* superfície secundária (badges/chips/hover) — antes só existia no escuro */
    --mx-sidebar-bg: #FFFFFF;
    --mx-topbar-bg: #FFFFFF;

    --mx-text: #212121;
    --mx-text-primary: #212121;   /* alias usado por listas/menus (.vd-*); antes era token inexistente */
    --mx-text-secondary: #595959;
    --mx-text-muted: #999999;
    --mx-text-inverse: #FFFFFF;

    --mx-border: #E0E0E0;
    --mx-divider: #EEEEEE;

    --mx-success: #43A047;
    --mx-warning: #FB8C00;
    --mx-danger: #E53935;
    --mx-info: #1E88E5;

    --mx-shadow-1: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
    --mx-shadow-2: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.2);
    --mx-shadow-card: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);

    --mx-radius-sm: 2px;
    --mx-radius: 4px;
    --mx-radius-lg: 8px;

    --mx-sidebar-width: 280px;
    --mx-sidebar-collapsed-width: 64px;
    --mx-topbar-height: 64px;

    --mx-font: 'Inter', 'Roboto', 'Segoe UI', system-ui, -apple-system, sans-serif;

    --mx-z-sidebar: 300;
    --mx-z-topbar: 200;
    --mx-z-modal: 1000;
    --mx-z-snackbar: 1200;
}

* { box-sizing: border-box; outline: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

html, body {
    height: 100%;
    margin: 0;
    background-color: var(--mx-bg);
    color: var(--mx-text);
    font-family: var(--mx-font);
    font-size: 14px;
    line-height: 1.5;
    overscroll-behavior-y: none;
}

.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }
.material-icons.md-dark { color: rgba(0,0,0,0.54); }
.material-icons.md-light { color: rgba(255,255,255,1); }

a { color: var(--mx-primary); text-decoration: none; }
a:hover { text-decoration: underline; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.2); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.35); }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }
