/*!
=========================================================
AUTORÍA / COPYRIGHT
=========================================================
Proyecto: Aplicación web de selección de válvulas
Autor: Albert Soto Picon
Copyright © 2026 Albert Soto Picon
Firma interna: ASOTOPI
Queda prohibida la copia, distribución o modificación sin autorización.
=========================================================
*/
:root {
  --campo: #f6f8fa;
  --campo-hover: #edf0f4;
  --panel-2: #f8fbff;
  --boton: #edf4ff;
  --boton-hover: #dfeeff;
  --trazo: #dfe3e9;
  --tema-hover: #edf4ff;
  --tema-activo: #e7f0ff;
}
.tema-btn {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: none;
  background: rgba(79, 130, 196, 0.14);
  color: #4f82c4;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  padding: 0;
}
.tema-btn:hover {
  background: rgba(79, 130, 196, 0.24);
}
.tema-btn:focus,
.tema-btn:focus-visible {
  outline: none;
  box-shadow: none;
}
.tema-btn svg {
  width: 14px;
  height: 14px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tema-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 20000;
  display: grid;
  gap: 2px;
  min-width: 220px;
  padding: 6px;
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  background: var(--panel);
  box-shadow: var(--shadow-md);
  text-align: left;
}
.tema-menu[hidden] {
  display: none;
}
.tema-opcion {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 9px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}
.tema-opcion:hover,
.tema-opcion:focus-visible {
  background: var(--tema-hover);
  outline: none;
}
.tema-opcion[aria-checked="true"] {
  background: var(--tema-activo);
  color: var(--primary);
}
.tema-muestra {
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--m1) 50%, var(--m2) 50%);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
}
@media (min-width: 981px) {
  .tema-btn {
    margin-right: -2px;
  }
}
@media (max-width: 980px) {
  .session-user-row {
    position: relative;
  }
  .tema-menu {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen {
html[data-tema^="oscuro"] {
  color-scheme: dark;
  --bg: #10151d;
  --bg-2: #171f2b;
  --panel: #1d2635;
  --panel-2: #222d3f;
  --panel-strong: #263145;
  --border: #2f3c52;
  --text: #e3eaf4;
  --muted: #95a6bd;
  --primary: #5b8def;
  --primary-hover: #7aa3f4;
  --success: #58d3a0;
  --success-bg: rgba(88, 211, 160, 0.14);
  --danger-bg: #46252a;
  --danger-text: #ff9f98;
  --required: #ff8a80;
  --accent-soft: rgba(91, 141, 239, 0.16);
  --campo: #2a3649;
  --campo-hover: #324058;
  --trazo: #2f3c52;
  --boton: #2b3e5c;
  --boton-hover: #35496b;
  --tema-hover: #34496b;
  --tema-activo: #2d3d58;
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.45), 0 4px 10px rgba(0, 0, 0, 0.25);
  --shadow-md: 0 4px 14px rgba(0, 0, 0, 0.5), 0 12px 28px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.55), 0 24px 48px rgba(0, 0, 0, 0.4);
}
html[data-tema="oscuro-contraste"] {
  --bg: #090c12;
  --bg-2: #10151d;
  --panel: #1a2230;
  --panel-2: #1f2938;
  --border: #5f7899;
  --campo: #2d3b52;
  --campo-hover: #364763;
  --trazo: #6b84a8;
  --boton: #2f4768;
  --boton-hover: #3a5680;
  --text: #f1f5fb;
  --muted: #b3c1d6;
}
html[data-tema^="oscuro"] body { color:var(--text); background:linear-gradient( 180deg, var(--bg-2) 0%, var(--bg) 100%); }
html[data-tema^="oscuro"] .sidebar { border-right:1px solid var(--border); background:rgba(33, 45, 60, 0.88); }
html[data-tema^="oscuro"] .module-btn { border:1px solid #394c6b; background:var(--boton); color:#9cc3f5; }
html[data-tema^="oscuro"] .module-btn:hover { background:var(--boton-hover); border-color:#445a7e; color:#b7d2f8; }
html[data-tema^="oscuro"] .module-btn-active { background:#3f5f90; border-color:#5f8fd0; color:#cfe3fc; }
html[data-tema^="oscuro"] .module-btn-active:hover { background:#46659a; border-color:#4f82c4; color:#cfe3fc; }
html[data-tema^="oscuro"] .side-panel { background:var(--panel); border:1px solid var(--border); box-shadow:none; }
html[data-tema^="oscuro"] .side-panel li { color:var(--muted); }
html[data-tema^="oscuro"] .contact-panel { background:transparent; border:none; box-shadow:none; }
html[data-tema^="oscuro"] .contact-company { color:var(--text); }
html[data-tema^="oscuro"] .contact-email-main { color:#ff8a80; }
html[data-tema^="oscuro"] .contact-address { color:var(--text); }
html[data-tema^="oscuro"] .contact-heading { color:var(--text); }
html[data-tema^="oscuro"] .contact-timezone { color:var(--text); }
html[data-tema^="oscuro"] .contact-hours { color:var(--text); }
html[data-tema^="oscuro"] .contact-section-red { color:#ff8a80; }
html[data-tema^="oscuro"] .contact-phone { color:var(--text); }
html[data-tema^="oscuro"] .contact-email { color:var(--text); }
html[data-tema^="oscuro"] .contact-phone a { color:inherit; }
html[data-tema^="oscuro"] .language-label { color:var(--muted); }
html[data-tema^="oscuro"] .language-switcher { border:1px solid var(--border); background:var(--panel); color:var(--text); }
html[data-tema^="oscuro"] .card { background:var(--panel); border:1px solid var(--border); box-shadow:none; }
html[data-tema^="oscuro"] .required-note { color:var(--required); }
html[data-tema^="oscuro"] .required-label::after { color:var(--required); }
html[data-tema^="oscuro"] .tag { border:1px solid var(--border); background:#233041; color:var(--muted); }
html[data-tema^="oscuro"] .tag-success { color:var(--success); background:var(--success-bg); border-color:rgba(17, 150, 105, 0.2); }
html[data-tema^="oscuro"] label { color:var(--muted); }
html[data-tema^="oscuro"] input,
html[data-tema^="oscuro"] select { border:1px solid var(--border); background:var(--panel); color:var(--text); outline:none; }
html[data-tema^="oscuro"] input::placeholder { color:#7185a0; }
html[data-tema^="oscuro"] input:focus,
html[data-tema^="oscuro"] select:focus { border-color:var(--primary); box-shadow:none; }
html[data-tema^="oscuro"] .mini-panel { border:1px solid var(--border); background:var(--panel-2); }
html[data-tema^="oscuro"] .mini-panel-title { color:var(--muted); }
html[data-tema^="oscuro"] .mini-item { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .mini-item span { color:var(--muted); }
html[data-tema^="oscuro"] .checkbox-inline-label { color:var(--muted); }
html[data-tema^="oscuro"] .checkbox-inline-label input[type=checkbox] { accent-color:var(--primary, #2f6fed); }
html[data-tema^="oscuro"] .fire-case-edit-btn { border:none; background:var(--panel-2); color:#8fb6f0; }
html[data-tema^="oscuro"] .fire-case-edit-btn:hover { background:var(--boton-hover); }
html[data-tema^="oscuro"] .field-info-icon { background:rgba(79, 130, 196, 0.55); color:#ffffff; }
html[data-tema^="oscuro"] .field-info-icon svg { fill:currentColor; }
html[data-tema^="oscuro"] .field-info-tooltip { background:#3f3520; border:1px solid #e3c766; color:#f0d58a; box-shadow:0 8px 20px rgba(0, 0, 0, 0.48); }
html[data-tema^="oscuro"] .field-info-tooltip::before { border:6px solid transparent; border-bottom-color:#3f3520; }
html[data-tema^="oscuro"] .fire-case-popover .quote-modal-window { box-shadow:0 16px 40px rgba(0, 0, 0, 0.67); }
html[data-tema^="oscuro"] .fire-case-imagen { border:1px solid var(--border); background:var(--panel); }
html[data-tema^="oscuro"] .fire-case-nota { border:1px solid var(--border); background:#3f3520; color:#f0d58a; }
html[data-tema^="oscuro"] .result-card { background:var(--panel-2); border:1px solid var(--border); }
html[data-tema^="oscuro"] .result-name { color:var(--muted); }
html[data-tema^="oscuro"] .result-number { color:var(--success); }
html[data-tema^="oscuro"] .result-unit { color:var(--muted); }
html[data-tema^="oscuro"] .btn { border:none; }
html[data-tema^="oscuro"] .btn-calculate { background:#4f82c4; color:white; box-shadow:none; }
html[data-tema^="oscuro"] .btn-calculate:hover { background:#3f73b6; }
html[data-tema^="oscuro"] .btn-secondary { background:var(--panel-2); color:#9cc3f5; border:1px solid #354762; }
html[data-tema^="oscuro"] .btn-secondary:hover { background:var(--boton-hover); border-color:#3a4d6c; }
html[data-tema^="oscuro"] .history-list::-webkit-scrollbar-track { background:var(--panel-2); }
html[data-tema^="oscuro"] .history-list::-webkit-scrollbar-thumb { background:#3a4a66; border:2px solid var(--panel-2); }
html[data-tema^="oscuro"] .history-list::-webkit-scrollbar-thumb:hover { background:#4a5c7a; }
html[data-tema^="oscuro"] article.card.purgador-review-card { background:rgba(79, 130, 196, 0.1); border-color:rgba(79, 130, 196, 0.22); }
html[data-tema^="oscuro"] .purgador-review-card p { color:#b7d2f8; }
html[data-tema^="oscuro"] .purgador-comment-text { border:1px solid var(--panel-2); }
html[data-tema^="oscuro"] article.card.purgador-validation-card.is-pending { background:#3f3520; border-color:#f2c94c; }
html[data-tema^="oscuro"] article.card.purgador-validation-card.is-done { background:#1f4a37; border-color:#34a853; }
html[data-tema^="oscuro"] .purgador-validation-card.is-done h2,
html[data-tema^="oscuro"] .purgador-validation-card.is-done .purgador-validation-text { color:#7fe0ae; }
html[data-tema^="oscuro"] .purgador-validation-text { color:var(--text); }
html[data-tema^="oscuro"] .purgador-validation-card textarea { border:1px solid var(--border); background:var(--panel); }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-validate-btn { background:#2e7d32; }
html[data-tema^="oscuro"] article.card.purgador-validation-card.is-rejected { background:#46252a; border-color:#e57373; }
html[data-tema^="oscuro"] .purgador-validation-card.is-rejected h2,
html[data-tema^="oscuro"] .purgador-validation-card.is-rejected .purgador-validation-text { color:#ff9f98; }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-reject-btn { background:#c62828; }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-reject-btn:hover { background:#a91f1f; }
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-reject { background:#c62828; }
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-reject:hover { background:#a91f1f; }
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-validate { background:#2e7d32; }
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-validate:hover { background:#256628; }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-validate-btn:hover { background:#256628; }
html[data-tema^="oscuro"] .purgador-review-tooltip { color:var(--text); box-shadow:0 6px 18px rgba(0, 0, 0, 0.29); }
html[data-tema^="oscuro"] .purgador-review-tooltip.is-conditional { background:#43301c; border:1px solid #f0a04b; }
html[data-tema^="oscuro"] .purgador-review-tooltip.is-not-recommended { background:#46252a; border:1px solid #e57373; }
html[data-tema^="oscuro"] .history-email-btn { border:none; background:var(--panel-2); color:#8fb6f0; }
html[data-tema^="oscuro"] .history-email-btn:hover { background:var(--boton-hover); }
html[data-tema^="oscuro"] .history-pdf-all-btn { border:none; background:var(--boton); color:#9cc3f5; }
html[data-tema^="oscuro"] .history-pdf-all-btn:hover { background:var(--boton-hover); color:#b7d2f8; }
html[data-tema^="oscuro"] .history-clear-btn { border:none; background:#3a2428; color:var(--danger-text); }
html[data-tema^="oscuro"] .history-clear-btn:hover { background:#46252a; }
html[data-tema^="oscuro"] .history-item { border:1px solid var(--panel-2); background:var(--panel); }
html[data-tema^="oscuro"] .history-title { color:var(--text); }
html[data-tema^="oscuro"] .history-normativa { color:var(--muted); }
html[data-tema^="oscuro"] .history-values { color:var(--muted); }
html[data-tema^="oscuro"] .history-selected { color:#8fb6f0; }
html[data-tema^="oscuro"] .history-empty { color:var(--muted); }
html[data-tema^="oscuro"] .history-action { border:none; background:var(--panel); color:#8fb6f0; }
html[data-tema^="oscuro"] .history-action:hover { background:var(--campo-hover); }
html[data-tema^="oscuro"] .history-qty-input { border:1px solid var(--border); background:var(--panel); color:#8fb6f0; }
html[data-tema^="oscuro"] .history-delete-icon-btn { border:none; background:#3a2428; color:var(--danger-text); }
html[data-tema^="oscuro"] .history-delete-icon-btn:hover { background:#46252a; }
html[data-tema^="oscuro"] .modal-overlay { background:rgba(23, 35, 52, 0.67); }
html[data-tema^="oscuro"] .modal-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .fluid-modal-options { border:1px solid var(--border); background:var(--panel); }
html[data-tema^="oscuro"] .modal-header { border-bottom:1px solid var(--border); background:var(--panel-2); }
html[data-tema^="oscuro"] .modal-header p { color:var(--muted); }
html[data-tema^="oscuro"] .modal-summary-inline { background:var(--panel-2); border-bottom:1px solid var(--border); }
html[data-tema^="oscuro"] .modal-summary-title-line { color:var(--text); }
html[data-tema^="oscuro"] .modal-summary-norma { color:var(--muted); }
html[data-tema^="oscuro"] .modal-summary-values-line { color:var(--muted); }
html[data-tema^="oscuro"] .modal-sort-box select { background-image:none; }
html[data-tema^="oscuro"] .modal-sort-box::after { border-left:4px solid transparent; border-right:4px solid transparent; border-top:6px solid #9fb2cc; }
html[data-tema^="oscuro"] .modal-summary-divider { background:var(--border); }
html[data-tema^="oscuro"] .material-selector-btn { border:1px solid var(--border); background:var(--panel); color:var(--text); outline:none; box-shadow:none; }
html[data-tema^="oscuro"] .material-view-btn { border:1px solid var(--border); background:var(--panel); color:var(--text); }
html[data-tema^="oscuro"] .material-view-btn:hover { border-color:var(--primary); background:var(--panel-2); color:var(--primary); }
html[data-tema^="oscuro"] .material-selector-btn::after { border-left:4px solid transparent; border-right:4px solid transparent; border-top:6px solid #9fb2cc; }
html[data-tema^="oscuro"] .material-selector-btn:focus,
html[data-tema^="oscuro"] .material-selector-btn:hover { border-color:var(--primary); box-shadow:none; background:var(--panel); }
html[data-tema^="oscuro"] .material-option { border:1px solid transparent; background:var(--panel); color:var(--text); }
html[data-tema^="oscuro"] .material-option:hover { background:var(--panel-2); }
html[data-tema^="oscuro"] .material-option.active { background:#2d3d58; color:var(--primary); }
html[data-tema^="oscuro"] .modal-close { border:none; background:var(--panel-strong); color:#8fb6f0; }
html[data-tema^="oscuro"] .modal-close:hover { background:var(--boton-hover); color:var(--primary); }
html[data-tema^="oscuro"] .valve-table thead th { background:#323b4a; color:var(--text); border-bottom:1px solid #3f4e62; }
html[data-tema^="oscuro"] .valve-table tbody td { border-bottom:1px solid #374150; color:var(--text); }
html[data-tema^="oscuro"] .valve-table tbody tr:nth-child(odd) { background:var(--panel); }
html[data-tema^="oscuro"] .valve-table tbody tr:nth-child(even) { background:#233041; }
html[data-tema^="oscuro"] .valve-table tbody tr:hover { background:var(--boton-hover); }
html[data-tema^="oscuro"] .valve-select-btn { border:1px solid var(--border); background:var(--panel); color:#8fb6f0; }
html[data-tema^="oscuro"] .valve-select-btn:hover { background:var(--panel-2); border-color:#4f82c4; }
html[data-tema^="oscuro"] .filterable-header::after { color:var(--muted); }
html[data-tema^="oscuro"] .filterable-header.filter-active { background:#34496b; }
html[data-tema^="oscuro"] .filter-count-badge { background:var(--boton-hover); border:1px solid #2d3b54; color:#8fb6f0; }
html[data-tema^="oscuro"] .filter-dropdown { background:var(--panel); border:1px solid var(--border); box-shadow:0 10px 30px rgba(0, 0, 0, 0.29); }
html[data-tema^="oscuro"] .filter-search { border:none; background:var(--campo); color:var(--text); }
html[data-tema^="oscuro"] .filter-search:focus { background:var(--campo-hover); }
html[data-tema^="oscuro"] .filter-search::placeholder { color:#7185a0; }
html[data-tema^="oscuro"] .filter-mini-btn { border:1px solid var(--border); background:var(--panel); color:var(--muted); }
html[data-tema^="oscuro"] .filter-mini-btn:hover:not(:disabled) { background:var(--panel-2); border-color:var(--primary); color:var(--primary); }
html[data-tema^="oscuro"] .filter-mini-btn-blue { border:1px solid #2d3b54; background:var(--panel-2); color:#8fb6f0; }
html[data-tema^="oscuro"] .filter-mini-btn-blue:hover:not(:disabled) { background:var(--boton-hover); border-color:#33425f; color:#8fb6f0; }
html[data-tema^="oscuro"] .filter-check-option { color:var(--text); }
html[data-tema^="oscuro"] .filter-check-option:hover { background:var(--panel-2); }
html[data-tema^="oscuro"] .filter-check-option.active { background:#2d3d58; color:var(--primary); }
html[data-tema^="oscuro"] .filter-checkbox { accent-color:var(--primary); }
html[data-tema^="oscuro"] .filter-empty-msg { color:var(--muted); }
html[data-tema^="oscuro"] .filter-option { border:none; background:transparent; color:var(--text); }
html[data-tema^="oscuro"] .filter-option:hover { background:var(--panel-2); }
html[data-tema^="oscuro"] .filter-option.active { background:#2d3d58; color:var(--primary); }
html[data-tema^="oscuro"] .modal-footer { border-top:1px solid var(--border); background:var(--panel-2); }
html[data-tema^="oscuro"] .calc-modal-overlay { background:rgba(23, 35, 52, 0.56); }
html[data-tema^="oscuro"] .calc-modal-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .calc-modal-header { border-bottom:1px solid var(--border); background:var(--panel-2); }
html[data-tema^="oscuro"] .calc-modal-header p { color:var(--muted); }
html[data-tema^="oscuro"] .calc-section { border:1px solid var(--border); background:var(--panel); }
html[data-tema^="oscuro"] .calc-section-muted { background:var(--panel-2); }
html[data-tema^="oscuro"] .calc-section-header-white { background:var(--panel); }
html[data-tema^="oscuro"] .calc-result-box { border:1px solid #2d3b54; background:var(--panel-2); }
html[data-tema^="oscuro"] .calc-result-label { color:var(--muted); }
html[data-tema^="oscuro"] .calc-result-value { color:var(--success); }
html[data-tema^="oscuro"] .calc-result-meta { color:var(--muted); }
html[data-tema^="oscuro"] .calc-warning { border:1px solid #672e2e; background:var(--danger-bg); color:var(--danger-text); }
html[data-tema^="oscuro"] .calc-pending { color:var(--muted); }
html[data-tema^="oscuro"] .error-box { background:var(--danger-bg); color:var(--danger-text); border:1px solid #672e2e; }
html[data-tema^="oscuro"] .compat-modal-overlay { background:rgba(23, 35, 52, 0.56); }
html[data-tema^="oscuro"] .compat-modal-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .compat-modal-header { border-bottom:1px solid var(--border); background:var(--panel-2); }
html[data-tema^="oscuro"] .compat-modal-header p { color:var(--muted); }
html[data-tema^="oscuro"] .compat-legend { border-bottom:1px solid var(--border); }
html[data-tema^="oscuro"] .compat-legend-item { color:var(--text); }
html[data-tema^="oscuro"] .compat-warning-box { border-top:1px solid var(--border); }
html[data-tema^="oscuro"] .compat-warning-box h5 { color:var(--text); }
html[data-tema^="oscuro"] .compat-warning-box p { color:var(--muted); }
html[data-tema^="oscuro"] .compat-table thead th { border-bottom:2px solid #d94b62; color:var(--text); }
html[data-tema^="oscuro"] .compat-table tbody td { border-bottom:1px solid #374150; background:var(--panel-2); }
html[data-tema^="oscuro"] .compat-grade { color:#ffffff; }
html[data-tema^="oscuro"] .compat-legend-grade { color:#ffffff; }
html[data-tema^="oscuro"] .compat-grade-a { background:#118a1a; }
html[data-tema^="oscuro"] .compat-grade-b { background:#7ed67f; }
html[data-tema^="oscuro"] .compat-grade-c { background:#fb8c00; }
html[data-tema^="oscuro"] .compat-grade-d { background:#f20427; }
html[data-tema^="oscuro"] .compat-grade-e { background:#5f5f63; }
html[data-tema^="oscuro"] .compat-empty,
html[data-tema^="oscuro"] .compat-loading { color:var(--muted); }
@media (max-width: 980px) {
html[data-tema^="oscuro"] body { background:var(--bg); }
html[data-tema^="oscuro"] .sidebar { border-right:none; border-bottom:1px solid var(--border); }
}
html[data-tema^="oscuro"] .login-tutorial-btn { border:1px solid #394c6b; background:var(--boton); color:#9cc3f5; }
html[data-tema^="oscuro"] .login-tutorial-btn:hover { background:var(--boton-hover); border-color:#445a7e; }
html[data-tema^="oscuro"] .tutorial-login-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .tutorial-login-video { background:#000000; }
html[data-tema^="oscuro"] .login-page { background:linear-gradient( 180deg, var(--bg-2) 0%, var(--bg) 100%); }
html[data-tema^="oscuro"] .login-card { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .login-subtitle { color:var(--muted); }
html[data-tema^="oscuro"] .login-error { background:var(--danger-bg); border:none; color:var(--danger-text); }
html[data-tema^="oscuro"] .tutorial-replay-btn,
html[data-tema^="oscuro"] .tema-btn { border:none; background:rgba(79, 130, 196, 0.14); color:#8fb6f0; }
html[data-tema^="oscuro"] .tutorial-replay-btn:hover,
html[data-tema^="oscuro"] .tema-btn:hover { background:rgba(79, 130, 196, 0.24); }
html[data-tema^="oscuro"] .session-profile-btn { border:none; background:rgba(79, 130, 196, 0.14); color:#8fb6f0; }
html[data-tema^="oscuro"] .session-profile-btn:hover { background:rgba(79, 130, 196, 0.24); }
html[data-tema^="oscuro"] .session-profile-icon { stroke:currentColor; fill:none; }
html[data-tema^="oscuro"] .session-box { border:none; background:transparent; }
html[data-tema^="oscuro"] .session-logout { color:#8fb6f0; }
html[data-tema^="oscuro"] .session-login { color:var(--primary); border:none; background:transparent; }
html[data-tema^="oscuro"] .price-original { color:var(--muted); }
html[data-tema^="oscuro"] .price-final { color:var(--text); }
html[data-tema^="oscuro"] .price-discount { color:#ff9f98; }
html[data-tema^="oscuro"] .login-modal-overlay { background:rgba(23, 35, 52, 0.56); }
html[data-tema^="oscuro"] .login-modal-window { background:rgba(43, 43, 43, 0.98); border:1px solid var(--border); }
html[data-tema^="oscuro"] .login-modal-close { border:none; background:var(--panel-strong); color:#8fb6f0; }
html[data-tema^="oscuro"] .login-modal-close:hover { background:var(--boton-hover); color:var(--primary); }
html[data-tema^="oscuro"] .password-toggle-btn { border:1px solid var(--border); background:var(--panel); color:var(--primary); }
html[data-tema^="oscuro"] .password-toggle-btn:hover { background:var(--panel-2); border-color:transparent; }
html[data-tema^="oscuro"] .valves-loading-spinner { border:3px solid #35445d; border-top-color:var(--primary); }
html[data-tema^="oscuro"] .valves-loading-text { color:var(--muted); }
html[data-tema^="oscuro"] .two-phase-api-warning { border:1px solid #f2c94c; background:#3a3220; color:#f0d58a; }
html[data-tema^="oscuro"] .history-pdf-spinner { border:2px solid currentColor; border-right-color:transparent; }
html[data-tema^="oscuro"] .quote-modal-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .quote-message { border:1px solid var(--border); background:var(--panel); color:var(--text); outline:none; }
html[data-tema^="oscuro"] .quote-editor { border:1px solid var(--border); background:var(--panel); color:var(--text); outline:none; }
html[data-tema^="oscuro"] .quote-message:focus { border-color:var(--primary); }
html[data-tema^="oscuro"] .quote-form-status-success { background:var(--success-bg); color:var(--success); border:1px solid rgba(17, 150, 105, 0.2); }
html[data-tema^="oscuro"] .quote-form-status-error { background:var(--danger-bg); color:var(--danger-text); border:1px solid #642d2d; }
html[data-tema^="oscuro"] .oversize-alert { color:#f0a04b; }
html[data-tema^="oscuro"] .password-toggle-btn { border:1px solid transparent; background:transparent; color:var(--muted); }
html[data-tema^="oscuro"] .password-toggle-btn:hover,
html[data-tema^="oscuro"] .password-toggle-btn:focus-visible { background:var(--panel-2); border-color:transparent; color:var(--primary); }
html[data-tema^="oscuro"] .password-icon { fill:none; stroke:currentColor; }
html[data-tema^="oscuro"] .locked-value { border:1px solid var(--border); background:var(--panel-2); color:var(--muted); }
html[data-tema^="oscuro"] .login-create-account { color:#9cc3f5; }
html[data-tema^="oscuro"] .login-install-btn { border:none; background:rgba(79, 130, 196, 0.14); color:#8fb6f0; }
html[data-tema^="oscuro"] .login-install-btn:hover { background:rgba(79, 130, 196, 0.24); }
html[data-tema^="oscuro"] .login-install-icon { stroke:currentColor; fill:none; }
html[data-tema^="oscuro"] .login-install-text { color:var(--muted); }
html[data-tema^="oscuro"] .install-app-btn { border:none; background:rgba(79, 130, 196, 0.14); color:#8fb6f0; }
html[data-tema^="oscuro"] .install-app-btn:hover { background:rgba(79, 130, 196, 0.24); }
html[data-tema^="oscuro"] .install-app-icon { stroke:currentColor; fill:none; }
html[data-tema^="oscuro"] .ios-install-steps { color:var(--text); }
html[data-tema^="oscuro"] .ios-install-icon-outline { stroke:currentColor; fill:none; }
html[data-tema^="oscuro"] .ios-install-close { border:none; background:rgba(79, 130, 196, 0.14); color:#8fb6f0; }
html[data-tema^="oscuro"] .ios-install-close:hover { background:rgba(79, 130, 196, 0.24); border-color:transparent; color:#8fb6f0; }
html[data-tema^="oscuro"] .session-create-account { color:#9cc3f5; }
html[data-tema^="oscuro"] .profile-header-avatar { border:none; background:rgba(79, 130, 196, 0.14); color:#8fb6f0; }
html[data-tema^="oscuro"] .profile-header-name { color:var(--text); }
html[data-tema^="oscuro"] .profile-header-subtitle { color:var(--muted); }
html[data-tema^="oscuro"] .profile-edit-btn { border:1px solid var(--border); background:var(--panel); color:#8fb6f0; }
html[data-tema^="oscuro"] .profile-edit-btn:hover { background:var(--panel-2); border-color:#4f82c4; }
html[data-tema^="oscuro"] .mini-password-overlay { background:rgba(15, 23, 42, 0.67); }
html[data-tema^="oscuro"] .mini-password-box { background:var(--panel); border:1px solid var(--border); box-shadow:0 18px 40px rgba(0, 0, 0, 0.43); }
html[data-tema^="oscuro"] .mini-password-label { color:var(--text); }
html[data-tema^="oscuro"] .mini-password-box-force .mini-password-error { border:none; }
html[data-tema^="oscuro"] .mini-password-text { color:var(--muted); }
html[data-tema^="oscuro"] .mini-password-input { border:1px solid var(--border); }
html[data-tema^="oscuro"] .mini-password-error { background:#46252a; color:#ff9f98; border:1px solid #592828; }
html[data-tema^="oscuro"] .forgot-password-link { border:none; background:transparent; color:var(--primary); }
html[data-tema^="oscuro"] .valve-secondary-line { color:var(--muted); }
@media (max-width: 1100px) {
html[data-tema^="oscuro"] .contact-panel { background:transparent; border:none; box-shadow:none; }
}
html[data-tema^="oscuro"] .login-language-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .login-language-wrap .custom-select-wrap.open .custom-select-button { background:var(--campo); }
html[data-tema^="oscuro"] .session-admin-link { color:#8fb6f0; }
html[data-tema^="oscuro"] .admin-actividad-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] .admin-actividad-iframe { border:none; }
html[data-tema^="oscuro"] .admin-activity-icon-btn { border:none; background:rgba(79, 130, 196, 0.14); color:#8fb6f0; }
html[data-tema^="oscuro"] .admin-activity-icon { stroke:currentColor; fill:none; }
html[data-tema^="oscuro"] .admin-activity-icon-btn:hover { background:rgba(79, 130, 196, 0.24); }
html[data-tema^="oscuro"] select:not(.custom-select-hidden) { border:none; background:var(--campo); color:transparent; }
html[data-tema^="oscuro"] .custom-select-button { border:1px solid var(--border); background:var(--panel); color:var(--text); }
html[data-tema^="oscuro"] .custom-select-button::after { color:var(--muted); }
html[data-tema^="oscuro"] .custom-select-wrap.open .custom-select-button { border-color:var(--border); box-shadow:none; }
html[data-tema^="oscuro"] .custom-select-menu { background:var(--panel); border:1px solid #394c6b; box-shadow:0 10px 28px rgba(0, 0, 0, 0.43); }
html[data-tema^="oscuro"] .custom-select-option { color:var(--text); }
html[data-tema^="oscuro"] .custom-select-option:hover { background:var(--boton); color:#b7d2f8; }
html[data-tema^="oscuro"] .custom-select-option.selected { background:#3f5f90; color:#cfe3fc; }
html[data-tema^="oscuro"] .session-profile-btn:focus,
html[data-tema^="oscuro"] .session-profile-btn:focus-visible,
html[data-tema^="oscuro"] .admin-activity-icon-btn:focus,
html[data-tema^="oscuro"] .admin-activity-icon-btn:focus-visible,
html[data-tema^="oscuro"] .history-action:focus,
html[data-tema^="oscuro"] .history-action:focus-visible,
html[data-tema^="oscuro"] .history-email-btn:focus,
html[data-tema^="oscuro"] .history-email-btn:focus-visible,
html[data-tema^="oscuro"] .install-app-btn:focus,
html[data-tema^="oscuro"] .install-app-btn:focus-visible,
html[data-tema^="oscuro"] .login-install-btn:focus,
html[data-tema^="oscuro"] .login-install-btn:focus-visible { outline:none; box-shadow:none; }
html[data-tema^="oscuro"] .steam-trap-result { border:1px solid var(--border); background:var(--bg-2); }
html[data-tema^="oscuro"] .steam-trap-result p { color:var(--muted); }
html[data-tema^="oscuro"] .steam-trap-rank-card { border:1px solid var(--border); background:var(--panel); }
html[data-tema^="oscuro"] .steam-trap-rank-card-main { background:var(--panel-2); border-color:#394c6b; }
html[data-tema^="oscuro"] .steam-trap-rank-head { color:var(--muted); }
html[data-tema^="oscuro"] .steam-trap-rank-model { color:var(--text); }
html[data-tema^="oscuro"] .valve-table tbody tr.valves-loading-row:hover { background:var(--panel) !important; }
html[data-tema^="oscuro"] .valve-table tbody tr.valves-loading-row:hover td { background:var(--panel) !important; }
html[data-tema^="oscuro"] .valve-table tbody tr.valves-loading-row td { background:var(--panel) !important; }
html[data-tema^="oscuro"] .purgador-recommendation-card { border:1px solid var(--border); background:var(--panel-2); }
html[data-tema^="oscuro"] .purgador-recommendation-rank { background:var(--boton); border:none; color:#b7d2f8; }
html[data-tema^="oscuro"] .purgador-recommendation-model { color:var(--success); }
html[data-tema^="oscuro"] .purgador-recommendation-data { color:var(--muted); }
html[data-tema^="oscuro"] .purgador-recommendation-price { color:var(--text); }
html[data-tema^="oscuro"] .purgador-recommendation-empty { border:1px solid var(--border); background:var(--panel-2); color:var(--muted); }
html[data-tema^="oscuro"] .purgador-recommendation-loading { border:1px solid var(--border); background:var(--panel-2); }
html[data-tema^="oscuro"] #purgador_history_list .history-item.history-item-condicionada { background:#43301c; border-color:#f0a04b; }
html[data-tema^="oscuro"] #purgador_history_list .history-item.history-item-no-recomendada { background:#46252a; border-color:#e57373; }
html[data-tema^="oscuro"] #purgador_history_list .history-fluid { color:var(--text); }
html[data-tema^="oscuro"] #purgador_history_list .control-history-values { color:var(--muted); }
html[data-tema^="oscuro"] .purgador-recommendation-type { color:var(--muted) !important; }
html[data-tema^="oscuro"] .purgador-badge-p { color:var(--success); }
html[data-tema^="oscuro"] .purgador-badge-a { color:#b7d2f8; }
html[data-tema^="oscuro"] .purgador-badge-none { color:#ff9f98; }
html[data-tema^="oscuro"] .purgador-badge-c { color:#f0a04b; }
html[data-tema^="oscuro"] .purgador-general-warning { background:rgba(79, 130, 196, 0.1); border:none; color:var(--text); }
html[data-tema^="oscuro"] body { background:var(--bg); }
html[data-tema^="oscuro"] ::selection { background:var(--accent-soft); color:var(--primary); }
html[data-tema^="oscuro"] :focus-visible { outline:2px solid var(--primary); }
html[data-tema^="oscuro"] input:focus-visible,
html[data-tema^="oscuro"] select:focus-visible,
html[data-tema^="oscuro"] textarea:focus-visible { outline:none; }
html[data-tema^="oscuro"] * { scrollbar-color:#4a5464 transparent; }
html[data-tema^="oscuro"] *::-webkit-scrollbar-thumb { background:#4a5464; }
html[data-tema^="oscuro"] *::-webkit-scrollbar-thumb:hover { background:#616d80; }
html[data-tema^="oscuro"] label { color:var(--muted); }
html[data-tema^="oscuro"] input,
html[data-tema^="oscuro"] select { background:var(--panel); border:1px solid var(--border); }
html[data-tema^="oscuro"] input:focus,
html[data-tema^="oscuro"] select:focus { border-color:var(--primary); box-shadow:none; }
html[data-tema^="oscuro"] .sidebar { background:var(--panel); border-right:1px solid var(--border); }
html[data-tema^="oscuro"] .module-btn { background:transparent; border:none; color:var(--muted); }
html[data-tema^="oscuro"] .module-btn:hover { background:var(--panel-strong); border-color:transparent; color:var(--text); }
html[data-tema^="oscuro"] .module-btn-active { background:var(--accent-soft); border-color:transparent; color:var(--primary); }
html[data-tema^="oscuro"] .module-btn-active:hover { background:var(--accent-soft); color:var(--primary-hover); }
html[data-tema^="oscuro"] .side-panel { background:var(--panel-strong); border:none; box-shadow:none; }
html[data-tema^="oscuro"] .side-panel h3 { color:var(--text); }
html[data-tema^="oscuro"] .contact-panel { background:transparent; }
html[data-tema^="oscuro"] .sidebar .contact-company,
html[data-tema^="oscuro"] .sidebar .contact-heading,
html[data-tema^="oscuro"] .sidebar .contact-timezone,
html[data-tema^="oscuro"] .sidebar .contact-hours,
html[data-tema^="oscuro"] .sidebar .contact-phone,
html[data-tema^="oscuro"] .sidebar .contact-address,
html[data-tema^="oscuro"] .sidebar .contact-email { color:var(--muted); }
html[data-tema^="oscuro"] .sidebar .contact-company { color:var(--text); }
html[data-tema^="oscuro"] .sidebar .contact-section-red { color:#ff9f98; }
html[data-tema^="oscuro"] .sidebar .contact-email-main { color:#ff9f98; }
html[data-tema^="oscuro"] .hero h1 { color:var(--text); }
html[data-tema^="oscuro"] .language-switcher,
html[data-tema^="oscuro"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button { box-shadow:none; border:none; background:var(--campo); }
html[data-tema^="oscuro"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button:hover { background:var(--campo-hover); }
html[data-tema^="oscuro"] #normativa + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #tipo + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #control_normativa + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #control_tipo_valvula + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #control_tipo_fluido + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #purgador_modo + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #purgador_aplicacion + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #two_phase_scenario + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] #purgador_fluido + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema^="oscuro"] #normativa + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #tipo + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #control_normativa + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #control_tipo_valvula + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #control_tipo_fluido + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #purgador_modo + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #purgador_aplicacion + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #normativa + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #tipo + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #control_normativa + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #control_tipo_valvula + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #control_tipo_fluido + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #purgador_modo + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #purgador_aplicacion + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #two_phase_scenario + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #two_phase_scenario + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] #purgador_fluido + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #purgador_fluido + .custom-select-wrap.open .custom-select-button { background:var(--campo-hover); }
html[data-tema^="oscuro"] select[id*="unidad"] + .custom-select-wrap .custom-select-button,
html[data-tema^="oscuro"] select[id^="fire_"] + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema^="oscuro"] select[id*="unidad"] + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] select[id*="unidad"] + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] select[id^="fire_"] + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] select[id^="fire_"] + .custom-select-wrap.open .custom-select-button { background:var(--campo-hover); }
html[data-tema^="oscuro"] .form-grid .field input:not([type="checkbox"]):not([type="radio"]) { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .form-grid .field input:not([type="checkbox"]):not([type="radio"]):focus { background:var(--campo-hover); }
html[data-tema^="oscuro"] input[type="checkbox"] { border:1px solid #4f5d6f; background:var(--panel); }
html[data-tema^="oscuro"] input[type="checkbox"]:checked { border-color:var(--primary); background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 80% no-repeat; }
html[data-tema^="oscuro"] input[type="checkbox"]:focus-visible { box-shadow:0 0 0 2px rgba(0, 0, 0, 0.84); }
html[data-tema^="oscuro"] .result-panel .result-card,
html[data-tema^="oscuro"] .result-panel .purgador-recommendation-card,
html[data-tema^="oscuro"] .result-panel .purgador-recommendation-loading { border:none; box-shadow:none; background:var(--panel-2); }
html[data-tema^="oscuro"] .material-selector-btn,
html[data-tema^="oscuro"] #orden_valvulas + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .material-selector-btn:hover,
html[data-tema^="oscuro"] .material-selector-btn:focus,
html[data-tema^="oscuro"] #orden_valvulas + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #orden_valvulas + .custom-select-wrap.open .custom-select-button { border:none; background:var(--campo-hover); }
html[data-tema^="oscuro"] .material-view-btn { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .material-view-btn:hover { border:none; background:var(--campo-hover); }
html[data-tema^="oscuro"] .valve-table .valve-select-btn:hover { border-color:transparent; background:var(--boton-hover); }
html[data-tema^="oscuro"] .filter-mini-btn { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .filter-mini-btn:hover:not(:disabled) { border:none; background:var(--campo-hover); color:var(--muted); }
html[data-tema^="oscuro"] .filter-mini-btn-blue { border:none; background:var(--panel-2); }
html[data-tema^="oscuro"] .filter-mini-btn-blue:hover:not(:disabled) { border:none; background:var(--boton-hover); color:#8fb6f0; }
html[data-tema^="oscuro"] #profileForm input { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .calc-modal-window,
html[data-tema^="oscuro"] .calc-modal-header,
html[data-tema^="oscuro"] .calc-section,
html[data-tema^="oscuro"] .calc-result-box,
html[data-tema^="oscuro"] .calc-warning { border:none; }
html[data-tema^="oscuro"] .calc-section + .calc-section { border-top:1px solid var(--border); }
html[data-tema^="oscuro"] .calc-modal-window input { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .calc-modal-window input:focus { background:var(--campo-hover); }
html[data-tema^="oscuro"] .mini-password-input { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .mini-password-input:focus { background:var(--campo-hover); }
html[data-tema^="oscuro"] #quoteForm input { border:none; background:var(--campo); }
html[data-tema^="oscuro"] #quoteForm .quote-editor { border:1px solid var(--panel-2); background:transparent; }
html[data-tema^="oscuro"] #quoteForm input:focus { background:var(--campo-hover); }
html[data-tema^="oscuro"] #quoteForm .quote-form-status-success,
html[data-tema^="oscuro"] #quoteForm .quote-form-status-error { border:none; }
html[data-tema^="oscuro"] #profileForm .quote-form-status-success,
html[data-tema^="oscuro"] #profileForm .quote-form-status-error { border:none; }
html[data-tema^="oscuro"] article.card.purgador-validation-card { border:none; }
html[data-tema^="oscuro"] .purgador-validation-card textarea { border:none; background:var(--panel); }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-validate-btn,
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-validate { background:#1f4a37; color:#7fe0ae; }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-validate-btn:hover,
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-validate:hover { background:#285a44; }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-reject-btn,
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-reject { background:#4a2a30; color:#ff9f98; }
html[data-tema^="oscuro"] .purgador-validation-card .purgador-reject-btn:hover,
html[data-tema^="oscuro"] .purgador-comment-window .purgador-confirm-reject:hover { background:#5a343b; }
html[data-tema^="oscuro"] #purgador_reject_reason + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema^="oscuro"] #purgador_reject_reason + .custom-select-wrap .custom-select-button:hover,
html[data-tema^="oscuro"] #purgador_reject_reason + .custom-select-wrap.open .custom-select-button { background:var(--campo-hover); }
html[data-tema^="oscuro"] .login-form input,
html[data-tema^="oscuro"] #forgot_password_identifier { border:none; background:var(--campo); }
html[data-tema^="oscuro"] .login-form input:focus,
html[data-tema^="oscuro"] #forgot_password_identifier:focus { background:var(--campo-hover); }
html[data-tema^="oscuro"] .sidebar { border-right:none; }
@media (min-width: 981px) {
html[data-tema^="oscuro"] .sidebar { box-shadow:4px 0 18px rgba(0, 0, 0, 0.25); }
}
html[data-tema^="oscuro"] .session-client { color:var(--text); }
html[data-tema^="oscuro"] .session-login,
html[data-tema^="oscuro"] .session-logout { color:var(--primary); }
html[data-tema^="oscuro"] .card { background:var(--panel); border:none; box-shadow:var(--shadow-sm); }
html[data-tema^="oscuro"] .card-header h2 { color:var(--text); }
html[data-tema^="oscuro"] .tag-success { background:var(--success-bg); color:var(--success); border-color:transparent; }
html[data-tema^="oscuro"] .mini-panel { background:var(--panel-strong); border:none; }
html[data-tema^="oscuro"] .mini-item { border:none; background:var(--panel); box-shadow:var(--shadow-xs); }
html[data-tema^="oscuro"] .result-card { background:var(--panel); border:1px solid var(--border); box-shadow:var(--shadow-xs); }
html[data-tema^="oscuro"] .result-name { color:var(--muted); }
html[data-tema^="oscuro"] .result-number { color:var(--success); }
html[data-tema^="oscuro"] .result-unit { color:var(--muted); }
html[data-tema^="oscuro"] .purgador-recommendation-card { background:var(--panel); }
html[data-tema^="oscuro"] .profile-edit-btn { background:transparent; border:none; color:var(--primary); }
html[data-tema^="oscuro"] .profile-edit-btn:hover { background:transparent; color:var(--primary-hover); }
html[data-tema^="oscuro"] .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] .custom-select-button:focus,
html[data-tema^="oscuro"] .custom-select-button:focus-visible { border-color:var(--primary); box-shadow:none; outline:none; }
html[data-tema^="oscuro"] .hero-right .language-switcher + .custom-select-wrap.open .custom-select-button,
html[data-tema^="oscuro"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button:focus,
html[data-tema^="oscuro"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button:focus-visible { border-color:var(--primary); }
html[data-tema^="oscuro"] .btn-calculate { background:var(--primary); box-shadow:var(--shadow-sm); }
html[data-tema^="oscuro"] .btn-calculate:hover { background:var(--primary-hover); box-shadow:var(--shadow-md); }
html[data-tema^="oscuro"] .btn-calculate:active { box-shadow:var(--shadow-xs); }
html[data-tema^="oscuro"] .btn-secondary { background:var(--panel-strong); border:none; color:#8fb6f0; box-shadow:none; }
html[data-tema^="oscuro"] .btn-secondary:hover { background:var(--boton-hover); }
html[data-tema^="oscuro"] .history-action,
html[data-tema^="oscuro"] .valve-select-btn { background:var(--panel); box-shadow:none; border-color:transparent; color:var(--primary); }
html[data-tema^="oscuro"] .history-action:hover,
html[data-tema^="oscuro"] .valve-select-btn:hover { box-shadow:none; background:var(--campo-hover); }
html[data-tema^="oscuro"] .history-delete-icon-btn { background:#3a2428; border-color:transparent; }
html[data-tema^="oscuro"] .qty-stepper { border:1px solid var(--panel-2); background:var(--panel); }
html[data-tema^="oscuro"] .qty-stepper .history-qty-input { border:none; }
html[data-tema^="oscuro"] .qty-stepper-btns { border-left:1px solid var(--panel-2); }
html[data-tema^="oscuro"] .qty-step-btn { border:none; background:var(--panel-strong); color:var(--muted); }
html[data-tema^="oscuro"] .qty-step-up { border-bottom:1px solid var(--panel-2); }
html[data-tema^="oscuro"] .qty-step-btn:hover { background:var(--accent-soft); color:var(--primary); }
html[data-tema^="oscuro"] .qty-step-btn:active { background:var(--accent-soft); }
html[data-tema^="oscuro"] .modal-overlay { background:rgba(32, 33, 36, 0.72); }
html[data-tema^="oscuro"] .modal-window,
html[data-tema^="oscuro"] .fluid-modal-window,
html[data-tema^="oscuro"] .calc-modal-window,
html[data-tema^="oscuro"] .profile-modal-window,
html[data-tema^="oscuro"] .quote-modal-window,
html[data-tema^="oscuro"] .tutorial-login-window,
html[data-tema^="oscuro"] .login-modal-window { border:none; box-shadow:var(--shadow-lg); }
html[data-tema^="oscuro"] .modal-header,
html[data-tema^="oscuro"] .modal-summary-inline { background:var(--panel); border-bottom:1px solid var(--border); }
html[data-tema^="oscuro"] .modal-header h3 { color:var(--text); }
html[data-tema^="oscuro"] .valve-table thead th { background:var(--panel); color:var(--muted); border-bottom:1px solid var(--border); }
html[data-tema^="oscuro"] .valve-table tbody td { border-bottom:1px solid var(--panel-strong); }
html[data-tema^="oscuro"] .valve-table tbody tr:nth-child(odd) { background:var(--panel); }
html[data-tema^="oscuro"] .valve-table tbody tr:nth-child(even) { background:var(--panel-2); }
html[data-tema^="oscuro"] .valve-table tbody tr:hover { background:var(--accent-soft); }
html[data-tema^="oscuro"] .login-page { background:var(--bg); }
html[data-tema^="oscuro"] .login-card { background:var(--panel); border:none; box-shadow:var(--shadow-lg); }
html[data-tema^="oscuro"] .login-title { color:var(--text); }
html[data-tema^="oscuro"] .login-subtitle { color:var(--muted); }
html[data-tema^="oscuro"] .custom-select-button::after { color:var(--muted); }
html[data-tema^="oscuro"] .custom-select-menu { border:none; box-shadow:var(--shadow-md); }
html[data-tema^="oscuro"] .custom-select-option.selected,
html[data-tema^="oscuro"] .material-option.active { color:var(--primary); background:var(--accent-soft); }
html[data-tema^="oscuro"] .tutorial-click-blocker { background:transparent; }
html[data-tema^="oscuro"] .tutorial-spotlight { border:2px solid #ffffff; box-shadow:0 0 0 9999px rgba(0, 0, 0, 0.9); }
html[data-tema^="oscuro"] .tutorial-spotlight.hidden { border:none; }
html[data-tema^="oscuro"] .tutorial-tooltip { background:var(--panel); border:1px solid var(--border); box-shadow:0 14px 34px rgba(0, 0, 0, 0.67); }
html[data-tema^="oscuro"] .tutorial-step-counter { color:var(--primary); }
html[data-tema^="oscuro"] .tutorial-tooltip-title { color:var(--text); }
html[data-tema^="oscuro"] .tutorial-tooltip-text { color:var(--muted); }
html[data-tema^="oscuro"] .tutorial-skip-btn { border:none; background:none; color:var(--muted); }
html[data-tema^="oscuro"] .tutorial-skip-btn:hover { color:var(--text); }
html[data-tema="oscuro"] .compat-modal-window {
  border-color: transparent;
}
html[data-tema^="oscuro"] .brand-logo,
html[data-tema^="oscuro"] .login-logo {
  filter: contrast(0.5) brightness(1.25);
}
}
html[data-tema="contraste"] {
  --bg: #d3deee;
  --bg-2: #e2eaf5;
  --panel-strong: #dbe5f2;
  --border: #9fb3cd;
  --text: #1b2535;
  --muted: #4f6079;
  --primary: #3a68ad;
  --primary-hover: #2e5896;
  --campo: #e6ecf5;
  --campo-hover: #d7e1ef;
  --trazo: #8ea4c0;
  --boton: #cfe0f8;
  --boton-hover: #bcd5f6;
  --tema-hover: #cfe0f8;
  --tema-activo: #b3cef3;
}
html[data-tema="contraste"] body { color:var(--text); background:linear-gradient( 180deg, var(--bg-2) 0%, var(--bg) 100%); }
html[data-tema="contraste"] .sidebar { border-right:1px solid var(--border); background:rgba(248, 251, 255, 0.88); }
html[data-tema="contraste"] .module-btn { border:1px solid #3c74d3; background:var(--boton); color:#2f5f9f; }
html[data-tema="contraste"] .module-btn:hover { background:var(--boton-hover); border-color:#9fbbe8; color:#244f87; }
html[data-tema="contraste"] .module-btn-active { background:#b3cef3; border-color:#5f8fd0; color:#183f72; }
html[data-tema="contraste"] .module-btn-active:hover { background:#a3c3ee; border-color:#4f82c4; color:#153966; }
html[data-tema="contraste"] .side-panel { background:var(--panel); border:1px solid var(--border); box-shadow:none; }
html[data-tema="contraste"] .side-panel li { color:var(--muted); }
html[data-tema="contraste"] .contact-panel { background:transparent; border:none; box-shadow:none; }
html[data-tema="contraste"] .contact-company { color:var(--text); }
html[data-tema="contraste"] .contact-email-main { color:#ff2b2b; }
html[data-tema="contraste"] .contact-address { color:var(--text); }
html[data-tema="contraste"] .contact-heading { color:var(--text); }
html[data-tema="contraste"] .contact-timezone { color:var(--text); }
html[data-tema="contraste"] .contact-hours { color:var(--text); }
html[data-tema="contraste"] .contact-section-red { color:#ff2b2b; }
html[data-tema="contraste"] .contact-phone { color:var(--text); }
html[data-tema="contraste"] .contact-email { color:var(--text); }
html[data-tema="contraste"] .contact-phone a { color:inherit; }
html[data-tema="contraste"] .language-label { color:var(--muted); }
html[data-tema="contraste"] .language-switcher { border:1px solid var(--border); background:#ffffff; color:var(--text); }
html[data-tema="contraste"] .card { background:var(--panel); border:1px solid var(--border); box-shadow:none; }
html[data-tema="contraste"] .required-note { color:var(--required); }
html[data-tema="contraste"] .required-label::after { color:var(--required); }
html[data-tema="contraste"] .tag { border:1px solid var(--border); background:#f4f7fb; color:var(--muted); }
html[data-tema="contraste"] .tag-success { color:var(--success); background:var(--success-bg); border-color:rgba(17, 150, 105, 0.20); }
html[data-tema="contraste"] label { color:var(--muted); }
html[data-tema="contraste"] input,
html[data-tema="contraste"] select { border:1px solid var(--border); background:#ffffff; color:var(--text); outline:none; }
html[data-tema="contraste"] input::placeholder { color:#5f6f86; }
html[data-tema="contraste"] input:focus,
html[data-tema="contraste"] select:focus { border-color:var(--primary); box-shadow:none; }
html[data-tema="contraste"] .mini-panel { border:1px solid var(--border); background:#f7faff; }
html[data-tema="contraste"] .mini-panel-title { color:var(--muted); }
html[data-tema="contraste"] .mini-item { background:white; border:1px solid var(--border); }
html[data-tema="contraste"] .mini-item span { color:var(--muted); }
html[data-tema="contraste"] .checkbox-inline-label { color:var(--muted); }
html[data-tema="contraste"] .checkbox-inline-label input[type=checkbox] { accent-color:var(--primary, #2f6fed); }
html[data-tema="contraste"] .fire-case-edit-btn { border:none; background:var(--boton); color:#2a5698; }
html[data-tema="contraste"] .fire-case-edit-btn:hover { background:var(--boton-hover); }
html[data-tema="contraste"] .field-info-icon { background:rgba(79, 130, 196, 0.5); color:#ffffff; }
html[data-tema="contraste"] .field-info-icon svg { fill:currentColor; }
html[data-tema="contraste"] .field-info-tooltip { background:#fff8e1; border:1px solid #e3c766; color:#6b5300; box-shadow:0 8px 20px rgba(23, 35, 52, 0.2); }
html[data-tema="contraste"] .field-info-tooltip::before { border:6px solid transparent; border-bottom-color:#ffd448; }
html[data-tema="contraste"] .fire-case-popover .quote-modal-window { box-shadow:0 16px 40px rgba(23, 35, 52, 0.28); }
html[data-tema="contraste"] .fire-case-imagen { border:1px solid var(--border); background:#ffffff; }
html[data-tema="contraste"] .fire-case-nota { border:1px solid var(--border); background:#fff8e6; color:#6b5300; }
html[data-tema="contraste"] .result-card { background:#f8fafc; border:1px solid var(--border); }
html[data-tema="contraste"] .result-name { color:var(--muted); }
html[data-tema="contraste"] .result-number { color:var(--success); }
html[data-tema="contraste"] .result-unit { color:var(--muted); }
html[data-tema="contraste"] .btn { border:none; }
html[data-tema="contraste"] .btn-calculate { background:#4f82c4; color:white; box-shadow:none; }
html[data-tema="contraste"] .btn-calculate:hover { background:#3f73b6; }
html[data-tema="contraste"] .btn-secondary { background:var(--boton); color:#2f5f9f; border:1px solid #5584c9; }
html[data-tema="contraste"] .btn-secondary:hover { background:var(--boton-hover); border-color:#3a73d3; }
html[data-tema="contraste"] .history-list::-webkit-scrollbar-track { background:#dde7f3; }
html[data-tema="contraste"] .history-list::-webkit-scrollbar-thumb { background:#c9d7ea; border:2px solid #7da3d1; }
html[data-tema="contraste"] .history-list::-webkit-scrollbar-thumb:hover { background:#b7c8df; }
html[data-tema="contraste"] article.card.purgador-review-card { background:rgba(79, 130, 196, 0.19); border-color:rgba(79, 130, 196, 0.22); }
html[data-tema="contraste"] .purgador-review-card p { color:#244f87; }
html[data-tema="contraste"] .purgador-comment-text { border:1px solid #94a1b4; }
html[data-tema="contraste"] article.card.purgador-validation-card.is-pending { background:#fff8e1; border-color:#f2c94c; }
html[data-tema="contraste"] article.card.purgador-validation-card.is-done { background:#e6f4ea; border-color:#34a853; }
html[data-tema="contraste"] .purgador-validation-card.is-done h2,
html[data-tema="contraste"] .purgador-validation-card.is-done .purgador-validation-text { color:#1e6b34; }
html[data-tema="contraste"] .purgador-validation-text { color:var(--text); }
html[data-tema="contraste"] .purgador-validation-card textarea { border:1px solid var(--border); background:#ffffff; }
html[data-tema="contraste"] .purgador-validation-card .purgador-validate-btn { background:#2e7d32; }
html[data-tema="contraste"] article.card.purgador-validation-card.is-rejected { background:#fdecec; border-color:#e57373; }
html[data-tema="contraste"] .purgador-validation-card.is-rejected h2,
html[data-tema="contraste"] .purgador-validation-card.is-rejected .purgador-validation-text { color:#b71c1c; }
html[data-tema="contraste"] .purgador-validation-card .purgador-reject-btn { background:#c62828; }
html[data-tema="contraste"] .purgador-validation-card .purgador-reject-btn:hover { background:#a91f1f; }
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-reject { background:#c62828; }
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-reject:hover { background:#a91f1f; }
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-validate { background:#2e7d32; }
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-validate:hover { background:#256628; }
html[data-tema="contraste"] .purgador-validation-card .purgador-validate-btn:hover { background:#256628; }
html[data-tema="contraste"] .purgador-review-tooltip { color:var(--text); box-shadow:0 6px 18px rgba(0, 0, 0, 0.12); }
html[data-tema="contraste"] .purgador-review-tooltip.is-conditional { background:#fff1e0; border:1px solid #f0a04b; }
html[data-tema="contraste"] .purgador-review-tooltip.is-not-recommended { background:#fdecec; border:1px solid #e57373; }
html[data-tema="contraste"] .history-email-btn { border:none; background:var(--boton); color:#2a5698; }
html[data-tema="contraste"] .history-email-btn:hover { background:var(--boton-hover); }
html[data-tema="contraste"] .history-pdf-all-btn { border:none; background:var(--boton); color:#2f5f9f; }
html[data-tema="contraste"] .history-pdf-all-btn:hover { background:var(--boton-hover); color:#244f87; }
html[data-tema="contraste"] .history-clear-btn { border:none; background:#fff8f8; color:var(--danger-text); }
html[data-tema="contraste"] .history-clear-btn:hover { background:#fff1f1; }
html[data-tema="contraste"] .history-item { border:1px solid #94a1b4; background:white; }
html[data-tema="contraste"] .history-title { color:var(--text); }
html[data-tema="contraste"] .history-normativa { color:var(--muted); }
html[data-tema="contraste"] .history-values { color:var(--muted); }
html[data-tema="contraste"] .history-selected { color:#2a5698; }
html[data-tema="contraste"] .history-empty { color:var(--muted); }
html[data-tema="contraste"] .history-action { border:none; background:#ffffff; color:#2a5698; }
html[data-tema="contraste"] .history-action:hover { background:var(--campo-hover); }
html[data-tema="contraste"] .history-qty-input { border:1px solid var(--border); background:#ffffff; color:#2a5698; }
html[data-tema="contraste"] .history-delete-icon-btn { border:none; background:#fff8f8; color:var(--danger-text); }
html[data-tema="contraste"] .history-delete-icon-btn:hover { background:#fff1f1; }
html[data-tema="contraste"] .modal-overlay { background:rgba(23, 35, 52, 0.45); }
html[data-tema="contraste"] .modal-window { background:#ffffff; border:1px solid var(--border); }
html[data-tema="contraste"] .fluid-modal-options { border:1px solid var(--border); background:#ffffff; }
html[data-tema="contraste"] .modal-header { border-bottom:1px solid var(--border); background:#f8fbff; }
html[data-tema="contraste"] .modal-header p { color:var(--muted); }
html[data-tema="contraste"] .modal-summary-inline { background:#f8fbff; border-bottom:1px solid var(--border); }
html[data-tema="contraste"] .modal-summary-title-line { color:var(--text); }
html[data-tema="contraste"] .modal-summary-norma { color:var(--muted); }
html[data-tema="contraste"] .modal-summary-values-line { color:var(--muted); }
html[data-tema="contraste"] .modal-sort-box select { background-image:none; }
html[data-tema="contraste"] .modal-sort-box::after { border-left:4px solid transparent; border-right:4px solid transparent; border-top:6px solid #22324a; }
html[data-tema="contraste"] .modal-summary-divider { background:var(--border); }
html[data-tema="contraste"] .material-selector-btn { border:1px solid var(--border); background:#ffffff; color:var(--text); outline:none; box-shadow:none; }
html[data-tema="contraste"] .material-view-btn { border:1px solid var(--border); background:#ffffff; color:var(--text); }
html[data-tema="contraste"] .material-view-btn:hover { border-color:var(--primary); background:var(--boton); color:var(--primary); }
html[data-tema="contraste"] .material-selector-btn::after { border-left:4px solid transparent; border-right:4px solid transparent; border-top:6px solid #22324a; }
html[data-tema="contraste"] .material-selector-btn:focus,
html[data-tema="contraste"] .material-selector-btn:hover { border-color:var(--primary); box-shadow:none; background:#ffffff; }
html[data-tema="contraste"] .material-option { border:1px solid transparent; background:#ffffff; color:var(--text); }
html[data-tema="contraste"] .material-option:hover { background:var(--boton); }
html[data-tema="contraste"] .material-option.active { background:#cfe0f8; color:var(--primary); }
html[data-tema="contraste"] .modal-close { border:none; background:var(--panel-strong); color:#2a5698; }
html[data-tema="contraste"] .modal-close:hover { background:#cfd9e8; color:var(--primary); }
html[data-tema="contraste"] .valve-table thead th { background:#e6e9ee; color:#2D3747; border-bottom:1px solid #7087a3; }
html[data-tema="contraste"] .valve-table tbody td { border-bottom:1px solid #8494ab; color:var(--text); }
html[data-tema="contraste"] .valve-table tbody tr:nth-child(odd) { background:#ffffff; }
html[data-tema="contraste"] .valve-table tbody tr:nth-child(even) { background:#f3f7fc; }
html[data-tema="contraste"] .valve-table tbody tr:hover { background:var(--boton-hover); }
html[data-tema="contraste"] .valve-select-btn { border:1px solid var(--border); background:#ffffff; color:#2a5698; }
html[data-tema="contraste"] .valve-select-btn:hover { background:var(--boton); border-color:#4f82c4; }
html[data-tema="contraste"] .filterable-header::after { color:#4c5d74; }
html[data-tema="contraste"] .filterable-header.filter-active { background:#c3d7f5; }
html[data-tema="contraste"] .filter-count-badge { background:var(--boton-hover); border:1px solid #367dff; color:#24508f; }
html[data-tema="contraste"] .filter-dropdown { background:#ffffff; border:1px solid var(--border); box-shadow:0 10px 30px rgba(23, 35, 52, 0.12); }
html[data-tema="contraste"] .filter-search { border:none; background:var(--campo); color:var(--text); }
html[data-tema="contraste"] .filter-search:focus { background:var(--campo-hover); }
html[data-tema="contraste"] .filter-search::placeholder { color:#5f6f86; }
html[data-tema="contraste"] .filter-mini-btn { border:1px solid var(--border); background:#ffffff; color:var(--muted); }
html[data-tema="contraste"] .filter-mini-btn:hover:not(:disabled) { background:var(--boton); border-color:var(--primary); color:var(--primary); }
html[data-tema="contraste"] .filter-mini-btn-blue { border:1px solid #367dff; background:var(--boton); color:#24508f; }
html[data-tema="contraste"] .filter-mini-btn-blue:hover:not(:disabled) { background:var(--boton-hover); border-color:#246dff; color:#1f56c4; }
html[data-tema="contraste"] .filter-check-option { color:var(--text); }
html[data-tema="contraste"] .filter-check-option:hover { background:var(--boton); }
html[data-tema="contraste"] .filter-check-option.active { background:#cfe0f8; color:var(--primary); }
html[data-tema="contraste"] .filter-checkbox { accent-color:var(--primary); }
html[data-tema="contraste"] .filter-empty-msg { color:var(--muted); }
html[data-tema="contraste"] .filter-option { border:none; background:transparent; color:var(--text); }
html[data-tema="contraste"] .filter-option:hover { background:var(--boton); }
html[data-tema="contraste"] .filter-option.active { background:#cfe0f8; color:var(--primary); }
html[data-tema="contraste"] .modal-footer { border-top:1px solid var(--border); background:#fafcff; }
html[data-tema="contraste"] .calc-modal-overlay { background:rgba(23, 35, 52, 0.34); }
html[data-tema="contraste"] .calc-modal-window { background:#ffffff; border:1px solid var(--border); }
html[data-tema="contraste"] .calc-modal-header { border-bottom:1px solid var(--border); background:#f8fbff; }
html[data-tema="contraste"] .calc-modal-header p { color:var(--muted); }
html[data-tema="contraste"] .calc-section { border:1px solid var(--border); background:#ffffff; }
html[data-tema="contraste"] .calc-section-muted { background:#f8fbff; }
html[data-tema="contraste"] .calc-section-header-white { background:#ffffff; }
html[data-tema="contraste"] .calc-result-box { border:1px solid #367dff; background:var(--boton); }
html[data-tema="contraste"] .calc-result-label { color:var(--muted); }
html[data-tema="contraste"] .calc-result-value { color:var(--success); }
html[data-tema="contraste"] .calc-result-meta { color:var(--muted); }
html[data-tema="contraste"] .calc-warning { border:1px solid #d64949; background:var(--danger-bg); color:var(--danger-text); }
html[data-tema="contraste"] .calc-pending { color:var(--muted); }
html[data-tema="contraste"] .error-box { background:var(--danger-bg); color:var(--danger-text); border:1px solid #d64949; }
html[data-tema="contraste"] .compat-modal-overlay { background:rgba(23, 35, 52, 0.34); }
html[data-tema="contraste"] .compat-modal-window { background:#ffffff; border:1px solid var(--border); }
html[data-tema="contraste"] .compat-modal-header { border-bottom:1px solid var(--border); background:#f8fbff; }
html[data-tema="contraste"] .compat-modal-header p { color:var(--muted); }
html[data-tema="contraste"] .compat-legend { border-bottom:1px solid var(--border); }
html[data-tema="contraste"] .compat-legend-item { color:var(--text); }
html[data-tema="contraste"] .compat-warning-box { border-top:1px solid var(--border); }
html[data-tema="contraste"] .compat-warning-box h5 { color:var(--text); }
html[data-tema="contraste"] .compat-warning-box p { color:var(--muted); }
html[data-tema="contraste"] .compat-table thead th { border-bottom:2px solid #d94b62; color:var(--text); }
html[data-tema="contraste"] .compat-table tbody td { border-bottom:1px solid #8494ab; background:#f7f7f7; }
html[data-tema="contraste"] .compat-grade { color:#ffffff; }
html[data-tema="contraste"] .compat-legend-grade { color:#ffffff; }
html[data-tema="contraste"] .compat-grade-a { background:#118a1a; }
html[data-tema="contraste"] .compat-grade-b { background:#7ed67f; }
html[data-tema="contraste"] .compat-grade-c { background:#fb8c00; }
html[data-tema="contraste"] .compat-grade-d { background:#f20427; }
html[data-tema="contraste"] .compat-grade-e { background:#5f5f63; }
html[data-tema="contraste"] .compat-empty,
html[data-tema="contraste"] .compat-loading { color:var(--muted); }
@media (max-width: 980px) {
html[data-tema="contraste"] body { background:var(--bg); }
html[data-tema="contraste"] .sidebar { border-right:none; border-bottom:1px solid var(--border); }
}
html[data-tema="contraste"] .login-tutorial-btn { border:1px solid #3c74d3; background:var(--boton); color:#2f5f9f; }
html[data-tema="contraste"] .login-tutorial-btn:hover { background:var(--boton-hover); border-color:#9fbbe8; }
html[data-tema="contraste"] .tutorial-login-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema="contraste"] .tutorial-login-video { background:#000; }
html[data-tema="contraste"] .login-page { background:linear-gradient( 180deg, var(--bg-2) 0%, var(--bg) 100%); }
html[data-tema="contraste"] .login-card { background:var(--panel); border:1px solid var(--border); }
html[data-tema="contraste"] .login-subtitle { color:var(--muted); }
html[data-tema="contraste"] .login-error { background:var(--danger-bg); border:none; color:var(--danger-text); }
html[data-tema="contraste"] .tutorial-replay-btn,
html[data-tema="contraste"] .tema-btn { border:none; background:rgba(79, 130, 196, 0.27); color:#2a5698; }
html[data-tema="contraste"] .tutorial-replay-btn:hover,
html[data-tema="contraste"] .tema-btn:hover { background:rgba(79, 130, 196, 0.46); }
html[data-tema="contraste"] .session-profile-btn { border:none; background:rgba(79, 130, 196, 0.27); color:#2a5698; }
html[data-tema="contraste"] .session-profile-btn:hover { background:rgba(79, 130, 196, 0.46); }
html[data-tema="contraste"] .session-profile-icon { stroke:currentColor; fill:none; }
html[data-tema="contraste"] .session-box { border:none; background:transparent; }
html[data-tema="contraste"] .session-logout { color:#2a5698; }
html[data-tema="contraste"] .session-login { color:var(--primary); border:none; background:transparent; }
html[data-tema="contraste"] .price-original { color:var(--muted); }
html[data-tema="contraste"] .price-final { color:var(--text); }
html[data-tema="contraste"] .price-discount { color:#d92d20; }
html[data-tema="contraste"] .login-modal-overlay { background:rgba(23, 35, 52, 0.34); }
html[data-tema="contraste"] .login-modal-window { background:rgba(255, 255, 255, 0.98); border:1px solid var(--border); }
html[data-tema="contraste"] .login-modal-close { border:none; background:var(--panel-strong); color:#2a5698; }
html[data-tema="contraste"] .login-modal-close:hover { background:#cfd9e8; color:var(--primary); }
html[data-tema="contraste"] .password-toggle-btn { border:1px solid var(--border); background:#ffffff; color:var(--primary); }
html[data-tema="contraste"] .password-toggle-btn:hover { background:var(--boton); border-color:transparent; }
html[data-tema="contraste"] .valves-loading-spinner { border:3px solid #6393d4; border-top-color:var(--primary); }
html[data-tema="contraste"] .valves-loading-text { color:var(--muted); }
html[data-tema="contraste"] .two-phase-api-warning { border:1px solid #f2c94c; background:#fffdf3; color:#5a4708; }
html[data-tema="contraste"] .history-pdf-spinner { border:2px solid currentColor; border-right-color:transparent; }
html[data-tema="contraste"] .quote-modal-window { background:var(--panel); border:1px solid var(--border); }
html[data-tema="contraste"] .quote-message { border:1px solid var(--border); background:#ffffff; color:var(--text); outline:none; }
html[data-tema="contraste"] .quote-editor { border:1px solid var(--border); background:#ffffff; color:#111111; outline:none; }
html[data-tema="contraste"] .quote-message:focus { border-color:var(--primary); }
html[data-tema="contraste"] .quote-form-status-success { background:var(--success-bg); color:var(--success); border:1px solid rgba(17, 150, 105, 0.20); }
html[data-tema="contraste"] .quote-form-status-error { background:var(--danger-bg); color:var(--danger-text); border:1px solid #c95c5c; }
html[data-tema="contraste"] .oversize-alert { color:#d97706; }
html[data-tema="contraste"] .password-toggle-btn { border:1px solid transparent; background:transparent; color:var(--muted); }
html[data-tema="contraste"] .password-toggle-btn:hover,
html[data-tema="contraste"] .password-toggle-btn:focus-visible { background:var(--boton); border-color:transparent; color:var(--primary); }
html[data-tema="contraste"] .password-icon { fill:none; stroke:currentColor; }
html[data-tema="contraste"] .locked-value { border:1px solid var(--border); background:#dde7f3; color:var(--muted); }
html[data-tema="contraste"] .login-create-account { color:#2f5f9f; }
html[data-tema="contraste"] .login-install-btn { border:none; background:rgba(79, 130, 196, 0.27); color:#2a5698; }
html[data-tema="contraste"] .login-install-btn:hover { background:rgba(79, 130, 196, 0.46); }
html[data-tema="contraste"] .login-install-icon { stroke:currentColor; fill:none; }
html[data-tema="contraste"] .login-install-text { color:var(--muted); }
html[data-tema="contraste"] .install-app-btn { border:none; background:rgba(79, 130, 196, 0.27); color:#2a5698; }
html[data-tema="contraste"] .install-app-btn:hover { background:rgba(79, 130, 196, 0.46); }
html[data-tema="contraste"] .install-app-icon { stroke:currentColor; fill:none; }
html[data-tema="contraste"] .ios-install-steps { color:var(--text); }
html[data-tema="contraste"] .ios-install-icon-outline { stroke:currentColor; fill:none; }
html[data-tema="contraste"] .ios-install-close { border:none; background:rgba(79, 130, 196, 0.27); color:#2a5698; }
html[data-tema="contraste"] .ios-install-close:hover { background:rgba(79, 130, 196, 0.46); border-color:transparent; color:#2a5698; }
html[data-tema="contraste"] .session-create-account { color:#2f5f9f; }
html[data-tema="contraste"] .profile-header-avatar { border:none; background:rgba(79, 130, 196, 0.27); color:#2a5698; }
html[data-tema="contraste"] .profile-header-name { color:var(--text); }
html[data-tema="contraste"] .profile-header-subtitle { color:var(--muted); }
html[data-tema="contraste"] .profile-edit-btn { border:1px solid var(--border); background:#ffffff; color:#2a5698; }
html[data-tema="contraste"] .profile-edit-btn:hover { background:var(--boton); border-color:#4f82c4; }
html[data-tema="contraste"] .mini-password-overlay { background:rgba(15, 23, 42, 0.45); }
html[data-tema="contraste"] .mini-password-box { background:#ffffff; border:1px solid var(--border); box-shadow:0 18px 40px rgba(15, 23, 42, 0.18); }
html[data-tema="contraste"] .mini-password-label { color:var(--text); }
html[data-tema="contraste"] .mini-password-box-force .mini-password-error { border:none; }
html[data-tema="contraste"] .mini-password-text { color:var(--muted); }
html[data-tema="contraste"] .mini-password-input { border:1px solid var(--border); }
html[data-tema="contraste"] .mini-password-error { background:#fff1f1; color:#b42318; border:1px solid #ff3737; }
html[data-tema="contraste"] .forgot-password-link { border:none; background:transparent; color:var(--primary); }
html[data-tema="contraste"] .valve-secondary-line { color:var(--muted); }
@media (max-width: 1100px) {
html[data-tema="contraste"] .contact-panel { background:transparent; border:none; box-shadow:none; }
}
html[data-tema="contraste"] .login-language-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema="contraste"] .login-language-wrap .custom-select-wrap.open .custom-select-button { background:var(--campo); }
html[data-tema="contraste"] .session-admin-link { color:#1f56c4; }
html[data-tema="contraste"] .admin-actividad-window { background:#ffffff; border:1px solid var(--border); }
html[data-tema="contraste"] .admin-actividad-iframe { border:none; }
html[data-tema="contraste"] .admin-activity-icon-btn { border:none; background:rgba(79, 130, 196, 0.27); color:#2a5698; }
html[data-tema="contraste"] .admin-activity-icon { stroke:currentColor; fill:none; }
html[data-tema="contraste"] .admin-activity-icon-btn:hover { background:rgba(79, 130, 196, 0.46); }
html[data-tema="contraste"] select:not(.custom-select-hidden) { border:none; background:var(--campo); color:transparent; }
html[data-tema="contraste"] .custom-select-button { border:1px solid var(--border); background:#ffffff; color:var(--text); }
html[data-tema="contraste"] .custom-select-button::after { color:var(--muted); }
html[data-tema="contraste"] .custom-select-wrap.open .custom-select-button { border-color:var(--border); box-shadow:none; }
html[data-tema="contraste"] .custom-select-menu { background:#ffffff; border:1px solid #3c74d3; box-shadow:0 10px 28px rgba(23, 35, 52, 0.18); }
html[data-tema="contraste"] .custom-select-option { color:var(--text); }
html[data-tema="contraste"] .custom-select-option:hover { background:var(--boton); color:#244f87; }
html[data-tema="contraste"] .custom-select-option.selected { background:#b3cef3; color:#183f72; }
html[data-tema="contraste"] .session-profile-btn:focus,
html[data-tema="contraste"] .session-profile-btn:focus-visible,
html[data-tema="contraste"] .admin-activity-icon-btn:focus,
html[data-tema="contraste"] .admin-activity-icon-btn:focus-visible,
html[data-tema="contraste"] .history-action:focus,
html[data-tema="contraste"] .history-action:focus-visible,
html[data-tema="contraste"] .history-email-btn:focus,
html[data-tema="contraste"] .history-email-btn:focus-visible,
html[data-tema="contraste"] .install-app-btn:focus,
html[data-tema="contraste"] .install-app-btn:focus-visible,
html[data-tema="contraste"] .login-install-btn:focus,
html[data-tema="contraste"] .login-install-btn:focus-visible { outline:none; box-shadow:none; }
html[data-tema="contraste"] .steam-trap-result { border:1px solid var(--border); background:var(--bg-2); }
html[data-tema="contraste"] .steam-trap-result p { color:var(--muted); }
html[data-tema="contraste"] .steam-trap-rank-card { border:1px solid var(--border); background:#ffffff; }
html[data-tema="contraste"] .steam-trap-rank-card-main { background:#f7faff; border-color:#3c74d3; }
html[data-tema="contraste"] .steam-trap-rank-head { color:var(--muted); }
html[data-tema="contraste"] .steam-trap-rank-model { color:var(--text); }
html[data-tema="contraste"] .valve-table tbody tr.valves-loading-row:hover { background:#ffffff !important; }
html[data-tema="contraste"] .valve-table tbody tr.valves-loading-row:hover td { background:#ffffff !important; }
html[data-tema="contraste"] .valve-table tbody tr.valves-loading-row td { background:#ffffff !important; }
html[data-tema="contraste"] .purgador-recommendation-card { border:1px solid var(--border); background:#f8fafc; }
html[data-tema="contraste"] .purgador-recommendation-rank { background:var(--boton); border:none; color:#244f87; }
html[data-tema="contraste"] .purgador-recommendation-model { color:var(--success); }
html[data-tema="contraste"] .purgador-recommendation-data { color:var(--muted); }
html[data-tema="contraste"] .purgador-recommendation-price { color:var(--text); }
html[data-tema="contraste"] .purgador-recommendation-empty { border:1px solid var(--border); background:#f8fafc; color:var(--muted); }
html[data-tema="contraste"] .purgador-recommendation-loading { border:1px solid var(--border); background:#f8fafc; }
html[data-tema="contraste"] #purgador_history_list .history-item.history-item-condicionada { background:#fff1e0; border-color:#f0a04b; }
html[data-tema="contraste"] #purgador_history_list .history-item.history-item-no-recomendada { background:#fdecec; border-color:#e57373; }
html[data-tema="contraste"] #purgador_history_list .history-fluid { color:var(--text); }
html[data-tema="contraste"] #purgador_history_list .control-history-values { color:var(--muted); }
html[data-tema="contraste"] .purgador-recommendation-type { color:var(--muted) !important; }
html[data-tema="contraste"] .purgador-badge-p { color:var(--success); }
html[data-tema="contraste"] .purgador-badge-a { color:#244f87; }
html[data-tema="contraste"] .purgador-badge-none { color:#c62828; }
html[data-tema="contraste"] .purgador-badge-c { color:#c2570c; }
html[data-tema="contraste"] .purgador-general-warning { background:rgba(79, 130, 196, 0.19); border:none; color:var(--text); }
html[data-tema="contraste"] body { background:var(--bg); }
html[data-tema="contraste"] ::selection { background:var(--accent-soft); color:var(--primary); }
html[data-tema="contraste"] :focus-visible { outline:2px solid var(--primary); }
html[data-tema="contraste"] input:focus-visible,
html[data-tema="contraste"] select:focus-visible,
html[data-tema="contraste"] textarea:focus-visible { outline:none; }
html[data-tema="contraste"] * { scrollbar-color:#c7cdd6 transparent; }
html[data-tema="contraste"] *::-webkit-scrollbar-thumb { background:#c7cdd6; }
html[data-tema="contraste"] *::-webkit-scrollbar-thumb:hover { background:#a8b0bd; }
html[data-tema="contraste"] label { color:var(--muted); }
html[data-tema="contraste"] input,
html[data-tema="contraste"] select { background:#FFFFFF; border:1px solid var(--border); }
html[data-tema="contraste"] input:focus,
html[data-tema="contraste"] select:focus { border-color:var(--primary); box-shadow:none; }
html[data-tema="contraste"] .sidebar { background:#FFFFFF; border-right:1px solid var(--border); }
html[data-tema="contraste"] .module-btn { background:transparent; border:none; color:var(--muted); }
html[data-tema="contraste"] .module-btn:hover { background:var(--panel-strong); border-color:transparent; color:var(--text); }
html[data-tema="contraste"] .module-btn-active { background:var(--accent-soft); border-color:transparent; color:var(--primary); }
html[data-tema="contraste"] .module-btn-active:hover { background:var(--accent-soft); color:var(--primary-hover); }
html[data-tema="contraste"] .side-panel { background:var(--panel-strong); border:none; box-shadow:none; }
html[data-tema="contraste"] .side-panel h3 { color:var(--text); }
html[data-tema="contraste"] .contact-panel { background:transparent; }
html[data-tema="contraste"] .sidebar .contact-company,
html[data-tema="contraste"] .sidebar .contact-heading,
html[data-tema="contraste"] .sidebar .contact-timezone,
html[data-tema="contraste"] .sidebar .contact-hours,
html[data-tema="contraste"] .sidebar .contact-phone,
html[data-tema="contraste"] .sidebar .contact-address,
html[data-tema="contraste"] .sidebar .contact-email { color:var(--muted); }
html[data-tema="contraste"] .sidebar .contact-company { color:var(--text); }
html[data-tema="contraste"] .sidebar .contact-section-red { color:#D93025; }
html[data-tema="contraste"] .sidebar .contact-email-main { color:#D93025; }
html[data-tema="contraste"] .hero h1 { color:#2D3747; }
html[data-tema="contraste"] .language-switcher,
html[data-tema="contraste"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button { box-shadow:none; border:none; background:var(--campo); }
html[data-tema="contraste"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button:hover { background:var(--campo-hover); }
html[data-tema="contraste"] #normativa + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #tipo + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #control_normativa + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #control_tipo_valvula + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #control_tipo_fluido + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #purgador_modo + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #purgador_aplicacion + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #two_phase_scenario + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] #purgador_fluido + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema="contraste"] #normativa + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #tipo + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #control_normativa + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #control_tipo_valvula + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #control_tipo_fluido + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #purgador_modo + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #purgador_aplicacion + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #normativa + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #tipo + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #control_normativa + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #control_tipo_valvula + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #control_tipo_fluido + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #purgador_modo + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #purgador_aplicacion + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #two_phase_scenario + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #two_phase_scenario + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] #purgador_fluido + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #purgador_fluido + .custom-select-wrap.open .custom-select-button { background:var(--campo-hover); }
html[data-tema="contraste"] select[id*="unidad"] + .custom-select-wrap .custom-select-button,
html[data-tema="contraste"] select[id^="fire_"] + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema="contraste"] select[id*="unidad"] + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] select[id*="unidad"] + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] select[id^="fire_"] + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] select[id^="fire_"] + .custom-select-wrap.open .custom-select-button { background:var(--campo-hover); }
html[data-tema="contraste"] .form-grid .field input:not([type="checkbox"]):not([type="radio"]) { border:none; background:var(--campo); }
html[data-tema="contraste"] .form-grid .field input:not([type="checkbox"]):not([type="radio"]):focus { background:var(--campo-hover); }
html[data-tema="contraste"] input[type="checkbox"] { border:1px solid #bcc4cf; background:#ffffff; }
html[data-tema="contraste"] input[type="checkbox"]:checked { border-color:var(--primary); background:var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 80% no-repeat; }
html[data-tema="contraste"] input[type="checkbox"]:focus-visible { box-shadow:0 0 0 2px rgba(79, 130, 196, 0.35); }
html[data-tema="contraste"] .result-panel .result-card,
html[data-tema="contraste"] .result-panel .purgador-recommendation-card,
html[data-tema="contraste"] .result-panel .purgador-recommendation-loading { border:none; box-shadow:none; background:#fafbfc; }
html[data-tema="contraste"] .material-selector-btn,
html[data-tema="contraste"] #orden_valvulas + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema="contraste"] .material-selector-btn:hover,
html[data-tema="contraste"] .material-selector-btn:focus,
html[data-tema="contraste"] #orden_valvulas + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #orden_valvulas + .custom-select-wrap.open .custom-select-button { border:none; background:var(--campo-hover); }
html[data-tema="contraste"] .material-view-btn { border:none; background:var(--campo); }
html[data-tema="contraste"] .material-view-btn:hover { border:none; background:var(--campo-hover); }
html[data-tema="contraste"] .valve-table .valve-select-btn:hover { border-color:transparent; background:#bccadd; }
html[data-tema="contraste"] .filter-mini-btn { border:none; background:var(--campo); }
html[data-tema="contraste"] .filter-mini-btn:hover:not(:disabled) { border:none; background:var(--campo-hover); color:var(--muted); }
html[data-tema="contraste"] .filter-mini-btn-blue { border:none; background:var(--boton); }
html[data-tema="contraste"] .filter-mini-btn-blue:hover:not(:disabled) { border:none; background:var(--boton-hover); color:#24508f; }
html[data-tema="contraste"] #profileForm input { border:none; background:var(--campo); }
html[data-tema="contraste"] .calc-modal-window,
html[data-tema="contraste"] .calc-modal-header,
html[data-tema="contraste"] .calc-section,
html[data-tema="contraste"] .calc-result-box,
html[data-tema="contraste"] .calc-warning { border:none; }
html[data-tema="contraste"] .calc-section + .calc-section { border-top:1px solid var(--border); }
html[data-tema="contraste"] .calc-modal-window input { border:none; background:var(--campo); }
html[data-tema="contraste"] .calc-modal-window input:focus { background:var(--campo-hover); }
html[data-tema="contraste"] .mini-password-input { border:none; background:var(--campo); }
html[data-tema="contraste"] .mini-password-input:focus { background:var(--campo-hover); }
html[data-tema="contraste"] #quoteForm input { border:none; background:var(--campo); }
html[data-tema="contraste"] #quoteForm .quote-editor { border:1px solid #94a1b4; background:transparent; }
html[data-tema="contraste"] #quoteForm input:focus { background:var(--campo-hover); }
html[data-tema="contraste"] #quoteForm .quote-form-status-success,
html[data-tema="contraste"] #quoteForm .quote-form-status-error { border:none; }
html[data-tema="contraste"] #profileForm .quote-form-status-success,
html[data-tema="contraste"] #profileForm .quote-form-status-error { border:none; }
html[data-tema="contraste"] article.card.purgador-validation-card { border:none; }
html[data-tema="contraste"] .purgador-validation-card textarea { border:none; background:#ffffff; }
html[data-tema="contraste"] .purgador-validation-card .purgador-validate-btn,
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-validate { background:#d9eedd; color:#2e7d32; }
html[data-tema="contraste"] .purgador-validation-card .purgador-validate-btn:hover,
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-validate:hover { background:#c9e6cf; }
html[data-tema="contraste"] .purgador-validation-card .purgador-reject-btn,
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-reject { background:#f9dcdc; color:#c62828; }
html[data-tema="contraste"] .purgador-validation-card .purgador-reject-btn:hover,
html[data-tema="contraste"] .purgador-comment-window .purgador-confirm-reject:hover { background:#f4cbcb; }
html[data-tema="contraste"] #purgador_reject_reason + .custom-select-wrap .custom-select-button { border:none; background:var(--campo); }
html[data-tema="contraste"] #purgador_reject_reason + .custom-select-wrap .custom-select-button:hover,
html[data-tema="contraste"] #purgador_reject_reason + .custom-select-wrap.open .custom-select-button { background:var(--campo-hover); }
html[data-tema="contraste"] .login-form input,
html[data-tema="contraste"] #forgot_password_identifier { border:none; background:var(--campo); }
html[data-tema="contraste"] .login-form input:focus,
html[data-tema="contraste"] #forgot_password_identifier:focus { background:var(--campo-hover); }
html[data-tema="contraste"] .sidebar { border-right:none; }
@media (min-width: 981px) {
html[data-tema="contraste"] .sidebar { box-shadow:4px 0 18px rgba(31, 41, 55, 0.08); }
}
html[data-tema="contraste"] .session-client { color:var(--text); }
html[data-tema="contraste"] .session-login,
html[data-tema="contraste"] .session-logout { color:var(--primary); }
html[data-tema="contraste"] .card { background:#FFFFFF; border:none; box-shadow:var(--shadow-sm); }
html[data-tema="contraste"] .card-header h2 { color:#2D3747; }
html[data-tema="contraste"] .tag-success { background:var(--success-bg); color:var(--success); border-color:transparent; }
html[data-tema="contraste"] .mini-panel { background:var(--panel-strong); border:none; }
html[data-tema="contraste"] .mini-item { border:none; background:#FFFFFF; box-shadow:var(--shadow-xs); }
html[data-tema="contraste"] .result-card { background:#FFFFFF; border:1px solid var(--border); box-shadow:var(--shadow-xs); }
html[data-tema="contraste"] .result-name { color:var(--muted); }
html[data-tema="contraste"] .result-number { color:var(--success); }
html[data-tema="contraste"] .result-unit { color:var(--muted); }
html[data-tema="contraste"] .purgador-recommendation-card { background:#FFFFFF; }
html[data-tema="contraste"] .profile-edit-btn { background:transparent; border:none; color:var(--primary); }
html[data-tema="contraste"] .profile-edit-btn:hover { background:transparent; color:var(--primary-hover); }
html[data-tema="contraste"] .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] .custom-select-button:focus,
html[data-tema="contraste"] .custom-select-button:focus-visible { border-color:var(--primary); box-shadow:none; outline:none; }
html[data-tema="contraste"] .hero-right .language-switcher + .custom-select-wrap.open .custom-select-button,
html[data-tema="contraste"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button:focus,
html[data-tema="contraste"] .hero-right .language-switcher + .custom-select-wrap .custom-select-button:focus-visible { border-color:var(--primary); }
html[data-tema="contraste"] .btn-calculate { background:var(--primary); box-shadow:var(--shadow-sm); }
html[data-tema="contraste"] .btn-calculate:hover { background:var(--primary-hover); box-shadow:var(--shadow-md); }
html[data-tema="contraste"] .btn-calculate:active { box-shadow:var(--shadow-xs); }
html[data-tema="contraste"] .btn-secondary { background:var(--panel-strong); border:none; color:#2a5698; box-shadow:none; }
html[data-tema="contraste"] .btn-secondary:hover { background:#cfd9e8; }
html[data-tema="contraste"] .history-action,
html[data-tema="contraste"] .valve-select-btn { background:#FFFFFF; box-shadow:none; border-color:transparent; color:var(--primary); }
html[data-tema="contraste"] .history-action:hover,
html[data-tema="contraste"] .valve-select-btn:hover { box-shadow:none; background:var(--campo-hover); }
html[data-tema="contraste"] .history-delete-icon-btn { background:#fff8f8; border-color:transparent; }
html[data-tema="contraste"] .qty-stepper { border:1px solid #94a1b4; background:#ffffff; }
html[data-tema="contraste"] .qty-stepper .history-qty-input { border:none; }
html[data-tema="contraste"] .qty-stepper-btns { border-left:1px solid #94a1b4; }
html[data-tema="contraste"] .qty-step-btn { border:none; background:var(--panel-strong); color:var(--muted); }
html[data-tema="contraste"] .qty-step-up { border-bottom:1px solid #94a1b4; }
html[data-tema="contraste"] .qty-step-btn:hover { background:var(--accent-soft); color:var(--primary); }
html[data-tema="contraste"] .qty-step-btn:active { background:var(--accent-soft); }
html[data-tema="contraste"] .modal-overlay { background:rgba(32, 33, 36, 0.5); }
html[data-tema="contraste"] .modal-window,
html[data-tema="contraste"] .fluid-modal-window,
html[data-tema="contraste"] .calc-modal-window,
html[data-tema="contraste"] .profile-modal-window,
html[data-tema="contraste"] .quote-modal-window,
html[data-tema="contraste"] .tutorial-login-window,
html[data-tema="contraste"] .login-modal-window { border:none; box-shadow:var(--shadow-lg); }
html[data-tema="contraste"] .modal-header,
html[data-tema="contraste"] .modal-summary-inline { background:#FFFFFF; border-bottom:1px solid var(--border); }
html[data-tema="contraste"] .modal-header h3 { color:var(--text); }
html[data-tema="contraste"] .valve-table thead th { background:#FFFFFF; color:var(--muted); border-bottom:1px solid var(--border); }
html[data-tema="contraste"] .valve-table tbody td { border-bottom:1px solid var(--panel-strong); }
html[data-tema="contraste"] .valve-table tbody tr:nth-child(odd) { background:#FFFFFF; }
html[data-tema="contraste"] .valve-table tbody tr:nth-child(even) { background:#FAFBFD; }
html[data-tema="contraste"] .valve-table tbody tr:hover { background:var(--accent-soft); }
html[data-tema="contraste"] .login-page { background:var(--bg); }
html[data-tema="contraste"] .login-card { background:#FFFFFF; border:none; box-shadow:var(--shadow-lg); }
html[data-tema="contraste"] .login-title { color:var(--text); }
html[data-tema="contraste"] .login-subtitle { color:var(--muted); }
html[data-tema="contraste"] .custom-select-button::after { color:var(--muted); }
html[data-tema="contraste"] .custom-select-menu { border:none; box-shadow:var(--shadow-md); }
html[data-tema="contraste"] .custom-select-option.selected,
html[data-tema="contraste"] .material-option.active { color:var(--primary); background:var(--accent-soft); }
html[data-tema="contraste"] .tutorial-click-blocker { background:transparent; }
html[data-tema="contraste"] .tutorial-spotlight { border:2px solid #b2b2b2; box-shadow:0 0 0 9999px rgba(15, 25, 40, 0.6); }
html[data-tema="contraste"] .tutorial-spotlight.hidden { border:none; }
html[data-tema="contraste"] .tutorial-tooltip { background:var(--panel); border:1px solid var(--border); box-shadow:0 14px 34px rgba(15, 30, 55, 0.28); }
html[data-tema="contraste"] .tutorial-step-counter { color:var(--primary); }
html[data-tema="contraste"] .tutorial-tooltip-title { color:var(--text); }
html[data-tema="contraste"] .tutorial-tooltip-text { color:var(--muted); }
html[data-tema="contraste"] .tutorial-skip-btn { border:none; background:none; color:var(--muted); }
html[data-tema="contraste"] .tutorial-skip-btn:hover { color:var(--text); }
html[data-tema$="contraste"] .card,
html[data-tema$="contraste"] .side-panel,
html[data-tema$="contraste"] .mini-panel,
html[data-tema$="contraste"] .login-card,
html[data-tema$="contraste"] .steam-trap-rank-card,
html[data-tema$="contraste"] .calc-modal-window,
html[data-tema$="contraste"] .profile-modal-window,
html[data-tema$="contraste"] .quote-modal-window,
html[data-tema$="contraste"] .login-modal-window,
html[data-tema$="contraste"] .mini-password-box,
html[data-tema$="contraste"] .custom-select-menu,
html[data-tema$="contraste"] .result-card,
html[data-tema$="contraste"] .mini-item {
  outline: 1px solid var(--trazo);
  outline-offset: -1px;
}
html[data-tema$="contraste"] .sidebar {
  box-shadow: inset -1px 0 0 var(--trazo);
}
@media (min-width: 981px) {
  html[data-tema$="contraste"] .sidebar {
    box-shadow: inset -1px 0 0 var(--trazo), 4px 0 18px rgba(31, 41, 55, 0.08);
  }
}
html[data-tema$="contraste"] .module-btn,
html[data-tema$="contraste"] .module-btn-active,
html[data-tema$="contraste"] .login-tutorial-btn,
html[data-tema$="contraste"] .session-profile-btn,
html[data-tema$="contraste"] .tutorial-replay-btn,
html[data-tema$="contraste"] .tema-btn,
html[data-tema$="contraste"] .install-app-btn,
html[data-tema$="contraste"] .login-install-btn,
html[data-tema$="contraste"] .admin-activity-icon-btn,
html[data-tema$="contraste"] .ios-install-close,
html[data-tema$="contraste"] .modal-close,
html[data-tema$="contraste"] .login-modal-close,
html[data-tema$="contraste"] .fire-case-edit-btn,
html[data-tema$="contraste"] .history-email-btn,
html[data-tema$="contraste"] .history-pdf-all-btn,
html[data-tema$="contraste"] .history-clear-btn,
html[data-tema$="contraste"] .history-delete-icon-btn,
html[data-tema$="contraste"] .history-action,
html[data-tema$="contraste"] .valve-select-btn,
html[data-tema$="contraste"] .profile-edit-btn,
html[data-tema$="contraste"] .btn-calculate,
html[data-tema$="contraste"] .btn-secondary {
  outline: 1px solid var(--trazo);
  outline-offset: -1px;
}
html[data-tema$="contraste"] input:not([type="checkbox"]):not([type="radio"]),
html[data-tema$="contraste"] select,
html[data-tema$="contraste"] textarea,
html[data-tema$="contraste"] .custom-select-button,
html[data-tema$="contraste"] .material-selector-btn,
html[data-tema$="contraste"] .material-view-btn,
html[data-tema$="contraste"] .filter-search,
html[data-tema$="contraste"] .filter-mini-btn {
  outline: 1px solid var(--trazo);
  outline-offset: -1px;
}
html[data-tema$="contraste"] .qty-stepper {
  border-color: var(--trazo);
}
html[data-tema$="contraste"] .qty-stepper-btns {
  border-left-color: var(--trazo);
}
html[data-tema$="contraste"] .qty-step-up {
  border-bottom-color: var(--trazo);
}
html[data-tema$="contraste"] input:not([type="checkbox"]):not([type="radio"]):focus,
html[data-tema$="contraste"] select:focus,
html[data-tema$="contraste"] textarea:focus,
html[data-tema$="contraste"] .custom-select-button:focus,
html[data-tema$="contraste"] .custom-select-wrap.open .custom-select-button {
  outline: 2px solid var(--primary);
  outline-offset: -2px;
}
html[data-tema$="contraste"] input[type="checkbox"] {
  border-color: var(--trazo);
}
html[data-tema$="contraste"] .valve-table thead th {
  border-bottom-color: var(--trazo);
}
html[data-tema$="contraste"] .valve-table tbody td {
  border-bottom-color: var(--border);
}
html[data-tema$="contraste"] .contact-panel {
  outline: none;
  border-color: transparent;
}
html[data-tema$="contraste"] .compat-modal-window,
html[data-tema$="contraste"] .admin-actividad-window,
html[data-tema$="contraste"] .tutorial-tooltip,
html[data-tema$="contraste"] .filter-dropdown,
html[data-tema$="contraste"] .tema-menu,
html[data-tema$="contraste"] .tag,
html[data-tema$="contraste"] .history-item,
html[data-tema$="contraste"] .quote-message,
html[data-tema$="contraste"] .quote-editor {
  border-color: var(--trazo);
}
html[data-tema$="contraste"] .custom-arrow-select,
html[data-tema$="contraste"] .material-search-input,
html[data-tema$="contraste"] .purgador-comment-text {
  outline: none;
  border-color: var(--trazo);
}
html[data-tema$="contraste"] .custom-arrow-select:focus,
html[data-tema$="contraste"] .material-search-input:focus,
html[data-tema$="contraste"] .purgador-comment-text:focus {
  outline: none;
  border-color: var(--primary);
}
html[data-tema$="contraste"] input.material-search-input:not([type="checkbox"]):not([type="radio"]) {
  outline: none;
  border-color: var(--trazo);
}
html[data-tema$="contraste"] input.material-search-input:not([type="checkbox"]):not([type="radio"]):focus {
  outline: none;
  border-color: var(--primary);
}
html[data-tema$="contraste"] .qty-stepper input:not([type="checkbox"]):not([type="radio"]),
html[data-tema$="contraste"] .qty-stepper input:not([type="checkbox"]):not([type="radio"]):focus {
  outline: none;
}
html[data-tema$="contraste"] .modal-window::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 20;
  border: 1px solid var(--trazo);
  border-radius: inherit;
  pointer-events: none;
}
