:root{--color-bg:#f2deda;--color-surface:#fff;--color-surface-soft:#eef5ff;--color-border:#dbe4f0;--color-text-primary:#1d1d1f;--color-text-secondary:#4b5565;--color-text-muted:#7b8494;--color-text-dark:#9aa4b2;--color-primary:#69a7ff;--color-primary-hover:#4b92f7;--color-online:#75cdb2;--color-offline:#ff7b8a;--color-danger-bg:#fff0f2;--color-danger-border:#ffd0d7;--color-success-bg:#edf9f4;--color-success-border:#c8eee0;--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.pwa-container{flex-direction:column;justify-content:space-between;min-height:100vh;display:flex}.footer{text-align:center;background-color:var(--color-bg);border-top:1px solid var(--color-surface);color:#0f0806;padding:16px;font-size:.75rem}.status-banner{text-align:center;padding:8px 16px;transition:background-color .3s}.status-banner.online{background-color:var(--color-online)}.status-banner.offline{background-color:var(--color-offline)}.status-text{justify-content:center;align-items:center;gap:8px;font-size:.813rem;font-weight:700;display:flex}.nav-bar{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:0 24px;display:flex}.nav-links{display:flex}.nav-button{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:18px 24px;font-size:.938rem;font-weight:600;transition:all .2s;display:flex}.nav-button:hover{color:var(--color-text-secondary)}.nav-button.active{border-bottom:3px solid var(--color-primary);color:var(--color-primary)}.logout-button{background:var(--color-danger-bg);color:#d84b5e;border:1px solid var(--color-danger-border);borderRadius:6px;cursor:pointer;align-items:center;gap:6px;padding:8px 12px;font-size:.813rem;font-weight:600;transition:all .2s;display:flex}.logout-button:hover{background:#ffe4e8}.main-content{flex-grow:1;justify-content:center;align-items:center;padding:24px;display:flex}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:500px;padding:32px;box-shadow:0 18px 45px #6a84a629}.card-title{color:var(--color-text-primary);margin-top:0;margin-bottom:16px;font-size:1.375rem}.card-paragraph{color:var(--color-text-secondary);font-size:.938rem;line-height:1.6}.rubros-list{background-color:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:10px;margin:18px 0;padding:12px;display:flex}.catalogos-list{flex-direction:column;gap:12px;display:flex}.rubro-item{background:#fff;border:1px solid #e6e6e6;border-radius:12px;flex-direction:column;padding:18px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 10px #0000001f}.rubro-item.selected{border-color:var(--color-primary);background-color:#e8f2ff}.rubro-item-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rubro-item-content{flex:1}.catalogo-edit-field{color:var(--color-text-secondary);flex-direction:column;gap:6px;margin-top:10px;font-size:.875rem;font-weight:600;display:flex}.catalogo-edit-field input{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);font:inherit;box-sizing:border-box;background-color:#fbfdff;border-radius:6px;padding:8px 10px}.catalogo-edit-field input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #2563eb1f}.catalogo-edit-title{color:var(--color-text-primary);margin-top:0;font-size:1rem}.icon-action-btn{width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;background-color:#e8f2ff;border:none;border-radius:8px;justify-content:center;align-items:center;transition:transform .2s,background-color .2s;display:inline-flex}.icon-action-btn:hover{background-color:#d9eaff;transform:translateY(-1px)}.delete-action-btn{background-color:var(--color-danger-bg);color:#d84b5e}.delete-action-btn:hover{background-color:#ffe4e8}.carrito-actions-bottom{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.carrito-action-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.rubro-actions-right{justify-content:flex-end;margin-bottom:16px;display:flex}.rubro-title{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:600}.catalogo-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.catalogo-actions .nav-button{padding:12px 14px}.catalogo-cantidad{color:var(--color-text-secondary);background-color:#e8f2ff;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:180px;margin-top:10px;padding:5px;display:flex;font:var(--font-family)!important;font-size:1rem!important;font-weight:600!important}.catalogo-cantidad input{text-align:center;border:1px solid var(--color-border);width:60px;color:var(--color-text-primary);font:inherit;box-sizing:border-box;background-color:#fbfdff;border-radius:6px;padding:4px 8px}.login-container{flex-grow:1;justify-content:center;align-items:center;padding:24px;display:flex}.login-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;width:100%;max-width:400px;padding:32px;box-shadow:0 24px 60px #6a84a62e}.login-header{text-align:center;margin-bottom:24px}.icon-circle{background-color:#e8f2ff;border-radius:50%;justify-content:center;align-items:center;width:82px;height:82px;margin:0 auto 12px;display:flex}.login-brand-icon{object-fit:contain;width:164px;height:94px}.text-indigo{color:var(--color-primary)}.login-title{color:var(--color-text-primary);margin:0 0 6px;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--color-text-muted);margin:0;font-size:.875rem}.error-message{background-color:var(--color-danger-bg);color:#d84b5e;border:1px solid var(--color-danger-border);text-align:center;border-radius:8px;margin-bottom:16px;padding:10px;font-size:.813rem}.input-group{margin-bottom:16px}.input-label{color:var(--color-text-muted);margin-bottom:6px;font-size:.813rem;font-weight:600;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{left:"12px";color:var(--color-text-dark);position:absolute}.input-field{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);box-sizing:border-box;background-color:#fbfdff;border-radius:8px;outline:none;padding:10px 12px 10px 38px;font-size:.875rem;transition:border-color .2s}.input-field:focus{border-color:var(--color-primary)}.login-button{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:.875rem;font-weight:600;transition:background-color .2s}.login-button:hover{background-color:var(--color-primary-hover)}.login-register-action{text-align:center;margin-top:16px}.login-text-button{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:600}.login-text-button:hover{color:var(--color-primary-hover);text-decoration:underline}.mensaje-error{background-color:var(--color-danger-bg);color:#d84b5e;border:1px solid var(--color-danger-border);border-radius:8px;margin-bottom:16px;padding:10px;font-size:.813rem}.registro-container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.registro-card{box-sizing:border-box;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:900px;padding:28px;box-shadow:0 24px 60px #6a84a62e}.registro-title{color:var(--color-text-primary);text-align:center;margin:0 0 24px;font-size:1.375rem;font-weight:700}.registro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.registro-column{flex-direction:column;gap:12px;min-width:0;display:flex}.registro-field{flex-direction:column;gap:6px;display:flex}.registro-field-wide{gap:8px}.registro-label{color:var(--color-text-muted);font-size:.813rem;font-weight:600}.registro-input{box-sizing:border-box;background-color:var(--color-bg);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);font:inherit;border-radius:8px;outline:none;padding:10px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s,opacity .2s}.registro-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #dcecff}.registro-input:disabled{cursor:not-allowed;opacity:.55}.registro-input-error{border-color:var(--color-offline)}.registro-input-success{border-color:var(--color-online)}.registro-feedback{font-size:.75rem;line-height:1.4}.registro-feedback-error{color:#d84b5e}.registro-message{text-align:center;border-radius:8px;margin-bottom:18px;padding:10px 12px;font-size:.813rem}.registro-message-error{background-color:var(--color-danger-bg);color:#d84b5e;border:1px solid var(--color-danger-border)}.registro-message-success{background-color:var(--color-success-bg);color:#2e9878;border:1px solid var(--color-success-border)}.registro-rubros-list{background-color:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;flex-wrap:wrap;gap:8px;max-height:200px;padding:10px;display:flex;overflow-y:auto}.registro-rubro-check{opacity:0;pointer-events:none;position:absolute}.registro-rubro-option{box-sizing:border-box;min-width:0;color:var(--color-text-secondary);cursor:pointer;text-align:center;border:1px solid #dbe4f0;border-radius:8px;flex:120px;padding:10px;font-size:.813rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s}.registro-rubro-option:hover,.registro-rubro-option.selected{border-color:var(--color-primary);color:var(--color-text-primary);background-color:#e8f2ff}.registro-help-text{color:var(--color-text-muted);font-size:.75rem}.registro-actions{align-items:center;gap:12px;margin-top:24px;display:flex}.registro-button{cursor:pointer;font:inherit;border-radius:8px;padding:13px 16px;font-size:.875rem;font-weight:700;transition:background-color .2s,border-color .2s,opacity .2s}.registro-button-primary{background-color:var(--color-primary);border:1px solid var(--color-primary);color:#fff;flex:1}.registro-button-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.registro-button-secondary{border:1px solid var(--color-border);color:var(--color-text-secondary);background-color:#0000}.registro-button-secondary:hover{color:var(--color-text-primary);background-color:#eef5ff}.registro-button:disabled{cursor:not-allowed;opacity:.5}.login-card:has(.registro-card){max-width:960px;box-shadow:none;background-color:#0000;border:none;padding:0}.login-card:has(.registro-card) .registro-container{min-height:auto;padding:0}@media (width<=840px){.registro-grid{grid-template-columns:1fr}.registro-card{padding:24px}}@media (width<=520px){.registro-container{padding:16px}.registro-actions{flex-direction:column;align-items:stretch}.registro-button{width:100%}}.payment-result-container{text-align:center;flex-direction:column;align-items:center;display:flex}.payment-result-icon{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:20px;animation:2s infinite pulse-animation;display:flex}.payment-result-icon.success{background-color:var(--color-success-bg);color:var(--color-online);border:2px solid var(--color-success-border)}.payment-result-icon.failure{background-color:var(--color-danger-bg);color:var(--color-offline);border:2px solid var(--color-danger-border)}.payment-result-icon.pending{color:#d97706;background-color:#fffbeb;border:2px solid #fde68a}.payment-result-title{margin-bottom:12px;font-size:1.5rem;font-weight:700}.payment-result-title.success{color:#1e7e34}.payment-result-title.failure{color:#bd2130}.payment-result-title.pending{color:#b57a00}.payment-details-table{background-color:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:12px;width:100%;margin:24px 0;padding:16px;display:flex}.payment-details-row{justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.payment-details-label{color:var(--color-text-secondary);align-items:center;gap:4px;font-weight:500;display:inline-flex}.payment-details-value{color:var(--color-text-primary);font-family:monospace;font-weight:600}.payment-action-button{cursor:pointer;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:.875rem;font-weight:600;transition:background-color .2s,transform .1s;display:inline-flex}.payment-action-button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.payment-action-button:active{transform:translateY(0)}.text-center{text-align:center}.inline-icon{vertical-align:middle;display:inline-block}.inline-icon-btn{vertical-align:middle}.ofertas-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:20px;display:grid}.oferta-card{background:#fff;border:1px solid #e6e6e6;border-radius:12px;flex-direction:column;padding:18px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 10px #0000001f}.oferta-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #0000002e}.oferta-card h3{color:#0d6efd;margin:0 0 12px;font-size:1.2rem}.oferta-card p{margin:4px 0;line-height:1.4}.btn-qr{color:#fff;cursor:pointer;background:#2ced93;border:none;border-radius:8px;margin-top:auto;padding:10px 16px;font-size:15px;transition:background .2s}.btn-qr:hover{background:#157347}.btn-pagar{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:10px 16px;font-size:15px;transition:background-color .2s,transform .1s}.btn-pagar:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-pagar:disabled{opacity:.6;cursor:not-allowed}.qr-card{align-items:center;max-width:450px;margin:0 auto}.qr-imagen{background:#fff;border:1px solid #ddd;border-radius:12px;width:100%;max-width:350px;height:auto;margin:20px 0;padding:12px}@keyframes pulse-animation{0%{box-shadow:0 0 #69a7ff66}70%{box-shadow:0 0 0 10px #69a7ff00}to{box-shadow:0 0 #69a7ff00}}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background-color:#0f080666;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-surface);text-align:center;border-radius:12px;width:100%;max-width:320px;padding:24px;animation:.2s ease-out modal-fade-in;box-shadow:0 18px 45px #6a84a629}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-title{color:var(--color-text-primary);margin-top:0;margin-bottom:12px;font-size:1.125rem;font-weight:600}.modal-body{color:var(--color-text-secondary);margin-bottom:24px;font-size:.875rem;line-height:1.5}.modal-actions{justify-content:space-between;gap:12px;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px;font-size:.875rem;font-weight:600;transition:background-color .2s}.modal-btn-cancel{background-color:var(--color-surface-soft);color:var(--color-text-secondary);border:1px solid var(--color-border)}.modal-btn-cancel:hover{background-color:#e2ebf6}.modal-btn-confirm{background-color:var(--color-danger-bg);color:#d84b5e;border:1px solid var(--color-danger-border)}.modal-btn-confirm:hover{background-color:#ffe4e8}.pwa-banner{z-index:99999;background:#fff;border-radius:10px;padding:15px;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #00000040}.pwa-banner button{cursor:pointer;border:none;border-radius:8px;padding:10px 18px}.btn-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-top:auto;padding:10px 16px;font-size:15px;text-decoration:none;transition:font-weight .2s,color .2s}.btn-link:hover{color:var(--color-primary-hover);font-weight:700}.comprobante-container{color:#333;background-color:#fff;border:1px solid #ddd;border-radius:8px;max-width:350px;margin:20px auto;padding:20px;font-family:monospace;box-shadow:0 4px 8px #0000001a}.comprobante-header{text-align:left;margin-bottom:15px;font-size:13px;line-height:1.4}.comprobante-title{text-align:center;border-bottom:2px dashed #ccc;margin:0 0 15px;padding-bottom:10px;font-size:18px;color:#000!important}.comprobante-info{margin-bottom:15px;font-size:14px;line-height:1.6}.comprobante-row{justify-content:space-between;display:flex}.comprobante-products{border-top:1px solid #eee;border-bottom:1px solid #eee;margin-bottom:15px;padding:15px 0;font-size:14px;line-height:1.6}.comprobante-product-name{margin-bottom:5px}.comprobante-total{text-align:right;color:#2c3e50;margin-bottom:15px;font-size:18px;font-weight:700}.comprobante-footer{text-align:left;color:#666;border-top:2px dashed #ccc;padding-top:5px;font-size:12px}.comprobante-cae-value{margin-top:5px;font-size:14px}.nav-button{transition:color .25s}.nav-button.catalogos-activo,.nav-button.carrito-activo{color:#0906e6;background-color:#e8f2ff;border-color:#e8f2ff;border-radius:12px}
