/* PotomacOps shared product palette.
   Keep this file token-only so authenticated, auth, booking, portal, and
   standalone ERP surfaces can share one color contract without inheriting
   app-shell layout rules. */

:root,
[data-theme="dark"] {
  color-scheme: dark;

  --canvas: #11171D;
  --surface: #192129;
  --surface-muted: #222D36;
  --ink: #EDF2F6;
  --muted: #AEBBC5;
  --line: #35434E;
  --accent: #73A3E8;
  --accent-strong: #9ABCF0;
  --on-accent: #0D1720;

  --bg: var(--canvas);
  --elevated: var(--surface-muted);
  --hover: #2A3741;
  --input-bg: #151E25;
  --sidebar-bg: #101820;

  --brand-blue: var(--accent);
  --brand-blue-dark: var(--accent-strong);
  --brand-blue-soft: var(--accent);
  --brand-on-blue: var(--on-accent);

  /* Compatibility aliases retained for existing ERP components. */
  --gold: var(--accent);
  --gold-light: var(--accent-strong);
  --gold-dim: rgba(115, 163, 232, 0.14);
  --gold-hover: var(--accent-strong);
  --gold-glow: rgba(115, 163, 232, 0.24);
  --gold-border: rgba(115, 163, 232, 0.36);

  --text: var(--ink);
  --text-secondary: #D3E0EE;
  --text-muted: var(--muted);
  --text-dim: #8EA0AD;
  --border: var(--line);
  --border-strong: #53616E;

  --success: #3FB07F;
  --success-bg: rgba(63, 176, 127, 0.10);
  --warning: #E8A33F;
  --warning-bg: rgba(232, 163, 63, 0.10);
  --danger: #E55C5C;
  --danger-bg: rgba(229, 92, 92, 0.10);
  --info: var(--accent);
  --info-bg: var(--gold-dim);

  /* Shared appointment status contract. */
  --status-scheduled-bg: var(--accent);
  --status-scheduled-fg: var(--on-accent);
  --status-confirmed-bg: var(--success);
  --status-confirmed-fg: var(--on-accent);
  --status-in-progress-bg: var(--accent-strong);
  --status-in-progress-fg: var(--on-accent);
  --status-completed-bg: #53616E;
  --status-completed-fg: #EDF2F6;
  --status-cancelled-bg: var(--danger);
  --status-cancelled-fg: var(--on-accent);
  --status-no-show-bg: #A83B49;
  --status-no-show-fg: #FFFFFF;

  --shadow-sm: 0 1px 3px rgba(5, 18, 34, 0.34);
  --shadow-md: 0 4px 16px rgba(5, 18, 34, 0.42);
  --shadow-lg: 0 18px 52px rgba(5, 18, 34, 0.52);
  --scrollbar-thumb: rgba(115, 163, 232, 0.55);
  --focus-ring: 0 0 0 3px rgba(115, 163, 232, 0.28);
  --table-head: rgba(115, 163, 232, 0.10);
}

[data-theme="light"] {
  color-scheme: light;

  --canvas: #F4F7F9;
  --surface: #FFFFFF;
  --surface-muted: #E8EEF2;
  --ink: #101820;
  --muted: #53616E;
  --line: #C9D3DB;
  --accent: #245AA8;
  --accent-strong: #184783;
  --on-accent: #FFFFFF;

  --bg: var(--canvas);
  --elevated: var(--surface);
  --hover: var(--surface-muted);
  --input-bg: #F8FAFB;
  --sidebar-bg: #ECF2F5;

  --brand-blue: var(--accent);
  --brand-blue-dark: var(--accent-strong);
  --brand-blue-soft: #5C8FE6;
  --brand-on-blue: var(--on-accent);

  --gold: var(--accent);
  --gold-light: var(--accent-strong);
  --gold-dim: rgba(36, 90, 168, 0.09);
  --gold-hover: var(--accent-strong);
  --gold-glow: rgba(36, 90, 168, 0.16);
  --gold-border: rgba(36, 90, 168, 0.27);

  --text: var(--ink);
  --text-secondary: #384A57;
  --text-muted: var(--muted);
  --text-dim: #71818D;
  --border: var(--line);
  --border-strong: #AEBCC6;

  --success: #2F7D5C;
  --success-bg: rgba(47, 125, 92, 0.08);
  --warning: #B86A1F;
  --warning-bg: rgba(184, 106, 31, 0.10);
  --danger: #B83A3A;
  --danger-bg: rgba(184, 58, 58, 0.08);
  --info: var(--accent);
  --info-bg: var(--gold-dim);

  /* Shared appointment status contract. */
  --status-scheduled-bg: var(--accent);
  --status-scheduled-fg: var(--on-accent);
  --status-confirmed-bg: var(--success);
  --status-confirmed-fg: var(--on-accent);
  --status-in-progress-bg: var(--accent-strong);
  --status-in-progress-fg: var(--on-accent);
  --status-completed-bg: #53616E;
  --status-completed-fg: #FFFFFF;
  --status-cancelled-bg: var(--danger);
  --status-cancelled-fg: var(--on-accent);
  --status-no-show-bg: #8F2637;
  --status-no-show-fg: #FFFFFF;

  --shadow-sm: 0 1px 2px rgba(31, 54, 74, 0.05);
  --shadow-md: 0 4px 16px rgba(31, 54, 74, 0.08);
  --shadow-lg: 0 16px 48px rgba(31, 54, 74, 0.13);
  --scrollbar-thumb: rgba(36, 90, 168, 0.32);
  --focus-ring: 0 0 0 3px rgba(36, 90, 168, 0.26);
  --table-head: rgba(36, 90, 168, 0.07);
}
