:root {
    /* Cores Primárias (Teal Profundo Olimcar) */
    --color-primary-50: #e0f2f1;
    --color-primary-100: #b2dfdb;
    --color-primary-500: #046A72;
    --color-primary-600: #035b62;
    --color-primary-700: #02474d;

    /* Cores Neutras / Backgrounds (SaaS Premium) */
    --color-bg-body: #F7F9FA;
    --color-bg-card: #FFFFFF;
    
    /* Cores de Texto (Hierarchy) */
    --color-text-main: #111827; /* Near black */
    --color-text-muted: #4B5563; /* Secondary */
    --color-text-light: #9CA3AF; /* Tertiary */

    /* Semânticas & Acentos */
    --color-success: #059669;
    --color-warning: #FFB703; /* Ouro da Onça/Logo */
    --color-danger: #DC2626;
    
    /* Tipografia */
    --font-sans: 'Inter', -apple-system, sans-serif;
    --font-heading: 'Outfit', -apple-system, sans-serif;

    /* Bordas e Elementos */
    --color-border: rgba(0, 0, 0, 0.08); /* Clean, barely visible border */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 9999px;
    
    /* Layered Shadows (Premium Feel) */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 0 0 1px rgba(0,0,0,0.03), 0 2px 4px rgba(0,0,0,0.04), 0 4px 8px rgba(0,0,0,0.02);
    --shadow-lg: 0 0 0 1px rgba(0,0,0,0.03), 0 4px 8px rgba(0,0,0,0.04), 0 12px 24px rgba(0,0,0,0.04);
    
    /* Transições */
    --transition-fast: 150ms cubic-bezier(0.23, 1, 0.32, 1);
    --transition-normal: 250ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* Reset Básico */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-sans);
    background-color: var(--color-bg-body);
    color: var(--color-text-main);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    color: var(--color-text-main);
}

a {
    color: var(--color-primary-600);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-primary-700);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}
