:root {
  --lb-primary: #1B4332;
  --lb-primary-dark: #123426;
  --lb-accent: #FF7A00;
  --lb-bg: #F8F9FA;
  --lb-card: #FFFFFF;
  --lb-border: #E5E7EB;
  --lb-text: #1F2937;
  --lb-muted: #6B7280;
  --lb-success: #16A34A;
  --lb-error: #DC2626;
  --lb-warning-bg: #FFF7ED;
  --lb-success-bg: #F0FDF4;
  --lb-error-bg: #FEF2F2;
  --lb-radius-sm: 10px;
  --lb-radius: 14px;
  --lb-radius-lg: 18px;
  --lb-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  --lb-shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.06);
  --lb-focus: 0 0 0 3px rgba(255, 122, 0, 0.22);
  --lb-touch: 52px;
  --lb-touch-compact: 48px;

  --bg: var(--lb-bg);
  --surface: var(--lb-card);
  --surface-strong: var(--lb-card);
  --surface-soft: #F3F6F4;
  --text: var(--lb-text);
  --muted: var(--lb-muted);
  --line: var(--lb-border);
  --brand: var(--lb-primary);
  --brand-dark: var(--lb-primary-dark);
  --brand-2: var(--lb-success);
  --brand-3: #BBF7D0;
  --accent: var(--lb-accent);
  --danger: var(--lb-error);
  --danger-soft: var(--lb-warning-bg);
  --warn: var(--lb-warning-bg);
  --ink: var(--lb-primary-dark);
  --shadow: var(--lb-shadow);
  --shadow-soft: var(--lb-shadow-soft);
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-width: 0;
  overflow-x: hidden;
}

body {
  margin: 0;
  background: var(--lb-bg);
  color: var(--lb-text);
  font-family: Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

button,
a.button,
.lb-button {
  min-height: var(--lb-touch);
  border-radius: var(--lb-radius);
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

button:not(:disabled):hover,
a.button:hover,
.lb-button:hover {
  transform: translateY(-1px);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: var(--lb-focus);
}

input,
select,
textarea {
  border-radius: var(--lb-radius);
}

.lb-card {
  border: 1px solid var(--lb-border);
  border-radius: var(--lb-radius-lg);
  background: var(--lb-card);
  box-shadow: var(--lb-shadow-soft);
}

.lb-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--lb-success-bg);
  color: var(--lb-primary);
  font-weight: 800;
}

.lb-accent {
  color: var(--lb-accent);
}

@media (max-width: 640px) {
  :root {
    --lb-touch: 52px;
  }

  main {
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
  }
}
