@charset "UTF-8";
/*
   Animation example, for spinners
*/
.animate-spin {
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block;
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-ms-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@font-face {
  font-family: 'htci-icons';
  /* src: url('../font/htci-icons.eot?3454058'); */
  src:
    url('/assets/fonts/htci-icons-BNWJ7lcG.woff2?3454058') format('woff2'),
    url('/assets/fonts/htci-icons-ByZgA1vS.woff?3454058') format('woff'),
    url('/assets/fonts/htci-icons-UKab3EbC.ttf?3454058') format('truetype'),
    url('/assets/img/htci-icons-Dn6voSZL.svg?3454058#htci-icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'htci-icons';
    src: url('../font/htci-icons.svg?3454058#htci-icons') format('svg');
  }
}
*/
[class^="fontello-icon-"]:before,
[class*=" fontello-icon-"]:before {
  font-family: "htci-icons";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.fontello-icon-logout:before {
  content: '\e800';
}
/* '' */
.fontello-icon-sun:before {
  content: '\e801';
}
/* '' */
.fontello-icon-mail:before {
  content: '\e802';
}
/* '' */
.fontello-icon-chart-bar:before {
  content: '\e803';
}
/* '' */
.fontello-icon-phone:before {
  content: '\e804';
}
/* '' */
.fontello-icon-search-thin:before {
  content: '\e805';
}
/* '' */
.fontello-icon-plus-circle:before {
  content: '\e806';
}
/* '' */
.fontello-icon-cancel-circle:before {
  content: '\e807';
}
/* '' */
.fontello-icon-ok-circle:before {
  content: '\e808';
}
/* '' */
.fontello-icon-cancel:before {
  content: '\e809';
}
/* '' */
.fontello-icon-trash-empty:before {
  content: '\e80a';
}
/* '' */
.fontello-icon-edit:before {
  content: '\e80b';
}
/* '' */
.fontello-icon-left:before {
  content: '\e80c';
}
/* '' */
.fontello-icon-right:before {
  content: '\e80d';
}
/* '' */
.fontello-icon-plus:before {
  content: '\e80e';
}
/* '' */
.fontello-icon-heart:before {
  content: '\e80f';
}
/* '' */
.fontello-icon-list-add:before {
  content: '\e810';
}
/* '' */
.fontello-icon-down:before {
  content: '\e811';
}
/* '' */
.fontello-icon-heart-empty:before {
  content: '\e812';
}
/* '' */
.fontello-icon-money:before {
  content: '\e813';
}
/* '' */
.fontello-icon-money-1:before {
  content: '\e814';
}
/* '' */
.fontello-icon-print:before {
  content: '\e815';
}
/* '' */
.fontello-icon-ok:before {
  content: '\e816';
}
/* '' */
.fontello-icon-attention:before {
  content: '\e817';
}
/* '' */
.fontello-icon-attention-1:before {
  content: '\e818';
}
/* '' */
.fontello-icon-alert:before {
  content: '\e819';
}
/* '' */
.fontello-icon-logout-1:before {
  content: '\e81a';
}
/* '' */
.fontello-icon-link:before {
  content: '\e81b';
}
/* '' */
.fontello-icon-spin5:before {
  content: '\e838';
}
/* '' */
.fontello-icon-th-list:before {
  content: '\f009';
}
/* '' */
.fontello-icon-dollar:before {
  content: '\f155';
}
/* '' */
.fontello-icon-android:before {
  content: '\f17b';
}
/* '' */
.fontello-icon-moon:before {
  content: '\f186';
}
/* '' */
.fontello-icon-database:before {
  content: '\f1c0';
}
/* '' */
.fontello-icon-copyright:before {
  content: '\f1f9';
}
/* '' */
.fontello-icon-whatsapp:before {
  content: '\f232';
}
/* '' */
.fontello-icon-user:before {
  content: '\f2be';
}
/* '' */
.fontello-icon-search:before {
  content: '\f50d';
}
/* '' */
.fontello-icon-logout:before { content: '\e800'; }
/* '' */
.fontello-icon-sun:before { content: '\e801'; }
/* '' */
.fontello-icon-mail:before { content: '\e802'; }
/* '' */
.fontello-icon-chart-bar:before { content: '\e803'; }
/* '' */
.fontello-icon-phone:before { content: '\e804'; }
/* '' */
.fontello-icon-search-thin:before { content: '\e805'; }
/* '' */
.fontello-icon-plus-circle:before { content: '\e806'; }
/* '' */
.fontello-icon-cancel-circle:before { content: '\e807'; }
/* '' */
.fontello-icon-ok-circle:before { content: '\e808'; }
/* '' */
.fontello-icon-cancel:before { content: '\e809'; }
/* '' */
.fontello-icon-trash-empty:before { content: '\e80a'; }
/* '' */
.fontello-icon-edit:before { content: '\e80b'; }
/* '' */
.fontello-icon-left:before { content: '\e80c'; }
/* '' */
.fontello-icon-right:before { content: '\e80d'; }
/* '' */
.fontello-icon-plus:before { content: '\e80e'; }
/* '' */
.fontello-icon-heart:before { content: '\e80f'; }
/* '' */
.fontello-icon-list-add:before { content: '\e810'; }
/* '' */
.fontello-icon-down:before { content: '\e811'; }
/* '' */
.fontello-icon-heart-empty:before { content: '\e812'; }
/* '' */
.fontello-icon-money:before { content: '\e813'; }
/* '' */
.fontello-icon-money-1:before { content: '\e814'; }
/* '' */
.fontello-icon-print:before { content: '\e815'; }
/* '' */
.fontello-icon-ok:before { content: '\e816'; }
/* '' */
.fontello-icon-attention:before { content: '\e817'; }
/* '' */
.fontello-icon-attention-1:before { content: '\e818'; }
/* '' */
.fontello-icon-alert:before { content: '\e819'; }
/* '' */
.fontello-icon-logout-1:before { content: '\e81a'; }
/* '' */
.fontello-icon-link:before { content: '\e81b'; }
/* '' */
.fontello-icon-spin5:before { content: '\e838'; }
/* '' */
.fontello-icon-th-list:before { content: '\f009'; }
/* '' */
.fontello-icon-dollar:before { content: '\f155'; }
/* '' */
.fontello-icon-android:before { content: '\f17b'; }
/* '' */
.fontello-icon-moon:before { content: '\f186'; }
/* '' */
.fontello-icon-database:before { content: '\f1c0'; }
/* '' */
.fontello-icon-copyright:before { content: '\f1f9'; }
/* '' */
.fontello-icon-whatsapp:before { content: '\f232'; }
/* '' */
.fontello-icon-user:before { content: '\f2be'; }
/* '' */
.fontello-icon-search:before { content: '\f50d'; }
/* '' */
@font-face {
  font-family: 'htci-icons';
  /* src: url('../font/htci-icons.eot?90162637'); */
  src:
    url('/assets/img/htci-icons-Dn6voSZL.svg?90162637#htci-icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'htci-icons';
  src: url('data:application/octet-stream;base64,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') format('woff'),
    url('data:application/octet-stream;base64,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AAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrEAACqxAAdCsQAKKrEAB0KxAAoqsQAHQrkAAAALKrEAB0K5AAAACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmxAA4quAH/hbAEjbECAESzBWQGAERE') format('truetype');
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'htci-icons';
    src: url('../font/htci-icons.svg?90162637#htci-icons') format('svg');
  }
}
*/
[class^="fontello-icon-"]:before,
[class*=" fontello-icon-"]:before {
  font-family: "htci-icons";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.fontello-icon-logout:before {
  content: '\e800';
}
/* '' */
.fontello-icon-sun:before {
  content: '\e801';
}
/* '' */
.fontello-icon-mail:before {
  content: '\e802';
}
/* '' */
.fontello-icon-chart-bar:before {
  content: '\e803';
}
/* '' */
.fontello-icon-phone:before {
  content: '\e804';
}
/* '' */
.fontello-icon-search-thin:before {
  content: '\e805';
}
/* '' */
.fontello-icon-plus-circle:before {
  content: '\e806';
}
/* '' */
.fontello-icon-cancel-circle:before {
  content: '\e807';
}
/* '' */
.fontello-icon-ok-circle:before {
  content: '\e808';
}
/* '' */
.fontello-icon-cancel:before {
  content: '\e809';
}
/* '' */
.fontello-icon-trash-empty:before {
  content: '\e80a';
}
/* '' */
.fontello-icon-edit:before {
  content: '\e80b';
}
/* '' */
.fontello-icon-left:before {
  content: '\e80c';
}
/* '' */
.fontello-icon-right:before {
  content: '\e80d';
}
/* '' */
.fontello-icon-plus:before {
  content: '\e80e';
}
/* '' */
.fontello-icon-heart:before {
  content: '\e80f';
}
/* '' */
.fontello-icon-list-add:before {
  content: '\e810';
}
/* '' */
.fontello-icon-down:before {
  content: '\e811';
}
/* '' */
.fontello-icon-heart-empty:before {
  content: '\e812';
}
/* '' */
.fontello-icon-money:before {
  content: '\e813';
}
/* '' */
.fontello-icon-money-1:before {
  content: '\e814';
}
/* '' */
.fontello-icon-print:before {
  content: '\e815';
}
/* '' */
.fontello-icon-ok:before {
  content: '\e816';
}
/* '' */
.fontello-icon-attention:before {
  content: '\e817';
}
/* '' */
.fontello-icon-attention-1:before {
  content: '\e818';
}
/* '' */
.fontello-icon-alert:before {
  content: '\e819';
}
/* '' */
.fontello-icon-logout-1:before {
  content: '\e81a';
}
/* '' */
.fontello-icon-link:before {
  content: '\e81b';
}
/* '' */
.fontello-icon-spin5:before {
  content: '\e838';
}
/* '' */
.fontello-icon-th-list:before {
  content: '\f009';
}
/* '' */
.fontello-icon-dollar:before {
  content: '\f155';
}
/* '' */
.fontello-icon-android:before {
  content: '\f17b';
}
/* '' */
.fontello-icon-moon:before {
  content: '\f186';
}
/* '' */
.fontello-icon-database:before {
  content: '\f1c0';
}
/* '' */
.fontello-icon-copyright:before {
  content: '\f1f9';
}
/* '' */
.fontello-icon-whatsapp:before {
  content: '\f232';
}
/* '' */
.fontello-icon-user:before {
  content: '\f2be';
}
/* '' */
.fontello-icon-search:before {
  content: '\f50d';
}
/* '' */
/* Document
 * ========================================================================== */
/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  background-repeat: no-repeat; /* 2 */
}
/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}
/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Breaks words to prevent overflow in all browsers (opinionated).
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Remove the grey highlight on links in iOS (opinionated).
 * 6. Prevent adjustments of font size after orientation changes in iOS.
 */
:where(:root) {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  overflow-wrap: break-word; /* 3 */
  -moz-tab-size: 4; /* 4 */
  tab-size: 4; /* 4 */
  -webkit-tap-highlight-color: transparent; /* 5 */
  -webkit-text-size-adjust: 100%; /* 6 */
}
/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
:where(body) {
  margin: 0;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
:where(h1) {
  font-size: 2em;
  margin: 0.67em 0;
}
/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */
:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
}
/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 */
:where(hr) {
  color: inherit; /* 1 */
  height: 0; /* 2 */
}
/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
:where(nav) :where(ol, ul) {
  list-style-type: none;
  padding: 0;
}
/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */
:where(nav li)::before {
  content: "​";
  float: left;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */
:where(pre) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
}
/* Text-level semantics
 * ========================================================================== */
/**
 * Add the correct text decoration in Safari.
 */
:where(abbr[title]) {
  text-decoration: underline;
  text-decoration: underline dotted;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
:where(b, strong) {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(code, kbd, samp) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
:where(small) {
  font-size: 80%;
}
/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}
/**
 * Remove the border on iframes in all browsers (opinionated).
 */
:where(iframe) {
  border-style: none;
}
/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
:where(svg:not([fill])) {
  fill: currentColor;
}
/* Tabular data
 * ========================================================================== */
/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
:where(table) {
  border-collapse: collapse; /* 1 */
  border-color: inherit; /* 2 */
  text-indent: 0; /* 3 */
}
/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
:where(button, input, select) {
  margin: 0;
}
/**
 * Correct the inability to style buttons in iOS and Safari.
 */
:where(button, [type=button i], [type=reset i], [type=submit i]) {
  -webkit-appearance: button;
}
/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
:where(fieldset) {
  border: 1px solid #a0a0a0;
}
/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
:where(progress) {
  vertical-align: baseline;
}
/**
 * 1. Remove the margin in Firefox and Safari.
 * 3. Change the resize direction in all browsers (opinionated).
 */
:where(textarea) {
  margin: 0; /* 1 */
  resize: vertical; /* 3 */
}
/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
:where([type=search i]) {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}
/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/* Interactive
 * ========================================================================== */
/*
 * Add the correct styles in Safari.
 */
:where(dialog) {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}
:where(dialog:not([open])) {
  display: none;
}
/*
 * Add the correct display in Safari.
 */
:where(details > summary:first-of-type) {
  display: list-item;
}
/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
:where([aria-busy=true i]) {
  cursor: progress;
}
/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
:where([aria-controls]) {
  cursor: pointer;
}
/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
:where([aria-disabled=true i], [disabled]) {
  cursor: not-allowed;
}
/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
:where([aria-hidden=false i][hidden]) {
  display: initial;
}
:where([aria-hidden=false i][hidden]:not(:focus)) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}
/* Para los emojis de los modales */
:root {
  --light-bg: #ececec;
  --dark-bg: #2f2f2f;
  --light-color: #333b3c;
  --dark-color: #efefec;
  --primary-color-rgb: 23,
      108,
      192;
  /* #176cc0 en formato RGB */
  color-scheme: light dark;
}
[data-theme=brand-dark] {
  --primary-color-rgb: 77, 159, 225;
  /* #4d9fe1 en formato RGB */
}
[data-theme=nord] {
  --primary-color-rgb: 129, 161, 193;
  /* #81a1c1 en formato RGB */
}
[data-theme=dark] {
  --primary-color-rgb: 122, 162, 247;
  /* #7AA2F7 en formato RGB */
}
[data-theme=light] {
  --primary-color-rgb: 38, 139, 210;
  /* #268bd2 en formato RGB */
}
[data-theme=monochrome] {
  --primary-color-rgb: 142, 139, 130;
  /* #8E8B82 en formato RGB */
}
[data-theme=monokai] {
  --primary-color-rgb: 129, 208, 201;
  /* #81D0C9 en formato RGB */
}
.light {
  --theme-bg-color: var(--light-bg);
  --theme-text-color: var(--light-color);
  color-scheme: light;
}
.dark {
  --theme-bg-color: var(--dark-bg);
  --theme-text-color: var(--dark-color);
  color-scheme: dark;
}
.brand-theme {
  --bg-color: #f4f2f2;
  --text-color: #333333;
  --text-color-on-light: #333333;
  --text-color-on-dark: #ffffff;
  --primary-color: #176cc0;
  --primary-color-hover: rgb(17.5441860465, 82.3813953488, 146.4558139535);
  --secondary-color: #ed0000;
  --secondary-color-hover: #ba0000;
  --success-color: #28a745;
  --info-color: #17a2b8;
  --warning-color: #ffc107;
  --danger-color: #dc3545;
  --success-color-hover: rgb(30.1449275362, 125.8550724638, 52);
  --info-color-hover: rgb(17.3333333333, 122.0869565217, 138.6666666667);
  --warning-color-hover: rgb(211, 158.25, 0);
  --danger-color-hover: rgb(189.2151898734, 32.7848101266, 47.7721518987);
  --muted-color-hover: rgb(84.3605150215, 91.3905579399, 97.6394849785);
  --lighten-primary-color: rgb(219.2790697674, 235.0930232558, 250.7209302326);
  --lighten-secondary-color: #ffeded;
  --lighten-success-color: rgb(216.2753623188, 245.7246376812, 223);
  --lighten-info-color: rgb(212.3333333333, 244.5652173913, 249.6666666667);
  --lighten-warning-color: white;
  --lighten-danger-color: white;
  --lighten-muted-color: rgb(243.1974248927, 244.0472103004, 244.8025751073);
  --row-odd-color: #ededed;
  --row-even-color: #f6f6f6;
  --text-row-color: #323232;
  --light-color: #ffffff;
  --dark-color: #343a40;
  --muted-color: #6c757d;
  --disabled-color: #eaebf0;
  --border-color: #ced4da;
  --background-color: #f6f6f6;
  --header-bg: #176cc0;
  --header-text-color: #ffffff;
  --footer-bg: #176cc0;
  --footer-text-color: #ffffff;
  --link-color: #176cc0;
  --link-hover-color: rgb(17.5441860465, 82.3813953488, 146.4558139535);
  --button-bg: #176cc0;
  --button-text-color: #ffffff;
  --button-hover-bg: rgb(17.5441860465, 82.3813953488, 146.4558139535);
  --input-bg: #ffffff;
  --input-border-color: #ced4da;
  --input-text-color: #333333;
  --accent1: #ed0000;
  --accent2: #ff2121;
  --accent3: #ba0000;
  --accent4: #176cc0;
  --accent5: rgb(37.1023255814, 133.5674418605, 228.8976744186);
  --accent6: rgb(17.5441860465, 82.3813953488, 146.4558139535);
  --shade1: #ffffff;
  --shade2: #f8f9fa;
  --shade3: #e9ecef;
  --shade4: #dee2e6;
  --shade5: #ced4da;
  --shade6: #adb5bd;
  --shade7: #272727;
  --shade8: #1a1a1a;
  --shade9: #343a40;
  --bg-surface-variant: #ced4da;
  --bg-surface-variant-hover: rgb(191.4709302326, 199.25, 207.0290697674);
  --danger-color-subtle: rgb(253.8924050633, 248.6075949367, 249.1139240506);
  --radius: 4px;
  --text-muted: #6c757d;
  --text-button-muted: #f8f9fa;
}
.brand-dark-theme {
  --bg-color: #121212;
  --text-color: #f6f6f6;
  --text-color-on-light: #1a1a1a;
  --text-color-on-dark: #f6f6f6;
  --primary-color: #4d9fe1;
  --primary-color-hover: rgb(36.2019230769, 135.1538461538, 214.7980769231);
  --secondary-color: #ed0000;
  --secondary-color-hover: #ba0000;
  --success-color: #28a745;
  --info-color: #17a2b8;
  --warning-color: #ffc107;
  --danger-color: #dc3545;
  --success-color-hover: rgb(30.1449275362, 125.8550724638, 52);
  --info-color-hover: rgb(17.3333333333, 122.0869565217, 138.6666666667);
  --warning-color-hover: rgb(211, 158.25, 0);
  --danger-color-hover: rgb(189.2151898734, 32.7848101266, 47.7721518987);
  --muted-color-hover: rgb(153.5, 153.5, 153.5);
  --lighten-primary-color: white;
  --lighten-secondary-color: #ffeded;
  --lighten-success-color: rgb(216.2753623188, 245.7246376812, 223);
  --lighten-info-color: rgb(212.3333333333, 244.5652173913, 249.6666666667);
  --lighten-warning-color: white;
  --lighten-danger-color: white;
  --lighten-muted-color: rgb(242.75, 242.75, 242.75);
  --row-odd-color: #3e3e3e;
  --row-even-color: #2e2e2e;
  --text-row-color: #c7c7c7;
  --light-color: #ffffff;
  --dark-color: #343a40;
  --muted-color: #b3b3b3;
  --disabled-color: #474749;
  --border-color: #2c2c2c;
  --background-color: #1e1e1e;
  --header-bg: #1b1b1b;
  --header-text-color: #f6f6f6;
  --footer-bg: #1b1b1b;
  --footer-text-color: #f6f6f6;
  --link-color: #4d9fe1;
  --link-hover-color: rgb(120.6442307692, 182.5384615385, 232.3557692308);
  --button-bg: #4d9fe1;
  --button-text-color: #ffffff;
  --button-hover-bg: rgb(120.6442307692, 182.5384615385, 232.3557692308);
  --input-bg: #2c2c2c;
  --input-border-color: #3a3a3a;
  --input-text-color: #f6f6f6;
  --accent1: #ed0000;
  --accent2: #ff2121;
  --accent3: #ba0000;
  --accent4: #4d9fe1;
  --accent5: rgb(120.6442307692, 182.5384615385, 232.3557692308);
  --accent6: rgb(36.2019230769, 135.1538461538, 214.7980769231);
  --shade1: #f6f6f6;
  --shade2: #e0e0e0;
  --shade3: #c2c2c2;
  --shade4: #a3a3a3;
  --shade5: #858585;
  --shade6: #666666;
  --shade7: #484848;
  --shade8: #2c2c2c;
  --shade9: #121212;
  --bg-surface-variant: #121212;
  --bg-surface-variant-hover: rgb(30.75, 30.75, 30.75);
  --danger-color-subtle: rgb(37.0759493671, 6.4240506329, 9.3607594937);
  --radius: 4px;
  --text-muted: #888888;
  --text-button-muted: #121212;
}
.nord-theme {
  --bg-color: #2e3440;
  --text-color: #d8dee9;
  --text-color-on-light: #2e3440;
  --text-color-on-dark: #d8dee9;
  --primary-color: #81a1c1;
  --primary-color-hover: rgb(94.8191489362, 135.5, 176.1808510638);
  --secondary-color: #88c0d0;
  --secondary-color-hover: rgb(99.4397590361, 172.6445783133, 193.5602409639);
  --success-color: #a3be8c;
  --info-color: #5e81ac;
  --warning-color: #ebcb8b;
  --danger-color: #bf616a;
  --success-color-hover: rgb(136.9333333333, 171.5833333333, 107.4166666667);
  --info-color-hover: rgb(73.1352459016, 103.9754098361, 141.8647540984);
  --warning-color-hover: rgb(227.5, 183.5, 95.5);
  --danger-color-hover: rgb(168.6756756757, 68.3243243243, 77.9324324324);
  --muted-color-hover: rgb(54.7032967033, 61.9010989011, 76.2967032967);
  --lighten-primary-color: white;
  --lighten-secondary-color: white;
  --lighten-success-color: white;
  --lighten-info-color: white;
  --lighten-warning-color: white;
  --lighten-danger-color: white;
  --lighten-muted-color: rgb(138.2252747253, 149.2417582418, 171.2747252747);
  --row-odd-color: #474b56;
  --row-even-color: #3d424c;
  --text-row-color: #c7c7c7;
  --light-color: #eceff4;
  --dark-color: #3b4252;
  --muted-color: #6e7c98;
  --disabled-color: #55576f;
  --border-color: #434c5e;
  --background-color: #3b4252;
  --header-bg: #3b4252;
  --header-text-color: #d8dee9;
  --footer-bg: #3b4252;
  --footer-text-color: #d8dee9;
  --link-color: #88c0d0;
  --link-hover-color: #8fbcbb;
  --button-bg: #5e81ac;
  --button-text-color: #ffffff;
  --button-hover-bg: #81a1c1;
  --input-bg: #434c5e;
  --input-border-color: #4c566a;
  --input-text-color: #d8dee9;
  --accent1: #bf616a;
  --accent2: #88c0d0;
  --accent3: #ebcb8b;
  --accent4: #a3be8c;
  --accent5: #5e81ac;
  --accent6: #b48ead;
  --shade1: #eceff4;
  --shade2: #e5e9f0;
  --shade3: #d8dee9;
  --shade4: #a3be8c;
  --shade5: #81a1c1;
  --shade6: #5e81ac;
  --shade7: #4c566a;
  --shade8: #3b4252;
  --shade9: #2e3440;
  --bg-surface-variant: #2e3440;
  --bg-surface-variant-hover: rgb(56.6636363636, 64.0545454545, 78.8363636364);
  --danger-color-subtle: rgb(41.6351351351, 16.8648648649, 19.2364864865);
  --radius: 4px;
  --text-muted: #6e7c98;
}
.dark-theme {
  --bg-color: #08080f;
  --text-color: #C0CAF5;
  --text-color-on-light: #1A1B26;
  --text-color-on-dark: #dee3ff;
  --primary-color: #7AA2F7;
  --primary-color-hover: rgb(73.8936170213, 128.3617021277, 244.1063829787);
  --secondary-color: #9ECE6A;
  --secondary-color-hover: rgb(133.0151515152, 193.3787878788, 67.6212121212);
  --success-color: #9ECE6A;
  --info-color: #0DB9D7;
  --warning-color: #E0AF68;
  --danger-color: #F7768E;
  --success-color-hover: rgb(133.0151515152, 193.3787878788, 67.6212121212);
  --info-color-hover: rgb(10.0921052632, 143.6184210526, 166.9078947368);
  --warning-color-hover: rgb(215.3131868132, 152.5824175824, 61.6868131868);
  --danger-color-hover: rgb(244.1862068966, 69.8137931034, 102.2551724138);
  --muted-color-hover: rgb(95.5443037975, 99.2911392405, 126.4556962025);
  --lighten-primary-color: white;
  --lighten-secondary-color: white;
  --lighten-success-color: white;
  --lighten-info-color: rgb(229.5394736842, 249.9078947368, 253.4605263158);
  --lighten-warning-color: white;
  --lighten-danger-color: white;
  --lighten-muted-color: rgb(192.6265822785, 194.4746835443, 207.8734177215);
  --row-odd-color: #363656;
  --row-even-color: #262944;
  --text-row-color: #c7c7c7;
  --light-color: #C0CAF5;
  --dark-color: #16161E;
  --muted-color: #4d5979;
  --disabled-color: #222436;
  --border-color: #363B54;
  --background-color: #1A1B26;
  --header-bg: #16161E;
  --header-text-color: #C0CAF5;
  --footer-bg: #16161E;
  --footer-text-color: #C0CAF5;
  --link-color: #7AA2F7;
  --link-hover-color: #A9B1D6;
  --button-bg: #7AA2F7;
  --button-text-color: #ffffff;
  --button-hover-bg: #7DCFFF;
  --input-bg: #101014;
  --input-border-color: #363B54;
  --input-text-color: #C0CAF5;
  --accent1: #F7768E;
  --accent2: #7AA2F7;
  --accent3: #E0AF68;
  --accent4: #9ECE6A;
  --accent5: #0DB9D7;
  --accent6: #9D7CD8;
  --shade1: #C0CAF5;
  --shade2: #A9B1D6;
  --shade3: #9DA5C1;
  --shade4: #787C99;
  --shade5: #565F89;
  --shade6: #434963;
  --shade7: #3B4261;
  --shade8: #292E42;
  --shade9: #1A1B26;
  --bg-surface-variant: #1A1B26;
  --bg-surface-variant-hover: rgb(36.359375, 37.7578125, 53.140625);
  --danger-color-subtle: rgb(128.024137931, 7.475862069, 29.9034482759);
  --radius: 4px;
  --text-muted: #787C99;
}
.light-theme {
  --bg-color: #fdf6e3;
  --text-color: #657b83;
  --text-color-on-light: #46565c;
  --text-color-on-dark: #fdf6e3;
  --primary-color: #268bd2;
  --primary-color-hover: rgb(30.185483871, 110.4153225806, 166.814516129);
  --secondary-color: #2aa198;
  --secondary-color-hover: rgb(31.4482758621, 120.5517241379, 113.8128078818);
  --success-color: #859900;
  --info-color: #268bd2;
  --warning-color: #b58900;
  --danger-color: #dc322f;
  --success-color-hover: rgb(88.6666666667, 102, 0);
  --info-color-hover: rgb(30.185483871, 110.4153225806, 166.814516129);
  --warning-color-hover: rgb(130, 98.3977900552, 0);
  --danger-color-hover: rgb(184.8888888889, 33.7777777778, 31.1111111111);
  --muted-color-hover: rgb(66.1073170732, 82.6341463415, 87.8926829268);
  --lighten-primary-color: rgb(249.0725806452, 251.9233870968, 253.9274193548);
  --lighten-secondary-color: rgb(213.7586206897, 244.2413793103, 241.9359605911);
  --lighten-success-color: rgb(241.6666666667, 255, 153);
  --lighten-info-color: rgb(249.0725806452, 251.9233870968, 253.9274193548);
  --lighten-warning-color: rgb(255, 237.0110497238, 181);
  --lighten-danger-color: white;
  --lighten-muted-color: rgb(153.6951219512, 172.743902439, 178.8048780488);
  --row-odd-color: #fffcf3;
  --row-even-color: #fbf8e9;
  --text-row-color: #323232;
  --light-color: #becdcd;
  --dark-color: #073642;
  --muted-color: #586e75;
  --disabled-color: #efecda;
  --border-color: #eee8d5;
  --background-color: #fdf6e3;
  --header-bg: #eee8d5;
  --header-text-color: #657b83;
  --footer-bg: #eee8d5;
  --footer-text-color: #657b83;
  --link-color: #268bd2;
  --link-hover-color: #2aa198;
  --button-bg: #268bd2;
  --button-text-color: #ffffff;
  --button-hover-bg: #2aa198;
  --input-bg: #fffcf1;
  --input-border-color: #eee8d5;
  --input-text-color: #657b83;
  --accent1: #dc322f;
  --accent2: #cb4b16;
  --accent3: #b58900;
  --accent4: #859900;
  --accent5: #2aa198;
  --accent6: #268bd2;
  --accent7: #6c71c4;
  --accent8: #d33682;
  --shade1: #fdf6e3;
  --shade2: #eee8d5;
  --shade3: #93a1a1;
  --shade4: #839496;
  --shade5: #657b83;
  --shade6: #586e75;
  --shade7: #073642;
  --shade8: #002b36;
  --shade9: #001f27;
  --bg-surface-variant: #becdcd;
  --bg-surface-variant-hover: rgb(175.5869565217, 193.9130434783, 193.9130434783);
  --danger-color-subtle: rgb(253.0555555556, 243.6111111111, 243.4444444444);
  --radius: 4px;
  --text-muted: #586e75;
}
.monochrome-theme {
  --bg-color: #F3F3F3;
  --text-color: #343434;
  --text-color-on-light: #343434;
  --text-color-on-dark: #F3F3F3;
  --primary-color: #8E8B82;
  --primary-color-hover: rgb(116.0714285714, 113.2857142857, 104.9285714286);
  --secondary-color: #E9DCBE;
  --secondary-color-hover: rgb(220.1034482759, 199.4827586207, 151.8965517241);
  --success-color: #6E6B62;
  --info-color: #A8A5A2;
  --warning-color: #D1C8A8;
  --danger-color: #4A4A4A;
  --success-color-hover: rgb(83.0288461538, 80.7644230769, 73.9711538462);
  --info-color-hover: rgb(143.35, 139.5, 135.65);
  --warning-color-hover: rgb(191.3609022556, 178.9097744361, 134.6390977444);
  --danger-color-hover: rgb(48.5, 48.5, 48.5);
  --muted-color-hover: rgb(96.5, 96.5, 96.5);
  --lighten-primary-color: white;
  --lighten-secondary-color: white;
  --lighten-success-color: rgb(232.8557692308, 232.1778846154, 230.1442307692);
  --lighten-info-color: white;
  --lighten-warning-color: white;
  --lighten-danger-color: rgb(201.5, 201.5, 201.5);
  --lighten-muted-color: rgb(185.75, 185.75, 185.75);
  --row-odd-color: #ededed;
  --row-even-color: #f6f6f6;
  --text-row-color: #323232;
  --light-color: #E0DCCB;
  --dark-color: #2A2A2A;
  --muted-color: #7A7A7A;
  --disabled-color: #eeeeee;
  --border-color: #C8C4B8;
  --background-color: #F3F3F3;
  --header-bg: #E9DCBE;
  --header-text-color: #343434;
  --footer-bg: #E9DCBE;
  --footer-text-color: #343434;
  --link-color: #343434;
  --link-hover-color: #5F5F5F;
  --button-bg: #8E8B82;
  --button-text-color: #ffffff;
  --button-hover-bg: #6E6B62;
  --input-bg: #f7f7f7;
  --input-border-color: #E9DCBE;
  --input-text-color: #343434;
  --accent1: #8E8B82;
  --accent2: #E9DCBE;
  --accent3: #F3F3F3;
  --accent4: #343434;
  --accent5: #6E6B62;
  --accent6: #A8A5A2;
  --accent7: #D1C8A8;
  --accent8: #2A2A2A;
  --accent9: #7A7A7A;
  --accent10: #C8C4B8;
  --shade1: #FFFFFF;
  --shade2: #F9F9F9;
  --shade3: #E3E3E3;
  --shade4: #CDCDCD;
  --shade5: #A1A1A1;
  --shade6: #757575;
  --shade7: #5F5F5F;
  --shade8: #4A4A4A;
  --shade9: #2A2A2A;
  --bg-surface-variant: #fff6e0;
  --bg-surface-variant-hover: rgb(255, 238.5967741935, 198.5);
  --danger-color-subtle: rgb(188.75, 188.75, 188.75);
  --radius: 4px;
  --text-muted: #7A7A7A;
}
.monokai-theme {
  --bg-color: #1d1a19;
  --text-color: #E4E3E1;
  --text-color-on-light: #312C2B;
  --text-color-on-dark: #E4E3E1;
  --primary-color: #81D0C9;
  --primary-color-hover: rgb(91.8554913295, 194.1445086705, 185.0809248555);
  --secondary-color: #A6CD77;
  --secondary-color-hover: rgb(141.5967741935, 191.2903225806, 81.7096774194);
  --success-color: #A6CD77;
  --info-color: #81D0C9;
  --warning-color: #F0C66F;
  --danger-color: #F86882;
  --success-color-hover: rgb(141.5967741935, 191.2903225806, 81.7096774194);
  --info-color-hover: rgb(91.8554913295, 194.1445086705, 185.0809248555);
  --warning-color-hover: rgb(235.1886792453, 179.7169811321, 64.8113207547);
  --danger-color-hover: rgb(245.7405063291, 55.2594936709, 89.6518987342);
  --muted-color-hover: rgb(116.8902439024, 103.9024390244, 96.1097560976);
  --lighten-primary-color: white;
  --lighten-secondary-color: white;
  --lighten-success-color: white;
  --lighten-info-color: white;
  --lighten-warning-color: white;
  --lighten-danger-color: white;
  --lighten-muted-color: rgb(201.5304878049, 194.3048780488, 189.9695121951);
  --row-odd-color: #3e3e3e;
  --row-even-color: #2e2e2e;
  --text-row-color: #c7c7c7;
  --light-color: #E4E3E1;
  --dark-color: #1F1E1C;
  --muted-color: #908178;
  --disabled-color: #efe5da;
  --border-color: #4E433F;
  --background-color: #312C2B;
  --header-bg: #393230;
  --header-text-color: #E4E3E1;
  --footer-bg: #393230;
  --footer-text-color: #E4E3E1;
  --link-color: #81D0C9;
  --link-hover-color: #9FA0E1;
  --button-bg: #81D0C9;
  --button-text-color: #ffffff;
  --button-hover-bg: #9FA0E1;
  --input-bg: #272322;
  --input-border-color: #4E433F;
  --input-text-color: #E4E3E1;
  --accent1: #F86882;
  --accent2: #81D0C9;
  --accent3: #F0C66F;
  --accent4: #A6CD77;
  --accent5: #9FA0E1;
  --accent6: #FD6883;
  --shade1: #E4E3E1;
  --shade2: #CFCAC2;
  --shade3: #B9B2A5;
  --shade4: #A49B89;
  --shade5: #8F8470;
  --shade6: #7A6D56;
  --shade7: #65563D;
  --shade8: #504F34;
  --shade9: #393230;
  --bg-surface-variant: #8F8470;
  --bg-surface-variant-hover: rgb(128.7, 118.8, 100.8);
  --danger-color-subtle: white;
  --radius: 4px;
  --text-muted: #908178;
}
.theme-selector {
  position: relative;
  display: inline-block;
}
.theme-options__wrapper {
  position: absolute;
  top: 33px;
  left: -3px;
}
.theme-options__wrapper--quotation-public-link {
  top: 42px;
  width: 0;
  height: 0;
}
.theme-options {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 30px;
  padding: 5px;
  background-color: #333333;
  color: #f6f6f4;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  z-index: -10;
}
.current-theme {
  /* --- Contenedor del Icono Principal --- */
  cursor: pointer;
  margin: 5px 0;
  /* Ajusta el tamaño de tu icono */
  font-size: 16px;
  width: 16px;
  height: 16px;
  display: inline-block;
  text-align: center;
  line-height: 1;
  /* --- Limpieza de la poesía --- */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  /* Ocultar ambos iconos por defecto */
  /* Mostrar SOL (usando la variable de color del TS) */
  /* Mostrar LUNA (usando la variable de color del TS) */
}
.current-theme > .fontello-icon-sun,
.current-theme > .fontello-icon-moon {
  display: none;
  vertical-align: top;
}
.current-theme.current-theme--light-mode > .fontello-icon-sun {
  display: inline-block;
  color: var(--light-color);
  font-size: 1.1rem;
}
.current-theme.current-theme--dark-mode > .fontello-icon-moon {
  display: inline-block;
  color: var(--light-color);
  font-size: 1.1rem;
}
.theme-square {
  /* --- Contenedor de Iconos de Opciones --- */
  cursor: pointer;
  margin: 5px 0;
  /* Un poco más pequeños para las opciones */
  font-size: 14px;
  width: 24px;
  height: 24px;
  display: inline-block;
  text-align: center;
  line-height: 1;
  /* --- Limpieza de la poesía --- */
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  /* Ocultar ambos iconos por defecto */
  /* Mostrar SOL (usando la variable de color del HTML) */
  /* Mostrar LUNA (usando la variable de color del HTML) */
}
.theme-square > .fontello-icon-sun,
.theme-square > .fontello-icon-moon {
  display: none;
  vertical-align: top;
  font-size: 1.2rem;
}
.theme-square.current-theme--light-mode > .fontello-icon-sun {
  display: inline-block;
}
.theme-square.current-theme--dark-mode > .fontello-icon-moon {
  display: inline-block;
}
a {
  color: var(--link-color);
  text-decoration: none;
}
a:hover {
  color: var(--link-hover-color);
}
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.loadingAnimation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: 1000;
  opacity: 1;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loadingAnimation img {
  width: 64px;
  height: 64px;
}
.quotation-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 500;
  color: var(--light-color);
  background-color: var(--primary-color);
  border: none;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: background-color 0.3s, box-shadow 0.3s;
}
.quotation-button--hover:hover {
  background-color: var(--secondary-color);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.quotation-button--active:active {
  background-color: var(--primary-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.quotation-button--focus:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(98, 0, 234, 0.2);
}
button {
  border: none;
  padding: 0;
  color: inherit;
  background: none;
  cursor: pointer;
}
.toggleThemeButtonModal {
  position: absolute;
  top: 20px;
  right: 20px;
}
.demo-button {
  background-color: var(--primary-color);
  border: none;
  color: var(--light-color);
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  transition-duration: 0.4s;
  cursor: pointer;
  padding: 10px 24px;
  border-radius: 12px;
}
.demo-button:hover {
  background-color: var(--secondary-color);
}
.button-edit-user_sa {
  background-color: var(--success-color);
  border: none;
  color: var(--button-text-color);
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  transition-duration: 0.4s;
  cursor: pointer;
  padding: 10px 24px;
  border-radius: 12px;
}
.button-edit-user_sa:hover {
  background-color: var(--info-color);
}
.button-delete-user_sa {
  background-color: var(--danger-color);
  border: none;
  color: var(--button-text-color);
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  transition-duration: 0.4s;
  cursor: pointer;
  padding: 10px 24px;
  border-radius: 12px;
}
.button-delete-user_sa:hover {
  background-color: var(--warning-color);
}
.button-table-pages--newPage {
  background-color: var(--primary-color);
  border: none;
  color: var(--button-text-color);
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 1rem;
  transition-duration: 0.4s;
  cursor: pointer;
  padding: 10px 24px;
  border-radius: 12px;
}
.button-table-pages--newPage:hover {
  background-color: var(--primary-color-hover);
}
.id-edit-button-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
}
.id-edit-button {
  text-align: center;
  background-color: var(--muted-color);
  border: 1px dashed var(--border-color);
  color: var(--text-color-on-light);
  text-decoration: none;
  display: inline-block;
  font-size: 1rem;
  transition-duration: 0.4s;
  cursor: pointer;
  padding: 9px 12px;
  border-radius: 6px;
}
.id-copy-button {
  background-color: var(--warning-color);
  font-weight: 600;
}
.id-edit-button--a {
  padding: 4px 12px;
  margin-left: 10px;
  background-color: var(--light-color);
}
.copied {
  background-color: var(--success-color);
}
.custom-file-upload--edit-product {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
.formLoginModal__button--default {
  text-align: center;
}
.floating-wpp {
  position: fixed;
  bottom: 15px;
  left: auto;
  right: 15px;
  font-size: 14px;
  transition: bottom 0.2s;
  z-index: 100;
}
.floating-wpp-button {
  position: relative;
  border-radius: 50%;
  box-shadow: 1px 1px 4px rgba(60, 60, 60, 0.4);
  transition: box-shadow 0.2s;
  cursor: pointer;
  overflow: hidden;
  width: 72px;
  height: 72px;
  background-color: #25d366;
}
.floating-wpp .floating-wpp-button img,
.floating-wpp .floating-wpp-button svg {
  position: absolute;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  border-radius: 50%;
}
.celwidget-sponsored {
  width: 100%;
  overflow: hidden;
  margin-top: 2px;
  background-color: var(--background-color);
  color: var(--text-color);
}
.celwidget-sponsored-wrapper {
  display: flex;
  justify-content: center;
  background-color: var(--background-color);
}
.a-link-celwidget-sponsored-clickthrough {
  text-decoration: none;
  color: var(--link-color);
}
.a-link-celwidget-sponsored-clickthrough:hover {
  color: var(--link-hover-color);
}
.border-enforcement {
  cursor: pointer;
  border: 1px solid var(--border-color);
}
.ad-celwidget-background-image {
  max-width: 100%;
  height: auto;
  background-color: var(--background-color);
}
.quotation-sheet {
  position: relative;
  padding-top: 1rem;
}
@media (max-width: 1500px) {
  .quotation-sheet {
    width: 750px;
  }
}
/* Optimización para cuando el usuario desplaza rápidamente la página */
.quotation-sheet.is-scrolling .transaction-summary-sidebar {
  pointer-events: none;
  /* Temporalmente desactiva interacciones durante el scroll */
}
.quotation-sheet.is-scrolling * {
  transition-duration: 0ms;
  animation-duration: 0ms;
}
.quotation-sheet h2 {
  margin-block-start: 0;
}
/* Estructura ajustada de la hoja de cotización */
.quotation-content-area {
  /* Reducido desde 16px para acercar el sidebar */
  /* Se ajusta al contenido en lugar de un tamaño fijo */
  /* Pero no supera el ancho del contenedor padre */
  display: grid;
  gap: 1rem;
  padding: 1rem;
  height: 100%;
  min-height: calc(100vh - 200px);
}
@media (min-width: 1501px) {
  .quotation-content-area {
    grid-template-columns: 1fr 320px;
    grid-template-areas: "main-area sidebars";
  }
  .quotation-content-area .quotation-main-area {
    grid-area: main-area;
  }
  .quotation-content-area .sidebars-container {
    grid-area: sidebars;
  }
}
@media (max-width: 1500px) {
  .quotation-content-area {
    grid-template-columns: 1fr;
    grid-template-areas: "main-area" "sidebars";
    padding: 0;
  }
  .quotation-content-area .quotation-main-area {
    grid-area: main-area;
    width: 100%;
    overflow-x: auto;
  }
  .quotation-content-area .sidebars-container {
    grid-area: sidebars;
    order: 2;
  }
}
.quotation-main-area {
  box-shadow: var(--shadow-card, 0 2px 8px rgba(0, 0, 0, 0.1));
  overflow: hidden;
}
@media (max-width: 1500px) {
  .quotation-main-area {
    min-width: 100%;
    max-width: 100%;
  }
}
/* Área lateral de resumen de transacción - NUEVO */
.transaction-summary-sidebar {
  width: 277px;
  flex-shrink: 0;
  position: sticky;
  top: 72px;
  margin-bottom: 16px;
  /* Optimizaciones de rendimiento */
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
  contain: layout paint;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  /* Fuerza aceleración GPU */
}
.quotation-header__client-info-expandable {
  display: inline-block;
  /* Estilos base cuando está oculto */
  position: absolute;
  bottom: 200px;
  left: 0;
  /* Propiedades para transformación */
  transform: translateY(0%);
  /* Posición inicial arriba */
  transform-origin: top center;
  overflow: hidden;
  contain: content;
  height: 384px;
  width: 550px;
  /* Estructura de grid */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  z-index: 100;
}
@media (min-width: 1501px) {
  .quotation-header__client-info-expandable {
    bottom: 0;
    top: -20px;
  }
}
.quotation-header {
  position: relative;
  z-index: 10;
  background-color: transparent;
  max-width: 100%;
}
.quotation-header .quotation-header__client-info-expandable.visible {
  display: inline-block;
  height: 424px;
  transition: height 0.5s cubic-bezier(0.17, 0.67, 0.21, 1.01);
  overflow-y: auto;
}
.quotation-header .quotation-header__client-info-expandable.visible .client-info-grid-toggle-card-expandable {
  animation: slide-card-down 0.5s cubic-bezier(0.17, 0.67, 0.21, 1.01) forwards;
  will-change: transform, opacity;
  height: fit-content;
}
/* Estado oculto para Js que elimina la clase .visible */
.quotation-header .quotation-header__client-info-expandable:not(.visible) {
  height: 0;
  overflow: hidden;
  transition: height 0.5s cubic-bezier(0.17, 0.67, 0.21, 1.01);
}
.quotation-header .quotation-header__client-info-expandable:not(.visible) .client-info-grid-toggle-card-expandable {
  animation: slide-card-up 0.4s cubic-bezier(0.17, 0.67, 0.21, 1.01) forwards;
  will-change: transform, opacity;
}
/* Keyframes para animación interna de la tarjeta */
@keyframes slide-card-down {
  0% {
    transform: translateY(-1);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-card-up {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-1);
    opacity: 0;
  }
}
.button-quotation-container .header-toggle-button .toggle-icon.rotated {
  position: absolute;
  transform: rotate(-180deg) scale(2);
  bottom: -408px;
  left: -20px;
  transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1);
  color: var(--lighten-primary-color);
}
.button-quotation-container .header-toggle-button .toggle-icon.rotated::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  background: var(--background-color);
  mix-blend-mode: difference;
  z-index: 100;
  border-radius: 25%;
}
.header-tool-button {
  position: absolute;
  bottom: -105px;
  background: transparent;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  border: 2px dashed var(--border-color);
  padding: 0.3rem;
  border: none;
  cursor: pointer;
}
.header-tool-button:hover {
  background: var(--surface-variant-hover);
}
.header-tool-button .icon {
  font-size: 1rem;
  transition: transform 0.3s ease;
}
.header-tool-button .icon.expanded {
  transform: rotate(180deg);
}
.header-tool-button--add {
  left: 35px;
  font-size: 1.6rem;
  bottom: -106px;
}
.header-tool-button--print {
  left: 77px;
  font-size: 1.6rem;
  bottom: -106px;
}
.header-tool-button--public-link {
  left: 145px;
  font-size: 1.6rem;
  bottom: -106px;
}
.header-tool-total--print {
  left: 185px;
  font-size: 1.2rem;
  bottom: -106px;
  font-weight: 600;
  color: var(--primary-color);
  width: 125px;
}
.header-tool-number-products--print {
  left: 310px;
  font-size: 1.2rem;
  bottom: -106px;
  font-weight: 600;
  color: var(--muted-color);
  width: 250px;
}
.header-tool-button--toggle-advances {
  left: 114px;
  font-size: 1.2rem;
  bottom: -106px;
  font-weight: 600;
  width: 45px;
}
.header-toggle-button {
  position: absolute;
  bottom: -106px;
  left: 24px;
  transform: translateX(-50%);
  background: transparent;
  border-radius: 0 0 var(--radius) var(--radius);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  border: 2px dashed var(--border-color);
  padding: 0.3rem;
  border: none;
  cursor: pointer;
}
.header-toggle-button:hover {
  background: var(--surface-variant-hover);
}
.header-toggle-button .icon {
  font-size: 1.7rem;
  transition: transform 0.3s ease;
}
.header-toggle-button .icon.expanded {
  transform: rotate(180deg);
}
.client-info-grid--hidden {
  display: none;
}
.region-flag {
  width: 42px;
  height: 24px;
  margin-left: 0.5rem;
  border-radius: var(--radius-sm);
}
.header-toggle-button .toggle-icon {
  transition: transform 0.65s cubic-bezier(0.34, 1.56, 0.64, 1);
  font-size: 1.4rem;
  will-change: transform;
}
.icon.expanded {
  transform: rotate(180deg);
  transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.result-item {
  padding: 0.5rem 1rem;
  cursor: pointer;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.2s ease;
}
.result-item:hover {
  background-color: var(--bg-surface-variant);
}
.result-item.even {
  background-color: var(--row-even-color);
}
.result-item.odd {
  background-color: var(--row-odd-color);
}
.result-item .result-main {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.result-item .result-main strong {
  color: var(--primary-color);
}
.result-item .result-details {
  font-size: 0.875rem;
  color: var(--muted-color);
  margin-top: 4px;
}
.result-item:last-child {
  border-bottom: none;
}
.error-message {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  color: var(--danger-color);
  background: var(--bg-surface-variant);
  border-radius: var(--radius);
  border: 1px solid var(--danger-color);
}
.error-message i {
  font-size: 1.25rem;
}
/* Para mostrar resultados con efecto "cargando" */
.products-search-results.loading-results {
  opacity: 0.6;
  position: relative;
}
.products-search-results.loading-results::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
  cursor: wait;
  z-index: 1;
}
/* Estilos para el mensaje cuando no hay resultados */
.search-no-results {
  background-color: var(--warning-color-subtle);
  color: var(--warning-color);
  border-radius: var(--radius);
  padding: 12px 16px;
  border-left: 4px solid var(--warning-color);
  display: flex;
  align-items: center;
  font-weight: 500;
}
/* Añadir un icono de advertencia para mayor visibilidad */
.search-no-results::before {
  content: "⚠️";
  margin-right: 8px;
  font-size: 1.2em;
}
/* Optimización del contenedor de resultados de búsqueda */
.products-search-results {
  /* Rendimiento optimizado */
  will-change: transform;
  transform: translateZ(0);
  /* Comportamiento de scroll mejorado */
  scroll-behavior: auto;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  /* Dimensiones y estilo visual */
  max-height: 300px;
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
}
.products-search-results::-webkit-scrollbar {
  width: 6px;
  background: var(--background-color);
}
.products-search-results::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 3px;
  min-height: 40px;
}
.products-search-results::-webkit-scrollbar-track {
  background: var(--background-color);
  border-radius: 3px;
}
/* Estilos mejorados para elementos con filas alternas */
.product-search-item.even {
  background-color: var(--row-even-color);
}
.product-search-item.odd {
  background-color: var(--row-odd-color);
}
/* Mantener los estilos existentes para el elemento resaltado */
.product-search-item.keyboard-highlighted {
  background-color: var(--bg-surface-variant);
  border-left: 3px solid var(--primary-color);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  transform: translateX(2px);
  /* Añadir z-index para asegurar visibilidad */
  position: relative;
  z-index: 1;
}
/* Reforzar estado activo al presionar Enter */
.product-search-item.item-selected {
  background-color: var(--primary-color-hover);
  color: var(--text-color-on-dark);
  transform: translateY(1px);
}
/* Mantener transición existente */
.product-search-item {
  transition: all 0.12s ease-out;
  border-left: 3px solid transparent;
  /* Añadir padding consistente para mejor espaciado */
  padding: 8px 12px;
  cursor: pointer;
}
/* Mantener estilo hover existente */
.product-search-item:hover:not(.keyboard-highlighted) {
  background-color: var(--bg-surface-variant-hover);
  border-left: 3px solid var(--shade5);
}
/* Asegurar legibilidad del texto */
.product-search-item .product-name {
  color: var(--text-color);
  font-weight: 500;
}
.product-search-item .product-price {
  color: var(--accent1);
  font-weight: 500;
}
/*
  ==============================
  Estilos para la tarjeta de totales                            
  ==============================
*/
.card {
  background-color: var(--bg-surface-variant);
  border-radius: var(--radius);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
/* Ajustes adicionales para la card */
.card--theme-brand.card--elevated {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
  transition: box-shadow 0.3s ease;
  border: none;
  /* Efecto sutil cuando el usuario está viendo la tarjeta */
}
.card--theme-brand.card--elevated:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}
.card__header {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-color);
  background-color: var(--bg-surface-variant);
  border-radius: 0.25rem 0.25rem 0 0;
}
.card__title {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text-color);
}
.card__content {
  padding: 12px 16px;
}
.summary-grid {
  display: grid;
  gap: 8px;
}
/* Mejoras en la estructura del resumen - NUEVO */
.summary-grid__group {
  margin-bottom: 0;
}
.summary-grid__separator {
  height: 1px;
  background-color: var(--border-color);
  margin: 8px 0;
}
/* Separador con degradado azul - RECUPERADO */
.summary-grid__separator--accent {
  height: 2px;
  margin: 12px 0 8px;
  position: relative;
  overflow: hidden;
  /* Eliminar el fondo sólido del separador estándar */
  background-color: transparent;
}
.summary-grid__separator--accent::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--primary-color) 0%, var(--primary-color) 60%, rgba(var(--primary-color-rgb), 0.1) 100%);
  box-shadow: 0 0 4px rgba(var(--primary-color-rgb), 0.4);
}
/* Versión alternativa para temas oscuros */
[data-theme=brand-dark] .summary-grid__separator--accent::before,
[data-theme=nord] .summary-grid__separator--accent::before,
[data-theme=dark] .summary-grid__separator--accent::before,
[data-theme=monokai] .summary-grid__separator--accent::before {
  box-shadow: 0 0 6px rgba(var(--primary-color-rgb), 0.6);
}
.summary-grid__row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 4px 0;
  border-bottom: 1px solid var(--border-color);
}
.summary-grid__row:last-child {
  border-bottom: none;
}
.summary-grid__label {
  color: var(--text-color);
  font-size: 1.2rem;
}
/* Añade esta clase para permitir que la etiqueta ocupe todo el ancho */
.summary-grid__label--full-width {
  grid-column: 1/-1;
  /* Ocupa todas las columnas disponibles */
}
.summary-grid__value {
  color: var(--text-color);
  font-weight: 500;
  font-size: 1.2rem;
  /* Mejora de contraste para los valores monetarios - NUEVO */
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.summary-grid__row--total {
  border-bottom: none;
  padding-top: 0;
  font-weight: 700;
  font-size: 1.1rem;
  margin-top: 2px;
  margin-bottom: 4px;
  color: var(--primary-color);
}
.summary-grid__row--total .summary-grid__label,
.summary-grid__row--total .summary-grid__value {
  font-size: 1.2rem;
  color: var(--primary-color);
  font-weight: 600;
}
.summary-grid__row--emphasis .summary-grid__value {
  color: var(--success-color);
}
.summary-grid__row--alert .summary-grid__value {
  color: var(--danger-color);
}
.value--negative {
  color: var(--danger-color);
}
/* Versión compacta del resumen anterior - NUEVO */
.quotation-summary--compact {
  margin-top: 16px;
  text-align: right;
}
.quotation-summary--compact .total-row--grand {
  font-size: 1.25rem;
}
.summary-grid__row--cash-group {
  border-top: 2px solid var(--primary-color);
  margin-top: 8px;
  padding-top: 8px;
  position: relative;
}
.summary-grid__row--cash-group::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--primary-color) 0%, var(--bg-surface-variant) 100%);
}
.summary-grid__row--emphasis {
  background-color: var(--lighten-success-color);
  border-radius: var(--radius);
  padding: 12px;
  margin: 4px -12px;
}
.summary-grid__row--emphasis .summary-grid__label {
  font-weight: 600;
  color: var(--success-color);
  display: flex;
  align-items: center;
  gap: 8px;
}
.summary-grid__row--emphasis .summary-grid__value {
  font-size: 1.3rem;
  color: var(--success-color);
  font-weight: 700;
}
.summary-grid__row--alert {
  background-color: var(--lighten-danger-color);
  border-radius: var(--radius);
  padding: 8px 12px;
  margin: 4px -12px;
}
.summary-grid__row--alert .summary-grid__label {
  font-weight: 600;
  color: var(--danger-color);
  display: flex;
  align-items: center;
  gap: 8px;
}
.summary-grid__row--alert .summary-grid__value {
  font-size: 1.3rem;
  color: var(--danger-color);
  font-weight: 700;
}
/* Ajusta el estilo del campo de entrada para que sea más prominente */
.summary-grid__row--emphasis .payment-input {
  font-size: 1.2rem;
  padding: 12px 10px 12px 32px;
  text-align: right;
  /* Alinea los números a la derecha como es convención */
  font-weight: 600;
}
.summary-grid__row--emphasis .fontello-icon-money,
.summary-grid__row--alert .fontello-icon-left {
  color: inherit;
  font-size: 1.2em;
  margin-right: 8px;
  vertical-align: middle;
}
.summary-grid__row--emphasis .fontello-icon-money {
  color: var(--success-color);
}
.summary-grid__row--alert .fontello-icon-left {
  color: var(--danger-color);
  transform: rotate(-45deg);
}
/* Contenedor específico para campo de entrada monetaria */
.payment-input-container {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  margin-bottom: 4px;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
/* Campo de entrada optimizado para valores monetarios */
.payment-input {
  width: 100%;
  padding: 10px;
  padding-left: 35px;
  border: 1px solid var(--input-border-color);
  border-radius: 5px;
  font-size: 1rem;
  margin-right: 10px;
  box-shadow: var(--input-bg) 0 1px 0, rgba(0, 0, 0, 0.5) 0 1px 3px 0px inset;
  text-shadow: 0 1px 1px var(--input-bg);
  background: var(--input-bg);
  color: var(--input-text-color);
}
.payment-input::placeholder {
  color: var(--success-color);
  opacity: 0.7;
  font-size: 0.95rem;
  /* Ligeramente más pequeño que el texto principal */
  font-style: italic;
  /* Para diferenciarlo visualmente */
}
.payment-input,
input[type=text] {
  outline: none;
}
.payment-input:focus,
input[type=text]:focus {
  border-color: var(--input-border-color);
  outline: 1px dashed var(--input-border-color);
  outline-offset: -1px;
}
/* Icono dentro del campo de pago */
.payment-input-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--success-color);
  font-size: 1.1rem;
  z-index: 1;
  pointer-events: none;
}
/* Variante para el contenedor de alerta/devolución */
.payment-input-container--alert .payment-input {
  border-color: var(--danger-color);
  color: var(--danger-color);
}
.payment-input-container--alert .payment-input:focus {
  box-shadow: 0 0 0 2px var(--danger-color-subtle);
}
.payment-input-container--alert .payment-input::placeholder {
  color: var(--danger-color-subtle);
}
.payment-input-container--alert .payment-input-icon {
  color: var(--danger-color);
}
/* Estructura del texto en etiqueta de pago */
.payment-label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  gap: 2px;
}
/* Etiqueta PAGA más prominente */
.payment-label-text {
  font-weight: 700;
  /* Más negrita */
  font-size: 1.2rem;
  margin-top: 2px;
  display: flex;
  align-items: center;
  letter-spacing: 0.5px;
  /* Mejor legibilidad */
  text-transform: uppercase;
  /* Consistente con el estilo existente */
  color: var(--success-color);
}
/* Mejoras de rendimiento para la carga inicial */
.transaction-summary-sidebar {
  max-height: 477px;
  overflow: visible;
  contain: layout paint;
  /* Aislamiento de rendimiento */
  content-visibility: visible;
}
.sidebars-container {
  display: flex;
  flex-direction: row;
  gap: 8px;
  width: 600px;
  padding-left: 5px;
}
/* Nueva área de acciones de pago */
.payment-actions-sidebar {
  width: 277px;
  flex-shrink: 0;
  position: sticky;
  top: 290px;
  /* Tema visual distintivo */
  /* Optimizaciones de rendimiento iguales */
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
  contain: layout paint;
}
.payment-actions-sidebar .card--theme-accent {
  background-color: var(--bg-accent-subtle);
  border: 1px solid var(--border-accent);
}
.payment-actions-sidebar .card--theme-accent .card__header {
  background-color: var(--bg-accent);
  color: var(--text-on-accent);
  border-bottom: 1px solid var(--border-accent);
}
.payment-actions-sidebar .card--theme-accent .card__title {
  color: var(--text-on-accent);
  font-size: 1.2rem;
}
.payment-actions-sidebar .card__content {
  padding: 0;
}
/* Estilos para la cuadrícula de pago */
.payment-grid {
  display: grid;
  gap: 12px;
  width: 200px;
}
.payment-grid__row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 8px 0;
}
.payment-grid__row--input {
  padding: 8px;
  background-color: var(--bg-surface);
  border-radius: var(--radius);
}
.payment-grid__row--result {
  padding: 8px;
  margin-top: -4px;
  background-color: var(--bg-danger-subtle);
  color: var(--text-danger);
  border-radius: var(--radius);
  font-weight: 500;
  font-size: 1.2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.payment-grid__value {
  font-weight: normal;
  text-align: right;
}
/* Garantizar que el contenido desaparezca cuando no sea visible */
@media print {
  .transaction-summary-sidebar {
    display: none;
  }
}
/* Responsive mejorado */
@media (max-width: 1500px) {
  .transaction-summary-sidebar {
    width: 320px;
  }
}
#sync-toast-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  visibility: hidden;
}
#sync-toast-container.visible {
  opacity: 1;
  visibility: visible;
}
.sync-toast {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  margin-bottom: 10px;
  border-radius: 4px;
  color: #fff;
  background-color: rgba(33, 33, 33, 0.9);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  animation: slide-in-right 0.3s ease forwards;
}
/* ... resto de estilos ... */
.sync-toast-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-weight: bold;
}
.sync-toast-message {
  flex: 1;
  font-size: 14px;
}
/* Estados específicos */
.sync-toast.success {
  border-left: 4px solid #4caf50;
}
.sync-toast.success .sync-toast-icon {
  color: #4caf50;
}
.sync-toast.error {
  border-left: 4px solid #f44336;
}
.sync-toast.error .sync-toast-icon {
  color: #f44336;
}
.sync-toast.info {
  border-left: 4px solid #2196f3;
}
.sync-toast.info .sync-toast-icon {
  color: #2196f3;
}
.sync-toast.progress {
  border-left: 4px solid #ff9800;
}
.sync-toast.progress .sync-toast-icon {
  color: #ff9800;
}
/* Animación del spinner */
.sync-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 152, 0, 0.3);
  border-radius: 50%;
  border-top-color: #ff9800;
  animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes slide-in-right {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-out-right {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0;
  }
}
.client-info-grid-toggle-card-expandable {
  overflow: hidden;
  contain: content;
  will-change: opacity, height;
  display: grid;
  visibility: visible;
  opacity: 1;
  grid-template-columns: 1fr 1fr;
  gap: 0.3rem;
  height: 374px;
  opacity: 1;
  margin-top: 0.5rem;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 2px solid rgba(122, 160, 203, 0.35);
  outline: 1px solid rgba(255, 255, 255, 0.15);
  outline-offset: -4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  border-radius: var(--radius, 4px);
  color: white;
  transition: transform 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease, border-color 0.3s ease;
}
.client-info-grid-toggle-card-expandable::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #141E30;
  background: linear-gradient(to right, #243B55, #141E30);
  z-index: -1;
  border-radius: var(--radius, 4px);
}
.client-info-grid-toggle-card-expandable:hover {
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-color: rgba(158, 188, 218, 0.5);
  border-style: dashed;
  border-width: 2px;
}
.client-info-section {
  padding-top: 1rem;
  padding-left: 0.7rem;
  padding-right: 0.7rem;
  padding-bottom: 1rem;
  position: relative;
}
.client-info-section .client-info-row {
  margin-bottom: 0.75rem;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.client-info-section .client-info-row:not(:last-child) {
  border-bottom: 1px solid rgba(122, 160, 203, 0.15);
  padding-bottom: 0.5rem;
}
.client-info-section .client-info-row .client-info-label {
  font-weight: 500;
  opacity: 0.85;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: rgba(255, 255, 255, 0.85);
}
.client-info-section .client-info-row .client-info-value {
  font-weight: 600;
  font-size: 1.05rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  position: relative;
  color: white;
}
.client-info-section .client-info-row .client-info-value::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: rgba(158, 188, 218, 0.4);
  transition: width 0.3s ease;
}
.client-info-section .client-info-row:hover .client-info-value::after {
  width: 100%;
}
.client-info-section .client-info-row--with-flag {
  display: flex;
  flex-direction: column;
}
.client-info-section .client-info-row--with-flag .client-info-value--with-flag {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  gap: 8px;
}
.client-info-section .client-info-row--with-flag .client-info-value--with-flag .client-flag {
  height: 24px;
  width: auto;
  border-radius: var(--radius-sm, 2px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s ease;
  vertical-align: middle;
  object-fit: contain;
}
.client-info-section .client-info-row--with-flag .client-info-value--with-flag .client-flag:hover {
  transform: scale(1.15);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.client-info-grid-toggle-card-expandable {
  height: 374px;
  width: 550px;
}
@supports not (gap: 4px) {
  .client-info-section .client-info-row .client-info-label {
    margin-bottom: 4px;
  }
  .client-info-section .client-info-row--with-flag .client-info-value {
    margin-right: 8px;
  }
}
@supports not (backdrop-filter: blur(10px)) {
  .client-info-grid-toggle-card-expandable {
    background-color: rgba(20, 30, 48, 0.9);
    border: 2px solid rgba(122, 160, 203, 0.5);
  }
  .client-info-grid-toggle-card-expandable::before {
    opacity: 0.9;
  }
}
@media (prefers-reduced-motion: reduce) {
  .client-info-grid-toggle-card-expandable {
    transition: none;
  }
  .client-info-grid-toggle-card-expandable .client-info-section .client-info-row .client-info-value::after {
    transition: none;
  }
}
/* Estilos base para client-info-grid */
.client-info-grid {
  overflow: hidden;
  contain: content;
  will-change: opacity, max-height;
  display: grid;
  visibility: visible;
  opacity: 1;
  grid-template-columns: 1fr;
  gap: 1rem;
  max-height: 800px;
  /* valor alto para que pueda expandirse */
  opacity: 1;
  margin-top: 0.5rem;
}
/* Estado visible usando clases - mayor especificidad */
.client-info-grid.client-info-grid--visible {
  display: grid;
  visibility: visible;
  opacity: 1;
  grid-template-columns: 1fr;
  gap: 1rem;
  /* valor alto para que pueda expandirse */
  opacity: 1;
  margin-top: 0.5rem;
}
/* Estado oculto usando clases */
.client-info-grid.client-info-grid--hidden {
  display: none;
  visibility: hidden;
  opacity: 0;
  opacity: 0;
}
/* Añadir estas animaciones al CSS */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.product-search-item {
  transition: all 0.2s ease;
}
.product-search-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
/* Transiciones suaves para elementos de estado */
.search-results-placeholder,
.search-loading,
.search-no-results,
.search-error,
.products-search-results {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
/* Loading spinner suave */
.search-loading {
  transform: scale(0.95);
}
.search-loading.visible {
  transform: scale(1);
}
/* 🆕 Mejoras en el loading para mejor feedback */
.search-loading {
  transform: scale(0.95);
  padding: 16px;
  text-align: center;
}
.search-loading .search-status-text {
  margin-left: 8px;
  font-size: 0.9rem;
  color: var(--muted-color);
  transition: color 0.3s ease;
  /* Animación sutil para el texto */
  animation: pulse-text 2s ease-in-out infinite;
}
.search-loading.visible {
  transform: scale(1);
}
/* 🆕 Animación para el texto de estado */
@keyframes pulse-text {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
    color: var(--primary-color);
  }
}
/* 🆕 Spinner más prominente */
.search-loading .fontello-icon-spin5 {
  font-size: 1.2rem;
  color: var(--primary-color);
}
/* 🆕 Estados de progreso diferenciados */
.search-loading.connecting .search-status-text {
  color: var(--warning-color);
}
.search-loading.processing .search-status-text {
  color: var(--info-color);
}
.search-loading.completed .search-status-text {
  color: var(--success-color);
}
/* 🆕 Overlay de loading sobre resultados existentes */
.search-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(var(--color-surface-rgb), 0.8);
  backdrop-filter: blur(1px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: opacity 0.2s ease;
  border-radius: 8px;
}
.search-loading-overlay .loading-content {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text-secondary);
  font-size: 0.9rem;
  padding: 12px 16px;
  background: rgba(var(--color-surface-rgb), 0.95);
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(4px);
}
.search-loading-overlay .fontello-icon-spin5 {
  color: var(--primary-color);
  font-size: 1rem;
}
/* Asegurar posicionamiento correcto del contenedor de resultados */
.products-search-results {
  position: relative;
}
/* ===== SEARCH HIGHLIGHTING STYLES ===== */
/* Professional highlighting with theme-aware colors and subtle animations */
.search-highlight {
  font-weight: 600;
  color: var(--primary-color);
  position: relative;
  transition: all 0.2s ease;
  /* Subtle text enhancement without background */
  text-shadow: 0 0 1px rgba(var(--primary-color-rgb, 23, 108, 192), 0.3);
  /* Optional: Very subtle underline for better visibility */
  text-decoration: underline;
  text-decoration-color: rgba(var(--primary-color-rgb, 23, 108, 192), 0.4);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
/* Product name highlighting - stronger emphasis */
.search-highlight--product-name {
  font-weight: 700;
  color: var(--primary-color);
  /* Slightly more pronounced for product names */
  text-shadow: 0 0 2px rgba(var(--primary-color-rgb, 23, 108, 192), 0.4);
}
/* Location highlighting - subtle emphasis */
.search-highlight--location {
  font-weight: 600;
  color: var(--info-color);
  font-size: 0.95em;
  /* Different color for location to distinguish from product name */
  text-shadow: 0 0 1px rgba(var(--info-color-rgb, 23, 162, 184), 0.3);
  text-decoration-color: rgba(var(--info-color-rgb, 23, 162, 184), 0.4);
}
/* Hover effects for interactive elements containing highlights */
.product-search-item:hover .search-highlight {
  color: var(--primary-color-hover);
  text-shadow: 0 0 3px rgba(var(--primary-color-rgb, 23, 108, 192), 0.5);
  transform: translateY(-0.5px);
}
.product-search-item:hover .search-highlight--location {
  color: var(--info-color-hover);
  text-shadow: 0 0 2px rgba(var(--info-color-rgb, 23, 162, 184), 0.5);
}
/* Dark theme support */
[data-theme=dark] .search-highlight {
  color: var(--primary-color-dark, #4d9fe1);
  text-shadow: 0 0 2px rgba(77, 159, 225, 0.4);
  text-decoration-color: rgba(77, 159, 225, 0.5);
}
[data-theme=dark] .search-highlight--location {
  color: var(--info-color-dark, #17a2b8);
  text-shadow: 0 0 1px rgba(23, 162, 184, 0.4);
  text-decoration-color: rgba(23, 162, 184, 0.5);
}
/* Animation for when highlights appear */
@keyframes highlightFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.search-highlight {
  animation: highlightFadeIn 0.3s ease forwards;
}
/* Performance optimization: disable animations on rapid search */
.search-results--updating .search-highlight {
  animation: none;
  transition: none;
}
.quotation-header__advances-expandable-advances {
  display: inline-block;
  position: absolute;
  top: -22px;
  left: 0px;
  overflow: hidden;
  contain: content;
  height: 384px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  z-index: 100;
}
.quotation-header .quotation-header__advances-expandable-advances.visible {
  display: inline-block;
  height: 535px;
  transition: height 0.5s cubic-bezier(0.17, 0.67, 0.21, 1.01);
}
.quotation-header .quotation-header__advances-expandable-advances.visible .advances-info-grid-toggle-card-expandable-advances {
  animation: slide-card-down 0.5s cubic-bezier(0.17, 0.67, 0.21, 1.01) forwards;
  will-change: transform, opacity;
}
.quotation-header .quotation-header__advances-expandable-advances:not(.visible) {
  height: 0;
  overflow: hidden;
  transition: height 0.5s cubic-bezier(0.17, 0.67, 0.21, 1.01);
}
.quotation-header .quotation-header__advances-expandable-advances:not(.visible) .advances-info-grid-toggle-card-expandable-advances {
  animation: slide-card-up 0.4s cubic-bezier(0.17, 0.67, 0.21, 1.01) forwards;
  will-change: transform, opacity;
}
.advances-info-grid-toggle-card-expandable-advances {
  overflow: hidden;
  contain: content;
  will-change: opacity, transform;
  display: grid;
  visibility: visible;
  opacity: 1;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  min-height: 374px;
  height: auto;
  margin-top: 0.5rem;
  position: relative;
  max-width: 725px;
  margin-left: auto;
  margin-right: auto;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 2px solid rgba(122, 160, 203, 0.35);
  outline: 1px solid rgba(255, 255, 255, 0.15);
  outline-offset: -4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  border-radius: var(--radius, 4px);
  color: white;
  transition: transform 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease, border-color 0.3s ease;
}
.advances-info-grid-toggle-card-expandable-advances::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #141E30;
  background: linear-gradient(to right, #243B55, #141E30);
  z-index: -1;
  border-radius: var(--radius, 4px);
}
.advances-info-grid-toggle-card-expandable-advances:hover {
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-color: rgba(158, 188, 218, 0.5);
  border-style: dashed;
  border-width: 2px;
}
.advances-info-section-advances {
  padding: 0.7rem;
  position: relative;
}
.advances-section-title-advances {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: white;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(122, 160, 203, 0.35);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.advances-section-title-advances i {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.9);
}
.advance-input-row-advances,
.transfer-input-row-advances {
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-bottom: 1px solid rgba(122, 160, 203, 0.15);
  padding-bottom: 0.75rem;
}
.advance-input-row-advances:last-child,
.transfer-input-row-advances:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.advance-input-label-advances,
.transfer-input-label-advances {
  font-weight: 500;
  opacity: 0.85;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: rgba(255, 255, 255, 0.85);
  display: block;
  margin-bottom: 0.25rem;
}
.advance-input-pair-advances,
.transfer-input-pair-advances {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.advance-input-advances,
.transfer-input-advances {
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius, 4px);
  font-size: 0.95rem;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  transition: all 0.15s ease-in-out;
}
.advance-input-advances:focus,
.transfer-input-advances:focus {
  outline: 0;
  border-color: rgba(158, 188, 218, 0.8);
  box-shadow: 0 0 0 0.2rem rgba(158, 188, 218, 0.25);
  background: rgba(255, 255, 255, 0.15);
}
.advance-input-advances::placeholder,
.transfer-input-advances::placeholder {
  color: rgba(255, 255, 255, 0.7);
  opacity: 1;
}
.advance-input--currency-advances,
.transfer-input--currency-advances {
  width: 140px;
  text-align: right;
  font-family: "Courier New", monospace;
  font-weight: 500;
}
.advance-input--description-advances {
  flex: 1;
  min-width: 150px;
}
.transfer-input--date-advances {
  width: 140px;
  color-scheme: dark;
}
.toggle-icon-advances {
  font-size: 1.4rem;
  transition: transform 0.65s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform;
}
.toggle-icon-advances.advances-rotated {
  width: 45px;
}
@media (max-width: 768px) {
  .advances-info-grid-toggle-card-expandable-advances {
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .advance-input-pair-advances,
  .transfer-input-pair-advances {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .advance-input--currency-advances,
  .transfer-input--currency-advances,
  .transfer-input--date-advances {
    width: 100%;
  }
}
@media (max-width: 900px) and (min-width: 769px) {
  .advances-info-grid-toggle-card-expandable-advances {
    max-width: 725px;
  }
}
@supports not (backdrop-filter: blur(10px)) {
  .advances-info-grid-toggle-card-expandable-advances {
    background-color: rgba(20, 30, 48, 0.9);
    border: 2px solid rgba(122, 160, 203, 0.5);
  }
  .advances-info-grid-toggle-card-expandable-advances::before {
    opacity: 0.9;
  }
  .advance-input-advances,
  .transfer-input-advances {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
  }
}
@media (prefers-reduced-motion: reduce) {
  .advances-info-grid-toggle-card-expandable-advances,
  .toggle-icon-advances,
  .advance-input-advances,
  .transfer-input-advances {
    transition: none;
  }
}
.advances-info-grid-toggle-card-expandable-advances {
  overflow: hidden;
  contain: content;
  will-change: opacity, transform;
  display: grid;
  visibility: visible;
  opacity: 1;
  grid-template-columns: 1fr;
  gap: 0;
  min-height: 374px;
  height: auto;
  margin-top: 0.5rem;
  position: relative;
  max-width: 725px;
  margin-left: auto;
  margin-right: auto;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 2px solid rgba(122, 160, 203, 0.35);
  outline: 1px solid rgba(255, 255, 255, 0.15);
  outline-offset: -4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  border-radius: var(--radius, 4px);
  color: white;
  transition: transform 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease, border-color 0.3s ease;
}
.advances-info-grid-toggle-card-expandable-advances::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #141E30;
  background: linear-gradient(to right, #243B55, #141E30);
  z-index: -1;
  border-radius: var(--radius, 4px);
}
.advances-info-grid-toggle-card-expandable-advances:hover {
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-color: rgba(158, 188, 218, 0.5);
  border-style: dashed;
  border-width: 2px;
}
.advances-panel-container {
  padding: 1.5rem;
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Header del panel usando variables de tema */
.advances-panel-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid rgba(122, 160, 203, 0.35);
}
.advances-panel-header .advances-panel-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--text-color-on-dark, #ffffff);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.advances-panel-header .advances-panel-title i {
  font-size: 1.3rem;
  opacity: 0.9;
  color: rgba(255, 255, 255, 0.9);
}
/* Botones de acción usando variables de tema */
.advances-action-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
}
.advances-btn {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.1rem 0.75rem;
  border: none;
  border-radius: var(--radius, 4px);
  font-weight: 500;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.3s ease;
  max-width: 140px;
  height: 35px;
  justify-content: center;
  position: relative;
  color: var(--text-color-on-dark, #ffffff);
}
.advances-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
.advances-btn:active {
  transform: translateY(0);
}
.advances-btn i {
  font-size: 1rem;
}
.advances-btn--anticipo {
  background: linear-gradient(135deg, var(--success-color), var(--success-color-hover));
}
.advances-btn--anticipo:hover {
  background: linear-gradient(135deg, var(--success-color-hover), var(--success-color));
}
.advances-btn--transferencia {
  background: linear-gradient(135deg, var(--info-color), var(--info-color-hover));
}
.advances-btn--transferencia:hover {
  background: linear-gradient(135deg, var(--info-color-hover), var(--info-color));
}
.advances-btn--deposit {
  background: linear-gradient(135deg, var(--info-color), var(--info-color-hover));
}
.advances-btn--deposit:hover {
  background: linear-gradient(135deg, var(--info-color-hover), var(--info-color));
}
/* === Currency Trigger/Actuator Pattern === */
.currency-trigger-container {
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  height: 35px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--radius, 4px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: all 0.3s ease;
}
.currency-trigger-container:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
}
.currency-trigger-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  color: var(--text-color-on-dark, #ffffff);
  font-weight: 500;
  font-size: 0.95rem;
  user-select: none;
  width: 100%;
  margin: 0;
}
.currency-trigger-label:hover {
  color: rgba(255, 255, 255, 0.9);
}
.currency-trigger-checkbox {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 3px;
  background: transparent;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.currency-trigger-checkbox:checked {
  background: var(--primary-color, #007bff);
  border-color: var(--primary-color, #007bff);
}
.currency-trigger-checkbox:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 12px;
  font-weight: bold;
}
.currency-trigger-checkbox:hover {
  border-color: rgba(255, 255, 255, 0.8);
  transform: scale(1.05);
}
.currency-trigger-checkbox:focus {
  outline: 2px solid var(--primary-color-rgba, rgba(0, 123, 255, 0.5));
  outline-offset: 2px;
}
.currency-trigger-text {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.1rem;
}
.currency-trigger-text i {
  font-size: 1.1rem;
  color: var(--warning-color, #ffc107);
  opacity: 0.9;
}
/* Container del textarea */
.advances-textarea-container {
  flex: 1;
  display: flex;
  flex-direction: column;
}
/* Textarea principal usando variables de tema */
.advances-textarea {
  width: 100%;
  flex: 1;
  min-height: 160px;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius, 4px);
  font-family: inherit;
  font-size: 0.95rem;
  line-height: 1.6;
  resize: vertical;
  transition: all 0.15s ease-in-out;
  background: rgba(255, 255, 255, 0.1);
  color: var(--text-color-on-dark, #ffffff);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.advances-textarea:focus {
  outline: 0;
  border-color: rgba(158, 188, 218, 0.8);
  box-shadow: 0 0 0 0.2rem rgba(158, 188, 218, 0.25);
  background: rgba(255, 255, 255, 0.15);
}
.advances-textarea::placeholder {
  color: rgba(255, 255, 255, 0.7);
  font-style: italic;
  opacity: 1;
}
/* Botones de control usando variables de tema */
.advances-control-buttons {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(122, 160, 203, 0.15);
}
.advances-control-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius, 4px);
  font-weight: 500;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 110px;
  justify-content: center;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.advances-control-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.advances-control-btn:active {
  transform: translateY(0);
}
.advances-control-btn i {
  font-size: 0.9rem;
}
.advances-control-btn--cancel {
  background: rgba(255, 255, 255, 0.1);
  color: var(--text-color-on-dark, #ffffff);
  border-color: rgba(255, 255, 255, 0.3);
}
.advances-control-btn--cancel:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
}
.advances-control-btn--accept {
  background: var(--success-color);
  color: var(--text-color-on-dark, #ffffff);
  border-color: var(--success-color);
}
.advances-control-btn--accept:hover {
  background: var(--success-color-hover);
  border-color: var(--success-color-hover);
}
/* Estados de loading */
.advances-panel-container.saving {
  opacity: 0.7;
  pointer-events: none;
}
.advances-panel-container.saving::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: var(--success-color);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/* Responsive design manteniendo el contenedor existente */
@media (max-width: 768px) {
  .advances-info-grid-toggle-card-expandable-advances {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .advances-panel-container {
    padding: 1rem;
  }
  .advances-action-buttons {
    flex-direction: column;
    gap: 0.75rem;
  }
  .advances-btn {
    min-width: auto;
    width: 100%;
  }
  .advances-control-buttons {
    flex-direction: column-reverse;
    gap: 0.75rem;
  }
  .advances-control-btn {
    width: 100%;
  }
  .advances-textarea {
    min-height: 120px;
    font-size: 0.9rem;
  }
  .advances-panel-header .advances-panel-title {
    font-size: 1.1rem;
  }
}
/* Soporte para navegadores sin backdrop-filter */
@supports not (backdrop-filter: blur(10px)) {
  .advances-textarea,
  .advances-control-btn {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
  }
  .advances-control-btn--cancel {
    background: rgba(255, 255, 255, 0.15);
  }
}
/* Accesibilidad - respetando preferencias del usuario */
@media (prefers-reduced-motion: reduce) {
  .advances-btn,
  .advances-control-btn,
  .advances-textarea {
    transition: none;
  }
}
@media (prefers-contrast: high) {
  .advances-textarea,
  .advances-control-btn {
    border-width: 2px;
  }
  .advances-btn {
    border: 2px solid currentColor;
  }
}
.uidxModalWrapper[data-modal-type=detail] {
  width: 90%;
  max-width: 700px;
  max-height: 90vh;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] {
    width: 95%;
    max-width: none;
    max-height: 95vh;
  }
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent {
  padding: 0;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  background-color: var(--bg-color);
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header {
    padding: 1rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header h2 {
  margin: 0;
  font-size: 1.5rem;
  color: var(--text-color);
  font-weight: 600;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header h2 {
    font-size: 1.25rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header .uidxModalContent-close-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--muted-color);
  transition: color 0.2s ease;
  padding: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header .uidxModalContent-close-btn:hover {
  color: var(--danger-color);
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header .uidxModalContent-close-btn--retbal {
  flex-basis: content;
  margin-top: 0;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .uidxModalContent-header .uidxModalContent-close-btn--retbal {
    justify-content: flex-end;
    font-size: 1rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-body {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .uidxModalContent-body {
    padding: 1rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-body::-webkit-scrollbar {
  width: 8px;
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-body::-webkit-scrollbar-track {
  background: var(--shade3);
  border-radius: 4px;
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-body::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 4px;
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-body::-webkit-scrollbar-thumb:hover {
  background: var(--muted-color-hover);
}
.uidxModalWrapper[data-modal-type=detail] .detail-section {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--shade3);
}
.uidxModalWrapper[data-modal-type=detail] .detail-section:last-of-type {
  border-bottom: none;
  margin-bottom: 1rem;
}
.uidxModalWrapper[data-modal-type=detail] .detail-section h3 {
  margin: 0 0 1rem 0;
  font-size: 1.125rem;
  color: var(--primary-color);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.uidxModalWrapper[data-modal-type=detail] .detail-section h3::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 1.125rem;
  background-color: var(--primary-color);
  border-radius: 2px;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .detail-section h3 {
    font-size: 1rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .detail-list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem 1.5rem;
  margin: 0;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .detail-list {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .detail-list dt {
  font-weight: 600;
  color: var(--text-color);
  margin: 0;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .detail-list dt {
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .detail-list dd {
  margin: 0;
  color: var(--text-color);
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .detail-list dd {
    margin-bottom: 0.75rem;
    padding-left: 0.5rem;
  }
}
.uidxModalWrapper[data-modal-type=detail] .detail-list dd strong {
  color: var(--primary-color);
  font-weight: 600;
}
.uidxModalWrapper[data-modal-type=detail] .detail-list dd code {
  background-color: var(--shade2);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 0.875rem;
  color: var(--text-color);
}
.uidxModalWrapper[data-modal-type=detail] .badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
  background-color: var(--primary-color);
  color: var(--text-color-on-dark);
}
.uidxModalWrapper[data-modal-type=detail] .detail-section p {
  margin: 0;
  line-height: 1.6;
  color: var(--text-color);
  white-space: pre-wrap;
  word-break: break-word;
}
.uidxModalWrapper[data-modal-type=detail] .uidxModalContent-buttons-container {
  display: flex;
  gap: 1rem;
  justify-content: space-around;
  padding-top: 1rem;
  margin-top: 1rem;
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=detail] .uidxModalContent-buttons-container {
    flex-direction: row;
    gap: 0.75rem;
  }
  .uidxModalWrapper[data-modal-type=detail] .uidxModalContent-buttons-container .button {
    width: 100%;
  }
}
.uidxModalWrapper[data-modal-type=edit] {
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=edit] {
    width: 95%;
    max-width: none;
    max-height: 95vh;
  }
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent {
  padding: 0;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  background-color: var(--bg-color);
  flex-shrink: 0;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=edit] .uidxModalContent-header {
    padding: 1rem;
  }
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-header h2 {
  margin: 0;
  font-size: 1.5rem;
  color: var(--text-color);
  font-weight: 600;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=edit] .uidxModalContent-header h2 {
    font-size: 1.25rem;
  }
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-header .uidxModalContent-close-btn {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--muted-color);
  transition: color 0.2s ease;
  padding: 0.25rem;
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-header .uidxModalContent-close-btn:hover {
  color: var(--danger-color);
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-header .uidxModalContent-close-btn--retbal {
  flex-basis: content;
  margin-top: 0;
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-body {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=edit] .uidxModalContent-body {
    padding: 1rem;
  }
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-body::-webkit-scrollbar {
  width: 8px;
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-body::-webkit-scrollbar-track {
  background: var(--shade3);
  border-radius: 4px;
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-body::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 4px;
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-body::-webkit-scrollbar-thumb:hover {
  background: var(--muted-color-hover);
}
.uidxModalWrapper[data-modal-type=edit] .form-group {
  margin-bottom: 1.25rem;
}
.uidxModalWrapper[data-modal-type=edit] .form-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--text-color);
  font-size: 0.875rem;
}
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=text],
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=number],
.uidxModalWrapper[data-modal-type=edit] .form-group select,
.uidxModalWrapper[data-modal-type=edit] .form-group textarea {
  width: 100%;
  padding: 0.625rem;
  border: 1px solid var(--input-border-color);
  border-radius: var(--radius);
  background-color: var(--input-bg);
  color: var(--input-text-color);
  font-size: 1rem;
  transition: border-color 0.2s ease;
}
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=text]:focus,
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=number]:focus,
.uidxModalWrapper[data-modal-type=edit] .form-group select:focus,
.uidxModalWrapper[data-modal-type=edit] .form-group textarea:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(23, 108, 192, 0.1);
}
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=text]:disabled, .uidxModalWrapper[data-modal-type=edit] .form-group input[type=text][readonly],
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=number]:disabled,
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=number][readonly],
.uidxModalWrapper[data-modal-type=edit] .form-group select:disabled,
.uidxModalWrapper[data-modal-type=edit] .form-group select[readonly],
.uidxModalWrapper[data-modal-type=edit] .form-group textarea:disabled,
.uidxModalWrapper[data-modal-type=edit] .form-group textarea[readonly] {
  background-color: var(--disabled-color);
  cursor: not-allowed;
}
.uidxModalWrapper[data-modal-type=edit] .form-group input[type=checkbox] {
  margin-right: 0.5rem;
  cursor: pointer;
}
.uidxModalWrapper[data-modal-type=edit] .form-group small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--muted-color);
}
.uidxModalWrapper[data-modal-type=edit] .uidxModalContent-buttons-container {
  display: flex;
  gap: 1rem;
  justify-content: space-around;
  padding-top: 1rem;
  margin-top: 1rem;
}
@media (max-width: 600px) {
  .uidxModalWrapper[data-modal-type=edit] .uidxModalContent-buttons-container {
    flex-direction: row;
    gap: 0.75rem;
  }
  .uidxModalWrapper[data-modal-type=edit] .uidxModalContent-buttons-container .button {
    width: 100%;
  }
}
.uidxModalWrapper .button {
  padding: 0.625rem 1.25rem;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  font-size: 0.9375rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s ease;
}
.uidxModalWrapper .button i {
  font-size: 1rem;
}
.uidxModalWrapper .button.button-primary {
  background-color: var(--dark-color);
  color: var(--text-color-on-dark);
}
.uidxModalWrapper .button.button-primary:hover {
  background-color: var(--primary-color-hover);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.uidxModalWrapper .button.button-secondary {
  background-color: var(--muted-color);
  color: var(--text-button-muted);
}
.uidxModalWrapper .button.button-secondary:hover {
  background-color: var(--muted-color-hover);
}
.uidxModalWrapper .button:active {
  transform: translateY(0);
}
.uidxModalWrapper--retbal-detail {
  width: 90%;
  max-width: 900px;
  max-height: 90vh;
}
@media (max-width: 768px) {
  .uidxModalWrapper--retbal-detail {
    width: 95%;
    max-width: none;
  }
}
@media (max-width: 480px) {
  .uidxModalWrapper--retbal-detail {
    width: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
}
.uidxModalContent--retbal-detail {
  padding: 0;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media (max-width: 480px) {
  .uidxModalContent--retbal-detail {
    max-height: 100vh;
  }
}
.retbal-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 600px) {
  .retbal-detail-header {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
.retbal-detail-header__title-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}
.retbal-detail-header__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-color);
  line-height: 1.2;
}
@media (max-width: 600px) {
  .retbal-detail-header__title {
    font-size: 1.25rem;
  }
}
.retbal-detail-header__badge {
  align-self: flex-start;
}
.uidxModalContent-body--retbal-detail {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}
@media (max-width: 600px) {
  .uidxModalContent-body--retbal-detail {
    padding: 1rem;
  }
}
.uidxModalContent-body--retbal-detail::-webkit-scrollbar {
  width: 6px;
}
.uidxModalContent-body--retbal-detail::-webkit-scrollbar-track {
  background: var(--shade2);
}
.uidxModalContent-body--retbal-detail::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 3px;
}
.uidxModalContent-body--retbal-detail::-webkit-scrollbar-thumb:hover {
  background: var(--muted-color-hover);
}
.retbal-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .retbal-detail-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.retbal-detail-section {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1.25rem;
}
@media (max-width: 600px) {
  .retbal-detail-section {
    padding: 1rem;
  }
}
.retbal-detail-section--full {
  grid-column: 1/-1;
}
.retbal-detail-section--no-product {
  opacity: 0.7;
}
.retbal-detail-section--no-notas {
  opacity: 0.6;
}
.retbal-detail-section__title {
  margin: 0 0 1rem 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 600px) {
  .retbal-detail-section__title {
    font-size: 0.9375rem;
  }
}
.retbal-detail-section__title i {
  font-size: 1.125rem;
}
.retbal-detail-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
}
.retbal-detail-list--compact {
  gap: 0.5rem;
}
.retbal-detail-list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: baseline;
}
@media (max-width: 600px) {
  .retbal-detail-list__item {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}
.retbal-detail-list__item--full {
  grid-template-columns: 1fr;
}
.retbal-detail-list__label {
  font-weight: 600;
  color: var(--text-color);
  font-size: 0.875rem;
  margin: 0;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .retbal-detail-list__label {
    font-size: 0.8125rem;
  }
}
.retbal-detail-list__value {
  margin: 0;
  color: var(--text-color);
  font-size: 0.9375rem;
}
@media (max-width: 600px) {
  .retbal-detail-list__value {
    font-size: 0.875rem;
    padding-left: 0.5rem;
  }
}
.retbal-detail-list__value--strong {
  font-weight: 600;
  color: var(--primary-color);
}
.retbal-detail-list__value--highlight {
  background-color: transparent;
  border: 1px solid var(--shade3);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  width: fit-content;
}
.retbal-detail-list__value--success {
  color: var(--success-color);
  font-weight: 600;
}
.retbal-detail-list__value--warning {
  color: var(--warning-color);
  font-weight: 600;
}
.retbal-detail-list__value--danger {
  color: var(--danger-color);
  font-weight: 600;
}
.retbal-detail-code {
  background-color: transparent;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px dashed var(--shade3);
  font-family: "Courier New", Consolas, monospace;
  font-size: 0.875rem;
  color: var(--primary-color);
  font-weight: 600;
}
.retbal-detail-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.8125rem;
  font-weight: 600;
}
.retbal-detail-badge--success {
  background-color: rgba(40, 167, 69, 0.15);
  color: var(--success-color);
  border: 1px solid var(--success-color);
}
.retbal-detail-badge--warning {
  background-color: rgba(255, 193, 7, 0.15);
  color: var(--warning-color);
  border: 1px solid var(--warning-color);
}
.retbal-detail-prices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-top: 0.5rem;
}
@media (max-width: 600px) {
  .retbal-detail-prices {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
}
.retbal-detail-price {
  background-color: transparent;
  padding: 0.75rem;
  border-radius: 6px;
  text-align: center;
}
@media (max-width: 600px) {
  .retbal-detail-price {
    display: flex;
    justify-content: space-between;
    text-align: left;
  }
}
.retbal-detail-price__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--muted-color);
  margin-bottom: 0.25rem;
  text-transform: uppercase;
}
@media (max-width: 600px) {
  .retbal-detail-price__label {
    margin-bottom: 0;
  }
}
.retbal-detail-price__value {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--success-color);
}
@media (max-width: 600px) {
  .retbal-detail-price__value {
    font-size: 1.125rem;
  }
}
.retbal-detail-notes {
  margin: 0;
}
.retbal-detail-notes__text {
  margin: 0;
  color: var(--text-color);
  font-size: 0.9375rem;
  line-height: 1.6;
  white-space: pre-wrap;
}
@media (max-width: 600px) {
  .retbal-detail-notes__text {
    font-size: 0.875rem;
  }
}
.retbal-detail-empty {
  color: var(--muted-color);
  font-style: italic;
  font-size: 0.875rem;
}
.uidxModalContent-buttons-container--retbal {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}
@media (max-width: 600px) {
  .uidxModalContent-buttons-container--retbal {
    flex-direction: column-reverse;
    margin-top: 1rem;
    padding-top: 1rem;
  }
  .uidxModalContent-buttons-container--retbal .button {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 480px) {
  .uidxModalContent-buttons-container--retbal .button__text {
    font-size: 0.875rem;
  }
}
.badge--retenedor {
  background-color: rgba(0, 123, 255, 0.15);
  color: #007bff;
  border: 1px solid #007bff;
}
.badge--balinera {
  background-color: rgba(40, 167, 69, 0.15);
  color: #28a745;
  border: 1px solid #28a745;
}
.badge--otro {
  background-color: rgba(108, 117, 125, 0.15);
  color: #6c757d;
  border: 1px solid #6c757d;
}
.badge--retenedor-motor {
  background-color: rgba(220, 53, 69, 0.15);
  color: #dc3545;
  border: 1px solid #dc3545;
}
.badge--balinera-motor {
  background-color: rgba(255, 193, 7, 0.15);
  color: #ffc107;
  border: 1px solid #ffc107;
}
.badge--balinera-codo {
  background-color: rgba(23, 162, 184, 0.15);
  color: #17a2b8;
  border: 1px solid #17a2b8;
}
.pagesTableContainer h2 {
  font-size: 1.75rem;
  margin-bottom: 1.5rem;
  color: var(--text-color);
}
@media (max-width: 600px) {
  .pagesTableContainer h2 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
}
.base-table-search-bar {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  align-items: flex-start;
}
@media (max-width: 600px) {
  .base-table-search-bar {
    flex-direction: column;
    gap: 0.75rem;
  }
}
.base-table-search-bar .search-input-wrapper {
  flex: 1;
  min-width: 200px;
}
@media (max-width: 600px) {
  .base-table-search-bar .search-input-wrapper {
    width: 100%;
    min-width: unset;
  }
}
.base-table-search-bar .search-input-wrapper--retbal {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}
.base-table-search-bar .search-input-container {
  position: relative;
}
.base-table-search-bar .search-input-container .search-input {
  width: 100%;
  padding: 0.625rem 2.5rem 0.625rem 2rem;
  border: 1px solid var(--input-border-color);
  border-radius: var(--radius);
  background-color: var(--input-bg);
  color: var(--input-text-color);
  font-size: 1rem;
}
.base-table-search-bar .search-input-container .search-input:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(23, 108, 192, 0.1);
}
.base-table-search-bar .search-input-container .search-input-icon {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted-color);
  pointer-events: none;
}
.base-table-search-bar .button-table-pages--newPage {
  padding: 0.625rem 1.25rem;
  background-color: var(--primary-color);
  color: var(--text-color-on-dark);
  border: none;
  border-radius: var(--radius);
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  transition: all 0.2s ease;
}
@media (max-width: 600px) {
  .base-table-search-bar .button-table-pages--newPage {
    width: 100%;
    justify-content: center;
    padding: 0.75rem;
  }
}
.base-table-search-bar .button-table-pages--newPage:hover {
  background-color: var(--primary-color-hover);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.base-table-search-bar .button-table-pages--newPage i {
  font-size: 1.125rem;
}
#componentsTableContainer {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 600px) {
  #componentsTableContainer {
    margin: 0 -1rem;
    padding: 0 1rem;
  }
}
@media (max-width: 600px) {
  .base-table thead tr th:nth-child(2),
  .base-table thead tr th:nth-child(5),
  .base-table thead tr th:nth-child(6),
  .base-table thead tr th:nth-child(7),
  .base-table thead tr th:nth-child(10) {
    display: none;
  }
  .base-table tbody tr td:nth-child(2),
  .base-table tbody tr td:nth-child(5),
  .base-table tbody tr td:nth-child(6),
  .base-table tbody tr td:nth-child(7),
  .base-table tbody tr td:nth-child(10) {
    display: none;
  }
  .base-table th,
  .base-table td {
    padding: 0.5rem 0.375rem;
    font-size: 0.875rem;
  }
  .base-table td:first-child {
    padding: 0.25rem;
  }
  .base-table td:first-child .button__td-actions {
    padding: 0.375rem;
    min-width: 32px;
  }
  .base-table td:first-child .button__td-actions i {
    font-size: 0.875rem;
  }
  .base-table .badge {
    font-size: 0.75rem;
    padding: 0.125rem 0.5rem;
    white-space: nowrap;
  }
  .base-table td:nth-child(4) {
    font-weight: 600;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .base-table td:nth-child(8) {
    font-size: 0.8125rem;
  }
  .base-table td:nth-child(9) {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  white-space: nowrap;
}
.badge.badge-balinera {
  background-color: var(--info-color);
  color: var(--text-color-on-dark);
}
.badge.badge-retenedor {
  background-color: var(--shade5);
  color: var(--text-color-on-dark);
}
.badge.badge-secondary {
  background-color: var(--shade3);
  color: var(--text-color-on-light);
  border-radius: 4px;
}
.badge.badge-success {
  background-color: var(--info-color);
  color: var(--text-color-on-dark);
}
.badge.motor {
  background-color: #9d7cd8;
  color: var(--text-color-on-dark);
}
.badge.codo {
  background-color: #f0c66f;
  color: #2a2a2a;
}
.pagination {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
  gap: 0.5rem;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .pagination {
    gap: 0.25rem;
    margin: 1rem 0;
  }
}
.pagination li {
  margin: 0;
}
.pagination li a {
  display: inline-block;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  color: var(--text-color);
  text-decoration: none;
  background-color: var(--bg-color);
  transition: all 0.2s ease;
}
@media (max-width: 600px) {
  .pagination li a {
    padding: 0.375rem 0.625rem;
    font-size: 0.875rem;
  }
}
.pagination li a:hover {
  background-color: var(--bg-surface-variant);
  border-color: var(--primary-color);
}
.pagination li.active a {
  background-color: var(--primary-color);
  color: var(--text-color-on-dark);
  border-color: var(--primary-color);
  font-weight: 600;
}
.button__td-actions {
  padding: 0.375rem 0.5rem;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  min-width: 36px;
}
.button__td-actions--edit {
  background-color: var(--info-color);
  color: var(--text-color-on-dark);
}
.button__td-actions--edit:hover {
  background-color: var(--info-color-hover);
  transform: translateY(-1px);
}
.button__td-actions--delete {
  background-color: var(--danger-color);
  color: var(--text-color-on-dark);
}
.button__td-actions--delete:hover {
  background-color: var(--danger-color-hover);
  transform: translateY(-1px);
}
.button__td-actions i {
  font-size: 1rem;
}
.page-edition01-wrapper {
  width: 100%;
  padding: 1.5rem;
}
@media (max-width: 600px) {
  .page-edition01-wrapper {
    padding: 1rem;
  }
}
.page-edition01-container {
  max-width: 1400px;
  margin: 0 auto;
}
.text-muted {
  color: var(--text-muted) !important;
  font-style: italic;
}
.uidxModal.active .uidxModalWrapper--client-detail {
  transform: scale(1);
  transition: transform 0.3s ease-in-out;
}
.uidxModalWrapper--client-detail {
  width: 90%;
  max-width: 900px;
  max-height: 90vh;
  transform: scale(0);
}
@media (max-width: 768px) {
  .uidxModalWrapper--client-detail {
    width: 95%;
    max-width: none;
  }
}
@media (max-width: 480px) {
  .uidxModalWrapper--client-detail {
    width: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
}
.uidxModalContent--client-detail {
  padding: 0;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
@media (max-width: 480px) {
  .uidxModalContent--client-detail {
    max-height: 100vh;
  }
}
.client-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 600px) {
  .client-detail-header {
    flex-direction: column;
    align-items: flex-start;
  }
}
.client-detail-header__title-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}
.client-detail-header__title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-color);
  line-height: 1.2;
}
@media (max-width: 600px) {
  .client-detail-header__title {
    font-size: 1.25rem;
  }
}
.client-detail-header__subtitle {
  font-size: 0.875rem;
  color: var(--muted-color);
  margin: 0;
}
.client-detail-header__badge {
  align-self: flex-start;
}
.uidxModalContent-body--client-detail {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}
@media (max-width: 600px) {
  .uidxModalContent-body--client-detail {
    padding: 1rem;
  }
}
.uidxModalContent-body--client-detail::-webkit-scrollbar {
  width: 6px;
}
.uidxModalContent-body--client-detail::-webkit-scrollbar-track {
  background: var(--shade2);
}
.uidxModalContent-body--client-detail::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 3px;
}
.uidxModalContent-body--client-detail::-webkit-scrollbar-thumb:hover {
  background: var(--muted-color-hover);
}
.client-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .client-detail-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.client-detail-section {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1.25rem;
}
@media (max-width: 600px) {
  .client-detail-section {
    padding: 1rem;
  }
}
.client-detail-section--full {
  grid-column: 1/-1;
}
.client-detail-section__title {
  margin: 0 0 1rem 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--primary-color);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media (max-width: 600px) {
  .client-detail-section__title {
    font-size: 0.9375rem;
  }
}
.client-detail-section__title i {
  font-size: 1.125rem;
}
.client-detail-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
}
.client-detail-list--compact {
  gap: 0.5rem;
}
.client-detail-list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: baseline;
}
@media (max-width: 600px) {
  .client-detail-list__item {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}
.client-detail-list__item--full {
  grid-template-columns: 1fr;
}
.client-detail-list__label {
  font-weight: 600;
  color: var(--text-color);
  font-size: 0.875rem;
  margin: 0;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .client-detail-list__label {
    font-size: 0.8125rem;
  }
}
.client-detail-list__value {
  margin: 0;
  color: var(--text-color);
  font-size: 0.9375rem;
}
@media (max-width: 600px) {
  .client-detail-list__value {
    font-size: 0.875rem;
    padding-left: 0.5rem;
  }
}
.client-detail-list__value--strong {
  font-weight: 600;
  color: var(--primary-color);
}
.client-detail-list__value--highlight {
  background-color: transparent;
  border: 1px solid var(--shade3);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  width: fit-content;
}
.client-detail-list__value--success {
  color: var(--success-color);
  font-weight: 600;
}
.client-detail-list__value--warning {
  color: var(--warning-color);
  font-weight: 600;
}
.client-detail-badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 12px;
  font-size: 0.8125rem;
  font-weight: 600;
}
.client-detail-badge--retenedor {
  background-color: rgba(40, 167, 69, 0.15);
  color: var(--success-color);
  border: 1px solid var(--success-color);
  font-size: 1rem;
}
.client-detail-badge--no-retenedor {
  background-color: rgba(167, 40, 40, 0.15);
  color: var(--muted-color);
  border: 1px solid var(--muted-color);
  font-size: 1rem;
}
.client-detail-empty {
  color: var(--muted-color);
  font-style: italic;
  font-size: 0.875rem;
}
.client-detail-nit {
  background-color: transparent;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  border: 1px dashed var(--shade3);
  font-family: "Courier New", Consolas, monospace;
  font-size: 0.875rem;
  color: var(--primary-color);
  font-weight: 600;
}
.uidxModalContent-buttons-container--client {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}
@media (max-width: 600px) {
  .uidxModalContent-buttons-container--client {
    flex-direction: column-reverse;
    margin-top: 1rem;
    padding-top: 1rem;
  }
  .uidxModalContent-buttons-container--client .button {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 480px) {
  .uidxModalContent-buttons-container--client .button__text {
    font-size: 0.875rem;
  }
}
.client-header {
  padding: 1.5rem;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background-color: var(--bg-color);
}
@media (max-width: 600px) {
  .client-header {
    flex-direction: column;
    padding: 1rem;
  }
}
.client-header__identity {
  flex: 1;
}
.client-header__name {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--text-color);
  line-height: 1.2;
}
@media (max-width: 600px) {
  .client-header__name {
    font-size: 1.25rem;
  }
}
.client-header__fullname {
  margin: 0;
  font-size: 0.875rem;
  color: var(--muted-color);
}
.client-header__badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .client-header__badges {
    width: 100%;
  }
}
.client-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  border-radius: var(--radius);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.client-badge--id {
  background-color: var(--shade9);
  color: var(--text-color-on-dark);
  border: 1px solid var(--border-color);
  font-size: 1rem;
}
.client-badge--retenedor {
  background-color: var(--lighten-success-color);
  color: var(--success-color);
  border: 1px solid var(--success-color);
}
.client-badge--no-retenedor {
  background-color: var(--shade3);
  color: var(--muted-color);
  border: 1px solid var(--border-color);
}
.client-tabs {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
}
.client-tabs__nav {
  display: flex;
  border-bottom: 2px solid var(--border-color);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.client-tabs__nav::-webkit-scrollbar {
  display: none;
}
@media (min-width: 769px) {
  .client-tabs__nav {
    justify-content: center;
    overflow-x: visible;
  }
}
.client-tabs__panels {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
}
.client-tab {
  background: none;
  border: none;
  padding: 1rem 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--muted-color);
  border-bottom: 3px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .client-tab {
    padding: 0.875rem 1rem;
    font-size: 0.8125rem;
  }
}
.client-tab i {
  font-size: 1.125rem;
}
@media (max-width: 768px) {
  .client-tab i {
    font-size: 1rem;
  }
}
@media (max-width: 480px) {
  .client-tab span {
    display: none;
  }
}
.client-tab:hover {
  color: var(--text-color);
  background-color: var(--shade7);
}
.client-tab--active {
  color: var(--primary-color);
  border-bottom-color: var(--primary-color);
  font-weight: 600;
}
.client-tab--active:hover {
  background-color: transparent;
}
.client-tab-panel {
  display: none;
  padding: 1.5rem;
  animation: fadeIn 0.2s ease;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .client-tab-panel {
    padding: 1rem;
  }
}
.client-tab-panel--active {
  display: block;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.client-shipping__header {
  margin-bottom: 1.5rem;
}
.client-shipping__title {
  margin: 0 0 0.25rem 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--text-color);
}
.client-shipping__address {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  padding: 1.25rem;
  margin-bottom: 1rem;
}
@media (max-width: 600px) {
  .client-shipping__address {
    padding: 1rem;
  }
}
.client-shipping__address-main {
  margin-bottom: 0.75rem;
}
.client-shipping__address-line {
  margin: 0 0 0.375rem 0;
  font-size: 1rem;
  font-weight: 500;
  color: var(--text-color);
  line-height: 1.4;
}
.client-shipping__address-city {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--text-color);
}
.client-shipping__address-extra {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
  align-items: center;
}
.client-shipping__address-contact {
  margin: 0.75rem 0 0 0;
  padding-top: 0.75rem;
  border-top: 1px dashed var(--border-color);
  font-size: 0.875rem;
  color: var(--text-color);
}
.client-shipping__address-contact strong {
  font-weight: 600;
}
.client-shipping__actions {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .client-shipping__actions {
    flex-direction: column;
  }
  .client-shipping__actions .button {
    width: 100%;
    justify-content: center;
  }
}
.client-shipping__label-preview {
  background-color: var(--bg-color);
  border-bottom: 0;
  border-radius: var(--radius);
  padding: 1rem;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .client-shipping__label-preview {
    padding: 0.875rem;
  }
}
.client-shipping__label-title {
  margin: 0 0 0.625rem 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--primary-color);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.client-shipping__label-text {
  margin: 0 0 0.625rem 0;
  padding: 0.75rem;
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  font-family: "Courier New", Consolas, monospace;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--text-color);
  white-space: pre-wrap;
  word-wrap: break-word;
}
.client-shipping__label-hint {
  margin: 0;
  font-size: 0.75rem;
  color: var(--muted-color);
  font-style: italic;
}
.location-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.75rem;
  border-radius: calc(var(--radius) * 3);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  transition: all 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.location-badge--flag {
  font-size: 1.25rem;
  padding: 0.25rem 0.5rem;
  /* background: linear-gradient(135deg, var(--shade1) 0%, var(--shade2) 100%); */
  border: 2px dashed var(--border-color);
  animation: flagWave 2s ease-in-out infinite;
}
@media (max-width: 600px) {
  .location-badge--flag {
    font-size: 1.125rem;
  }
}
.location-badge--flag img {
  width: 28px;
  height: 28px;
  object-fit: cover;
  border-radius: calc(var(--radius) / 2);
  display: block;
}
@media (max-width: 600px) {
  .location-badge--flag img {
    width: 24px;
    height: 24px;
  }
}
.location-badge--city {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--info-color) 100%);
  color: #ffffff;
  border: 1px solid transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.location-badge--city:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.location-badge--region {
  background: linear-gradient(135deg, var(--success-color) 0%, var(--info-color) 100%);
  color: #ffffff;
  border: 1px solid transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.location-badge--region:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
@keyframes flagWave {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }
  25% {
    transform: rotate(-3deg) scale(1.05);
  }
  75% {
    transform: rotate(3deg) scale(1.05);
  }
}
.client-contact__section {
  margin-bottom: 1.75rem;
}
.client-contact__section:last-child {
  margin-bottom: 0;
}
.client-contact__title {
  margin: 0 0 0.875rem 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.client-contact__title i {
  font-size: 1.125rem;
  color: var(--primary-color);
}
.client-contact__phones {
  display: flex;
  gap: 0.625rem;
  flex-wrap: wrap;
}
.client-contact__email {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.client-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.875rem;
  background-color: var(--shade1);
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  font-size: 0.875rem;
  color: var(--text-color);
  text-decoration: none;
  transition: all 0.2s ease;
}
.client-chip--phone {
  font-weight: 500;
  background-color: var(--shade9);
  color: var(--text-color-on-dark);
  font-size: 1rem;
}
.client-chip--phone:hover {
  background-color: var(--muted-color);
  border-color: var(--primary-color);
  color: var(--text-button-muted);
}
.client-link {
  color: var(--primary-color);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
.client-link:hover {
  text-decoration: underline;
  color: var(--primary-color-hover);
}
.client-details__section {
  margin-bottom: 1.75rem;
}
.client-details__section:last-child {
  margin-bottom: 0;
}
.client-details__title {
  margin: 0 0 0.875rem 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.client-details__title i {
  font-size: 1.125rem;
  color: var(--primary-color);
}
.client-details-toggle {
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  padding: 1rem;
  background-color: var(--bg-color);
}
.client-details-toggle__summary {
  list-style: none;
  cursor: pointer;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-color);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  user-select: none;
}
.client-details-toggle__summary::-webkit-details-marker {
  display: none;
}
.client-details-toggle__summary i {
  font-size: 1.125rem;
  color: var(--primary-color);
}
.client-details-toggle__summary:hover {
  color: var(--primary-color);
}
.client-details-toggle .client-dl {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-color);
}
.client-dl {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.client-dl__group {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: baseline;
}
@media (max-width: 600px) {
  .client-dl__group {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}
.client-dl__label {
  font-weight: 600;
  color: var(--muted-color);
  font-size: 0.8125rem;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.client-dl__value {
  margin: 0;
  color: var(--text-color);
  font-size: 0.9375rem;
}
.client-dl__value--strong {
  font-weight: 600;
  color: var(--primary-color);
}
@media (max-width: 600px) {
  .client-dl__value {
    font-size: 0.875rem;
  }
}
.client-modal-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border-color);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}
@media (max-width: 600px) {
  .client-modal-footer {
    flex-direction: column-reverse;
    padding: 1rem;
  }
  .client-modal-footer .button {
    width: 100%;
    justify-content: center;
  }
}
.base-table-search-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
/* Bloque: Form */
.formLoginModal__button {
  background-color: var(--button-bg);
  color: var(--light-color);
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 100%;
}
button.formLoginModal__button:disabled {
  background-color: var(--muted-color);
  color: var(--dark-color);
}
.formLoginModal__button--multiple {
  width: 40%;
}
.formLoginModal__button--cancel {
  background-color: var(--danger-color);
}
.formLoginModal__button--ok {
  background-color: var(--success-color);
}
.formLoginModal__button--default {
  background-color: transparent;
  color: var(--button-bg);
  border: 2px dashed var(--button-bg);
  cursor: pointer;
}
.formLoginModal__button--default:hover {
  background-color: var(--button-bg);
  color: var(--light-color);
}
.formLoginModal__button--default_edit_ {
  white-space: nowrap;
  min-width: 150px;
  width: auto;
}
.formLoginModal__button:hover {
  background-color: var(--button-hover-bg);
}
.inicio-btn {
  position: fixed;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  background-color: var(--button-bg);
  color: var(--light-color);
  padding: 10px 20px;
  text-decoration: none;
  font-weight: bold;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.inicio-btn:hover {
  background-color: var(--button-hover-bg);
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
}
.modalFormLogin {
  position: fixed;
  z-index: 200;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
}
.formLoginModal__logoContainer {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  width: 300px;
  margin-bottom: 30px;
}
.formLoginModal__logoImageContainer img {
  max-height: 2em;
}
.formLoginModal__logoContainer__p {
  margin-left: -80px;
}
.formLoginModal__logoContainer__svg {
  margin-right: 80px;
  padding-left: 0;
  width: 150px;
}
.formLoginModal__logoTextTitle {
  white-space: nowrap;
}
.formLoginModal__logoImg {
  width: 87px;
  height: 24px;
}
.formLoginModal__container {
  max-width: 500px;
  margin: 0 20px;
  padding: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--background-color);
  color: var(--text-color);
  border-radius: 10px;
}
.formLoginModal__group {
  margin-bottom: 20px;
  width: 280px;
}
.formLoginModal__group--flexH {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  width: 100%;
}
.formLoginModal__group--profilePictureBox {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.formLoginModal__group-inputWithButtons-buttons {
  display: flex;
}
.formLoginModal__button-forInput {
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  width: 100%;
  margin-right: 10px;
  margin-left: 0;
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: center;
  font-size: 0.7rem;
  font-weight: bold;
  text-transform: uppercase;
  transition: background-color 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
.formLoginModal__button--a {
  background-color: var(--button-bg);
  color: var(--light-color);
}
.formLoginModal__button--b {
  background-color: var(--button-bg);
  color: var(--light-color);
}
.formLoginModal__button--c {
  background-color: var(--button-bg);
  color: var(--light-color);
}
.formLoginModal__label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 0.7rem;
}
.formLoginModal__input {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid var(--input-border-color);
  background-color: var(--input-bg);
  color: var(--input-text-color);
  border-radius: 5px;
  font-size: 1rem;
}
.formLoginModal__input--dropdown {
  text-transform: capitalize;
}
.custom-file-upload input[type=file] {
  display: none;
}
.custom-file-upload--edit- {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.custom-file-upload {
  margin-bottom: 12px;
}
.custom-file-upload .custom-file-label {
  padding: 10px;
  background-color: var(--button-bg);
  color: var(--light-color);
  border: none;
  border-radius: 5px;
  cursor: pointer;
}
.formLoginModal__input--dropdown option:nth-child(odd) {
  background-color: var(--row-odd-color);
  color: var(--text-color-on-light);
}
.formLoginModal__input--dropdown option:nth-child(even) {
  background-color: var(--row-even-color);
  color: var(--text-color-on-light);
}
.formLoginModal__profilePicture {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin-bottom: 20px;
}
.formLoginModal__logoLink {
  height: 30px;
  width: 100px;
  padding-top: 5px;
}
.close-modal-icon {
  position: absolute;
  top: 20px;
  right: 0;
  transform: translate(-50%, -50%);
  fill: var(--light-color);
  cursor: pointer;
  width: 20px;
  height: 20px;
}
.form-error-message-container {
  display: none;
  color: var(--danger-color);
  margin-top: 5px;
}
.form-error-message-element {
  border: 1px solid var(--danger-color);
  padding: 5px;
  border-radius: 5px;
  background-color: var(--muted-color);
}
.form-error-message-text {
  font-size: 0.8em;
}
.login-alert-container {
  border: 1px solid var(--muted-color);
  padding: 5px;
  border-radius: 5px;
}
.login-alert-danger {
  border: 1px solid var(--danger-color);
  background-color: var(--muted-color);
}
.login-alert-success {
  border: 1px solid var(--success-color);
  background-color: var(--muted-color);
}
.alert {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  max-width: 100vw;
  padding: 10px 20px;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
  background-color: var(--light-color);
  font-family: "Segoe UI", Roboto, sans-serif;
  text-align: center;
  animation: fadeInOut 2s ease forwards;
}
.alert h2 {
  margin: 10px 0 5px 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--success-color);
}
.alert p {
  font-size: 0.9rem;
  color: var(--text-color-on-light);
  margin: 0;
}
.alert-container {
  border: 1px solid var(--muted-color);
  padding: 5px;
  border-radius: 5px;
}
.alert-danger {
  border-left: 5px solid var(--danger-color, #dc3545);
}
.alert-success {
  border-left: 5px solid var(--success-color, #28a745);
}
/* Animación de entrada y salida */
@keyframes fadeInOut {
  0% {
    opacity: 0;
    transform: translate(-50%, -45%);
  }
  10% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  90% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -55%);
  }
}
#edition-error-message-container {
  margin-bottom: 20px;
}
/*
  ==============================
  Formulario de editar o                            
  ==============================
*/
.formEdit-backdrop {
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.3);
}
.formEdit-backdrop + .container_main {
  z-index: 1;
  position: relative;
}
.formEdit-frame {
  display: block;
  max-width: 1000px;
  margin: 0 auto;
  border: 2px dotted var(--button-bg);
  padding: 10px;
  border-radius: 10px;
  background-color: var(--background-color);
  color: var(--text-color);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.formEdit-container {
  max-width: 900px;
  margin: 0 auto;
}
.formEdit-info {
  width: 100%;
}
.formEdit-info h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.formEdit-group {
  display: flex;
  flex-direction: column;
  margin-right: 15px;
}
.formEdit-group--no-margin-right {
  margin-right: 0;
}
.formEdit-group label {
  font-weight: bold;
  margin-bottom: 5px;
}
.formEdit-group input {
  padding: 10px;
  height: 40px;
  margin-bottom: 10px;
  border: 1px solid var(--input-border-color);
  background-color: var(--input-bg);
  color: var(--input-text-color);
  border-radius: 5px;
  font-size: 1rem;
}
.formLoginModal__Picture {
  width: 100px;
  height: 100px;
  border-radius: 5px;
  margin-bottom: 20px;
}
.formEdit-group input[name=p_nombre],
.formEdit-group input[name=p_sustituto],
.formEdit-group input[name=p_imagen],
.formEdit-group input[name=p_cantidad],
.formEdit-group input[name=p_pp],
.formEdit-group input[name=p_ppr],
.formEdit-group input[name=p_pm1],
.formEdit-group input[name=p_pm2],
.formEdit-group input[name=p_pm3],
.formEdit-group input[name=p_pm4],
.formEdit-group input[name=p_ubicacion],
.formEdit-group input[name=p_iva],
.formEdit-group input[name=user_id],
.formEdit-group input[name=p_elemento],
.formEdit-group input[name=p_cminsurtir],
.formEdit-group input[name=p_surtir],
.formEdit-group input[name=p_original],
.formEdit-group input[name=p_activo],
.formEdit-group input[name=p_tienefoto],
.formEdit-group input[name=p_editadobien],
.formEdit-group input[name=p_popular],
.formEdit-group input[name=p_destacadosemana] {
  max-width: 120px;
}
.formEdit-group input[name=p_iva],
.formEdit-group input[name=user_id] {
  max-width: 70px;
}
.formEdit-group input[name=p_surtir],
.formEdit-group input[name=p_original],
.formEdit-group input[name=p_activo],
.formEdit-group input[name=p_tienefoto],
.formEdit-group input[name=p_editadobien],
.formEdit-group input[name=p_popular],
.formEdit-group input[name=p_destacadosemana] {
  transform: scale(1.5);
  margin-top: 14px;
}
.formEdit-columns {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  max-width: 100%;
  overflow: hidden;
}
.formEdit-info-buttons-fixed {
  position: fixed;
  max-width: 600px;
  background-color: rgba(227, 230, 230, 0.8);
  padding: 10px 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
/*
  ==============================
  form for edit page information                        
  ==============================
*/
.formEdit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
}
.products-dropdown-wrapper {
  position: absolute;
  width: 100%;
  height: auto;
}
#resultsContainer {
  position: relative;
  width: 100%;
}
.products-dropdown {
  width: 325px;
  position: absolute;
  max-height: 300px;
  overflow-y: auto;
  background: var(--background-color);
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin: 0;
  padding: 0;
  top: -10px;
  list-style: none;
}
.products-dropdown li {
  height: 70px;
  cursor: pointer;
}
.products-dropdown li:nth-child(odd) {
  background-color: var(--row-odd-color);
  color: var(--text-row-color);
}
.products-dropdown li:nth-child(even) {
  background-color: var(--row-even-color);
  color: var(--text-row-color);
}
.products-dropdown__LinkWrapper {
  padding: 2px 8px;
  transition: background-color 0.2s ease;
  cursor: pointer;
}
.products-dropdown__LinkWrapper:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.products-dropdown__Link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.products-dropdown__dataWrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 70px;
}
.products-dropdown__dataContent {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 4px;
  height: 60px;
}
.products-dropdown__data--name p {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
.products-dropdown__data--location p {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
}
.products-dropdown::-webkit-scrollbar {
  width: 6px;
}
.products-dropdown::-webkit-scrollbar-track {
  background-color: var(--bg-color);
  border-radius: 4px;
}
.products-dropdown::-webkit-scrollbar-thumb {
  background-color: var(--shade7);
  border-radius: 8px;
  border: 1px dashed var(--border-color);
}
.products-dropdown::-webkit-scrollbar-thumb:hover {
  background-color: var(--primary-color);
}
.products-dropdown-item {
  padding: 8px;
  cursor: pointer;
}
.products-dropdown-item:hover {
  background: #f5f5f5;
}
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.2);
  display: none;
  z-index: 2;
}
.search-input-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  z-index: 3;
}
.search-input-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.search-input-container--products {
  width: 334px;
}
.search-input-wrapper--products {
  margin-bottom: 10px;
}
.search-input {
  width: 100%;
  padding: 10px;
  padding-left: 35px;
  border: 1px solid var(--input-border-color);
  border-radius: 5px;
  font-size: 1rem;
  margin-right: 10px;
  box-shadow: var(--input-bg) 0 1px 0, rgba(0, 0, 0, 0.5) 0 1px 3px 0px inset;
  text-shadow: 0 1px 1px var(--input-bg);
  background: var(--input-bg);
  color: var(--input-text-color);
}
.search-input,
input[type=text] {
  outline: none;
}
.search-input:focus,
input[type=text]:focus {
  border-color: var(--input-border-color);
  outline: 1px dashed var(--input-border-color);
  outline-offset: -1px;
}
.search-input--products {
  margin-right: 0;
}
.search-input-icon {
  position: absolute;
  left: 7px;
  font-size: 1.1rem;
  color: var(--muted-color);
}
/* 
css for multi-step forms for page_edit and page_new
*/
.form-edit-container {
  width: 350px;
  margin: 0 auto;
  background-color: var(--background-color);
  padding: 0.8rem;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  margin-bottom: 300px;
}
.form-edit-container--municipios {
  margin: 0 10px;
  margin-bottom: 300px;
}
.form-edit__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 0.8rem;
}
.form-edit__steps {
  margin-bottom: 0.8rem;
}
.form-edit__step {
  display: none;
}
.form-edit__step.active {
  display: block;
}
.form-edit__group {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.8rem;
}
.form-edit__group__ciudad {
  position: relative;
}
.form-edit__group__ciudad__flag {
  position: absolute;
  top: 40px;
  left: 280px;
}
.form-edit__group label {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.form-edit__required {
  color: #dc3545;
  font-weight: bold;
  margin-left: 0.25rem;
}
.form-edit__group input,
.form-edit__group textarea,
.form-edit__group select {
  padding: 0.75rem;
  border: 1px solid var(--input-border-color);
  border-radius: 4px;
  font-size: 1.2rem;
  background-color: var(--input-bg);
  color: var(--input-text-color);
  transition: border-color 0.3s;
  max-width: 324px;
}
.form-edit__group input:focus,
.form-edit__group textarea:focus,
.form-edit__group select:focus {
  border-color: var(--primary-color);
  outline: none;
}
.form-edit__group textarea {
  resize: vertical;
  min-height: 50px;
  max-height: 70px;
}
.form-edit__group__buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 0.8rem;
}
.form-edit__group__buttons button {
  padding: 0.75rem 0.5rem;
  font-size: 1rem;
  cursor: pointer;
  border-radius: 4px;
  width: 110px;
  transition: background-color 0.3s, transform 0.3s;
}
.form-edit__group__buttons--ok {
  background-color: var(--success-color);
  color: var(--button-text-color);
}
.form-edit__group__buttons--ok:hover {
  background-color: var(--success-color-hover);
  transform: translateY(-3px);
}
.form-edit__group__buttons--default {
  background-color: transparent;
  border: 2px dashed var(--muted-color);
  color: var(--text-color);
}
.form-edit__group__buttons--default:hover {
  background-color: var(--muted-color);
  transform: translateY(-3px);
  color: var(--button-text-color);
}
.form-edit-info {
  margin-bottom: 0.8rem;
}
.form-edit-info h3 {
  display: block;
  font-size: 1rem;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
}
.form-edit-info__title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  margin-top: 0;
}
.form-multistep-buttons__container {
  display: flex;
  flex-direction: column;
}
.form-multistep__navigation__buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  margin-bottom: 10px;
}
.form-multistep__navigation__buttons button {
  padding: 5px 10px;
  font-size: 1rem;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: 44px;
}
.form-multistep__navigation__buttons--prev {
  background-color: var(--muted-color);
  color: var(--button-text-color);
}
.form-multistep__navigation__buttons--prev:hover {
  background-color: var(--muted-color-hover);
  color: var(--button-text-color);
}
.form-multistep__navigation__buttons--next {
  background-color: var(--muted-color);
  color: var(--button-text-color);
}
.form-multistep__navigation__buttons--next:hover {
  background-color: var(--muted-color-hover);
  color: var(--button-text-color);
}
.form-multistep__navigation__circle-steps {
  display: flex;
  justify-content: space-around;
  align-items: center;
  position: relative;
  flex-grow: 1;
}
.form-multistep__navigation__circle-steps::before {
  content: "";
  position: absolute;
  top: 40%;
  width: 100%;
  height: 3px;
  background-color: var(--muted-color);
  z-index: 0;
}
.form-multistep__navigation__circle-step {
  width: 19px;
  height: 19px;
  background-color: var(--shade3);
  border: 3px solid var(--muted-color);
  border-radius: 50%;
  display: inline-block;
  margin: 0 5px;
  transition: all 0.3s;
  position: relative;
  z-index: 1;
}
.form-multistep__navigation__circle-step.active {
  background-color: var(--success-color);
  border-color: var(--success-color-hover);
  border: 3px solid var(--success-color-hover);
}
input:disabled,
textarea:disabled,
select:disabled,
button:disabled {
  background-color: var(--disabled-color);
  /* Cambia el color de fondo */
  color: var(--muted-color);
  /* Cambia el color del texto */
  border-color: var(--input-border-color);
  /* Cambia el color del borde */
  cursor: not-allowed;
  opacity: 0.6;
  /* Cambia el cursor */
}
.product-image-preview {
  width: 100%;
  /* Set fixed container width */
  height: 230px;
  /* Set fixed container height */
  overflow: hidden;
}
.product-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* Maintains aspect ratio */
  object-position: center;
}
.product-image-preview--thumb {
  height: 50px;
}
.product-image-preview--barcode {
  height: 150px;
}
/*
  ==============================
   Select Municipal and Flag                            
  ==============================
*/
.custom-select {
  position: relative;
  width: 100%;
}
.custom-select.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.custom-select.disabled .custom-select__selected {
  background-color: var(--input-disabled-bg);
}
.custom-select__selected {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid var(--input-border-color);
  border-radius: 4px;
  cursor: pointer;
  background: var(--input-bg);
}
.custom-select__selected:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid currentColor;
  margin-left: auto;
}
.custom-select__flag {
  width: 20px;
  height: 15px;
  object-fit: cover;
}
.custom-select__options {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 10;
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--input-bg);
  border: 1px solid var(--input-border-color);
  border-radius: 4px;
  max-height: 300px;
  overflow-y: auto;
}
.custom-select__option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  cursor: pointer;
}
.custom-select__option:hover {
  background-color: var(--input-border-color);
  color: var(--input-text-color);
}
.custom-select.open .custom-select__options {
  display: block;
}
.no-wrap {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fade-out {
  opacity: 0;
  transition: opacity 5s ease-out;
}
.hidden {
  display: none;
}
.disappear {
  display: none;
}
.appear {
  display: block;
}
.sync-toast {
  transform: translateZ(0);
  /* Forzar composición en GPU */
  will-change: opacity, transform;
  /* Entrada/salida con transform para mejor rendimiento */
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.sync-toast.visible {
  opacity: 1;
  transform: translateY(0);
}
/* Optimización de animación del spinner */
.sync-spinner {
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  will-change: transform;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 768px) {
  .sync-toast-container {
    width: 100%;
    max-width: 90%;
  }
  .sync-toast {
    font-size: 0.95rem;
  }
}
.headerMaster-menuContainer-logoImg {
  height: 44px;
  width: auto;
  /* or you could specify a fixed width here */
  max-width: 100%;
  /* to prevent the image from being larger than its container */
  padding: 4px 16px;
}
.svg-heder-menu-logo {
  height: 44px;
  width: auto;
  max-width: 100%;
  padding: 4px 7px;
}
@media (max-width: 768px) {
  .svg-heder-menu-logo {
    height: 34px;
    width: auto;
    max-width: 100%;
    padding: 4px 7px;
  }
}
.svg-heder-menu-logo__path-1 {
  fill: var(--text-color-on-dark);
}
.svg-heder-menu-logo__path-2 {
  fill: var(--text-color-on-dark);
}
.svg-heder-menu-logo__path-3 {
  fill: #176cc0;
}
.svg-heder-menu-logo__path-4 {
  fill: #ed0000;
}
.svg-heder-menu-logo__path-5 {
  fill: #176cc0;
}
.body-content0-wrap1__grid0 {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  grid-gap: 20px;
  margin: 0 auto;
  max-width: 810px;
  padding: 0 20px 20px;
  line-height: 1.45em;
}
.body-content0-wrap0 {
  max-width: 810px;
  margin: 0 auto;
  line-height: 1.45em;
  padding: 0 20px 20px;
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 200;
}
.modalForm {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 200;
}
.modalForm__container {
  margin-top: 40px;
  padding: 10px;
  width: 350px;
  max-height: 90vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background-color: var(--background-color);
  color: var(--text-color);
  border-radius: 10px;
}
.modalForm__container::-webkit-scrollbar {
  width: 6px;
}
.modalForm__container::-webkit-scrollbar-track {
  background-color: var(--bg-color);
  border-radius: 4px;
}
.modalForm__container::-webkit-scrollbar-thumb {
  background-color: var(--shade7);
  border-radius: 8px;
  border: 1px dashed var(--border-color);
}
.modalForm__container::-webkit-scrollbar-thumb:hover {
  background-color: var(--primary-color);
}
.modal-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--background-color);
  color: var(--text-color);
  padding: 20px;
  border-radius: 10px;
  width: 350px;
}
/*
  ==============================
  Clases de el modal para mostrar
  la informacion de usuario
  en la busqueda ajax del suprAdmin                              
  ==============================
*/
.modal_show_user_info {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 200;
}
.modal_show_user_info-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--background-color);
  color: var(--text-color);
  padding: 20px;
  border-radius: 10px;
  width: 70%;
  max-width: 500px;
}
.modal_show_user_info-content-text-container {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 20px;
}
.modal_show_user_info-content-title-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.modal_show_user_info-title {
  color: var(--text-color);
  font-size: 1.2rem;
}
.modal_show_user_info-username {
  color: var(--text-color);
  font-size: 1.2rem;
}
.modal_show_user_info-content-message-container {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  width: 100%;
  text-align: left;
  margin-top: 10px;
}
.modal_show_user_info-list {
  list-style: none;
}
.modal_show_user_info-alert-buttons-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.modal_show_user_info-btn {
  margin: 10px;
  width: 60%;
  background-color: transparent;
  color: var(--button-bg);
  border: 2px dashed var(--button-bg);
  padding: 10px 20px;
  cursor: pointer;
  border-radius: 5px;
}
.modal_show_user_info-btn:hover {
  background-color: var(--button-bg);
  color: var(--light-color);
}
.scroll-lock-transition {
  transition: padding-right 0.3s ease;
}
.scroll-locked {
  overflow: hidden;
}
body.scroll-transition {
  transition: padding-right 0.3s ease;
}
body.scroll-locked {
  overflow: hidden;
}
.avatarsAbout__box {
  display: grid;
  grid-template-columns: 0.5fr 1fr;
  gap: 40px 10px;
  max-width: 800px;
  padding: 20px;
  margin: 30px auto;
  margin-bottom: 200px;
}
.avatarsAbout__card-image {
  min-width: 70px;
  width: 100%;
  padding-top: 100%;
  /* Asegura que la altura sea igual al ancho */
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  border: 3px solid var(--primary-color);
  box-shadow: 0 0 3px 5px var(--primary-color);
  justify-self: center;
  align-self: center;
}
.avatarsAbout__card-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatarsAbout__card-textBox {
  padding-left: 10px;
  min-width: 200px;
  max-width: 470px;
  height: 100px;
  align-self: center;
  overflow: hidden;
}
.avatarsAbout__card-textBox p {
  color: var(--primary-color);
}
.linkua-hero-home {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
  overflow: visible;
  background-color: transparent;
  position: relative;
  margin-bottom: 100px;
}
@media only screen and (max-width: 1023px) {
  .linkua-hero-home {
    flex-direction: column;
    padding: 10px;
    margin-bottom: 0;
  }
}
.linkua-info-header-container {
  padding: 10px 0;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--border-color);
  position: relative;
}
.linkua-info-header-container h3 {
  font-size: 2rem;
  font-weight: 700;
  text-transform: capitalize;
}
@media only screen and (max-width: 1023px) {
  .linkua-info-header-container h3 {
    font-size: 1.5rem;
  }
}
.linkua-info-description-container {
  border-bottom: 1px solid var(--border-color);
  padding: 10px 0;
  margin-bottom: 10px;
}
.linkua-info-description-container p {
  font-size: 1.2rem;
  line-height: 1.5;
  color: var(--muted-color);
}
@media only screen and (max-width: 1023px) {
  .linkua-info-description-container p {
    font-size: 1rem;
  }
}
.linkua-info-description-container h4 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (max-width: 1023px) {
  .linkua-info-description-container h4 {
    font-size: 1.2rem;
  }
}
.linkua-info-codigos-container {
  border-bottom: 1px solid var(--border-color);
  padding: 10px 0;
  margin-bottom: 10px;
}
.linkua-info-codigos-container p {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--muted-color);
}
.linkua-info-tag-container {
  width: 150px;
  display: flex;
  padding: 10px 0;
  margin-bottom: 10px;
}
.linkua-info-tag-generico {
  background-color: var(--primary-color);
  text-transform: uppercase;
  color: var(--light-color);
  padding: 3px 10px;
  border-radius: 5px;
  font-size: 1.2rem;
  letter-spacing: 1px;
  font-weight: 500;
}
@media only screen and (max-width: 1023px) {
  .linkua-info-tag-generico {
    font-size: 1rem;
  }
}
.linkua-info-tag-original {
  background-color: var(--success-color);
  text-transform: uppercase;
  color: var(--light-color);
  padding: 3px 10px;
  border-radius: 5px;
  font-size: 1.2rem;
  letter-spacing: 1px;
  font-weight: 500;
}
@media only screen and (max-width: 1023px) {
  .linkua-info-tag-original {
    font-size: 1rem;
  }
}
.linkua-info-container {
  width: 50%;
  background-color: var(--light-color);
  z-index: 1;
  padding: 35px 40px;
  box-shadow: 15px 0 35px rgba(0, 0, 0, 0.1), 0 -15px 35px rgba(0, 0, 0, 0.1), 0 15px 35px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 1023px) {
  .linkua-info-container {
    width: 100%;
    padding: 5px 10px;
  }
}
.linkua-img-container {
  display: flex;
  justify-content: flex-end;
  position: relative;
  width: 35%;
  box-shadow: -15px 0 35px rgba(0, 0, 0, 0.1), 0 -15px 35px rgba(0, 0, 0, 0.1), 0 15px 35px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .linkua-img-container {
    width: 100%;
  }
}
.linkua-img-container-btn-cotizar {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  top: -60px;
  right: -90px;
  width: 120px;
  height: auto;
  z-index: 10;
  background: linear-gradient(to bottom, var(--primary-color), var(--dark-color));
  color: var(--light-color);
  border-radius: 16px;
  border: none;
  font-size: 18px;
  font-weight: 600;
  text-shadow: 1px 2px 3px #555;
  padding: 10px 10px;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2), inset 0px -4px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease-in-out;
}
.linkua-img-container-btn-cotizar:hover {
  background: linear-gradient(to bottom, var(--primary-color), var(--secondary-color));
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2), inset 0px -2px 5px rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 1023px) {
  .linkua-img-container-btn-cotizar {
    top: -28px;
    right: -10px;
    border-radius: 6px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    font-size: 1rem;
    width: 130px;
    flex-direction: row;
    padding-left: 20px;
    height: 36px;
  }
}
.icon-whatsapp--cotizar {
  font-size: 2rem;
  color: var(--success-color);
}
@media only screen and (max-width: 1023px) {
  .icon-whatsapp--cotizar {
    font-size: 1.7rem;
  }
}
.linkua-img-container img {
  width: 100%;
  height: auto;
  object-fit: fill;
  position: relative;
}
.services-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 20px;
}
@media (min-width: 768px) {
  .services-container {
    flex-direction: row;
    justify-content: center;
  }
}
.service-card {
  width: 90%;
  padding: 20px;
  background-color: var(--background-color);
  color: var(--text-color);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
}
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
  .service-card {
    width: calc(33.333% - 40px);
  }
}
.service-card h3 {
  color: var(--primary-color);
  margin-bottom: 15px;
}
.service-card p {
  color: var(--text-color);
}
.iconoServicio {
  font-size: 4rem;
  /* Ajusta este valor según sea necesario */
  color: var(--primary-color);
  padding-bottom: 5px;
}
.service-card__iconContainer {
  padding-bottom: 10px;
}
.page-edition01-container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
}
.user-table-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  width: 100%;
  margin: 0 auto;
  overflow-y: auto;
  background-color: var(--background-color);
}
.sheet-container {
  background: var(--background-color);
  border-radius: 0.75rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  margin: 0 1rem;
  overflow: hidden;
}
.sheet-nav {
  display: flex;
  align-items: center;
  padding: 0.5rem;
  background: var(--bg-color);
  border-bottom: 1px solid var(--border-color);
}
.tabs-wrapper {
  display: flex;
  overflow-x: auto;
  flex-grow: 1;
  gap: 0.25rem;
  padding-bottom: 0.25rem;
}
.tabs-wrapper::-webkit-scrollbar {
  height: 4px;
  background: var(--background-color);
}
.tabs-wrapper::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 999px;
}
.add-quotation {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  margin-left: auto;
  font-size: 1rem;
  font-weight: 500;
  color: var(--button-text-color);
  background-color: var(--primary-color);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.add-quotation:hover {
  background-color: var(--primary-color-hover);
}
.add-quotation i {
  font-size: 1.125rem;
  margin-right: 0.25rem;
}
.quotation-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background-color: var(--background-color);
}
.quotation-content:not(.active) {
  display: none;
}
.search-section {
  background: var(--bg-color);
  padding: 1rem;
  border-radius: 0.5rem;
}
.search-section input {
  width: 100%;
  max-width: 400px;
  padding: 0.5rem;
  font-size: 1rem;
  color: var(--input-text-color);
  background-color: var(--input-bg);
  border: 1px solid var(--input-border-color);
  border-radius: 0.25rem;
  transition: all 0.2s ease-in-out;
}
.search-section input:focus {
  outline: none;
  border-color: var(--primary-color);
}
.quotation-table {
  width: 100%;
  min-width: 600px;
  max-width: calc(100vw - 390px);
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 1.2rem;
}
@media (max-width: 1500px) {
  .quotation-table {
    width: 750px;
    font-size: 1rem;
  }
}
.quotation-table th,
.quotation-table td {
  padding: 0.5rem;
  text-align: left;
  border-bottom: 1px solid var(--border-color);
}
.quotation-table th {
  background: var(--bg-color);
  color: var(--text-color);
  font-weight: 700;
  text-align: left;
  position: sticky;
  top: 0;
  z-index: 10;
}
.quotation-table th:first-child {
  border: none;
  background: var(--background-color);
}
.quotation-table th:nth-child(2), .quotation-table th:last-child {
  width: 3.75rem;
  min-width: 3.75rem;
  max-width: 3.75rem;
  text-align: center;
  white-space: nowrap;
  padding-left: 4px;
}
.quotation-table th:nth-child(3) {
  text-align: center;
}
.quotation-table tbody tr {
  position: relative;
  transition: all 0.25s ease;
}
.quotation-table tbody tr:nth-child(odd) {
  background-color: var(--row-odd-color);
}
.quotation-table tbody tr:nth-child(even) {
  background-color: var(--row-even-color);
}
.quotation-table tbody tr:hover {
  background-color: var(--bg-color);
}
.quotation-table tbody tr td:nth-child(3) {
  position: relative;
  padding: 8px 12px;
  transition: transform 0.25s ease, background-color 0.25s ease;
}
.quotation-table tbody tr td:nth-child(3)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: transparent;
  z-index: -1;
  border-radius: 0;
  transition: transform 0.25s ease, background-color 0.25s ease;
  transform-origin: left center;
  transform: scaleX(0);
  will-change: transform, opacity;
  backface-visibility: hidden;
}
.quotation-table tbody tr.selected-row td:nth-child(3) {
  color: var(--text-color-on-light);
  font-weight: 500;
  transform: translateX(3px);
}
.quotation-table tbody tr.selected-row td:nth-child(3)::before {
  background-color: var(--lighten-warning-color);
  transform: scaleX(1);
}
.quotation-table .line-selection-header {
  width: 24px;
  padding: 0;
  border-right: none;
  background-color: transparent;
  position: sticky;
}
.quotation-table .line-selection-cell {
  width: 24px;
  padding: 0;
  vertical-align: middle;
  text-align: center;
  border: none;
  background-color: var(--background-color);
  transition: width 0.25s ease, padding 0.25s ease, opacity 0.25s ease;
}
.quotation-table .line-selection-cell .line-selection-checkbox {
  margin: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  vertical-align: middle;
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 3px;
  transition: all 0.25s ease;
  position: relative;
  z-index: 2;
}
.quotation-table .line-selection-cell .line-selection-checkbox:checked {
  background-color: var(--lighten-warning-color);
  border-color: var(--primary-color);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='var(--text-color-on-light)'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  background-size: 12px;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.1);
}
.quotation-table .line-selection-cell .line-selection-checkbox:hover {
  border-color: var(--primary-color);
  transform: scale(1.05);
}
.quotation-table .button-container {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
  justify-content: flex-end;
}
.quotation-table .button-container button {
  min-width: 120px;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.quotation-table .button-container .btn-primary {
  color: var(--button-text-color);
  background-color: var(--primary-color);
}
.quotation-table .button-container .btn-primary:hover {
  background-color: var(--primary-color-hover);
}
.quotation-table .button-container .btn-secondary {
  color: var(--button-text-color);
  background-color: var(--secondary-color);
}
.quotation-table .button-container .btn-secondary:hover {
  background-color: var(--secondary-color-hover);
}
@media (max-width: 768px) {
  .quotation-table .sheet-container {
    margin: 0.5rem;
  }
  .quotation-table .quotation-content {
    padding: 1rem;
  }
  .quotation-table .quotation-table {
    display: block;
    overflow-x: auto;
  }
  .quotation-table .quotation-table th,
  .quotation-table .quotation-table td {
    white-space: nowrap;
  }
  .quotation-table .button-container {
    flex-direction: column;
  }
  .quotation-table .button-container button {
    width: 100%;
  }
}
.sheet-content,
.sheet-tab,
.quotation-sheet,
[data-uid],
[data-sheet-uid] {
  position: relative;
}
.sync-status {
  position: absolute;
  top: 26px;
  right: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: white;
  z-index: 100;
  transition: opacity 0.3s ease;
}
.sync-status.success {
  background-color: rgba(0, 128, 0, 0.7);
}
.sync-status.error {
  background-color: rgba(220, 53, 69, 0.7);
}
.sync-status.in-progress {
  background-color: rgba(0, 123, 255, 0.7);
}
.sync-status.warning,
.sync-status.amber {
  background-color: rgba(255, 193, 7, 0.8);
}
.animate-success {
  animation: pulse 0.5s ease-out;
}
.pulse-error {
  animation: pulse-error 2s infinite;
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes pulse-error {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pulse-amber {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.last-sync-time {
  font-size: 0.8em;
  color: #666;
  margin-top: 5px;
  text-align: right;
}
.empty-state-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem;
  color: #666;
}
.empty-state-message i {
  font-size: 3rem;
  color: rgba(255, 193, 7, 0.7);
  margin-bottom: 1rem;
}
.empty-state-message p {
  margin-bottom: 1rem;
  font-size: 1.1rem;
}
.add-product-btn {
  background: #4caf50;
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}
.add-product-btn:hover {
  background: #3d8b40;
}
.empty-products-row {
  background-color: #fffbed;
}
.quotation-header__buttons {
  position: absolute;
  top: -87px;
}
.line-product-text-muted {
  color: var(--text-muted);
  font-size: 0.9em;
  margin-left: 0.5em;
}
/* ===== CURRENCY MODAL - MÁXIMA ESPECIFICIDAD ===== */
/* Forzar override de cualquier estilo conflictivo */
#uidxAlertModalContainerCurrencyInput {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: var(--z-index-modal, 1050);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(var(--dark-color-rgb, 52, 58, 64), 0.6);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  font-family: sans-serif;
}
#uidxAlertModalContainerCurrencyInput.showCurrencyInputModal {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#uidxAlertModalContainerCurrencyInput.showCurrencyInputModal .currency-modal-wrapper {
  transform: scale(1) translateY(0);
  opacity: 1;
}
#uidxAlertModalContainerCurrencyInput .currency-modal-wrapper {
  width: 400px;
  max-width: 90vw;
  background-color: var(--bg-color);
  color: var(--text-color);
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--border-color);
  transform: scale(0.95) translateY(-10px);
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.25s ease;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#uidxAlertModalContainerCurrencyInput .currency-modal-box {
  display: flex;
  flex-direction: column;
  width: 100%;
}
#uidxAlertModalContainerCurrencyInput .currency-modal-header {
  display: flex;
  align-items: center;
  padding: var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);
  border-bottom: 1px solid var(--border-color);
  flex-shrink: 0;
}
#uidxAlertModalContainerCurrencyInput .currency-modal-icon {
  font-size: 1.6rem;
  margin-right: var(--spacing-md, 1rem);
  line-height: 1;
}
#uidxAlertModalContainerCurrencyInput .currency-modal-title {
  flex: 1;
  margin: 0;
  font-size: var(--font-size-lg, 1.125rem);
  font-weight: var(--font-weight-semibold, 600);
  color: var(--text-color);
}
#uidxAlertModalContainerCurrencyInput .currency-modal-body {
  padding: var(--spacing-xl, 2rem) var(--spacing-xl, 2rem);
  flex-grow: 1;
  background-color: var(--bg-surface-variant);
}
#uidxAlertModalContainerCurrencyInput .currency-modal-input {
  width: 100%;
  padding: var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);
  font-size: 2rem;
  text-align: center;
  color: var(--input-text-color);
  background-color: var(--input-bg);
  border: 2px solid var(--input-border-color);
  border-radius: var(--radius-md, 8px);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#uidxAlertModalContainerCurrencyInput .currency-modal-input:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 4px rgba(var(--primary-color-rgb), 0.25);
}
#uidxAlertModalContainerCurrencyInput .currency-modal-footer {
  display: flex;
  justify-content: center;
  gap: var(--spacing-md, 1rem);
  padding: var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);
  border-top: 1px solid var(--border-color);
  background-color: var(--bg-color);
  flex-shrink: 0;
}
#uidxAlertModalContainerCurrencyInput .currency-modal-btn {
  padding: var(--spacing-sm, 0.5rem) var(--spacing-lg, 1.5rem);
  border: none;
  border-radius: var(--radius-md, 8px);
  font-size: var(--font-size-md, 1rem);
  font-weight: var(--font-weight-semibold, 600);
  cursor: pointer;
  transition: var(--transition-base);
}
#uidxAlertModalContainerCurrencyInput .currency-modal-btn.currency-btn-primary {
  background-color: var(--primary-color);
  color: var(--button-text-color);
  box-shadow: var(--shadow-sm);
}
#uidxAlertModalContainerCurrencyInput .currency-modal-btn.currency-btn-primary:hover {
  background-color: var(--primary-color-hover);
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}
#uidxAlertModalContainerCurrencyInput .currency-modal-btn.currency-btn-secondary {
  background-color: transparent;
  color: var(--text-color);
  border: 1px solid var(--border-color);
}
#uidxAlertModalContainerCurrencyInput .currency-modal-btn.currency-btn-secondary:hover {
  background-color: var(--bg-surface-variant-hover);
  border-color: var(--muted-color-hover);
}
@media (max-width: var(--breakpoint-sm)) {
  #uidxAlertModalContainerCurrencyInput .currency-modal-wrapper {
    width: calc(100% - 2rem);
    margin: 1rem;
  }
  #uidxAlertModalContainerCurrencyInput .currency-modal-footer {
    flex-direction: column-reverse;
  }
  #uidxAlertModalContainerCurrencyInput .currency-modal-footer .currency-modal-btn {
    width: 100%;
  }
}
/* ===== MOBILE QUOTE TEMPLATE STYLES - SIMPLE Y LEGIBLE ===== */
/* ApplicationStateManagerCore: Contenedor para vista pública de cotizaciones */
/* ✅ REFACTORIZADO: Ya no se usa para html2canvas, ahora para PublicQuotationController */
.mobile-quote-container {
  display: flex;
  justify-content: center;
  padding: 1rem;
  background-color: #333333;
  width: 100%;
  /* Asegura que ocupe todo el ancho */
  min-height: 100%;
}
.mobile-quote-template {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  background: var(--primary-color);
  color: var(--text-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: #313030;
  /* ===== SISTEMA DE PESTAÑAS MÓVIL ===== */
  /* Header con Logo */
  /* Cliente */
  /* Líneas de productos CON INTERCALADO SIMPLE Y LEGIBLE */
  /* * 1. Estilos para el nuevo badge numérico 
  */
}
.mobile-quote-template .quote-tabs-mobile {
  display: none;
  background: var(--bg-color);
  border-bottom: 2px solid var(--border-color);
  padding: 0.25rem;
  gap: 0.25rem;
}
@media (max-width: 600px) {
  .mobile-quote-template .quote-tabs-mobile {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.mobile-quote-template .quote-tab-mobile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0.5rem 0.25rem;
  background: transparent;
  border: none;
  border-radius: 0.25rem;
  color: var(--text-muted);
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
}
.mobile-quote-template .quote-tab-mobile i {
  font-size: 1.4rem;
  transition: all 0.2s ease-in-out;
}
.mobile-quote-template .quote-tab-mobile--active {
  color: var(--primary-color);
  font-weight: 600;
}
.mobile-quote-template .quote-tab-mobile--active i {
  color: var(--primary-color);
  transform: scale(1.1);
}
.mobile-quote-template .quote-tab-mobile--active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%;
  right: 10%;
  height: 3px;
  background: var(--primary-color);
  border-radius: 999px;
}
.mobile-quote-template .quote-tab-content {
  display: none;
  flex-direction: column;
}
.mobile-quote-template .quote-tab-content--active {
  display: flex;
}
@media (min-width: 601px) {
  .mobile-quote-template .quote-tab-content {
    display: flex;
    padding: 0;
  }
}
.mobile-quote-template .quote-header {
  background: var(--bg-color);
  padding: 0.5rem;
  margin-bottom: 0;
  border-bottom: 1px solid var(--border-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (min-width: 601px) {
  .mobile-quote-template .quote-header {
    border-top-left-radius: 0.75rem;
  }
}
.mobile-quote-template .quote-header__logoContainer {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}
.mobile-quote-template .quote-header__logoImageContainer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.mobile-quote-template .quote-header__logoImageContainer img {
  max-width: 80%;
  max-height: 100%;
  object-fit: contain;
}
.mobile-quote-template .quote-header__logoImage {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}
.mobile-quote-template .quote-header__titleContainer {
  flex: 1;
  text-align: center;
}
.mobile-quote-template .quote-header__title {
  font-size: 1.1rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  color: var(--primary-color);
  margin-block-start: 0;
  margin-block-end: 0;
}
.mobile-quote-template .quote-header__date {
  font-size: 1rem;
  color: var(--muted-color);
  text-align: center;
  margin: 0;
}
.mobile-quote-template .quote-header__number {
  font-size: 1rem;
  color: var(--muted-color);
  text-align: center;
  margin: 0;
}
.mobile-quote-template .quote-client {
  background: var(--bg-color);
  padding: 0.5rem;
  margin-bottom: 0;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  border-bottom: 2px dashed var(--border-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.mobile-quote-template .quote-client__name {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-color);
  margin-bottom: 0.25rem;
}
.mobile-quote-template .quote-client__nit,
.mobile-quote-template .quote-client__contact,
.mobile-quote-template .quote-client__city {
  font-size: 1.2rem;
  color: var(--text-muted);
  margin: 3px 0;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.mobile-quote-template .quote-client__flag {
  width: 24px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
  border: 1px solid var(--border-color);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  vertical-align: middle;
}
.mobile-quote-template .quote-lines {
  background: var(--bg-color);
  padding: 0;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  max-height: 600px;
  overflow-y: auto;
  border-bottom: 2px dashed var(--border-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (min-width: 601px) {
  .mobile-quote-template .quote-lines {
    margin-bottom: 0.5rem;
  }
}
.mobile-quote-template .quote-line {
  position: relative;
  padding: 0.5rem;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.25s ease;
}
.mobile-quote-template .quote-line:nth-child(odd) {
  background: var(--row-odd-color);
  border-left: 3px solid transparent;
}
.mobile-quote-template .quote-line:nth-child(even) {
  background: var(--row-even-color);
  border-left: 3px solid transparent;
}
.mobile-quote-template .quote-line:last-child {
  border-bottom: none;
}
.mobile-quote-template .quote-line:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}
.mobile-quote-template .quote-line:hover {
  background: var(--bg-surface-variant);
  border-left-color: var(--primary-color);
}
@media (prefers-reduced-motion: reduce) {
  .mobile-quote-template .quote-line {
    transition: none;
  }
}
@media (min-width: 601px) {
  .mobile-quote-template .quote-line {
    display: grid;
    grid-template-columns: 3fr 2fr 1fr 1fr;
    gap: 0.25rem;
    align-items: center;
  }
}
.mobile-quote-template .quote-line__number-badge {
  position: absolute;
  top: 0;
  right: 0;
  color: var(--muted-color);
  border-radius: 5%;
  background-color: var(--bg-color);
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
  z-index: 5;
}
.quote-line__header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0.25rem;
  padding-right: 35px;
}
.quote-line__name {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text-color);
  flex: 1;
}
.quote-line__location {
  font-size: 1.2rem;
  color: var(--text-muted);
  background: var(--bg-surface-variant);
  padding: 2px 0.25rem;
  border-radius: 0.25rem;
}
.quote-line__details {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 1.2rem;
  color: var(--text-muted);
  flex-wrap: wrap;
}
.quote-line__qty {
  font-weight: 500;
  color: var(--primary-color);
}
.quote-line__separator {
  color: var(--muted-color);
  font-weight: 300;
}
.quote-line__unit-price {
  color: var(--text-muted);
}
.quote-line__total {
  font-weight: 600;
  color: var(--text-color);
}
.quote-line__iva {
  font-size: 1.2rem;
  color: var(--text-muted);
}
/* Totales - Diseño simple y claro */
.quote-totals {
  background: var(--bg-color);
  border-radius: 0;
  padding: 1rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  border-bottom: 2px dashed var(--border-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (min-width: 601px) {
  .quote-totals {
    border-top-right-radius: 0.75rem;
  }
}
/* ===== BOTÓN "VER PRODUCTOS" EN TOTALES (SOLO MÓVIL) ===== */
.quote-totals__products-button {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  background: transparent;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
  border-radius: 0.75rem;
  box-shadow: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: inherit;
  position: relative;
}
.quote-totals__products-button > .fontello-icon-list {
  font-size: 1.6rem;
  opacity: 1;
  color: var(--primary-color);
  transition: color 0.3s ease;
}
.quote-totals__products-button .quote-totals__products-text {
  flex: 1;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  text-align: center;
}
.quote-totals__products-button .quote-totals__products-arrow {
  font-size: 1.4rem;
  opacity: 1;
  color: var(--primary-color);
  transition: transform 0.3s ease, color 0.3s ease;
}
.quote-totals__products-button:hover {
  background: var(--primary-color);
  color: var(--button-text-color);
  border-color: var(--primary-color);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(23, 108, 192, 0.3);
}
.quote-totals__products-button:hover > .fontello-icon-list,
.quote-totals__products-button:hover .quote-totals__products-arrow {
  color: var(--button-text-color);
}
.quote-totals__products-button:hover .quote-totals__products-arrow {
  transform: translateX(4px);
}
.quote-totals__products-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(23, 108, 192, 0.2);
}
/* ===== BOTÓN "VOLVER A RESUMEN" EN PRODUCTOS (SOLO MÓVIL) ===== */
.quote-lines__back-button {
  display: none !important;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  background: transparent;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
  border-radius: 0.75rem;
  box-shadow: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-family: inherit;
  position: relative;
}
.quote-lines__back-button > .fontello-icon-left-open {
  font-size: 1.4rem;
  opacity: 1;
  color: var(--primary-color);
  transition: transform 0.3s ease, color 0.3s ease;
}
.quote-lines__back-button .quote-lines__back-text {
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  text-align: center;
}
.quote-lines__back-button:hover {
  background: var(--primary-color);
  color: var(--button-text-color);
  border-color: var(--primary-color);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(23, 108, 192, 0.3);
}
.quote-lines__back-button:hover > .fontello-icon-left-open {
  color: var(--button-text-color);
  transform: translateX(-4px);
}
.quote-lines__back-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(23, 108, 192, 0.2);
}
.quote-tab-content[data-tab-content=details].quote-tab-content--active .quote-lines__back-button {
  display: flex !important;
}
@media (max-width: 600px) {
  .quote-totals__products-button {
    display: flex !important;
    padding: 1rem 1.5rem;
  }
  .quote-totals__products-button .quote-totals__products-text {
    font-size: 1rem;
  }
  .quote-totals__products-button > .fontello-icon-list {
    font-size: 1.4rem;
  }
  .quote-tab-content[data-tab-content=details].quote-tab-content--active .quote-lines__back-button {
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
  }
  .quote-tab-content[data-tab-content=details].quote-tab-content--active .quote-lines__back-button .quote-lines__back-text {
    font-size: 1rem;
  }
  .quote-tab-content[data-tab-content=details].quote-tab-content--active .quote-lines__back-button > .fontello-icon-left-open {
    font-size: 1.4rem;
  }
  .quote-totals {
    background: var(--bg-color);
    box-shadow: none;
    border: 1px solid var(--border-color);
  }
  .quote-totals__row {
    font-size: 1rem;
    padding: 0.25rem 0;
    opacity: 0.9;
  }
  .quote-totals__label {
    font-size: 1rem;
    color: var(--text-muted);
  }
  .quote-totals__value {
    font-size: 1rem;
    font-weight: 500;
  }
  .quote-totals__separator {
    opacity: 0.5;
    height: 1px;
  }
}
.quote-totals__title {
  display: none;
}
.quote-totals__row {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  padding: 0.25rem 0;
  font-size: 1.2rem;
}
.quote-totals__row:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}
.quote-totals__label {
  color: var(--text-muted);
  font-size: 1.2rem;
  max-width: 50%;
  flex-basis: content;
}
.quote-totals__value {
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--text-color);
}
.quote-totals__separator {
  height: 2px;
  background: var(--primary-color);
  margin: 0.5rem 0;
  border-radius: 0.25rem;
}
.quote-totals__final {
  border-radius: 0.25rem;
  padding: 0.4rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  margin-top: 0.3rem;
  transition: background 0.3s ease, color 0.3s ease;
}
[data-theme=light] .quote-totals__final {
  background: linear-gradient(135deg, rgba(23, 108, 192, 0.15) 0%, rgba(23, 108, 192, 0.22) 100%);
  border: 2px solid rgba(23, 108, 192, 0.4);
}
[data-theme=dark] .quote-totals__final {
  background: linear-gradient(135deg, rgba(23, 108, 192, 0.08) 0%, rgba(23, 108, 192, 0.12) 100%);
  border: 1px dashed var(--primary-color);
}
.quote-totals__final .quote-totals__row {
  padding: 0;
  border-bottom: none;
}
.quote-totals__final .quote-totals__label {
  font-size: 1.4rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
}
[data-theme=light] .quote-totals__final .quote-totals__label {
  color: var(--primary-color);
}
[data-theme=dark] .quote-totals__final .quote-totals__label {
  color: var(--button-text-color);
}
.quote-totals__final .quote-totals__value {
  font-size: 1.4rem;
  font-weight: 600;
}
[data-theme=light] .quote-totals__final .quote-totals__value {
  color: var(--primary-color);
  font-weight: 700;
}
[data-theme=dark] .quote-totals__final .quote-totals__value {
  color: var(--button-text-color);
}
/* Footer - Minimalista */
.quote-footer {
  text-align: center;
  padding: 0.5rem;
  background: var(--bg-surface-variant);
  font-size: 1.4rem;
  color: var(--text-muted);
  border: 1px solid var(--border-color);
}
@media (min-width: 601px) {
  .quote-footer {
    display: none;
    margin-top: 0.5rem;
    border-radius: 0.5rem;
  }
}
.quote-footer__company {
  display: block;
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--primary-color);
  margin-bottom: 2px;
}
.quote-footer__text {
  display: block;
  font-size: 1rem;
}
.quote-line--selected {
  border-left-color: var(--warning-color);
  background: var(--bg-warning);
}
.quote-line--selected .quote-line__notice {
  display: block;
  color: var(--text-warning);
}
.quote-line__notice {
  display: none;
  /* Ocultar por defecto */
  font-size: 1.2rem;
  margin-top: 0.25rem;
}
.quote-header__logoAndTitle {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center;
}
.quote-header__logoAndTitle .quote-header__logoContainer {
  width: 80px;
  height: 60px;
}
.quote-header__logoAndTitle .quote-header__titleContainer {
  flex: 1;
}
/* ===== ESTILOS PARA EL NUEVO MENÚ RESPONSIVO ===== */
.public-nav {
  background-color: var(--header-bg);
  color: var(--header-text-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  padding: 0.5rem 0;
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
}
.public-nav__controls {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  width: 250px;
}
@media (max-width: 600px) {
  .public-nav__controls {
    width: 70px;
    flex-direction: row;
    justify-content: space-between;
  }
}
.public-nav__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}
.public-nav__logo {
  display: block;
  flex-shrink: 0;
}
.public-nav__logo img {
  height: 40px;
  max-width: 180px;
  object-fit: contain;
}
.public-nav__toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.25rem;
  z-index: 1002;
}
.public-nav__toggle .public-nav__toggle-bar {
  display: block;
  width: 24px;
  height: 3px;
  background-color: var(--header-text-color);
  border-radius: 3px;
  transition: all 0.3s ease;
}
.public-nav__toggle .public-nav__toggle-bar:not(:last-child) {
  margin-bottom: 5px;
}
.public-nav__menu ul {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1.5rem;
}
.public-nav__menu li {
  margin: 0;
  padding-right: 20px;
  text-align: right;
}
.public-nav__menu a {
  color: var(--header-text-color);
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.25rem 0;
  transition: all 0.2s ease-in-out;
}
.public-nav__menu a:hover {
  color: var(--link-hover-color);
  opacity: 0.8;
}
.quote-line__badge-container {
  display: flex;
  align-items: center;
}
.quote-line__badge {
  background-color: var(--warning-color);
  color: var(--text-color-on-light);
  border-radius: 3px;
  /* O 9999px, funciona igual */
  /* 2. Mueve el padding aquí para dar espacio interno */
  padding: 3px;
  /* 3. Quita el ancho fijo para que se adapte al texto */
  /* width: 120px; */
  /* 4. (Opcional) Alinear mejor el emoji y el texto */
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  width: 135px;
}
@media (max-width: 600px) {
  .public-nav__toggle {
    display: block;
    position: relative;
    z-index: 1002;
  }
  .public-nav__menu {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--header-bg);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    box-shadow: none;
    border-top: none;
  }
  .public-nav__menu ul {
    flex-direction: column;
    padding: 1rem;
    gap: 1.5rem;
    align-items: center;
  }
  .public-nav__menu li {
    width: auto;
  }
  .public-nav__menu a {
    display: block;
    width: 100%;
    padding: 0.5rem;
    border-radius: 0;
    font-size: 1.125rem;
    font-weight: 600;
    text-align: center;
  }
  .public-nav__menu a:hover {
    background-color: transparent;
    color: var(--link-hover-color);
  }
  .public-nav.nav-is-active .public-nav__menu {
    opacity: 1;
    visibility: visible;
  }
  .public-nav.nav-is-active .public-nav__toggle-bar {
    background-color: var(--header-text-color);
  }
  .public-nav.nav-is-active .public-nav__toggle-bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .public-nav.nav-is-active .public-nav__toggle-bar:nth-child(2) {
    opacity: 0;
  }
  .public-nav.nav-is-active .public-nav__toggle-bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}
/* ===== BOTÓN FLOTANTE DE WHATSAPP ===== */
.whatsapp-float-button {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  border: none;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4), 0 2px 4px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  animation: pulse-whatsapp 2s infinite;
}
.whatsapp-float-button i {
  font-size: 2rem;
  color: #ffffff;
  transition: transform 0.3s ease;
}
.whatsapp-float-button:hover {
  transform: scale(1.1) translateY(-2px);
  box-shadow: 0 8px 16px rgba(37, 211, 102, 0.5), 0 4px 8px rgba(0, 0, 0, 0.3);
  animation: none;
}
.whatsapp-float-button:hover i {
  transform: scale(1.1);
}
.whatsapp-float-button:active {
  transform: scale(0.95) translateY(0);
  box-shadow: 0 2px 6px rgba(37, 211, 102, 0.3);
}
@media (max-width: 600px) {
  .whatsapp-float-button {
    width: 56px;
    height: 56px;
    bottom: 1.5rem;
    right: 1rem;
  }
  .whatsapp-float-button i {
    font-size: 1.8rem;
  }
}
@keyframes pulse-whatsapp {
  0% {
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4), 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(37, 211, 102, 0.7);
  }
  50% {
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4), 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 10px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4), 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(37, 211, 102, 0);
  }
}
.quotation-validity-notice {
  color: var(--text-color);
  padding: 1rem;
  background: var(--bg-color);
  border-radius: 0;
  margin-bottom: 0;
  border-bottom: 2px dashed var(--border-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.quotation-validity-notice strong {
  color: var(--primary-color);
  display: block;
  margin-bottom: 0.25rem;
}
@media (min-width: 601px) {
  .quotation-validity-notice {
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
.quote-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  color: var(--text-muted);
  background: var(--bg-color);
  border-radius: 0;
  margin-bottom: 0;
  border-bottom: 2px dashed var(--border-color);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
@media (min-width: 601px) {
  .quote-empty-state {
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
  }
}
.quote-empty-state i {
  font-size: 3rem;
  color: var(--muted-color);
  margin-bottom: 1rem;
  opacity: 0.5;
}
.quote-empty-state p {
  margin: 0;
  font-size: 1rem;
}
@media (min-width: 601px) {
  .quote-summary-container {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
    /* Dos columnas del mismo tamaño */
    gap: 0;
  }
  .quote-summary-container .quote-summary-container--left-side {
    grid-column: 1/2;
    align-self: stretch;
    background-color: var(--bg-color);
  }
  .quote-summary-container .quote-summary-container--right-side {
    grid-column: 2/3;
    justify-self: end;
    width: 100%;
  }
}
.db-update {
  max-width: 1400px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}
@media (min-width: 768px) {
  .db-update {
    padding: 2rem 1.5rem;
  }
}
@media (min-width: 1024px) {
  .db-update {
    padding: 2.5rem 2rem;
  }
}
.db-update__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .db-update__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.upload-card {
  background: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  padding: 1.5rem;
  transition: box-shadow 0.2s ease;
}
@media (min-width: 768px) {
  .upload-card {
    padding: 2rem;
  }
}
.upload-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
@media (min-width: 1024px) {
  .upload-card:hover {
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
  }
}
.upload-card__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border-color);
}
.upload-card__icon {
  font-size: 1.5rem;
  color: var(--primary-color);
}
.upload-card__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--text-color);
  margin: 0;
}
.upload-card__description {
  font-size: 0.875rem;
  color: var(--text-muted);
  margin: 0 0 1.5rem 0;
  line-height: 1.5;
}
.upload-form__group {
  margin-bottom: 1rem;
}
.upload-form__label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-color);
  margin-bottom: 0.5rem;
}
.upload-form__input {
  display: block;
  width: 100%;
  padding: 0.75rem;
  border: 2px solid var(--border-color);
  border-radius: var(--radius);
  background: var(--input-bg);
  color: var(--input-text-color);
  font-family: inherit;
  font-size: 0.9375rem;
  transition: all 0.2s ease;
  cursor: pointer;
}
.upload-form__input:hover {
  border-color: var(--primary-color);
}
.upload-form__input:focus {
  outline: none;
  border-color: var(--primary-color);
  background: var(--input-bg);
}
.upload-form__input::file-selector-button {
  padding: 0.5rem 1rem;
  margin-right: 0.75rem;
  border: none;
  border-radius: var(--radius);
  background: var(--primary-color);
  color: var(--button-text-color);
  font-weight: 500;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background 0.2s ease;
}
.upload-form__input::file-selector-button:hover {
  background: var(--primary-color-hover);
}
.upload-form__button {
  width: 100%;
  padding: 0.875rem 1.5rem;
  border: none;
  border-radius: var(--radius);
  background: var(--button-bg);
  color: var(--button-text-color);
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .upload-form__button {
    width: auto;
    min-width: 200px;
  }
}
.upload-form__button:hover:not(:disabled) {
  background: var(--button-hover-bg);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.upload-form__button:active:not(:disabled) {
  transform: translateY(0);
}
.upload-form__button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.upload-progress {
  display: none;
  margin-top: 1rem;
}
.upload-progress.is-active {
  display: block;
}
.upload-progress__bar {
  height: 6px;
  background: var(--shade3);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.upload-progress__fill {
  height: 100%;
  background: var(--primary-color);
  width: 0%;
  transition: width 0.3s ease;
}
.upload-progress__text {
  font-size: 0.8125rem;
  color: var(--text-muted);
  text-align: center;
}
/*
 * Gestor de Rótulos - Layout Principal
 */
.rotulos-manager {
  background-color: var(--bg-color);
  color: var(--medium-text-color);
  height: 100%;
  display: flex;
  flex-direction: column;
}
/* 1. Barra de Búsqueda (Arriba) */
.rotulos-manager__header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border-color);
  background-color: var(--surface-color);
}
.search-bar {
  display: flex;
  align-items: center;
  max-width: 600px;
  background-color: var(--bg-color);
  border-radius: 6px;
  border: 1px solid var(--border-color);
}
.search-bar .fontello-icon-search {
  padding: 0 0.75rem;
  color: var(--medium-text-color);
}
.search-bar input[type=text] {
  width: 100%;
  padding: 0.75rem 0.5rem;
  border: none;
  background: transparent;
  color: var(--light-text-color);
  font-size: 1rem;
  outline: none;
}
/* 2. Contenido Principal (Layout de 2 columnas) */
.rotulos-manager__content {
  display: grid;
  grid-template-columns: 320px 1fr;
  height: calc(100vh - 150px);
  overflow: hidden;
}
/* 2A. Barra Lateral de "Más Usados" */
.rotulos-manager__sidebar {
  padding: 1.5rem;
  border-right: 1px solid var(--border-color);
  display: flex;
  flex-direction: column;
}
.rotulos-manager__sidebar h3 {
  margin-top: 0;
  color: var(--color-primary);
}
.rotulos-manager__sidebar h3 i {
  margin-right: 0.5rem;
}
.rotulos-manager__sidebar .rotulos-list {
  overflow-y: auto;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.rotulo-card {
  padding: 0.75rem 1rem;
  background-color: var(--surface-color);
  border-radius: 6px;
  border: 1px solid var(--border-color);
  cursor: pointer;
  transition: all 0.2s ease;
}
.rotulo-card:hover {
  background-color: var(--color-primary-dark);
  border-color: var(--color-primary);
}
.rotulo-card__alias {
  font-weight: 600;
  color: var(--light-text-color);
  font-size: 1rem;
}
.rotulo-card__details {
  font-size: 0.85rem;
  color: var(--medium-text-color);
}
/* 2B. Vista Previa del Rótulo */
.rotulos-manager__preview {
  padding: 2rem;
  overflow-y: auto;
  background-color: #2e2e2e;
}
/* Placeholder (cuando no hay nada seleccionado) */
.rotulo-preview-placeholder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: var(--medium-text-color);
  text-align: center;
  border: 2px dashed var(--border-color);
  border-radius: 8px;
}
.rotulo-preview-placeholder i {
  font-size: 3rem;
  margin-bottom: 1rem;
}
.rotulo-preview-placeholder p {
  font-size: 1.1rem;
  max-width: 300px;
}
/* El Rótulo (simula una hoja de papel) */
.rotulo-preview-area {
  background-color: #ffffff;
  color: #000000;
  max-width: 700px;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 4px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.rotulo-preview-area .rotulo-preview__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #000;
  padding-bottom: 1rem;
}
.rotulo-preview-area .rotulo-preview__header h3 {
  margin: 0;
  font-size: 1.5rem;
  color: #000;
}
.rotulo-preview-area .rotulo-preview__header .print-button {
  padding: 0.5rem 1rem;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  color: #333;
  cursor: pointer;
  border-radius: 4px;
}
.rotulo-preview-area .rotulo-preview__header .print-button i {
  margin-right: 0.5rem;
}
.rotulo-preview-area .rotulo-preview__header .print-button:hover {
  background-color: #e0e0e0;
}
.rotulo-preview-area .rotulo-preview__section {
  border-bottom: 1px dashed #aaa;
  padding: 1rem 0;
}
.rotulo-preview-area .rotulo-preview__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.rotulo-preview-area .rotulo-preview__group {
  display: flex;
  flex-direction: column;
}
.rotulo-preview-area .rotulo-preview__group span {
  font-size: 0.8rem;
  color: #555;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}
.rotulo-preview-area .rotulo-preview__group strong {
  font-size: 1.1rem;
  color: #000;
}
.rotulo-preview-area .rotulo-preview__notes {
  margin-top: 1rem;
  background-color: #f5f5f5;
  padding: 0.75rem;
  border-radius: 4px;
}
.rotulo-preview-area .rotulo-preview__notes span {
  font-size: 0.8rem;
  color: #555;
  font-weight: 600;
}
.rotulo-preview-area .rotulo-preview__notes p {
  margin: 0.25rem 0 0 0;
  font-style: italic;
  color: #333;
}
.dashboard-productos-destacados {
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
  overflow: auto;
  padding: 0.7rem 1rem;
  background-color: var(--primary-color);
}
.dashboard-productos-destacados-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  background-color: var(--primary-color);
}
.dashboard-productos-destacados-image-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  margin-bottom: 6px;
}
.dashboard-productos-destacados-image-box {
  width: 100%;
  min-height: 180px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dashboard-productos-destacados-image-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--dark-color);
  opacity: 0.1;
}
.dashboard-productos-destacados-image-box img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.dashboard-productos-destacados-image-container p {
  font-size: 1rem;
  font-weight: 600;
  padding: 2px;
}
.image-description {
  align-self: flex-start;
}
.dashboard-productos-destacados-header {
  padding: 0rem;
  padding-bottom: 0.8rem;
}
.dashboard-productos-destacados-a-offscreen {
  display: inline-block;
  width: 100%;
  white-space: normal;
  position: absolute;
  left: 0rem;
  bottom: -0.1rem;
  z-index: -1;
  opacity: 0;
}
.dashboard-productos-destacados-a-truncate {
  line-height: 1.3em;
  max-height: 2.6em;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.dashboard-productos-destacados-a-truncate-cut {
  height: auto;
  display: inline-block;
  width: 100%;
  white-space: normal;
}
.hero-home {
  z-index: 1;
  position: relative;
}
.hero-home__carrusel-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1024px;
  position: relative;
}
.hero-home__carrusel-wrapper::after {
  background: linear-gradient(-180deg, rgba(213, 219, 219, 0) 45%, var(--background-color) 100%);
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 28vw;
  z-index: 1;
  pointer-events: none;
}
.hero-home__carrusel-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  overflow-clip-margin: content-box;
  overflow: clip;
  vertical-align: top;
  border: 0;
}
.hero-dashboard-container {
  height: 190px;
  width: 100%;
  overflow-x: scroll;
  position: absolute;
  scrollbar-width: none;
  bottom: -25%;
}
.hero-dashboard-wrapper {
  height: 180px;
  width: max-content;
  margin: 5px 0 5px 8px;
  scrollbar-width: none;
}
.hero-dashboard-wrapper::-webkit-scrollbar {
  display: none;
}
.hero-dashboard-tile {
  position: relative;
  height: 180px;
  border-radius: 4px;
  float: left;
  margin: 0 8px 0 0;
  box-shadow: 0 2px 5px rgba(15, 17, 17, 0.15);
  overflow: hidden;
  background-color: var(--light-color);
  min-width: 125px;
  max-width: 225px;
}
.a-link-hero-dashboard-child {
  text-decoration: none;
}
.hero-dashboard-card,
.hero-dashboard-horizontal-child {
  background-color: var(--light-color);
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  font-size: 10px;
  height: 180px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 136px;
}
.hero-dashboard-card-title-container {
  border: 0;
  color: var(--text-color);
  flex-shrink: 0;
  font-size: 0.8rem;
  font-weight: 600;
  height: 3em;
  line-height: 1.4em;
  margin-left: 5px;
  margin-right: 5px;
  margin-top: 5px;
  overflow: hidden;
  width: 126px;
}
.hero-dashboard-card-headlineText {
  margin: 0;
  padding: 0;
}
.hero-dashboard-card-descriptionLabelText {
  margin-bottom: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hero-dashboard-card-image-wrapper {
  display: flex;
  flex-direction: column;
  height: 180px;
  justify-content: flex-end;
  margin-top: 4px;
  overflow: hidden;
  padding: 0;
  width: 136px;
}
.hero-dashboard-card-image-container {
  background: rgba(15, 17, 17, 0.03);
  border-radius: 0 0 4px 4px;
  display: flex;
  flex-grow: 1;
  height: 129px;
  justify-content: space-evenly;
  margin: 0;
  overflow: hidden;
  padding: 3px 5px;
  position: relative;
  text-align: center;
  width: 136px;
}
.hero-dashboard-card-image {
  display: flex;
  height: 100%;
  justify-content: center;
  margin: 0;
  mix-blend-mode: multiply;
  object-fit: contain;
  width: 100%;
  vertical-align: top;
  border: 0;
}
.headerMaster-navbar-menu {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-100%);
  transition: opacity 0.5s ease, transform 0.5s ease;
  overflow: hidden;
  overflow-y: auto;
  list-style-type: none;
  padding: 0;
  margin: 0;
  position: fixed;
  background-color: var(--primary-color);
  z-index: 150;
  top: 0;
  left: 0;
  width: 80%;
  height: 100%;
}
.headerMaster-navbar-menu li {
  padding: 3px 48px 4px;
  margin-left: -35px;
}
.headerMaster-navbar-menu li a {
  display: block;
  padding: 10px 5px;
  color: var(--text-color);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
}
.headerMaster-navbar-menu li a:hover {
  background-color: var(--secondary-color);
  font-weight: 700;
}
/*
  ==============================
             HTCI                            
  ==============================
*/
.barra-header-tagResponsive {
  display: none;
}
.headerHomeNL--logged {
  height: 35px;
  width: 100%;
  display: flex;
  align-content: center;
  background-color: var(--primary-color);
  box-shadow: 0 3px 14px 0 rgba(0, 0, 0, 0.25);
  position: fixed;
  z-index: 2;
  margin-bottom: 20px;
}
.headerHomeNL {
  height: 135px;
  width: 100%;
  background-color: var(--primary-color);
  box-shadow: 0 3px 14px 0 rgba(0, 0, 0, 0.25);
  position: relative;
  z-index: 2;
}
.headerHomeNL-color-gradient-background {
  background: linear-gradient(92.41deg, var(--shade8), var(--shade7));
}
.icon-whatsapp--headerHomeNL {
  color: var(--primary-color);
  font-size: 1.8rem;
  padding-right: 10px;
}
.icon-phone--headerHomeNL {
  color: var(--primary-color);
  font-size: 1.7rem;
  padding-right: 10px;
}
.icon-search--headerHomeNL {
  color: var(--primary-color);
  font-size: 1.5rem;
}
.headerHomeNL-menuContainer > a:first-child {
  margin-left: 10px;
}
.headerHomeNL-menuContainer > a {
  margin-right: 10px;
}
.headerHomeNL__logo-box {
  padding: 0.5rem;
  height: 48px;
}
.headerHomeNL__logo-img {
  height: 38px;
  width: auto;
}
.busqueda_ajax_productos_nl-form {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 44px;
  max-width: 600px;
  position: relative;
  padding: 2px 10px 5px 10px;
}
.busqueda_ajax_productos_nl-submit {
  position: absolute;
  border-radius: 8px 8px 8px 8px;
  height: 44px;
  margin: 0;
  background-color: var(--primary-color);
  padding: 5px;
  right: 10px;
}
.busqueda_ajax_productos_nl-input {
  border-radius: 8px 8px 8px 8px;
  height: 44px;
  width: 100%;
  margin: 0;
  font-size: 1.2rem;
  outline: 0;
  color: var(--primary-color);
  background-color: transparent;
  border: 0;
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.5), inset 0 1px 0 0 rgba(0, 0, 0, 0.07);
  background-color: white;
  padding: 0 60px 0 10px;
  direction: ltr;
}
#results-product-search {
  display: none;
}
input[type=search]::-webkit-search-cancel-button {
  margin-left: 15px;
}
.busqueda_ajax_productos_nl-input::placeholder {
  color: var(--primary-color);
}
.busqueda_ajax_productos_nl-input:focus {
  outline: dashed 1px var(--primary-color);
  /* Contorno automático con un grosor de 2px y un color oscuro */
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3), 0 0 0 2px var(--primary-color), 0 0 0 3px var(--secondary-color);
  /* Sombra interna más oscura */
}
.busqueda_ajax_productos_nl-dropdown_container {
  align-items: stretch;
  background-color: white;
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  justify-content: center;
  left: 0;
  max-height: 850px;
  min-height: 0;
  overflow: hidden;
  position: absolute;
  top: 45px;
  width: 100%;
  z-index: 10;
}
.busqueda_ajax_productos_nl-dropdown {
  display: none;
  list-style: none;
  border: solid 1px gray;
  min-height: 0;
  max-height: 850px;
  max-width: 999px;
  margin: 0 auto;
  box-shadow: none;
  /* Estilo para dispositivos móviles, con sombra */
}
@media screen and (max-width: 768px) {
  .busqueda_ajax_productos_nl-dropdown {
    box-shadow: 0 16px 16px 1px rgba(0, 0, 0, 0.7);
  }
}
.busqueda_ajax_productos_nl-dropdown_item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 0.3rem 1rem;
  background-color: gray;
  cursor: pointer;
  font-weight: 700;
}
.busqueda_ajax__productos_nl-dropdown_item:hover {
  background-color: var(--primary-color);
}
.backdrop_ajax_productos_nl {
  display: none;
  /* Inicialmente oculto */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  /* Color de fondo negro con 50% de transparencia */
  z-index: 9;
  /* Asegúrate de que el z-index sea mayor que el de otros elementos para que el fondo oscuro aparezca encima de todo lo demás */
}
.busqueda_ajax_productos_nl-input {
  flex-grow: 1;
  min-width: 200px;
}
.liLiveSearch-menu-item {
  height: 68px;
  padding: 10px;
  border-bottom: 1px solid var(--border-color);
}
.liLiveSearch-menu-item:nth-child(odd) {
  background-color: var(--muted-color);
}
.liLiveSearch-menu-item:nth-child(even) {
  background-color: var(--muted-color);
}
.liLiveSearch-menu-item:hover {
  border: 4px dotted var(--primary-color);
}
.results-product-search__item-wrapper {
  display: flex;
  padding: 5px 10px;
  align-items: center;
}
.results-product-search__item-img-container {
  width: 60px;
  flex-shrink: 0;
}
.results-product-search__item-img {
  width: 100%;
  height: auto;
}
.results-product-search__item-text-wrapper {
  margin-left: 10px;
  width: 100%;
  min-width: 0;
}
.results-product-search__item-name-container {
  display: block;
  width: 100%;
  overflow: hidden;
  min-width: 0;
}
.results-product-search__item-name-text {
  font-size: 1.2rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  display: block;
}
.results-product-search__item-ubicacion-text {
  color: var(--muted-color);
  font-style: italic;
}
.navigationMenuHomeNL {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: "logo buttons" "search search" "menu menu";
}
@media (min-width: 430px) {
  .navigationMenuHomeNL {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas: "logo search buttons" "menu menu menu";
  }
}
.navigationMenuHomeNL--logged {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: "logo buttons" "search search" "menu menu";
}
@media (min-width: 430px) {
  .navigationMenuHomeNL--logged {
    width: 100%;
    grid-template-columns: 130px 1fr auto;
    grid-template-rows: auto;
    grid-template-areas: "logo menu buttons";
  }
}
.navigationMenuHomeNL__checkboxMenu {
  grid-auto-flow: row;
  display: none;
}
.navigationMenuHomeNL__buttonMenu {
  background-color: transparent;
  width: 48px;
  height: 48px;
  position: relative;
  cursor: pointer;
}
.navigationMenuHomeNL-label-nav-toggleMenu {
  display: grid;
  width: 48px;
  align-items: center;
  font-size: 1rem;
  font-weight: 700;
  justify-items: center;
  text-transform: uppercase;
}
.navigationMenuHomeNL__iconMenu {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  place-items: center;
}
.navigationMenuHomeNL__iconMenu,
.navigationMenuHomeNL__iconMenu::before,
.navigationMenuHomeNL__iconMenu::after {
  width: 20px;
  height: 3px;
  background-color: var(--muted-color);
  display: inline-block;
  transition: all 0.2s;
}
.navigationMenuHomeNL__iconMenu::before,
.navigationMenuHomeNL__iconMenu::after {
  content: "";
  position: absolute;
  left: 0;
}
.navigationMenuHomeNL__iconMenu::before {
  top: -0.4rem;
}
.navigationMenuHomeNL__iconMenu::after {
  top: 0.4rem;
}
.headerMaster-navbar-hamburgerMenu-icon {
  cursor: pointer;
  display: none;
  margin-right: 0;
  place-items: center;
}
@media only screen and (max-width: 833px) {
  .headerMaster-navbar-hamburgerMenu-icon,
  .headerMaster-navbar-hamburgerMenu-iconLogin {
    display: block;
  }
}
#menu-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 99;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
#menu-backdrop-search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
#menu-backdrop .close {
  position: absolute;
  top: 85px;
  right: 35px;
  font-size: 2.7rem;
  font-weight: 400;
  color: var(--muted-color);
  cursor: pointer;
}
.hamburger {
  height: 48px;
  position: relative;
  width: 48px;
  z-index: 110;
  place-items: center;
}
.hamburger:before {
  transform: translate(-50%, -4px);
}
.hamburger:after {
  transform: translate(-50%, 4px);
}
.hamburger:after,
.hamburger:before {
  background-color: var(--primary-color);
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform-origin: center;
  transition: all 0.5s ease-in-out;
  width: 18px;
}
.hamburger.active::before {
  transform: translateX(70%) rotate(45deg);
}
.hamburger.active::after {
  transform: translateX(70%) rotate(-45deg);
}
.headerMaster-navbar-menu__li-header {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: var(--primary-color);
  color: var(--light-color);
}
.headerMaster-navbar-menu__li-header-top {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 16px;
  margin-right: -40px;
}
.headerMaster-navbar-menu-account-icon--user,
.headerMaster-navbar-menu-account-icon--userLogged,
.headerMaster-navbar-menu-account-icon--logoutLogged {
  color: var(--light-color);
  font-size: 1rem;
  margin-left: 3px;
}
.headerMaster-navbar-menu-account-icon--userLogged {
  font-size: 1rem;
}
.headerMaster-navbar-menu-account-icon--logout {
  font-size: 1rem;
  margin-left: 15px;
  margin-right: 5px;
  color: var(--warning-color);
}
.headerMaster-navbar-menu__li-header-top a {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  padding: 20px 20px 0 20px;
}
.headerMaster-navbar-menu-account-text {
  padding-right: 4px;
  font-size: 14px;
  line-height: 14px;
  color: var(--light-color);
}
.headerMaster-navbar-menu__li-header-bottom {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.headerMaster-navbar-menu__li-header-bottom a {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--light-color);
  padding: 0 20px 20px 20px;
}
.headerMaster-navbar-menu-title-line1 {
  font-weight: 700;
  font-size: 20px;
  line-height: 20px;
  color: var(--light-color);
}
.headerMaster-navbar-menu-title-line2 {
  font-size: 28px;
  font-weight: 400;
  line-height: 28px;
  color: var(--light-color);
  margin-bottom: 10px;
}
.headerHomeNL__top-bar--logged {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 30px;
  padding: 0;
  padding-top: 5px;
  grid-area: logo;
}
.headerHomeNL__top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 48px;
  padding: 0;
  grid-area: logo;
}
.headerHomeNL__top-bar-left-side--logged {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 24px;
}
.headerHomeNL__logo-img--logged {
  height: 24px;
  width: auto;
  margin-left: 10px;
}
.headerHomeNL__top-bar-left-side {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 48px;
}
.headerHomeNL__top-bar-right-side,
.headerHomeNL__top-bar-right-side--logged {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100px;
  justify-self: flex-end;
  grid-area: buttons;
}
.headerHomeNL__top-bar-right-side--logged {
  height: 30px;
}
.headerHomeL__bottom-bar {
  height: 50px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  grid-area: search;
}
.headerHomeL__bottom-bar-busqueda_tipo_selector-container {
  height: 44px;
  width: 100%;
  max-width: 60px;
  position: relative;
  margin-left: 10px;
}
.headerHomeL__bottom-bar-busqueda_tipo_selector {
  height: 44px;
  font-size: 1rem;
  font-weight: 700;
  padding: 0 5px;
  background-color: var(--light-color);
  border: 0;
  border-radius: 4px;
  box-shadow: 0 1px 0 0 hsla(0, 0%, 100%, 0.5), inset 0 1px 0 0 rgba(0, 0, 0, 0.07);
  color: var(--primary-color);
  outline: 0;
  width: 100%;
}
.headerHomeNL__menu-bar,
.headerHomeNL__menu-bar--logged {
  height: 40px;
  display: flex;
  justify-content: flex-start;
  overflow-x: scroll;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding-top: 6px;
  width: 100%;
  white-space: nowrap;
  grid-area: menu;
}
.headerHomeNL__menu-bar--logged {
  height: 30px;
  padding-top: 6px;
}
.headerHomeNL__menu-bar--logged a,
.headerHomeNL__menu-bar a {
  font-size: 0.9rem;
  font-weight: 400;
  margin-left: 15px;
  margin-bottom: 20px;
  padding-right: 3px;
  text-decoration: none;
  white-space: nowrap;
  color: var(--text-color-on-dark);
}
.headerHomeNL__menu-bar a {
  font-size: 0.9rem;
}
/*
  ==============================
  css para la busqueda de clientes
  en cotizacion                            
  ==============================
*/
#busqueda_ajax_clientes_nl-dropdown__content {
  display: block;
  width: 100%;
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid var(--border-color);
}
.busqueda_ajax_product-dropdown {
  list-style: none;
  padding: 0;
  margin: 0;
}
.aLinkLiveSearchWrapper {
  display: block;
}
.aLinkLiveSearch {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
footer {
  width: 100%;
  margin: 0 auto;
  bottom: 0;
  background: linear-gradient(92.41deg, var(--shade8), var(--shade7));
  color: var(--text-color);
}
.footer_nl-logo-copyright-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6px;
  margin-top: 0;
  padding-top: 20px;
}
.footer_nl-logo-copyright-image-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 6px;
  margin-bottom: 20px;
}
.footer_nl-logo-copyright-image-container p {
  font-size: 1rem;
  font-weight: 600;
  color: var(--primary-color);
}
.footer_nl-logo-copyright-image-link {
  text-decoration: none;
  color: var(--link-color);
}
.footer_nl-logo-copyright-image-image {
  width: 100%;
  height: auto;
}
.footer_nl-logo-copyright-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 6px;
  color: var(--button-text-color);
}
.footer_nl-logo-copyright-content p {
  margin-bottom: 10px;
  padding: 0;
  color: var(--button-text-color);
}
.footer_nl-logo-copyright-content-a-link {
  text-decoration: underline;
  color: var(--link-color);
  font-weight: 600;
  font-size: 1rem;
}
main {
  width: 100%;
}
.container_main {
  margin: 0 auto;
  max-width: 90%;
  /* Ajusta este valor a tus necesidades */
}
.main_wrapper {
  max-width: 1500px;
}
.mainMasterContainer {
  margin-top: 50px;
}
.tab-quotation-sheets {
  background: var(--background-color);
  border-radius: 0;
  margin: 0;
  overflow: hidden;
}
.sheet-nav {
  display: flex;
  align-items: center;
  padding: 0.5rem;
  background: var(--background-color);
  border-bottom: 1px solid var(--border-color);
}
.nav-arrow {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 0.25rem;
  color: var(--text-color);
  display: none;
}
.nav-arrow.visible {
  display: block;
}
.tabs-wrapper {
  display: flex;
  overflow-x: auto;
  flex-grow: 1;
  gap: 0.25rem;
  padding-bottom: 0.25rem;
}
.tabs-wrapper::-webkit-scrollbar {
  height: 4px;
  background: var(--background-color);
}
.tabs-wrapper::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 999px;
}
.sheet-tab {
  display: flex;
  align-items: center;
  padding: 0.25rem 0 0.25rem 0.25rem;
  background-color: var(--bg-surface-variant);
  border-radius: 0.25rem;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  height: 48px;
  transition: background-color 0.2s ease;
}
.sheet-tab.active {
  background: var(--primary-color);
  color: var(--button-text-color);
}
.sheet-tab-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  min-width: 0;
  margin-right: 0.25rem;
}
.sheet-title {
  font-weight: 500;
  font-size: 14px;
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
}
.last-sync-time {
  font-size: 11px;
  color: var(--text-muted);
  margin-left: 4px;
}
.last-sync-time::before {
  content: "-";
  margin-right: 4px;
  margin-left: 1px;
}
.sheet-number {
  font-size: 12px;
  line-height: 1;
}
.sheet-number-container {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}
.sheet-actions-icons {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  height: 100%;
  padding: 2px;
}
.icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.icon-wrapper:hover {
  background-color: var(--bg-surface-variant-hover);
}
.icon-wrapper i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.6rem;
  cursor: pointer;
  transition: color 0.2s ease;
}
.icon-wrapper .fontello-icon-cancel {
  color: var(--text-color);
}
.icon-wrapper .fontello-icon-cancel:hover {
  color: var(--danger-color-hover);
}
.icon-wrapper .fontello-icon-edit {
  color: var(--text-color);
  font-size: 1rem;
}
.icon-wrapper .fontello-icon-edit:hover {
  color: var(--warning-color);
}
.sheet-tab.active .icon-wrapper i {
  color: var(--button-text-color);
}
.sheet-tab.active .icon-wrapper:hover .fontello-icon-cancel {
  color: var(--danger-color);
}
.sheet-tab.active .icon-wrapper:hover .fontello-icon-edit {
  color: var(--warning-color);
}
.sheet-tab.active .last-sync-time {
  color: var(--button-text-color);
  opacity: 0.8;
}
.sheet-actions {
  display: flex;
  gap: 0.25rem;
  margin-left: 7px;
}
.sheet-actions button {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  color: var(--button-text-color);
  background: var(--primary-color);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
}
.sheet-actions button:hover {
  background: var(--primary-color-hover);
}
.sheets-content-container {
  max-width: 1500px;
  height: 100%;
}
.sheet-content {
  display: none;
  padding: 1rem;
  animation: fadeIn 0.3s ease;
  width: 90%;
  height: 100%;
}
.sheet-content.active {
  display: block;
}
@media (max-width: 1500px) {
  .sheet-content.active {
    display: flex;
    justify-content: center;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(0.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
  ==============================
  Modal de búsqueda con iconos                           
  ==============================
*/
.uidxModalContent-search-container {
  position: relative;
  display: flex;
  align-items: center;
  margin: 1rem 0;
  margin-top: 10px;
}
.uidxModalContent-search-container .search-icon-wrapper {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
}
.uidxModalContent-search-container .fontello-icon-search {
  font-size: 14px;
}
.uidxModalContent-search-container .uidxModalContent-input {
  padding-left: 32px;
}
.uidxModalContent-results-list {
  max-height: 17.5rem;
  overflow-y: auto;
  margin: 0.5rem 0;
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
}
.uidxModalContent-results-list::-webkit-scrollbar {
  width: 6px;
  background-color: transparent;
}
.uidxModalContent-results-list::-webkit-scrollbar-thumb {
  background-color: var(--muted-color);
  border-radius: 3px;
}
.uidxModalContent-results-list::-webkit-scrollbar-track {
  background-color: var(--bg-surface-variant);
  border-radius: 3px;
}
.uidxModal-result-item {
  height: 4rem;
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.2s ease;
}
.uidxModal-result-item:last-child {
  border-bottom: none;
}
.uidxModal-result-item:hover {
  background-color: var(--bg-surface-variant-hover);
}
.uidxModal-result-item .result-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 0.5rem;
  font-size: 0.8rem;
}
.uidxModal-result-item .result-quotation-number {
  font-size: 0.8rem;
  color: var(--text-muted);
}
.uidxModal-result-item:not(:last-child) {
  border-bottom: 1px solid var(--border-color);
}
.uidxModal-result-item:hover {
  background-color: var(--bg-surface-variant);
}
.uidxModal-result-item.even {
  background-color: var --row-even-color;
}
.uidxModal-result-item.odd {
  background-color: var(--row-odd-color);
}
.uidxModal-result-item .result-title {
  font-weight: 500;
}
.uidxModal-result-item .result-number {
  font-size: 0.875rem;
  color: var(--text-muted);
}
.uidxModal-no-results-message {
  padding: 1rem;
  text-align: center;
  color: var(--text-muted);
  font-style: italic;
  background-color: var(--bg-surface-variant);
  border-radius: var(--radius);
  margin: 0.5rem 0;
}
/*
  ==============================
  Modal de búsqueda específico                           
  ==============================
*/
.uidxModalContent {
  position: relative;
  padding: 1rem;
}
.uidxModalContent .uidxModalContent-search-container {
  position: relative;
  width: 100%;
  margin: 0;
  margin-top: 10px;
}
.uidxModalContent .uidxModal-results-list {
  position: absolute;
  top: calc(100% - 20px);
  width: calc(100% - 40px);
  background: var(--background-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border-radius: var(--radius);
  border: 1px solid var(--border-color);
}
.uidxModalContent .uidxModal-results-list::-webkit-scrollbar {
  width: 4px;
  background: transparent;
}
.uidxModalContent .uidxModal-results-list::-webkit-scrollbar-track {
  background: transparent;
  margin: 4px 0;
}
.uidxModalContent .uidxModal-results-list::-webkit-scrollbar-thumb {
  background-color: var(--muted-color);
  border-radius: 4px;
}
.uidxModalContent .uidxModal-results-list::-webkit-scrollbar-thumb:hover {
  background-color: var(--text-muted);
}
.uidxModalContent .uidxModal-results-list:has(.uidxModal-result-item:nth-child(-n+5):last-child) {
  overflow-y: hidden;
  max-height: auto;
}
.uidxModalContent .uidxModal-results-list:has(.uidxModal-result-item:nth-child(6)) {
  overflow-y: auto;
  max-height: 240px;
}
.uidxModalContent .uidxModal-results-list.uidxModal-results-list--modalSearchResults {
  max-height: 250px;
  top: 155px;
  overflow: auto;
  z-index: 1000;
}
.uidxModalContent .uidxModalContent-search-input {
  width: 100%;
  height: 40px;
  padding: 0 1rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  background: var(--background-color);
  color: var(--input-text-color);
}
.uidxModalContent .uidxModalContent-search-input {
  width: 100%;
  height: 40px;
  padding: 0 1rem 0 36px;
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  background: var(--background-color);
}
.uidxModalContent .search-icon-wrapper {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  z-index: 1;
}
.uidxModalContent .uidxModalContent-close-btn {
  margin-top: auto;
  width: 100%;
  height: 40px;
  border: none;
  border-radius: var(--radius);
  background: var(--primary-color);
  color: var(--button-text-color);
  cursor: pointer;
}
.uidxModalContent .uidxModalContent-close-btn:hover {
  background: var(--primary-color-hover);
}
.uidxModalContent .modal-close-btn {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 30px;
  height: 30px;
  border: none;
  background: none;
  font-size: 24px;
  line-height: 1;
  color: var(--text-color);
  cursor: pointer;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.2s ease;
}
.uidxModalContent .modal-close-btn:hover {
  background-color: var(--bg-surface-variant-hover);
}
.uidxModalContent .icon-emojiModal.fontello-icon-search {
  color: var(--info-color);
}
.uidxModal-result-item {
  height: 60px;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.2s ease;
}
.uidxModal-result-item .result-content {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0.5rem;
}
.uidxModal-result-item:hover {
  background-color: var(--bg-surface-variant-hover);
}
.uidxModal-result-item.even {
  background-color: var(--row-even-color);
}
.uidxModal-result-item.odd {
  background-color: var(--row-odd-color);
}
.uidxModal-result-item:last-child {
  border-bottom: none;
}
/* Contenedor principal de productos con scroll controlado */
.quotation-products-container {
  max-height: 500px;
  overflow-y: auto;
  overflow-x: hidden;
  will-change: scroll-position;
  contain: layout style paint;
  /* Optimizaciones de rendimiento para scroll suave */
  scroll-behavior: smooth;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--primary-color) var(--bg-surface-variant);
  /* Mejoras visuales para el scrollbar */
  /* Sombra interna sutil para indicar scroll */
  background: linear-gradient(var(--bg-color) 30%, rgba(255, 255, 255, 0)), linear-gradient(rgba(255, 255, 255, 0), var(--bg-color) 70%) 0 100%, radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0)) 0 100%;
  background-repeat: no-repeat;
  background-color: var(--bg-color);
  background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
  background-attachment: local, local, scroll, scroll;
  width: 100%;
}
.quotation-products-container::-webkit-scrollbar {
  width: 8px;
  background: var(--bg-surface-variant);
}
.quotation-products-container::-webkit-scrollbar-thumb {
  background: var(--primary-color);
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.quotation-products-container::-webkit-scrollbar-thumb:hover {
  background: var(--primary-color-hover);
}
.quotation-products-container::-webkit-scrollbar-track {
  background: var(--bg-surface);
  border-radius: 4px;
}
@media (max-width: 1500px) {
  .quotation-products-container {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
}
.quotation-table thead th {
  position: sticky;
  top: 0;
  z-index: 10;
}
@media (max-width: 1500px) {
  .column-header-vt {
    width: 130px;
  }
}
@media (max-width: 1500px) {
  .column-header-vu {
    width: 130px;
  }
}
.column-header-nombre {
  width: 600px;
}
@media (max-width: 1500px) {
  .column-header-nombre {
    width: 350px;
  }
}
/* General Table Styles */
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
/* Dropdown Styles */
#results {
  position: relative;
}
#pagesTableContainer {
  width: 100%;
  overflow-x: auto;
}
.dropdown {
  position: absolute;
  background-color: var(--light-color);
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}
.dropdown li {
  color: var(--text-color);
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}
.dropdown li:hover {
  background-color: var(--muted-color);
}
/* Pages Table Styles */
.base-table thead {
  background-color: var(--bg-color);
}
.base-table th {
  padding: 10px;
  color: var(--text-color);
}
.base-table th:first-child {
  border-top-left-radius: 10px;
}
.base-table th:last-child {
  border-top-right-radius: 10px;
}
.base-table tbody tr {
  border-bottom: 1px solid var(--border-color);
  color: var(--text-row-color);
  height: auto;
  /* Altura adaptable */
}
.base-table tbody tr:nth-child(even) {
  background-color: var(--row-even-color);
}
.base-table tbody tr:nth-child(odd) {
  background-color: var(--row-odd-color);
}
.base-table td {
  max-height: 100px;
  /* Altura máxima de cada celda */
  overflow-y: auto;
  /* Scroll interno si el contenido excede la altura */
  padding: 10px;
  /* Espaciado interno */
  word-wrap: break-word;
  /* Ajusta palabras largas */
  white-space: normal;
  /* Permite saltos de línea */
  text-align: center;
  /* Centra horizontalmente */
  vertical-align: middle;
  /* Centra verticalmente */
  box-sizing: border-box;
  /* Incluye padding y borde en las dimensiones */
}
.button__td-actions {
  padding: 5px 10px;
  font-size: 1rem;
  border-radius: 2px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  width: 40px;
}
.button__td-actions--edit {
  background-color: var(--light-color);
  color: var(--text-color-on-light);
  margin-bottom: 10px;
}
.button__td-actions--edit:hover {
  background-color: var(--lighten-muted-color);
}
.button__td-actions--delete {
  background-color: transparent;
  color: var(--danger-color-hover);
  border: 1px dashed var(--muted-color);
}
.button__td-actions--delete:hover {
  background-color: var(--lighten-muted-color);
}
.button__td-actions i {
  pointer-events: none;
}
.fontello-icon-trash-empty {
  color: var(--danger-color);
}
.fontello-icon-cancel {
  color: var(--danger-color);
}
.pagesTableContainer {
  margin: 0 auto;
  max-width: 1130px;
  background-color: var(--background-color);
  padding: 0.8rem;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1019607843);
}
.pagesTableContainer--municipios {
  margin: 0;
}
.pagesTableContainer h2 {
  margin-block-start: 0;
  margin-block-end: 0;
}
.td-actions--municipios {
  width: 120px;
}
/* Material Design Pagination */
.pagination {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 20px 0;
}
.pagination li {
  margin: 0 5px;
}
.pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  text-decoration: none;
  color: var(--muted-color);
  font-size: 16px;
  transition: background-color 0.3s, color 0.3s;
}
.pagination a:hover {
  background-color: rgba(var(--primary-color-rgb), 0.1);
}
.pagination .active a {
  background-color: var(--primary-color);
  color: var(--light-color);
}
.pagination a[aria-label] {
  width: auto;
  padding: 0 10px;
  border-radius: 18px;
}
.pagination a[aria-label] span {
  display: inline-block;
  vertical-align: middle;
}
.servicios-destacados {
  background-color: var(--background-color);
  padding: 20px;
  border-radius: 0;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  /* Centra el texto en dispositivos más pequeños */
}
.servicios-destacados h1 {
  color: var(--text-color);
  font-size: 18px;
  /* Tamaño más pequeño para dispositivos móviles */
  margin-bottom: 15px;
}
.servicios-destacados p {
  color: var(--text-color);
  font-size: 16px;
  /* Tamaño más pequeño para dispositivos móviles */
  line-height: 1.6;
}
.servicios-destacados strong {
  color: var(--text-color);
  font-size: 18px;
  /* Ligeramente más grande para destacar, aun en móviles */
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
html {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  font-size: 16px;
}
body {
  background-color: var(--bg-color);
  color: var(--text-color);
  line-height: 1.5;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  max-width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
}
/* Bulma Utilities */
/* Remove display: none; from the base classes */
.uidxParentToggleVisibility,
.uidxChildToggleVisibilityWrapper {
  /* Initial hidden state */
  opacity: 0;
  position: absolute;
  /* Remove display: none; */
}
/* Fondo del ToggleVisibility */
.uidxDummyContent {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}
.card {
  border: 1px solid var(--border-color);
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  max-width: 300px;
  position: relative;
}
.card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
}
.card-header-title {
  font-size: 1.25em;
  margin: 0;
}
.delete {
  background: none;
  border: none;
  font-size: 1.25em;
  cursor: pointer;
  color: #333;
}
.card-content {
  padding: 20px;
}
.content {
  font-size: 1em;
  color: #333;
}
.card-image img {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.imagepokemon {
  width: 100%;
  height: auto;
}
.title {
  font-size: 1.5em;
  margin-bottom: 0.5em;
}
.subtitle {
  font-size: 1em;
  color: #666;
}
/* Estilos comunes para los modales con inspiración japonesa minimalista */
:root {
  --uidx-scale-value: 0;
  --uidx-opacity-value: 0;
}
/* Clase base para los elementos */
.uidxModal,
.uidxModalWrapper {
  transform: scale(0);
}
/* Fondo del modal */
.uidxModal {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
/* Contenedor del modal */
.uidxModalWrapper {
  width: 350px;
  border-radius: 8px;
  position: relative;
  box-shadow: -5px 5px 16px rgba(0, 0, 0, 0.5);
}
/* Estilo general del modal */
.uidxModalContent {
  background-color: var(--bg-color);
  border: 1px solid var(--shade9);
  border-radius: 8px;
  padding: 20px;
  width: 100%;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  text-align: center;
}
.uidxModalContent-title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row-reverse;
  color: var(--text-color);
}
.uidxModalContent-title h3 {
  margin-block-start: 0;
  margin-block-end: 0;
}
.uidxModalContent-message-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: var(--text-color);
}
.uidxModalContent-message-container ul {
  text-align: left;
  margin-top: 10px;
  list-style: none;
}
/* Botón de cierre */
.modal-close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease;
  z-index: 1070;
}
.modal-close-btn:hover {
  color: var(--muted-color-hover);
}
/* Variantes de color por tipo de modal */
.uidxModalContent--success {
  border-left: 6px solid var(--success-color-hover);
}
.uidxModalContent--alert {
  border-left: 6px solid var(--danger-color-hover);
}
.uidxModalContent--warning {
  border-left: 6px solid var(--warning-color-hover);
}
.uidxModalContent--info {
  border-left: 6px solid var(--info-color-hover);
}
/* Botones */
.uidxModalContent-alert-btn,
.uidxModalContent-confirm-btn,
.uidxModalContent--warning-btn,
.uidxModalContent-cancel-btn {
  font-weight: bold;
  border: none;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  margin-top: 15px;
  margin-left: 15px;
  margin-right: 15px;
  color: var(--text-color-on-dark);
  padding: 0.5rem 1.5rem;
  border-radius: 4px;
  width: 130px;
}
/* Colores específicos para cada botón */
.uidxModalContent-alert-btn--success,
.uidxModalContent-confirm-btn--success {
  background-color: var(--success-color-hover);
}
.uidxModalContent-alert-btn--alert,
.uidxModalContent-confirm-btn--alert {
  background-color: var(--danger-color-hover);
}
.uidxModalContent-alert-btn--warning,
.uidxModalContent-confirm-btn--warning {
  background-color: var(--warning-color-hover);
}
.uidxModalContent-alert-btn--info,
.uidxModalContent-confirm-btn--info {
  background-color: var(--info-color-hover);
}
.uidxModalContent-cancel-btn {
  background-color: var(--muted-color);
}
/* Hover para todos los botones */
.uidxModalContent-alert-btn:hover,
.uidxModalContent-confirm-btn:hover,
.uidxModalContent-warning-btn:hover,
.uidxModalContent-cancel-btn:hover {
  transform: translateY(-3px);
  opacity: 0.9;
}
/* Estilos específicos para el contenedor de botones en el modal de confirmación */
.uidxModalContent-buttons-container {
  display: flex;
  justify-content: center;
  margin-top: 15px;
}
/* Clases de estado */
.uidx-modal-visible--scale {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.uidx-modal-hidden--scale {
  transform: translateY(100%) scale(0.8);
  opacity: 0;
}
/* Clases de animación para diferentes métodos */
.uidx-modal-animation-scale {
  transition: opacity var(--uidx-default-animation-duration, 300ms), transform var(--uidx-default-animation-duration, 300ms) var(--uidx-default-timing-function, ease);
}
.uidxModal-client-info {
  position: relative;
}
.uidxModal-client-info--modalSearchResults {
  height: 250px;
}
.uidxModal-client-info--container {
  padding: 0 10px;
  background-color: var(--background-color);
  border-radius: var(--radius);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  max-height: 170px;
  overflow-y: auto;
  margin-top: 10px;
}
.uidxModal-client-info--container::-webkit-scrollbar {
  width: 6px;
  background: var(--background-color);
}
.uidxModal-client-info--container::-webkit-scrollbar-thumb {
  background: var(--muted-color);
  border-radius: 3px;
  min-height: 40px;
}
.uidxModal-client-info--container::-webkit-scrollbar-track {
  background: var(--background-color);
  border-radius: 3px;
}
.client-info-section h3 {
  margin-block-start: 0.5rem;
  margin-block-end: 0.25rem;
}
.icon-emojiModal--danger {
  color: var(--danger-color-hover);
}
.icon-emojiModal--info {
  color: var(--info-color-hover);
}
.uidxModal.active {
  transition: transform 0.3s ease-in-out;
  transform: scale(1);
}
/* Form search modal specific styles */
.uidxModal__content-modalFormSearch {
  background: var(--bg-color);
  padding: 20px;
  border-radius: 8px;
  width: 300px;
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
}
.uidxModal.active .uidxModal__content-modalFormSearch {
  transform: scale(1);
}
.uidxModal__header-modalFormSearch {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.uidxModal__close-modalFormSearch {
  border: none;
  background: none;
  font-size: 1.5rem;
  cursor: pointer;
}
.uidxModal__search-modalFormSearch {
  position: relative;
  margin-bottom: 20px;
}
.fontello-icon-search--modalFormSearch {
  top: 6px;
  left: 6px;
}
.uidxModal__search-input-modalFormSearch {
  width: 100%;
  padding: 10px;
  padding-left: 35px;
  border: 1px solid var(--input-border-color);
  border-radius: 5px;
  font-size: 1rem;
  margin-right: 10px;
  box-shadow: var(--input-bg) 0 1px 0, rgba(0, 0, 0, 0.5) 0 1px 3px 0px inset;
  text-shadow: 0 1px 1px var(--input-bg);
  background: var(--input-bg);
  color: var(--input-text-color);
}
.uidxModal__results-modalFormSearch {
  max-height: 300px;
  overflow-y: auto;
  padding: 0;
  margin: 0;
}
.uidxModal__results-modalFormSearch {
  max-height: 300px;
  overflow-y: auto;
  padding: 0;
  margin: 0;
}
.uidxModal-result-item {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  border-bottom: 1px solid var(--border-color);
}
.uidxModal-result-item:hover {
  background-color: var(--bg-color-hover);
  transform: translateY(2px);
  border-bottom: 4px solid var(--success-color-hover);
}
.uidxModal-result-item:active {
  transform: translateY(0);
}
.uidxModal-result-item:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--primary-color);
}
.uidxModal-result-item--even {
  background-color: var(--row-even-color);
  color: var(--row-even-text-color);
}
.uidxModal-result-item.even {
  background-color: var(--row-even-color);
  color: var(--row-even-text-color);
}
.uidxModal-result-item--odd {
  background-color: var(--row-odd-color);
  color: var(--row-odd-text-color);
}
.uidxModal-result-item.odd {
  background-color: var(--row-odd-color);
  color: var(--row-odd-text-color);
}
.uidxModal-result-item[aria-selected=true] {
  color: var(--text-color-on-light);
}
/*
  ==============================
  Modal de input single modal                            
  ==============================
*/
.uidxModalContent-message-container {
  margin: 0;
  height: 0;
  overflow: hidden;
  transition: margin 0.3s ease-in-out, height 0.3s ease-in-out;
}
.uidxModalContent-message-container.has-message {
  margin: 1rem 0;
  height: auto;
}
.uidxModalContent-input-container {
  margin: 1rem 0;
}
.uidxModalContent-input-container.has-label {
  margin-top: 1.5rem;
}
.uidxModalContent-input-container .uidxModalContent-input-label {
  display: block;
  margin: 0;
  height: 0;
  overflow: hidden;
  color: var(--text-color);
  transition: margin 0.3s ease-in-out, height 0.3s ease-in-out;
}
.uidxModalContent-input-container .uidxModalContent-input-label:not([style*="display: none"]) {
  margin-bottom: 0.25rem;
  height: auto;
}
.uidxModalContent-input-container .uidxModalContent-input {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  background: var(--input-bg);
  color: var(--input-text);
}
.uidxModalContent-input-container .uidxModalContent-input:focus {
  outline: none;
  border-color: var(--primary-color);
}
/*
  ==============================
  Busqueda de clientes                            
  ==============================
*/
.uidxModalContent .uidxModal-results-list--modal {
  position: absolute;
  top: calc(100% - 117px);
  z-index: 1000;
  max-width: 150px;
}
.uidxModalContent {
  text-align: left;
}
.result-item {
  padding: 12px 16px;
  cursor: pointer;
  transition: background-color 0.2s ease;
  border-bottom: 1px solid var(--border-color);
  width: 100%;
  text-align: left;
}
.result-item:last-child {
  border-bottom: none;
}
.result-item:hover {
  background-color: var(--bg-surface-variant-hover);
}
.result-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.result-primary {
  display: flex;
  flex-direction: column;
}
.result-name {
  color: var(--text-color);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 2px;
}
.result-id {
  color: var(--text-muted);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.4;
}
.result-secondary {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding-left: 4px;
}
.result-flag {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  object-fit: cover;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.result-city {
  color: var(--text-muted);
  font-size: 0.8125rem;
  font-weight: 400;
}
/*
  ==============================
  Modal de cracion de nueva cotizacion
  con seleccion de cliente                            
  ==============================
*/
.uidxModalSq-results-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  margin-top: 8px;
  background-color: var(--bg-color);
}
.uidxModalSq-result-item {
  display: block;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.2s ease;
}
.uidxModalSq-result-item:hover {
  background-color: var(--bg-surface-variant-hover);
}
.uidxModalSq-result-item--even {
  background-color: var(--row-even-color);
}
.uidxModalSq-result-item--odd {
  background-color: var(--row-odd-color);
}
.uidxModalSq-result-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.uidxModalSq-result-primary {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.uidxModalSq-result-name {
  font-size: 1rem;
  font-weight: 500;
  color: var(--text-color);
}
.uidxModalSq-result-id {
  font-size: 0.875rem;
  color: var(--text-muted);
}
.uidxModalSq-result-secondary {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: var(--text-muted);
  margin-top: 4px;
}
.uidxModalSq-result-flag {
  width: 20px;
  height: auto;
  object-fit: contain;
}
.uidxModalSq-result-city {
  font-size: 0.875rem;
  color: var(--text-muted);
}
.uidxModalSq-error-message {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px;
  color: var(--danger-color);
  background-color: var(--danger-color-subtle);
}
/*
  ==============================
  Modal de creación de nueva línea de cotización                            
  ==============================
*/
#uidxQuotationAddLineModalContainer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1055;
  background-color: rgba(0, 0, 0, 0);
}
#uidxQuotationAddLineModalContainer .search-input-wrapper {
  margin-bottom: 1rem;
}
#uidxQuotationAddLineModalContainer .search-input-container {
  position: relative;
}
#uidxQuotationAddLineModalContainer .search-input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.2rem;
  border: 1px solid var(--input-border-color);
  border-radius: var(--radius);
  background-color: var(--input-bg);
  color: var(--input-text-color);
  font-size: 1rem;
  transition: border-color 0.2s;
}
#uidxQuotationAddLineModalContainer .search-input:focus {
  outline: none;
}
#uidxQuotationAddLineModalContainer .search-input-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
}
#uidxQuotationAddLineModalContainer .search-results-container {
  min-height: 120px;
  /* Ajusta según tus medidas exactas */
  max-height: 120px;
  /* 🆕 Layout flexbox para mejor control del contenido */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  /* 🆕 Solo crecer cuando hay 3+ productos */
  /* Misma altura para mantener consistencia */
  overflow-y: hidden;
  border-radius: var(--radius);
  background-color: var(--bg-color);
  margin-bottom: 1rem;
}
#uidxQuotationAddLineModalContainer .search-results-container.has-multiple-results {
  max-height: 450px;
  /* Altura expandida para muchos resultados */
  /* Permitir scroll cuando hay muchos productos */
}
#uidxQuotationAddLineModalContainer .search-results-placeholder {
  padding: 1.5rem;
  text-align: center;
  color: var(--text-muted);
}
#uidxQuotationAddLineModalContainer .search-loading {
  padding: 1.5rem;
  text-align: center;
  color: var(--primary-color);
}
#uidxQuotationAddLineModalContainer .search-no-results {
  padding: 1.5rem;
  text-align: center;
  color: var(--text-muted);
}
#uidxQuotationAddLineModalContainer .search-error {
  padding: 1.5rem;
  text-align: center;
  color: var(--danger-color);
}
#uidxQuotationAddLineModalContainer .product-search-item {
  display: flex;
  padding: 0.75rem;
  cursor: pointer;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.2s;
}
#uidxQuotationAddLineModalContainer .product-search-item:last-child {
  border-bottom: none;
}
#uidxQuotationAddLineModalContainer .product-search-item:hover {
  background-color: var(--bg-surface-variant-hover);
}
#uidxQuotationAddLineModalContainer .product-search-item.even {
  background-color: var(--row-even-color);
}
#uidxQuotationAddLineModalContainer .product-search-item.even:hover {
  background-color: var(--bg-surface-variant-hover);
}
#uidxQuotationAddLineModalContainer .product-search-item.odd {
  background-color: var(--row-odd-color);
}
#uidxQuotationAddLineModalContainer .product-search-item.odd:hover {
  background-color: var(--bg-surface-variant-hover);
}
#uidxQuotationAddLineModalContainer .product-search-thumb {
  width: 60px;
  height: 60px;
  margin-right: 1rem;
  margin-top: 7px;
  display: inline-block;
  background-color: var(--bg-surface-variant);
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
}
#uidxQuotationAddLineModalContainer .product-search-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#uidxQuotationAddLineModalContainer .product-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: var(--text-muted);
  font-size: 1.5rem;
}
#uidxQuotationAddLineModalContainer .product-search-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#uidxQuotationAddLineModalContainer .product-search-name {
  font-weight: 500;
  margin-bottom: 0.25rem;
  color: var(--text-color);
}
#uidxQuotationAddLineModalContainer .product-search-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.875rem;
  color: var(--text-muted);
}
#uidxQuotationAddLineModalContainer .product-details-container {
  border: 1px solid var(--border-color);
  border-radius: var(--radius);
  background-color: var(--bg-surface-variant);
  padding: 1rem;
  margin-bottom: 1rem;
}
#uidxQuotationAddLineModalContainer .product-details-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
#uidxQuotationAddLineModalContainer .product-details-title {
  font-weight: 600;
  color: var(--text-color);
}
#uidxQuotationAddLineModalContainer .product-details-change-btn {
  background-color: transparent;
  border: none;
  color: var(--primary-color);
  cursor: pointer;
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
}
#uidxQuotationAddLineModalContainer .product-details-change-btn:hover {
  text-decoration: underline;
}
#uidxQuotationAddLineModalContainer .product-details-content {
  display: flex;
  margin-bottom: 1rem;
}
#uidxQuotationAddLineModalContainer .product-details-image {
  width: 100px;
  height: 100px;
  margin-right: 1rem;
  background-color: var(--bg-color);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
#uidxQuotationAddLineModalContainer .product-details-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: none !important;
}
#uidxQuotationAddLineModalContainer .product-details-info {
  flex: 1;
}
#uidxQuotationAddLineModalContainer .product-details-info h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--text-color);
}
#uidxQuotationAddLineModalContainer .product-details-row {
  display: flex;
  margin-bottom: 0.375rem;
  font-size: 0.875rem;
}
#uidxQuotationAddLineModalContainer .product-details-row .label {
  width: 80px;
  color: var(--text-muted);
}
#uidxQuotationAddLineModalContainer .product-details-row .value {
  font-weight: 500;
  color: var(--text-color);
}
#uidxQuotationAddLineModalContainer .product-quantity-container {
  display: flex;
  align-items: center;
}
#uidxQuotationAddLineModalContainer .product-quantity-label {
  margin-right: 1rem;
  font-weight: 500;
}
#uidxQuotationAddLineModalContainer .product-quantity-input {
  width: 80px;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--input-border-color);
  border-radius: var(--radius);
  background-color: var(--input-bg);
  color: var(--input-text-color);
  text-align: center;
}
#uidxQuotationAddLineModalContainer .product-quantity-input:focus {
  outline: none;
  border-color: var(--primary-color);
}
#uidxQuotationAddLineModalContainer .product-quantity-input::-webkit-inner-spin-button, #uidxQuotationAddLineModalContainer .product-quantity-input::-webkit-outer-spin-button {
  opacity: 1;
  height: 24px;
  cursor: pointer;
}
#uidxQuotationAddLineModalContainer .uidxModalContent-confirm-btn {
  opacity: 0.6;
  cursor: not-allowed;
}
#uidxQuotationAddLineModalContainer .uidxModalContent-confirm-btn.active {
  opacity: 1;
  cursor: pointer;
}
/*
  ==============================
  Modal de edicion de linea de cotizacion                            
  ==============================
*/
.uidxModalContent--compact {
  max-width: 360px;
  min-width: 300px;
}
.quantity-product-name {
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 1rem;
  color: var(--text-color);
  text-align: center;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.quantity-input-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1rem;
}
.quantity-input {
  width: 120px;
  height: 48px;
  padding: 0.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  border: 2px solid var(--border-color);
  border-radius: var(--radius);
  background-color: var(--bg-color);
  color: var(--text-color);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.quantity-input:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(var(--primary-color-rgb), 0.2);
  outline: none;
}
.quantity-input::-webkit-inner-spin-button {
  opacity: 1;
  height: 30px;
  width: 14px;
  margin-right: 5px;
  cursor: pointer;
}
.quantity-hint {
  font-size: 0.75rem;
  color: var(--muted-color);
  margin-top: 0.5rem;
  text-align: center;
}
.change-price-input {
  width: 240px;
  text-align: right;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.input-error {
  animation: shake 0.4s ease-in-out;
  border-color: var(--danger-color);
}
.input-error-tooltip {
  position: absolute;
  background: #dc3545;
  color: white;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
  margin-top: 4px;
  z-index: 1000;
  white-space: nowrap;
}
.input-error-tooltip::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 10px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid #dc3545;
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  20%, 60% {
    transform: translateX(-5px);
  }
  40%, 80% {
    transform: translateX(5px);
  }
}
/*
  ==============================
  Modern Skeleton Loading para imágenes                        
  ==============================
*/
.image-skeleton {
  position: relative;
  overflow: hidden;
  background: var(--bg-surface-variant);
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.image-skeleton::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, var(--shade2) 50%, transparent 100%);
  animation: skeleton-shimmer-modern 2s ease-in-out infinite;
  z-index: 1;
}
[data-theme=brand-dark] .image-skeleton::before, [data-theme=dark] .image-skeleton::before, [data-theme=nord] .image-skeleton::before, [data-theme=monokai] .image-skeleton::before {
  background: linear-gradient(90deg, transparent 0%, var(--shade3) 50%, transparent 100%);
}
.image-skeleton.loading-complete::before {
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes skeleton-shimmer-modern {
  0% {
    left: -100%;
  }
  50% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.product-thumb.image-skeleton {
  border-radius: var(--radius);
  min-height: 60px;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.product-thumb.image-skeleton:not(.image-skeleton) {
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-details-image .image-skeleton {
  width: 100%;
  height: 100%;
  border-radius: 12px;
}
@media (prefers-reduced-motion: reduce) {
  .image-skeleton::before {
    animation: skeleton-pulse-subtle 3s ease-in-out infinite;
  }
  @keyframes skeleton-pulse-subtle {
    0%, 100% {
      opacity: 0.8;
    }
    50% {
      opacity: 0.4;
    }
  }
}
.image-skeleton--small {
  border-radius: 6px;
}
.image-skeleton--large {
  border-radius: 16px;
}
.product-search-item .product-search-thumb .image-skeleton {
  border-radius: var(--radius);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.uidxModal-results-list--modal-city {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: -40px;
}
:root {
  --uidx-default-animation-duration: 250ms;
  --uidx-default-timing-function: ease-in-out;
  --uidx-default-animation-duration-alert-modal: 150ms;
  --uidx-default-timing-function-alert-modal: ease-in-out;
}
.uidx-visible-opacity {
  opacity: 1;
  position: static;
}
.uidx-hidden-opacity {
  opacity: 0;
  visibility: hidden;
}
.uidx-hidden-position {
  position: absolute;
}
.uidx-opacity-animation {
  transition: opacity var(--uidx-default-animation-duration, 300ms) var(--uidx-default-timing-function, ease), visibility 0s linear 0s, position 0s linear 0s;
}
/* Clases de animación personalizadas */
.custom-animation {
  --uidx-default-animation-duration: 600ms;
  --uidx-default-timing-function: ease-in;
  transition: opacity var(--uidx-default-animation-duration) var(--uidx-default-timing-function), visibility 0s linear 0s, position 0s linear 0s;
}
.custom-animation.custom-hidden-position {
  transition: opacity var(--uidx-default-animation-duration) var(--uidx-default-timing-function), visibility 0s linear var(--uidx-default-animation-duration), position 0s linear var(--uidx-default-animation-duration);
}
.uidx-no-layout {
  position: absolute;
  z-index: 1000;
  /* Asegurar que el elemento esté sobre otros elementos */
}
.uidxSelfCloseOutsideClick .bulma-delete {
  position: absolute;
  top: 10px;
  right: 10px;
}
footer {
  margin-top: 0;
}
@media only screen and (max-width: 429px) {
  .footer-content__container {
    flex-direction: column;
  }
  .headerMaster-navbar-hamburgerMenu-icon {
    display: block;
  }
  .headerMaster-navbar-hamburgerMenu-iconLogin {
    display: block;
  }
  .headerMaster-navbar-menu li a:hover {
    background-color: transparent;
    font-weight: 700;
  }
}
@media (min-width: 430px) {
  .icon-spin--wait {
    font-size: 3rem;
    font-weight: bold;
  }
  .footer-content__container {
    flex-direction: row;
    justify-content: center;
    flex-grow: 1;
  }
  .modal-content {
    flex-direction: column;
  }
  .modal-buttons-container {
    flex-direction: column;
  }
  .modal-content-text-container {
    justify-content: center;
  }
  .modal-content-message-container {
    flex-wrap: wrap;
    text-align: center;
  }
  .modal-content-title-container {
    flex-direction: column-reverse;
    flex-wrap: wrap;
    text-align: center;
  }
  .icon-emojiModal {
    font-size: 2rem;
  }
  .headerMaster-navbar-hamburgerMenu-icon {
    display: none;
  }
  .headerMaster-navbar-hamburgerMenu-iconLogin {
    display: none;
  }
  .headerMaster-navbar-menu {
    display: flex;
    position: absolute;
    justify-content: space-between;
    background-color: transparent;
    width: 550px;
    visibility: visible;
    opacity: 1;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    height: 48px;
    padding: 0;
  }
  .headerMaster-navbar-menu li {
    margin: 0 10px;
    padding: 0 5px;
    height: 48px;
  }
  .headerMaster-navbar-menu li a {
    padding: 15px 15px 0 15px;
    font-size: 0.8rem;
    font-weight: 600;
    height: 100%;
  }
  .headerMaster-navbar-menu li a:hover {
    background-color: var(--primary-color);
    font-weight: 700;
  }
  .headerMaster-navbar-hamburgerMenu-icon {
    display: none;
  }
}
@media (min-width: 430px) {
  .servicios-destacados {
    background-color: var(--primary-color);
    padding: 20px;
    border-radius: 8px;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
  }
  .servicios-destacados h1 {
    font-size: 24px;
  }
  .servicios-destacados p {
    font-size: 18px;
  }
  .servicios-destacados strong {
    font-size: 20px;
  }
  .headerHomeNL__bottom-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: flex-start;
    min-width: 650px;
    padding-left: 10px;
  }
  .busqueda_ajax_productos_nl-form {
    max-width: 600px;
  }
  .barra-header__barraHeaderContentWrapper-left__iconResponsiveContainer {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    min-width: 150px;
  }
  .barra-header__barraHeaderContentWrapper-left__iconResponsiveContainer p {
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
    padding-right: 10px;
  }
  .icon-phone--headerHomeNL {
    padding-right: 0;
  }
  .headerHomeNL {
    height: 73px;
    padding-top: 10px;
    box-shadow: 0 7px 15px rgba(0, 0, 0, 0.5);
  }
  .headerMaster-navbar-menu-account-icon--desktop {
    display: block;
  }
  .headerMaster-navbar-menu-account-icon--desktop .headerMaster-navbar-menu-account-icon--user {
    color: var(--text-color-on-dark);
  }
  .headerMaster-navbar-menu-account-icon--desktop .headerMaster-navbar-menu-account-icon--userLogged {
    color: var(--text-color-on-dark);
  }
}
@media (min-width: 834px) {
  .avatarsAbout__card-textBox p {
    font-size: 1.1rem;
  }
  .avatarsAbout__card-textBox h3 {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 429px) {
  .barra-header-tagResponsive {
    display: none;
  }
}
@media only screen and (min-width: 430px) {
  .barra-header-tagResponsive {
    display: block;
  }
}
@media only screen and (max-width: 429px) {
  .navigationMenuHomeNL-label-nav-toggleMenu {
    display: flex;
  }
}
@media only screen and (min-width: 430px) {
  .navigationMenuHomeNL-label-nav-toggleMenu {
    display: none;
  }
}
@media only screen and (min-width: 430px) {
  .hero-home {
    height: 100%;
  }
  .hero-dashboard-wrapper {
    height: 330px;
  }
  .hero-dashboard-tile {
    height: 330px;
    max-width: 300px;
    margin-left: 15px;
  }
  .hero-dashboard-horizontal-child {
    width: 100%;
    height: 100%;
  }
  .hero-home__carrusel-img {
    width: 100%;
    height: 600px;
  }
  .hero-home__carrusel-wrapper {
    max-width: 100%;
    margin-bottom: 0;
  }
  .hero-dashboard-card {
    background-color: var(--light-color);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    font-size: 10px;
    height: 360px;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 300px;
  }
  .hero-dashboard-card-image-wrapper {
    width: 100%;
    height: 100%;
  }
  .hero-dashboard-card-image-container {
    height: 100%;
    width: 100%;
    align-items: flex-start;
  }
  .hero-dashboard-card-image {
    height: auto;
    width: 100%;
  }
  .hero-dashboard-card {
    width: 100%;
  }
  .hero-dashboard-card-title-container {
    border: 0;
    color: var(--text-color);
    flex-shrink: 0;
    font-size: 1rem;
    font-weight: 600;
    height: 3em;
    line-height: 1.4em;
    margin-left: 15px;
    margin-right: 15px;
    margin-top: 15px;
    margin-bottom: 0;
    overflow: hidden;
    width: 270px;
    height: 50px;
  }
  .hero-dashboard-card-headlineText {
    margin: 0;
    padding: 0;
  }
  .hero-dashboard-card-descriptionLabelText {
    height: 1.4em;
  }
}
@media only screen and (min-width: 320px) {
  .hero-dashboard-container {
    bottom: -25%;
  }
  .hero-home {
    margin-bottom: 25vw;
  }
}
@media only screen and (min-width: 470px) {
  .hero-dashboard-container {
    bottom: -20%;
  }
  .hero-home {
    margin-bottom: 20vw;
  }
}
@media only screen and (min-width: 560px) {
  .hero-dashboard-container {
    bottom: -15%;
  }
  .hero-home {
    margin-bottom: 15vw;
  }
}
@media only screen and (min-width: 650px) {
  .hero-dashboard-container {
    bottom: -5%;
  }
  .hero-home {
    margin-bottom: 5vw;
  }
}
@media only screen and (min-width: 1024px) {
  .hero-dashboard-container {
    margin-top: 5%;
    height: 360px;
    bottom: -5%;
    scroll-snap-type: x mandatory;
  }
  .hero-home {
    margin-bottom: 1vw;
  }
  .hero-dashboard-wrapper {
    scroll-snap-align: start;
  }
  .hero-dashboard-wrapper::-webkit-scrollbar {
    display: none;
  }
}