  /* ---------- HISTORY / FIADOS PANEL ---------- */
  .history-panel{
    margin-top:14px; background:var(--paper); border-radius:14px; padding:20px 22px;
    box-shadow:0 12px 30px rgba(0,0,0,0.12);
  }
  .history-panel-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; flex-wrap:wrap; gap:10px; }
  .history-head-actions{ display:flex; gap:8px; flex-wrap:wrap; }
  .history-panel-head h3{
    font-family:'Space Mono',monospace; font-size:13px; letter-spacing:0.12em; margin:0;
    color:var(--paper-ink); text-transform:uppercase;
  }
  .history-list{ display:flex; flex-direction:column; }
  .history-item{
    display:flex; justify-content:space-between; align-items:center; padding:10px 0;
    border-bottom:1px dotted var(--paper-line); gap:10px;
  }
  .history-date{ font-family:'Inter',sans-serif; font-weight:600; font-size:13px; color:var(--paper-ink); }
  .history-meta{ font-family:'Space Mono',monospace; font-size:11px; color:var(--paper-fade); margin-top:2px; }
  .fiado-account{ border-bottom:1px dotted var(--paper-line); }
  .fiado-account .history-item{ border-bottom:none; cursor:pointer; }
  .fiado-name-row{ display:flex; align-items:center; gap:6px; }
  .fiado-chevron{ font-size:10px; color:var(--paper-fade); transition:transform 0.15s ease; display:inline-block; }
  .fiado-account.expanded .fiado-chevron{ transform:rotate(90deg); }
  .fiado-detail{ padding:0 0 12px 4px; display:flex; flex-direction:column; gap:6px; }
  .fiado-move{
    display:flex; justify-content:space-between; align-items:center;
    font-family:'Space Mono',monospace; font-size:11.5px; padding:4px 8px;
    background:var(--paper); border-radius:6px;
  }
  .fiado-move-info{ color:var(--paper-fade); }
  .fiado-move-amount.cargo{ color:var(--maroon); font-weight:700; }
  .fiado-move-amount.pago{ color:var(--felt); font-weight:700; }
  .fiado-overdue-banner{
    background:#FDEDEA; border:1px solid #F0B8AC; color:var(--maroon);
    font-family:'Inter',sans-serif; font-size:12.5px; border-radius:8px;
    padding:9px 12px; margin-bottom:12px;
  }
  .fiado-overdue-badge{
    background:var(--maroon); color:#fff; font-family:'Space Mono',monospace;
    font-size:10px; border-radius:10px; padding:2px 7px; margin-left:8px;
    display:inline-block; vertical-align:middle;
  }
  .fiado-account.overdue .history-item{ background:var(--paper); }
  .history-total{ font-family:'Space Mono',monospace; font-weight:700; font-size:14px; color:var(--paper-ink); white-space:nowrap; }
  .history-actions{ display:flex; gap:8px; align-items:center; flex-shrink:0; }
  .key-small{
    background:var(--maroon); color:#fff; border:none; border-radius:6px; padding:6px 12px;
    font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; cursor:pointer;
  }
  .key-small:hover{ background:var(--maroon-light); }
  .key-small.pay-action{ background:var(--fiado); }
  .key-small.pay-action:hover{ background:var(--fiado-light); }
  .key-share-hist{
    background:#25D366; color:#fff; border:none; border-radius:6px; padding:6px 10px;
    font-size:13px; cursor:pointer; line-height:1;
  }
  .key-share-hist:hover{ background:#1DA851; }
  .key-img-hist{
    background:var(--graphite); color:#fff; border:none; border-radius:6px; padding:6px 10px;
    font-size:13px; cursor:pointer; line-height:1;
  }
  .key-img-hist:hover{ background:#343A36; }

  /* ---------- DAY SUMMARY (cierre de caja) ---------- */
  .day-summary{
    background:var(--warm-card); border:1px solid var(--paper-line); border-radius:10px;
    padding:14px 16px; margin-bottom:14px; display:flex; flex-direction:column; gap:10px;
  }
  .day-summary-head{
    font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.1em;
    color:var(--paper-fade); text-transform:uppercase;
  }
  .day-summary-total{
    display:flex; justify-content:space-between; align-items:baseline;
    font-family:'Space Mono',monospace;
  }
  .day-summary-total span:first-child{ font-size:12px; letter-spacing:0.08em; color:var(--paper-ink); font-weight:700; }
  .day-summary-total span:last-child{ font-size:24px; font-weight:700; color:var(--felt); }
  .day-summary-breakdown{ display:flex; flex-wrap:wrap; gap:8px; }
  .day-summary-chip{
    flex:1; min-width:110px; background:var(--paper); border:1px solid var(--paper-line);
    border-radius:8px; padding:8px 10px; font-family:'Inter',sans-serif;
  }
  .day-summary-chip .dsc-label{
    font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.06em;
    color:var(--paper-fade); text-transform:uppercase; display:block; margin-bottom:2px;
  }
  .day-summary-chip .dsc-amount{ font-family:'Space Mono',monospace; font-weight:700; font-size:14px; color:var(--paper-ink); }
  .day-summary-chip.dsc-efectivo .dsc-amount{ color:var(--felt); }
  .day-summary-chip.dsc-yape .dsc-amount{ color:var(--yape); }
  .day-summary-chip.dsc-fiado .dsc-amount{ color:var(--fiado); }
  .day-summary-empty{
    font-family:'Space Mono',monospace; font-size:11px; color:var(--paper-fade);
  }

  /* ---------- D4.1 accesibilidad + estados del historial ---------- */
  #exportHistoryBtn, #undoLastSaleBtn, #clearHistoryBtn{ min-height:44px; padding:8px 14px; }
  .key-share-hist, .key-img-hist{ min-width:44px; min-height:44px; }
  .history-banner{
    background:var(--warm-card); border:1px dashed var(--paper-line); border-radius:8px;
    color:var(--paper-fade); font-family:'Inter',sans-serif; font-size:12px;
    padding:9px 12px; margin-bottom:12px;
  }
  .history-loading{
    font-family:'Space Mono',monospace; font-size:12px; color:var(--paper-fade);
    padding:14px 0; text-align:center;
  }

  /* ---------- D4.2 búsqueda en historial ---------- */
  .history-search{
    position:relative; display:flex; align-items:center; margin-bottom:8px;
  }
  .history-search-input{
    width:100%; height:44px; border:1px solid var(--paper-line); border-radius:8px;
    padding:0 48px 0 14px; font-family:'Inter',sans-serif; font-size:13px;
    color:var(--paper-ink); background:var(--graphite-light); outline:none;
  }
  .history-search-input:focus{ border-color:var(--felt); }
  .history-search-clear{
    position:absolute; right:2px; top:0; width:44px; height:44px; border:none;
    background:transparent; color:var(--paper-fade); font-size:20px; line-height:1;
    border-radius:8px; cursor:pointer;
  }
  .history-search-clear:hover{ background:var(--paper-line); color:var(--paper-ink); }
  .history-result-info{
    font-family:'Space Mono',monospace; font-size:11px; color:var(--paper-fade);
    margin:2px 0 10px;
  }

  /* ---------- D4.3 filtros del historial ---------- */
  .history-filters{
    display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:8px;
  }
  .history-filter-select{
    height:44px; border:1px solid var(--paper-line); border-radius:8px;
    padding:0 10px; font-family:'Inter',sans-serif; font-size:13px; color:var(--paper-ink);
    background:var(--graphite-light); outline:none; flex:1 1 140px; min-width:0; cursor:pointer;
  }
  .history-filter-select:focus{ border-color:var(--felt); }
  .history-clear-filters{
    height:44px; border:1px solid var(--paper-line); border-radius:8px;
    background:var(--graphite-light); color:var(--paper-ink); font-family:'Space Mono',monospace;
    font-size:11px; letter-spacing:0.06em; cursor:pointer; padding:0 14px; white-space:nowrap;
  }
  .history-clear-filters:hover{ background:var(--paper-line); }

  /* ---------- D4.4 agrupación por fecha ---------- */
  .history-group{ display:flex; flex-direction:column; }
  .history-group-label{
    font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.12em;
    color:var(--paper-fade); text-transform:uppercase;
    margin:16px 0 2px; padding-top:14px; border-top:1px dotted var(--paper-line);
  }
  .history-group:first-child .history-group-label{
    margin-top:0; padding-top:0; border-top:none;
  }

  /* ---------- D4.5 carga incremental ---------- */
  .history-load-more{
    width:100%; min-height:44px; margin-top:14px;
    background:var(--graphite-light); border:1px dashed var(--paper-line); border-radius:8px;
    color:var(--paper-ink); font-family:'Space Mono',monospace; font-size:12px;
    letter-spacing:0.06em; cursor:pointer;
  }
  .history-load-more:hover{ background:var(--paper-line); }

  /* ---------- F5.2: fila del historial con preview + Ver ---------- */
  .history-main{ flex:1; min-width:0; }
  .history-top{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
  .history-preview{
    font-family:'Inter',sans-serif; font-size:12px; font-weight:600; color:var(--paper-ink);
    margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .key-view-hist{
    background:var(--felt); color:#fff; border:none; border-radius:6px; padding:6px 12px;
    font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.06em; cursor:pointer;
    min-width:44px; min-height:44px; flex-shrink:0;
  }
  .key-view-hist:hover{ background:var(--felt-light); }

  /* ---------- F5.2: overlay detalle de venta ---------- */
  #saleDetailOverlay{ z-index:80; }
  .sale-detail-box{
    max-width:540px; max-height:88vh; gap:12px;
    display:flex; flex-direction:column;
  }
  .sale-detail-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
  .sale-detail-head-text{ min-width:0; }
  .sale-detail-sub{
    font-family:'Space Mono',monospace; font-size:11px; color:var(--paper-fade);
    margin-top:3px; letter-spacing:0.04em;
  }
  .sale-detail-close{
    flex-shrink:0; width:44px; min-height:44px; margin:-6px -8px 0 0;
    background:none; border:none; color:var(--paper-fade); font-size:18px; cursor:pointer; border-radius:8px;
  }
  .sale-detail-close:hover{ background:var(--paper-line); color:var(--paper-ink); }
  .sale-detail-body{ overflow-y:auto; min-height:0; overscroll-behavior:contain; }

  .sale-detail-ticket{ display:flex; flex-direction:column; }
  .sale-detail-head-row,
  .sale-detail-line{
    display:grid; grid-template-columns:minmax(0,1fr) 64px 82px 68px; gap:5px; align-items:center;
  }
  .sale-detail-head-row{
    padding:0 0 6px; border-bottom:1px dashed var(--paper-line);
    font-family:'Space Mono',monospace; font-size:9.5px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--paper-fade); font-weight:700;
  }
  .sale-detail-head-row span:nth-child(1){ text-align:left; }
  .sale-detail-head-row span:nth-child(2){ text-align:right; }
  .sale-detail-head-row span:nth-child(3){ text-align:center; }
  .sale-detail-head-row span:nth-child(4){ text-align:right; }
  .sale-detail-line{ padding:7px 0; border-bottom:1px dotted var(--paper-line); }
  .sale-detail-name{
    font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; color:var(--paper-ink);
    min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .sale-detail-notes{
    font-family:'Space Mono',monospace; font-size:10.5px; color:var(--paper-fade);
    margin-top:1px; white-space:normal;
  }
  .sale-detail-unit{
    font-family:'Space Mono',monospace; font-size:11px; color:var(--paper-fade);
    text-align:right; white-space:nowrap;
  }
  .sale-detail-qty{
    font-family:'Space Mono',monospace; font-size:11.5px; font-weight:700; color:var(--paper-ink);
    text-align:center; white-space:nowrap;
  }
  .sale-detail-total{
    font-family:'Space Mono',monospace; font-size:12.5px; font-weight:700; color:var(--paper-ink);
    text-align:right; white-space:nowrap;
  }

  .sale-detail-summary{ display:flex; flex-direction:column; gap:8px; padding-top:12px; }
  .sale-detail-total-row{
    display:flex; justify-content:space-between; align-items:baseline;
    font-family:'Space Mono',monospace;
  }
  .sale-detail-total-row span:first-child{ font-size:12px; letter-spacing:0.12em; font-weight:700; color:var(--paper-ink); }
  .sale-detail-total-row span:last-child{ font-size:24px; font-weight:700; color:var(--felt); }
  .sale-detail-extra{
    display:flex; justify-content:space-between; align-items:center; gap:10px;
    font-family:'Space Mono',monospace; font-size:11.5px;
  }
  .sale-detail-extra > span:first-child{ color:var(--paper-fade); letter-spacing:0.06em; }
  .sale-detail-extra > span:last-child{ color:var(--paper-ink); font-weight:700; }
  .sale-detail-method{
    display:inline-block; padding:3px 10px; border-radius:12px; font-family:'Space Mono',monospace;
    font-size:11px; font-weight:700; color:#fff;
  }
  .sale-detail-method.m-efectivo{ background:var(--felt); }
  .sale-detail-method.m-yape{ background:var(--yape); }
  .sale-detail-method.m-fiado{ background:var(--fiado); }

  .sale-detail-actions{ display:flex; flex-direction:column; gap:8px; }
  .sale-detail-action{
    width:100%; min-height:44px; border-radius:8px; border:none; cursor:pointer;
    font-family:'Space Mono',monospace; font-weight:700; font-size:12.5px; letter-spacing:0.06em;
    display:flex; align-items:center; justify-content:center; gap:8px;
  }
  .sale-detail-share{ background:#25D366; color:#fff; }
  .sale-detail-share:hover{ background:#1DA851; }
  .sale-detail-image{ background:var(--graphite); color:#fff; }
  .sale-detail-image:hover{ background:#343A36; }
  .sale-detail-close-btn{ background:var(--paper); color:var(--paper-ink); border:1px solid var(--paper-line); }
  .sale-detail-close-btn:hover{ background:var(--paper-line); }

  @media (max-width:480px){
    .sale-detail-head-row, .sale-detail-line{
      grid-template-columns:minmax(0,1fr) 50px 68px 60px; gap:4px;
    }
  }
  @media (max-width:640px){
    #saleDetailOverlay{ padding:0; align-items:flex-end; }
    .sale-detail-box{
      width:100%; max-width:none; max-height:92vh; border-radius:16px 16px 0 0;
      padding:18px 16px calc(16px + env(safe-area-inset-bottom));
    }
  }

