/*
 * Transparent Financial Trust — semantic design tokens (--ak-*).
 * Components consume these tokens; do not scatter raw palette values.
 */

:root,
[data-bs-theme="light"] {
  /* Seed palette anchors (reference only; prefer semantic tokens below) */
  --ak-ink: #112d4e;
  --ak-navy: #112d4e;

  /* Surfaces */
  --ak-page-bg: #f9f7f7;
  --ak-surface: #ffffff;
  --ak-surface-elevated: #ffffff;
  --ak-surface-secondary: #edf1f7;
  --ak-surface-muted: rgb(17 45 78 / 6%);

  /* Text */
  --ak-text: #112d4e;
  --ak-text-secondary: #405872;
  --ak-text-muted: #66788b;

  /* Primary action (blue) */
  --ak-primary: #3f72af;
  --ak-primary-hover: #315d91;
  --ak-on-primary: #ffffff;
  --ak-primary-soft: rgb(63 114 175 / 14%);
  --ak-primary-text: #112d4e;

  /* Secondary chrome */
  --ak-secondary-action: #dbe2ef;

  /* Teal accent (trust / fiscal highlights) */
  --ak-accent: #0f766e;
  --ak-accent-hover: #0d655f;
  --ak-on-accent: #ffffff;
  --ak-accent-soft: rgb(15 118 110 / 12%);

  /* Fiscal amber (tax/fiscal cues — not generic warning) */
  --ak-fiscal: #b76e00;
  --ak-fiscal-hover: #9a6000;
  --ak-fiscal-soft: rgb(183 110 0 / 12%);
  --ak-fiscal-text: #7a4b00;

  /* Borders, focus, selection */
  --ak-border: #c5d0df;
  --ak-border-strong: #9eafc2;
  --ak-input-border: #9eafc2;
  --ak-focus: #1769c2;
  --ak-focus-ring: rgb(23 105 194 / 35%);
  --ak-selected: #dbe9f7;
  --ak-disabled: #d7dde5;

  /* Semantic status */
  --ak-success: #177245;
  --ak-success-soft: rgb(23 114 69 / 12%);
  --ak-success-text: #176b43;
  --ak-warning: #8a5a00;
  --ak-warning-soft: rgb(138 90 0 / 12%);
  --ak-warning-text: #7a4b00;
  --ak-warning-border: rgb(138 90 0 / 35%);
  --ak-danger: #b42318;
  --ak-danger-soft: rgb(180 35 24 / 12%);
  --ak-danger-text: #842029;
  --ak-danger-border: rgb(180 35 24 / 35%);
  --ak-info: #1769aa;
  --ak-info-soft: rgb(23 105 170 / 12%);

  /* Overlay and elevation */
  --ak-overlay: rgb(17 45 78 / 55%);
  --ak-shadow-color: rgb(17 45 78 / 14%);
  --ak-shadow: var(--ak-shadow-color);
  --ak-shadow-sm: 0 .15rem .5rem var(--ak-shadow-color);
  --ak-shadow-md: 0 .4rem 1.25rem var(--ak-shadow-color);
  --ak-shadow-lg: 0 .75rem 2rem var(--ak-shadow-color);

  /* Auth shell accent */
  --ak-auth-accent: #dbe9f7;

  /* Chart series */
  --ak-chart-grid: #d4dde8;
  --ak-chart-tooltip: #112d4e;
  --ak-chart-1: #3f72af;
  --ak-chart-2: #0f766e;
  --ak-chart-3: #177245;
  --ak-chart-4: #b76e00;
  --ak-chart-5: #8d4ab8;

  /* Spacing scale (rem, 16px root) */
  --ak-space-0: 0;
  --ak-space-1: .25rem;
  --ak-space-2: .5rem;
  --ak-space-3: .75rem;
  --ak-space-4: 1rem;
  --ak-space-5: 1.25rem;
  --ak-space-6: 1.5rem;
  --ak-space-8: 2rem;
  --ak-space-10: 2.5rem;
  --ak-space-12: 3rem;

  /* Border radii */
  --ak-radius-sm: .375rem;
  --ak-radius-md: .5rem;
  --ak-radius-lg: .75rem;
  --ak-radius-xl: 1rem;
  --ak-radius-2xl: 1.25rem;
  --ak-radius-pill: 62.4375rem;

  /* Typography */
  --ak-font-family: Dana, Tahoma, Arial, sans-serif;
  --ak-font-size-xs: .8125rem;
  --ak-font-size-sm: .875rem;
  --ak-font-size-md: 1rem;
  --ak-font-size-lg: 1.125rem;
  --ak-font-size-xl: 1.25rem;
  --ak-font-size-2xl: 1.5rem;
  --ak-line-height-tight: 1.35;
  --ak-line-height-normal: 1.7;
  --ak-font-weight-regular: 400;
  --ak-font-weight-medium: 500;
  --ak-font-weight-bold: 700;

  /* Motion */
  --ak-duration-fast: 120ms;
  --ak-duration-normal: 200ms;
  --ak-duration-slow: 320ms;
  --ak-ease-standard: cubic-bezier(.4, 0, .2, 1);
  --ak-ease-emphasized: cubic-bezier(.2, 0, 0, 1);

  /* Control heights (touch-friendly) */
  --ak-control-height-sm: 2.75rem;
  --ak-control-height-md: 3rem;
  --ak-control-height-lg: 3.25rem;

  /* Z-index scale */
  --ak-z-base: 0;
  --ak-z-dropdown: 1000;
  --ak-z-sticky: 1020;
  --ak-z-fixed: 1030;
  --ak-z-modal-backdrop: 1040;
  --ak-z-modal: 1050;
  --ak-z-popover: 1060;
  --ak-z-tooltip: 1070;
  --ak-z-toast: 1085;
  --ak-z-skip-link: 2000;
}

[data-bs-theme="dark"] {
  --ak-ink: #e6f4fc;
  --ak-navy: #0f4c75;

  --ak-page-bg: #1b262c;
  --ak-surface: #23343d;
  --ak-surface-elevated: #263f4d;
  --ak-surface-secondary: #263f4d;
  --ak-surface-muted: rgb(187 225 250 / 8%);

  --ak-text: #e6f4fc;
  --ak-text-secondary: #c2deee;
  --ak-text-muted: #9eb9c9;

  --ak-primary: #5db1e6;
  --ak-primary-hover: #78c1ed;
  --ak-on-primary: #0d1b22;
  --ak-primary-soft: rgb(93 177 230 / 16%);
  --ak-primary-text: #bbe1fa;

  --ak-secondary-action: #0f4c75;

  --ak-accent: #4db6ac;
  --ak-accent-hover: #6bc4bc;
  --ak-on-accent: #0d1b22;
  --ak-accent-soft: rgb(77 182 172 / 16%);

  --ak-fiscal: #f6bd60;
  --ak-fiscal-hover: #f8cb82;
  --ak-fiscal-soft: rgb(246 189 96 / 16%);
  --ak-fiscal-text: #f6bd60;

  --ak-border: #466577;
  --ak-border-strong: #66869a;
  --ak-input-border: #66869a;
  --ak-focus: #bbe1fa;
  --ak-focus-ring: rgb(187 225 250 / 35%);
  --ak-selected: #164e70;
  --ak-disabled: #40515b;

  --ak-success: #58ca91;
  --ak-success-soft: rgb(88 202 145 / 16%);
  --ak-success-text: #58ca91;
  --ak-warning: #f6bd60;
  --ak-warning-soft: rgb(246 189 96 / 16%);
  --ak-warning-text: #f6bd60;
  --ak-warning-border: rgb(246 189 96 / 40%);
  --ak-danger: #ff8d85;
  --ak-danger-soft: rgb(255 141 133 / 16%);
  --ak-danger-text: #ff8d85;
  --ak-danger-border: rgb(255 141 133 / 40%);
  --ak-info: #77c5f3;
  --ak-info-soft: rgb(119 197 243 / 16%);

  --ak-overlay: rgb(0 0 0 / 70%);
  --ak-shadow-color: rgb(0 0 0 / 35%);
  --ak-shadow: var(--ak-shadow-color);
  --ak-shadow-sm: 0 .15rem .5rem var(--ak-shadow-color);
  --ak-shadow-md: 0 .4rem 1.25rem var(--ak-shadow-color);
  --ak-shadow-lg: 0 .75rem 2rem var(--ak-shadow-color);

  --ak-auth-accent: #164e70;

  --ak-chart-grid: #3c5969;
  --ak-chart-tooltip: #0d1b22;
  --ak-chart-1: #5db1e6;
  --ak-chart-2: #4db6ac;
  --ak-chart-3: #58ca91;
  --ak-chart-4: #f6bd60;
  --ak-chart-5: #d6a5ef;
}

@media (prefers-reduced-motion: reduce) {
  :root,
  [data-bs-theme="light"],
  [data-bs-theme="dark"] {
    --ak-duration-fast: 0ms;
    --ak-duration-normal: 0ms;
    --ak-duration-slow: 0ms;
  }
}
