/* ═══════════════════════════════════════════════════════════════
   LAUNDRYLOG DESIGN SYSTEM  ·  Extension Token Layer  ·  v1.0
   Extends CheddarBooks (cb-tokens.css).
   --ll-*  LaundryLog-specific tokens only.
   No new primitives — semantic extensions of --cb-* only.
═══════════════════════════════════════════════════════════════ */
:root {
  /* ─ App identity ─ */
  --ll-app-name:   'LaundryLog';
  --ll-app-accent: var(--cb-accent);           /* inherits amber — same family */

  /* ─ Machine type palette ─ */
  --ll-washer-color:      oklch(56% 0.14 200); /* teal */
  --ll-washer-subtle:     oklch(94% 0.04 200);
  --ll-washer-border:     oklch(78% 0.09 200);
  --ll-dryer-color:       oklch(60% 0.17 48);  /* warm orange */
  --ll-dryer-subtle:      oklch(95% 0.04 50);
  --ll-dryer-border:      oklch(80% 0.10 50);
  --ll-supplies-color:    oklch(56% 0.14 290); /* soft purple */
  --ll-supplies-subtle:   oklch(94% 0.04 290);
  --ll-supplies-border:   oklch(78% 0.08 290);

  /* ─ Header gradient ─ */
  --ll-header-from:       var(--cb-amber-300);
  --ll-header-to:         var(--cb-amber-500);
  --ll-header-text:       oklch(100% 0 0);
  --ll-header-sub:        rgba(255,255,255,0.9);

  /* ─ Session / summary bar ─ */
  --ll-session-bg:        var(--cb-amber-50);
  --ll-session-border:    var(--cb-amber-300);
  --ll-session-text:      var(--cb-amber-700);

  /* ─ Entry cards ─ */
  --ll-entry-accent-l:         var(--cb-border-default);
  --ll-entry-accent-l-logged:  var(--cb-success);

  /* ─ Coin control ─ */
  --ll-coin-size:         64px;
  --ll-coin-bg:           linear-gradient(145deg, oklch(89% 0 0) 0%, oklch(72% 0 0) 100%);
  --ll-coin-border:       oklch(62% 0 0);
  --ll-coin-text:         oklch(28% 0 0);

  /* ─ Stepper ─ */
  --ll-stepper-btn-bg:     var(--cb-accent);
  --ll-stepper-btn-color:  var(--cb-accent-on);
  --ll-stepper-btn-size:   64px;
  --ll-stepper-value-size: var(--cb-text-4xl);

  /* ─ Quick-fill chips ─ */
  --ll-quickfill-bg:      var(--cb-amber-50);
  --ll-quickfill-border:  var(--cb-amber-300);
  --ll-quickfill-text:    var(--cb-amber-700);

  /* ─ Status chips ─ */
  --ll-status-ready-color:   var(--cb-green-700);
  --ll-status-missing-color: var(--cb-red-700);

  /* ─ GPS button ─ */
  --ll-gps-btn-border: var(--cb-border-default);
  --ll-gps-btn-bg:     var(--cb-surface-raised);

  /* ─ Feedback banner ─ */
  --ll-feedback-bg:     var(--cb-success-subtle);
  --ll-feedback-border: var(--cb-green-500);
  --ll-feedback-text:   var(--cb-green-700);
}

[data-theme="dark"] {
  --ll-washer-subtle:   oklch(16% 0.05 200);
  --ll-washer-border:   oklch(32% 0.08 200);
  --ll-dryer-subtle:    oklch(16% 0.05 50);
  --ll-dryer-border:    oklch(32% 0.09 48);
  --ll-supplies-subtle: oklch(16% 0.05 290);
  --ll-supplies-border: oklch(32% 0.07 290);
  --ll-session-bg:      oklch(16% 0.04 80);
  --ll-session-border:  var(--cb-amber-700);
  --ll-session-text:    var(--cb-amber-400);
  --ll-quickfill-bg:    oklch(16% 0.04 80);
  --ll-quickfill-border: var(--cb-amber-700);
  --ll-quickfill-text:  var(--cb-amber-400);
  --ll-status-ready-color:   var(--cb-green-500);
  --ll-status-missing-color: var(--cb-red-500);
  --ll-feedback-bg:     oklch(16% 0.05 145);
  --ll-feedback-border: var(--cb-green-500);
  --ll-feedback-text:   var(--cb-green-500);
  --ll-coin-bg:         linear-gradient(145deg, oklch(35% 0 0) 0%, oklch(24% 0 0) 100%);
  --ll-coin-border:     oklch(45% 0 0);
  --ll-coin-text:       oklch(80% 0 0);
}
