:root {
    /* Font Size */
    --font-size-xxxs: 12px;
    --font-size-xxs: 14px;
    --font-size-xs: 16px;
    --font-size-sm: 21px;
    --font-size-md: 24px;
    --font-size-lg: 32px;
    --font-size-xl: 40px;
    --font-size-xxl: 48px;
    --font-size-xxxl: 64px;
    --font-size-display: 80px;
    --font-size-giant: 96px;

    /* Border Radius */
    --border-radius-none: 0px;
    --border-radius-sm: 4px;
    --border-radius-md: 8px;
    --border-radius-lg: 16px;
    --border-radius-pill: 500px;
    --border-radius-circular: 50%;

    /* Border Width */
    --border-width-none: 0px;
    --border-width-hairline: 1px;
    --border-width-thin: 2px;
    --border-width-thick: 4px;
    --border-width-heavy: 8px;

    /* Opacity Levels */
    --opacity-level-semiopaque: 0.80;
    --opacity-level-intense: 0.64;
    --opacity-level-mediun: 0.32;
    --opacity-level-light: 0.16;
    --opacity-level-semitransparent: 0.08;

    /* Shadow */
    --shadow-level-1: 0px 4px 8px 2px rgba(0, 0, 0, 0.1);
    --shadow-level-2: 0px 8px 24px rgba(0, 0, 0, 0.1);
    --shadow-level-3: 0px 16px 32px rgba(0, 0, 0, 0.1);
    --shadow-level-4: 0px 16px 48px rgba(0, 0, 0, 0.1);

    /* Spacing */
    --spacing-01: 0.125rem; /* 2px */
    --spacing-02: 0.25rem;  /* 4px */
    --spacing-03: 0.5rem;   /* 8px */
    --spacing-04: 0.75rem;  /* 12px */
    --spacing-05: 1rem;     /* 16px */
    --spacing-06: 1.5rem;   /* 24px */
    --spacing-07: 2rem;     /* 32px */
    --spacing-08: 2.5rem;   /* 40px */
    --spacing-09: 3rem;     /* 48px */
    --spacing-10: 4rem;     /* 64px */
    --spacing-11: 5rem;     /* 80px */
    --spacing-12: 6rem;     /* 96px */
    --spacing-13: 10rem;    /* 160px */

    /* Primary Colors */
    --brand-color-primary-pure: #00747A;
    --brand-color-primary-extra-light: #E6F1F2;
    --brand-color-primary-light: #3DA5A5;
    --brand-color-primary-medium: #245859;
    --brand-color-primary-dark: #033E3F;

    /* Neutral Colors */
    --neutral-color-low-pure: #171919;
    --neutral-color-low-extra-light: #E3E3E3;
    --neutral-color-low-light: #C9C9C9;
    --neutral-color-low-medium: #AAAAAA;
    --neutral-color-low-dark: #4A4A4A;
    --neutral-color-high-pure: #FFFFFF;
    --neutral-color-high-extra-light: #F4F4F4;
    --neutral-color-high-light: #EEEEEE;
    --neutral-color-high-medium: #E0E0E0;
    --neutral-color-high-dark: #C7C7C7;

    /* Feedback Colors */
    --feedback-color-helper-pure: #F07363;
    --feedback-color-helper-extra-light: #F8D7DA;
    --feedback-color-helper-light: #D98479;
    --feedback-color-helper-medium: #C05C4F;
    --feedback-color-helper-dark: #783931;
    --feedback-color-warning-pure: #E6CF42;
    --feedback-color-warning-extra-light: #FFF9DB;
    --feedback-color-warning-light: #EBD96A;
    --feedback-color-warning-medium: #B8A635;
    --feedback-color-warning-dark: #736721;
    --feedback-color-success-pure: #41D394;
    --feedback-color-success-extra-light: #D4EDDA;
    --feedback-color-success-light: #76C2A1;
    --feedback-color-success-medium: #34A976;
    --feedback-color-success-dark: #206A4A;
    --feedback-color-default-pure: #00747A;
    --feedback-color-default-extra-light: #E6F1F2;
    --feedback-color-default-light: #3DA5A5;
    --feedback-color-default-medium: #245859;
    --feedback-color-default-dark: #033E3F;

    /* Font Family */
    --font-family-base: 'Lato', sans-serif;
}

/* Navegação */
.main-nav {
    background-color: var(--neutral-color-high-pure);
    box-shadow: var(--shadow-level-1);
    padding: var(--spacing-04) var(--spacing-06);
    margin-bottom: var(--spacing-06);
}

.nav-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.nav-logo {
    height: 40px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: var(--spacing-04);
}

.nav-link {
    color: var(--neutral-color-low-dark);
    text-decoration: none;
    font-size: var(--font-size-xs);
    padding: var(--spacing-02) var(--spacing-03);
    border-radius: var(--border-radius-sm);
    transition: all 0.3s ease;
}

.nav-link:hover {
    color: var(--brand-color-primary-pure);
    background-color: var(--brand-color-primary-extra-light);
}

.nav-button {
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-family-base);
}

.logout-form {
    margin: 0;
}

/* Mensagens */
.messages {
    position: fixed;
    bottom: var(--spacing-06);
    right: var(--spacing-06);
    z-index: 1000;
}

.message {
    padding: var(--spacing-04) var(--spacing-05);
    margin-bottom: var(--spacing-03);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--shadow-level-2);
    animation: slideIn 0.3s ease-out;
}

.message-success {
    background-color: var(--feedback-color-success-extra-light);
    color: var(--feedback-color-success-dark);
    border-left: 4px solid var(--feedback-color-success-pure);
}

.message-error {
    background-color: var(--feedback-color-helper-extra-light);
    color: var(--feedback-color-helper-dark);
    border-left: 4px solid var(--feedback-color-helper-pure);
}

.message-warning {
    background-color: var(--feedback-color-warning-extra-light);
    color: var(--feedback-color-warning-dark);
    border-left: 4px solid var(--feedback-color-warning-pure);
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Layout Principal */
.main-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-05);
}