/* ── MATRIX THEME ────────────────────────────────────────────
   Inspired by The Matrix — black void backgrounds, phosphor
   green text, CRT terminal feel, digital rain vibes.

   Palette derived from The Matrix:
     Void black          #0a0a0a   (primary background)
     Green-black surface #0d1a0d   (surface/card background)
     Dark matrix green   #1a3a1a   (borders, dividers)
     Bright green border #2a5a2a   (secondary borders)
     Dimmed green        #608a60   (secondary text)
     Matrix green        #00cc00   (primary accent)
     Darker matrix green #009900   (accent dark)
     Neon green          #40ff40   (glow/active states)
     Soft phosphor       #c0f0c0   (primary body text)
     Bright phosphor     #90d090   (emphasis text)

   Typography: Share Tech Mono (everything monospace).
   Activated by body.matrix class.
──────────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');

body.matrix {
  /* ── Core palette ── */
  --bg:         #0a0a0a;
  --surface:    #0d1a0d;
  --border:     #1a3a1a;
  --border2:    #2a5a2a;
  --text:       #c0f0c0;
  --muted:      #608a60;
  --tile-model: #90d090;
  --tile-user:  #608a60;
  --amber:      #00cc00;
  --amber-d:    #009900;
  --yellow:     #40ff40;
  --green:      #00cc00;
  --red:        #ff3030;
  --blue:       #3090d0;
  --purple:     #9060c0;
  --teal:       #20a0a0;
  --teal-d:     #108080;
  --mono:       'Share Tech Mono', 'IBM Plex Mono', monospace;
  --sans:       'Share Tech Mono', 'IBM Plex Mono', monospace;
  --radius:     0;
  --radius-sm:  0;
  /* ── Matrix helpers ── */
  --mtx-green:    #00cc00;
  --mtx-dim:      #1a3a1a;
  --mtx-glow:     #40ff40;
  --mtx-void:     #0a0a0a;
  --mtx-surface:  #0d1a0d;
  --mtx-phosphor: #c0f0c0;
  background: var(--bg);
}


/* ── Focus: green terminal ring ──────────────────────────────── */
body.matrix *:focus-visible {
  outline: 2px solid var(--mtx-green) !important;
  outline-offset: 2px;
}
body.matrix header *:focus-visible {
  outline-color: var(--mtx-glow) !important;
}


/* ── Header: black void with green glow ──────────────────────── */
body.matrix header {
  background: linear-gradient(90deg, #050505, #080a08 30%, #0a0e0a 50%, #080a08 70%, #050505);
  border-bottom: 1px solid var(--mtx-green);
  box-shadow: 0 1px 8px rgba(0,204,0,.15);
}
body.matrix .logo {
  color: var(--mtx-glow);
  text-shadow: 0 0 12px rgba(64,255,64,.25);
  font-weight: 700;
}
body.matrix .logo .logo-bot { color: var(--mtx-phosphor); }
body.matrix .stats-bar { color: var(--mtx-phosphor); }
body.matrix .dot.amber { background: var(--mtx-green); }
body.matrix .last-updated { color: var(--muted); }
body.matrix #badge-name { color: var(--mtx-phosphor); }
body.matrix #badge-name:hover { color: var(--mtx-glow); }


/* ── Header buttons ──────────────────────────────────────────── */
body.matrix #edit-btn,
body.matrix #theme-btn,
body.matrix #more-btn,
body.matrix #search-toggle-btn {
  border-color: var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix #edit-btn:hover,
body.matrix #theme-btn:hover,
body.matrix #more-btn:hover,
body.matrix #search-toggle-btn:hover {
  border-color: var(--mtx-green);
  color: var(--mtx-green);
  box-shadow: 0 0 8px rgba(0,204,0,.2);
}
body.matrix #edit-btn.editing {
  border-color: var(--mtx-green);
  color: var(--mtx-green);
  background: rgba(0,204,0,.1);
}


/* ── Search field ────────────────────────────────────────────── */
body.matrix .search-input-wrap input,
body.matrix header .search-input-wrap input {
  background: var(--mtx-void) !important;
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
  color-scheme: dark;
}
body.matrix .search-input-wrap input::placeholder { color: var(--muted); }
body.matrix .search-input-wrap input:focus {
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.2);
}
body.matrix .search-input-wrap svg { color: var(--mtx-green); }

body.matrix #search-overlay .search-input-wrap input {
  background: var(--mtx-void) !important;
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
  color-scheme: dark;
}
body.matrix #search-overlay .search-input-wrap input:focus {
  border-color: var(--mtx-green);
}
body.matrix #search-overlay .search-input-wrap svg { color: var(--mtx-green); }


/* ── Tab bar ─────────────────────────────────────────────────── */
body.matrix .tab-bar {
  background: rgba(10,10,10,.8);
  border: 1px solid var(--mtx-dim);
}
body.matrix .tab-btn { color: var(--mtx-phosphor); }
body.matrix .tab-btn:hover {
  background: rgba(0,204,0,.08);
  color: var(--mtx-green);
}
body.matrix .tab-btn.active {
  background: rgba(0,204,0,.14);
  color: var(--mtx-glow);
  border: 1px solid var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.12);
}


/* ── Grid area ───────────────────────────────────────────────── */
body.matrix #grid-wrap { background: var(--bg); }
body.matrix .group-header {
  border-bottom-color: var(--mtx-dim);
  color: var(--mtx-glow);
  text-shadow: 0 0 8px rgba(64,255,64,.12);
}
body.matrix .group-header-name { color: var(--mtx-glow); }
body.matrix .group-header-count { color: var(--muted); }
body.matrix .group-collapse-chevron { color: var(--muted); }
body.matrix .group-add-btn {
  background: rgba(0,204,0,.06);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-green);
}
body.matrix .group-add-btn:hover {
  background: rgba(0,204,0,.14);
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.15);
}
body.matrix .group-reorder-btn {
  background: rgba(0,204,0,.06);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-green);
}
body.matrix .group-reorder-btn:hover:not(:disabled) {
  background: rgba(0,204,0,.14);
  border-color: var(--mtx-green);
}
body.matrix .group-reorder-btn:disabled { opacity: .3; }
body.matrix .group-rename-input {
  color: var(--mtx-phosphor); border-bottom-color: var(--mtx-dim);
}
body.matrix .group-display-toggle {
  background: rgba(0,204,0,.06);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-green);
}
body.matrix .group-display-toggle:hover {
  border-color: var(--mtx-green);
  color: var(--mtx-green);
}
body.matrix .group-new-btn {
  border: 1px dashed var(--mtx-dim);
  color: var(--muted);
}
body.matrix .group-new-btn:hover {
  border-color: var(--mtx-green);
  color: var(--mtx-green);
}
body.matrix .group-bulk-add button {
  background: rgba(0,204,0,.06);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-green);
}
body.matrix .group-bulk-add input[type=number] {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix .group-delete-btn {
  background: rgba(255,48,48,.06);
  border: 1px solid rgba(255,48,48,.3);
  color: var(--red);
  opacity: 1;
}
body.matrix .group-delete-btn:hover {
  background: rgba(255,48,48,.12);
}
body.matrix .group-move-tab-btn {
  background: #001a00;
  border: 1px solid #00ff41;
  color: #00ff41;
  font-family: 'Share Tech Mono', monospace;
  opacity: 1;
}
body.matrix .group-move-tab-btn:hover {
  background: #002a00;
  box-shadow: 0 0 6px #00ff41;
}
body.matrix .move-tab-menu {
  background: #000;
  border: 1px solid #00ff41;
  box-shadow: 0 0 10px #00ff41;
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .move-tab-menu-item { color: #00ff41; }
body.matrix .move-tab-menu-item:hover { background: #002a00; }
body.matrix .move-tab-menu-item.current { color: #007a1a; }
body.matrix .move-tab-menu-sep { background: #00ff41; opacity: .4; }


/* ── Tiles: void cards with green glow ───────────────────────── */
body.matrix .shelf-tile {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  box-shadow: inset 0 1px 0 rgba(0,204,0,.04), 0 2px 6px rgba(0,0,0,.4);
}
body.matrix .shelf-tile:hover {
  border-color: var(--mtx-green);
  box-shadow: 0 2px 12px rgba(0,204,0,.15), inset 0 1px 0 rgba(0,204,0,.06);
}
body.matrix .shelf-tile.highlight {
  border-color: var(--mtx-glow);
  box-shadow: 0 0 0 2px var(--mtx-glow), 0 0 16px rgba(64,255,64,.2);
}
body.matrix .shelf-tile.drag-over {
  border-color: var(--mtx-glow);
  background: rgba(0,204,0,.06);
  box-shadow: 0 0 0 2px var(--mtx-glow);
}
body.matrix .group-header.drag-over {
  background: rgba(0,204,0,.08);
  border-bottom-color: var(--mtx-green);
}


/* ── Side panel: terminal window ─────────────────────────────── */
body.matrix #panel {
  background: var(--surface);
  border-left: 1px solid var(--mtx-dim);
  box-shadow: -4px 0 20px rgba(0,0,0,.5);
}
body.matrix .panel-header {
  border-bottom: 1px solid var(--mtx-dim);
}
body.matrix .panel-section {
  border-bottom: 1px solid rgba(26,58,26,.5);
}
body.matrix .panel-slot-input { color: var(--mtx-glow); }
body.matrix .panel-slot-input::placeholder { color: rgba(0,204,0,.3); }
body.matrix .panel-slot-input:focus { border-bottom-color: var(--mtx-green); }


/* ── Buttons: terminal-forged ────────────────────────────────── */
body.matrix .btn {
  border: 1px solid var(--mtx-dim);
  box-shadow: 0 1px 3px rgba(0,0,0,.3);
  transition: all .2s;
}
body.matrix .btn:active:not(:disabled) {
  box-shadow: inset 0 1px 3px rgba(0,0,0,.4);
}
body.matrix .btn-primary {
  background: linear-gradient(180deg, #1a3a1a, #0d1a0d);
  color: var(--mtx-green);
  border-color: var(--border2);
  font-weight: 600;
}
body.matrix .btn-primary:hover {
  background: linear-gradient(180deg, #2a4a2a, #1a3a1a);
  box-shadow: 0 0 10px rgba(0,204,0,.2);
}
body.matrix .btn-ghost {
  background: transparent;
  color: var(--mtx-phosphor);
  border-color: var(--mtx-dim);
}
body.matrix .btn-ghost:hover {
  background: rgba(0,204,0,.08);
  border-color: var(--mtx-green);
  color: var(--mtx-green);
}
body.matrix .btn-danger {
  background: rgba(255,48,48,.1);
  color: var(--red);
  border-color: rgba(255,48,48,.3);
}
body.matrix .btn-danger:hover {
  background: rgba(255,48,48,.18);
}
body.matrix .btn-blue {
  background: rgba(48,144,208,.08);
  color: var(--blue);
  border-color: rgba(48,144,208,.25);
}
body.matrix .btn-blue:hover {
  background: rgba(48,144,208,.16);
}
body.matrix .btn-success {
  background: rgba(0,204,0,.08);
  color: var(--green);
  border-color: rgba(0,204,0,.25);
}
body.matrix .btn-success:hover {
  background: rgba(0,204,0,.16);
}
body.matrix .btn-purple {
  background: rgba(144,96,192,.08);
  color: var(--purple);
  border-color: rgba(144,96,192,.25);
}
body.matrix .btn-purple:hover {
  background: rgba(144,96,192,.16);
}


/* ── Radio labels ────────────────────────────────────────────── */
body.matrix .radio-label {
  background: rgba(0,204,0,.04);
  color: var(--mtx-phosphor);
  border: 1px solid var(--mtx-dim);
}
body.matrix .radio-label:hover {
  background: rgba(0,204,0,.1);
  border-color: var(--mtx-green);
  color: var(--mtx-green);
}
body.matrix .radio-label:has(input:checked) {
  background: rgba(0,204,0,.2);
  color: var(--mtx-glow);
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.18);
}
body.matrix .radio-label:has(input:checked):hover {
  background: rgba(0,204,0,.26);
}


/* ── Inputs: void fill, green border ─────────────────────────── */
body.matrix .modal input,
body.matrix .modal textarea,
body.matrix .modal select,
body.matrix .info-field input,
body.matrix .info-field textarea,
body.matrix .info-field select {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix .modal input:focus,
body.matrix .modal textarea:focus,
body.matrix .modal select:focus,
body.matrix .info-field input:focus,
body.matrix .info-field textarea:focus,
body.matrix .info-field select:focus {
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.18);
}
body.matrix .auth-field input {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix .auth-field input:focus {
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.18);
}
body.matrix .otp-slots input {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-glow);
}
body.matrix .otp-slots input:focus {
  border-color: var(--mtx-green);
  box-shadow: 0 0 8px rgba(0,204,0,.25);
}
body.matrix .admin-pwd-row input {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
}
body.matrix .admin-pwd-row input:focus {
  border-color: var(--mtx-green);
}


/* ── Modals: terminal windows ────────────────────────────────── */
body.matrix #modal-overlay { background: rgba(0,0,0,.8); }
body.matrix .modal {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  box-shadow: 0 8px 32px rgba(0,0,0,.6), 0 0 1px rgba(0,204,0,.3);
}
body.matrix .modal h3 { color: var(--mtx-glow); }


/* ── Auth overlay: the void ──────────────────────────────────── */
body.matrix #auth-overlay {
  background: linear-gradient(180deg, #000000, #050805 40%, #0a0a0a);
}
body.matrix #auth-theme-btn {
  border-color: var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix #auth-theme-btn:hover {
  border-color: var(--mtx-green);
  color: var(--mtx-green);
}
body.matrix .auth-card {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  box-shadow: 0 8px 40px rgba(0,0,0,.6), 0 0 1px rgba(0,204,0,.3);
}
body.matrix .auth-logo {
  color: var(--mtx-glow);
  text-shadow: 0 0 16px rgba(64,255,64,.2);
}
body.matrix .auth-logo .logo-bot { color: var(--mtx-phosphor); }
body.matrix .auth-tabs {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
}
body.matrix .auth-tab { color: var(--mtx-phosphor); }
body.matrix .auth-tab.active {
  background: rgba(0,204,0,.14);
  color: var(--mtx-glow);
  border: 1px solid var(--mtx-green);
}


/* ── Menus: command prompts ──────────────────────────────────── */
body.matrix #theme-menu,
body.matrix #auth-theme-menu,
body.matrix #more-menu,
body.matrix .export-menu {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  box-shadow: 0 6px 24px rgba(0,0,0,.5);
}
body.matrix #theme-menu button,
body.matrix #auth-theme-menu button,
body.matrix #more-menu button,
body.matrix .export-menu button { color: var(--mtx-phosphor); }
body.matrix #theme-menu button:hover,
body.matrix #auth-theme-menu button:hover,
body.matrix #more-menu button:hover,
body.matrix .export-menu button:hover {
  background: rgba(0,204,0,.08);
  color: var(--mtx-green);
}
body.matrix #user-menu {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  box-shadow: 0 6px 24px rgba(0,0,0,.5);
}
body.matrix #user-menu button { color: var(--mtx-phosphor); }
body.matrix #user-menu button:hover {
  background: rgba(0,204,0,.08);
  color: var(--mtx-green);
}
body.matrix .more-menu-sep { background: var(--mtx-dim); }
body.matrix .more-menu-header { color: var(--muted); }


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


/* ── Scrollbars: thin green CRT ──────────────────────────────── */
body.matrix ::-webkit-scrollbar { width: 6px; }
body.matrix ::-webkit-scrollbar-track {
  background: var(--mtx-void);
  border-left: 1px solid rgba(26,58,26,.3);
}
body.matrix ::-webkit-scrollbar-thumb {
  background: rgba(0,204,0,.35);
  border: 1px solid rgba(0,204,0,.4);
}
body.matrix ::-webkit-scrollbar-thumb:hover {
  background: var(--mtx-green);
}


/* ── Log panel ───────────────────────────────────────────────── */
body.matrix #log-panel {
  background: rgba(5,8,5,.94);
}


/* ── Save bar ────────────────────────────────────────────────── */
body.matrix #save-bar-btn {
  border: 1px solid var(--mtx-green);
  color: var(--mtx-green);
  background: rgba(0,204,0,.08);
}
body.matrix #save-bar-btn:hover {
  background: rgba(0,204,0,.18);
  box-shadow: 0 0 10px rgba(0,204,0,.2);
}


/* ── Admin / misc ────────────────────────────────────────────── */
body.matrix .admin-role-badge {
  color: var(--mtx-green);
  border-color: var(--mtx-dim);
}
body.matrix .group-rename-input:focus { border-bottom-color: var(--mtx-green); }
body.matrix .group-type-select {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix .val-textarea {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
}
body.matrix .val-textarea:focus {
  border-color: var(--mtx-green);
}
body.matrix .val-btn {
  background: rgba(26,58,26,.06);
  color: var(--mtx-phosphor);
  border: 1px solid var(--mtx-dim);
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: all .2s;
}
body.matrix .val-btn:hover {
  background: rgba(0,204,0,.1);
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.12);
}
body.matrix .val-btn:active {
  box-shadow: inset 0 1px 3px rgba(0,0,0,.3);
}
body.matrix .val-btn.sel-pass,
body.matrix .val-btn.sel-yes,
body.matrix .val-btn.sel-good {
  background: rgba(0,204,0,.15);
  color: #60e060;
  border-color: rgba(0,204,0,.35);
  box-shadow: none;
}
body.matrix .val-btn.sel-fail,
body.matrix .val-btn.sel-no,
body.matrix .val-btn.sel-bad {
  background: rgba(255,48,48,.15);
  color: #ff6060;
  border-color: rgba(255,48,48,.35);
  box-shadow: none;
}
body.matrix .val-btn.sel-okay {
  background: rgba(64,255,64,.12);
  color: var(--mtx-glow);
  border-color: rgba(64,255,64,.3);
  box-shadow: none;
}


/* ── Decommission ────────────────────────────────────────────── */
body.matrix .decom-btn {
  border: 1px solid var(--mtx-dim);
  background: rgba(26,58,26,.06);
  color: var(--mtx-phosphor);
  transition: all .2s;
}
body.matrix .decom-btn:hover {
  background: rgba(0,204,0,.1);
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.12);
}
body.matrix .decom-btn.sel-removed {
  background: rgba(0,204,0,.15);
  color: #60e060;
  border-color: rgba(0,204,0,.35);
}
body.matrix .decom-btn.sel-not_found {
  background: rgba(48,144,208,.15);
  color: #60b0e0;
  border-color: rgba(48,144,208,.35);
}
body.matrix .decom-btn.sel-skipped {
  background: rgba(64,255,64,.12);
  color: var(--mtx-glow);
  border-color: rgba(64,255,64,.3);
}
body.matrix .decom-still-present { color: var(--red); }
body.matrix .decom-check-btn {
  border: 1px solid var(--mtx-dim);
  background: rgba(0,204,0,.06);
  color: var(--mtx-green);
}
body.matrix .decom-notes {
  border: 1px solid var(--mtx-dim);
  background: var(--mtx-void);
  color: var(--mtx-phosphor);
}


/* ── Charger toggle ──────────────────────────────────────────── */
body.matrix .charger-btn {
  background: rgba(26,58,26,.06);
  border: 1px solid var(--mtx-dim);
}


/* ── Status badges: signals in the code ──────────────────────── */
body.matrix .badge-empty       { background: rgba(96,138,96,.15);  color: var(--muted); }
body.matrix .badge-available   { background: rgba(0,204,0,.12);    color: #60e060; }
body.matrix .badge-staging     { background: rgba(48,144,208,.12); color: #60b0e0; }
body.matrix .badge-outgoing    { background: rgba(144,96,192,.12); color: #b090d0; }
body.matrix .badge-ecycle      { background: rgba(255,48,48,.12);  color: #ff6060; }
body.matrix .badge-incoming    { background: rgba(32,160,160,.12); color: #50c0b0; }
body.matrix .badge-in_progress { background: rgba(0,204,0,.14);    color: var(--mtx-green); }
body.matrix .shelf-tile.in_progress::before { background: var(--mtx-green); }
body.matrix .shelf-tile.in_progress .tile-status { color: var(--mtx-green); }
body.matrix .badge-warning     { background: rgba(255,48,48,.12);  color: #ff6060; }
body.matrix .badge-unknown     { background: rgba(96,138,96,.12);  color: var(--muted); }

/* ── Tile badges & progress ─────────────────────────────────── */
body.matrix .tile-progress-bar { background: #1a3a1a; }
body.matrix .tile-progress-heading { color: var(--muted); }
body.matrix .tile-progress-count { color: var(--muted); }
body.matrix .tile-decom-heading { color: var(--muted); }
body.matrix .tile-decom-name { color: var(--muted); }
body.matrix .tile-badge { border: 1px solid; }
body.matrix .tile-badge.decom-complete { background: rgba(0,204,0,.15); color: #60e060; border-color: rgba(0,204,0,.35); }
body.matrix .tile-badge.decom-partial  { background: rgba(64,255,64,.1); color: var(--mtx-glow); border-color: rgba(64,255,64,.25); }
body.matrix .tile-badge.decom-pending  { background: rgba(0,204,0,.08); color: var(--mtx-green); border-color: rgba(0,204,0,.2); }
body.matrix .tile-badge.spare       { background: rgba(0,204,0,.1); color: #60e060; border-color: rgba(0,204,0,.25); }
body.matrix .tile-badge.new-user    { background: rgba(0,204,0,.15); color: #60e060; border-color: rgba(0,204,0,.35); }
body.matrix .tile-badge.replacement { background: rgba(0,204,0,.08); color: var(--mtx-green); border-color: rgba(0,204,0,.2); }
body.matrix .tile-badge.user-spare  { background: rgba(0,204,0,.06); color: var(--muted); border-color: rgba(0,204,0,.15); }

/* ── CFG Pipeline ──────────────────────────────────────────── */
body.matrix .cfg-step {
  border-color: var(--mtx-dim);
  background: rgba(0,204,0,.04);
  color: var(--text);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .cfg-step:hover {
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.3);
}
body.matrix .cfg-step.checked {
  border-color: var(--mtx-green);
  background: rgba(0,204,0,.1);
  box-shadow: 0 0 8px rgba(0,204,0,.25);
}
body.matrix .cfg-step input[type="checkbox"] { accent-color: var(--mtx-green); }
body.matrix .cfg-pipeline h4 { color: var(--muted); }
body.matrix .cfg-pipeline .cfg-counter { color: var(--muted); }
body.matrix .cfg-progress { background: #1a3a1a; }
body.matrix .cfg-progress-fill { background: var(--mtx-green); }


/* ── Global view ─────────────────────────────────────────────── */
body.matrix #global-wrap {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  margin: 6px;
  padding: 16px;
}
body.matrix .global-toolbar { background: var(--surface); }
body.matrix .global-toolbar select,
body.matrix .global-toolbar input {
  background: var(--mtx-void); border: 1px solid var(--mtx-dim); color: var(--mtx-phosphor);
}
body.matrix .global-toolbar input:focus,
body.matrix .global-toolbar select:focus { border-color: var(--mtx-green); box-shadow: 0 0 6px rgba(0,204,0,.18); }
body.matrix .global-tenant-tile { border-color: var(--mtx-dim); }
body.matrix .global-tenant-tile:hover { border-color: var(--mtx-green); box-shadow: 0 0 8px rgba(0,204,0,.12); }
body.matrix .global-tenant-tile.active { border-color: var(--mtx-green); box-shadow: 0 0 10px rgba(0,204,0,.2); }
body.matrix .global-tile-name { color: var(--mtx-phosphor); }
body.matrix .global-tile-count { color: var(--muted); }
body.matrix .global-tile-breakdown { color: var(--muted); }
body.matrix .global-expanded-section { border-color: var(--mtx-green); background: var(--surface); }
body.matrix .global-expanded-section::before { background: var(--surface); border-color: var(--mtx-green); }
body.matrix .global-expanded-header { color: var(--mtx-glow); border-bottom-color: var(--mtx-dim); }
body.matrix .global-expanded-close { border-color: var(--mtx-dim); color: var(--muted); }
body.matrix .global-expanded-close:hover { color: var(--mtx-green); border-color: var(--mtx-green); }
body.matrix .global-device-row { border: 1px solid var(--mtx-dim); }
body.matrix .global-device-row:hover { border-color: var(--mtx-green); background: rgba(0,204,0,.05); }
body.matrix .global-device-serial { color: var(--mtx-phosphor); }
body.matrix .global-device-name { color: var(--mtx-phosphor); }
body.matrix .global-device-model { color: var(--mtx-phosphor); }
body.matrix .global-row-actions button { border: 1px solid var(--mtx-dim); color: var(--mtx-phosphor); }
body.matrix .global-row-actions button:hover { border-color: var(--mtx-green); color: var(--mtx-green); }
body.matrix .global-row-links a { color: var(--muted); border-color: var(--mtx-dim); }
body.matrix .global-row-links a:hover { color: var(--mtx-green); border-color: var(--mtx-green); }
body.matrix .global-refresh-btn { background: rgba(0,204,0,.06); border: 1px solid var(--mtx-dim); color: var(--mtx-green); }
body.matrix .global-refresh-btn:hover { border-color: var(--mtx-green); box-shadow: 0 0 6px rgba(0,204,0,.15); }
body.matrix .global-alpha-letter { color: rgba(0,204,0,.25); }
body.matrix .global-alpha-letter.active { color: var(--mtx-green); }
body.matrix .global-alpha-letter.active:hover { color: var(--mtx-glow); }
body.matrix .global-sub-header { color: var(--mtx-phosphor); }
body.matrix .global-sub-header:hover { color: var(--mtx-green); }
body.matrix .global-sub-count { color: var(--muted); }
body.matrix .global-sub-toggle { color: var(--muted); }
body.matrix .global-type-header { color: var(--muted); }
body.matrix .global-type-header:hover { color: var(--mtx-green); }
body.matrix .global-type-toggle { color: var(--muted); }
body.matrix .global-loading { color: var(--muted); }
body.matrix .global-empty-state { color: var(--muted); }
body.matrix .global-empty-state button {
  background: rgba(0,204,0,.06); border: 1px solid var(--mtx-dim); color: var(--mtx-green);
}
body.matrix .global-empty-state button:hover { border-color: var(--mtx-green); box-shadow: 0 0 8px rgba(0,204,0,.2); }
body.matrix .global-help-tag.inventoried { background: rgba(0,204,0,.15); color: #60e060; }
body.matrix .global-help-tag.monitored   { background: rgba(64,255,64,.12); color: var(--mtx-glow); }
body.matrix .global-help-tag.cw_only     { background: rgba(0,204,0,.08); color: var(--mtx-green); }
body.matrix .global-help-tag.cw_inactive { background: rgba(0,204,0,.06); color: var(--muted); }
body.matrix .global-device-tag { border-radius: 0; }
body.matrix .global-tag-inventoried { background: rgba(0,204,0,.15); color: #60e060; }
body.matrix .global-tag-untracked   { background: rgba(64,255,64,.12); color: var(--mtx-glow); }
body.matrix .global-tag-cw_only     { background: rgba(48,144,208,.12); color: #60b0e0; }
body.matrix .global-tag-cw_inactive { background: rgba(255,48,48,.12); color: #ff6060; }
body.matrix .global-tag-local_only { background: rgba(168,85,247,.12); color: #b47aff; }
body.matrix .global-row-actions .btn-ingest { color: var(--mtx-green); border-color: rgba(0,204,0,.3); }
body.matrix .global-row-actions .btn-ingest:hover { background: rgba(0,204,0,.1); }
body.matrix .global-ingest-modal label { color: var(--muted); }
body.matrix .global-ingest-modal input,
body.matrix .global-ingest-modal select {
  background: var(--mtx-void); border: 1px solid var(--mtx-dim); color: var(--mtx-phosphor);
}
body.matrix .global-ingest-modal input:focus,
body.matrix .global-ingest-modal select:focus { border-color: var(--mtx-green); box-shadow: 0 0 6px rgba(0,204,0,.18); }
body.matrix .global-ingest-modal input[readonly] { opacity: .5; }


/* ── Audit tab ──────────────────────────────────────────────── */
body.matrix #audit-wrap {
  background: var(--surface); border: 1px solid var(--mtx-dim);
  margin: 6px; padding: 16px;
}
body.matrix .audit-nav { border-bottom-color: var(--mtx-dim); }
body.matrix .audit-nav-btn { color: var(--mtx-phosphor); }
body.matrix .audit-nav-btn:hover { background: rgba(0,204,0,.08); color: var(--mtx-green); }
body.matrix .audit-nav-btn.active {
  background: rgba(0,204,0,.14); color: var(--mtx-glow);
  border: 1px solid var(--mtx-green); box-shadow: 0 0 6px rgba(0,204,0,.12);
}
body.matrix .audit-report-card {
  border: 1px solid var(--mtx-dim); background: var(--mtx-surface);
}
body.matrix .audit-report-card:hover {
  border-color: var(--mtx-green); box-shadow: 0 0 12px rgba(0,204,0,.12);
}
body.matrix .audit-card-title { color: var(--mtx-phosphor); }
body.matrix .audit-card-desc { color: var(--muted); }
body.matrix .audit-filter-group label { color: var(--muted); }
body.matrix .audit-filter-group select,
body.matrix .audit-filter-group input {
  background: var(--mtx-void); border: 1px solid var(--mtx-dim); color: var(--mtx-phosphor);
}
body.matrix .audit-filter-group select:focus,
body.matrix .audit-filter-group input:focus {
  border-color: var(--mtx-green); box-shadow: 0 0 6px rgba(0,204,0,.18);
}
body.matrix .audit-btn {
  background: rgba(0,204,0,.06); color: var(--mtx-phosphor);
  border: 1px solid var(--mtx-dim); box-shadow: 0 1px 3px rgba(0,0,0,.3);
}
body.matrix .audit-btn:hover { border-color: var(--mtx-green); background: rgba(0,204,0,.12); box-shadow: 0 0 6px rgba(0,204,0,.12); }
body.matrix .audit-btn:active { box-shadow: inset 0 1px 3px rgba(0,0,0,.4); }
body.matrix .audit-btn-primary {
  background: linear-gradient(180deg, #1a3a1a, #0d1a0d); color: var(--mtx-green);
  border-color: var(--border2); font-weight: 600;
}
body.matrix .audit-btn-primary:hover { background: linear-gradient(180deg, #2a4a2a, #1a3a1a); box-shadow: 0 0 10px rgba(0,204,0,.2); }
body.matrix .audit-btn-secondary { background: transparent; color: var(--mtx-phosphor); border-color: var(--mtx-dim); }
body.matrix .audit-btn-secondary:hover { background: rgba(0,204,0,.08); border-color: var(--mtx-green); }
body.matrix .audit-results-header { border-bottom-color: var(--mtx-dim); }
body.matrix .audit-results-header .audit-back-btn { color: var(--muted); }
body.matrix .audit-results-header .audit-back-btn:hover { color: var(--mtx-green); }
body.matrix .audit-results-title { color: var(--mtx-glow); }
body.matrix .audit-results-count { color: var(--muted); }
body.matrix .audit-summary { color: var(--muted); border-bottom-color: var(--mtx-dim); }
body.matrix .audit-summary span strong { color: var(--mtx-phosphor); }
body.matrix .audit-table { background: var(--mtx-void); }
body.matrix .audit-table th {
  color: var(--mtx-glow); background: rgba(10,10,10,.8);
  border-bottom: 1px solid var(--mtx-dim); padding: 6px 10px; font-weight: 600; font-size: 10px;
}
body.matrix .audit-table td { border-bottom: 1px solid rgba(26,58,26,.3); color: var(--mtx-phosphor); }
body.matrix .audit-table tr:hover td { background: rgba(0,204,0,.05); }
body.matrix .audit-loading { color: var(--muted); }
body.matrix .audit-spinner { border-color: var(--mtx-dim); border-top-color: var(--mtx-green); }
body.matrix .audit-empty { color: var(--muted); }
body.matrix .audit-dup-section { border: 1px solid; border-radius: 0; padding: 16px; }
body.matrix .audit-dup-section.ninja-section { background: rgba(48,144,208,.05); border-color: rgba(48,144,208,.2); }
body.matrix .audit-dup-section.cw-section { background: rgba(144,96,192,.05); border-color: rgba(144,96,192,.2); }
body.matrix .audit-dup-section-header { border-bottom-color: var(--mtx-dim); }
body.matrix .ninja-section .audit-dup-section-header { color: var(--blue); }
body.matrix .cw-section .audit-dup-section-header { color: var(--purple); }
body.matrix .audit-dup-stats { color: var(--muted); border-bottom-color: var(--mtx-dim); }
body.matrix .audit-dup-stats span strong { color: var(--mtx-phosphor); }
body.matrix .audit-dup-category-header { color: var(--mtx-phosphor); }
body.matrix .audit-no-dupes { color: var(--muted); }


/* ── Duplicate tables (shared by Audit) ─────────────────────── */
body.matrix .dup-group-header { color: var(--mtx-phosphor); }
body.matrix .dup-group-header .dup-serial { color: var(--mtx-glow); }
body.matrix .dup-table th {
  color: var(--mtx-glow);
  background: rgba(10,10,10,.8);
  border-bottom: 1px solid var(--mtx-dim);
  padding: 6px 10px;
  font-weight: 600;
  font-size: 10px;
}
body.matrix .dup-table td {
  border-bottom: 1px solid rgba(26,58,26,.3);
  color: var(--mtx-phosphor);
}
body.matrix .dup-table tr:hover td { background: rgba(0,204,0,.05); }
body.matrix .dup-link { color: var(--mtx-green); }


/* ── List-view items ─────────────────────────────────────────── */
body.matrix .outgoing-item {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  border-left: 3px solid var(--purple);
}
body.matrix .outgoing-item:hover {
  background: rgba(144,96,192,.06);
  border-color: var(--mtx-green);
  border-left-color: var(--purple);
}
body.matrix .ecycle-item {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  border-left: 3px solid var(--red);
}
body.matrix .ecycle-item:hover {
  background: rgba(255,48,48,.06);
  border-color: var(--mtx-green);
  border-left-color: var(--red);
}
body.matrix .group-list-item {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
}
body.matrix .group-list-item:hover {
  border-color: var(--mtx-green);
  background: rgba(0,204,0,.05);
}
body.matrix .group-list-item.drag-over {
  border-color: var(--mtx-glow);
  background: rgba(0,204,0,.08);
  box-shadow: 0 0 0 2px var(--mtx-glow);
}
body.matrix .incoming-item {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  border-left: 3px solid var(--teal);
}
body.matrix .incoming-item:hover {
  background: rgba(32,160,160,.06);
  border-color: var(--mtx-green);
  border-left-color: var(--teal);
}

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


/* ── Global panel: terminal sidebar ──────────────────────────── */
body.matrix #global-panel {
  background: var(--surface);
  border-left: 1px solid var(--mtx-dim);
  box-shadow: -4px 0 20px rgba(0,0,0,.5);
}
body.matrix .global-panel-header { border-bottom: 1px solid var(--mtx-dim); }
body.matrix .global-panel-section { border-bottom: 1px solid rgba(26,58,26,.5); }
body.matrix .global-panel-section h4 { color: var(--mtx-glow); }
body.matrix .gp-tenant-input, body.matrix .gp-notes-input {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix .gp-tenant-input:focus, body.matrix .gp-notes-input:focus {
  border-color: var(--mtx-green);
  box-shadow: 0 0 6px rgba(0,204,0,.18);
}
body.matrix .global-device-row.selected { border-color: var(--mtx-green); background: rgba(0,204,0,.08); }
body.matrix .gp-save-btn {
  background: rgba(0,204,0,.06); color: var(--mtx-green);
  border: 1px solid var(--mtx-dim);
}
body.matrix .gp-save-btn:hover { border-color: var(--mtx-green); box-shadow: 0 0 6px rgba(0,204,0,.15); }
body.matrix .global-tag-needs-rmm { background: rgba(255,48,48,.12); color: #ff6060; border: 1px solid rgba(255,48,48,.3); border-radius: 0; }
body.matrix .gp-compliance-notice { background: rgba(255,48,48,.08); border: 1px solid rgba(255,48,48,.25); color: #ff6060; border-radius: 0; }
body.matrix .global-tag-spare { background: rgba(0,200,255,.12); color: #00c8ff; border: 1px solid rgba(0,200,255,.3); border-radius: 0; }
body.matrix .global-tag-server { background: rgba(200,100,255,.12); color: #c880ff; border: 1px solid rgba(200,100,255,.3); border-radius: 0; }
body.matrix .gp-cw-status-notice { background: rgba(255,200,0,.08); border: 1px solid rgba(255,200,0,.25); color: #ffc800; border-radius: 0; }


/* ── Bench view: terminal workbench ──────────────────────── */
body.matrix .bench-card {
  background: var(--surface);
  border: 1px solid var(--mtx-dim);
  box-shadow: inset 0 1px 0 rgba(0,204,0,.04), 0 2px 6px rgba(0,0,0,.4);
}
body.matrix .bench-card:hover {
  border-color: var(--mtx-green);
  box-shadow: 0 2px 12px rgba(0,204,0,.15);
}
body.matrix .bench-card h3 {
  background: var(--mtx-void);
  border-bottom: 1px solid var(--mtx-dim);
  color: var(--mtx-glow);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-back-btn {
  border-color: var(--mtx-dim);
  color: var(--mtx-phosphor);
}
body.matrix .bench-back-btn:hover {
  border-color: var(--mtx-green);
  color: var(--mtx-green);
  box-shadow: 0 0 8px rgba(0,204,0,.2);
}
body.matrix .bench-header { border-bottom-color: var(--mtx-dim); }
body.matrix .bench-card-body { font-family: 'Share Tech Mono', monospace; }
body.matrix .bench-info-table td { color: var(--mtx-phosphor); }
body.matrix .bench-info-table td:first-child { color: var(--muted); }
body.matrix .bench-check-item { border-bottom-color: rgba(26,58,26,.5); }
body.matrix .bench-check-dot.ok { background: var(--mtx-green); box-shadow: 0 0 4px rgba(0,204,0,.4); }
body.matrix .bench-check-dot.warn { background: var(--mtx-glow); }
body.matrix .bench-check-dot.error { background: var(--red); box-shadow: 0 0 4px rgba(255,48,48,.4); }
body.matrix .bench-integ-row { border-bottom-color: rgba(26,58,26,.5); }
body.matrix .bench-integ-dot.ok { background: var(--mtx-green); box-shadow: 0 0 4px rgba(0,204,0,.4); }
body.matrix .bench-integ-dot.warn { background: var(--mtx-glow); }
body.matrix .bench-integ-dot.error { background: var(--red); box-shadow: 0 0 4px rgba(255,48,48,.4); }
body.matrix .bench-integ-name { color: var(--muted); }
body.matrix .bench-log-action { color: var(--mtx-green); }
body.matrix .bench-log-time { color: var(--muted); }
body.matrix .bench-log-user { color: var(--muted); }
body.matrix .bench-log-entry { border-bottom-color: rgba(26,58,26,.5); }
body.matrix .bench-skeleton { background: var(--mtx-dim); }
body.matrix #bench-oldmachine-card h3 { color: var(--mtx-glow); font-family: 'Share Tech Mono', monospace; text-shadow: 0 0 6px rgba(0,255,65,.4); }
body.matrix .bench-oldmachine-search input { font-family: 'Share Tech Mono', monospace; border-color: var(--mtx-dim); }
body.matrix .bench-oldmachine-search input:focus { border-color: var(--mtx-green); }
body.matrix .bench-oldmachine-device { border-color: var(--mtx-dim); }
body.matrix .bench-oldmachine-device:hover { border-color: var(--mtx-green); background: rgba(0,255,65,.06); }
body.matrix .bench-oldmachine-device .device-name { color: var(--mtx-phosphor); }
body.matrix .bench-oldmachine-device .device-serial { color: var(--muted); font-family: 'Share Tech Mono', monospace; }
body.matrix .bench-oldmachine-device .device-org { color: var(--muted); }
body.matrix .bench-sw-row { border-bottom-color: rgba(26,58,26,.5); font-family: 'Share Tech Mono', monospace; }
body.matrix .bench-sw-name { color: var(--mtx-phosphor); }
body.matrix .bench-sw-ver { color: var(--muted); }
body.matrix .bench-sw-pub { color: var(--muted); }
body.matrix #bench-ai-analysis-card h3 { color: var(--mtx-green); font-family: 'Share Tech Mono', monospace; text-shadow: 0 0 6px rgba(0,204,0,.4); }
body.matrix .bench-ai-result { font-family: 'Share Tech Mono', monospace; color: var(--mtx-phosphor); }
body.matrix .bench-ai-spinner { border-color: var(--mtx-dim); border-top-color: var(--mtx-green); }
body.matrix .bench-ai-ticket-section { border-top-color: rgba(26,58,26,.5); }
body.matrix .bench-ai-ticket-label { color: var(--muted); font-family: 'Share Tech Mono', monospace; }
body.matrix .bench-running-session {
  border-color: rgba(0,255,65,.4); background: rgba(0,255,65,.1);
  animation: benchRunPulseMatrix 2s ease-in-out infinite;
}
@keyframes benchRunPulseMatrix {
  0%, 100% { border-color: rgba(0,255,65,.25); background: rgba(0,255,65,.08); }
  50% { border-color: rgba(0,255,65,.6); background: rgba(0,255,65,.18); }
}
body.matrix .bench-deploy-group-header { border-bottom-color: rgba(26,58,26,.5); color: var(--muted); font-family: 'Share Tech Mono', monospace; }
body.matrix .bench-deploy-group-header .count-badge { background: var(--mtx-dim); border-color: rgba(26,58,26,.5); }
body.matrix .bench-deploy-progress { background: var(--mtx-dim); }


/* ── Tab badge: phosphor glow on void ────────────────────── */
body.matrix .tab-badge {
  background: var(--mtx-void);
  color: var(--mtx-green);
  border: 1px solid var(--mtx-green);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-shadow: 0 0 6px rgba(0,204,0,.6);
  box-shadow: 0 0 6px rgba(0,204,0,.35);
}
body.matrix .tab-btn.active .tab-badge {
  background: var(--mtx-green);
  color: var(--mtx-void);
  text-shadow: none;
  box-shadow: 0 0 10px rgba(64,255,64,.5);
}


/* ── Context menu: terminal popup, green-on-black ────────── */
body.matrix .context-menu {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-green);
  border-radius: 0;
  box-shadow: 0 0 14px rgba(0,204,0,.35);
  font-family: 'Share Tech Mono', monospace;
  padding: 4px;
}
body.matrix .context-menu-item {
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
  border-radius: 0;
}
body.matrix .context-menu-item:hover:not(:disabled) {
  background: rgba(0,204,0,.15);
  color: var(--mtx-glow);
  text-shadow: 0 0 6px rgba(64,255,64,.5);
}
body.matrix .context-menu-item:disabled {
  color: #406040; opacity: 1;
}
body.matrix .context-menu-item.danger { color: var(--red); }
body.matrix .context-menu-item.danger:hover:not(:disabled) {
  background: rgba(255,48,48,.15);
  color: var(--red);
  text-shadow: 0 0 6px rgba(255,48,48,.5);
}
body.matrix .context-menu-divider {
  background: var(--mtx-green);
  opacity: .35;
  margin: 4px 6px;
}


/* ── Bench tray: shared terminal pin list ────────────────── */
body.matrix #bench-tray-view { padding: 16px; }
body.matrix .bench-tray-header {
  border-bottom: 1px solid var(--mtx-dim);
}
body.matrix .bench-tray-header h2 {
  color: var(--mtx-glow);
  font-family: 'Share Tech Mono', monospace;
  text-shadow: 0 0 8px rgba(64,255,64,.4);
  letter-spacing: 0.05em;
}
body.matrix .bench-tray-meta {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-loading,
body.matrix .bench-tray-empty-mini {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-empty-title {
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-empty-sub {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-group {
  background: var(--mtx-surface);
  border: 1px solid var(--mtx-dim);
  border-radius: 0;
  box-shadow: 0 0 4px rgba(0,204,0,.1);
}
body.matrix .bench-tray-group.is-self {
  border-color: var(--mtx-green);
  box-shadow: 0 0 12px rgba(0,204,0,.25);
}
body.matrix .bench-tray-group-header {
  background: var(--mtx-void);
  border-bottom: 1px solid var(--mtx-dim);
}
body.matrix .bench-tray-group-header:hover {
  background: rgba(0,204,0,.06);
}
body.matrix .bench-tray-chevron {
  color: var(--mtx-green);
  text-shadow: 0 0 4px rgba(0,204,0,.4);
}
body.matrix .bench-tray-avatar {
  background: var(--mtx-dim);
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
  border: 1px solid var(--mtx-green);
  border-radius: 0;
  text-shadow: 0 0 4px rgba(0,204,0,.3);
}
body.matrix .bench-tray-group.is-self .bench-tray-avatar {
  background: var(--mtx-green);
  color: var(--mtx-void);
  text-shadow: none;
  box-shadow: 0 0 10px rgba(0,204,0,.5);
}
body.matrix .bench-tray-user {
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.04em;
}
body.matrix .bench-tray-count {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-stale-count {
  color: var(--mtx-glow);
  text-shadow: 0 0 4px rgba(64,255,64,.4);
}
body.matrix .bench-tray-pin {
  border-bottom: 1px solid rgba(26,58,26,.5);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-pin:hover {
  background: rgba(0,204,0,.08);
}
body.matrix .bench-tray-pin-label {
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-pin-tenant {
  color: var(--teal);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-pin-time {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-tray-pin-stale {
  background: var(--mtx-void);
  color: var(--mtx-glow);
  border: 1px solid var(--mtx-green);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  text-shadow: 0 0 6px rgba(64,255,64,.5);
  box-shadow: 0 0 6px rgba(0,204,0,.35);
}
body.matrix .bench-tray-pin-note {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
  font-style: normal;
  border-top: 1px dashed rgba(26,58,26,.6);
  padding-top: 4px;
}

/* ── Pin Note card — phosphor margin note, faint glow border ── */
body.matrix .bench-pin-note-card {
  background: var(--mtx-surface);
  border: 1px solid var(--mtx-green);
  box-shadow: 0 0 10px rgba(0,204,0,.15), inset 0 0 12px rgba(0,204,0,.04);
}
body.matrix .bench-pin-note-card h3 {
  background: var(--mtx-void);
  border-bottom-color: var(--mtx-green);
  color: var(--mtx-glow);
  font-family: 'Share Tech Mono', monospace;
  text-shadow: 0 0 6px rgba(64,255,64,.4);
}
body.matrix .bench-pin-note-hint {
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
  font-style: normal;
  text-transform: none;
  letter-spacing: 0;
  opacity: 0.7;
}
body.matrix #bench-pin-note-text {
  background: var(--mtx-void) !important;
  border: 1px solid var(--mtx-dim);
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
  font-size: 13px;
  border-radius: 0;
  caret-color: var(--mtx-green);
}
body.matrix #bench-pin-note-text::placeholder {
  color: rgba(192,240,192,.35);
}
body.matrix #bench-pin-note-text:focus {
  border-color: var(--mtx-green);
  box-shadow: 0 0 10px rgba(0,204,0,.3), inset 0 0 8px rgba(0,204,0,.05);
}
body.matrix #bench-pin-note-save-btn {
  background: var(--mtx-void);
  color: var(--mtx-green);
  border: 1px solid var(--mtx-green);
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
body.matrix #bench-pin-note-save-btn:hover {
  color: var(--mtx-glow);
  border-color: var(--mtx-glow);
  box-shadow: 0 0 10px rgba(64,255,64,.4);
  text-shadow: 0 0 6px rgba(64,255,64,.5);
}
body.matrix .bench-pin-note-status {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .bench-pin-note-status.saved {
  color: var(--mtx-glow);
  text-shadow: 0 0 6px rgba(64,255,64,.5);
  animation: matrixPinNoteFlash .35s ease-out;
}
@keyframes matrixPinNoteFlash {
  0% { text-shadow: 0 0 12px rgba(64,255,64,.9); opacity: 0.6; }
  100% { text-shadow: 0 0 6px rgba(64,255,64,.5); opacity: 1; }
}
body.matrix .bench-pin-note-status.error {
  color: var(--red);
  text-shadow: 0 0 6px rgba(255,48,48,.5);
}

/* ── Disposition (Phase 3) — phosphor signal palette ─────────────
   All five sit on void backgrounds with monospace text. Each uses a
   different phosphor channel so techs can scan tray rows on a CRT:
     deploy     — bright phosphor green (the go signal)
     spare      — dim green-gray (idle phosphor)
     decom      — red phosphor (danger)
     rma        — amber phosphor (warning)
     diagnostic — white-green (inspect / scope)
*/
body.matrix .disposition-chip,
body.matrix .disposition-badge {
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.08em;
  border-radius: 0;
  border-width: 1px;
  border-style: solid;
}

body.matrix .disposition-chip.disposition-deploy,
body.matrix .disposition-badge.disposition-deploy,
body.matrix .disposition-picker-btn.disposition-deploy,
body.matrix .disposition-option-pill.disposition-deploy {
  background: var(--mtx-void);
  color: var(--mtx-glow);
  border-color: var(--mtx-glow);
  text-shadow: 0 0 6px rgba(64,255,64,.5);
}
body.matrix .disposition-chip.disposition-spare,
body.matrix .disposition-badge.disposition-spare,
body.matrix .disposition-picker-btn.disposition-spare,
body.matrix .disposition-option-pill.disposition-spare {
  background: var(--mtx-void);
  color: var(--mtx-phosphor);
  border-color: var(--mtx-dim);
  opacity: 0.85;
}
body.matrix .disposition-chip.disposition-decom,
body.matrix .disposition-badge.disposition-decom,
body.matrix .disposition-picker-btn.disposition-decom,
body.matrix .disposition-option-pill.disposition-decom {
  background: var(--mtx-void);
  color: #ff4040;
  border-color: #cc2020;
  text-shadow: 0 0 6px rgba(255,64,64,.45);
}
body.matrix .disposition-chip.disposition-rma,
body.matrix .disposition-badge.disposition-rma,
body.matrix .disposition-picker-btn.disposition-rma,
body.matrix .disposition-option-pill.disposition-rma {
  background: var(--mtx-void);
  color: #ffcc00;
  border-color: #cc9900;
  text-shadow: 0 0 6px rgba(255,204,0,.4);
}
body.matrix .disposition-chip.disposition-diagnostic,
body.matrix .disposition-badge.disposition-diagnostic,
body.matrix .disposition-picker-btn.disposition-diagnostic,
body.matrix .disposition-option-pill.disposition-diagnostic {
  background: var(--mtx-void);
  color: #ffffff;
  border-color: var(--mtx-green);
  text-shadow: 0 0 6px rgba(255,255,255,.35);
}

/* Picker modal — phosphor scope */
body.matrix .modal .disposition-fieldset {
  border: 1px solid var(--mtx-green);
  border-radius: 0;
  background: var(--mtx-void);
  padding: 10px 14px 12px;
  box-shadow: inset 0 0 8px rgba(0,204,0,.05);
}
body.matrix .modal .disposition-fieldset legend {
  background: var(--mtx-void);
  color: var(--mtx-glow);
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.12em;
  font-size: 10px;
  padding: 0 8px;
  text-shadow: 0 0 6px rgba(64,255,64,.4);
}
body.matrix .modal .modal-subtitle {
  font-family: 'Share Tech Mono', monospace;
  color: var(--mtx-phosphor);
  letter-spacing: 0.05em;
}
body.matrix .modal .modal-required {
  color: var(--mtx-glow);
  text-shadow: 0 0 6px rgba(64,255,64,.45);
}
body.matrix .modal .disposition-option {
  border-radius: 0;
  font-family: 'Share Tech Mono', monospace;
  border: 1px solid transparent;
}
body.matrix .modal .disposition-option:hover {
  background: rgba(0,204,0,.08);
  border-color: var(--mtx-dim);
}
body.matrix .modal .disposition-option input[type="radio"] {
  accent-color: var(--mtx-green);
}
body.matrix .modal .disposition-option-pill {
  font-family: 'Share Tech Mono', monospace;
  border-radius: 0;
  border-width: 1px;
  border-style: solid;
  letter-spacing: 0.08em;
}
body.matrix .modal .disposition-option-desc {
  font-family: 'Share Tech Mono', monospace;
  color: var(--mtx-phosphor);
  font-size: 12px;
  letter-spacing: 0.02em;
}

/* Inline disposition row — terminal status strip */
body.matrix .bench-disposition-row {
  border-right-color: var(--mtx-dim);
  font-family: 'Share Tech Mono', monospace;
  font-size: 11px;
}
body.matrix .bench-disposition-label {
  color: var(--mtx-glow);
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.12em;
  font-size: 10px;
  text-shadow: 0 0 4px rgba(64,255,64,.4);
}
body.matrix .bench-disposition-ticket {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
}
body.matrix .btn-link,
body.matrix .bench-disposition-change-btn {
  color: var(--mtx-glow);
  font-family: 'Share Tech Mono', monospace;
  font-size: 11px;
  text-decoration: underline;
  text-shadow: 0 0 4px rgba(64,255,64,.35);
}
body.matrix .btn-link:hover,
body.matrix .bench-disposition-change-btn:hover {
  color: #ffffff;
  text-shadow: 0 0 8px rgba(255,255,255,.5);
}
body.matrix .bench-disposition-picker-wrap {
  border-top: 1px dashed var(--mtx-dim);
}
body.matrix .disposition-picker-btn {
  background: var(--mtx-void);
  border-radius: 0;
  border-width: 1px;
  border-style: solid;
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.08em;
  padding: 4px 12px;
}
body.matrix .disposition-picker-btn:hover {
  filter: none;
  box-shadow: 0 0 8px rgba(0,204,0,.3);
}
body.matrix .disposition-picker-btn.active {
  box-shadow: 0 0 12px rgba(64,255,64,.55), inset 0 0 0 1px var(--mtx-glow);
}

/* Resolve panel + discard escape hatch */
body.matrix .bench-resolve-panel label {
  color: var(--mtx-glow);
  font-family: 'Share Tech Mono', monospace;
  letter-spacing: 0.12em;
  font-size: 10px;
  text-shadow: 0 0 4px rgba(64,255,64,.4);
}
body.matrix .bench-resolve-panel input[type="text"] {
  background: var(--mtx-void);
  border: 1px solid var(--mtx-dim);
  border-radius: 0;
  color: var(--mtx-phosphor);
  font-family: 'Share Tech Mono', monospace;
  font-size: 13px;
  caret-color: var(--mtx-green);
}
body.matrix .bench-resolve-panel input[type="text"]::placeholder {
  color: rgba(192,240,192,.35);
}
body.matrix .bench-resolve-panel input[type="text"]:focus {
  border-color: var(--mtx-green);
  box-shadow: 0 0 10px rgba(0,204,0,.3), inset 0 0 8px rgba(0,204,0,.05);
}
body.matrix .bench-resolve-discard {
  border-top: 1px solid var(--mtx-dim);
}
body.matrix .bench-discard-link {
  color: #ff4040;
  font-family: 'Share Tech Mono', monospace;
  text-decoration: underline;
  text-shadow: 0 0 4px rgba(255,64,64,.4);
}
body.matrix .bench-discard-link:hover {
  color: #ffffff;
  text-shadow: 0 0 8px rgba(255,255,255,.4);
}
body.matrix .bench-discard-hint {
  color: var(--muted);
  font-family: 'Share Tech Mono', monospace;
  font-style: normal;
  font-size: 10px;
}
