:root {
  --tlt-primary: #FF4A00;
  --tlt-primary-dark: #D83A00;
  --tlt-primary-soft: #FFF0E9;
  --tlt-secondary: #FFA800;
  --tlt-emergency: #FFD12A;
  --tlt-emergency-soft: #FFF9DF;
  --tlt-whatsapp: #18A54A;
  --tlt-whatsapp-pressed: #117A36;
  --tlt-surface: #FFFFFF;
  --tlt-surface-soft: #F6F6F4;
  --tlt-border: #E5E2DC;
  --tlt-text: #222222;
  --tlt-muted: #5B5B5B;
  --tlt-on-brand: #FFFFFF;
  --tlt-warning-bg: #FFF4CC;
  --tlt-warning-text: #4B3A00;
  --tlt-success-bg: #EAF7EE;
  --tlt-success-text: #0D7130;
  --tlt-error-text: #9B1C1C;
  --tlt-r-xs: 6px;
  --tlt-r-sm: 8px;
  --tlt-r-md: 12px;
  --tlt-r-lg: 16px;
  --tlt-r-pill: 999px;
  --tlt-shadow-sm: 0 4px 12px rgba(34,34,34,0.06);
  --tlt-shadow-cta: 0 6px 20px rgba(255,74,0,0.30);
  --tlt-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--tlt-font);
  color: var(--tlt-text);
  background: var(--tlt-surface-soft);
  -webkit-font-smoothing: antialiased;
}

[hidden] {
  display: none !important;
}

a {
  color: var(--tlt-primary-dark);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

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

.tlt-shell {
  min-height: 100vh;
  background: var(--tlt-surface-soft);
}

.tlt-container {
  width: min(100%, 800px);
  margin: 0 auto;
  padding: 32px 20px 72px;
}

.tlt-card {
  background: var(--tlt-surface);
  border: 1px solid var(--tlt-border);
  border-radius: var(--tlt-r-lg);
  box-shadow: var(--tlt-shadow-sm);
}

.tlt-stack {
  display: grid;
  gap: 16px;
}

.tlt-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--tlt-r-md);
  padding: 0 18px;
  font: 800 15px/1 var(--tlt-font);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.tlt-button:hover {
  text-decoration: none;
  transform: translateY(-1px);
}

.tlt-button-primary {
  color: var(--tlt-on-brand);
  background: var(--tlt-primary);
  box-shadow: var(--tlt-shadow-cta);
}

.tlt-button-primary:hover {
  background: var(--tlt-primary-dark);
}

.tlt-button-secondary {
  color: var(--tlt-text);
  background: var(--tlt-surface);
  border: 1px solid var(--tlt-border);
}

.tlt-button-secondary:hover {
  border-color: var(--tlt-primary);
}

.tlt-input,
.tlt-select,
.tlt-textarea {
  width: 100%;
  border: 1.5px solid var(--tlt-border);
  border-radius: var(--tlt-r-md);
  background: var(--tlt-surface);
  color: var(--tlt-text);
  font: 700 15px/1.4 var(--tlt-font);
  padding: 13px 14px;
}

.tlt-input:focus,
.tlt-select:focus,
.tlt-textarea:focus {
  border-color: var(--tlt-primary);
  outline: 3px solid var(--tlt-primary-soft);
}

.tlt-textarea {
  min-height: 96px;
  resize: vertical;
}

.tlt-error {
  color: var(--tlt-error-text);
  font-size: 13px;
  font-weight: 700;
  margin-top: 6px;
}

.tlt-error-banner,
.tlt-success-banner {
  border-radius: var(--tlt-r-md);
  padding: 14px 16px;
  font-weight: 800;
}

.tlt-error-banner {
  background: #FCE8E8;
  color: var(--tlt-error-text);
}

.tlt-success-banner {
  background: var(--tlt-success-bg);
  color: var(--tlt-success-text);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
