:root {
  --dark: #20282f;
  --dark2: #2e3740;
  --dark3: #11181e;
  --orange: #ef5b0c;
  --orange2: #ff7417;
  --line: #dfe4e9;
  --muted: #728092;
  --text: #111820;
  --soft: #f5f7f9;
  --green: #0a8a38;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, "Segoe UI", Arial, sans-serif; color: var(--text); background: #edf0f3; }
button, input { font: inherit; }
button { cursor: pointer; font-family: Arial, sans-serif !important; font-weight: 400 !important; }
.app-shell { min-height: 100vh; background: linear-gradient(135deg, #f7f8fa 0%, #eef1f4 100%); }
.topbar { height: 86px; display: flex; align-items: center; justify-content: space-between; padding: 0 28px 0 30px; background: linear-gradient(90deg, #192128 0%, #28333c 58%, #1a2229 100%); color: #fff; border-bottom: 1px solid #111820; }
.brand-wrap { display: flex; align-items: center; min-width: 0; height: 100%; }
.brand-logo { width: 225px; height: 61px; object-fit: contain; filter: none; }
.brand-divider { height: 48px; width: 1px; background: #c8cfd5; margin: 0 20px; opacity: .8; }
.brand-market { color: var(--orange2); font-weight: 800; font-size: 31px; letter-spacing: .5px; }
.session-wrap { display: flex; align-items: center; gap: 11px; font-size: 15px; color: #f0f3f5; white-space: nowrap; }
.sep { opacity: .55; }
.workspace { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(360px, .76fr); gap: 0; min-height: calc(100vh - 86px); }
.sale-panel { background: #fff; padding: 20px 24px 24px 28px; border-right: 1px solid var(--line); min-width: 0; }
.calculator-panel { background: #fbfcfd; padding: 14px 16px 18px; min-width: 0; }
.search-wrap { position: relative; display: flex; align-items: center; height: 70px; border: 2px solid var(--orange); border-radius: 8px; background: #fff; margin-bottom: 20px; overflow: visible; }
.search-icon { font-size: 38px; color: #6f7f90; width: 62px; text-align: center; transform: translateY(-1px); }
.search-wrap input { flex: 1; min-width: 0; height: 100%; border: 0; outline: none; font-size: 25px; color: #26313b; padding: 0 18px 0 0; background: transparent; }
.search-wrap input::placeholder { color: #7e8d9e; }
.suggestions { position: absolute; left: -2px; right: -2px; top: 72px; z-index: 20; background: #fff; border: 1px solid #d6dce2; border-radius: 8px; box-shadow: 0 14px 32px rgba(23,33,42,.16); max-height: 280px; overflow: auto; }
.suggestion { padding: 13px 18px; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid #edf0f3; cursor: pointer; }
.suggestion:last-child { border-bottom: 0; }
.suggestion:hover, .suggestion.selected { background: #fff6ef; }
.suggestion small { display: block; color: var(--muted); margin-top: 3px; }
.suggestion-price { font-weight: 700; white-space: nowrap; }
.hidden { display: none !important; }
.table-card { position: relative; height: calc(100vh - 220px); min-height: 470px; border: 1px solid var(--line); border-radius: 8px; overflow: auto; background: #fff; }
.sale-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.sale-table thead th { position: sticky; top: 0; z-index: 3; background: #f3f5f7; color: #35404a; font-size: 14px; padding: 15px 14px; border-bottom: 1px solid var(--line); text-align: left; }
.sale-table td { font-size: 19px; padding: 15px 14px; border-bottom: 1px solid #e9edf0; vertical-align: middle; }
.qty-col { width: 110px; text-align: center !important; }
.money-col { width: 170px; text-align: right !important; }
.action-col { width: 52px; }
.sale-table td.qty { text-align: center; font-weight: 600; cursor: pointer; }
.sale-table td.money { text-align: right; font-variant-numeric: tabular-nums; }
.product-name { font-weight: 600; }
.product-code { display: block; margin-top: 3px; color: #8a96a2; font-size: 12px; font-weight: 400; }
.remove-btn { border: 0; background: transparent; color: #a3adb7; font-size: 24px; padding: 4px; line-height: 1; }
.remove-btn:hover { color: #d33; }
.empty-state { position: absolute; inset: 54px 0 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #9ba5ae; pointer-events: none; }
.empty-title { font-size: 24px; font-weight: 650; color: #7b8792; }
.empty-subtitle { font-size: 15px; margin-top: 7px; }
.total-box { height: 94px; border-radius: 8px; background: linear-gradient(135deg, #f5f6f7, #fff); border: 1px solid #edf0f2; display: flex; align-items: center; justify-content: space-between; padding: 13px 17px; margin-bottom: 11px; }
.total-box span { font-size: 18px; font-weight: 700; color: #34404c; }
.total-box strong { font-size: 46px; color: var(--orange); letter-spacing: -1px; white-space: nowrap; }
.payment-methods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 10px; }
.pay-btn { min-height: 66px; border: 1px solid #25303a; border-radius: 7px; background: linear-gradient(180deg, #34404a, #20282f); color: #fff; font-size: 15px; font-weight: 650; transition: .12s ease; }
.pay-btn.active { background: linear-gradient(180deg, var(--orange2), var(--orange)); border-color: var(--orange); }
.pay-btn:focus-visible, .currency-btn:focus-visible, .keypad button:focus-visible, .mixed-field:focus-visible { outline: 3px solid rgba(239,91,12,.25); outline-offset: 2px; }
.currency-tabs { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #cad1d7; border-radius: 7px; overflow: hidden; margin-bottom: 8px; }
.currency-btn { height: 44px; border: 0; background: #f6f7f8; color: #34404a; font-size: 17px; }
.currency-btn.active { background: linear-gradient(180deg, var(--orange2), var(--orange)); color: #fff; font-weight: 650; }
.received-grid { display: grid; grid-template-columns: 1.6fr .9fr; gap: 7px 10px; margin-bottom: 9px; }
.metric { min-width: 0; }
.metric label { display: block; font-size: 13px; font-weight: 650; color: #3f4b56; margin: 0 0 4px 2px; }
.primary-value, .secondary-value, .change-value, .rate-line { height: 58px; border: 1px solid #d9dfe4; border-radius: 7px; background: #f4f6f8; display: flex; align-items: center; padding: 0 13px; font-variant-numeric: tabular-nums; overflow: hidden; white-space: nowrap; }
.primary-value { font-size: 36px; font-weight: 800; }
.secondary-value { font-size: 21px; color: #53606c; }
.change-value { font-size: 33px; font-weight: 800; color: var(--green); }
.change-value.negative { color: #c5392f; }
.rate-line { gap: 5px; font-size: 18px; }
.rate-line input { min-width: 0; width: 100%; border: 0; outline: none; background: transparent; font-size: 19px; color: #3a4651; }
.direct-payment { border: 1px solid #d9dfe4; border-radius: 8px; min-height: 126px; display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 16px 18px; background: #fff; margin-bottom: 12px; }
.direct-label { font-size: 18px; font-weight: 700; color: #43505c; }
.direct-total { font-size: 41px; font-weight: 800; color: var(--orange); }
.direct-note { grid-column: 1 / -1; color: #7b8792; font-size: 13px; }
.mixed-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 7px; margin-bottom: 8px; }
.mixed-field { min-width: 0; border: 1px solid #d4dbe1; border-radius: 7px; background: #fff; padding: 9px 8px; text-align: left; }
.mixed-field.active { border: 2px solid var(--orange); background: #fff8f3; }
.mixed-field span { display: block; color: #6b7783; font-size: 12px; margin-bottom: 4px; }
.mixed-field strong { display: block; font-size: 19px; overflow: hidden; white-space: nowrap; }
.mixed-summary { display: flex; justify-content: space-between; align-items: center; padding: 9px 12px; background: #f2f4f6; border-radius: 6px; margin-bottom: 10px; }
.mixed-summary span { color: #5e6a75; font-size: 13px; }
.mixed-summary strong { font-size: 20px; color: var(--orange); }
.keypad { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(4, 58px); gap: 6px; }
.keypad button { border: 0; border-radius: 6px; background: linear-gradient(180deg, #34404a, #222a31); color: #fff; font-size: 27px; font-weight: 550; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.keypad button:hover { filter: brightness(1.08); }
.keypad .key-accent, .keypad .key-enter { background: linear-gradient(180deg, var(--orange2), var(--orange)); }
.keypad .key-enter { grid-column: 4; grid-row: 3 / span 2; font-size: 36px; }
.message { min-height: 23px; padding-top: 7px; text-align: center; font-size: 13px; color: #5f6d79; font-weight: 600; }
.message.error { color: #bf3028; }
.message.success { color: #087d34; }
.inline-qty { width: 80px; text-align: center; font-size: 18px; padding: 4px 5px; border: 1px solid var(--orange); border-radius: 5px; outline: none; }
@media (max-width: 1080px) {
  .workspace { grid-template-columns: 1fr; }
  .sale-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .table-card { height: 430px; min-height: 430px; }
  .calculator-panel { padding-bottom: 30px; }
  .session-wrap { display: none; }
}
@media (max-width: 650px) {
  .topbar { height: 72px; padding: 0 14px; }
  .brand-logo { width: 168px; height: 48px; }
  .brand-divider { margin: 0 10px; height: 36px; }
  .brand-market { font-size: 22px; }
  .workspace { min-height: calc(100vh - 72px); }
  .sale-panel, .calculator-panel { padding: 14px; }
  .search-wrap { height: 58px; }
  .search-wrap input { font-size: 18px; }
  .table-card { min-height: 360px; height: 360px; }
  .sale-table td { font-size: 15px; padding: 12px 8px; }
  .money-col { width: 108px; }
  .qty-col { width: 66px; }
  .product-code { display: none; }
  .total-box strong { font-size: 39px; }
  .payment-methods { grid-template-columns: 1fr 1fr; }
  .received-grid { grid-template-columns: 1fr; }
  .mixed-grid { grid-template-columns: 1fr; }
}

/* V1.0.2 - Menú lateral bajo demanda */
.topbar-actions { display: flex; align-items: center; gap: 18px; }
.menu-button {
  height: 46px;
  min-width: 112px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 7px;
  background: rgba(7,12,16,.24);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .5px;
}
.menu-button:hover { border-color: var(--orange2); background: rgba(239,91,12,.12); }
.menu-button-bars { color: var(--orange2); font-size: 21px; line-height: 1; }
.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(8,13,17,.38);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}
.menu-overlay.open { opacity: 1; pointer-events: auto; }
.menu-drawer {
  position: fixed;
  z-index: 100;
  top: 0;
  bottom: 0;
  left: 0;
  width: 310px;
  max-width: 88vw;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #1a2229 0%, #242e36 100%);
  color: #fff;
  border-right: 1px solid #111820;
  box-shadow: 14px 0 36px rgba(9,14,18,.25);
  transform: translateX(-102%);
  transition: transform .2s ease;
}
.menu-drawer.open { transform: translateX(0); }
.menu-drawer-head {
  min-height: 92px;
  padding: 20px 18px 16px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.menu-drawer-brand { font-size: 17px; font-weight: 850; letter-spacing: .4px; }
.menu-drawer-brand span { color: var(--orange2); }
.menu-drawer-subtitle { margin-top: 4px; color: #9fabb5; font-size: 12px; }
.menu-close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 7px;
  background: transparent;
  color: #e9edf0;
  font-size: 28px;
  line-height: 1;
}
.menu-close:hover { border-color: var(--orange2); color: #fff; }
.menu-nav { padding: 14px 0 18px; overflow-y: auto; }
.menu-section-label { padding: 18px 24px 8px; font-size: 10px; font-weight: 800; color: #7f8d99; letter-spacing: 1.2px; }
.menu-item {
  position: relative;
  width: 100%;
  min-height: 48px;
  border: 0;
  background: transparent;
  color: #d8dee3;
  text-align: left;
  padding: 0 24px 0 30px;
  font-size: 15px;
  font-weight: 600;
}
.menu-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: transparent;
}
.menu-item:hover { background: rgba(255,255,255,.055); color: #fff; }
.menu-item.active { background: rgba(239,91,12,.10); color: #fff; }
.menu-item.active::before { background: var(--orange2); }
.menu-drawer-foot { margin-top: auto; padding: 18px 22px; border-top: 1px solid rgba(255,255,255,.08); color: #83909b; font-size: 11px; }
.module-workspace { min-height: calc(100vh - 86px); padding: 30px 34px; background: #f7f8fa; }
.module-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 2px 0 22px;
  border-bottom: 1px solid var(--line);
}
.module-kicker { color: var(--orange); font-size: 11px; font-weight: 850; letter-spacing: 1.25px; }
.module-header h1 { margin: 5px 0 6px; font-size: 30px; color: #20282f; }
.module-header p { margin: 0; color: #6d7985; font-size: 15px; }
.back-pos-button {
  min-height: 44px;
  border: 1px solid #cfd6dc;
  border-radius: 7px;
  background: #fff;
  color: #27323c;
  padding: 0 16px;
  font-weight: 700;
}
.back-pos-button:hover { border-color: var(--orange); color: var(--orange); }
.module-placeholder {
  margin-top: 26px;
  min-height: 180px;
  border: 1px solid #dfe4e9;
  border-radius: 9px;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px;
}
.module-placeholder strong { font-size: 20px; color: #2b3540; }
.module-placeholder span { margin-top: 8px; max-width: 610px; color: #75818c; line-height: 1.55; }
@media (max-width: 1080px) {
  .topbar-actions { gap: 10px; }
}
@media (max-width: 650px) {
  .menu-button { min-width: 94px; height: 42px; }
  .module-workspace { min-height: calc(100vh - 72px); padding: 20px 16px; }
  .module-header { flex-direction: column; }
  .back-pos-button { width: 100%; }
}

/* V1.0.3 - Ajuste visual: POS Lista ligeramente más amplio y calculadora más compacta. */


/* V1.0.5 - Productos e Inventario */
.module-content { margin-top: 20px; }
.inventory-shell { min-width: 0; }
.inventory-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; flex-wrap: wrap; }
.inventory-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.inventory-tab { min-height: 40px; border: 1px solid #d2d8de; border-radius: 6px; padding: 0 14px; background: #fff; color: #34414c; font-weight: 650; }
.inventory-tab.active { background: var(--dark); color: #fff; border-color: var(--dark); box-shadow: inset 3px 0 0 var(--orange); }
.inventory-export { display: flex; gap: 8px; }
.primary-action, .secondary-action, .danger-action { min-height: 42px; border-radius: 6px; padding: 0 16px; font-weight: 700; }
.primary-action { border: 1px solid var(--orange); background: linear-gradient(180deg,var(--orange2),var(--orange)); color: #fff; }
.secondary-action { border: 1px solid #cbd2d8; background: #fff; color: #303c47; }
.danger-action { border: 1px solid #c83b32; background: #fff; color: #b72f28; }
.admin-card { background: #fff; border: 1px solid #dfe4e9; border-radius: 9px; padding: 20px; min-width: 0; }
.admin-card h2 { margin: 0 0 6px; font-size: 21px; }
.admin-card p { margin: 0 0 18px; color: #6f7c88; }
.panel-grid { display: grid; gap: 16px; }
.panel-grid.two, .promotions-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.inline-form { display: flex; gap: 8px; }
.inline-form input { flex: 1; min-width: 0; height: 42px; border: 1px solid #ccd3d9; border-radius: 6px; padding: 0 12px; }
.category-list { display: grid; gap: 7px; }
.category-list > div { display: flex; justify-content: space-between; align-items: center; min-height: 42px; padding: 0 10px 0 13px; background: #f5f7f8; border-radius: 6px; }
.category-list button { border: 0; background: transparent; color: #b52d26; }
.card-title-row, .preview-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.scanner-badge { display: inline-flex; align-items: center; min-height: 32px; padding: 0 10px; background: #fff5ed; border: 1px solid #ffd3b9; color: #c74700; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .7px; white-space: nowrap; }
.product-form-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-top: 18px; }
.field { display: block; min-width: 0; }
.field.wide { grid-column: span 2; }
.field span { display: block; font-size: 12px; color: #46535e; font-weight: 700; margin: 0 0 5px 2px; }
.field input, .field select, .field textarea { width: 100%; min-width: 0; min-height: 43px; border: 1px solid #ccd4db; border-radius: 6px; padding: 9px 11px; background: #fff; color: #1d2730; outline: none; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(239,91,12,.10); }
.form-actions { display: flex; gap: 9px; margin-top: 18px; }
.form-message { min-height: 22px; padding-top: 9px; font-size: 13px; font-weight: 650; color: #67747f; }
.form-message.error { color: #bd332b; }
.form-message.success { color: #087e36; }
.edit-form-area { margin-top: 16px; }
.inventory-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.inventory-summary > div { background: #fff; border: 1px solid #dfe4e9; border-radius: 8px; padding: 13px 15px; }
.inventory-summary span { display: block; color: #75818c; font-size: 12px; }
.inventory-summary strong { display: block; margin-top: 4px; font-size: 24px; color: #202b34; }
.warning-text { color: #d14900 !important; }
.inventory-filters { display: grid; grid-template-columns: minmax(240px,1fr) 230px auto; gap: 9px; margin-bottom: 10px; }
.inventory-filters input, .inventory-filters select { height: 42px; border: 1px solid #ccd4db; border-radius: 6px; padding: 0 11px; background: #fff; }
.stock-toggle { display: flex; align-items: center; gap: 7px; background: #fff; border: 1px solid #d7dde2; border-radius: 6px; padding: 0 12px; color: #46525d; font-size: 13px; white-space: nowrap; }
.data-table-wrap { overflow: auto; border: 1px solid #dce2e7; border-radius: 8px; background: #fff; }
.data-table { width: 100%; border-collapse: collapse; min-width: 920px; }
.data-table th { text-align: left; background: #f2f4f6; color: #3a4650; font-size: 12px; padding: 11px 10px; border-bottom: 1px solid #dce2e7; position: sticky; top: 0; z-index: 1; }
.data-table td { padding: 10px; border-bottom: 1px solid #edf0f2; font-size: 13px; vertical-align: middle; }
.data-table td small { display: block; margin-top: 3px; color: #87929d; }
.low-stock-row { background: #fff8f2; }
.table-action { border: 1px solid #cbd2d8; background: #fff; border-radius: 5px; min-height: 32px; padding: 0 10px; color: #34414b; }
.empty-table { text-align: center; color: #8a96a0; padding: 30px !important; }
.promo-form { display: grid; gap: 11px; }
.promo-list { display: grid; gap: 8px; }
.promo-card { display: flex; justify-content: space-between; gap: 12px; padding: 12px; border: 1px solid #e1e5e9; border-left: 4px solid var(--orange); border-radius: 7px; }
.promo-card strong, .promo-card span, .promo-card em { display: block; }
.promo-card span { color: #5f6c77; font-size: 12px; margin-top: 3px; }
.promo-card em { color: var(--orange); font-size: 12px; font-style: normal; font-weight: 800; margin-top: 5px; }
.promo-card button { border: 0; background: transparent; color: #b72f28; }
.promotion-row .product-name { color: #c74600; }
.promotion-row { background: #fffaf6; }
.promo-note { display: block; margin-top: 4px; color: #d04d00; font-size: 11px; font-weight: 800; letter-spacing: .2px; }
.file-drop { display: flex; gap: 9px; align-items: center; padding: 16px; background: #f6f8f9; border: 1px dashed #c8d0d7; border-radius: 8px; }
.file-drop input { flex: 1; min-width: 0; }
.preview-head { margin: 14px 0 8px; }
.data-table-wrap.preview { max-height: 430px; }
.preview-note { color: #7b8791; font-size: 12px; }
.text-area-field { margin-top: 14px; }
.text-area-field textarea { resize: vertical; font-family: Consolas, monospace; font-size: 12px; }
.invoice-actions { margin-top: 8px; }
.editable-table input { width: 100%; min-width: 90px; height: 34px; border: 1px solid #d6dce1; border-radius: 5px; padding: 0 7px; }
.editable-table td:nth-child(3) input { min-width: 230px; }
.module-placeholder { min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #fff; border: 1px solid #dfe4e9; border-radius: 9px; color: #72808c; }
.module-placeholder strong { color: #34404b; font-size: 22px; margin-bottom: 6px; }
@media (max-width: 1100px) { .product-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .inventory-summary { grid-template-columns: 1fr 1fr; } .panel-grid.two,.promotions-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .product-form-grid { grid-template-columns: 1fr; } .field.wide { grid-column: auto; } .inventory-summary { grid-template-columns: 1fr 1fr; } .inventory-filters { grid-template-columns: 1fr; } .inventory-toolbar { align-items: stretch; } .inventory-export { width: 100%; } .inventory-export button { flex: 1; } .file-drop { flex-direction: column; align-items: stretch; } }

/* V1.0.6 - Importación avanzada de facturas */
.invoice-preview-table { min-width: 1450px; }
.invoice-preview-table td input { min-width: 110px; }
.invoice-preview-table td:nth-child(3) input { min-width: 260px; }
.invoice-preview-table td:nth-child(7) input { min-width: 150px; }


/* V1.0.9 - Tipografía de botones solicitada: Arial regular, sin negrita */
button, button * { font-family: Arial, sans-serif !important; font-weight: 400 !important; }


/* V1.0.10 - selección de líneas y vencimientos LIA */
.selection-tools { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; }
.select-all-label { display:inline-flex; align-items:center; gap:7px; color:#3e4b56; font-family:Arial,sans-serif; font-weight:400; font-size:13px; }
.select-all-label input { width:18px; height:18px; accent-color:var(--orange); }
.secondary-action.compact { min-height:34px; padding:0 11px; }
#invoiceSelectedCount, #importSelectedCount { color:#6d7882; font-size:12px; }
.editable-table input[type="date"] { min-width:142px; }
.lia-expiry-banner { width:100%; min-height:58px; margin-bottom:14px; border:1px solid #f1c39f; border-radius:8px; background:#fff8f3; padding:10px 14px; display:flex; align-items:center; gap:12px; text-align:left; color:#27323b; }
.lia-expiry-banner span { color:var(--orange); }
.lia-expiry-banner strong { font-family:Arial,sans-serif; font-weight:400; flex:1; }
.lia-expiry-banner em { font-style:normal; color:#6b7782; }
.expiry-expired { color:#b42318 !important; }
.expiry-soon { color:#b65a00 !important; }
.expiry-lia-card .card-title-row { align-items:flex-end; }
.lia-days-field { display:flex; align-items:center; gap:7px; color:#53606c; font-size:12px; }
.lia-days-field input { width:74px; min-height:38px; border:1px solid #ced5db; border-radius:6px; padding:0 8px; }
.expiry-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0 12px; }
.expiry-summary > div { border:1px solid #e1e5e9; border-radius:8px; padding:13px 14px; background:#fafbfc; }
.expiry-summary span { display:block; color:#697580; font-size:12px; margin-bottom:5px; }
.expiry-summary strong { display:block; font-family:Arial,sans-serif; font-weight:400; font-size:25px; }
.expiry-summary .danger { border-color:#f2b8b5; background:#fff6f5; }
.expiry-summary .warning { border-color:#f3cf9e; background:#fff9f0; }
.lia-expiry-note { margin-bottom:14px; padding:10px 12px; border-left:3px solid var(--orange); background:#f8f9fa; color:#53606c; font-size:12px; }
.expiry-status { display:inline-block; border-radius:999px; padding:4px 9px; font-size:11px; font-family:Arial,sans-serif; font-weight:400; }
.expiry-status.expired { background:#feeceb; color:#a51d15; }
.expiry-status.soon { background:#fff0dc; color:#9b4b00; }
.expiry-status.ok { background:#eaf7ee; color:#176b36; }
@media(max-width:900px){.expiry-summary{grid-template-columns:1fr 1fr}.lia-days-field{width:100%;justify-content:flex-start}}


/* V1.0.12 - Compras y Pagos a Proveedores */
.purchase-shell { min-width:0; }
.purchase-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.purchase-tabs { display:flex; gap:6px; flex-wrap:wrap; }
.purchase-tab { min-height:40px; border:1px solid #d2d8de; border-radius:6px; padding:0 14px; background:#fff; color:#34414c; font-family:Arial,sans-serif; font-weight:400; }
.purchase-tab.active { background:var(--dark); color:#fff; border-color:var(--dark); box-shadow:inset 3px 0 0 var(--orange); }
.purchase-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.purchase-summary-grid > div { background:#fff; border:1px solid #dfe4e9; border-radius:8px; padding:14px 15px; min-width:0; }
.purchase-summary-grid > div.warning { background:#fff8f2; border-color:#efc29f; }
.purchase-summary-grid span { display:block; color:#75818c; font-size:12px; }
.purchase-summary-grid strong { display:block; margin-top:5px; font-size:23px; color:#202b34; }
.purchase-summary-grid small { display:block; color:#7c8791; margin-top:5px; line-height:1.35; }
.api-badge,.document-badge { display:inline-flex; min-height:30px; align-items:center; padding:0 10px; border:1px solid #e2b791; border-radius:999px; color:#c84b00; background:#fff7f1; font-size:11px; font-family:Arial,sans-serif; font-weight:400; white-space:nowrap; }
.inline-field { display:flex; gap:7px; align-items:stretch; }
.inline-field input { flex:1; }
.inline-field button { min-width:138px; }
.stacked-input { margin-top:7px; }
.supplier-search { margin-bottom:10px; }
.supplier-search input,.standalone-select { width:100%; min-height:42px; border:1px solid #ccd4db; border-radius:6px; padding:0 11px; background:#fff; }
.supplier-table { min-width:880px; }
.notice-box { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; padding:12px 14px; border:1px solid #efc49e; background:#fff8f2; border-radius:8px; color:#6b4a32; }
.purchase-file-drop { margin-top:18px; }
.purchase-file-drop #purchaseDocState { color:#65727d; font-size:12px; min-width:180px; }
.purchase-options { display:flex; gap:18px; flex-wrap:wrap; margin:16px 0 4px; padding:12px 14px; background:#f6f8f9; border:1px solid #e0e5e9; border-radius:7px; }
.purchase-options label { display:inline-flex; align-items:center; gap:7px; color:#46535e; font-size:13px; }
.purchase-options input { width:17px; height:17px; accent-color:var(--orange); }
.payment-now-panel { margin-top:10px; padding:14px; border:1px solid #e0e4e8; border-radius:8px; background:#fafbfc; }
.purchase-lines-wrap { max-height:410px; margin-top:8px; }
.purchase-lines-table { min-width:1250px; }
.purchase-lines-table td:nth-child(4) input { min-width:290px; }
.purchase-lines-table td input[type="checkbox"] { width:18px; height:18px; accent-color:var(--orange); }
.purchase-invoice-table { min-width:980px; }
.purchase-status { display:inline-flex; align-items:center; min-height:25px; padding:0 8px; border-radius:999px; font-size:11px; font-family:Arial,sans-serif; font-weight:400; }
.status-paid { background:#eef8f1; color:#087a35; border:1px solid #b9dfc6; }
.status-overdue { background:#fff1f0; color:#ad2e28; border:1px solid #efb9b5; }
.status-partial { background:#fff8eb; color:#9b5b00; border:1px solid #ecd09f; }
.status-pending { background:#f3f5f7; color:#54616c; border:1px solid #d6dde2; }
.row-actions { display:flex; gap:6px; flex-wrap:nowrap; }
.compact-table { min-width:600px; }
.statement-summary,.report-summary { margin-top:16px; }
.statement-body { margin-top:14px; }
.section-subtitle { margin:20px 0 9px; font-size:16px; color:#34404b; }
.report-filters { display:grid; grid-template-columns:180px 180px minmax(240px,1fr); gap:10px; margin:16px 0; }
.receive-invoice-card { padding-bottom:24px; }
@media(max-width:1100px){.purchase-summary-grid{grid-template-columns:1fr 1fr}.report-filters{grid-template-columns:1fr 1fr}.report-filters .field:last-child{grid-column:1/-1}.inline-field{flex-direction:column}.inline-field button{min-width:0}}
@media(max-width:720px){.purchase-summary-grid{grid-template-columns:1fr}.purchase-toolbar{align-items:stretch}.purchase-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.purchase-tab{width:100%}.purchase-options{flex-direction:column;gap:9px}.report-filters{grid-template-columns:1fr}.report-filters .field:last-child{grid-column:auto}.notice-box{flex-direction:column;align-items:stretch}}


/* V1.0.13 - Cédula proveedor + conexión Hacienda estable */
button { font-family: Arial, sans-serif !important; font-weight: 400 !important; }
.supplier-id-field { grid-column: span 2; }
.supplier-id-inline { display:grid; grid-template-columns:minmax(190px,1fr) 132px; gap:8px; align-items:stretch; }
.supplier-id-inline input { min-width:190px !important; font-variant-numeric:tabular-nums; letter-spacing:.25px; }
.supplier-id-inline button { min-width:132px !important; padding:0 10px; }
#queryHacienda:disabled { opacity:.65; cursor:wait; }
@media(max-width:1100px){.supplier-id-field{grid-column:1/-1}.supplier-id-inline{grid-template-columns:minmax(220px,1fr) 150px}}
@media(max-width:620px){.supplier-id-inline{grid-template-columns:1fr}.supplier-id-inline button{min-width:0 !important}}


/* V1.0.14 - Clientes, credito y SMTP */
.payment-methods { grid-template-columns: repeat(5, minmax(0,1fr)); }
.pay-btn { min-width:0; padding-left:4px; padding-right:4px; }
.credit-pos-panel { border:1px solid #d9dfe4; border-radius:8px; background:#fff; padding:10px 11px; margin-bottom:9px; }
.credit-pos-panel label { display:block; font-size:12px; color:#46535e; margin-bottom:5px; }
.credit-pos-panel select { width:100%; min-height:39px; border:1px solid #ccd4db; border-radius:6px; padding:0 9px; background:#fff; }
.credit-pos-summary { margin-top:8px; padding:8px 9px; border-radius:6px; background:#f3f5f7; color:#5f6b75; font-size:11px; line-height:1.4; }
.credit-pos-summary strong,.credit-pos-summary span,.credit-pos-summary em { display:block; font-style:normal; }
.credit-pos-summary strong { color:#27323b; font-size:12px; margin-bottom:2px; }
.credit-pos-summary.ok { background:#edf8f0; border:1px solid #c4e6ce; color:#176a35; }
.credit-pos-summary.blocked { background:#fff1f0; border:1px solid #efc0bc; color:#a72b24; }
.client-shell { min-width:0; }
.client-toolbar { display:flex; align-items:center; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.client-tabs { display:flex; gap:6px; flex-wrap:wrap; }
.client-tab { min-height:40px; border:1px solid #d2d8de; border-radius:6px; padding:0 14px; background:#fff; color:#34414c; font-family:Arial,sans-serif; font-weight:400; }
.client-tab.active { background:var(--dark); color:#fff; border-color:var(--dark); box-shadow:inset 3px 0 0 var(--orange); }
.client-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.client-summary-grid > div { background:#fff; border:1px solid #dfe4e9; border-radius:8px; padding:14px 15px; min-width:0; }
.client-summary-grid > div.warning { background:#fff7f2; border-color:#f0c39e; }
.client-summary-grid span { display:block; color:#75818c; font-size:12px; }
.client-summary-grid strong { display:block; margin-top:5px; font-size:23px; color:#202b34; }
.client-search { margin:14px 0 10px; }
.client-search input { width:100%; min-height:42px; border:1px solid #ccd4db; border-radius:6px; padding:0 11px; }
.client-table { min-width:1100px; }
.client-risk { display:inline-flex; align-items:center; min-height:25px; padding:0 8px; border-radius:999px; font-size:11px; white-space:nowrap; }
.client-risk.green { background:#eaf7ee; color:#176b36; border:1px solid #bfe1ca; }
.client-risk.yellow { background:#fff4df; color:#8a5200; border:1px solid #eed1a0; }
.client-risk.red { background:#fff0ef; color:#aa2d26; border:1px solid #efbcb8; }
.client-risk.off { background:#f1f3f5; color:#65717c; border:1px solid #d9dfe4; }
.mail-action { min-width:34px; font-size:17px; padding:0 8px; }
.client-id-field { grid-column:span 2; }
.client-id-inline { display:grid; grid-template-columns:minmax(190px,1fr) 142px; gap:8px; }
.permission-note,.smtp-local-note { margin-top:12px; padding:9px 11px; border-left:3px solid var(--orange); background:#f7f8f9; color:#66727d; font-size:12px; }
.credit-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0; }
.credit-metrics > div { padding:11px; border:1px solid #e0e5e9; border-radius:7px; background:#fafbfc; }
.credit-metrics > div.danger { background:#fff2f0; border-color:#efbfbb; }
.credit-metrics span { display:block; color:#73808b; font-size:11px; }
.credit-metrics strong { display:block; margin-top:3px; font-size:18px; }
.credit-status-line { display:flex; align-items:center; gap:10px; margin-bottom:12px; color:#66727d; font-size:12px; }
.client-ledger { max-height:390px; }
.client-profile-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:10px 0 14px; padding:12px 14px; border:1px solid #e0e5e9; border-radius:8px; background:#fafbfc; }
.client-profile-head strong,.client-profile-head span { display:block; }
.client-profile-head strong { font-size:18px; margin-bottom:3px; }
.client-profile-head > div > span { color:#71808b; font-size:12px; }
.statement-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.statement-actions .standalone-select { min-width:300px; width:auto; }
.mail-button { white-space:nowrap; }
.email-log { display:grid; gap:6px; }
.email-log > div { display:grid; grid-template-columns:170px minmax(220px,1fr) minmax(140px,.7fr); gap:10px; padding:8px 10px; background:#f7f8f9; border-radius:6px; font-size:12px; color:#56636e; }
.empty-inline { padding:28px; text-align:center; color:#85919b; border:1px dashed #d6dde2; border-radius:7px; }
.smtp-checklist { display:grid; gap:8px; margin-top:16px; color:#4e5b66; }
.smtp-checklist > div { padding:9px 10px; background:#f6f8f9; border-radius:6px; }
@media(max-width:1100px){.client-summary-grid,.credit-metrics{grid-template-columns:1fr 1fr}.client-id-field{grid-column:1/-1}.payment-methods{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.client-summary-grid,.credit-metrics{grid-template-columns:1fr}.client-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.client-tab{width:100%}.client-id-inline{grid-template-columns:1fr}.statement-actions{width:100%;align-items:stretch}.statement-actions .standalone-select{width:100%;min-width:0}.email-log>div{grid-template-columns:1fr}.payment-methods{grid-template-columns:1fr 1fr}}

/* V1.0.16 - Super Admin y configuracion tecnica */
.super-admin-menu { border-top: 1px solid rgba(255,255,255,.06); margin-top: 6px; padding-top: 4px; }
.super-admin-menu .menu-section-label { color: #ff8a35; }
.super-admin-badge { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid var(--orange2); border-radius:999px; color:var(--orange); font-family:Arial,sans-serif; font-size:11px; font-weight:400; letter-spacing:.4px; }
.super-admin-card { border-color:#f2c4a8; box-shadow:0 0 0 1px rgba(239,91,12,.03); }
.technical-managed-note { margin-top:16px; padding:12px 14px; border:1px solid #dde3e8; border-radius:7px; background:#f7f8f9; color:#64717c; font-family:Arial,sans-serif; font-size:13px; }
.technical-loading { color:#687580; padding:10px 2px; }


/* V1.0.17 - Configuracion general disponible para ADMIN / CAJERO ADMIN / SUPER ADMIN */
.settings-shell { min-width:0; }
.settings-access-note { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px; padding:10px 12px; border:1px solid #dde3e8; border-radius:7px; background:#fff; color:#5e6b76; font-size:12px; }
.settings-access-note span { color:#202a33; }
.settings-access-note strong { font-family:Arial,sans-serif; font-weight:400; color:var(--orange); }
.settings-access-note em { margin-left:auto; font-style:normal; color:#76838e; }
.settings-toolbar { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:14px; }
.settings-tab { min-height:40px; border:1px solid #d2d8de; border-radius:6px; padding:0 14px; background:#fff; color:#34414c; font-family:Arial,sans-serif !important; font-weight:400 !important; }
.settings-tab.active { background:var(--dark); color:#fff; border-color:var(--dark); box-shadow:inset 3px 0 0 var(--orange); }
.settings-option-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.settings-check { min-height:46px; display:flex; align-items:center; gap:9px; border:1px solid #d9dfe4; border-radius:6px; padding:0 12px; background:#fafbfc; color:#46535e; font-size:13px; }
.settings-check input { width:17px; height:17px; accent-color:var(--orange); }
.settings-full { grid-column:1/-1; }
@media(max-width:850px){.settings-option-grid{grid-template-columns:1fr 1fr}.settings-access-note em{margin-left:0;width:100%}}
@media(max-width:600px){.settings-toolbar{display:grid;grid-template-columns:1fr 1fr}.settings-tab{width:100%}.settings-option-grid{grid-template-columns:1fr}}


/* V1.0.18 - Impresoras Windows + prueba termica + cajon */
.hardware-badge { display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #d5dce2;border-radius:999px;background:#f7f8f9;color:#5f6c77;font-family:Arial,sans-serif;font-size:11px;font-weight:400; }
.hardware-printer-field { grid-column:1/-1 !important; }
.hardware-printer-picker { display:grid;grid-template-columns:minmax(280px,1fr) 150px;gap:8px;align-items:stretch; }
.hardware-printer-picker select { min-width:0; }
.hardware-help { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px; }
.hardware-help > div { border:1px solid #dde3e8;border-radius:7px;background:#fafbfc;padding:11px 12px; }
.hardware-help strong,.hardware-help span { display:block;font-family:Arial,sans-serif;font-weight:400; }
.hardware-help strong { color:#26323b;margin-bottom:4px; }
.hardware-help span { color:#71808b;font-size:12px;line-height:1.4; }
.hardware-actions { flex-wrap:wrap; }
@media(max-width:720px){.hardware-printer-picker{grid-template-columns:1fr}.hardware-help{grid-template-columns:1fr}.hardware-actions>button{flex:1 1 100%}}

/* V1.0.19 - Usuarios, perfiles mixtos, permisos y auditoría */
.permission-hidden { display:none !important; }
.user-session-foot { display:grid !important; gap:8px; }
.switch-user-button { width:100%; min-height:34px; border:1px solid rgba(255,255,255,.18); border-radius:6px; background:rgba(255,255,255,.04); color:#eef2f5; font-family:Arial,sans-serif; font-weight:400; cursor:pointer; }
.switch-user-button:hover { border-color:var(--orange); color:#fff; }
.user-switch-overlay { position:fixed; inset:0; z-index:3000; background:rgba(14,21,27,.72); display:flex; align-items:center; justify-content:center; padding:20px; }
.user-switch-card { width:min(460px,96vw); background:#fff; border:1px solid #d5dce2; border-radius:10px; padding:20px; box-shadow:0 24px 70px rgba(0,0,0,.24); }
.user-switch-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; margin-bottom:16px; }
.user-switch-head h2 { margin:0 0 5px; font-family:Arial,sans-serif; }
.user-switch-head p { margin:0; color:#6d7984; font-size:13px; }
.user-switch-head .menu-close { color:#26333c; background:#f4f6f7; border-color:#d6dde2; }
.users-layout { display:grid; grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr); gap:14px; align-items:start; }
.user-profiles-title { margin:16px 0 8px; color:#2d3943; font-size:13px; }
.user-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.user-profile-option { display:flex; align-items:flex-start; gap:10px; min-height:68px; padding:11px; border:1px solid #dce2e7; border-radius:7px; background:#fafbfc; cursor:pointer; }
.user-profile-option input { width:18px; height:18px; margin-top:2px; accent-color:var(--orange); }
.user-profile-option span,.user-profile-option strong,.user-profile-option small { display:block; }
.user-profile-option strong { font-family:Arial,sans-serif; font-weight:400; color:#26323c; margin-bottom:3px; }
.user-profile-option small { color:#71808b; line-height:1.35; }
.user-profile-option.admin-profile { border-color:#efc5ab; background:#fffaf6; }
.permission-badge,.audit-badge { display:inline-flex; align-items:center; min-height:28px; padding:0 9px; border:1px solid #d9e0e5; border-radius:999px; background:#f7f8f9; color:#5b6873; font-size:11px; font-weight:400; }
.users-table-wrap { max-height:520px; }
.current-user-row { background:#fff9f5; }
.data-table td small { display:block; color:#87929b; font-size:10px; margin-top:2px; }
.profile-chip-row { display:flex; gap:4px; flex-wrap:wrap; }
.profile-chip { display:inline-flex; min-height:23px; align-items:center; padding:0 7px; border-radius:999px; border:1px solid #d7dde2; background:#f7f8f9; font-size:10px; color:#4f5d68; }
.user-status { display:inline-flex; align-items:center; min-height:24px; padding:0 8px; border-radius:999px; font-size:10px; }
.user-status.active { background:#eaf7ee; color:#176b36; border:1px solid #bfe1ca; }
.user-status.inactive { background:#f1f3f5; color:#6f7b85; border:1px solid #d9dfe4; }
.table-actions { display:flex; gap:5px; flex-wrap:wrap; }
.danger-lite { color:#a33a32 !important; }
.permissions-matrix { margin-top:14px; }
.permission-matrix-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.permission-matrix-grid>div { padding:12px; border:1px solid #dde3e8; border-radius:7px; background:#fafbfc; }
.permission-matrix-grid strong,.permission-matrix-grid span { display:block; font-weight:400; }
.permission-matrix-grid strong { color:#27343e; margin-bottom:4px; }
.permission-matrix-grid span { color:#6e7b86; font-size:12px; line-height:1.45; }
.audit-table-wrap { max-height:560px; }
.audit-table-wrap table { min-width:1180px; }
.audit-positive { color:#188247; }
.audit-negative { color:#b34037; }
@media(max-width:1050px){.users-layout{grid-template-columns:1fr}.user-profile-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.user-profile-grid,.permission-matrix-grid{grid-template-columns:1fr}}

/* V1.0.22 - ticket profesional */
.ticket-logo-config { display:grid; grid-template-columns:120px 1fr; gap:14px; align-items:center; margin-top:8px; }
.ticket-logo-thumb { width:120px; height:90px; border:1px dashed #d7dde3; border-radius:10px; background:#fafbfc; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.ticket-logo-thumb img { max-width:100%; max-height:100%; object-fit:contain; }
.ticket-logo-placeholder { color:#70808d; font-size:12px; text-align:center; padding:10px; }
.ticket-logo-actions { display:flex; flex-direction:column; gap:10px; }
.ticket-small-note { color:#6f7c88; font-size:12px; line-height:1.45; }
.ticket-modal-backdrop { position:fixed; inset:0; background:rgba(12,20,28,.55); z-index:9999; display:flex; align-items:center; justify-content:center; padding:22px; }
.ticket-modal-window { width:min(1120px,100%); max-height:calc(100vh - 44px); overflow:auto; background:#f4f6f8; border-radius:16px; box-shadow:0 24px 64px rgba(0,0,0,.25); }
.ticket-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:20px 22px 16px; border-bottom:1px solid #d8dee5; background:#fff; border-radius:16px 16px 0 0; }
.ticket-modal-header h2 { margin:0 0 4px; font-size:28px; }
.ticket-modal-header p { margin:0; color:#6f7c88; }
.ticket-modal-close { width:38px; height:38px; border:1px solid #cfd7de; border-radius:10px; background:#fff; color:#2a3741; font-size:26px; line-height:1; }
.ticket-modal-body { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:18px; padding:20px; align-items:start; }
.ticket-preview-shell { min-width:0; display:flex; justify-content:center; }
.ticket-side-panel .admin-card.compact { padding:18px; }
.ticket-side-panel h3 { margin:0 0 12px; font-size:18px; }
.ticket-side-actions { display:flex; flex-direction:column; gap:10px; margin-bottom:12px; }
.ticket-paper { width:100%; max-width:540px; background:#fff; border-radius:18px; border:1px solid #e1e7ed; box-shadow:0 16px 38px rgba(15,23,31,.08); padding:28px 30px; color:#24313c; }
.ticket-58 { max-width:420px; }
.ticket-80 { max-width:540px; }
.ticket-logo-block { display:flex; justify-content:center; margin-bottom:10px; min-height:54px; }
.ticket-logo { max-width:130px; max-height:54px; object-fit:contain; }
.ticket-business-name { text-align:center; font-size:30px; font-weight:700; margin-bottom:6px; }
.ticket-business-meta { text-align:center; color:#667581; line-height:1.55; font-size:14px; }
.ticket-divider { border-top:1px dashed #cfd7de; margin:18px 0; }
.ticket-meta-grid { display:grid; grid-template-columns:1fr; gap:10px; }
.ticket-meta-grid div { display:flex; justify-content:space-between; gap:16px; font-size:14px; }
.ticket-meta-grid span, .ticket-totals span { color:#6c7a86; }
.ticket-meta-grid strong, .ticket-totals strong, .ticket-payment-row strong { color:#22303b; }
.ticket-items { display:flex; flex-direction:column; gap:12px; }
.ticket-item-name { font-size:17px; font-weight:700; color:#1b2832; }
.ticket-item-line, .ticket-payment-row, .ticket-totals > div { display:flex; justify-content:space-between; gap:16px; }
.ticket-item-line { color:#4d5b67; font-size:14px; }
.ticket-promo { margin-top:4px; color:#c45d12; font-size:13px; }
.ticket-totals { display:flex; flex-direction:column; gap:10px; }
.ticket-grand-total { align-items:flex-end; padding-top:6px; }
.ticket-grand-total span { font-size:18px; color:#23313b; letter-spacing:.04em; }
.ticket-grand-total strong { font-size:32px; color:#ef5b0c; }
.ticket-payment-box { display:flex; flex-direction:column; gap:8px; }
.ticket-payment-title, .ticket-footer-title { text-align:center; font-size:18px; font-weight:700; color:#24313c; }
.ticket-payment-note { color:#6b7984; font-size:13px; text-align:center; line-height:1.5; }
.ticket-footer-note { text-align:center; color:#6f7c88; font-size:12px; line-height:1.55; }
@media(max-width:920px){
  .ticket-modal-body { grid-template-columns:1fr; }
  .ticket-side-actions { flex-direction:column; }
}
@media(max-width:680px){
  .ticket-logo-config { grid-template-columns:1fr; }
  .ticket-modal-backdrop { padding:12px; }
  .ticket-modal-header { padding:16px; }
  .ticket-modal-header h2 { font-size:22px; }
  .ticket-modal-body { padding:14px; }
  .ticket-paper { padding:20px; }
  .ticket-business-name { font-size:25px; }
  .ticket-grand-total strong { font-size:28px; }
}


/* V1.0.23 - Caja junto al Punto de Venta */
.cash-quick-menu { border-bottom:1px solid rgba(255,255,255,.06); }
.cash-shell { display:flex; flex-direction:column; gap:12px; }
.cash-tabs { display:flex; gap:8px; border-bottom:1px solid #dbe1e6; padding-bottom:10px; }
.cash-tab { min-height:40px; padding:0 18px; border:1px solid #cfd7de; border-radius:7px; background:#fff; color:#33414c; }
.cash-tab.active { border-color:#26333d; background:#26333d; color:#fff; }
.cash-open-badge,.cash-closed-badge { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:999px; font-size:11px; letter-spacing:.5px; }
.cash-open-badge { color:#287344; border:1px solid #a9d7b9; background:#f1fbf4; }
.cash-closed-badge { color:#7b4b38; border:1px solid #dfc4b8; background:#fff7f2; }
.cash-open-grid,.cash-live-summary,.cash-close-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.cash-open-grid>div,.cash-live-summary>div,.cash-close-summary>div { border:1px solid #dfe5ea; background:#fafbfc; border-radius:9px; padding:14px; min-width:0; }
.cash-open-grid span,.cash-live-summary span,.cash-close-summary span { display:block; color:#6e7b87; font-size:12px; margin-bottom:6px; }
.cash-open-grid strong,.cash-live-summary strong,.cash-close-summary strong { display:block; color:#1f2c36; font-size:18px; overflow-wrap:anywhere; }
.cash-close-summary .usd-metric { border-color:#f2c8aa; background:#fff9f5; }
.cash-close-summary .usd-metric strong { color:#d85b0e; }
.cash-rate-lock-note { margin:12px 0 16px; padding:11px 13px; border:1px solid #d9e0e5; border-radius:7px; background:#f6f8f9; color:#596873; font-size:12px; line-height:1.5; }
.cash-rate-input { display:grid; grid-template-columns:34px 1fr; align-items:center; border:1px solid #cfd7dd; border-radius:6px; overflow:hidden; background:#fff; }
.cash-rate-input span { display:flex; align-items:center; justify-content:center; height:42px; border-right:1px solid #d8dfe4; color:#687681; }
.cash-rate-input input { border:0 !important; border-radius:0 !important; }
.rate-locked { background:#f0f3f5 !important; color:#36444f !important; cursor:not-allowed; }
.cash-last-close { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; margin:16px 0; padding:14px; background:#f7f9fa; border:1px solid #dfe5ea; border-radius:8px; }
.cash-last-close span,.cash-last-close em { color:#6d7a85; font-size:12px; font-style:normal; }
.cash-last-close strong { color:#26333d; }
@media(max-width:980px){.cash-open-grid,.cash-live-summary,.cash-close-summary{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cash-open-grid,.cash-live-summary,.cash-close-summary{grid-template-columns:1fr}.cash-tabs{display:grid;grid-template-columns:1fr 1fr}.cash-last-close{grid-template-columns:1fr}}


/* V1.0.24 - Caja central simplificada y bloqueo de facturación */
.cash-focus-mode { background:#fff !important; padding:0 !important; min-height:calc(100vh - 70px); }
.cash-focus-mode .module-header { display:none !important; }
.cash-focus-mode .module-content { margin:0 !important; min-height:calc(100vh - 70px); }
.cash-center-shell { min-height:calc(100vh - 70px); background:#fff; display:flex; align-items:center; justify-content:center; padding:36px 22px; }
.cash-center-body { width:100%; display:flex; align-items:center; justify-content:center; }
.cash-center-card { width:min(520px,96vw); background:#fff; border:1px solid #dfe5ea; border-radius:16px; padding:34px 34px 30px; box-shadow:0 18px 48px rgba(24,36,46,.09); text-align:center; }
.cash-center-card h2 { margin:8px 0 6px; font-size:28px; color:#202a32; font-family:Arial,sans-serif; font-weight:600; }
.cash-center-subtitle { margin:0 0 24px; color:#6c7883; font-size:14px; line-height:1.5; }
.cash-center-icon { width:54px; height:54px; border-radius:50%; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; background:#eef7f1; border:1px solid #cfe5d6; color:#2c7b48; font-size:25px; font-family:Arial,sans-serif; }
.cash-icon-closed { background:#fff7f1; border-color:#f0d3bf; color:#df650f; }
.cash-opening-form { display:flex; flex-direction:column; gap:18px; text-align:left; }
.cash-big-field { display:flex; flex-direction:column; gap:7px; }
.cash-big-field>span { font-size:13px; color:#3d4a55; }
.cash-big-field small { font-size:11px; color:#7b8790; }
.cash-money-input { display:grid; grid-template-columns:48px 1fr; height:54px; border:1px solid #cbd4dc; border-radius:9px; overflow:hidden; background:#fff; transition:border-color .15s,box-shadow .15s; }
.cash-money-input:focus-within { border-color:#ef6a16; box-shadow:0 0 0 3px rgba(239,91,12,.10); }
.cash-money-input b { display:flex; align-items:center; justify-content:center; background:#f5f7f8; border-right:1px solid #d8dfe5; color:#55636e; font-size:18px; font-weight:400; }
.cash-money-input input { width:100%; border:0 !important; outline:0 !important; padding:0 14px; font-size:20px; color:#1f2a33; border-radius:0 !important; }
.cash-open-main-button { width:100%; min-height:50px; margin-top:2px; font-size:15px; }
.cash-simple-summary { display:grid; grid-template-columns:1fr; gap:10px; margin:20px 0; text-align:left; }
.cash-simple-summary>div { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 15px; border:1px solid #e0e6eb; border-radius:9px; background:#fafbfc; }
.cash-simple-summary span { color:#6d7984; font-size:13px; }
.cash-simple-summary strong { color:#202c35; font-size:17px; text-align:right; }
.cash-center-note { padding:12px 14px; border-radius:9px; background:#f6f8f9; color:#62707b; font-size:12px; line-height:1.55; text-align:left; }
.cash-center-actions { display:flex; gap:10px; justify-content:center; margin-top:20px; }
.cash-close-card { width:min(820px,96vw); }
.cash-close-card .cash-close-summary { text-align:left; }
@media(max-width:620px){
  .cash-center-shell { padding:18px 12px; align-items:flex-start; }
  .cash-center-card { padding:26px 20px; margin-top:20px; }
  .cash-center-card h2 { font-size:24px; }
  .cash-center-actions { flex-direction:column; }
  .cash-center-actions button { width:100%; }
}


/* V1.0.25 - Cierre de caja: conteo físico sin revelar esperado al cajero */
.cash-count-card { width:min(660px,96vw); }
.cash-count-title { margin:4px 0 16px; font-size:16px; color:#26343e; font-family:Arial,sans-serif; font-weight:400; text-align:left; }
.cash-count-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; text-align:left; }
.cash-auto-payments { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; text-align:left; }
.cash-auto-payments>div { border:1px solid #dfe5ea; background:#f8fafb; border-radius:10px; padding:15px; }
.cash-auto-payments span { display:block; color:#6d7a85; font-size:12px; margin-bottom:6px; }
.cash-auto-payments strong { display:block; color:#26343e; font-size:20px; font-family:Arial,sans-serif; font-weight:400; }
.cash-auto-payments small { display:block; margin-top:5px; color:#82909b; font-size:11px; }
.cash-private-note { margin-top:18px; }
@media(max-width:620px){.cash-count-grid,.cash-auto-payments{grid-template-columns:1fr}}

/* V1.0.26 - resultado de cierre de caja + correo PDF */
.cash-close-result-card { width:min(620px,96vw); }
.cash-result-warning { background:#fff2ee; border-color:#f1c0b1; color:#c13d26; }
.cash-result-ok { background:#eef7f1; border-color:#cfe5d6; color:#2c7b48; }
.cash-shortage-result { margin:18px auto 22px; max-width:420px; border-radius:14px; padding:20px 22px; text-align:center; border:1px solid #dfe5ea; background:#f8fafb; }
.cash-shortage-result span { display:block; color:#64727d; font-size:13px; margin-bottom:7px; }
.cash-shortage-result strong { display:block; font-family:Arial,sans-serif; font-weight:500; font-size:34px; line-height:1.15; }
.cash-shortage-result small { display:block; margin-top:7px; color:#778590; font-size:12px; }
.cash-shortage-result.has-shortage { border-color:#efb7a7; background:#fff6f2; }
.cash-shortage-result.has-shortage strong { color:#c84226; }
.cash-shortage-result.no-shortage { border-color:#cfe5d6; background:#f4faf6; }
.cash-shortage-result.no-shortage strong { color:#2b7a48; }
.cash-close-email-box { margin-top:18px; border:1px solid #dfe5ea; border-radius:12px; background:#fff; padding:18px; text-align:left; }
.cash-close-email-box>span { display:block; color:#6d7a85; font-size:12px; margin-bottom:5px; }
.cash-close-email-box>strong { display:block; color:#25313a; font-size:16px; overflow-wrap:anywhere; margin-bottom:7px; }
.cash-close-email-box>small { display:block; color:#778590; font-size:12px; line-height:1.5; margin-bottom:14px; }
.cash-close-email-box .primary-action { width:100%; }
.cash-close-email-box .form-message { margin-top:10px; }

/* POS V1.0.27 */
.pos-workspace-modern { grid-template-columns: minmax(0, 1fr) 320px; }
.sale-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; }
.sale-toolbar .search-wrap { margin-bottom:0; }
.held-inline-button { min-width: 170px; }
.pos-list-card { height: calc(100vh - 190px); min-height: 520px; }
.action-col-wide { width: 88px; }
.pos-summary-panel { background:#f8fafc; border-left:1px solid var(--line); padding:22px 18px; display:flex; flex-direction:column; }
.pos-total-box { margin-bottom:16px; }
.pos-summary-copy { color:#637180; font-size:14px; line-height:1.45; padding:2px 2px 14px; }
.held-side-button { width:100%; margin-bottom:18px; }
.pos-footer-actions { margin-top:auto; display:grid; gap:10px; }
.pos-main-action { min-height:56px; font-size:18px; }
.line-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.line-edit-btn { width:34px; height:34px; border:1px solid #d0d7de; border-radius:8px; background:#fff; color:#34404a; font-size:18px; }
.line-edit-btn:hover { border-color: var(--orange); color: var(--orange); }
.cart-qty-input { width:70px; height:42px; border:1px solid #cfd7de; border-radius:8px; text-align:center; font-size:18px; background:#fff; }
.sale-table td.qty-editable { text-align:center; }
.spm-overlay-modal { position:fixed; inset:0; z-index:10020; background:rgba(13,20,28,.55); display:flex; align-items:center; justify-content:center; padding:20px; }
.hold-modal-window, .line-modal-window, .pay-modal-window { width:min(760px,100%); background:#fff; border-radius:18px; box-shadow:0 30px 70px rgba(0,0,0,.26); overflow:hidden; }
.pay-modal-window { width:min(860px,100%); }
.hold-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px 22px 14px; border-bottom:1px solid #e2e7ec; }
.hold-modal-header h3 { margin:0 0 4px; font-size:28px; }
.hold-modal-header p { margin:0; color:#667584; }
.hold-modal-body, .line-modal-body, .pay-modal-body { padding:20px 22px 22px; }
.hold-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid #edf1f4; }
.hold-row small { display:block; color:#728092; margin-top:4px; }
.hold-actions { display:flex; gap:8px; flex-wrap:wrap; }
.empty-hold-state { padding:26px 4px; color:#728092; }
.line-modal-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.line-modal-body .field:first-child, .line-modal-actions { grid-column:1 / -1; }
.line-modal-actions { display:flex; gap:10px; justify-content:flex-end; padding-top:6px; }
.pay-modal-total-box { margin:18px 22px 14px; border:1px solid #e7ecef; border-radius:14px; background:linear-gradient(135deg,#fff,#f7fafc); padding:16px 18px; display:flex; justify-content:space-between; align-items:center; }
.pay-modal-total-box span { color:#52606d; font-weight:700; font-size:16px; }
.pay-modal-total-box strong { color:var(--orange); font-size:36px; }
.pay-method-grid { padding:0 22px; display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.pay-method-chip, .currency-chip { min-height:46px; border:1px solid #d0d8df; background:#fff; border-radius:10px; color:#2c3943; }
.pay-method-chip.active, .currency-chip.active { background:linear-gradient(180deg,var(--orange2),var(--orange)); border-color:var(--orange); color:#fff; }
.pay-currency-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px; }
.pay-section { display:grid; gap:14px; }
.pay-two-col, .pay-three-col { display:grid; gap:12px; }
.pay-two-col { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pay-three-col { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pay-metric { border:1px solid #e0e6eb; border-radius:12px; background:#f8fafc; padding:14px 16px; }
.pay-metric span { display:block; color:#637282; font-size:13px; margin-bottom:4px; }
.pay-metric strong { font-size:26px; color:#24313b; }
.pay-metric.large strong { font-size:32px; color:var(--orange); }
.pay-note { color:#6a7886; font-size:13px; }
.pay-modal-actions { display:flex; justify-content:flex-end; gap:10px; padding:0 22px 22px; }
.ticket-side-actions { display:grid; gap:10px; }
@media (max-width: 1180px) {
  .pos-workspace-modern { grid-template-columns:1fr; }
  .pos-summary-panel { border-left:0; border-top:1px solid var(--line); }
  .pos-footer-actions { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:16px; }
}
@media (max-width: 760px) {
  .sale-toolbar { grid-template-columns:1fr; }
  .pay-method-grid, .pay-three-col, .line-modal-body, .pay-two-col, .pos-footer-actions { grid-template-columns:1fr; }
  .hold-row { flex-direction:column; align-items:flex-start; }
  .pay-modal-total-box { flex-direction:column; align-items:flex-start; gap:8px; }
}

/* V1.0.29 - confirmar e imprimir ticket */
#confirmPayModal { min-width: 210px; }
.pay-print-status { flex: 1 1 100%; margin: 0 22px; padding-top: 6px; }


/* V1.0.30 compact payment modal + quick shortcuts */
.shortcut-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:4px 8px;border-radius:10px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);font-size:12px;font-weight:700;letter-spacing:.2px;}
.pos-main-action{display:flex;align-items:center;justify-content:center;gap:10px;}
.pos-main-action.secondary-action .shortcut-badge,.pos-main-action.danger-action .shortcut-badge{background:rgba(36,49,60,.06);border-color:rgba(36,49,60,.16);color:#42515d;}
.compact-payment-window{width:min(650px,100%);}
.compact-payment-window .hold-modal-header{padding:16px 18px 10px;}
.compact-payment-window .hold-modal-header h3{font-size:22px;}
.compact-payment-window .hold-modal-header p{font-size:14px;}
.compact-payment-window .pay-modal-total-box{margin:14px 18px 10px;padding:12px 16px;}
.compact-payment-window .pay-modal-total-box strong{font-size:30px;}
.compact-payment-window .pay-method-grid{padding:0 18px 10px;gap:8px;}
.compact-payment-window .pay-method-chip{padding:11px 10px;font-size:14px;}
.compact-payment-window .pay-modal-body{padding:8px 18px 6px;}
.compact-payment-window .pay-section{padding:0;}
.compact-payment-window .pay-currency-tabs{margin-bottom:10px;}
.compact-payment-window .field input,.compact-payment-window .field select{min-height:38px;}
.compact-payment-window .pay-metric{min-height:76px;padding:14px 16px;}
.compact-payment-window .pay-note{font-size:14px;margin-top:10px;}
.pay-modal-actions.compact{padding:12px 18px 18px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.light-action{background:#eef2f5;border-color:#d6dde3;color:#44515c;}
.light-action:hover{background:#e5ebf0;}
.quick-email-modal{width:min(560px,100%);background:#fff;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.26);overflow:hidden;}
.quick-email-body{padding:14px 18px 8px;}
.quick-email-body .field{margin:0;}
.quick-email-body .form-message{margin-top:12px;}


/* V1.0.33 - ticket termico blanco y negro */
.thermal-ticket{background:#fff!important;color:#000!important;font-family:Arial,sans-serif!important;border:1px solid #d7d7d7!important;box-shadow:none!important;border-radius:4px!important;padding:18px!important;}
.thermal-ticket *{color:#000!important;}
.thermal-logo-block{min-height:0!important;margin-bottom:8px!important;}
.thermal-logo{max-width:115px!important;max-height:52px!important;object-fit:contain!important;filter:none!important;}
.thermal-business-name{text-align:center;font-size:18px;font-weight:700;line-height:1.2;margin:2px 0 4px;}
.thermal-business-meta{text-align:center;font-size:11px;line-height:1.4;}
.thermal-separator{border-top:1px dashed #000;margin:10px 0;}
.thermal-separator.compact{margin:5px 0 8px;}
.thermal-pair{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:11px;line-height:1.35;margin:2px 0;}
.thermal-pair strong{text-align:right;}
.thermal-columns{display:grid;grid-template-columns:52px minmax(0,1fr) 82px;gap:5px;font-size:10px;font-weight:700;}
.thermal-columns span:last-child{text-align:right;}
.thermal-ticket-item{margin:0 0 7px;}
.thermal-ticket-line{display:grid;grid-template-columns:52px minmax(0,1fr) 82px;gap:5px;align-items:start;font-size:11px;line-height:1.3;}
.thermal-qty{white-space:nowrap;}.thermal-desc{font-weight:700;}.thermal-total{text-align:right;white-space:nowrap;}
.thermal-unit{font-size:9.5px;margin-left:57px;margin-top:2px;}.thermal-promo{font-size:9.5px;margin-left:57px;margin-top:2px;}
.thermal-grand{font-size:12px;font-weight:700;}.thermal-section-title{font-size:10px;font-weight:700;margin-bottom:4px;}
.thermal-note{font-size:9.5px;line-height:1.35;margin-top:4px;}.thermal-footer-main{text-align:center;font-size:11px;font-weight:700;margin-top:2px;}.thermal-footer-note{text-align:center;font-size:9px;line-height:1.35;margin-top:6px;}
.ticket-58.thermal-ticket{max-width:320px!important;padding:14px!important;}.ticket-58 .thermal-columns,.ticket-58 .thermal-ticket-line{grid-template-columns:42px minmax(0,1fr) 64px;}.ticket-58 .thermal-unit,.ticket-58 .thermal-promo{margin-left:47px;}.ticket-58 .thermal-business-name{font-size:16px;}


/* V1.0.34 - Multi Caja */
.multi-box-explainer{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;}
.multi-box-explainer>div{border:1px solid #dde4ea;border-radius:10px;background:#f8fafc;padding:14px 16px;}
.multi-box-explainer strong{display:block;margin-bottom:5px;color:#24313b;}
.multi-box-explainer span{display:block;color:#687785;font-size:13px;line-height:1.45;}
.multi-box-boxes{margin-top:18px;border-top:1px solid #e1e6ea;padding-top:14px;}
.multi-box-list-title{font-size:14px;font-weight:700;margin-bottom:8px;color:#34414c;}
.multi-box-row{display:grid;grid-template-columns:1fr 120px 1.4fr;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e4e9ed;border-radius:8px;margin-bottom:7px;background:#fff;}
.multi-box-row span{font-size:12px;color:#73808c;}
.multi-box-row em{font-size:12px;color:#596875;font-style:normal;text-align:right;}
@media(max-width:760px){.multi-box-explainer{grid-template-columns:1fr}.multi-box-row{grid-template-columns:1fr}.multi-box-row em{text-align:left}}

/* V1.0.35 - Balanza / venta por peso */
.scale-modal-backdrop { z-index: 10040; }
.scale-modal-window { width:min(620px,100%); background:#fff; border-radius:18px; box-shadow:0 30px 70px rgba(0,0,0,.26); overflow:hidden; }
.scale-modal-body { padding:18px 20px 20px; }
.scale-mode-badge { display:inline-flex; align-items:center; min-height:30px; padding:0 10px; border-radius:999px; background:#f2f5f7; border:1px solid #dce3e8; color:#4b5965; font-size:12px; margin-bottom:14px; }
.scale-weight-entry { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:12px; align-items:end; }
.scale-weight-entry input { font-size:30px; min-height:58px; font-variant-numeric:tabular-nums; }
.scale-unit-field select { min-height:58px; }
.scale-sale-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:14px 0; }
.scale-sale-summary > div { border:1px solid #e0e6eb; background:#f8fafc; border-radius:12px; padding:12px 14px; }
.scale-sale-summary span { display:block; color:#6a7783; font-size:12px; margin-bottom:5px; }
.scale-sale-summary strong { display:block; color:#26343f; font-size:20px; }
.scale-sale-summary .scale-total strong { color:var(--orange); font-size:25px; }
.scale-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:14px; flex-wrap:wrap; }
.scale-config-separator { border-top:1px solid #e7ecef; margin:18px 0; }
.scale-help-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.scale-help-grid > div { border:1px solid #e1e7ec; border-radius:10px; background:#f8fafc; padding:12px 14px; }
.scale-help-grid strong { display:block; margin-bottom:4px; color:#293741; }
.scale-help-grid span { display:block; color:#6b7884; font-size:12px; line-height:1.45; }
@media(max-width:680px){
  .scale-weight-entry,.scale-sale-summary,.scale-help-grid{grid-template-columns:1fr;}
}


/* V1.0.36 - SINPE origen opcional y registro de ventas */
.sinpe-origin-field{margin-top:2px;}
.sinpe-origin-field input{min-height:42px;font-size:16px;}
.sales-register-filters{display:grid;grid-template-columns:180px 180px minmax(260px,1fr);gap:12px;margin:16px 0;}
.sales-register-table td,.sales-register-table th{white-space:nowrap;}
.sales-register-table td:nth-child(5){font-variant-numeric:tabular-nums;}
.compact-placeholder{min-height:180px;}
@media(max-width:760px){.sales-register-filters{grid-template-columns:1fr;}.sales-register-table{min-width:820px;}}


/* V1.0.38 - Smart APP Premium + LIA */
.smart-app-premium{margin:10px 8px 12px!important;border:1px solid rgba(255,178,77,.58)!important;border-radius:12px!important;background:linear-gradient(135deg,#2d3339,#161c21)!important;box-shadow:0 8px 20px rgba(0,0,0,.18);display:grid!important;grid-template-columns:28px 1fr auto!important;align-items:center!important;gap:8px!important;color:#fff!important;padding:12px 12px!important;}
.smart-app-premium:hover,.smart-app-premium.active{background:linear-gradient(135deg,#373d43,#1d242a)!important;border-color:#eaa352!important;}
.smart-app-premium .smart-app-crown{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e9a04a;color:#171c20;font-size:15px;}
.smart-app-premium>span:nth-child(2){font-size:15px;letter-spacing:.2px;text-align:left;}
.smart-app-premium small{font-size:9px;letter-spacing:1.1px;color:#f4c585;border:1px solid rgba(244,197,133,.4);border-radius:999px;padding:3px 6px;}
.smart-app-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid #d8dee4;border-radius:16px;background:linear-gradient(135deg,#ffffff,#f5f7f8);margin-bottom:18px;}
.smart-app-hero h2{margin:5px 0 8px;font-size:30px;color:#1f2a33;}
.smart-app-hero p{margin:0;color:#667481;max-width:760px;line-height:1.55;}
.smart-app-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#c96a19;}
.smart-app-premium-seal{width:92px;height:92px;border-radius:24px;border:1px solid #d8dee4;background:#20282f;color:#f0b363;display:grid;place-items:center;font-size:29px;flex:0 0 auto;}
.smart-app-premium-seal span{display:block;font-size:9px;letter-spacing:1.4px;color:#fff;margin-top:-24px;}
.smart-app-service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;}
.smart-app-service-card{min-width:0;display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #d8dee4;background:#fff;border-radius:12px;text-align:left;color:#27343e;}
.smart-app-service-card.active{border-color:#d4863b;background:#fff8f1;box-shadow:inset 0 0 0 1px rgba(212,134,59,.12);}
.smart-app-service-icon{width:38px;height:38px;border-radius:10px;background:#222b32;color:#fff;display:grid;place-items:center;font-size:11px;letter-spacing:.5px;flex:0 0 auto;}
.smart-app-service-card.active .smart-app-service-icon{background:#d97923;}
.smart-app-service-card strong,.smart-app-service-card small{display:block;}
.smart-app-service-card strong{font-size:14px;margin-bottom:3px;}.smart-app-service-card small{font-size:11px;color:#788591;line-height:1.25;}
.lia-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;min-height:540px;}
.lia-side,.lia-chat-panel,.smart-service-detail{border:1px solid #d8dee4;background:#fff;border-radius:14px;}
.lia-side{padding:22px;display:flex;flex-direction:column;align-items:flex-start;}
.lia-side h3{font-size:25px;margin:12px 0 6px}.lia-side p{color:#6c7985;line-height:1.5;margin:0 0 14px;}
.lia-orb{width:64px;height:64px;border-radius:20px;background:linear-gradient(145deg,#272f36,#12171b);color:#f1ad61;display:grid;place-items:center;font-weight:700;letter-spacing:1px;border:1px solid #3d464d;}.lia-orb.small{width:52px;height:52px;border-radius:16px;margin:auto;}
.lia-status{font-size:12px;padding:7px 9px;border-radius:8px;background:#f4f6f8;color:#65727e;margin-bottom:14px;}.lia-status.ok{background:#edf8f0;color:#287242}.lia-status.warn{background:#fff5e8;color:#9a5b1a;}
.lia-side-note{font-size:12px;color:#7a8792;line-height:1.45;margin-bottom:auto;padding:12px 0 18px;}
.lia-chat-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.lia-messages{padding:22px;min-height:410px;max-height:560px;overflow:auto;background:#fafbfc;}
.lia-welcome{text-align:center;max-width:560px;margin:70px auto 0;color:#62717d}.lia-welcome h3{font-size:25px;color:#24313a;margin:13px 0 7px}.lia-welcome p{line-height:1.55;}
.lia-message{display:flex;gap:10px;max-width:820px;margin:0 0 15px}.lia-message.lia-user{margin-left:auto;flex-direction:row-reverse}.lia-message-avatar{width:36px;height:36px;border-radius:10px;background:#283139;color:#fff;display:grid;place-items:center;font-size:10px;flex:0 0 auto}.lia-user .lia-message-avatar{background:#d87520}.lia-message-body{background:#fff;border:1px solid #dde3e8;border-radius:12px;padding:10px 12px;min-width:0}.lia-user .lia-message-body{background:#fff6ed;border-color:#f0d2b8}.lia-message-who{font-size:10px;font-weight:700;color:#73808b;margin-bottom:5px;text-transform:uppercase;letter-spacing:.6px}.lia-message-text{line-height:1.55;color:#27343e;font-size:14px;overflow-wrap:anywhere;}
.lia-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border-top:1px solid #e0e5e9;background:#fff}.lia-composer textarea{resize:none;border:1px solid #cfd7de;border-radius:10px;padding:11px 12px;font:inherit;min-height:50px;outline:none}.lia-composer textarea:focus{border-color:#d67924;box-shadow:0 0 0 3px rgba(214,121,36,.11)}.lia-composer button{min-width:95px;}
.smart-service-detail{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;padding:28px}.smart-service-detail h2{font-size:28px;margin:6px 0 8px}.smart-service-detail p{color:#667481;line-height:1.55}.smart-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.smart-service-list div{border:1px solid #e1e6ea;background:#f8fafb;border-radius:10px;padding:12px;color:#34424d}.smart-service-list span{color:#c96a19;margin-right:8px}.smart-service-side{border-left:1px solid #e0e5e9;padding-left:20px}.smart-service-side strong{font-size:17px}.smart-service-side p{font-size:13px;}
.lia-tech-card{grid-column:1 / -1;}
@media(max-width:1100px){.smart-app-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lia-shell{grid-template-columns:1fr}.lia-side{min-height:auto}.smart-service-detail{grid-template-columns:1fr}.smart-service-side{border-left:0;border-top:1px solid #e0e5e9;padding:18px 0 0}.smart-service-list{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.smart-app-hero{padding:20px;align-items:flex-start}.smart-app-premium-seal{width:68px;height:68px}.smart-app-service-grid{grid-template-columns:1fr}.lia-composer{grid-template-columns:1fr}.lia-composer button{width:100%}.smart-service-list{grid-template-columns:1fr}}


/* V1.0.39 - LIA flotante */
.lia-fab-backdrop{position:fixed;inset:0;background:rgba(6,11,18,.28);backdrop-filter:blur(1.5px);z-index:1198;}
.lia-fab-button{position:fixed;right:20px;bottom:18px;z-index:1200;display:flex;align-items:center;gap:12px;border:0;border-radius:18px;padding:10px 16px 10px 12px;background:linear-gradient(135deg,#4d2cff 0%,#9658ff 100%);box-shadow:0 14px 28px rgba(67,35,160,.32);color:#fff;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease;}
.lia-fab-button:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(67,35,160,.38);}
.lia-fab-button:focus-visible{outline:3px solid rgba(255,255,255,.38);outline-offset:2px;}
.lia-fab-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);flex:0 0 auto;}
.lia-fab-avatar-core,.lia-fab-header-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#5b37eb;font-size:18px;box-shadow:0 3px 10px rgba(56,29,141,.18);}
.lia-fab-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;}
.lia-fab-copy strong{font-size:16px;font-weight:700;letter-spacing:.2px;}
.lia-fab-copy small{font-size:12px;opacity:.92;}
.lia-fab-panel{position:fixed;right:20px;bottom:82px;z-index:1199;width:min(420px,calc(100vw - 24px));height:min(620px,calc(100vh - 120px));display:flex;flex-direction:column;background:#fff;border:1px solid #dce3e8;border-radius:22px;box-shadow:0 26px 60px rgba(14,25,37,.24);overflow:hidden;}
.lia-fab-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#4d2cff 0%,#9658ff 100%);color:#fff;}
.lia-fab-header-main{display:flex;align-items:center;gap:12px;min-width:0;}
.lia-fab-header-main strong{display:block;font-size:17px;line-height:1.1;}
.lia-fab-header-main small{display:block;font-size:12px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;}
.lia-fab-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.12);color:#fff;font-size:24px;line-height:1;cursor:pointer;}
.lia-fab-status{margin:12px 14px 0;padding:8px 10px;border-radius:10px;background:#f5f7fa;color:#65727e;font-size:12px;}
.lia-fab-status.ok{background:#edf8f0;color:#287242;}
.lia-fab-status.warn{background:#fff5e8;color:#9a5b1a;}
.lia-fab-messages{flex:1;overflow:auto;padding:16px 14px 14px;background:#fafbfc;}
.lia-fab-welcome{background:linear-gradient(180deg,#f7f4ff 0%,#fff 100%);border:1px solid #e4dcff;border-radius:18px;padding:16px;text-align:left;color:#24313a;max-width:96%;margin:8px auto 16px;}
.lia-fab-welcome .lia-fab-welcome-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.lia-fab-welcome .lia-fab-welcome-top h3{font-size:20px;margin:0 0 2px;}
.lia-fab-welcome .lia-fab-welcome-top p{margin:0;color:#6a7884;font-size:12px;}
.lia-fab-welcome strong{color:#5a38e8;}
.lia-fab-welcome ul{margin:10px 0 0 18px;padding:0;color:#55636f;font-size:13px;line-height:1.45;}
.lia-fab-composer{padding:12px 14px 14px;border-top:1px solid #e2e7eb;background:#fff;}
.lia-fab-composer textarea{width:100%;resize:none;border:1px solid #cfd7de;border-radius:12px;padding:11px 12px;font:inherit;min-height:58px;outline:none;}
.lia-fab-composer textarea:focus{border-color:#7852ff;box-shadow:0 0 0 3px rgba(120,82,255,.12);}
.lia-fab-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px;}
.lia-fab-actions .compact{min-height:40px;padding:0 14px;}
@media(max-width:900px){.lia-fab-panel{right:12px;bottom:76px;width:calc(100vw - 24px);height:min(74vh,620px)}.lia-fab-button{right:12px;bottom:12px}}


/* V1.0.40 - LIA acoplable a la derecha */
.lia-fab-button{right:-8px;bottom:auto;top:58%;transform:translateY(-50%);border-radius:18px 0 0 18px;padding:10px 12px 10px 12px;min-width:138px;}
.lia-fab-button:hover{transform:translateY(-50%) translateX(-4px);}
.lia-fab-panel{right:16px;bottom:auto;top:88px;height:min(560px,calc(100vh - 136px));width:min(430px,calc(100vw - 34px));}
.lia-fab-header-actions{display:flex;align-items:center;gap:8px;}
.lia-fab-min{font-size:20px;line-height:1;padding-bottom:6px;}
@media(max-width:900px){.lia-fab-button{top:auto;bottom:18px;right:12px;transform:none;border-radius:18px;min-width:unset;padding-right:14px}.lia-fab-button:hover{transform:translateY(-2px)}.lia-fab-panel{right:12px;top:72px;height:min(72vh,560px);width:calc(100vw - 24px)}}


/* V1.0.41 - Smart APP Premium + Smart Office */
.smart-app-mini-nav{display:grid;gap:8px;margin:0 8px 14px;}
.smart-app-mini-item{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:8px 10px;border-radius:12px;border:1px solid #2a3238;background:linear-gradient(180deg,#161d24 0%,#10161b 100%);color:#edf2f7;text-align:left;cursor:pointer;}
.smart-app-mini-item:hover,.smart-app-mini-item.active{border-color:#d98a3b;background:linear-gradient(180deg,#202931 0%,#151d23 100%);box-shadow:inset 0 0 0 1px rgba(217,138,59,.14);}
.smart-app-mini-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#6c46ff 0%,#9a63ff 100%);font-size:15px;}
.smart-app-mini-copy strong,.smart-app-mini-copy small{display:block;}
.smart-app-mini-copy strong{font-size:13px;color:#fff;line-height:1.1;}
.smart-app-mini-copy small{font-size:11px;color:#b6c2cd;line-height:1.1;margin-top:2px;}
.smart-app-mini-badge{font-size:10px;letter-spacing:.8px;border-radius:999px;background:rgba(52,168,83,.18);color:#8be39f;border:1px solid rgba(74,179,101,.28);padding:4px 8px;}
.smart-app-shell-v2{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start;}
.smart-app-service-rail,.smart-app-canvas{border:1px solid #d8dee4;border-radius:16px;background:#fff;}
.smart-app-service-rail{padding:14px;display:grid;gap:10px;}
.smart-app-rail-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 12px;border-radius:14px;border:1px solid #e2e7eb;background:#f8fafb;text-align:left;color:#24313a;cursor:pointer;}
.smart-app-rail-item.active{border-color:#d4863b;background:linear-gradient(90deg,#fff8ef 0%,#ffffff 100%);box-shadow:inset 0 0 0 1px rgba(212,134,59,.12);}
.smart-app-rail-copy strong,.smart-app-rail-copy small{display:block;}
.smart-app-rail-copy strong{font-size:14px;line-height:1.1;margin-bottom:3px;}
.smart-app-rail-copy small{font-size:11px;color:#70808d;line-height:1.25;}
.smart-app-badge-active{font-size:10px;letter-spacing:.8px;border-radius:999px;background:#eaf7ee;color:#2b7a45;border:1px solid #cbe9d4;padding:4px 8px;}
.rail-icon{font-size:14px;}
.smart-app-canvas{padding:18px;min-height:620px;}
.smart-office-shell{display:grid;gap:16px;}
.smart-office-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 2px 2px;}
.smart-office-toolbar h2{margin:6px 0 8px;font-size:28px;color:#1f2a33;}
.smart-office-toolbar p{margin:0;max-width:860px;color:#667481;line-height:1.55;}
.office-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.office-kpi-grid.secondary,.office-kpi-grid.tertiary{grid-template-columns:repeat(4,minmax(0,1fr));}
.office-kpi-card{border:1px solid #dde4ea;border-radius:14px;background:#fff;padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;min-width:0;}
.office-kpi-card.accent{background:linear-gradient(135deg,#fff8ef 0%,#fff 100%);border-color:#e8c9a5;}
.office-kpi-card span{font-size:12px;font-weight:700;letter-spacing:.3px;color:#6c7a87;text-transform:uppercase;}
.office-kpi-card strong{font-size:30px;line-height:1.08;color:#222e38;}
.office-kpi-card small{font-size:12px;color:#7b8894;line-height:1.35;}
.office-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.office-panel{border:1px solid #dde4ea;border-radius:16px;background:#fff;padding:18px;min-width:0;}
.office-panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:14px;}
.office-panel-head h3{margin:0;font-size:20px;color:#1f2a33;}
.office-panel-head span{font-size:12px;color:#7b8894;}
.office-highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.office-highlight-grid article{border:1px solid #e5eaef;background:#f8fafb;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:5px;min-width:0;}
.office-highlight-grid article span{font-size:11px;color:#6d7b87;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.office-highlight-grid article strong{font-size:18px;color:#24313a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.office-highlight-grid article small{font-size:12px;color:#7b8894;line-height:1.35;}
.office-list{display:grid;gap:10px;}
.office-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e5eaef;background:#fafbfd;border-radius:12px;padding:12px 14px;}
.office-list span{font-size:14px;color:#2c3943;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.office-list strong{font-size:15px;color:#24313a;}
.office-list small{grid-column:1 / -1;font-size:12px;color:#7b8894;margin-top:-4px;}
.office-empty{padding:22px;border:1px dashed #d6dde4;border-radius:12px;text-align:center;color:#7b8894;background:#fafbfd;}
@media(max-width:1220px){.smart-app-shell-v2{grid-template-columns:1fr}.smart-app-canvas{min-height:unset}.office-kpi-grid,.office-kpi-grid.secondary,.office-kpi-grid.tertiary{grid-template-columns:repeat(2,minmax(0,1fr))}.office-insight-grid{grid-template-columns:1fr}.office-highlight-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:720px){.smart-office-toolbar{flex-direction:column}.office-kpi-grid,.office-kpi-grid.secondary,.office-kpi-grid.tertiary,.office-highlight-grid{grid-template-columns:1fr}.smart-app-rail-item,.smart-app-mini-item{grid-template-columns:40px minmax(0,1fr)}.smart-app-badge-active,.smart-app-mini-badge{grid-column:2;justify-self:start}}


/* V1.0.43 - LIA Smart Fast Engine V2 */
.lia-robot-icon{width:100%;height:100%;object-fit:cover;display:block;}
.lia-fab-avatar,.lia-fab-header-avatar{overflow:hidden;background:#fff;}
.lia-fab-alert-count{position:absolute;right:-4px;top:-6px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#d74c63;color:#fff;font-size:10px;font-style:normal;display:grid;place-items:center;border:2px solid #fff;}
.lia-fast-header{min-height:72px;}
.lia-fast-title{display:grid;min-width:0;}
.lia-fast-title strong{font-size:18px;line-height:1.05;}
.lia-fast-title span{font-size:10px;font-weight:600;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;}
.lia-fast-title small{font-size:9px;opacity:.86;margin-top:4px;}
.lia-fast-icon-btn{font-size:16px!important;}
.lia-fast-icon-btn.active{background:#fff!important;color:#7148dd!important;}
.lia-fast-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ded8ee;background:#faf8ff;}
.lia-fast-tabs button{border:0;background:transparent;padding:10px;color:#726c7e;font-size:11px;cursor:pointer;}
.lia-fast-tabs button.active{color:#7248e6;font-weight:600;border-bottom:2px solid #8353e9;}
.lia-fast-tabs span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:999px;background:#efe8ff;color:#7446df;font-size:9px;}
.lia-fast-tab{display:none;min-height:0;flex:1;}
.lia-fast-tab.active{display:flex;flex-direction:column;}
.lia-fab-panel{height:min(640px,calc(100vh - 110px));}
.lia-fab-status{margin:8px 10px 0;}
.lia-fab-messages{padding:10px 12px 8px;background:linear-gradient(180deg,#fff,#fbfaff);}
.lia-fast-message-row{display:flex;margin:6px 0;}
.lia-fast-message-row.user{justify-content:flex-end;}
.lia-fast-message{position:relative;max-width:86%;padding:10px 11px;border-radius:14px;font-size:12px;line-height:1.45;background:#f1ecfb;border:1px solid #ddd2f2;color:#3c3447;border-bottom-left-radius:5px;}
.lia-fast-message-row.user .lia-fast-message{background:linear-gradient(135deg,#794ce6,#9a61f0);color:#fff;border-color:#8c58ea;border-bottom-right-radius:5px;border-bottom-left-radius:14px;}
.lia-fast-listen{border:0;background:transparent;color:#8263c0;cursor:pointer;float:right;margin-left:8px;font-size:12px;opacity:.75;}
.lia-fast-chips{display:flex;gap:6px;overflow:auto;padding:7px 10px;border-top:1px solid #eee9f6;background:#fff;scrollbar-width:thin;}
.lia-fast-chips button{white-space:nowrap;border:1px solid #d9cef1;background:#fff;color:#7558b4;border-radius:999px;padding:7px 9px;font-size:9px;cursor:pointer;}
.lia-fast-chips button:hover{background:#f4efff;}
.lia-fast-chips .lia-fast-action-chip{background:#f1ebff;border-color:#bda6ee;color:#6842bf;font-weight:600;}
.lia-fast-form{display:grid;grid-template-columns:1fr 42px 42px;gap:7px;padding:10px;border-top:1px solid #ece6f4;background:#fff;}
.lia-fast-form input{width:100%;background:#fff;border:1px solid #d9d1e4;color:#342d3e;border-radius:12px;padding:12px 13px;outline:none;}
.lia-fast-form input:focus{border-color:#8c5fec;box-shadow:0 0 0 3px rgba(140,95,236,.10);}
.lia-fast-form button{border:0;border-radius:12px;cursor:pointer;}
.lia-fast-mic{border:1px solid #d9d1e4!important;background:#f8f5ff!important;color:#764ce1!important;font-size:18px;}
.lia-fast-mic.listening{background:#7b4ce7!important;color:#fff!important;box-shadow:0 0 0 4px rgba(123,76,231,.14);animation:liaFastPulse 1s infinite;}
.lia-fast-send{background:linear-gradient(135deg,#7849e6,#985ff0);color:#fff;font-size:17px;}
.lia-fast-disclaimer{display:block;padding:0 12px 10px;color:#9a93a4;font-size:8px;background:#fff;}
.lia-fast-voice-status{margin:7px 10px 0;padding:8px 10px;border-radius:9px;background:#f2ecff;color:#6f49c8;border:1px solid #ded2f6;font-size:10px;text-align:center;}
.lia-fast-alert-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #ebe5f3;color:#71677e;font-size:11px;}
.lia-fast-alert-list{padding:10px;overflow:auto;display:grid;gap:8px;background:#fbfaff;}
.lia-fast-alert{background:#fff;border:1px solid #e1daea;border-radius:12px;padding:11px;display:grid;gap:8px;color:#302a37;}
.lia-fast-alert.expired{border-color:#efc4ca;background:#fff7f8;}.lia-fast-alert.critical{border-color:#f0d2a9;background:#fffaf3;}.lia-fast-alert.read{opacity:.68;}
.lia-fast-alert>div:first-child strong,.lia-fast-alert>div:first-child small{display:block;}.lia-fast-alert>div:first-child small{font-size:10px;color:#81788c;margin-top:3px;}
.lia-fast-alert-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:10px;color:#81788c;}.lia-fast-alert-meta>strong{grid-column:1/-1;color:#51475b;}
.lia-fast-alert-actions{display:flex;gap:6px;}.lia-fast-alert-actions button{border:1px solid #d9cef1;background:#fff;border-radius:8px;padding:6px 8px;font-size:9px;color:#6c55a0;cursor:pointer;}
.lia-fast-alert-empty{padding:18px;text-align:center;color:#6d7b86;border:1px dashed #ddd4eb;border-radius:11px;background:#fff;}
.lia-app-page-fast{display:grid;gap:14px;}.lia-app-fast-hero{display:grid;grid-template-columns:120px minmax(0,1fr) 260px;gap:20px;align-items:center;}.lia-app-fast-robot{width:110px;height:110px;border-radius:26px;overflow:hidden;border:1px solid #ded5f5;background:#fff;box-shadow:0 12px 28px rgba(103,63,194,.12);}.lia-app-fast-robot img{width:100%;height:100%;object-fit:cover;}.lia-app-fast-copy h2{font-size:28px;margin:6px 0 8px}.lia-app-fast-copy p{color:#667481;line-height:1.5;margin:0 0 13px}.lia-app-fast-capabilities{display:grid;gap:8px}.lia-app-fast-capabilities div{border:1px solid #e0e5e9;background:#f8fafb;border-radius:11px;padding:11px}.lia-app-fast-capabilities span,.lia-app-fast-capabilities strong{display:block}.lia-app-fast-capabilities span{font-size:10px;color:#7b8894;margin-bottom:3px}.lia-app-fast-capabilities strong{font-size:12px;color:#2b3741}.lia-app-fast-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lia-app-fast-questions button{border:1px solid #dfe4e9;background:#fff;color:#34424d;border-radius:11px;padding:12px 13px;text-align:left;cursor:pointer;font-size:12px}.lia-app-fast-questions button:hover{border-color:#7650e9;background:#faf8ff}.lia-app-alert-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lia-app-alert-summary div{border:1px solid #e0e5e9;background:#f8fafb;border-radius:11px;padding:12px}.lia-app-alert-summary span,.lia-app-alert-summary strong{display:block}.lia-app-alert-summary span{font-size:10px;color:#7b8894}.lia-app-alert-summary strong{font-size:24px;color:#24313a;margin-top:3px}
@keyframes liaFastPulse{0%,100%{box-shadow:0 0 0 3px rgba(123,76,231,.12)}50%{box-shadow:0 0 0 7px rgba(123,76,231,.20)}}
@media(max-width:900px){.lia-app-fast-hero{grid-template-columns:90px 1fr}.lia-app-fast-capabilities{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.lia-app-fast-questions{grid-template-columns:1fr 1fr}.lia-app-alert-summary{grid-template-columns:1fr 1fr}.lia-fast-title span{max-width:160px}.lia-fab-header-actions{gap:4px}}
@media(max-width:600px){.lia-app-fast-hero{grid-template-columns:1fr}.lia-app-fast-capabilities,.lia-app-fast-questions,.lia-app-alert-summary{grid-template-columns:1fr}.lia-fast-title span{display:none}.lia-fab-panel{height:calc(100vh - 90px);top:50px}.lia-fab-header-actions{gap:3px}.lia-fab-close{width:30px;height:30px}}


/* V1.0.44 - Smart APP desplegable + Centro APP */
.smart-app-menu-block{margin:8px 7px 10px;}
.smart-app-premium-toggle{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr) auto 20px;align-items:center;gap:8px;padding:11px 10px;border:1px solid #6d4bff;border-radius:12px;background:linear-gradient(135deg,#1a2127 0%,#11171c 100%);color:#fff;box-shadow:0 0 0 1px rgba(126,84,255,.22),0 8px 20px rgba(0,0,0,.18);cursor:pointer;text-align:left;}
.smart-app-premium-toggle:hover,.smart-app-premium-toggle[aria-expanded="true"]{border-color:#9a72ff;box-shadow:0 0 0 2px rgba(126,84,255,.2),0 10px 26px rgba(0,0,0,.22);}
.smart-app-star{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#7c4dff,#a66cff);color:#fff;font-size:14px;}
.smart-app-premium-title{font-size:14px;font-weight:700;}
.smart-app-premium-toggle small{font-size:8px;letter-spacing:1.1px;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:3px 6px;color:#f2eaff;}
.smart-app-chevron{font-size:18px;color:#bfaaff;text-align:center;}
.smart-app-dropdown{display:grid;gap:5px;padding:7px 4px 2px;}
.smart-app-dropdown.hidden{display:none!important;}
.smart-app-drop-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:8px 9px;border:1px solid #29323a;border-radius:9px;background:#151c22;color:#dce5ec;text-align:left;cursor:pointer;}
.smart-app-drop-item:hover{background:#202830;border-color:#3a4650;}
.smart-app-drop-item.app-center{border-color:#5b43be;background:#1c1930;}
.smart-app-drop-item>span:first-child{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:#262f37;font-size:12px;}
.smart-app-drop-item strong{font-size:12px;font-weight:600;}
.smart-app-drop-item em{font-style:normal;font-size:8px;letter-spacing:.55px;color:#b9c2ca;border:1px solid #3b454d;border-radius:999px;padding:3px 6px;white-space:nowrap;}
.smart-app-drop-item em.active{color:#7fe09a;border-color:#356b45;background:rgba(45,143,74,.14);}
.smart-app-center-head{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px;border:1px solid #dce2e7;background:linear-gradient(135deg,#fff 0%,#f8f6ff 100%);border-radius:16px;margin-bottom:16px;}
.smart-app-center-head h2{font-size:28px;margin:6px 0 8px;color:#202c35;}
.smart-app-center-head p{margin:0;max-width:780px;color:#667582;line-height:1.5;}
.smart-app-premium-seal.small{width:78px;height:78px;border-radius:20px;font-size:26px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;}
.smart-app-premium-seal.small small{font-size:8px;letter-spacing:1.2px;color:#fff;}
.smart-app-center-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.smart-app-center-card{min-height:118px;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 12px;align-items:center;padding:15px;border:1px solid #dde4ea;border-radius:15px;background:#fff;text-align:left;color:#26343e;cursor:pointer;}
.smart-app-center-card.active-app{border-color:#cdbfff;background:linear-gradient(135deg,#fbfaff,#fff);}
.smart-app-center-card.available-app{background:#f8fafb;color:#57646f;}
.smart-app-center-icon{grid-row:1 / span 2;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#252d34;color:#fff;font-size:15px;}
.active-app .smart-app-center-icon{background:linear-gradient(135deg,#6041f2,#8f61ff);}
.smart-app-center-copy strong,.smart-app-center-copy small{display:block;}
.smart-app-center-copy strong{font-size:15px;margin-bottom:4px;}
.smart-app-center-copy small{font-size:11px;color:#73808b;line-height:1.3;}
.smart-app-center-status{grid-column:2;justify-self:start;font-size:9px;letter-spacing:.65px;border-radius:999px;padding:4px 8px;}
.smart-app-center-status.on{background:#eaf7ee;color:#287443;border:1px solid #c9e6d1;}
.smart-app-center-status.off{background:#f1f3f5;color:#6d7780;border:1px solid #dce1e5;}
.smart-app-center-detail{margin-top:14px;border:1px dashed #d7dee4;border-radius:12px;background:#fafbfc;padding:14px 16px;}
.smart-app-center-detail strong,.smart-app-center-detail span{display:block;}
.smart-app-center-detail strong{margin-bottom:4px;color:#26343e;}
.smart-app-center-detail span{font-size:13px;color:#6d7985;line-height:1.45;}
#smartOfficeDirectBody{width:100%;}
@media(max-width:1050px){.smart-app-center-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.smart-app-center-grid{grid-template-columns:1fr}.smart-app-center-head{align-items:flex-start}.smart-app-premium-seal.small{display:none}.smart-app-drop-item{grid-template-columns:24px minmax(0,1fr)}.smart-app-drop-item em{grid-column:2;justify-self:start;}}


/* V1.0.45 - Inicio por colaborador + PIN */
.modern-login-overlay{background:radial-gradient(circle at 50% 15%,rgba(43,53,62,.86),rgba(10,15,19,.94));backdrop-filter:blur(7px);}
.modern-login-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #d8dfe5;border-radius:22px;box-shadow:0 35px 90px rgba(0,0,0,.38);padding:0 26px 22px;}
.modern-login-brand{display:flex;align-items:center;justify-content:center;gap:14px;padding:22px 0 16px;border-bottom:1px solid #eef1f3;margin-bottom:20px;user-select:none;}
.modern-login-brand>div{display:flex;flex-direction:column;line-height:1.1}.modern-login-brand strong{font-size:15px;letter-spacing:1.4px;color:#1c2831}.modern-login-brand small{font-size:11px;color:#7b8792;margin-top:4px;}
.modern-login-logo-button{width:150px;height:48px;padding:0;border:0;background:#111820;border-radius:8px;overflow:hidden;cursor:default;position:relative;}
.modern-login-logo-button img{width:100%;height:100%;object-fit:contain;display:block;}
.modern-login-logo-button.holding::after{content:'';position:absolute;left:0;bottom:0;height:3px;background:#ff6714;animation:loginHoldProgress 3s linear forwards;}
@keyframes loginHoldProgress{from{width:0}to{width:100%}}
.modern-login-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;}
.modern-login-head h2{margin:0 0 5px;font:700 28px/1.15 Arial,sans-serif;color:#1e2a33}.modern-login-head p{margin:0;color:#6c7883;font-size:14px;}
.modern-login-close{width:38px;height:38px;border-radius:10px;border:1px solid #d6dde3;background:#f7f9fa;color:#34414a;font-size:24px;line-height:1;cursor:pointer;}
.login-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.login-user-card{display:grid;grid-template-columns:54px minmax(0,1fr) 24px;align-items:center;gap:13px;padding:15px;border:1px solid #dce3e8;border-radius:15px;background:#fff;text-align:left;cursor:pointer;transition:.15s ease;color:#25323b;}
.login-user-card:hover,.login-user-card:focus-visible{border-color:#ef9a4b;box-shadow:0 7px 20px rgba(37,50,59,.08);transform:translateY(-1px);outline:0;}
.login-user-avatar{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#252f37,#11171c);color:#ff9b4a;font-size:17px;font-weight:700;letter-spacing:.8px;}
.login-user-avatar.large{width:62px;height:62px;border-radius:18px;font-size:19px;}
.login-user-copy strong,.login-user-copy small{display:block}.login-user-copy strong{font-size:16px;color:#202c35;margin-bottom:5px}.login-user-copy small{font-size:12px;color:#77838e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.login-user-arrow{font-size:30px;font-weight:300;color:#a1abb3;text-align:center;}
.login-no-users{grid-column:1/-1;border:1px dashed #d8dfe5;border-radius:14px;padding:30px;text-align:center;color:#76838e;}
.modern-login-foot{display:flex;justify-content:center;align-items:center;gap:8px;color:#85919b;font-size:11px;margin-top:18px;padding-top:14px;border-top:1px solid #eef1f3}.login-lock-icon{color:#2f8a4e;font-size:8px;}
.pin-head{align-items:center}.login-back-button{width:40px;height:40px;border:1px solid #d5dde3;background:#f6f8f9;border-radius:11px;font-size:30px;line-height:1;color:#34424c;cursor:pointer;}
.login-pin-profile{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px auto 14px;text-align:left;}.login-pin-profile strong,.login-pin-profile small{display:block}.login-pin-profile strong{font-size:18px;color:#24313a}.login-pin-profile small{font-size:12px;color:#7a8791;margin-top:4px;}
.login-pin-dots{height:48px;display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 4px;}.pin-placeholder{width:16px;height:16px;border-radius:50%;border:2px solid #bcc6cd;background:#fff;transition:.12s}.pin-placeholder.filled{background:#ff6714;border-color:#ff6714;box-shadow:0 0 0 4px rgba(255,103,20,.1)}.login-pin-dots small{color:#788590;font-size:13px;}
.login-pin-message{min-height:24px;text-align:center;color:#65727e;font-size:12px;margin:2px 0 8px}.login-pin-message.error{color:#b13b2f;}
.login-keypad{width:min(330px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}.login-keypad button{height:58px;border:1px solid #d7dee4;border-radius:13px;background:#fff;color:#24313a;font:400 21px Arial,sans-serif;cursor:pointer;}.login-keypad button:hover{border-color:#ef9849;background:#fff8f1}.login-keypad .key-secondary{background:#f3f6f8;color:#52616d;font-size:17px;}
.login-enter-button{display:block;width:min(330px,100%);height:52px;margin:12px auto 0;font-size:16px;border-radius:12px;}
.login-enter-button:disabled{opacity:.55;cursor:not-allowed;}
@media(max-width:680px){.modern-login-card{padding:0 16px 18px;border-radius:18px}.modern-login-logo-button{width:130px;height:42px}.modern-login-head h2{font-size:23px}.login-user-grid{grid-template-columns:1fr}.login-user-card{padding:12px}.login-keypad button{height:54px}.modern-login-brand{padding-top:18px}}

/* V1.0.46 - License Center V2 / Demo 14 días */
.license-status-badge{border:1px solid #d8dee4;background:#fff;color:#34424d;border-radius:999px;padding:7px 11px;font:12px Arial,sans-serif;letter-spacing:.3px;cursor:pointer;white-space:nowrap;transition:.16s ease;}
.license-status-badge:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(25,35,45,.1)}
.license-status-badge.demo{background:#fff7e8;border-color:#efcf9d;color:#8d5819}
.license-status-badge.active{background:#edf8f0;border-color:#bfdfc8;color:#24713e}
.license-status-badge.blocked{background:#fff0f0;border-color:#edc4c4;color:#a33b3b}
.license-settings-tab{border-color:#e7bd86!important;}
.license-center-badge{display:inline-flex;align-items:center;border:1px solid #d6dde4;background:#20282f;color:#fff;border-radius:999px;padding:6px 10px;font-size:10px;letter-spacing:.8px;white-space:nowrap;}
.license-settings-card{max-width:1180px;margin:0 auto;}
.license-loading{padding:32px;border:1px dashed #d7dee4;border-radius:12px;color:#72808c;text-align:center;background:#fafbfd;margin-top:18px;}
.license-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;}
.license-summary-item{border:1px solid #dde4ea;border-radius:14px;padding:16px;background:#fafbfd;display:flex;flex-direction:column;gap:5px;min-width:0;}
.license-summary-item span{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#74818c;font-weight:700;}
.license-summary-item strong{font-size:20px;color:#25313a;overflow-wrap:anywhere;}
.license-summary-item small{font-size:12px;color:#798792;line-height:1.35;}
.license-summary-item.demo{background:#fff8ec;border-color:#edcf9f}.license-summary-item.demo strong{color:#8e5b1e}
.license-summary-item.active{background:#eef8f1;border-color:#c6e3ce}.license-summary-item.active strong{color:#276f3d}
.license-summary-item.blocked{background:#fff1f1;border-color:#ebc8c8}.license-summary-item.blocked strong{color:#a33d3d}
.license-device-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dce3e8;border-radius:14px;background:#fff;padding:18px;margin-bottom:16px;}
.license-device-card>div{min-width:0;display:flex;flex-direction:column;gap:5px}.license-device-card span{font-size:10px;letter-spacing:.8px;color:#75828d;font-weight:700}.license-device-card code{font:700 18px/1.35 Consolas,monospace;color:#1f2d37;overflow-wrap:anywhere}.license-device-card small{font-size:12px;color:#75828d;line-height:1.45}
.license-activation-panel{border:1px solid #dde4ea;border-radius:14px;background:#f8fafb;padding:18px;margin-bottom:16px}.license-activation-panel h3{margin:0 0 5px;font-size:20px}.license-activation-panel p{margin:0 0 14px;color:#71808c}.license-activation-panel input{font-family:Consolas,monospace;letter-spacing:.4px;text-transform:uppercase;}
.license-demo-note{display:none;align-items:flex-start;gap:12px;border:1px solid #eed09d;background:#fff8eb;color:#755020;border-radius:12px;padding:13px 15px;margin-bottom:16px}.license-demo-note.visible{display:flex}.license-demo-note strong{white-space:nowrap}.license-demo-note span{font-size:13px;line-height:1.45}
.license-blocker-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(9,14,18,.96);display:grid;place-items:center;padding:24px;font-family:Arial,sans-serif;overflow:auto;}
.license-blocker-card{width:min(620px,100%);background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.42);padding:24px;color:#24313a;}
.license-blocker-brand{display:flex;align-items:center;gap:14px;border-bottom:1px solid #e3e8ec;padding-bottom:16px;margin-bottom:16px}.license-blocker-brand img{width:150px;max-height:56px;object-fit:contain;background:#20252a;border-radius:10px;padding:7px}.license-blocker-brand strong,.license-blocker-brand small{display:block}.license-blocker-brand strong{font-size:20px}.license-blocker-brand small{font-size:12px;color:#75828d;margin-top:3px;}
.license-blocker-status{border-radius:13px;padding:14px 16px;background:#fff7e9;border:1px solid #efd2a2;margin-bottom:14px}.license-blocker-status.expired{background:#fff0f0;border-color:#e9c4c4}.license-blocker-status span{display:block;font-size:10px;font-weight:700;letter-spacing:.7px;color:#986024;margin-bottom:5px}.license-blocker-status strong{display:block;font-size:14px;line-height:1.45;font-weight:400;color:#4b5660}.license-blocker-status.expired span{color:#a23d3d}
.license-device-box{border:1px solid #dce3e8;background:#f8fafb;border-radius:13px;padding:14px 16px;margin-bottom:14px}.license-device-box>span{display:block;font-size:10px;font-weight:700;letter-spacing:.8px;color:#75828d;margin-bottom:6px}.license-device-box>div{display:flex;align-items:center;gap:10px}.license-device-box code{flex:1;font:700 17px Consolas,monospace;overflow-wrap:anywhere}.license-device-box button{border:1px solid #ccd5dc;background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer}.license-device-box small{display:block;color:#74818c;margin-top:7px;font-size:11px;line-height:1.4}
.license-code-field{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.license-code-field span{font-size:12px;font-weight:700}.license-code-field input{border:1px solid #cfd7de;border-radius:10px;padding:12px 13px;font:15px Consolas,monospace;outline:none;text-transform:uppercase}.license-code-field input:focus{border-color:#d67924;box-shadow:0 0 0 3px rgba(214,121,36,.11)}
.license-blocker-actions{display:flex;gap:10px;margin-top:12px}.license-blocker-actions button{flex:1}.license-blocker-foot{text-align:center;font-size:11px;color:#7d8993;border-top:1px solid #e7ebee;margin-top:16px;padding-top:13px;}
@media(max-width:760px){.license-status-badge{display:none}.license-summary-grid{grid-template-columns:1fr}.license-device-card{align-items:flex-start;flex-direction:column}.license-blocker-actions{flex-direction:column}.license-blocker-brand img{width:120px}}
