:root, :host {
  --dt-primary: #007f90;
  --dt-primary-hover: #006575;
  --dt-background: #f7f3ee;
  --dt-surface: #ffffff;
  --dt-text: #1f2937;
  --dt-muted: #53606f;
  --dt-border: #d3dce1;
  --dt-radius: 20px;
  --dt-font: Arial, Helvetica, sans-serif;
  --dt-button-radius: 10px;
  --dt-on-primary: #ffffff;
  --dt-spacing: 24px;
}
body, .app-page {
  --accent: var(--dt-primary); --accent-dark: var(--dt-primary-hover);
  --bg: var(--dt-background); --bg-soft: var(--dt-surface);
  --text: var(--dt-text); --muted: var(--dt-muted);
  --border: var(--dt-border); --radius: var(--dt-radius);
  color: var(--dt-text); font-family: var(--dt-font); background: var(--dt-background);
}
.booking-card { background: var(--dt-surface); border-radius: var(--dt-radius); padding: var(--dt-spacing); }
.button { border-radius: var(--dt-button-radius); }

.button { color: var(--dt-on-primary); box-shadow: none; }
.button:hover { box-shadow: none; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--dt-primary) 20%, transparent);
}
.message.success, .result-box.success { background: #ecfdf3; color: #166534; border-color: #15803d; }
.message.error, .result-box.error { background: #fff1f2; color: #9f1239; border-color: #be123c; }
