/* VIRCANSASTUDIO — Color tokens
 * Minimalist black + Identity Yellow, soft neutral ink scale, pastel status layer.
 * Base values first, then semantic aliases (the "Opsi A" token bridge). */
:root {
  /* ===== Brand core ===== */
  --vs-black: #050505;          /* primary CTA / ink */
  --vs-white: #FFFFFF;
  --vs-yellow: #FFF700;         /* Identity Yellow */
  --vs-yellow-soft: #FFFDE6;    /* pale yellow surface */
  --vs-yellow-shadow: #E6DC00;  /* yellow line / shadow */

  /* ===== Neutral ink scale (spec) ===== */
  --ink-950: #020202;
  --ink-900: #050505;
  --ink-850: #0B0C0E;
  --ink-800: #111214;
  --ink-700: #1C1E22;
  --ink-600: #3A3D45;
  --ink-400: #777D88;
  --ink-300: #9AA0AA;
  /* extended for fills / disabled */
  --ink-200: #C3C7CF;
  --ink-100: #E6E8EE;
  --ink-050: #F2F4F7;

  /* ===== Surfaces & lines ===== */
  --surface-0: #FCFBF7;   /* paper / sheet */
  --surface-1: #F7F5EF;   /* subtle paper / input fill */
  --canvas:    #F1F0EA;   /* editorial canvas */
  --line-200:  #D8D6CE;   /* default hairline */
  --line-100:  #E8E6DE;   /* faint divider */

  /* ===== Operational accents ===== */
  --accent-cyan:   #16C7E8;
  --accent-blue:   #2F63B7;
  --accent-red:    #F5365E;
  --accent-mint:   #047857;
  --accent-emerald:#10B981;
  --accent-lime:   #84CC16;
  --accent-orange: #F97316;
  --accent-pink:   #EC4899;
  --accent-violet: #6848B3;

  /* ===== Semantic aliases — "Opsi A" bridge ===== */
  --primary:          var(--vs-black);   /* primary action surface */
  --primary-hover:    #1B1C1F;
  --primary-active:   #000000;
  --primary-contrast: var(--vs-white);
  --brand:            var(--vs-yellow);  /* identity accent */
  --brand-soft:       var(--vs-yellow-soft);
  --brand-line:       var(--vs-yellow-shadow);
  --brand-ink:        var(--vs-black);   /* text/icon sitting on yellow */

  /* text */
  --text-strong:   #0A0A0A;
  --text-body:     #242424;
  --text-muted:    #62615D;
  --text-subtle:   var(--ink-400);
  --text-disabled: var(--ink-300);
  --text-on-dark:  #FFFFFF;
  --text-on-dark-muted: rgba(255,255,255,0.64);

  /* backgrounds */
  --bg-app:    var(--canvas);
  --bg-card:   var(--surface-0);
  --bg-subtle: var(--surface-1);
  --bg-inset:  var(--ink-050);
  --bg-ink:    var(--ink-900);

  /* borders */
  --border-default: var(--line-200);
  --border-faint:   var(--line-100);
  --border-strong:  var(--ink-900);
  --border-input:   #C9C7BF;

  /* focus */
  --focus-ring:       rgba(5,5,5,0.14);
  --focus-ring-brand: rgba(230,220,0,0.55);
}

/* Layar login (workspace creator + Platform Console): netral dingin putih dari
 * base DS (design-system/tokens.css). Halaman publik tetap memakai nilai hangat di :root.
 * Alias WAJIB dideklarasi ulang: var() pada :root sudah di-resolve di :root lalu
 * diwariskan sebagai nilai jadi, jadi menimpa --surface-0 saja tidak mengubah --bg-card. */
body.is-app {
  --surface-0: var(--vs-white);
  --surface-1: #F7F8FA;
  --canvas:    var(--vs-white);
  --line-200:  var(--ink-100);
  --line-100:  #F0F2F5;

  --text-strong: var(--ink-900);
  --text-body:   var(--ink-800);
  --text-muted:  var(--ink-600);

  --bg-app:    var(--surface-0);
  --bg-card:   var(--surface-0);
  --bg-subtle: var(--surface-1);

  --border-default: var(--line-200);
  --border-faint:   var(--line-100);
  --border-input:   #DDE1E8;
}
