:root {
  /* Branding */
  --primary: #120C38;
  --primary-hover: #5A34A1;

  /* Layout */
  --background: #F5F7FB;
  --surface: #FFFFFF;

  /* Sidebar */
  --sidebar: #0F172A;
  --sidebar-text: #CBD5E1;
  --sidebar-active: #1E293B;
  --sidebar-hover: #172554;

  /* Textos */
  --text-primary: #111827;
  --text-secondary: #6B7280;

  /* Estrutura */
  --border: #E5E7EB;

  /* Status */
  --success: #16A34A;
  --warning: #D97706;
  --danger: #DC2626;
  --info: #2563EB;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  background: var(--background);
  color: var(--text-primary);
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: var(--primary-hover);
  text-decoration: none;
  transition: color 160ms ease;
}

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

::selection {
  background: var(--primary);
  color: var(--surface);
}

.app-shell {
  min-height: 100vh;
}

.text-secondary-ui {
  color: var(--text-secondary);
}

.surface-page {
  min-height: 100vh;
  background: var(--background);
}
