/**
 * CDPE TACTILE NEUMORPHISM DESIGN SYSTEM
 * Inspired by Braun, Teenage Engineering, Dieter Rams & Industrial Hardware
 * Soft Sage Chalk / Recessed Inset Wells / Crisp 1.5px Hairlines / Monospace Telemetry
 * APPLIES EXCLUSIVELY TO LAB & SIMULATOR TOOLS (NOT THE CAMPUS PORTAL)
 */

@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&family=Outfit:wght@600;700;800&display=swap');

:root {
  --neo-bg: #ebf0e6;
  --neo-surface: #eef3ea;
  --neo-surface-card: #f2f7ee;
  --neo-well: #e0e7db;
  --neo-well-deep: #d5ded0;
  --neo-border: #1c241b;
  --neo-border-light: rgba(28, 36, 27, 0.18);
  --neo-ink: #192318;
  --neo-ink-muted: #556352;
  --neo-orange: #ff5500;
  --neo-orange-hover: #e04b00;
  --neo-orange-light: #fff2ed;
  --neo-led-green: #22c55e;
  --neo-led-amber: #f59e0b;
  --neo-led-blue: #0284c7;
  --neo-dark-well: #161e16;
  --neo-dark-ink: #a3e635;
  --neo-font-mono: 'JetBrains Mono', 'Space Mono', 'SF Mono', monospace;
  --neo-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --neo-font-title: 'Outfit', 'Inter', sans-serif;

  /* Shadows */
  --neo-shadow-raised: 5px 5px 14px rgba(165, 182, 160, 0.52), -5px -5px 14px #ffffff;
  --neo-shadow-raised-sm: 3px 3px 8px rgba(165, 182, 160, 0.42), -3px -3px 8px #ffffff;
  --neo-shadow-raised-lg: 8px 8px 22px rgba(160, 178, 155, 0.55), -8px -8px 22px #ffffff;
  --neo-shadow-well: inset 2.5px 2.5px 5px rgba(20, 30, 20, 0.14), inset -2.5px -2.5px 5px rgba(255, 255, 255, 0.9);
  --neo-shadow-well-deep: inset 4px 4px 8px rgba(20, 30, 20, 0.22), inset -3px -3px 6px rgba(255, 255, 255, 0.85);
  --neo-shadow-btn-active: inset 2px 2px 4px rgba(20, 30, 20, 0.22), inset -1.5px -1.5px 3px rgba(255, 255, 255, 0.7);
}

/* ========================================================
   GLOBAL TOOL VARIABLE OVERRIDES
   ======================================================== */
body.tactile-neo-theme,
.tactile-neo-theme {
  --bg: #ebf0e6 !important;
  --bg-body: #ebf0e6 !important;
  --surface: #eef3ea !important;
  --surface-light: #f2f7ee !important;
  --surface-border: rgba(28, 36, 27, 0.18) !important;
  --border: #1c241b !important;
  --text: #192318 !important;
  --text-dark: #192318 !important;
  --text-muted: #556352 !important;
  --primary: #1c241b !important;
  --primary-dark: #161e16 !important;
  --primary-light: #e0e7db !important;
  --accent: #ff5500 !important;
  --accent-light: #ff884d !important;
  --gold: #ff5500 !important;
  --glass: #eef3ea !important;
  --foreground: #192318 !important;
  --muted-foreground: #556352 !important;

  background-color: var(--neo-bg) !important;
  background-image: radial-gradient(rgba(28, 36, 27, 0.12) 1.2px, transparent 1.2px) !important;
  background-size: 22px 22px !important;
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-sans) !important;
}

/* ========================================================
   HEADER & TOPBARS
   ======================================================== */
body.tactile-neo-theme header,
body.tactile-neo-theme .topbar,
body.tactile-neo-theme .top-bar {
  background: var(--neo-surface) !important;
  border-bottom: 1.5px solid var(--neo-border) !important;
  box-shadow: 0 4px 14px rgba(165, 182, 160, 0.35) !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme header h1,
body.tactile-neo-theme .top-bar h1 {
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-title) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

body.tactile-neo-theme header h1 span,
body.tactile-neo-theme .badge-tag {
  background: var(--neo-well) !important;
  color: var(--neo-ink) !important;
  border: 1.25px solid var(--neo-border) !important;
  font-family: var(--neo-font-mono) !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  padding: 0.2rem 0.65rem !important;
  font-size: 0.7rem !important;
  text-transform: uppercase !important;
}

body.tactile-neo-theme .back-btn,
body.tactile-neo-theme .header-actions a,
body.tactile-neo-theme .header-actions button,
body.tactile-neo-theme .btn-topbar {
  background: var(--neo-surface) !important;
  color: var(--neo-ink) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 0.45rem 1rem !important;
  transition: all 0.15s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
}

body.tactile-neo-theme .back-btn:hover,
body.tactile-neo-theme .header-actions a:hover,
body.tactile-neo-theme .header-actions button:hover {
  background: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--neo-shadow-raised) !important;
}

body.tactile-neo-theme .back-btn:active,
body.tactile-neo-theme .header-actions a:active {
  box-shadow: var(--neo-shadow-btn-active) !important;
  transform: translateY(1px) !important;
}

/* ========================================================
   WORKSPACES & SIDEBARS
   ======================================================== */
body.tactile-neo-theme .workspace,
body.tactile-neo-theme .layout-wrapper {
  background: transparent !important;
}

body.tactile-neo-theme .sidebar,
body.tactile-neo-theme .sidebar-left,
body.tactile-neo-theme aside {
  background: var(--neo-surface) !important;
  border-right: 1.5px solid var(--neo-border) !important;
  color: var(--neo-ink) !important;
  box-shadow: 4px 0 14px rgba(165, 182, 160, 0.22) !important;
}

body.tactile-neo-theme .sidebar-header h2,
body.tactile-neo-theme .sidebar-section h2 {
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-title) !important;
  font-weight: 800 !important;
  border-bottom: 1.5px solid var(--neo-border-light) !important;
  letter-spacing: -0.01em !important;
}

body.tactile-neo-theme .sidebar-header h2 i,
body.tactile-neo-theme .sidebar-section h2 i {
  color: var(--neo-orange) !important;
}

/* ========================================================
   WIZARD STEPPER (1, 2, 3)
   ======================================================== */
body.tactile-neo-theme .wizard-progress,
body.tactile-neo-theme .stepper-bar {
  background: var(--neo-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--neo-shadow-well) !important;
  padding: 0.65rem 1rem !important;
  margin-bottom: 1.5rem !important;
}

body.tactile-neo-theme .wizard-step-ind,
body.tactile-neo-theme .step-circle {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--neo-border) !important;
  background: var(--neo-surface) !important;
  box-shadow: 2px 2px 5px rgba(160, 180, 155, 0.4), -2px -2px 5px #ffffff !important;
  color: var(--neo-ink-muted) !important;
  font-family: var(--neo-font-mono) !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.tactile-neo-theme .wizard-step-ind.active,
body.tactile-neo-theme .step-circle.active {
  background: var(--neo-orange) !important;
  color: #ffffff !important;
  box-shadow: 2px 2px 8px rgba(255, 85, 0, 0.45) !important;
}

body.tactile-neo-theme .wizard-step-ind.completed,
body.tactile-neo-theme .step-circle.completed {
  background: var(--neo-border) !important;
  color: var(--neo-bg) !important;
}

body.tactile-neo-theme .wizard-progress-line {
  background: var(--neo-border) !important;
  height: 2px !important;
  opacity: 0.25 !important;
}

body.tactile-neo-theme .wizard-progress-line.active {
  background: var(--neo-orange) !important;
  opacity: 1 !important;
}

/* ========================================================
   INPUTS, SELECTS & TEXTAREAS (INSET WELLS)
   ======================================================== */
body.tactile-neo-theme .input-group label,
body.tactile-neo-theme .form-group label {
  color: var(--neo-ink-muted) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.4rem !important;
  display: block !important;
}

body.tactile-neo-theme input[type="text"],
body.tactile-neo-theme input[type="password"],
body.tactile-neo-theme input[type="number"],
body.tactile-neo-theme input[type="search"],
body.tactile-neo-theme input[type="url"],
body.tactile-neo-theme textarea,
body.tactile-neo-theme select,
body.tactile-neo-theme .input-group input,
body.tactile-neo-theme .input-group select,
body.tactile-neo-theme .input-group textarea,
body.tactile-neo-theme .form-group input,
body.tactile-neo-theme .form-group select,
body.tactile-neo-theme .form-group textarea {
  background: var(--neo-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--neo-shadow-well) !important;
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-sans) !important;
  font-size: 0.9rem !important;
  padding: 0.75rem 1rem !important;
  transition: all 0.2s ease !important;
  outline: none !important;
}

body.tactile-neo-theme input:focus,
body.tactile-neo-theme select:focus,
body.tactile-neo-theme textarea:focus,
body.tactile-neo-theme .input-group input:focus,
body.tactile-neo-theme .input-group select:focus,
body.tactile-neo-theme .input-group textarea:focus {
  background: #ffffff !important;
  border-color: var(--neo-orange) !important;
  box-shadow: var(--neo-shadow-well), 0 0 0 2px rgba(255, 85, 0, 0.25) !important;
}

/* ========================================================
   BUTTONS (TACTILE CAPSULES & TEENAGE ENGINEERING ORANGE)
   ======================================================== */
body.tactile-neo-theme .wizard-actions {
  border-top: 1.5px solid var(--neo-border-light) !important;
  padding-top: 1.2rem !important;
}

body.tactile-neo-theme .btn,
body.tactile-neo-theme button.btn,
body.tactile-neo-theme .btn-primary,
body.tactile-neo-theme .btn-gold,
body.tactile-neo-theme .btn-accent {
  background: var(--neo-orange) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: 3px 3px 10px rgba(255, 85, 0, 0.38), -2px -2px 6px #ffffff !important;
  color: #ffffff !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 0.75rem 1.4rem !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  text-decoration: none !important;
}

body.tactile-neo-theme .btn:hover,
body.tactile-neo-theme .btn-primary:hover,
body.tactile-neo-theme .btn-gold:hover,
body.tactile-neo-theme .btn-accent:hover {
  background: var(--neo-orange-hover) !important;
  transform: translateY(-1.5px) !important;
  color: #ffffff !important;
}

body.tactile-neo-theme .btn:active,
body.tactile-neo-theme .btn-primary:active,
body.tactile-neo-theme .btn-gold:active,
body.tactile-neo-theme .btn-accent:active {
  box-shadow: var(--neo-shadow-btn-active) !important;
  transform: translateY(1.5px) !important;
}

body.tactile-neo-theme .btn-secondary,
body.tactile-neo-theme .btn-outline {
  background: var(--neo-surface) !important;
  color: var(--neo-ink) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
}

body.tactile-neo-theme .btn-secondary:hover,
body.tactile-neo-theme .btn-outline:hover {
  background: #ffffff !important;
  color: var(--neo-ink) !important;
}

/* ========================================================
   STUDIO PANELS, TABS & PREVIEWS
   ======================================================== */
body.tactile-neo-theme .studio-panel,
body.tactile-neo-theme .main-workspace,
body.tactile-neo-theme .main-panel,
body.tactile-neo-theme .tabs-content {
  background-color: var(--neo-bg) !important;
  background-image: radial-gradient(rgba(28, 36, 27, 0.12) 1.2px, transparent 1.2px) !important;
  background-size: 22px 22px !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme .tabs-nav {
  background: var(--neo-well) !important;
  border-bottom: 1.5px solid var(--neo-border) !important;
  box-shadow: inset 0 -2px 4px rgba(20, 30, 20, 0.08) !important;
  padding: 0.5rem 1rem !important;
  gap: 0.4rem !important;
  display: flex !important;
  overflow-x: auto !important;
}

body.tactile-neo-theme .tab-btn {
  background: transparent !important;
  border: 1.5px solid transparent !important;
  border-radius: 999px !important;
  color: var(--neo-ink-muted) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  padding: 0.5rem 1rem !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
}

body.tactile-neo-theme .tab-btn:hover {
  background: var(--neo-surface) !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme .tab-btn.active {
  background: #ffffff !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: 2px 2px 6px rgba(160, 180, 155, 0.45), -2px -2px 6px #ffffff !important;
  color: var(--neo-orange) !important;
  font-weight: 800 !important;
}

/* Card Containers & Previews */
body.tactile-neo-theme .editor-card,
body.tactile-neo-theme .panel-preview,
body.tactile-neo-theme .glass-panel,
body.tactile-neo-theme .panel,
body.tactile-neo-theme .tool-content {
  background: var(--neo-surface-card) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 20px !important;
  box-shadow: var(--neo-shadow-raised) !important;
  color: var(--neo-ink) !important;
  position: relative !important;
}

/* Corner Rivets on Major Panels */
body.tactile-neo-theme .editor-card::before,
body.tactile-neo-theme .panel-preview::before,
body.tactile-neo-theme .glass-panel::before,
body.tactile-neo-theme .panel::before {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;
  right: 12px !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #d4ded0 !important;
  border: 1px solid var(--neo-border) !important;
  box-shadow: inset 1px 1px 2px rgba(0,0,0,0.3) !important;
}

body.tactile-neo-theme .card-header h3,
body.tactile-neo-theme .panel-title,
body.tactile-neo-theme .panel h2 {
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-title) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
}

/* Document & Markdown Display */
body.tactile-neo-theme .doc-view {
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-sans) !important;
}

body.tactile-neo-theme .doc-view h1,
body.tactile-neo-theme .doc-view h2,
body.tactile-neo-theme .doc-view h3,
body.tactile-neo-theme .doc-view h4 {
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-title) !important;
  font-weight: 800 !important;
}

body.tactile-neo-theme .doc-view h1 {
  border-bottom: 2px solid var(--neo-border) !important;
}

body.tactile-neo-theme .doc-view h2 {
  border-left: 4px solid var(--neo-orange) !important;
  padding-left: 0.6rem !important;
}

body.tactile-neo-theme .doc-view th {
  background: var(--neo-well) !important;
  color: var(--neo-ink) !important;
  border: 1.25px solid var(--neo-border) !important;
  font-family: var(--neo-font-mono) !important;
}

body.tactile-neo-theme .doc-view td {
  border: 1px solid var(--neo-border-light) !important;
  color: var(--neo-ink) !important;
}

/* Deep Dark CRT Terminal Wells for Code */
body.tactile-neo-theme pre,
body.tactile-neo-theme code,
body.tactile-neo-theme .console-log,
body.tactile-neo-theme .log-area,
body.tactile-neo-theme .doc-view pre {
  background: var(--neo-dark-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--neo-shadow-well-deep) !important;
  color: var(--neo-dark-ink) !important;
  font-family: var(--neo-font-mono) !important;
}

/* Drop Zone */
body.tactile-neo-theme .drop-zone,
body.tactile-neo-theme .logo-uploader,
body.tactile-neo-theme .dropzone {
  background: var(--neo-well) !important;
  border: 2px dashed var(--neo-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--neo-shadow-well) !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme .drop-zone:hover,
body.tactile-neo-theme .logo-uploader:hover {
  background: #ffffff !important;
  border-color: var(--neo-orange) !important;
}

body.tactile-neo-theme .drop-zone i,
body.tactile-neo-theme .drop-zone span,
body.tactile-neo-theme .logo-uploader i {
  color: var(--neo-ink-muted) !important;
}

body.tactile-neo-theme .file-item {
  background: var(--neo-surface) !important;
  border: 1.25px solid var(--neo-border) !important;
  border-radius: 8px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  color: var(--neo-ink) !important;
}

/* ========================================================
   TOOL-SPECIFIC TACTILE ADAPTATIONS
   ======================================================== */

/* Softmax Lab Tree & Mermaid Viewers */
body.tactile-neo-theme #view-workspace-tree,
body.tactile-neo-theme #tree-node-details,
body.tactile-neo-theme .mermaid-viewer,
body.tactile-neo-theme .mermaid-editor textarea {
  background: var(--neo-dark-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 12px !important;
  color: var(--neo-dark-ink) !important;
  font-family: var(--neo-font-mono) !important;
  box-shadow: var(--neo-shadow-well-deep) !important;
}

body.tactile-neo-theme .refinement-chat-container {
  background: var(--neo-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--neo-shadow-well) !important;
}

body.tactile-neo-theme .chat-msg.architect,
body.tactile-neo-theme .chat-msg {
  background: var(--neo-surface-card) !important;
  border: 1px solid var(--neo-border) !important;
  border-radius: 12px !important;
  color: var(--neo-ink) !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
}

body.tactile-neo-theme .chat-input-wrap {
  border-top: 1.5px solid var(--neo-border-light) !important;
}

body.tactile-neo-theme .chat-input-wrap input {
  background: #ffffff !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-sans) !important;
  padding: 0.6rem 1rem !important;
}

body.tactile-neo-theme .chat-input-wrap button {
  background: var(--neo-orange) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  color: #ffffff !important;
  font-family: var(--neo-font-mono) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Creador de Manuales Engine Selector */
body.tactile-neo-theme .engine-selector {
  background: var(--neo-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-well) !important;
  padding: 4px !important;
  display: inline-flex !important;
  gap: 4px !important;
}

body.tactile-neo-theme .engine-btn {
  background: transparent !important;
  border: none !important;
  border-radius: 999px !important;
  color: var(--neo-ink-muted) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  padding: 0.45rem 1.1rem !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

body.tactile-neo-theme .engine-btn.active {
  background: var(--neo-orange) !important;
  color: #ffffff !important;
  box-shadow: 2px 2px 6px rgba(255, 85, 0, 0.4) !important;
}

/* Director Office / Command Center */
body.tactile-neo-theme .control-room {
  background: var(--neo-bg) !important;
}

body.tactile-neo-theme .command-bar {
  background: var(--neo-well) !important;
  border-bottom: 1.5px solid var(--neo-border) !important;
  box-shadow: inset 0 -2px 4px rgba(20, 30, 20, 0.08) !important;
  padding: 0.8rem 1.5rem !important;
}

body.tactile-neo-theme .cmd-btn {
  background: var(--neo-surface) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  padding: 0.5rem 1rem !important;
}

body.tactile-neo-theme .cmd-btn:hover:not(:disabled) {
  background: #ffffff !important;
  border-color: var(--neo-orange) !important;
  color: var(--neo-orange) !important;
}

body.tactile-neo-theme .project-item {
  background: var(--neo-surface) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme .project-item.active {
  background: #ffffff !important;
  border-color: var(--neo-orange) !important;
  border-width: 2px !important;
  box-shadow: var(--neo-shadow-raised) !important;
}

body.tactile-neo-theme .project-item h3 {
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-title) !important;
}

body.tactile-neo-theme .project-item p {
  color: var(--neo-ink-muted) !important;
}

body.tactile-neo-theme .chat-console {
  background: var(--neo-bg) !important;
}

body.tactile-neo-theme .message.user .message-bubble {
  background: var(--neo-orange) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 16px 16px 4px 16px !important;
  box-shadow: 3px 3px 8px rgba(255, 85, 0, 0.25) !important;
}

body.tactile-neo-theme .message.director .message-bubble {
  background: var(--neo-surface-card) !important;
  color: var(--neo-ink) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 16px 16px 16px 4px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
}

body.tactile-neo-theme .message-sender {
  color: var(--neo-ink-muted) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.72rem !important;
}

body.tactile-neo-theme .message.director .message-sender {
  color: var(--neo-orange) !important;
}

body.tactile-neo-theme .input-bar {
  background: var(--neo-surface) !important;
  border-top: 1.5px solid var(--neo-border) !important;
  padding: 1rem 1.5rem !important;
}

body.tactile-neo-theme .input-bar input {
  background: var(--neo-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-well) !important;
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-sans) !important;
}

body.tactile-neo-theme .send-btn {
  background: var(--neo-orange) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 50% !important;
  box-shadow: 3px 3px 8px rgba(255, 85, 0, 0.35) !important;
  color: #ffffff !important;
}

/* Dueñez Lab & Adaptador de Negocios */
body.tactile-neo-theme .catalog-list {
  background: var(--neo-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--neo-shadow-well) !important;
}

body.tactile-neo-theme .catalog-item {
  background: var(--neo-surface) !important;
  border: 1.25px solid var(--neo-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme .catalog-item:hover {
  background: #ffffff !important;
}

body.tactile-neo-theme .status-indicator {
  font-family: var(--neo-font-mono) !important;
  border: 1px solid var(--neo-border) !important;
  border-radius: 999px !important;
}

body.tactile-neo-theme .progress-box {
  background: var(--neo-surface) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
}

body.tactile-neo-theme .progress-bar-bg,
body.tactile-neo-theme .progress-bar-container {
  background: var(--neo-well-deep) !important;
  border: 1px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-well) !important;
}

body.tactile-neo-theme .progress-bar-fill,
body.tactile-neo-theme .progress-bar {
  background: var(--neo-orange) !important;
}

body.tactile-neo-theme .doc-viewer,
body.tactile-neo-theme .preview-manual-wrap {
  background: #ffffff !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--neo-shadow-well) !important;
  color: var(--neo-ink) !important;
}

/* Conversor Manuales */
body.tactile-neo-theme .controls-panel {
  background: var(--neo-surface) !important;
  border-right: 1.5px solid var(--neo-border) !important;
}

body.tactile-neo-theme .controls-panel .card {
  background: var(--neo-surface-card) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
}

body.tactile-neo-theme .preview-panel {
  background: var(--neo-bg) !important;
}

body.tactile-neo-theme .toolbar-preview {
  background: var(--neo-well) !important;
  border-bottom: 1.5px solid var(--neo-border) !important;
}

/* Robot Extractor */
body.tactile-neo-theme .url-list-container {
  background: var(--neo-well) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 12px !important;
  box-shadow: var(--neo-shadow-well) !important;
}

body.tactile-neo-theme .url-item {
  background: var(--neo-surface) !important;
  border: 1px solid var(--neo-border) !important;
  border-radius: 8px !important;
}

/* Root Tools: Calculadora, Evaluador, Anuncios, Contratación, Estudios */
body.tactile-neo-theme .calc-container,
body.tactile-neo-theme .eval-container,
body.tactile-neo-theme .ad-container,
body.tactile-neo-theme .tool-page-container,
body.tactile-neo-theme .book-container {
  background: transparent !important;
}

body.tactile-neo-theme .calc-container .panel,
body.tactile-neo-theme .eval-container .panel,
body.tactile-neo-theme .ad-container .panel,
body.tactile-neo-theme .tool-content,
body.tactile-neo-theme .book-content,
body.tactile-neo-theme .ad-preview {
  background: var(--neo-surface-card) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 18px !important;
  box-shadow: var(--neo-shadow-raised) !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme .sidebar-toc {
  background: var(--neo-surface) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
}

body.tactile-neo-theme .sidebar-toc h3 {
  font-family: var(--neo-font-title) !important;
  color: var(--neo-ink) !important;
  border-bottom: 1.5px solid var(--neo-border-light) !important;
}

body.tactile-neo-theme .sidebar-toc ul li a {
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.8rem !important;
}

body.tactile-neo-theme .sidebar-toc ul li a:hover {
  color: var(--neo-orange) !important;
}

body.tactile-neo-theme .role-btn {
  background: var(--neo-surface) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 0.6rem 1.2rem !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
  margin-bottom: 0.5rem !important;
  width: 100% !important;
  text-align: left !important;
}

body.tactile-neo-theme .role-btn:hover {
  background: #ffffff !important;
  transform: translateY(-1px) !important;
}

body.tactile-neo-theme .role-btn.active {
  background: var(--neo-orange) !important;
  color: #ffffff !important;
  box-shadow: 2px 2px 8px rgba(255, 85, 0, 0.4) !important;
}

body.tactile-neo-theme .copy-btn {
  background: var(--neo-surface) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 999px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  color: var(--neo-ink) !important;
  font-family: var(--neo-font-mono) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  padding: 0.4rem 0.9rem !important;
}

body.tactile-neo-theme .copy-btn:hover {
  background: #ffffff !important;
  color: var(--neo-orange) !important;
}

body.tactile-neo-theme .metric-row {
  border-bottom: 1px solid var(--neo-border-light) !important;
  padding: 1.2rem 0 !important;
}

body.tactile-neo-theme .metric-title {
  font-family: var(--neo-font-title) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--neo-ink) !important;
}

body.tactile-neo-theme .metric-weight {
  background: var(--neo-well) !important;
  border: 1px solid var(--neo-border) !important;
  border-radius: 999px !important;
  font-family: var(--neo-font-mono) !important;
  font-size: 0.72rem !important;
  padding: 0.15rem 0.5rem !important;
}

body.tactile-neo-theme .kpi-card,
body.tactile-neo-theme .stat-box {
  background: var(--neo-surface) !important;
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 14px !important;
  box-shadow: var(--neo-shadow-raised-sm) !important;
  padding: 1rem !important;
}

body.tactile-neo-theme table,
body.tactile-neo-theme .summary-table {
  border: 1.5px solid var(--neo-border) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: var(--neo-surface) !important;
}

body.tactile-neo-theme table th,
body.tactile-neo-theme .summary-table th {
  background: var(--neo-well) !important;
  color: var(--neo-ink) !important;
  border: 1px solid var(--neo-border) !important;
  font-family: var(--neo-font-mono) !important;
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
}

body.tactile-neo-theme table td,
body.tactile-neo-theme .summary-table td {
  border: 1px solid var(--neo-border-light) !important;
  color: var(--neo-ink) !important;
}

/* Global Navigation Integration on Tools */
body.tactile-neo-theme #global-header,
body.tactile-neo-theme #global-header nav,
body.tactile-neo-theme .navbar {
  background: var(--neo-surface) !important;
  border-bottom: 1.5px solid var(--neo-border) !important;
  box-shadow: 0 4px 14px rgba(165, 182, 160, 0.35) !important;
}

body.tactile-neo-theme #global-footer {
  background: var(--neo-surface) !important;
  border-top: 1.5px solid var(--neo-border) !important;
  color: var(--neo-ink-muted) !important;
}
