@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;height:100dvh;min-height:100%;overflow:hidden;-webkit-text-size-adjust:100%}app-root{display:block;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}#printable-thermal-receipt{display:none}@media print{html,body{width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;color:#000!important}app-root,app-pos-shell,.pos-app-layout,main.pos-main,app-pos-page{display:block!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;border:none!important;box-shadow:none!important;background:transparent!important}.pos-container,.pos-header,.modal-backdrop,.toast-container,.no-print,header,nav,aside,button{display:none!important;visibility:hidden!important;height:0!important;width:0!important;margin:0!important;padding:0!important;overflow:hidden!important}#printable-thermal-receipt{display:block!important;visibility:visible!important;position:static!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important}@page{margin:0;size:auto}}.modal-backdrop{position:fixed;inset:0;background:#0f172ab3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.receipt-card{background:#fff;border-radius:12px;width:100%;max-width:440px;max-height:90dvh;padding:1.1rem;display:flex;flex-direction:column;gap:.65rem;box-shadow:0 20px 25px -5px #0000004d,0 8px 10px -6px #0003;position:relative;overflow:hidden;z-index:2001}.ticket-header{position:relative;text-align:center;border-bottom:1px dashed #cbd5e1;padding-bottom:.45rem}.ticket-header h3{margin:.25rem 0 0;font-size:1.1rem;font-weight:700;color:#0f172a}.btn-close-receipt{position:absolute;top:-4px;right:-4px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:50%;width:32px;height:32px;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;transition:all .15s}.btn-close-receipt:hover{background:#e2e8f0;color:#0f172a}.ticket-icon{font-size:1.6rem}.ticket-number{font-family:monospace;font-size:.9rem;font-weight:700;color:#4f46e5;margin:.15rem 0}.ticket-branch{font-size:.725rem;color:#64748b}.ticket-body{display:flex;flex-direction:column;gap:.45rem;font-size:.825rem;overflow-y:auto;flex:1}.receipt-preview-container{max-height:380px;overflow-y:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.65rem;display:flex;justify-content:center}.ticket-actions{display:flex;gap:.5rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid #f1f5f9;flex-shrink:0}.ticket-actions button{min-height:44px;font-size:.875rem;font-weight:700;border-radius:8px;cursor:pointer;flex:1;display:flex;align-items:center;justify-content:center;transition:background .15s}.ticket-actions .btn-primary{background:#0f172a;color:#fff;border:none}.ticket-actions .btn-primary:hover{background:#1e293b}.ticket-actions .btn-secondary{background:#fff;color:#334155;border:1px solid #cbd5e1}.ticket-actions .btn-secondary:hover:not(:disabled){background:#f8fafc}.ticket-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.panel{padding:.85rem;border-radius:6px;text-align:center}.loading-panel{background:#f1f5f9;color:#475569}.error-panel{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.lock-notice{display:flex;align-items:flex-start;gap:.4rem;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.4rem .5rem;font-size:.75rem;color:#92400e}.lock-notice .lock-icon{font-size:1rem}.lock-notice strong{display:block;margin-bottom:.1rem;color:#78350f}.lock-notice p{margin:0;font-size:.7rem;line-height:1.25}.ambiguous-alert-box{background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;padding:.5rem;display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;color:#78350f}.ambiguous-alert-box .ambiguous-badge{font-weight:700;color:#92400e}.ambiguous-alert-box .ambiguous-desc{margin:0;font-size:.7rem;line-height:1.25}.ambiguous-alert-box .ambiguous-actions{display:flex;gap:.35rem;margin-top:.15rem}.ambiguous-alert-box .btn-retry-ambiguous{background:#b45309;color:#fff;border:none;border-radius:5px;padding:.3rem .5rem;font-size:.7rem;font-weight:600;cursor:pointer;flex:1}.ambiguous-alert-box .btn-resolve-ambiguous{background:#fff;color:#78350f;border:1px solid #d97706;border-radius:5px;padding:.3rem .5rem;font-size:.7rem;font-weight:600;cursor:pointer}.req,.required{color:#dc2626;display:inline;margin-left:.15rem;font-weight:700;white-space:nowrap}.label-title{display:inline-flex;align-items:center;white-space:nowrap}.kiosk-modal-backdrop,.cart-sheet-backdrop{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:100%;max-height:100%;background:#0f172ab3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,2vh,1rem);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;box-sizing:border-box}.cart-sheet-backdrop{align-items:flex-end;padding:0}.kiosk-modal-content{background:#fff;border-radius:16px;width:100%;max-width:min(440px,100vw - 1rem);max-height:min(92dvh,100% - 1rem);overflow:hidden;box-shadow:0 20px 40px #00000040;display:flex;flex-direction:column;min-height:0;margin:auto;box-sizing:border-box}.cart-sheet-content{background:#fff;width:100%;max-height:min(85dvh,90%);border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -10px 25px #0003;min-height:0;box-sizing:border-box}.countdown-circle{width:68px;height:68px;border-radius:50%;background:#fef3c7;border:3px solid #f59e0b;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#b45309;margin:.85rem auto .35rem}.inactivity-modal,.confirm-modal{padding:1.75rem 1.5rem;text-align:center;align-items:center}.inactivity-modal h3,.confirm-modal h3{font-size:1.35rem;font-weight:800;margin:0 0 .35rem}.inactivity-modal p,.confirm-modal p{font-size:.85rem;color:#64748b;margin:0}.inactivity-modal .inactivity-icon,.inactivity-modal .confirm-icon,.confirm-modal .inactivity-icon,.confirm-modal .confirm-icon{font-size:2.5rem;margin-bottom:.3rem}.modal-header{display:flex;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0}.modal-header.header-secure{background:#0f172a;color:#fff}.btn-modal-close{background:#f1f5f9;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer}.auth-error-banner{background:#fee2e2;color:#dc2626;padding:.55rem .75rem;border-radius:6px;font-weight:600;font-size:.85rem}.confirm-actions{display:flex;gap:.5rem;width:100%;margin-top:1rem}.confirm-actions .btn-keep-order,.confirm-actions .btn-confirm-cancel,.confirm-actions .btn-confirm-finish{flex:1;min-height:42px;border-radius:8px;font-weight:700;cursor:pointer;border:none;font-size:.85rem}.confirm-actions .btn-keep-order{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.confirm-actions .btn-confirm-cancel{background:#dc2626;color:#fff}.confirm-actions .btn-confirm-finish{background:#059669;color:#fff}.payroll-modal{max-width:min(520px,100vw - 1rem)}.payroll-modal .modal-body{padding:1.25rem;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;max-height:calc(85dvh - 120px);display:flex;flex-direction:column;gap:.85rem;min-height:0}.btn-kiosk-payroll-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:#ecfdf5;color:#065f46;border:1.5px solid #a7f3d0;border-radius:10px;padding:.6rem .8rem;font-weight:700;font-size:.85rem;cursor:pointer;margin-bottom:.5rem}.btn-kiosk-payroll-toggle:hover{background:#d1fae5}.payroll-active-card{background:#ecfdf5;border:1.5px solid #10b981;border-radius:10px;padding:.6rem .8rem;margin-bottom:.5rem;cursor:pointer}.payroll-active-card .payroll-active-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.75rem;font-weight:800;color:#065f46}.payroll-active-card .btn-remove-payroll-mini{background:none;border:none;color:#dc2626;font-weight:800;cursor:pointer;padding:.1rem .35rem}.payroll-active-card .payroll-beneficiary-preview strong{display:block;font-size:.85rem;color:#0f172a}.payroll-active-card .payroll-beneficiary-preview span{font-size:.75rem;color:#047857}.payroll-dni-group{display:flex;gap:.5rem}.payroll-dni-group input{flex:1;font-size:1.15rem;font-weight:700;padding:.6rem .85rem;border-radius:10px;border:1.5px solid #cbd5e1;text-align:center;letter-spacing:2px}.payroll-dni-group .btn-search-dni{background:#059669;color:#fff;border:none;border-radius:10px;padding:0 1.25rem;font-weight:700;font-size:.95rem;cursor:pointer}.payroll-dni-group .btn-search-dni:disabled{opacity:.6}.beneficiary-touch-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.beneficiary-touch-card:hover,.beneficiary-touch-card.selected{border-color:#059669;background:#f0fdf4}.beneficiary-touch-card .b-info{display:flex;flex-direction:column;gap:.15rem}.beneficiary-touch-card .b-info strong{font-size:.95rem;color:#0f172a}.beneficiary-touch-card .b-info span{font-size:.8rem;color:#64748b}.beneficiary-touch-card .btn-touch-select{background:#059669;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.85rem;padding:.45rem .85rem}.rule-touch-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer}.rule-touch-card.selected{border-color:#059669;background:#f0fdf4}.rule-touch-card .rule-text strong{display:block;font-size:.95rem;color:#0f172a}.rule-touch-card .rule-text span{font-size:.8rem;color:#64748b}.payroll-quote-card{background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:12px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.4rem}.payroll-quote-card .quote-row{display:flex;justify-content:space-between;font-size:.85rem;color:#475569}.payroll-quote-card .quote-row.highlight{font-size:1.05rem;font-weight:800;color:#0f172a;border-top:1px dashed #cbd5e1;padding-top:.4rem}.payroll-quote-card .subsidy-credit{color:#059669;font-weight:700}.payroll-quote-card .worker-pay{color:#0f172a;font-weight:800}.quote-disclaimer-badge{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:.45rem .75rem;border-radius:8px;font-size:.75rem}.variants-touch-list{padding:.85rem 1rem;max-height:50vh;max-height:50dvh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.5rem;min-height:0;-webkit-overflow-scrolling:touch}.variant-touch-card{display:flex;align-items:center;justify-content:space-between;padding:.65rem .8rem;border:1px solid #cbd5e1;border-radius:10px;cursor:pointer;min-width:0;gap:.5rem}.variant-touch-card.disabled{opacity:.5;cursor:not-allowed}.variant-info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.variant-info .variant-name{font-size:.9rem;font-weight:600;display:block;overflow-wrap:break-word}.variant-info .variant-sku{font-size:.7rem;color:#64748b}.variant-info .variant-stock{font-size:.7rem;font-weight:600}.variant-info .variant-stock.in-stock{color:#059669}.variant-info .variant-stock.out-stock{color:#dc2626}.variant-action-box{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.variant-action-box .variant-price{font-size:1.1rem;font-weight:800;color:#059669;white-space:nowrap}.variant-action-box .btn-choose-variant{min-height:34px;background:#059669;color:#fff;border:none;border-radius:6px;font-weight:700;padding:.25rem .65rem;cursor:pointer;white-space:nowrap}.cashier-modal-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem;font-size:.85rem;overflow-y:auto;overflow-x:hidden;min-height:0;flex:1 1 auto}.cashier-modal-body .cashier-info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.55rem .75rem;display:flex;justify-content:space-between;min-width:0}.cashier-modal-body .kiosk-text-input{height:42px;border:1.5px solid #cbd5e1;border-radius:8px;padding:0 .75rem;font-size:.95rem;outline:none;width:100%;box-sizing:border-box}.cashier-modal-footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0;min-width:0}.cashier-modal-footer .btn-cancel-unlock,.cashier-modal-footer .btn-verify-unlock{min-height:36px;padding:0 .9rem;border-radius:6px;font-weight:600;cursor:pointer;border:none;white-space:nowrap}.cashier-modal-footer .btn-cancel-unlock{background:#e2e8f0;color:#334155}.cashier-modal-footer .btn-verify-unlock{background:#0f172a;color:#fff}.cashier-modal-footer .btn-verify-unlock:disabled{opacity:.6}.countdown-hint{font-size:.75rem;color:#94a3b8;margin-bottom:1rem}.btn-stay-active{width:100%;min-height:44px;background:#059669;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:800;cursor:pointer}.summary-items-card{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto;overflow-y:hidden;width:100%;min-width:0;max-width:100%;-webkit-overflow-scrolling:touch;box-sizing:border-box}.summary-table{width:100%;min-width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.summary-table th,.summary-table td{padding:.55rem .65rem;word-break:break-word}.summary-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.75rem}.summary-table tr{border-bottom:1px solid #f1f5f9}.summary-table .td-prod{min-width:120px}.summary-table .td-prod .prod-title{display:block;font-weight:600;word-break:break-word}.summary-table .td-prod .prod-variant{display:block;font-size:.7rem;color:#059669}.summary-table .th-qty,.summary-table .th-price,.summary-table .th-total,.summary-table .td-qty,.summary-table .td-price,.summary-table .td-total{text-align:right;white-space:nowrap}.summary-table .td-total{color:#059669;font-weight:700}.summary-totals-card{background:#f8fafc;border-radius:10px;padding:.85rem;display:flex;flex-direction:column;gap:.35rem;width:100%;box-sizing:border-box}.summary-total-line{display:flex;justify-content:space-between;font-size:.85rem;color:#475569}.summary-total-line.grand-total-highlight{margin-top:.3rem;padding-top:.4rem;border-top:2px dashed #cbd5e1;font-size:1.25rem;font-weight:800}.summary-total-line.grand-total-highlight .grand-label{color:#0f172a}.summary-total-line.grand-total-highlight .grand-val{color:#059669}.kiosk-phase-notice{display:flex;gap:.5rem;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:.75rem;border-radius:8px;font-size:.8rem;box-sizing:border-box}.kiosk-phase-notice strong{display:block;margin-bottom:.1rem}.kiosk-phase-notice p{margin:0}.summary-action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;width:100%;min-width:0}.btn-summary-modify,.btn-summary-cancel,.btn-summary-finish{min-height:44px;border-radius:8px;font-weight:700;cursor:pointer;border:none;font-size:.9rem;box-sizing:border-box}.btn-summary-modify{flex:1 1 120px;background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.btn-summary-cancel{background:#fee2e2;color:#dc2626;border:1px solid #fecaca;padding:0 .85rem;flex:0 0 auto}.btn-summary-finish{flex:2 1 180px;min-width:160px;background:#059669;color:#fff}
