/* ═══════════════════════════════════════════════════════
   Prodesco — Propuestas Comparativas
   Visual identity based on grupoprodesco.com
   ═══════════════════════════════════════════════════════ */

:root {
  --gold: #A28211;
  --gold-hover: #8b6c05;
  --gold-light: #c49d1e;
  --gold-bg: rgba(162, 130, 17, 0.10);
  --gold-bg-strong: rgba(162, 130, 17, 0.18);
  --teal: #0d9c82;
  --teal-hover: #0a826c;
  --bg: #efede7;
  --bg-elevated: #f7f3ea;
  --surface: #fffdf9;
  --surface-soft: #f6f1e6;
  --white: #fffdf9;
  --text: #1f1a13;
  --text-secondary: #645b4c;
  --text-muted: #938772;
  --border: #d9cfbc;
  --border-light: #ebe3d4;
  --danger: #c0392b;
  --danger-bg: #f9e3de;
  --success: #27ae60;
  --success-bg: #e3f4eb;
  --warning: #e67e22;
  --warning-bg: #fbf0de;
  --info: #2980b9;
  --info-bg: #e2edf7;
  --status-draft-bg: #eceff3;
  --status-draft-text: #3f4752;
  --status-draft-border: var(--border);
  --status-pending-bg: #fff1c2;
  --status-pending-text: #7a5200;
  --status-pending-border: var(--border);
  --status-not-approved-bg: #f8d7da;
  --status-not-approved-text: #9f1d2d;
  --status-not-approved-border: var(--border);
  --status-approved-bg: #d9f0df;
  --status-approved-text: #166534;
  --status-approved-border: var(--border);
  --status-incorporated-bg: #eee1ff;
  --status-incorporated-text: #6b21a8;
  --status-incorporated-border: var(--border);
  --status-finalized-bg: #d7e6f7;
  --status-finalized-text: #1d4e89;
  --status-finalized-border: var(--border);
  --sidebar-bg: #f6f1e7;
  --sidebar-border: #d9cfbc;
  --sidebar-hover: rgba(162, 130, 17, 0.12);
  --panel-bg: #fffdf9;
  --panel-border: #d9cfbc;
  --panel-header-bg: #f8f3e8;
  --panel-shadow: 0 10px 30px rgba(63, 52, 29, 0.07);
  --line-card-bg: #fffdf9;
  --line-card-border: #d9cfbc;
  --line-card-shadow: 0 10px 30px rgba(63, 52, 29, 0.07);
  --line-row-bg: #ffffff;
  --line-row-alt-bg: rgba(162, 130, 17, 0.035);
  --line-separator-bg: var(--gold);
  --table-cell-bg: #ffffff;
  --table-header-bg: #d7b24a;
  --table-border: rgba(162, 130, 17, 0.34);
  --table-outer-border: var(--gold-light);
  --table-readonly-bg: #f7f5ef;
  --table-readonly-text: #9a9388;
  --table-selected-bg: #fff0c2;
  --table-hover-bg: #fff7dd;
  --control-bg: #ffffff;
  --control-readonly-bg: #f7f5ef;
  --control-focus-ring: rgba(162, 130, 17, 0.28);
  --context-menu-bg: #2a2419;
  --context-menu-border: #4a3d28;
  --context-menu-hover-bg: #3a3022;
  --context-menu-text: var(--gold-light);
  --context-menu-hover-text: #ffffff;
  --context-menu-danger: #d0a78c;
  --radius: 12px;
  --radius-sm: 6px;
  --shadow: var(--panel-shadow);
  --shadow-md: 0 18px 42px rgba(63, 52, 29, 0.12);
  --transition: 0.15s ease;
  --shell-rail-width: 252px;
  --content-max-width: 1380px;
  --content-gutter: 28px;
  --font-family: 'Poppins', sans-serif;
  --font-weight-heading: 600;
  --font-weight-strong: 700;
  --font-weight-semibold: 600;
  --font-weight-medium: 500;
}

body[data-theme="piedra"] {
  --gold: #726956;
  --gold-hover: #59523f;
  --gold-light: #8b7e65;
  --gold-bg: rgba(114, 105, 86, 0.12);
  --gold-bg-strong: rgba(114, 105, 86, 0.22);
  --teal: #3f7b76;
  --teal-hover: #315f5c;
  --bg: #ecebe7;
  --bg-elevated: #f4f3f0;
  --surface: #fcfbf8;
  --surface-soft: #f2f0ea;
  --white: #fcfbf8;
  --text: #22201b;
  --text-secondary: #5e5a52;
  --text-muted: #8b8478;
  --border: #d5d0c6;
  --border-light: #e8e3da;
  --sidebar-bg: #efede8;
  --sidebar-border: #d5d0c6;
  --sidebar-hover: rgba(114, 105, 86, 0.13);
  --panel-bg: #fcfbf8;
  --panel-border: #d5d0c6;
  --panel-header-bg: #f1efe8;
  --panel-shadow: 0 10px 26px rgba(58, 51, 39, 0.06);
  --line-card-bg: #fcfbf8;
  --line-card-border: #d5d0c6;
  --line-card-shadow: 0 10px 26px rgba(58, 51, 39, 0.06);
  --line-row-bg: #ffffff;
  --line-row-alt-bg: rgba(114, 105, 86, 0.05);
  --line-separator-bg: var(--gold);
  --table-cell-bg: #ffffff;
  --table-header-bg: #c8c0ad;
  --table-border: var(--gold-bg-strong);
  --table-outer-border: var(--gold-light);
  --table-readonly-bg: #ffffff;
  --table-readonly-text: #8b8478;
  --table-selected-bg: #e8e1d0;
  --table-hover-bg: #f3f0e8;
  --control-bg: #ffffff;
  --control-readonly-bg: #ffffff;
  --control-focus-ring: rgba(114, 105, 86, 0.25);
  --context-menu-bg: #27241e;
  --context-menu-border: #4f4839;
  --context-menu-hover-bg: #393429;
  --context-menu-text: #d3c7aa;
  --context-menu-hover-text: #ffffff;
  --context-menu-danger: #d0a78c;
}

body[data-theme="winter"] {
  --gold: #2563eb;
  --gold-hover: #1d4ed8;
  --gold-light: #60a5fa;
  --gold-bg: rgba(37, 99, 235, 0.10);
  --gold-bg-strong: rgba(37, 99, 235, 0.20);
  --teal: #0891b2;
  --teal-hover: #0e7490;
  --bg: #edf4fb;
  --bg-elevated: #f6faff;
  --surface: #ffffff;
  --surface-soft: #eef6ff;
  --white: #ffffff;
  --text: #172033;
  --text-secondary: #44546a;
  --text-muted: #718096;
  --border: #cfdceb;
  --border-light: #e6eef7;
  --danger: #dc2626;
  --danger-bg: #fee2e2;
  --success: #15803d;
  --success-bg: #dcfce7;
  --warning: #d97706;
  --warning-bg: #fef3c7;
  --info: #0284c7;
  --info-bg: #e0f2fe;
  --status-draft-bg: #e8eef5;
  --status-draft-text: #475569;
  --status-draft-border: #cbd5e1;
  --status-pending-bg: #fef3c7;
  --status-pending-text: #92400e;
  --status-pending-border: #f3d58a;
  --status-not-approved-bg: #fee2e2;
  --status-not-approved-text: #991b1b;
  --status-not-approved-border: #fecaca;
  --status-approved-bg: #dcfce7;
  --status-approved-text: #166534;
  --status-approved-border: #bbf7d0;
  --status-incorporated-bg: #e0e7ff;
  --status-incorporated-text: #3730a3;
  --status-incorporated-border: #c7d2fe;
  --status-finalized-bg: #dbeafe;
  --status-finalized-text: #1e40af;
  --status-finalized-border: #bfdbfe;
  --sidebar-bg: #e7f0fa;
  --sidebar-border: #cbdced;
  --sidebar-hover: rgba(37, 99, 235, 0.10);
  --panel-bg: #ffffff;
  --panel-border: #d5e1ef;
  --panel-header-bg: #eef6ff;
  --panel-shadow: 0 12px 30px rgba(31, 74, 125, 0.08);
  --line-card-bg: #ffffff;
  --line-card-border: #d5e1ef;
  --line-card-shadow: 0 12px 30px rgba(31, 74, 125, 0.08);
  --line-row-bg: #ffffff;
  --line-row-alt-bg: rgba(37, 99, 235, 0.035);
  --line-separator-bg: #60a5fa;
  --table-cell-bg: #ffffff;
  --table-header-bg: #dbeafe;
  --table-border: rgba(37, 99, 235, 0.26);
  --table-outer-border: #93c5fd;
  --table-readonly-bg: #f3f7fb;
  --table-readonly-text: #64748b;
  --table-selected-bg: #dbeafe;
  --table-hover-bg: #eff6ff;
  --control-bg: #ffffff;
  --control-readonly-bg: #f3f7fb;
  --control-focus-ring: rgba(37, 99, 235, 0.24);
  --context-menu-bg: #172033;
  --context-menu-border: #334155;
  --context-menu-hover-bg: #24324a;
  --context-menu-text: #bfdbfe;
  --context-menu-hover-text: #ffffff;
  --context-menu-danger: #fca5a5;
}

body[data-theme="business"] {
  color-scheme: dark;
  --font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-weight-heading: 500;
  --font-weight-strong: 600;
  --font-weight-semibold: 500;
  --font-weight-medium: 450;
  --gold: #38bdf8;
  --gold-hover: #7dd3fc;
  --gold-light: #bae6fd;
  --gold-bg: rgba(56, 189, 248, 0.13);
  --gold-bg-strong: rgba(56, 189, 248, 0.24);
  --teal: #2dd4bf;
  --teal-hover: #5eead4;
  --bg: #111827;
  --bg-elevated: #182234;
  --surface: #1f2937;
  --surface-soft: #243244;
  --white: #1f2937;
  --text: #f8fafc;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --border: #3b4658;
  --border-light: #2f3a4a;
  --danger: #f87171;
  --danger-bg: rgba(248, 113, 113, 0.14);
  --success: #4ade80;
  --success-bg: rgba(74, 222, 128, 0.13);
  --warning: #fbbf24;
  --warning-bg: rgba(251, 191, 36, 0.14);
  --info: #38bdf8;
  --info-bg: rgba(56, 189, 248, 0.14);
  --status-draft-bg: #2d3748;
  --status-draft-text: #cbd5e1;
  --status-draft-border: #475569;
  --status-pending-bg: rgba(251, 191, 36, 0.16);
  --status-pending-text: #facc15;
  --status-pending-border: rgba(251, 191, 36, 0.38);
  --status-not-approved-bg: rgba(248, 113, 113, 0.16);
  --status-not-approved-text: #fca5a5;
  --status-not-approved-border: rgba(248, 113, 113, 0.38);
  --status-approved-bg: rgba(74, 222, 128, 0.16);
  --status-approved-text: #86efac;
  --status-approved-border: rgba(74, 222, 128, 0.34);
  --status-incorporated-bg: rgba(129, 140, 248, 0.18);
  --status-incorporated-text: #c4b5fd;
  --status-incorporated-border: rgba(129, 140, 248, 0.36);
  --status-finalized-bg: rgba(56, 189, 248, 0.18);
  --status-finalized-text: #7dd3fc;
  --status-finalized-border: rgba(56, 189, 248, 0.36);
  --sidebar-bg: #111827;
  --sidebar-border: #2f3a4a;
  --sidebar-hover: rgba(56, 189, 248, 0.12);
  --panel-bg: #1f2937;
  --panel-border: #3b4658;
  --panel-header-bg: #253244;
  --panel-shadow: 0 18px 42px rgba(3, 7, 18, 0.42);
  --line-card-bg: #1f2937;
  --line-card-border: #3b4658;
  --line-card-shadow: 0 16px 34px rgba(3, 7, 18, 0.36);
  --line-row-bg: #1f2937;
  --line-row-alt-bg: #253244;
  --line-separator-bg: #38bdf8;
  --table-cell-bg: #1f2937;
  --table-header-bg: #334155;
  --table-border: #475569;
  --table-outer-border: #38bdf8;
  --table-readonly-bg: #263244;
  --table-readonly-text: #cbd5e1;
  --table-selected-bg: #164e63;
  --table-hover-bg: #253244;
  --control-bg: #1f2937;
  --control-readonly-bg: #263244;
  --control-focus-ring: rgba(56, 189, 248, 0.34);
  --context-menu-bg: #0f172a;
  --context-menu-border: #334155;
  --context-menu-hover-bg: #1e293b;
  --context-menu-text: #bae6fd;
  --context-menu-hover-text: #ffffff;
  --context-menu-danger: #fca5a5;
}

body[data-theme="business"] strong,
body[data-theme="business"] b,
body[data-theme="business"] .panel-header h2,
body[data-theme="business"] .section-title,
body[data-theme="business"] .proposal-title,
body[data-theme="business"] .proposal-kpi-value,
body[data-theme="business"] .kpi-value,
body[data-theme="business"] .stat-value,
body[data-theme="business"] .btn,
body[data-theme="business"] .badge,
body[data-theme="business"] .nav-item,
body[data-theme="business"] .shell-menu-subitem,
body[data-theme="business"] .shell-theme-subitem,
body[data-theme="business"] .line-compare-input,
body[data-theme="business"] .line-inline-input,
body[data-theme="business"] .line-inline-input-split,
body[data-theme="business"] .line-compact-table .line-compare-input,
body[data-theme="business"] .line-merged-table .line-compare-input:not(:disabled),
body[data-theme="business"] .line-merged-stack-financial > .line-merged-box:first-child {
  font-weight: var(--font-weight-semibold) !important;
}

body[data-theme="business"] .line-compact-table td:is(.calc, .readonly),
body[data-theme="business"] .line-merged-table td:is(.calc, .readonly),
body[data-theme="business"] .line-merged-box:is(.calc, .readonly),
body[data-theme="business"] .suggestions-popup-table td:first-child {
  font-weight: var(--font-weight-medium) !important;
}

body[data-theme="noche"] {
  color-scheme: dark;
  --nord0: #2e3440;
  --nord1: #3b4252;
  --nord2: #434c5e;
  --nord3: #4c566a;
  --nord4: #d8dee9;
  --nord5: #e5e9f0;
  --nord6: #eceff4;
  --nord7: #8fbcbb;
  --nord8: #88c0d0;
  --nord9: #81a1c1;
  --nord10: #5e81ac;
  --nord11: #bf616a;
  --nord12: #d08770;
  --nord13: #ebcb8b;
  --nord14: #a3be8c;
  --nord15: #b48ead;
  --gold: var(--nord10);
  --gold-hover: var(--nord9);
  --gold-light: var(--nord8);
  --gold-bg: rgba(94, 129, 172, 0.18);
  --gold-bg-strong: rgba(94, 129, 172, 0.30);
  --teal: var(--nord7);
  --teal-hover: var(--nord8);
  --bg: var(--nord0);
  --bg-elevated: #353d4b;
  --surface: var(--nord1);
  --surface-soft: var(--nord2);
  --white: var(--nord1);
  --text: var(--nord6);
  --text-secondary: var(--nord4);
  --text-muted: #b8c0ce;
  --border: var(--nord3);
  --border-light: var(--nord2);
  --danger: var(--nord11);
  --danger-bg: rgba(191, 97, 106, 0.16);
  --success: var(--nord14);
  --success-bg: rgba(163, 190, 140, 0.15);
  --warning: var(--nord13);
  --warning-bg: rgba(235, 203, 139, 0.15);
  --info: var(--nord8);
  --info-bg: rgba(136, 192, 208, 0.16);
  --status-draft-bg: var(--nord2);
  --status-draft-text: var(--nord4);
  --status-draft-border: var(--nord3);
  --status-pending-bg: rgba(235, 203, 139, 0.18);
  --status-pending-text: var(--nord13);
  --status-pending-border: rgba(235, 203, 139, 0.36);
  --status-not-approved-bg: rgba(191, 97, 106, 0.18);
  --status-not-approved-text: #d98a91;
  --status-not-approved-border: rgba(191, 97, 106, 0.36);
  --status-approved-bg: rgba(163, 190, 140, 0.18);
  --status-approved-text: #b7cf9f;
  --status-approved-border: rgba(163, 190, 140, 0.34);
  --status-incorporated-bg: rgba(180, 142, 173, 0.18);
  --status-incorporated-text: #c8a7c1;
  --status-incorporated-border: rgba(180, 142, 173, 0.36);
  --status-finalized-bg: rgba(94, 129, 172, 0.20);
  --status-finalized-text: #9cc7dd;
  --status-finalized-border: rgba(136, 192, 208, 0.36);
  --sidebar-bg: var(--nord0);
  --sidebar-border: var(--nord3);
  --sidebar-hover: rgba(136, 192, 208, 0.14);
  --panel-bg: var(--nord1);
  --panel-border: var(--nord3);
  --panel-header-bg: #353d4b;
  --panel-shadow: 0 18px 42px rgba(16, 20, 28, 0.44);
  --line-card-bg: var(--nord1);
  --line-card-border: var(--nord3);
  --line-card-shadow: 0 16px 34px rgba(16, 20, 28, 0.38);
  --line-row-bg: var(--nord1);
  --line-row-alt-bg: var(--nord2);
  --line-separator-bg: var(--gold);
  --table-cell-bg: var(--nord1);
  --table-header-bg: var(--nord3);
  --table-border: #5c667a;
  --table-outer-border: var(--gold);
  --table-readonly-bg: #353d4b;
  --table-readonly-text: var(--text-secondary);
  --table-selected-bg: #4a5265;
  --table-hover-bg: var(--nord2);
  --control-bg: var(--nord1);
  --control-readonly-bg: #353d4b;
  --control-focus-ring: rgba(136, 192, 208, 0.36);
  --context-menu-bg: var(--bg);
  --context-menu-border: var(--border);
  --context-menu-hover-bg: var(--surface-soft);
  --context-menu-text: var(--text-secondary);
  --context-menu-hover-text: var(--text);
  --context-menu-danger: var(--danger);
}

body[data-theme="mockup"] {
  --gold: #000000;
  --gold-hover: #000000;
  --gold-light: #000000;
  --gold-bg: #ffffff;
  --gold-bg-strong: #ffffff;
  --teal: #000000;
  --teal-hover: #000000;
  --bg: #ffffff;
  --bg-elevated: #ffffff;
  --surface: #ffffff;
  --surface-soft: #ffffff;
  --white: #ffffff;
  --text: #000000;
  --text-secondary: #000000;
  --text-muted: #000000;
  --border: #000000;
  --border-light: #000000;
  --sidebar-bg: #ffffff;
  --sidebar-border: #000000;
  --sidebar-hover: #ffffff;
  --panel-bg: #ffffff;
  --panel-border: #000000;
  --panel-header-bg: #ffffff;
  --panel-shadow: none;
  --line-card-bg: #ffffff;
  --line-card-border: #000000;
  --line-card-shadow: none;
  --line-row-bg: #ffffff;
  --line-row-alt-bg: #ffffff;
  --line-separator-bg: #000000;
  --table-cell-bg: #ffffff;
  --table-header-bg: #ffffff;
  --table-border: #000000;
  --table-outer-border: #000000;
  --table-readonly-bg: #f2f2f2;
  --table-readonly-text: #000000;
  --table-selected-bg: #ffffff;
  --table-hover-bg: #ffffff;
  --control-bg: #ffffff;
  --control-readonly-bg: #f2f2f2;
  --control-focus-ring: #000000;
  --context-menu-bg: #ffffff;
  --context-menu-border: #000000;
  --context-menu-hover-bg: #ffffff;
  --context-menu-text: #000000;
  --context-menu-hover-text: #000000;
  --context-menu-danger: #000000;
  --shadow: none;
  --shadow-md: none;
  --danger: #000000;
  --danger-bg: #ffffff;
  --success: #000000;
  --success-bg: #ffffff;
  --warning: #000000;
  --warning-bg: #ffffff;
  --info: #000000;
  --info-bg: #ffffff;
  --status-draft-bg: #ffffff;
  --status-draft-text: #000000;
  --status-draft-border: #000000;
  --status-pending-bg: #ffffff;
  --status-pending-text: #000000;
  --status-pending-border: #000000;
  --status-not-approved-bg: #ffffff;
  --status-not-approved-text: #000000;
  --status-not-approved-border: #000000;
  --status-approved-bg: #ffffff;
  --status-approved-text: #000000;
  --status-approved-border: #000000;
  --status-incorporated-bg: #ffffff;
  --status-incorporated-text: #000000;
  --status-incorporated-border: #000000;
  --status-finalized-bg: #ffffff;
  --status-finalized-text: #000000;
  --status-finalized-border: #000000;
  --radius: 2px;
  --radius-sm: 2px;
}

body[data-theme="mockup"] {
  color-scheme: light;
  font-family: "Courier New", Courier, monospace;
}

body[data-theme="mockup"] button,
body[data-theme="mockup"] input,
body[data-theme="mockup"] select,
body[data-theme="mockup"] textarea,
body[data-theme="mockup"] .btn,
body[data-theme="mockup"] .nav-item,
body[data-theme="mockup"] .shell-menu-subitem,
body[data-theme="mockup"] .shell-theme-subitem,
body[data-theme="mockup"] .badge,
body[data-theme="mockup"] .kpi-label,
body[data-theme="mockup"] .kpi-value,
body[data-theme="mockup"] .panel-header h2,
body[data-theme="mockup"] h1,
body[data-theme="mockup"] h2,
body[data-theme="mockup"] h3,
body[data-theme="mockup"] h4,
body[data-theme="mockup"] p,
body[data-theme="mockup"] span,
body[data-theme="mockup"] td,
body[data-theme="mockup"] th,
body[data-theme="mockup"] label,
body[data-theme="mockup"] a {
  font-family: "Courier New", Courier, monospace;
}

body[data-theme="mockup"] a,
body[data-theme="mockup"] a:hover,
body[data-theme="mockup"] a:visited {
  color: #000000;
}

body[data-theme="mockup"] .shell-rail,
body[data-theme="mockup"] .panel,
body[data-theme="mockup"] .proposal-kpi-card,
body[data-theme="mockup"] .kpi-card,
body[data-theme="mockup"] .line-card,
body[data-theme="mockup"] .login-card {
  box-shadow: none;
}

body[data-theme="mockup"] .panel-header,
body[data-theme="mockup"] .list-toolbar,
body[data-theme="mockup"] .line-panel-toolbar,
body[data-theme="mockup"] .proposal-kpi-card,
body[data-theme="mockup"] .kpi-card,
body[data-theme="mockup"] .kpi-card-status,
body[data-theme="mockup"] .kpi-card-prodesco,
body[data-theme="mockup"] .settings-inline-panel,
body[data-theme="mockup"] .transition-builder,
body[data-theme="mockup"] .transition-rule-item,
body[data-theme="mockup"] .modal-card,
body[data-theme="mockup"] .selected-product,
body[data-theme="mockup"] .toast {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
  border-radius: 2px;
}

body[data-theme="mockup"] .kpi-label,
body[data-theme="mockup"] .subtitle,
body[data-theme="mockup"] .shell-rail-user-name,
body[data-theme="mockup"] .shell-rail-user-role,
body[data-theme="mockup"] .shell-rail-user-email,
body[data-theme="mockup"] .text-muted,
body[data-theme="mockup"] .empty-state,
body[data-theme="mockup"] .line-field-readonly,
body[data-theme="mockup"] .line-field-badge-readonly,
body[data-theme="mockup"] .line-field-badge-derived,
body[data-theme="mockup"] .readonly-inline-value,
body[data-theme="mockup"] .readonly-inline-suffix {
  color: #000000;
}

body[data-theme="mockup"] .badge,
body[data-theme="mockup"] .badge-draft,
body[data-theme="mockup"] .badge-pending_approval,
body[data-theme="mockup"] .badge-not_approved,
body[data-theme="mockup"] .badge-approved,
body[data-theme="mockup"] .badge-incorporated,
body[data-theme="mockup"] .badge-finalized {
  background: #ffffff;
  color: #000000;
  border: 1px solid #000000;
  border-radius: 2px;
}

body[data-theme="mockup"] .btn-primary,
body[data-theme="mockup"] .btn-success,
body[data-theme="mockup"] .btn-danger,
body[data-theme="mockup"] .btn-warning {
  background: #ffffff;
  border: 1px solid #000000;
  color: #000000;
  border-radius: 2px;
}

body[data-theme="mockup"] .btn-primary:hover:not(:disabled),
body[data-theme="mockup"] .btn-success:hover:not(:disabled),
body[data-theme="mockup"] .btn-danger:hover:not(:disabled),
body[data-theme="mockup"] .btn-warning:hover:not(:disabled) {
  background: #ffffff;
  border-color: #000000;
  color: #000000;
}

body[data-theme="mockup"] .btn-outline,
body[data-theme="mockup"] .btn-ghost,
body[data-theme="mockup"] .nav-item,
body[data-theme="mockup"] .shell-menu-subitem,
body[data-theme="mockup"] .shell-theme-subitem {
  color: #000000;
}

body[data-theme="mockup"] .btn-outline,
body[data-theme="mockup"] .permissions-tab,
body[data-theme="mockup"] .settings-role-chip {
  background: #ffffff;
  border-color: #000000;
  border-radius: 2px;
}

body[data-theme="mockup"] .btn-outline:hover:not(:disabled),
body[data-theme="mockup"] .btn-ghost:hover,
body[data-theme="mockup"] .nav-item:hover,
body[data-theme="mockup"] .shell-menu-subitem:hover,
body[data-theme="mockup"] .shell-theme-subitem:hover,
body[data-theme="mockup"] .permissions-tab:hover,
body[data-theme="mockup"] .settings-role-chip:hover,
body[data-theme="mockup"] .permissions-tab.active,
body[data-theme="mockup"] .settings-role-chip.active,
body[data-theme="mockup"] .nav-item.active {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
}

body[data-theme="mockup"] .form-control,
body[data-theme="mockup"] select,
body[data-theme="mockup"] textarea,
body[data-theme="mockup"] .permissions-inline-select,
body[data-theme="mockup"] .settings-cell-select,
body[data-theme="mockup"] .transition-builder-select,
body[data-theme="mockup"] .transition-builder-select-comment {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
  border-radius: 2px;
}

body[data-theme="mockup"] .form-control:disabled,
body[data-theme="mockup"] .form-control[readonly],
body[data-theme="mockup"] select:disabled,
body[data-theme="mockup"] textarea:disabled {
  background: #f2f2f2;
  color: #000000;
}

body[data-theme="mockup"] .form-control:focus,
body[data-theme="mockup"] select:focus,
body[data-theme="mockup"] textarea:focus {
  border-color: #000000;
  box-shadow: none;
  outline: none;
}

body[data-theme="mockup"] select option {
  background: #ffffff;
  color: #000000;
}

body[data-theme="mockup"] ::selection {
  background: #ffffff;
  color: #000000;
}

body[data-theme="mockup"] .toast-success,
body[data-theme="mockup"] .toast-error,
body[data-theme="mockup"] .toast-warning,
body[data-theme="mockup"] .toast-info {
  background: #ffffff;
  color: #000000;
  border: 1px solid #000000;
}

body[data-theme="mockup"] .kpi-card,
body[data-theme="mockup"] .proposal-kpi-card {
  border-left-width: 1px;
}

body[data-theme="mockup"] .nav-item,
body[data-theme="mockup"] .shell-menu-subitem,
body[data-theme="mockup"] .shell-theme-subitem,
body[data-theme="mockup"] .btn,
body[data-theme="mockup"] .panel,
body[data-theme="mockup"] .kpi-card,
body[data-theme="mockup"] .proposal-kpi-card,
body[data-theme="mockup"] .line-card,
body[data-theme="mockup"] .form-control,
body[data-theme="mockup"] select,
body[data-theme="mockup"] textarea,
body[data-theme="mockup"] .badge {
  border-radius: 2px;
}

body[data-theme="mockup"] .line-description-toggle,
body[data-theme="mockup"] .line-description-toggle-btn,
body[data-theme="mockup"] .line-description-toggle-btn.active,
body[data-theme="mockup"] .line-inline-input,
body[data-theme="mockup"] .line-split-shell,
body[data-theme="mockup"] .line-split-pane-editable,
body[data-theme="mockup"] .line-field-editable,
body[data-theme="mockup"] .line-field-badge,
body[data-theme="mockup"] .line-field-badge-editable,
body[data-theme="mockup"] .lines-table .col-supplier,
body[data-theme="mockup"] .lines-table .col-prodesco,
body[data-theme="mockup"] .line-band-prodesco,
body[data-theme="mockup"] .line-context-menu,
body[data-theme="mockup"] .line-context-item,
body[data-theme="mockup"] .line-context-item:hover,
body[data-theme="mockup"] .line-context-item.danger {
  background: #ffffff;
  color: #000000;
  border-color: #000000;
  box-shadow: none;
}

body[data-theme="mockup"] .line-compact-readonly-box,
body[data-theme="mockup"] .line-compact-readonly-box-prodesco,
body[data-theme="mockup"] .line-split-pane-readonly,
body[data-theme="mockup"] .line-field-readonly,
body[data-theme="mockup"] .line-field-derived,
body[data-theme="mockup"] .line-field-badge-readonly,
body[data-theme="mockup"] .line-field-badge-derived {
  background: #f2f2f2;
  color: #000000;
  border-color: #000000;
  box-shadow: none;
}

body[data-theme="mockup"] .line-compact-description .line-inline-input,
body[data-theme="mockup"] .line-compact-consumption .line-inline-input,
body[data-theme="mockup"] .line-split-pane-editable,
body[data-theme="mockup"] .line-split-pane-editable .line-inline-input-split,
body[data-theme="mockup"] .line-split-pane-editable .line-split-edit-control {
  background: #ffffff;
  color: #000000;
}

body[data-theme="mockup"] .line-description-toggle {
  border: 1px solid #000000;
  padding: 1px;
}

body[data-theme="mockup"] .line-description-toggle-btn,
body[data-theme="mockup"] .line-context-item {
  border-radius: 2px;
}

body[data-theme="mockup"] .line-description-toggle-btn.active {
  background: #ffffff;
}

body[data-theme="mockup"] .line-compact-description-prodesco .line-description-toggle-btn.active {
  background: #f2f2f2;
  color: #000000;
}

body[data-theme="mockup"] .line-split-pane-readonly {
  border-left: 1px solid #000000;
}

body[data-theme="mockup"] .line-inline-input,
body[data-theme="mockup"] .line-inline-input-split {
  color: #000000;
}

body[data-theme="mockup"] .line-inline-input:focus,
body[data-theme="mockup"] .line-inline-input-split:focus {
  box-shadow: none;
  border-color: #000000;
}

body[data-theme="mockup"] .line-field-value .metric-positive,
body[data-theme="mockup"] .line-field-value .metric-negative {
  color: #000000;
}

/* Night theme line overrides, based on the Nord dark palette. */

body[data-theme="noche"] .proposal-kpi-card-prodesco,
body[data-theme="noche"] .kpi-card-prodesco {
  background: var(--gold-bg);
  border-color: var(--gold-bg-strong);
}

body[data-theme="noche"] .line-comparison-card.expanded .line-compact-row,
body[data-theme="noche"] .line-section + .line-section,
body[data-theme="noche"] .line-band,
body[data-theme="noche"] .line-band-label,
body[data-theme="noche"] .line-band-grid .line-field + .line-field {
  border-color: var(--table-border);
}

body[data-theme="noche"] .line-field-readonly,
body[data-theme="noche"] .line-field-derived,
body[data-theme="noche"] .line-band-prodesco {
  background: var(--table-readonly-bg);
}

body[data-theme="noche"] .line-description-toggle,
body[data-theme="noche"] .line-inline-input,
body[data-theme="noche"] .line-split-shell,
body[data-theme="noche"] .line-compact-readonly-box,
body[data-theme="noche"] .line-field {
  border-color: var(--table-border);
}

body[data-theme="noche"] .line-description-toggle,
body[data-theme="noche"] .line-inline-input,
body[data-theme="noche"] .line-split-shell {
  background: var(--control-bg);
}

body[data-theme="noche"] .line-description-toggle-btn.active,
body[data-theme="noche"] .line-split-pane-editable {
  background: var(--line-row-alt-bg);
  color: var(--text);
}

body[data-theme="noche"] .line-compact-description-prodesco .line-description-toggle-btn.active,
body[data-theme="noche"] .line-split-pane-readonly {
  background: var(--table-readonly-bg);
  border-color: var(--table-border);
  color: var(--text-secondary);
}

body[data-theme="noche"] .line-field-badge-readonly,
body[data-theme="noche"] .line-field-badge-derived {
  background: var(--gold-bg);
  color: var(--text-secondary);
}

body[data-theme="noche"] .lines-table .col-supplier,
body[data-theme="noche"] .lines-table .col-prodesco {
  background: var(--table-readonly-bg);
}

/* ── Reset ─────────────────────────────────────────── */

