/* Annie Operations — Color tokens */

:root {
  /* ---- Warm neutrals (sand / paper) ---- */
  --sand-paper: #F4EFE6;
  --sand-50:    #FAF6EF;
  --sand-100:   #F1EBDF;
  --sand-200:   #E7DECE;
  --sand-300:   #D9CDB7;
  --sand-400:   #C4B498;
  --white-warm: #FFFEFB;

  /* ---- Ink (warm near-black text ramp) ---- */
  --ink-900: #211E18;
  --ink-800: #322D24;
  --ink-700: #433D31;
  --ink-600: #5A5345;
  --ink-500: #756C5B;
  --ink-400: #968C78;
  --ink-300: #B8AE99;
  --ink-200: #D7CEBC;

  /* ---- Teal (primary / brand / confirmed) ---- */
  --teal-50:  #ECF3F1;
  --teal-100: #D2E4DF;
  --teal-200: #A6C9C1;
  --teal-300: #72AAA0;
  --teal-400: #468A7E;
  --teal-500: #2E6E63;
  --teal-600: #235851;
  --teal-700: #1A453F;
  --teal-800: #133330;
  --teal-900: #0D2421;

  /* ---- Ochre (secondary / tentative / held) ---- */
  --ochre-50:  #FBF4E6;
  --ochre-100: #F5E6C6;
  --ochre-200: #EBCE91;
  --ochre-300: #DCB058;
  --ochre-400: #C89030;
  --ochre-500: #A87421;
  --ochre-600: #855A1A;

  /* ---- Terracotta (conflict / destructive) ---- */
  --clay-50:  #FAEDE8;
  --clay-100: #F3D6CB;
  --clay-200: #E5AE9B;
  --clay-300: #D38068;
  --clay-400: #BF5A3F;
  --clay-500: #A2452C;
  --clay-600: #813521;

  /* ---- Sage (positive / available) ---- */
  --sage-50:  #EEF2E7;
  --sage-100: #DCE5CD;
  --sage-300: #A6BB86;
  --sage-500: #5E7A47;
  --sage-600: #4A6238;

  /* ---- Information blue ---- */
  --info-50:  #E9F0F4;
  --info-300: #7FA7BD;
  --info-500: #3E708C;
  --info-600: #2F5A72;

  /* Surfaces */
  --bg-app:        var(--sand-paper);
  --surface-card:  var(--white-warm);
  --surface-sunk:  var(--sand-100);
  --surface-raised:var(--white-warm);
  --surface-hover: var(--sand-100);
  --surface-active:var(--sand-200);

  /* Text */
  --text-strong:   var(--ink-900);
  --text-body:     var(--ink-700);
  --text-muted:    var(--ink-500);
  --text-faint:    var(--ink-400);
  --text-on-teal:  #F4EFE6;
  --text-on-ochre: #2A2008;
  --text-link:     var(--info-600);

  /* Borders */
  --border-hair:   var(--sand-200);
  --border:        var(--sand-300);
  --border-strong: var(--sand-400);
  --border-focus:  var(--teal-500);

  /* Brand / primary action */
  --brand:          var(--teal-600);
  --brand-hover:    var(--teal-700);
  --brand-active:   var(--teal-800);
  --brand-subtle:   var(--teal-50);
  --brand-subtle-bd:var(--teal-200);

  /* Secondary accent */
  --accent:         var(--ochre-400);
  --accent-hover:   var(--ochre-500);
  --accent-subtle:  var(--ochre-50);

  /* ---- Availability state semantics ---- */
  --avail-free-fg:      var(--ink-500);
  --avail-free-bg:      transparent;
  --avail-free-bd:      var(--sand-300);

  --avail-held-fg:      var(--ochre-600);
  --avail-held-bg:      var(--ochre-50);
  --avail-held-bd:      var(--ochre-300);
  --avail-held-solid:   var(--ochre-400);

  --avail-booked-fg:    var(--text-on-teal);
  --avail-booked-bg:    var(--teal-600);
  --avail-booked-bd:    var(--teal-700);
  --avail-booked-soft:  var(--teal-50);
  --avail-booked-soft-fg: var(--teal-700);

  --avail-conflict-fg:  var(--clay-600);
  --avail-conflict-bg:  var(--clay-50);
  --avail-conflict-bd:  var(--clay-400);
  --avail-conflict-solid: var(--clay-500);

  /* ---- Status (general feedback) ---- */
  --ok-fg:      var(--sage-600);
  --ok-bg:      var(--sage-50);
  --ok-bd:      var(--sage-300);
  --warn-fg:    var(--ochre-600);
  --warn-bg:    var(--ochre-50);
  --warn-bd:    var(--ochre-300);
  --danger-fg:  var(--clay-600);
  --danger-bg:  var(--clay-50);
  --danger-bd:  var(--clay-400);
  --info-fg:    var(--info-600);
  --info-bg:    var(--info-50);
  --info-bd:    var(--info-300);

  /* Focus ring */
  --ring: 0 0 0 3px rgba(46, 110, 99, 0.30);
}
