/*
  SalutApp design tokens — "Buku Besar Register" direction.
  UT blue (#003d7c) is the sole brand anchor carried over from the old
  system; everything else here is new. See .impeccable/surfaces/shell.md
  for the direction contract this file executes.
*/

:root {
  /* Ink (UT blue) — the ledger's ink: current-row indicator, primary
     action, links, focus ring. */
  --salut-ink: #003d7c;
  --salut-ink-strong: #002b59;
  --salut-ink-soft: #e8eef7;
  --salut-ink-rgb: 0, 61, 124;

  /* Warm paper neutrals — not cool slate. */
  --salut-paper: #fdfcfa;
  --salut-paper-band: #f6f4ef;
  --salut-paper-band-strong: #efece3;
  --salut-line: #ddd7c8;
  --salut-line-strong: #b9b2a0;
  --salut-ink-text: #211f1a;
  --salut-ink-muted: #6b6355;
  --salut-ink-faint: #948c7c;

  /* Status tally colors — one small mark per row, not a scattered badge. */
  --salut-status-done: #1f6d4c;
  --salut-status-done-bg: #e5f2ec;
  --salut-status-pending: #9a6b12;
  --salut-status-pending-bg: #f8efdc;
  --salut-status-attention: #a23524;
  --salut-status-attention-bg: #f8e7e2;
  --salut-status-neutral: #6b6355;
  --salut-status-neutral-bg: #efece3;

  /* Type: one family, tight 1.15 scale, fixed rem (Operate mode — no
     fluid clamp()). */
  --salut-font-body: "Inter", -apple-system, "Segoe UI", sans-serif;
  --salut-font-mono: ui-monospace, "SFMono-Regular", "Consolas", monospace;
  --salut-text-xs: 0.75rem;
  --salut-text-sm: 0.8125rem;
  --salut-text-base: 0.875rem;
  --salut-text-md: 1rem;
  --salut-text-lg: 1.1875rem;
  --salut-text-xl: 1.375rem;
  --salut-leading: 1.45;

  /* Spacing: 4px grid. */
  --salut-space-1: 0.25rem;
  --salut-space-2: 0.5rem;
  --salut-space-3: 0.75rem;
  --salut-space-4: 1rem;
  --salut-space-5: 1.5rem;
  --salut-space-6: 2rem;
  --salut-space-8: 3rem;

  /* Ledger geometry — sharp, ruled, no card shadows. */
  --salut-radius: 3px;
  --salut-radius-sm: 2px;
  --salut-index-col: 3.25rem;
  --salut-tally-col: 2.75rem;
  --salut-row-h: 2.75rem;

  --salut-motion: 180ms;
  --salut-motion-ease: cubic-bezier(0.2, 0, 0, 1);
}

/* Re-theme Bootstrap 5 through its own variables rather than fighting
   utility specificity (Bootstrap utilities carry !important). */
:root,
[data-bs-theme="light"] {
  --bs-body-font-family: var(--salut-font-body);
  --bs-body-font-size: var(--salut-text-base);
  --bs-body-line-height: var(--salut-leading);
  --bs-body-color: var(--salut-ink-text);
  --bs-body-bg: var(--salut-paper);
  --bs-border-color: var(--salut-line);
  --bs-border-radius: var(--salut-radius);
  --bs-border-radius-sm: var(--salut-radius-sm);
  --bs-border-radius-lg: var(--salut-radius);
  --bs-border-radius-xl: var(--salut-radius);

  --bs-primary: var(--salut-ink);
  --bs-primary-rgb: var(--salut-ink-rgb);
  --bs-primary-text-emphasis: var(--salut-ink-strong);
  --bs-primary-bg-subtle: var(--salut-ink-soft);
  --bs-primary-border-subtle: var(--salut-ink);
  --bs-link-color: var(--salut-ink);
  --bs-link-color-rgb: var(--salut-ink-rgb);
  --bs-link-hover-color: var(--salut-ink-strong);
  --bs-link-hover-color-rgb: 0, 43, 89;

  --bs-success: var(--salut-status-done);
  --bs-success-rgb: 31, 109, 76;
  --bs-success-bg-subtle: var(--salut-status-done-bg);
  --bs-warning: var(--salut-status-pending);
  --bs-warning-rgb: 154, 107, 18;
  --bs-warning-bg-subtle: var(--salut-status-pending-bg);
  --bs-danger: var(--salut-status-attention);
  --bs-danger-rgb: 162, 53, 36;
  --bs-danger-bg-subtle: var(--salut-status-attention-bg);
  --bs-secondary: var(--salut-ink-muted);
  --bs-secondary-rgb: 107, 99, 85;
  --bs-info: var(--salut-ink);
  --bs-info-rgb: var(--salut-ink-rgb);
  --bs-info-bg-subtle: var(--salut-ink-soft);
  --bs-info-text-emphasis: var(--salut-ink-strong);

  --bs-focus-ring-color: rgba(var(--salut-ink-rgb), 0.35);
}

/*
  Compatibility bridge for the retired assets/css/salut-styles.css
  variable names. Pages not yet migrated off that stylesheet's
  per-page <style> blocks (mahasiswa/*, pendaftaran/*, ...) reference
  these directly; aliasing them here means dropping the old
  stylesheet doesn't break their layout before their own turn in the
  screen-by-screen pass. Direction contract forbids shadows, so every
  --salut-shadow-* resolves to none rather than a softer shadow.
*/
:root {
  --salut-primary: var(--salut-ink);
  --salut-primary-hover: var(--salut-ink-strong);
  --salut-primary-active: var(--salut-ink-strong);
  --salut-primary-light: var(--salut-ink-soft);
  --salut-primary-border: var(--salut-ink);
  --salut-success: var(--salut-status-done);
  --salut-success-light: var(--salut-status-done-bg);
  --salut-success-text: var(--salut-status-done);
  --salut-success-border: var(--salut-status-done);
  --salut-warning: var(--salut-status-pending);
  --salut-warning-light: var(--salut-status-pending-bg);
  --salut-warning-text: var(--salut-status-pending);
  --salut-warning-border: var(--salut-status-pending);
  --salut-danger: var(--salut-status-attention);
  --salut-danger-light: var(--salut-status-attention-bg);
  --salut-danger-text: var(--salut-status-attention);
  --salut-danger-border: var(--salut-status-attention);
  --salut-info: var(--salut-ink);
  --salut-info-light: var(--salut-ink-soft);
  --salut-info-text: var(--salut-ink-strong);
  --salut-info-border: var(--salut-ink);
  --salut-tertiary: var(--salut-ink-muted);
  --salut-bg-canvas: var(--salut-paper);
  --salut-bg-surface: var(--salut-paper);
  --salut-bg-subtle: var(--salut-paper-band);
  --salut-bg-muted: var(--salut-paper-band-strong);
  --salut-border-default: var(--salut-line);
  --salut-border-strong: var(--salut-line-strong);
  --salut-border-subtle: var(--salut-line);
  --salut-text-primary: var(--salut-ink-text);
  --salut-text-secondary: var(--salut-ink-muted);
  --salut-text-muted: var(--salut-ink-faint);
  --salut-text-inverted: #fff;
  --salut-radius-sm: var(--salut-radius-sm);
  --salut-radius-md: var(--salut-radius);
  --salut-radius-lg: var(--salut-radius);
  --salut-radius-full: 999px;
  --salut-shadow-xs: none;
  --salut-shadow-sm: none;
  --salut-shadow-md: none;
  --salut-shadow-lg: none;
  --salut-transition: var(--salut-motion) var(--salut-motion-ease);
  --salut-transition-fast: var(--salut-motion) var(--salut-motion-ease);
}
