/* regio.group — Familien-Farben
 * Single source of truth: Dark (Default) + Light, gleichwertig.
 * Jede App liest ihren Accent über --app-accent (Body-Attribut data-app="<slug>").
 * App-Code referenziert NUR Token-Namen — niemals Hex-Werte hartcoden.
 */

:root,
[data-theme="dark"] {
  /* surfaces */
  --bg:           #0B0D10;
  --surface:      #13161B;
  --surface-2:    #1A1E25;
  --surface-3:    #222731;
  --surface-4:    #2A303B;
  --overlay:      rgba(11,13,16,.72);

  /* borders */
  --border:        #252A33;
  --border-strong: #363D49;
  --border-faint:  #1B2028;

  /* text */
  --text:        #ECEEF1;
  --text-muted:  #A4ABB6;
  --text-dim:    #6B7280;
  --text-on-accent: #0B0D10;

  /* brand — Regio SYS blue = primary, Regio BT green = accent */
  --primary:        #0080C9;
  --primary-hover:  #1A98DD;
  --primary-soft:   rgba(0,128,201,.14);
  --primary-line:   rgba(0,128,201,.35);

  --accent:         #00975F;
  --accent-hover:   #00B274;
  --accent-soft:    rgba(0,151,95,.16);

  /* semantic */
  --danger:   #E5484D;
  --danger-soft: rgba(229,72,77,.14);
  --warning:  #F5A524;
  --warning-soft: rgba(245,165,36,.14);
  --success:  #46A758;
  --success-soft: rgba(70,167,88,.14);
  --info:     #5B8DEF;
  --info-soft: rgba(91,141,239,.14);
  --neutral:  #6B7280;
  --neutral-soft: rgba(107,114,128,.18);

  /* focus */
  --ring: #1A98DD;
  --ring-offset: var(--bg);

  /* app accents — steel/indigo/amber/mint. Default: Tavos */
  --tavos:   #5B8FC7;
  --atlas:   #7B6DF5;
  --janus:   #F59E0B;
  --karis:   #14B8A6;

  --app-accent:      var(--tavos);
  --app-accent-soft: rgba(91,143,199,.16);

  color-scheme: dark;
}

[data-theme="light"] {
  --bg:           #F6F7F9;
  --surface:      #FFFFFF;
  --surface-2:    #F1F3F6;
  --surface-3:    #E7EAF0;
  --surface-4:    #DCE0E7;
  --overlay:      rgba(20,24,30,.45);

  --border:        #E0E4EB;
  --border-strong: #C8CFDA;
  --border-faint:  #EEF1F5;

  --text:        #14181E;
  --text-muted:  #4A5260;
  --text-dim:    #7A8290;
  --text-on-accent: #FFFFFF;

  --primary:        #006FAE;
  --primary-hover:  #0080C9;
  --primary-soft:   rgba(0,111,174,.10);
  --primary-line:   rgba(0,111,174,.28);

  --accent:         #017A4E;
  --accent-hover:   #00975F;
  --accent-soft:    rgba(1,122,78,.10);

  --danger:   #CC2A2F;
  --danger-soft: rgba(204,42,47,.10);
  --warning:  #B86E00;
  --warning-soft: rgba(184,110,0,.12);
  --success:  #2F8540;
  --success-soft: rgba(47,133,64,.10);
  --info:     #2F66D1;
  --info-soft: rgba(47,102,209,.10);
  --neutral:  #5A6270;
  --neutral-soft: rgba(90,98,112,.12);

  --ring: #006FAE;
  --ring-offset: #FFFFFF;

  --tavos:   #2F66B0;
  --atlas:   #5E4FDB;
  --janus:   #D27300;
  --karis:   #0E8F80;

  --app-accent:      var(--tavos);
  --app-accent-soft: rgba(47,102,176,.10);

  color-scheme: light;
}

/* App-accent overrides — set on <body data-app="..."> */
body[data-app="tavos"] { --app-accent: var(--tavos); --app-accent-soft: rgba(91,143,199,.16); }
body[data-app="atlas"] { --app-accent: var(--atlas); --app-accent-soft: rgba(123,109,245,.18); }
body[data-app="janus"] { --app-accent: var(--janus); --app-accent-soft: rgba(245,158,11,.18); }
body[data-app="karis"] { --app-accent: var(--karis); --app-accent-soft: rgba(20,184,166,.18); }
