/* ── SILMARILLION THEME ───────────────────────────────────────
   Inspired by the painting of Rivendell — dark atmospheric mountains,
   warm sandstone elven architecture, autumn amber foliage, cascading
   waterfalls, and an overcast dramatic sky.

   Palette derived from Rivendell:
     Deep mountain shadow  #1A1F2E   (primary background)
     Storm slate           #2C3040   (surface/card background)
     Dark forest           #1A2F1A   (deep panel accent)
     Sandstone warm        #8B7355   (borders, dividers)
     Aged stone            #A0896B   (secondary text)
     Autumn amber          #C4873A   (primary accent)
     Warm interior glow    #E8C87A   (headings, active states)
     Waterfall mist        #B8C8D4   (muted accent, placeholders)
     Parchment             #F0E6C8   (primary body text)
     Soft white mist       #E8EFF5   (high-emphasis text)

   Typography: Cinzel (headings) + Crimson Text (body).
   Activated by body.silmarillion class.
──────────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap');

body.silmarillion {
  /* ── Core palette ── */
  --bg:         #1A1F2E;
  --surface:    #2C3040;
  --border:     #8B7355;
  --border2:    #A0896B;
  --text:       #F5EDD5;
  --muted:      #C4B090;
  --tile-model: #D0DCE8;
  --tile-user:  #C4B090;
  --amber:      #C4873A;
  --amber-d:    #9a6a28;
  --yellow:     #E8C87A;
  --green:      #6aad5a;
  --red:        #c04040;
  --blue:       #6a9ec8;
  --purple:     #9a7ab8;
  --teal:       #4a9a8a;
  --teal-d:     #3a7a6a;
  --mono:       'Crimson Text', 'IBM Plex Mono', serif;
  --sans:       'Cinzel', 'Crimson Text', serif;
  --radius:     3px;
  --radius-sm:  2px;
  /* ── Rivendell helpers ── */
  --riv-mountain:   #1A1F2E;
  --riv-slate:      #2C3040;
  --riv-forest:     #1A2F1A;
  --riv-sandstone:  #8B7355;
  --riv-stone:      #C4B090;
  --riv-amber:      #C4873A;
  --riv-glow:       #E8C87A;
  --riv-mist:       #D0DCE8;
  --riv-parchment:  #F5EDD5;
  --riv-white:      #E8EFF5;
  background: var(--bg);
}


/* ── Focus: warm amber ring ─────────────────────────────────── */
body.silmarillion *:focus-visible {
  outline: 2px solid var(--riv-amber) !important;
  outline-offset: 2px;
}
body.silmarillion header *:focus-visible {
  outline-color: var(--riv-glow) !important;
}


/* ── Header: mountain shadow with amber border ──────────────── */
body.silmarillion header {
  background: linear-gradient(90deg, #141824, #1e2436 30%, #242a3a 50%, #1e2436 70%, #141824);
  border-bottom: 1px solid var(--riv-amber);
  box-shadow: 0 1px 8px rgba(196,135,58,.15);
}
body.silmarillion .logo {
  color: var(--riv-glow);
  text-shadow: 0 0 12px rgba(232,200,122,.25);
  font-weight: 700;
}
body.silmarillion .logo .logo-bot { color: var(--riv-mist); }
body.silmarillion .stats-bar { color: var(--riv-mist); }
body.silmarillion .dot.amber { background: var(--riv-amber); }
body.silmarillion .last-updated { color: var(--riv-stone); }
body.silmarillion #badge-name { color: var(--riv-parchment); }
body.silmarillion #badge-name:hover { color: var(--riv-glow); }


/* ── Header buttons ─────────────────────────────────────────── */
body.silmarillion #edit-btn,
body.silmarillion #theme-btn,
body.silmarillion #more-btn,
body.silmarillion #search-toggle-btn {
  border-color: var(--riv-sandstone);
  color: var(--riv-mist);
}
body.silmarillion #edit-btn:hover,
body.silmarillion #theme-btn:hover,
body.silmarillion #more-btn:hover,
body.silmarillion #search-toggle-btn:hover {
  border-color: var(--riv-amber);
  color: var(--riv-amber);
  box-shadow: 0 0 8px rgba(196,135,58,.2);
}
body.silmarillion #edit-btn.editing {
  border-color: var(--riv-amber);
  color: var(--riv-amber);
  background: rgba(196,135,58,.1);
}


/* ── Search field ───────────────────────────────────────────── */
body.silmarillion .search-input-wrap input {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-parchment);
}
body.silmarillion .search-input-wrap input::placeholder { color: var(--riv-mist); }
body.silmarillion .search-input-wrap input:focus {
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.2);
}
body.silmarillion .search-input-wrap svg { color: var(--riv-stone); }

body.silmarillion #search-overlay .search-input-wrap input {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-parchment);
}
body.silmarillion #search-overlay .search-input-wrap input:focus {
  border-color: var(--riv-amber);
}
body.silmarillion #search-overlay .search-input-wrap svg { color: var(--riv-stone); }


/* ── Tab bar ────────────────────────────────────────────────── */
body.silmarillion .tab-bar {
  background: rgba(26,31,46,.8);
  border: 1px solid var(--riv-sandstone);
}
body.silmarillion .tab-btn { color: var(--riv-mist); }
body.silmarillion .tab-btn:hover {
  background: rgba(196,135,58,.08);
  color: var(--riv-amber);
}
body.silmarillion .tab-btn.active {
  background: rgba(196,135,58,.14);
  color: var(--riv-glow);
  border: 1px solid var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.12);
}


/* ── Grid area ──────────────────────────────────────────────── */
body.silmarillion #grid-wrap { background: var(--bg); }
body.silmarillion .group-header {
  border-bottom-color: var(--riv-sandstone);
  color: var(--riv-glow);
  text-shadow: 0 0 8px rgba(232,200,122,.12);
}
body.silmarillion .group-header-name { color: var(--riv-glow); }
body.silmarillion .group-header-count { color: var(--riv-stone); }
body.silmarillion .group-collapse-chevron { color: var(--riv-stone); }
body.silmarillion .group-add-btn {
  background: rgba(196,135,58,.06);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-amber);
}
body.silmarillion .group-add-btn:hover {
  background: rgba(196,135,58,.14);
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.15);
}
body.silmarillion .group-reorder-btn {
  background: rgba(196,135,58,.06);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-amber);
}
body.silmarillion .group-reorder-btn:hover:not(:disabled) {
  background: rgba(196,135,58,.14);
  border-color: var(--riv-amber);
}
body.silmarillion .group-reorder-btn:disabled { opacity: .3; }
body.silmarillion .group-rename-input {
  color: var(--riv-parchment); border-bottom-color: var(--riv-sandstone);
}
body.silmarillion .group-display-toggle {
  background: rgba(196,135,58,.06);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-amber);
}
body.silmarillion .group-display-toggle:hover {
  border-color: var(--riv-amber);
  color: var(--riv-amber);
}
body.silmarillion .group-new-btn {
  border: 1px dashed var(--riv-sandstone);
  color: var(--riv-stone);
}
body.silmarillion .group-new-btn:hover {
  border-color: var(--riv-amber);
  color: var(--riv-amber);
}
body.silmarillion .group-bulk-add button {
  background: rgba(196,135,58,.06);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-amber);
}
body.silmarillion .group-bulk-add input[type=number] {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-parchment);
}
body.silmarillion .group-delete-btn {
  background: rgba(192,64,64,.06);
  border: 1px solid rgba(192,64,64,.3);
  color: var(--red);
  opacity: 1;
}
body.silmarillion .group-delete-btn:hover {
  background: rgba(192,64,64,.12);
}
body.silmarillion .group-move-tab-btn {
  border-color: var(--sil-amber, #c38e4a);
  color: var(--sil-amber, #c38e4a);
  font-family: 'Cinzel', serif;
  opacity: 1;
}
body.silmarillion .group-move-tab-btn:hover {
  background: rgba(195,142,74,.12);
}
body.silmarillion .move-tab-menu {
  background: var(--sil-surface, #2a1f14);
  border: 1px solid var(--sil-amber, #c38e4a);
  font-family: 'Crimson Text', serif;
  box-shadow: 0 4px 18px rgba(0,0,0,.6);
}
body.silmarillion .move-tab-menu-item:hover {
  background: rgba(195,142,74,.18);
  color: var(--sil-amber, #c38e4a);
}


/* ── Tiles: sandstone cards with warm glow ──────────────────── */
body.silmarillion .shelf-tile {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  box-shadow: inset 0 1px 0 rgba(232,200,122,.04), 0 2px 6px rgba(0,0,0,.25);
}
body.silmarillion .shelf-tile:hover {
  border-color: var(--riv-amber);
  box-shadow: 0 2px 12px rgba(196,135,58,.15), inset 0 1px 0 rgba(232,200,122,.06);
}
body.silmarillion .shelf-tile.highlight {
  border-color: var(--riv-glow);
  box-shadow: 0 0 0 2px var(--riv-glow), 0 0 16px rgba(232,200,122,.2);
}
body.silmarillion .shelf-tile.drag-over {
  border-color: var(--riv-glow);
  background: rgba(196,135,58,.06);
  box-shadow: 0 0 0 2px var(--riv-glow);
}
body.silmarillion .group-header.drag-over {
  background: rgba(196,135,58,.08);
  border-bottom-color: var(--riv-amber);
}


/* ── Side panel: dark forest hall ───────────────────────────── */
body.silmarillion #panel {
  background: var(--surface);
  border-left: 1px solid var(--riv-sandstone);
  box-shadow: -4px 0 20px rgba(0,0,0,.35);
}
body.silmarillion .panel-header {
  border-bottom: 1px solid var(--riv-sandstone);
}
body.silmarillion .panel-section {
  border-bottom: 1px solid rgba(139,115,85,.4);
}
body.silmarillion .panel-slot-input { color: var(--riv-glow); }
body.silmarillion .panel-slot-input::placeholder { color: rgba(196,135,58,.3); }
body.silmarillion .panel-slot-input:focus { border-bottom-color: var(--riv-amber); }


/* ── Buttons: sandstone-forged ──────────────────────────────── */
body.silmarillion .btn {
  border: 1px solid var(--riv-sandstone);
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: all .2s;
}
body.silmarillion .btn:active:not(:disabled) {
  box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
}
body.silmarillion .btn-primary {
  background: linear-gradient(180deg, #8B7355, #A0896B);
  color: var(--riv-parchment);
  border-color: var(--riv-stone);
  font-weight: 600;
}
body.silmarillion .btn-primary:hover {
  background: linear-gradient(180deg, #9a8060, #b09878);
  box-shadow: 0 0 10px rgba(196,135,58,.2);
}
body.silmarillion .btn-ghost {
  background: transparent;
  color: var(--riv-parchment);
  border-color: var(--riv-sandstone);
}
body.silmarillion .btn-ghost:hover {
  background: rgba(196,135,58,.08);
  border-color: var(--riv-amber);
  color: var(--riv-amber);
}
body.silmarillion .btn-danger {
  background: rgba(192,64,64,.1);
  color: var(--red);
  border-color: rgba(192,64,64,.3);
}
body.silmarillion .btn-danger:hover {
  background: rgba(192,64,64,.18);
}
body.silmarillion .btn-blue {
  background: rgba(106,158,200,.08);
  color: var(--blue);
  border-color: rgba(106,158,200,.25);
}
body.silmarillion .btn-blue:hover {
  background: rgba(106,158,200,.16);
}
body.silmarillion .btn-success {
  background: rgba(106,173,90,.08);
  color: var(--green);
  border-color: rgba(106,173,90,.25);
}
body.silmarillion .btn-success:hover {
  background: rgba(106,173,90,.16);
}
body.silmarillion .btn-purple {
  background: rgba(154,122,184,.08);
  color: var(--purple);
  border-color: rgba(154,122,184,.25);
}
body.silmarillion .btn-purple:hover {
  background: rgba(154,122,184,.16);
}


/* ── Radio labels ───────────────────────────────────────────── */
body.silmarillion .radio-label {
  background: rgba(196,135,58,.04);
  color: var(--riv-parchment);
  border: 1px solid var(--riv-sandstone);
}
body.silmarillion .radio-label:hover {
  background: rgba(196,135,58,.1);
  border-color: var(--riv-amber);
  color: var(--riv-amber);
}
body.silmarillion .radio-label:has(input:checked) {
  background: rgba(196,135,58,.2);
  color: var(--riv-glow);
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.18);
}
body.silmarillion .radio-label:has(input:checked):hover {
  background: rgba(196,135,58,.26);
}


/* ── Inputs: mountain shadow fill, sandstone border ─────────── */
body.silmarillion .modal input,
body.silmarillion .modal textarea,
body.silmarillion .modal select,
body.silmarillion .info-field input,
body.silmarillion .info-field textarea,
body.silmarillion .info-field select {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-parchment);
}
body.silmarillion .modal input:focus,
body.silmarillion .modal textarea:focus,
body.silmarillion .modal select:focus,
body.silmarillion .info-field input:focus,
body.silmarillion .info-field textarea:focus,
body.silmarillion .info-field select:focus {
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.18);
}
body.silmarillion .auth-field input {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-parchment);
}
body.silmarillion .auth-field input:focus {
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.18);
}
body.silmarillion .otp-slots input {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-glow);
}
body.silmarillion .otp-slots input:focus {
  border-color: var(--riv-amber);
  box-shadow: 0 0 8px rgba(196,135,58,.25);
}
body.silmarillion .admin-pwd-row input {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
}
body.silmarillion .admin-pwd-row input:focus {
  border-color: var(--riv-amber);
}


/* ── Modals: elven halls ────────────────────────────────────── */
body.silmarillion #modal-overlay { background: rgba(16,20,30,.75); }
body.silmarillion .modal {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  box-shadow: 0 8px 32px rgba(0,0,0,.5), 0 0 1px rgba(196,135,58,.3);
}
body.silmarillion .modal h3 { color: var(--riv-glow); }


/* ── Auth overlay: overcast mountain approach ───────────────── */
body.silmarillion #auth-overlay {
  background: linear-gradient(180deg, #10141e, #1A1F2E 40%, #1e2436);
}
body.silmarillion #auth-theme-btn {
  border-color: var(--riv-sandstone);
  color: var(--riv-mist);
}
body.silmarillion #auth-theme-btn:hover {
  border-color: var(--riv-amber);
  color: var(--riv-amber);
}
body.silmarillion .auth-card {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  box-shadow: 0 8px 40px rgba(0,0,0,.5), 0 0 1px rgba(196,135,58,.3);
}
body.silmarillion .auth-logo {
  color: var(--riv-glow);
  text-shadow: 0 0 16px rgba(232,200,122,.2);
}
body.silmarillion .auth-logo .logo-bot { color: var(--riv-mist); }
body.silmarillion .auth-tabs {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
}
body.silmarillion .auth-tab { color: var(--riv-mist); }
body.silmarillion .auth-tab.active {
  background: rgba(196,135,58,.14);
  color: var(--riv-glow);
  border: 1px solid var(--riv-amber);
}


/* ── Menus: counsel chambers ────────────────────────────────── */
body.silmarillion #theme-menu,
body.silmarillion #auth-theme-menu,
body.silmarillion #more-menu,
body.silmarillion .export-menu {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  box-shadow: 0 6px 24px rgba(0,0,0,.4);
}
body.silmarillion #theme-menu button,
body.silmarillion #auth-theme-menu button,
body.silmarillion #more-menu button,
body.silmarillion .export-menu button { color: var(--riv-parchment); }
body.silmarillion #theme-menu button:hover,
body.silmarillion #auth-theme-menu button:hover,
body.silmarillion #more-menu button:hover,
body.silmarillion .export-menu button:hover {
  background: rgba(196,135,58,.08);
  color: var(--riv-amber);
}
body.silmarillion #user-menu {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  box-shadow: 0 6px 24px rgba(0,0,0,.4);
}
body.silmarillion #user-menu button { color: var(--riv-parchment); }
body.silmarillion #user-menu button:hover {
  background: rgba(196,135,58,.08);
  color: var(--riv-amber);
}
body.silmarillion .more-menu-sep { background: var(--riv-sandstone); }
body.silmarillion .more-menu-header { color: var(--riv-stone); }


/* ── Toast ───────────────────────────────────────────────────── */
body.silmarillion #toast {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  box-shadow: 0 4px 16px rgba(0,0,0,.4);
}


/* ── Scrollbars: stone and timber ───────────────────────────── */
body.silmarillion ::-webkit-scrollbar { width: 10px; }
body.silmarillion ::-webkit-scrollbar-track {
  background: var(--riv-mountain);
  border-left: 1px solid rgba(139,115,85,.3);
}
body.silmarillion ::-webkit-scrollbar-thumb {
  background: rgba(139,115,85,.5);
  border: 1px solid rgba(139,115,85,.6);
}
body.silmarillion ::-webkit-scrollbar-thumb:hover {
  background: var(--riv-sandstone);
}


/* ── Log panel ──────────────────────────────────────────────── */
body.silmarillion #log-panel {
  background: rgba(20,24,36,.92);
}


/* ── Save bar ───────────────────────────────────────────────── */
body.silmarillion #save-bar-btn {
  border: 1px solid var(--riv-amber);
  color: var(--riv-amber);
  background: rgba(196,135,58,.08);
}
body.silmarillion #save-bar-btn:hover {
  background: rgba(196,135,58,.18);
  box-shadow: 0 0 10px rgba(196,135,58,.2);
}


/* ── Admin / misc ───────────────────────────────────────────── */
body.silmarillion .admin-role-badge {
  color: var(--riv-amber);
  border-color: var(--riv-sandstone);
}
body.silmarillion .group-rename-input:focus { border-bottom-color: var(--riv-amber); }
body.silmarillion .group-type-select {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-parchment);
}
body.silmarillion .val-textarea {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
}
body.silmarillion .val-textarea:focus {
  border-color: var(--riv-amber);
}
body.silmarillion .val-btn {
  background: rgba(139,115,85,.06);
  color: var(--riv-parchment);
  border: 1px solid var(--riv-sandstone);
  box-shadow: 0 1px 3px rgba(0,0,0,.15);
  transition: all .2s;
}
body.silmarillion .val-btn:hover {
  background: rgba(196,135,58,.1);
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.12);
}
body.silmarillion .val-btn:active {
  box-shadow: inset 0 1px 3px rgba(0,0,0,.2);
}
body.silmarillion .val-btn.sel-pass,
body.silmarillion .val-btn.sel-yes,
body.silmarillion .val-btn.sel-good {
  background: rgba(106,173,90,.15);
  color: #8cd080;
  border-color: rgba(106,173,90,.35);
  box-shadow: none;
}
body.silmarillion .val-btn.sel-fail,
body.silmarillion .val-btn.sel-no,
body.silmarillion .val-btn.sel-bad {
  background: rgba(192,64,64,.15);
  color: #e08080;
  border-color: rgba(192,64,64,.35);
  box-shadow: none;
}
body.silmarillion .val-btn.sel-okay {
  background: rgba(232,200,122,.12);
  color: var(--riv-glow);
  border-color: rgba(232,200,122,.3);
  box-shadow: none;
}


/* ── Decommission ───────────────────────────────────────────── */
body.silmarillion .decom-btn {
  border: 1px solid var(--riv-sandstone);
  background: rgba(139,115,85,.06);
  color: var(--riv-parchment);
  transition: all .2s;
}
body.silmarillion .decom-btn:hover {
  background: rgba(196,135,58,.1);
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.12);
}
body.silmarillion .decom-btn.sel-removed {
  background: rgba(106,173,90,.15);
  color: #8cd080;
  border-color: rgba(106,173,90,.35);
}
body.silmarillion .decom-btn.sel-not_found {
  background: rgba(106,158,200,.15);
  color: #80b8e0;
  border-color: rgba(106,158,200,.35);
}
body.silmarillion .decom-btn.sel-skipped {
  background: rgba(232,200,122,.12);
  color: var(--riv-glow);
  border-color: rgba(232,200,122,.3);
}
body.silmarillion .decom-still-present { color: var(--red); }
body.silmarillion .decom-check-btn {
  border: 1px solid var(--riv-sandstone);
  background: rgba(196,135,58,.06);
  color: var(--riv-amber);
}
body.silmarillion .decom-notes {
  border: 1px solid var(--riv-sandstone);
  background: var(--riv-mountain);
  color: var(--riv-parchment);
}


/* ── Charger toggle ─────────────────────────────────────────── */
body.silmarillion .charger-btn {
  background: rgba(139,115,85,.06);
  border: 1px solid var(--riv-sandstone);
}


/* ── Status badges: jewels among autumn leaves ──────────────── */
body.silmarillion .badge-empty       { background: rgba(160,137,107,.15); color: var(--riv-stone); }
body.silmarillion .badge-available   { background: rgba(106,173,90,.12);  color: #8cd080; }
body.silmarillion .badge-staging     { background: rgba(106,158,200,.12); color: #80b8e0; }
body.silmarillion .badge-outgoing    { background: rgba(154,122,184,.12); color: #b8a0d0; }
body.silmarillion .badge-ecycle      { background: rgba(192,64,64,.12);   color: #e08080; }
body.silmarillion .badge-incoming    { background: rgba(74,154,138,.12);  color: #70c0b0; }
body.silmarillion .badge-in_progress { background: rgba(196,135,58,.14);  color: var(--riv-amber); }
body.silmarillion .shelf-tile.in_progress::before { background: var(--riv-amber); }
body.silmarillion .shelf-tile.in_progress .tile-status { color: var(--riv-amber); }
body.silmarillion .badge-warning     { background: rgba(192,64,64,.12);   color: #e08080; }
body.silmarillion .badge-unknown     { background: rgba(160,137,107,.12); color: var(--riv-stone); }

/* ── Tile badges & progress ────────────────────────────────── */
body.silmarillion .tile-progress-bar { background: rgba(139,115,85,.35); }
body.silmarillion .tile-progress-heading { color: var(--riv-stone); }
body.silmarillion .tile-progress-count { color: var(--riv-stone); }
body.silmarillion .tile-decom-heading { color: var(--riv-stone); }
body.silmarillion .tile-decom-name { color: var(--riv-stone); }
body.silmarillion .tile-badge { border: 1px solid; }
body.silmarillion .tile-badge.decom-complete { background: rgba(106,173,90,.15); color: #8cd080; border-color: rgba(106,173,90,.35); }
body.silmarillion .tile-badge.decom-partial  { background: rgba(232,200,122,.12); color: var(--riv-glow); border-color: rgba(232,200,122,.3); }
body.silmarillion .tile-badge.decom-pending  { background: rgba(192,64,64,.12);   color: #e08080; border-color: rgba(192,64,64,.3); }
body.silmarillion .tile-badge.spare       { background: rgba(154,122,184,.12); color: #b8a0d0; border-color: rgba(154,122,184,.3); }
body.silmarillion .tile-badge.new-user    { background: rgba(106,173,90,.12); color: #8cd080; border-color: rgba(106,173,90,.3); }
body.silmarillion .tile-badge.replacement { background: rgba(106,158,200,.12); color: #80b8e0; border-color: rgba(106,158,200,.3); }
body.silmarillion .tile-badge.user-spare  { background: rgba(74,154,138,.12); color: #70c0b0; border-color: rgba(74,154,138,.3); }

/* ── CFG Pipeline ──────────────────────────────────────────── */
body.silmarillion .cfg-step {
  border-color: var(--riv-sandstone);
  background: rgba(139,115,85,.08);
  color: var(--riv-parchment);
  font-family: 'Crimson Text', serif;
}
body.silmarillion .cfg-step:hover { border-color: var(--riv-amber); }
body.silmarillion .cfg-step.checked {
  border-color: var(--riv-amber);
  background: rgba(196,135,58,.12);
}
body.silmarillion .cfg-step input[type="checkbox"] { accent-color: var(--riv-amber); }
body.silmarillion .cfg-pipeline h4 { color: var(--riv-stone); font-family: 'Cinzel', serif; }
body.silmarillion .cfg-pipeline .cfg-counter { color: var(--riv-stone); }
body.silmarillion .cfg-progress { background: rgba(139,115,85,.35); }
body.silmarillion .cfg-progress-fill { background: var(--riv-amber); }


/* ── Global view ────────────────────────────────────────────── */
body.silmarillion #global-wrap {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  margin: 6px;
  padding: 16px;
}
body.silmarillion .global-toolbar { background: var(--surface); }
body.silmarillion .global-toolbar select,
body.silmarillion .global-toolbar input {
  background: var(--riv-mountain); border: 1px solid var(--riv-sandstone); color: var(--riv-parchment);
}
body.silmarillion .global-toolbar input:focus,
body.silmarillion .global-toolbar select:focus { border-color: var(--riv-amber); box-shadow: 0 0 6px rgba(196,135,58,.18); }
body.silmarillion .global-tenant-tile { border-color: var(--riv-sandstone); }
body.silmarillion .global-tenant-tile:hover { border-color: var(--riv-amber); box-shadow: 0 0 8px rgba(196,135,58,.12); }
body.silmarillion .global-tenant-tile.active { border-color: var(--riv-amber); box-shadow: 0 0 10px rgba(196,135,58,.2); }
body.silmarillion .global-tile-name { color: var(--riv-parchment); font-family: 'Cinzel', serif; }
body.silmarillion .global-tile-count { color: var(--riv-stone); }
body.silmarillion .global-tile-breakdown { color: var(--riv-stone); }
body.silmarillion .global-expanded-section { border-color: var(--riv-amber); background: var(--surface); }
body.silmarillion .global-expanded-section::before { background: var(--surface); border-color: var(--riv-amber); }
body.silmarillion .global-expanded-header { color: var(--riv-glow); border-bottom-color: var(--riv-sandstone); }
body.silmarillion .global-expanded-close { border-color: var(--riv-sandstone); color: var(--riv-stone); }
body.silmarillion .global-expanded-close:hover { color: var(--riv-amber); border-color: var(--riv-amber); }
body.silmarillion .global-device-row { border: 1px solid var(--riv-sandstone); }
body.silmarillion .global-device-row:hover { border-color: var(--riv-amber); background: rgba(196,135,58,.05); }
body.silmarillion .global-device-serial { color: var(--riv-parchment); }
body.silmarillion .global-device-name { color: var(--riv-mist); }
body.silmarillion .global-device-model { color: var(--riv-mist); }
body.silmarillion .global-row-actions button { border: 1px solid var(--riv-sandstone); color: var(--riv-parchment); }
body.silmarillion .global-row-actions button:hover { border-color: var(--riv-amber); color: var(--riv-amber); }
body.silmarillion .global-row-links a { color: var(--riv-stone); border-color: var(--riv-sandstone); }
body.silmarillion .global-row-links a:hover { color: var(--riv-amber); border-color: var(--riv-amber); }
body.silmarillion .global-refresh-btn { background: rgba(196,135,58,.06); border: 1px solid var(--riv-sandstone); color: var(--riv-amber); }
body.silmarillion .global-refresh-btn:hover { border-color: var(--riv-amber); box-shadow: 0 0 6px rgba(196,135,58,.15); }
body.silmarillion .global-alpha-letter { color: rgba(196,135,58,.25); }
body.silmarillion .global-alpha-letter.active { color: var(--riv-amber); }
body.silmarillion .global-alpha-letter.active:hover { color: var(--riv-glow); }
body.silmarillion .global-sub-header { color: var(--riv-parchment); }
body.silmarillion .global-sub-header:hover { color: var(--riv-amber); }
body.silmarillion .global-sub-count { color: var(--riv-stone); }
body.silmarillion .global-sub-toggle { color: var(--riv-stone); }
body.silmarillion .global-type-header { color: var(--riv-stone); }
body.silmarillion .global-type-header:hover { color: var(--riv-amber); }
body.silmarillion .global-type-toggle { color: var(--riv-stone); }
body.silmarillion .global-loading { color: var(--riv-stone); }
body.silmarillion .global-empty-state { color: var(--riv-stone); }
body.silmarillion .global-empty-state button {
  background: rgba(196,135,58,.06); border: 1px solid var(--riv-sandstone); color: var(--riv-amber);
}
body.silmarillion .global-empty-state button:hover { border-color: var(--riv-amber); box-shadow: 0 0 8px rgba(196,135,58,.2); }
body.silmarillion .global-help-tag.inventoried { background: rgba(106,173,90,.15); color: #8cd080; }
body.silmarillion .global-help-tag.monitored   { background: rgba(196,135,58,.15); color: var(--riv-amber); }
body.silmarillion .global-help-tag.cw_only     { background: rgba(106,158,200,.12); color: #80b8e0; }
body.silmarillion .global-help-tag.cw_inactive { background: rgba(192,64,64,.12); color: #e08080; }
body.silmarillion .global-device-tag { border-radius: var(--radius-sm); }
body.silmarillion .global-tag-inventoried { background: rgba(106,173,90,.15); color: #8cd080; }
body.silmarillion .global-tag-untracked   { background: rgba(196,135,58,.15); color: var(--riv-amber); }
body.silmarillion .global-tag-cw_only     { background: rgba(106,158,200,.12); color: #80b8e0; }
body.silmarillion .global-tag-cw_inactive { background: rgba(192,64,64,.12); color: #e08080; }
body.silmarillion .global-tag-local_only { background: rgba(168,85,247,.12); color: #b89adb; }
body.silmarillion .global-row-actions .btn-ingest { color: var(--riv-amber); border-color: rgba(196,135,58,.3); }
body.silmarillion .global-row-actions .btn-ingest:hover { background: rgba(196,135,58,.1); }
body.silmarillion .global-ingest-modal label { color: var(--riv-stone); }
body.silmarillion .global-ingest-modal input,
body.silmarillion .global-ingest-modal select {
  background: var(--riv-mountain); border: 1px solid var(--riv-sandstone); color: var(--riv-parchment);
}
body.silmarillion .global-ingest-modal input:focus,
body.silmarillion .global-ingest-modal select:focus { border-color: var(--riv-amber); box-shadow: 0 0 6px rgba(196,135,58,.18); }
body.silmarillion .global-ingest-modal input[readonly] { opacity: .5; }


/* ── Audit tab ──────────────────────────────────────────────── */
body.silmarillion #audit-wrap {
  background: var(--surface); border: 1px solid var(--riv-sandstone);
  margin: 6px; padding: 16px;
}
body.silmarillion .audit-nav { border-bottom-color: var(--riv-sandstone); }
body.silmarillion .audit-nav-btn { color: var(--riv-mist); }
body.silmarillion .audit-nav-btn:hover { background: rgba(196,135,58,.08); color: var(--riv-amber); }
body.silmarillion .audit-nav-btn.active {
  background: rgba(196,135,58,.14); color: var(--riv-glow);
  border: 1px solid var(--riv-amber); box-shadow: 0 0 6px rgba(196,135,58,.12);
}
body.silmarillion .audit-report-card {
  border: 1px solid var(--riv-sandstone); background: var(--riv-slate);
}
body.silmarillion .audit-report-card:hover {
  border-color: var(--riv-amber); box-shadow: 0 0 12px rgba(196,135,58,.12);
}
body.silmarillion .audit-card-title { color: var(--riv-parchment); }
body.silmarillion .audit-card-desc { color: var(--riv-stone); }
body.silmarillion .audit-filter-group label { color: var(--riv-stone); }
body.silmarillion .audit-filter-group select,
body.silmarillion .audit-filter-group input {
  background: var(--riv-mountain); border: 1px solid var(--riv-sandstone); color: var(--riv-parchment);
}
body.silmarillion .audit-filter-group select:focus,
body.silmarillion .audit-filter-group input:focus {
  border-color: var(--riv-amber); box-shadow: 0 0 6px rgba(196,135,58,.18);
}
body.silmarillion .audit-btn {
  background: rgba(139,115,85,.06); color: var(--riv-parchment);
  border: 1px solid var(--riv-sandstone); box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
body.silmarillion .audit-btn:hover { border-color: var(--riv-amber); background: rgba(196,135,58,.1); box-shadow: 0 0 6px rgba(196,135,58,.12); }
body.silmarillion .audit-btn:active { box-shadow: inset 0 1px 3px rgba(0,0,0,.3); }
body.silmarillion .audit-btn-primary {
  background: linear-gradient(180deg, #8B7355, #A0896B); color: var(--riv-parchment);
  border-color: var(--riv-stone); font-weight: 600;
}
body.silmarillion .audit-btn-primary:hover { background: linear-gradient(180deg, #9a8060, #b09878); box-shadow: 0 0 10px rgba(196,135,58,.2); }
body.silmarillion .audit-btn-secondary { background: transparent; color: var(--riv-parchment); border-color: var(--riv-sandstone); }
body.silmarillion .audit-btn-secondary:hover { background: rgba(196,135,58,.08); border-color: var(--riv-amber); }
body.silmarillion .audit-results-header { border-bottom-color: var(--riv-sandstone); }
body.silmarillion .audit-results-header .audit-back-btn { color: var(--riv-stone); }
body.silmarillion .audit-results-header .audit-back-btn:hover { color: var(--riv-amber); }
body.silmarillion .audit-results-title { color: var(--riv-glow); }
body.silmarillion .audit-results-count { color: var(--riv-stone); }
body.silmarillion .audit-summary { color: var(--riv-stone); border-bottom-color: var(--riv-sandstone); }
body.silmarillion .audit-summary span strong { color: var(--riv-parchment); }
body.silmarillion .audit-table { background: var(--riv-mountain); }
body.silmarillion .audit-table th {
  color: var(--riv-glow); background: rgba(26,31,46,.8);
  border-bottom: 1px solid var(--riv-sandstone); padding: 6px 10px; font-weight: 600; font-size: 10px;
}
body.silmarillion .audit-table td { border-bottom: 1px solid rgba(139,115,85,.3); color: var(--riv-parchment); }
body.silmarillion .audit-table tr:hover td { background: rgba(196,135,58,.05); }
body.silmarillion .audit-loading { color: var(--riv-stone); }
body.silmarillion .audit-spinner { border-color: var(--riv-sandstone); border-top-color: var(--riv-amber); }
body.silmarillion .audit-empty { color: var(--riv-stone); }
body.silmarillion .audit-dup-section { border: 1px solid; padding: 16px; }
body.silmarillion .audit-dup-section.ninja-section { background: rgba(106,158,200,.05); border-color: rgba(106,158,200,.2); }
body.silmarillion .audit-dup-section.cw-section { background: rgba(154,122,184,.05); border-color: rgba(154,122,184,.2); }
body.silmarillion .audit-dup-section-header { border-bottom-color: rgba(139,115,85,.4); }
body.silmarillion .ninja-section .audit-dup-section-header { color: var(--blue); }
body.silmarillion .cw-section .audit-dup-section-header { color: var(--purple); }
body.silmarillion .audit-dup-stats { color: var(--riv-stone); border-bottom-color: rgba(139,115,85,.4); }
body.silmarillion .audit-dup-stats span strong { color: var(--riv-parchment); }
body.silmarillion .audit-dup-category-header { color: var(--riv-mist); }
body.silmarillion .audit-no-dupes { color: var(--riv-stone); }


/* ── Duplicate tables (shared by Audit) ── */
body.silmarillion .dup-group-header { color: var(--riv-parchment); }
body.silmarillion .dup-group-header .dup-serial { color: var(--riv-glow); }
body.silmarillion .dup-table th {
  color: var(--riv-glow);
  background: rgba(26,31,46,.8);
  border-bottom: 1px solid var(--riv-sandstone);
  padding: 6px 10px;
  font-weight: 600;
  font-size: 10px;
}
body.silmarillion .dup-table td {
  border-bottom: 1px solid rgba(139,115,85,.3);
  color: var(--riv-parchment);
}
body.silmarillion .dup-table tr:hover td { background: rgba(196,135,58,.05); }
body.silmarillion .dup-link { color: var(--riv-amber); }


/* ── List-view items ────────────────────────────────────────── */
body.silmarillion .outgoing-item {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  border-left: 3px solid var(--purple);
}
body.silmarillion .outgoing-item:hover {
  background: rgba(154,122,184,.06);
  border-color: var(--riv-amber);
  border-left-color: var(--purple);
}
body.silmarillion .ecycle-item {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  border-left: 3px solid var(--red);
}
body.silmarillion .ecycle-item:hover {
  background: rgba(192,64,64,.06);
  border-color: var(--riv-amber);
  border-left-color: var(--red);
}
body.silmarillion .group-list-item {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
}
body.silmarillion .group-list-item:hover {
  border-color: var(--riv-amber);
  background: rgba(196,135,58,.05);
}
body.silmarillion .group-list-item.drag-over {
  border-color: var(--riv-glow);
  background: rgba(196,135,58,.08);
  box-shadow: 0 0 0 2px var(--riv-glow);
}
body.silmarillion .incoming-item {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  border-left: 3px solid var(--teal);
}
body.silmarillion .incoming-item:hover {
  background: rgba(74,154,138,.06);
  border-color: var(--riv-amber);
  border-left-color: var(--teal);
}

/* ── Queue empties ──────────────────────────────────────────── */
body.silmarillion .outgoing-queue-empty,
body.silmarillion .ecycle-queue-empty,
body.silmarillion .group-list-empty,
body.silmarillion .incoming-queue-empty { color: var(--riv-stone); }


/* ── Global panel: elven archive ───────────────────────────── */
body.silmarillion #global-panel {
  background: var(--surface);
  border-left: 1px solid var(--riv-sandstone);
  box-shadow: -4px 0 20px rgba(0,0,0,.35);
}
body.silmarillion .global-panel-header { border-bottom: 1px solid var(--riv-sandstone); }
body.silmarillion .global-panel-section { border-bottom: 1px solid rgba(139,115,85,.4); }
body.silmarillion .global-panel-section h4 { color: var(--riv-glow); font-family: 'Cinzel', serif; }
body.silmarillion .gp-tenant-input, body.silmarillion .gp-notes-input {
  background: var(--riv-mountain);
  border: 1px solid var(--riv-sandstone);
  color: var(--riv-parchment);
}
body.silmarillion .gp-tenant-input:focus, body.silmarillion .gp-notes-input:focus {
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.18);
}
body.silmarillion .global-device-row.selected { border-color: var(--riv-amber); background: rgba(196,135,58,.08); }
body.silmarillion .gp-save-btn {
  background: rgba(196,135,58,.06); color: var(--riv-amber);
  border: 1px solid var(--riv-sandstone);
}
body.silmarillion .gp-save-btn:hover { border-color: var(--riv-amber); box-shadow: 0 0 6px rgba(196,135,58,.15); }
body.silmarillion .global-tag-needs-rmm { background: rgba(160,48,48,.15); color: #c06060; border-color: rgba(160,48,48,.35); }
body.silmarillion .gp-compliance-notice { background: rgba(160,48,48,.08); border-color: rgba(160,48,48,.3); color: #c06060; }
body.silmarillion .global-tag-spare { background: rgba(120,90,160,.15); color: #9878b0; border-color: rgba(120,90,160,.35); }
body.silmarillion .global-tag-server { background: rgba(140,80,180,.15); color: #b070d0; border-color: rgba(140,80,180,.35); }
body.silmarillion .gp-cw-status-notice { background: rgba(180,140,60,.08); border-color: rgba(180,140,60,.3); color: #b48c3c; }


/* ── Bench view: sandstone workbench ─────────────────────── */
body.silmarillion .bench-card {
  background: var(--surface);
  border: 1px solid var(--riv-sandstone);
  box-shadow: inset 0 1px 0 rgba(232,200,122,.04), 0 2px 6px rgba(0,0,0,.25);
}
body.silmarillion .bench-card:hover {
  border-color: var(--riv-amber);
}
body.silmarillion .bench-card h3 {
  background: var(--riv-mountain);
  border-bottom: 1px solid var(--riv-sandstone);
  color: var(--riv-glow);
  font-family: 'Cinzel', serif;
}
body.silmarillion .bench-back-btn {
  border-color: var(--riv-sandstone);
  color: var(--riv-mist);
}
body.silmarillion .bench-back-btn:hover {
  border-color: var(--riv-amber);
  color: var(--riv-amber);
  box-shadow: 0 0 8px rgba(196,135,58,.2);
}
body.silmarillion .bench-header { border-bottom-color: var(--riv-sandstone); }
body.silmarillion .bench-card-body { font-family: 'Crimson Text', serif; }
body.silmarillion .bench-info-table td { color: var(--riv-parchment); }
body.silmarillion .bench-info-table td:first-child { color: var(--riv-stone); }
body.silmarillion .bench-check-item { border-bottom-color: rgba(139,115,85,.4); }
body.silmarillion .bench-integ-row { border-bottom-color: rgba(139,115,85,.4); }
body.silmarillion .bench-integ-name { color: var(--riv-stone); }
body.silmarillion .bench-log-action { color: var(--riv-amber); }
body.silmarillion .bench-log-time { color: var(--riv-stone); }
body.silmarillion .bench-log-user { color: var(--riv-stone); }
body.silmarillion .bench-log-entry { border-bottom-color: rgba(139,115,85,.4); }
body.silmarillion .bench-skeleton { background: rgba(139,115,85,.35); }
body.silmarillion #bench-oldmachine-card h3 { color: var(--riv-amber); font-family: 'Cinzel', serif; }
body.silmarillion .bench-oldmachine-search input { font-family: 'Crimson Text', serif; }
body.silmarillion .bench-oldmachine-device { border-color: rgba(139,115,85,.4); }
body.silmarillion .bench-oldmachine-device:hover { border-color: var(--riv-amber); background: rgba(196,135,58,.08); }
body.silmarillion .bench-oldmachine-device .device-name { color: var(--riv-parchment); }
body.silmarillion .bench-oldmachine-device .device-serial { color: var(--riv-stone); }
body.silmarillion .bench-oldmachine-device .device-org { color: var(--riv-stone); }
body.silmarillion .bench-sw-row { border-bottom-color: rgba(139,115,85,.4); font-family: 'Crimson Text', serif; }
body.silmarillion .bench-sw-name { color: var(--riv-parchment); }
body.silmarillion .bench-sw-ver { color: var(--riv-stone); }
body.silmarillion .bench-sw-pub { color: var(--riv-stone); }
body.silmarillion #bench-ai-analysis-card h3 { color: var(--riv-amber); font-family: 'Cinzel', serif; }
body.silmarillion .bench-ai-result { font-family: 'Crimson Text', serif; color: var(--riv-parchment); }
body.silmarillion .bench-ai-ticket-section { border-top-color: rgba(139,115,85,.4); }
body.silmarillion .bench-ai-ticket-label { color: var(--riv-stone); font-family: 'Cinzel', serif; }
body.silmarillion .bench-running-session { border-color: rgba(196,135,58,.4); background: rgba(196,135,58,.1); }
body.silmarillion .bench-deploy-group-header { border-bottom-color: rgba(139,115,85,.4); color: var(--riv-stone); font-family: 'Cinzel', serif; }
body.silmarillion .bench-deploy-progress { background: rgba(139,115,85,.35); }


/* ── Tab badge: warm amber pill, Cinzel weight ───────────── */
body.silmarillion .tab-badge {
  background: var(--riv-amber);
  color: var(--riv-mountain);
  font-family: 'Cinzel', serif;
  font-weight: 700;
  border: 1px solid var(--riv-glow);
  box-shadow: 0 0 6px rgba(196,135,58,.35);
}
body.silmarillion .tab-btn.active .tab-badge {
  background: var(--riv-glow);
  color: var(--riv-mountain);
  border-color: var(--riv-amber);
}


/* ── Context menu: parchment scroll with amber accent ────── */
body.silmarillion .context-menu {
  background: var(--riv-slate);
  border: 1px solid var(--riv-amber);
  border-radius: 4px;
  box-shadow: 0 6px 22px rgba(0,0,0,.55), 0 0 12px rgba(196,135,58,.18);
  font-family: 'Crimson Text', serif;
  padding: 6px;
}
body.silmarillion .context-menu-item {
  color: var(--riv-parchment);
  font-family: 'Crimson Text', serif;
  font-size: 13px;
  border-radius: 3px;
}
body.silmarillion .context-menu-item:hover:not(:disabled) {
  background: rgba(196,135,58,.18);
  color: var(--riv-glow);
}
body.silmarillion .context-menu-item:disabled {
  color: var(--riv-stone); opacity: .5;
}
body.silmarillion .context-menu-item.danger { color: #d87070; }
body.silmarillion .context-menu-item.danger:hover:not(:disabled) {
  background: rgba(192,64,64,.18);
  color: #f0a0a0;
}
body.silmarillion .context-menu-divider {
  background: var(--riv-sandstone);
  opacity: .5;
  margin: 5px 8px;
}


/* ── Bench tray: sandstone workbench shared list ─────────── */
body.silmarillion #bench-tray-view { padding: 18px; }
body.silmarillion .bench-tray-header {
  border-bottom: 1px solid var(--riv-sandstone);
}
body.silmarillion .bench-tray-header h2 {
  font-family: 'Cinzel', serif;
  color: var(--riv-glow);
  text-shadow: 0 0 8px rgba(232,200,122,.2);
  letter-spacing: 0.04em;
}
body.silmarillion .bench-tray-meta {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
  font-style: italic;
}
body.silmarillion .bench-tray-loading,
body.silmarillion .bench-tray-empty-mini {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
  font-style: italic;
}
body.silmarillion .bench-tray-empty-title {
  color: var(--riv-parchment);
  font-family: 'Cinzel', serif;
}
body.silmarillion .bench-tray-empty-sub {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
}
body.silmarillion .bench-tray-group {
  background: var(--riv-slate);
  border: 1px solid var(--riv-sandstone);
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,.3);
}
body.silmarillion .bench-tray-group.is-self {
  border-color: var(--riv-amber);
  box-shadow: 0 0 12px rgba(196,135,58,.18);
}
body.silmarillion .bench-tray-group-header {
  background: linear-gradient(90deg, #1e2436, #242a3a 60%, #1e2436);
  border-bottom: 1px solid var(--riv-sandstone);
}
body.silmarillion .bench-tray-group-header:hover {
  background: linear-gradient(90deg, #232940, #2c3346 60%, #232940);
}
body.silmarillion .bench-tray-chevron {
  color: var(--riv-stone);
}
body.silmarillion .bench-tray-avatar {
  background: var(--riv-sandstone);
  color: var(--riv-parchment);
  font-family: 'Cinzel', serif;
  font-weight: 600;
  border: 1px solid var(--riv-stone);
}
body.silmarillion .bench-tray-group.is-self .bench-tray-avatar {
  background: var(--riv-amber);
  color: var(--riv-mountain);
  border-color: var(--riv-glow);
  box-shadow: 0 0 8px rgba(232,200,122,.3);
}
body.silmarillion .bench-tray-user {
  color: var(--riv-parchment);
  font-family: 'Cinzel', serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}
body.silmarillion .bench-tray-count {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
}
body.silmarillion .bench-tray-stale-count { color: var(--riv-glow); }
body.silmarillion .bench-tray-pin {
  border-bottom: 1px solid rgba(139,115,85,.35);
  font-family: 'Crimson Text', serif;
}
body.silmarillion .bench-tray-pin:hover {
  background: rgba(196,135,58,.10);
}
body.silmarillion .bench-tray-pin-label {
  color: var(--riv-parchment);
  font-family: 'Crimson Text', serif;
  font-weight: 600;
}
body.silmarillion .bench-tray-pin-tenant {
  color: var(--teal);
  font-family: 'Crimson Text', serif;
  font-style: italic;
}
body.silmarillion .bench-tray-pin-time {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
}
body.silmarillion .bench-tray-pin-stale {
  background: rgba(232,200,122,.18);
  color: var(--riv-glow);
  border: 1px solid rgba(232,200,122,.4);
  border-radius: 2px;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.08em;
}
body.silmarillion .bench-tray-pin-note {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
  font-style: italic;
}

/* ── Pin Note card — parchment leaf for the scribe's private margin ── */
body.silmarillion .bench-pin-note-card {
  background: linear-gradient(180deg, rgba(232,200,122,.08), var(--surface));
  border-color: var(--riv-amber);
  box-shadow: inset 0 1px 0 rgba(232,200,122,.10), 0 2px 6px rgba(0,0,0,.25);
}
body.silmarillion .bench-pin-note-card h3 {
  background: var(--riv-mountain);
  border-bottom-color: var(--riv-amber);
  color: var(--riv-glow);
  font-family: 'Cinzel', serif;
}
body.silmarillion .bench-pin-note-hint {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
}
body.silmarillion #bench-pin-note-text {
  background: rgba(245,237,213,.06);
  border-color: var(--riv-sandstone);
  color: var(--riv-parchment);
  font-family: 'Crimson Text', serif;
  font-size: 14px;
  border-radius: 2px;
}
body.silmarillion #bench-pin-note-text::placeholder {
  color: var(--riv-stone);
  font-style: italic;
}
body.silmarillion #bench-pin-note-text:focus {
  border-color: var(--riv-amber);
  box-shadow: 0 0 8px rgba(196,135,58,.25);
}
body.silmarillion #bench-pin-note-save-btn {
  background: linear-gradient(180deg, var(--riv-amber), var(--amber-d));
  color: var(--riv-mountain);
  border: 1px solid var(--riv-glow);
  font-family: 'Cinzel', serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 11px;
}
body.silmarillion #bench-pin-note-save-btn:hover {
  background: linear-gradient(180deg, var(--riv-glow), var(--riv-amber));
  box-shadow: 0 0 10px rgba(196,135,58,.3);
}
body.silmarillion .bench-pin-note-status {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
  font-style: italic;
}
body.silmarillion .bench-pin-note-status.saved { color: var(--green); font-style: normal; }
body.silmarillion .bench-pin-note-status.error { color: var(--red); font-style: normal; }

/* ── Disposition (Phase 3) — warm sandstone-tinted variants ── */
body.silmarillion .disposition-chip,
body.silmarillion .disposition-badge {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.08em;
  border-radius: 2px;
  border-style: solid;
  border-width: 1px;
}

/* Each disposition keeps its hue but warms toward parchment */
body.silmarillion .disposition-chip.disposition-deploy,
body.silmarillion .disposition-badge.disposition-deploy,
body.silmarillion .disposition-picker-btn.disposition-deploy,
body.silmarillion .disposition-option-pill.disposition-deploy {
  background: rgba(176,200,240,.16); color: #b0c8f0; border-color: rgba(176,200,240,.45);
}
body.silmarillion .disposition-chip.disposition-spare,
body.silmarillion .disposition-badge.disposition-spare,
body.silmarillion .disposition-picker-btn.disposition-spare,
body.silmarillion .disposition-option-pill.disposition-spare {
  background: rgba(196,176,144,.18); color: var(--riv-stone); border-color: var(--riv-sandstone);
}
body.silmarillion .disposition-chip.disposition-decom,
body.silmarillion .disposition-badge.disposition-decom,
body.silmarillion .disposition-picker-btn.disposition-decom,
body.silmarillion .disposition-option-pill.disposition-decom {
  background: rgba(216,112,112,.15); color: #d87070; border-color: rgba(216,112,112,.45);
}
body.silmarillion .disposition-chip.disposition-rma,
body.silmarillion .disposition-badge.disposition-rma,
body.silmarillion .disposition-picker-btn.disposition-rma,
body.silmarillion .disposition-option-pill.disposition-rma {
  background: rgba(232,200,122,.15); color: var(--riv-glow); border-color: rgba(232,200,122,.4);
}
body.silmarillion .disposition-chip.disposition-diagnostic,
body.silmarillion .disposition-badge.disposition-diagnostic,
body.silmarillion .disposition-picker-btn.disposition-diagnostic,
body.silmarillion .disposition-option-pill.disposition-diagnostic {
  background: rgba(192,160,232,.16); color: #c0a0e8; border-color: rgba(192,160,232,.45);
}

/* Picker modal — parchment-toned fieldset, ornamental legend */
body.silmarillion .modal .disposition-fieldset {
  border-color: var(--riv-sandstone);
  background: rgba(245,237,213,.04);
  border-radius: 2px;
  padding: 10px 14px 12px;
}
body.silmarillion .modal .disposition-fieldset legend {
  font-family: 'Cinzel', serif;
  color: var(--riv-glow);
  letter-spacing: 0.12em;
  font-size: 10px;
  padding: 0 8px;
}
body.silmarillion .modal .modal-subtitle {
  font-family: 'Crimson Text', serif;
  font-style: italic;
  color: var(--riv-stone);
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
}
body.silmarillion .modal .modal-required { color: var(--riv-glow); }
body.silmarillion .modal .disposition-option {
  border-radius: 2px;
  font-family: 'Crimson Text', serif;
}
body.silmarillion .modal .disposition-option:hover {
  background: rgba(232,200,122,.08);
}
body.silmarillion .modal .disposition-option input[type="radio"] {
  accent-color: var(--riv-amber);
}
body.silmarillion .modal .disposition-option-pill {
  font-family: 'Cinzel', serif;
  letter-spacing: 0.08em;
  border-radius: 2px;
  border-style: solid;
  border-width: 1px;
}
body.silmarillion .modal .disposition-option-desc {
  font-family: 'Crimson Text', serif;
  color: var(--riv-parchment);
  font-size: 13px;
}

/* Inline disposition row — soft mountain stripe */
body.silmarillion .bench-disposition-row {
  border-right-color: var(--riv-sandstone);
  font-family: 'Crimson Text', serif;
  font-size: 12px;
}
body.silmarillion .bench-disposition-label {
  color: var(--riv-glow);
  font-family: 'Cinzel', serif;
  letter-spacing: 0.12em;
  font-size: 10px;
}
body.silmarillion .bench-disposition-ticket {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
  font-style: italic;
}
body.silmarillion .btn-link,
body.silmarillion .bench-disposition-change-btn {
  color: var(--riv-amber);
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-decoration: underline;
}
body.silmarillion .btn-link:hover,
body.silmarillion .bench-disposition-change-btn:hover {
  color: var(--riv-glow);
  text-shadow: 0 0 6px rgba(196,135,58,.3);
}
body.silmarillion .bench-disposition-inline-picker {
  border-top-color: var(--riv-sandstone);
}
body.silmarillion .disposition-picker-btn {
  background: rgba(245,237,213,.04);
  border-radius: 2px;
  border-style: solid;
  border-width: 1px;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.08em;
  padding: 4px 12px;
}
body.silmarillion .disposition-picker-btn:hover {
  filter: none;
  box-shadow: 0 0 6px rgba(196,135,58,.2);
}
body.silmarillion .disposition-picker-btn.active {
  box-shadow: 0 0 10px rgba(232,200,122,.45), inset 0 0 0 1px var(--riv-glow);
}

/* Resolve panel + discard escape hatch */
body.silmarillion .bench-resolve-panel label {
  color: var(--riv-glow);
  font-family: 'Cinzel', serif;
  letter-spacing: 0.12em;
  font-size: 10px;
}
body.silmarillion .bench-resolve-panel input[type="text"] {
  background: rgba(245,237,213,.06);
  border-color: var(--riv-sandstone);
  border-radius: 2px;
  color: var(--riv-parchment);
  font-family: 'Crimson Text', serif;
  font-size: 14px;
}
body.silmarillion .bench-resolve-panel input[type="text"]:focus {
  border-color: var(--riv-amber);
  box-shadow: 0 0 6px rgba(196,135,58,.25);
}
body.silmarillion .bench-resolve-discard {
  border-top-color: var(--riv-sandstone);
}
body.silmarillion .bench-discard-link {
  color: #d87070;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.05em;
  font-size: 11px;
  text-decoration: underline;
}
body.silmarillion .bench-discard-link:hover {
  color: var(--riv-parchment);
  text-shadow: 0 0 6px rgba(216,112,112,.4);
}
body.silmarillion .bench-discard-hint {
  color: var(--riv-stone);
  font-family: 'Crimson Text', serif;
  font-style: italic;
  font-size: 11px;
}
