/* Miga · capas nuevas conservando diseño original */
.sidebar{transition:width .22s ease,padding .22s ease;overflow:visible}
.sidebar-collapse{position:absolute;top:94px;right:-13px;border:1px solid #ece2da;background:#fffdf9;width:26px;height:26px;border-radius:50%;box-shadow:0 2px 8px #0001;display:grid;place-items:center;color:#b66c56;font-size:23px;z-index:35}
.expand-sidebar{display:none!important;font-weight:900;font-size:24px;color:#cb735b}
body.sidebar-collapsed .sidebar{width:0;padding-left:0;padding-right:0;border-right:0;overflow:hidden}
body.sidebar-collapsed .sidebar-collapse{display:none}
body.sidebar-collapsed .expand-sidebar{display:grid!important}
body.sidebar-collapsed .content{max-width:1640px}
.category-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 0 13px;font-size:10px;letter-spacing:1.4px;color:#bb826b;font-weight:800}
.category-heading small{font-size:10px;letter-spacing:0;color:#ada29b;font-weight:500}
.categories .category{display:flex;gap:7px;align-items:center;font-size:12px;transition:background .2s}
.categories .category span{font-size:15px}
.categories{margin-bottom:21px}
.cash-pay{background:#fbf5f0;border:1px solid #f1e6dc;border-radius:13px;padding:15px;margin:0 0 14px}
.cash-pay[hidden]{display:none}
.cash-pay label,.field-label{display:block;font-size:11px;font-weight:800;color:#75665e;margin:0 0 9px}
.cash-input-wrap,.field-euro{display:flex;align-items:center;background:#fff;border:1px solid #e9dfd6;border-radius:10px;overflow:hidden}
.cash-input-wrap input,.field-euro input{border:0;outline:none;min-width:0;flex:1;width:100%;padding:11px 13px;font-weight:800;font-size:18px;background:transparent;color:#342925}
.cash-input-wrap span,.field-euro span{padding-right:14px;color:#b6a59a;font-weight:800}
.cash-change{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:11px;color:#887b73}
.cash-change strong{font-family:Manrope;font-size:19px;color:#4c423e}
.cash-change.ready strong{color:#37865a}
.cash-error{font-size:11px;color:#cb5147;font-weight:800;line-height:1.5;margin-top:9px}
.cash-error:empty{display:none}
.cash-overview,.range-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px}
.cash-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:18px}
.cash-layout .field-euro{max-width:300px;margin:0 0 12px}
.section-rule{height:1px;background:#f0ebe6;margin:24px 0}
.movement-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.movement-form input,.movement-form select{width:100%;min-width:0;padding:11px;border:1px solid #e9e0d8;border-radius:10px;background:white;font-size:12px;outline:0}
.movement-form input:nth-of-type(2){grid-column:1/3}
.movement-form .btn{grid-column:1/3;justify-self:start}
.cash-difference{font-size:12px;font-weight:700;color:#887a71;background:#f8f3ee;padding:13px;border-radius:9px}
.cash-difference.balanced{background:#e5f4e9;color:#39835b}
.cash-difference.short{background:#fde8e4;color:#be554f}
.cash-difference.extra{background:#fff2de;color:#9f7541}
.positive{color:#378a5d}.negative{color:#ce6d59}
.range-filters{display:flex;flex-wrap:wrap;gap:7px;margin:3px 0 19px}
.range-btn{background:#fff;border:1px solid #ede6de;border-radius:24px;padding:10px 14px;font-size:11px;font-weight:800;color:#8f8077}
.range-btn.active{background:#322b2a;border-color:#322b2a;color:white}
.custom-dates{display:flex;flex-wrap:wrap;align-items:end;gap:13px;margin-bottom:18px;padding:16px;background:#faf6f1;border-radius:12px}
.custom-dates[hidden]{display:none}
.custom-dates label{font-size:11px;color:#83786f;font-weight:800}
.custom-dates input{display:block;border:1px solid #e7e0da;border-radius:8px;background:#fff;padding:9px;margin-top:5px}
.range-chart{height:170px;margin:2px 0 22px}
.receipt-link{border:0;background:#fceee7;color:#b66b50;font-size:10px;font-weight:800;padding:8px 11px;border-radius:9px}
.receipt-modal{max-width:410px;max-height:90vh;overflow-y:auto;background:#f9f7f4}
.receipt-paper{background:white;border:1px dashed #dfd5cd;padding:23px 17px;font-family:'DM Sans',sans-serif;box-shadow:0 4px 20px #3331}
.receipt-brand{text-align:center;font:bold 34px Manrope,sans-serif;letter-spacing:-2px}
.receipt-brand span{color:#e67a5f}
.receipt-center{text-align:center;font-size:10px;line-height:1.7;color:#666;margin:15px 0}
.receipt-center small{color:#ad998d}
.receipt-separator{border-top:1px dashed #aca39b;margin:13px 0}
.receipt-line{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:9px 0}
.receipt-line span:first-child{flex:1}
.receipt-line span:last-child{text-align:right}
.receipt-grand{font-size:15px;font-weight:800}
.receipt-actions{display:flex;gap:10px;margin-top:17px}
.receipt-actions .btn{flex:1}
.receipt-secondary{background:#eee8e1;color:#574840}
.receipt-disclaimer{text-align:center;color:#a39a92;font-size:10px}
@media(max-width:1130px){.cash-overview,.range-summary{grid-template-columns:repeat(2,1fr)}.cash-layout{grid-template-columns:1fr}}
@media(max-width:950px){.sidebar-collapse{display:none}body.sidebar-collapsed .sidebar{width:224px;padding:27px 16px 17px;overflow:visible;border-right:1px solid #eee;transform:translateX(-100%)}body.sidebar-collapsed .sidebar.open{transform:translateX(0)}body.sidebar-collapsed .expand-sidebar{display:none!important}}
@media(max-width:600px){.cash-overview,.range-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-overview .stat strong,.range-summary .stat strong{font-size:17px}.cash-layout .panel{padding:15px}.category-heading small{display:none}.range-btn{padding:9px 11px;font-size:10px}.receipt-actions{flex-direction:column}}
@media print{
 @page{size:80mm auto;margin:2mm}
 body.printing-receipt *{visibility:hidden!important}
 body.printing-receipt #receiptModal,body.printing-receipt #receiptContent,body.printing-receipt .receipt-paper,body.printing-receipt .receipt-paper *{visibility:visible!important}
 body.printing-receipt #receiptModal{position:static!important;background:white!important;padding:0!important;display:block!important}
 body.printing-receipt .receipt-modal{position:absolute!important;left:0!important;top:0!important;max-height:none!important;overflow:visible!important;padding:0!important;width:76mm!important;box-shadow:none!important;background:#fff!important}
 body.printing-receipt .receipt-paper{border:0!important;box-shadow:none!important;padding:0!important}
 body.printing-receipt .modal-top,body.printing-receipt .receipt-actions,body.printing-receipt .receipt-disclaimer{display:none!important}
 body.printing-receipt .receipt-paper .receipt-center,body.printing-receipt .receipt-paper .receipt-line{color:#000!important}
}

/* Cobro simplificado: efectivo con importes rápidos, tarjeta sin campos innecesarios */
.cash-pay-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.cash-pay-title label{margin:0}
.cash-pay-subtitle{font-size:9px;color:#b79b8c;white-space:nowrap}
.cash-input-wrap:focus-within{border-color:#dc8b72;box-shadow:0 0 0 3px rgba(236,119,86,.1)}
.cash-input-wrap:has(input[aria-invalid="true"]){border-color:#df8b80}
.cash-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.cash-preset{background:white;border:1px solid #eaded4;padding:8px 10px;border-radius:9px;font-size:11px;color:#7f6f65;font-weight:800;transition:all .18s}
.cash-preset:hover,.cash-preset-selected{background:#fbe6dc;border-color:#df967c;color:#b76045}
.cash-exact{background:#eaf2e9;border-color:#d6e8d5;color:#5f8765}
.cash-change{margin-top:14px;border-top:1px dashed #e5d8cd;padding-top:12px}
.cash-change.ready{background:#eaf4e9;margin-left:-7px;margin-right:-7px;padding:12px 7px;border-radius:9px;border:0}
.cash-change.pending strong{color:#bb7f62}
.card-pay-message{display:flex;align-items:center;gap:12px;padding:15px;border-radius:12px;background:#eef4ed;border:1px solid #dce9d9;margin-bottom:14px}
.card-pay-message[hidden]{display:none}
.card-pay-symbol{display:grid;place-items:center;width:36px;height:36px;flex:none;background:#dcecd7;color:#609265;border-radius:11px;font-size:19px;font-weight:800}
.card-pay-message strong{display:block;font-size:12px;color:#536d54}
.card-pay-message small{display:block;margin-top:4px;font-size:10px;line-height:1.55;color:#849785}
@media(max-width:460px){.cash-preset{padding:9px;font-size:10px}.cash-pay-title{flex-wrap:wrap}}
