/*
 * Hypha tenant theme (hypha1-prod). Tokens come from the "Hypha Brand and
 * Communications Guide - Public" (shared drive Clients/Hypha/03. Onboarding,
 * received 2026-09-22).
 *
 * Contract: VARIABLES ONLY. The file loads through VITE_APP_CSS_URL before
 * the compiled bundle CSS (same pattern as cnh.css and vocus.css), so it must
 * never compete with utility classes on selectors.
 *
 * Brand tokens:
 *   Satellite Navy  #04043d  primary (buttons, links, focus, chrome)
 *   tints           #363661 (80%) / #686888 (60%) / #9b9bb0 (40%) / #cdcdd7 (20%)
 *   Fusion Orange   #ec6636  warning accent
 *   Rescue Red      #d4323d  alarm
 *   Mission Green   #3fb68e  success
 *   Cloud Blue      #295abb  info
 *   font            Poppins (Fontshare, not bundled; the app default stack is used)
 * The lock-up logo carries an orange to magenta gradient glyph and a navy
 * wordmark, so the chrome uses the inverse (white wordmark) file on navy.
 */

:root {
  /* Hypha runs light-first; used with VITE_FORCE_LIGHT_MODE=true. */
  color-scheme: light;

  /* Activates html.sfh-skin component rules (table banding). */
  --sfh-skin: hypha;

  /* Brand accent slot */
  --sfh-accent-from: #04043d;
  --sfh-accent-to: #363661;
  --sfh-accent-contrast: #ffffff;

  /* Satellite Navy scale (rgb triplets for Tailwind <alpha-value>).
   * 900 = brand #04043d; 700/500/300/100 are the guide's 80/60/40/20% tints. */
  --sfh-primary-50: 240 240 245;
  --sfh-primary-100: 205 205 215;
  --sfh-primary-200: 180 180 195;
  --sfh-primary-300: 155 155 176;
  --sfh-primary-400: 130 130 156;
  --sfh-primary-500: 104 104 136;
  --sfh-primary-600: 78 78 110;
  --sfh-primary-700: 54 54 97;
  --sfh-primary-800: 30 30 80;
  --sfh-primary-900: 4 4 61;
  --sfh-brand-50: 240 240 245;
  --sfh-brand-100: 205 205 215;
  --sfh-brand-200: 180 180 195;
  --sfh-brand-300: 155 155 176;
  --sfh-brand-400: 130 130 156;
  --sfh-brand-500: 104 104 136;
  --sfh-brand-600: 78 78 110;
  --sfh-brand-700: 54 54 97;
  --sfh-brand-800: 30 30 80;
  --sfh-brand-900: 4 4 61;

  /* State colors from the secondary palette. */
  --sfh-status-alarm: 212 50 61;
  --sfh-status-warning: 236 102 54;
  --sfh-status-success: 63 182 142;
  --sfh-status-info: 41 90 187;

  /* App chrome: Satellite Navy with the inverse (white wordmark) lock-up. */
  --sfh-chrome-bg: #04043d;
  --sfh-chrome-logo: "/hypha-logo-dark.png";
  /* The lock-up is wide and low, so it needs the full chrome height. */
  --sfh-logo-height: 2.5rem;
  --sfh-chrome-border: #04043d;
  --sfh-chrome-divider: #363661;
  --sfh-chrome-text: #cdcdd7;
  --sfh-chrome-text-active: #ffffff;
  --sfh-chrome-hover-bg: #1e1e50;
  --sfh-chrome-icon: #cdcdd7;

  /* Selected navigation item */
  --sfh-nav-selected-bg: linear-gradient(180deg, var(--sfh-accent-from), var(--sfh-accent-to));
  --sfh-nav-selected-text: var(--sfh-accent-contrast);
  --sfh-nav-selected-indicator: #ec6636;

  /* Surfaces: white cards on a faint navy-tinted page. */
  --sfh-body-bg: #f4f4f8;
  --sfh-surface: #ffffff;
  --sfh-border: #cdcdd7;
  --sfh-card-shadow: 0 1px 2px 1px rgba(4, 4, 61, 0.08);

  /* Tables: navy-tinted banding. */
  --sfh-table-header-bg: #e8e8ef;
  --sfh-table-stripe-odd: #f4f4f8;
  --sfh-table-stripe-even: #ffffff;
  --sfh-table-row-hover: #dcdce8;
  --sfh-table-row-border: transparent;

  /* Maps: light-first tenant, satellite basemap keeps the status cells legible.
   * Read by skinDefaultBasemap() in lib/stores/mapStore.ts. */
  --sfh-map-basemap: satellite;
}
