/* Approved LDCMT.tools palette. Shared by authenticated and public shells.
   Keep colors here; design-system.css owns internal typography/composition.
   Brand changes require explicit review against docs/design/brand.md. */
:root {
  /* Semantic color system */
  --ldc-primary: #1e5b8a;
  --ldc-primary-hover: #17486e;
  --ldc-secondary: #58708f;
  --ldc-success: #2f6b46;
  --ldc-success-bg: #eaf5ee;
  --ldc-warning: #805300;
  --ldc-warning-bg: #fff4df;
  --ldc-danger: #a43a3a; /* Preserve the effective brand danger color. */
  --ldc-danger-bg: #f8e1e1;
  --ldc-danger-text: #7d2c2c;
  --ldc-info: #2d6f8f;
  --ldc-info-bg: #eaf0f7;
  --ldc-muted: #4c5c70;
  --ldc-bg: #eef3f7;
  --ldc-surface: #ffffff;
  --ldc-surface-subtle: #f6f8fa;
  --ldc-border: #d8e0e8;
  --ldc-border-strong: var(--ldc-muted); /* Editable control boundaries. */
  --ldc-hover: #edf3f7;
  --ldc-focus: var(--ldc-primary);
  --ldc-disabled: #98a6b5;
  --ldc-text: #17263a;
  --ldc-text-muted: var(--ldc-muted);
  --ldc-text-label: #526174;
  --ldc-nav: #0b1f3a;
  --ldc-nav-muted: #b8c5d4;
  --ldc-navy: var(--ldc-nav);
  --ldc-navy-hover: #102c50;
  --ldc-gold: #e6a31a;
  --ldc-gold-dark: #a86f00;

  /* Backward-compatible aliases used by existing templates */
  --ldc-accent: var(--ldc-primary);
  --ldc-accent-light: var(--ldc-info-bg);
  --ldc-stat-blue: var(--ldc-primary);
  --ldc-stat-amber: var(--ldc-warning);
  --ldc-stat-green: var(--ldc-success);
  --ldc-stat-red: var(--ldc-danger);

  --ldc-primary-soft: #dceaf4;
  --ldc-primary-border: #8cabc3;
  --ldc-success-hover: #245437;
  --ldc-danger-hover: #8c3030;
  --ldc-secondary-hover: #445a74;
  --ldc-info-hover: #245971;
  --ldc-gold-hover: #cf9114;
  --ldc-shadow-focus: 0 0 0 0.2rem rgb(30 91 138 / 25%);
  --bs-primary: var(--ldc-primary);
  --bs-primary-rgb: 30, 91, 138;
  --bs-primary-text-emphasis: var(--ldc-primary);
  --bs-primary-bg-subtle: var(--ldc-primary-soft);
  --bs-primary-border-subtle: var(--ldc-primary);
  --bs-secondary: var(--ldc-secondary);
  --bs-secondary-rgb: 88, 112, 143;
  --bs-secondary-text-emphasis: var(--ldc-secondary);
  --bs-secondary-bg-subtle: var(--ldc-surface-subtle);
  --bs-secondary-border-subtle: var(--ldc-secondary);
  --bs-success: var(--ldc-success);
  --bs-success-rgb: 47, 107, 70;
  --bs-success-text-emphasis: var(--ldc-success);
  --bs-success-bg-subtle: var(--ldc-success-bg);
  --bs-success-border-subtle: var(--ldc-success);
  --bs-warning: var(--ldc-gold);
  --bs-warning-rgb: 230, 163, 26;
  --bs-warning-text-emphasis: var(--ldc-warning);
  --bs-warning-bg-subtle: var(--ldc-warning-bg);
  --bs-warning-border-subtle: var(--ldc-warning);
  --bs-danger: var(--ldc-danger);
  --bs-danger-rgb: 164, 58, 58;
  --bs-danger-text-emphasis: var(--ldc-danger);
  --bs-danger-bg-subtle: var(--ldc-danger-bg);
  --bs-danger-border-subtle: var(--ldc-danger);
  --bs-info: var(--ldc-info);
  --bs-info-rgb: 45, 111, 143;
  --bs-info-text-emphasis: var(--ldc-info);
  --bs-info-bg-subtle: var(--ldc-info-bg);
  --bs-info-border-subtle: var(--ldc-info);
  --bs-body-color: var(--ldc-text);
  --bs-body-bg: var(--ldc-bg);
  --bs-border-color: var(--ldc-border);
  --bs-secondary-color: var(--ldc-text-muted);
  --bs-link-color: var(--ldc-primary);
  --bs-link-color-rgb: 30, 91, 138;
  --bs-link-hover-color: var(--ldc-primary-hover);
  --bs-link-hover-color-rgb: 23, 72, 110;
}
body { background-color: var(--ldc-bg); color: var(--ldc-text); }
.btn-primary {
  --bs-btn-color: var(--ldc-surface);
  --bs-btn-bg: var(--ldc-primary);
  --bs-btn-border-color: var(--ldc-primary);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-primary-hover);
  --bs-btn-hover-border-color: var(--ldc-primary-hover);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-primary-hover);
  --bs-btn-active-border-color: var(--ldc-primary-hover);
  --bs-btn-disabled-color: var(--ldc-surface);
  --bs-btn-disabled-bg: var(--ldc-primary);
  --bs-btn-disabled-border-color: var(--ldc-primary);
}
.btn-outline-primary {
  --bs-btn-color: var(--ldc-primary);
  --bs-btn-border-color: var(--ldc-primary);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-primary);
  --bs-btn-hover-border-color: var(--ldc-primary);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-primary);
  --bs-btn-active-border-color: var(--ldc-primary);
  --bs-btn-disabled-color: var(--ldc-primary);
  --bs-btn-disabled-border-color: var(--ldc-primary);
}
.alert-primary { --bs-alert-color: var(--ldc-primary); --bs-alert-bg: var(--bs-primary-bg-subtle); --bs-alert-border-color: var(--ldc-primary); }
.btn-secondary {
  --bs-btn-color: var(--ldc-surface);
  --bs-btn-bg: var(--ldc-secondary);
  --bs-btn-border-color: var(--ldc-secondary);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-secondary-hover);
  --bs-btn-hover-border-color: var(--ldc-secondary-hover);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-secondary-hover);
  --bs-btn-active-border-color: var(--ldc-secondary-hover);
  --bs-btn-disabled-color: var(--ldc-surface);
  --bs-btn-disabled-bg: var(--ldc-secondary);
  --bs-btn-disabled-border-color: var(--ldc-secondary);
}
.btn-outline-secondary {
  --bs-btn-color: var(--ldc-secondary);
  --bs-btn-border-color: var(--ldc-secondary);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-secondary);
  --bs-btn-hover-border-color: var(--ldc-secondary);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-secondary);
  --bs-btn-active-border-color: var(--ldc-secondary);
  --bs-btn-disabled-color: var(--ldc-secondary);
  --bs-btn-disabled-border-color: var(--ldc-secondary);
}
.alert-secondary { --bs-alert-color: var(--ldc-secondary); --bs-alert-bg: var(--bs-secondary-bg-subtle); --bs-alert-border-color: var(--ldc-secondary); }
.btn-success {
  --bs-btn-color: var(--ldc-surface);
  --bs-btn-bg: var(--ldc-success);
  --bs-btn-border-color: var(--ldc-success);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-success-hover);
  --bs-btn-hover-border-color: var(--ldc-success-hover);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-success-hover);
  --bs-btn-active-border-color: var(--ldc-success-hover);
  --bs-btn-disabled-color: var(--ldc-surface);
  --bs-btn-disabled-bg: var(--ldc-success);
  --bs-btn-disabled-border-color: var(--ldc-success);
}
.btn-outline-success {
  --bs-btn-color: var(--ldc-success);
  --bs-btn-border-color: var(--ldc-success);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-success);
  --bs-btn-hover-border-color: var(--ldc-success);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-success);
  --bs-btn-active-border-color: var(--ldc-success);
  --bs-btn-disabled-color: var(--ldc-success);
  --bs-btn-disabled-border-color: var(--ldc-success);
}
.alert-success { --bs-alert-color: var(--ldc-success); --bs-alert-bg: var(--bs-success-bg-subtle); --bs-alert-border-color: var(--ldc-success); }
.btn-warning {
  --bs-btn-color: var(--ldc-text);
  --bs-btn-bg: var(--ldc-gold);
  --bs-btn-border-color: var(--ldc-gold);
  --bs-btn-hover-color: var(--ldc-text);
  --bs-btn-hover-bg: var(--ldc-gold-hover);
  --bs-btn-hover-border-color: var(--ldc-gold-hover);
  --bs-btn-active-color: var(--ldc-text);
  --bs-btn-active-bg: var(--ldc-gold-hover);
  --bs-btn-active-border-color: var(--ldc-gold-hover);
  --bs-btn-disabled-color: var(--ldc-text);
  --bs-btn-disabled-bg: var(--ldc-gold);
  --bs-btn-disabled-border-color: var(--ldc-gold);
}
.btn-outline-warning {
  --bs-btn-color: var(--ldc-warning);
  --bs-btn-border-color: var(--ldc-warning);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-warning);
  --bs-btn-hover-border-color: var(--ldc-warning);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-warning);
  --bs-btn-active-border-color: var(--ldc-warning);
  --bs-btn-disabled-color: var(--ldc-warning);
  --bs-btn-disabled-border-color: var(--ldc-warning);
}
.alert-warning { --bs-alert-color: var(--ldc-warning); --bs-alert-bg: var(--bs-warning-bg-subtle); --bs-alert-border-color: var(--ldc-warning); }
.btn-danger {
  --bs-btn-color: var(--ldc-surface);
  --bs-btn-bg: var(--ldc-danger);
  --bs-btn-border-color: var(--ldc-danger);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-danger-hover);
  --bs-btn-hover-border-color: var(--ldc-danger-hover);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-danger-hover);
  --bs-btn-active-border-color: var(--ldc-danger-hover);
  --bs-btn-disabled-color: var(--ldc-surface);
  --bs-btn-disabled-bg: var(--ldc-danger);
  --bs-btn-disabled-border-color: var(--ldc-danger);
}
.btn-outline-danger {
  --bs-btn-color: var(--ldc-danger);
  --bs-btn-border-color: var(--ldc-danger);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-danger);
  --bs-btn-hover-border-color: var(--ldc-danger);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-danger);
  --bs-btn-active-border-color: var(--ldc-danger);
  --bs-btn-disabled-color: var(--ldc-danger);
  --bs-btn-disabled-border-color: var(--ldc-danger);
}
.alert-danger { --bs-alert-color: var(--ldc-danger); --bs-alert-bg: var(--bs-danger-bg-subtle); --bs-alert-border-color: var(--ldc-danger); }
.btn-info {
  --bs-btn-color: var(--ldc-surface);
  --bs-btn-bg: var(--ldc-info);
  --bs-btn-border-color: var(--ldc-info);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-info-hover);
  --bs-btn-hover-border-color: var(--ldc-info-hover);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-info-hover);
  --bs-btn-active-border-color: var(--ldc-info-hover);
  --bs-btn-disabled-color: var(--ldc-surface);
  --bs-btn-disabled-bg: var(--ldc-info);
  --bs-btn-disabled-border-color: var(--ldc-info);
}
.btn-outline-info {
  --bs-btn-color: var(--ldc-info);
  --bs-btn-border-color: var(--ldc-info);
  --bs-btn-hover-color: var(--ldc-surface);
  --bs-btn-hover-bg: var(--ldc-info);
  --bs-btn-hover-border-color: var(--ldc-info);
  --bs-btn-active-color: var(--ldc-surface);
  --bs-btn-active-bg: var(--ldc-info);
  --bs-btn-active-border-color: var(--ldc-info);
  --bs-btn-disabled-color: var(--ldc-info);
  --bs-btn-disabled-border-color: var(--ldc-info);
}
.alert-info { --bs-alert-color: var(--ldc-info); --bs-alert-bg: var(--bs-info-bg-subtle); --bs-alert-border-color: var(--ldc-info); }
.btn:focus-visible, .form-control:focus, .form-select:focus, .form-check-input:focus { box-shadow: var(--ldc-shadow-focus); }
.form-control:focus, .form-select:focus { border-color: var(--ldc-primary); }
.form-check-input:checked { background-color: var(--ldc-primary); border-color: var(--ldc-primary); }
.text-warning { color: var(--ldc-warning) !important; }
.badge.bg-warning.text-dark { background-color: var(--ldc-warning-bg) !important; color: var(--ldc-warning) !important; }
.btn-link { --bs-btn-color: var(--ldc-primary); --bs-btn-hover-color: var(--ldc-primary-hover); --bs-btn-active-color: var(--ldc-primary-hover); }
