/* Design System — Cursa Empreendimentos */

:root {
  /* Graphite + Red Color Palette */
  --grafite-900: #1a1c20;   /* Principal background (site & dashboard) */
  --grafite-800: #24272c;   /* Elevated surface (cards, placeholder, etc.) */
  --grafite-700: #2c2f34;   /* Borders, hairline dividers */
  --grafite-600: #3a3d42;   /* Secondary control outlines */
  
  --texto-hi:    #f5f5f3;   /* High contrast: Display titles, headers */
  --texto-base:  #e8e8e6;   /* Medium contrast: Body text */
  --texto-mid:   #b4b4b1;   /* Medium-low: Descriptions, summaries */
  --texto-low:   #7d7d7a;   /* Low contrast: Table labels, small metadata */
  
  /* Accent Color - EXTREMELY RESTRICTED USE */
  /* Allowed strictly for: (1) Primary CTA button, (2) Status badges, (3) Logo dot */
  --vermelho:    #c8352e;
  --vermelho-hover: #b02b25;
}

/* Global Reset and Styles */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--grafite-900);
    color: var(--texto-base);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.7;
}

/* Typography */
h1, h2, h3, .font-display {
    font-family: Georgia, Cambria, "Times New Roman", Times, serif;
    color: var(--texto-hi);
    font-weight: normal;
    letter-spacing: 0.02em;
}

.text-uppercase-low {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--texto-low);
}

/* Red Containment Rules (Buttons & Badges) */
.btn-primary {
    background-color: var(--vermelho);
    color: #fff;
    border: none;
    padding: 12px 24px;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
}

.btn-primary:hover {
    background-color: var(--vermelho-hover);
}

.btn-secondary {
    background-color: transparent;
    color: var(--texto-base);
    border: 1px solid var(--grafite-600);
    padding: 12px 24px;
    cursor: pointer;
    font-size: 14px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.btn-secondary:hover {
    border-color: var(--texto-base);
    background-color: var(--grafite-800);
}

/* Status Badge */
.status-badge {
    display: inline-flex;
    background-color: rgba(200, 53, 46, 0.1);
    color: var(--vermelho);
    border: 1px solid rgba(200, 53, 46, 0.2);
    font-size: 12px;
    font-weight: bold;
    padding: 4px 8px;
    border-radius: 2px;
}

/* Cursa Logo */
.logo {
    font-family: Georgia, serif;
    font-size: 24px;
    color: var(--texto-hi);
}

.logo::after {
    content: ".";
    color: var(--vermelho);
}
