:root{--color-primary: #001f3f;--color-background: #FFFFFF;--color-text: #000000;--color-warning: #FFDC00;--color-secondary: #6c757d;--color-success: #00703c;--color-error: #d32f2f;--color-border: #dee2e6;--font-size-base-mobile: 19.5px;--font-size-base-desktop: 20px;--font-size-h1: 1.75rem;--font-size-h2: 1.5rem;--font-size-h3: 1.25rem;--font-size-button: 1.25rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--border-radius: 8px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .1);--box-shadow-hover: 0 4px 12px rgba(0, 0, 0, .15);--top-nav-height: 70px;--bottom-nav-height: 80px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base-mobile);color:var(--color-text);background-color:var(--color-background);line-height:1.6}@media(min-width:768px){body{font-size:var(--font-size-base-desktop)}}h1{font-size:var(--font-size-h1);font-weight:700;margin-bottom:var(--spacing-md)}h2{font-size:var(--font-size-h2);font-weight:600;margin-bottom:var(--spacing-sm)}h3{font-size:var(--font-size-h3);font-weight:600;margin-bottom:var(--spacing-sm)}button{font-size:var(--font-size-button);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-secondary);color:#fff;border:2px solid var(--color-secondary);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;font-family:inherit;min-height:48px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}button.primary:hover:not(:disabled){background-color:#036;box-shadow:var(--box-shadow-hover);transform:translateY(-1px)}button.secondary{background-color:var(--color-background);color:var(--color-primary);border-color:var(--color-primary)}button.secondary:hover:not(:disabled){background-color:#f8f9fa;box-shadow:var(--box-shadow-hover);transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--color-warning);outline-offset:3px;border-color:var(--color-primary)}input,select,textarea{font-size:var(--font-size-base-mobile);padding:var(--spacing-sm);border:2px solid var(--color-border);border-radius:var(--border-radius);width:100%;margin-bottom:var(--spacing-sm);font-family:inherit;transition:border-color .2s ease}input:hover,select:hover,textarea:hover{border-color:var(--color-secondary)}label{display:block;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text)}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:#036;text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,#003366 100%);padding:var(--spacing-md)}.login-card{background:#fff;border-radius:var(--border-radius);box-shadow:0 8px 24px #0000004d;padding:var(--spacing-xl);max-width:450px;width:100%}.login-card h1{color:var(--color-primary);text-align:center;margin-bottom:var(--spacing-xs)}.login-card .subtitle{text-align:center;color:var(--color-secondary);margin-bottom:var(--spacing-lg);font-size:1.1rem}.login-card .form-group{margin-bottom:var(--spacing-md)}.login-card button{width:100%;margin-top:var(--spacing-sm)}.confirmation-modal{max-width:400px;width:90%;text-align:center}.warning-border{border-top:5px solid var(--color-warning)}.modal-header h3{margin-top:0;color:var(--text-color)}.modal-body{margin:1.5rem 0;font-size:1.1rem;color:#555}.primary-btn{background-color:var(--color-primary);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:700}.warning-btn{background-color:var(--color-warning);color:#333;border:none;padding:.8rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:700}.cancel-btn:hover,.primary-btn:hover,.warning-btn:hover{opacity:.9}.cancel-btn{background:#fff;color:#000;border:2px solid #000;padding:.8rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:600;min-height:40px}.stock-modal{background-color:#fff;border-radius:var(--border-radius);width:95%;max-width:550px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;border:2px solid var(--color-border);display:flex;flex-direction:column}.stock-modal-header{padding:1rem 1.5rem;border-bottom:2px solid var(--color-border);background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius) var(--border-radius) 0 0;flex-shrink:0}.stock-modal-header .product-info{margin:0;font-size:1.1rem}.stock-modal-header .product-code{font-weight:400;opacity:.8}.stock-loading{padding:2rem;text-align:center;color:var(--color-secondary);font-size:1.1rem}.stock-modal-body{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);overflow-y:auto}.stock-modal-body h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-primary)}.no-stock-message{color:var(--color-secondary);font-style:italic;padding:1rem;background-color:#f8f9fa;border-radius:var(--border-radius);text-align:center}.stock-table{width:100%;border-collapse:collapse;font-size:1rem}.stock-table th,.stock-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.stock-table th{background-color:#f8f9fa;font-weight:600;color:var(--color-text)}.stock-table tbody tr:hover{background-color:#f8f9fa}.stock-table tr.negative-stock{background-color:#fff5f5}.stock-table td.negative{color:var(--color-error);font-weight:600}.stock-table tfoot .total-row{background-color:#e9ecef;border-top:2px solid var(--color-border)}.stock-table tfoot .total-row td{font-weight:700;color:var(--color-primary)}.adjust-form{padding:1.25rem 1.5rem;background-color:#fafafa;overflow-y:auto;flex:1}.adjust-form h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-primary)}.adjust-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.adjust-form .form-group{display:flex;flex-direction:column}.adjust-form .form-group label{font-weight:600;margin-bottom:.5rem;font-size:.95rem}.adjust-form .form-group input,.adjust-form .form-group select{padding:.75rem;font-size:1rem;border:2px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:0}.adjust-form .form-group input:focus,.adjust-form .form-group select:focus{outline:none;border-color:var(--color-primary)}.operation-buttons{display:flex;gap:1rem}.adjust-btn{flex:1;padding:.75rem 1rem;font-size:1.1rem;font-weight:600;border:2px solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:all .2s;min-height:48px}.adjust-btn.add{background-color:var(--color-success);color:#fff}.adjust-btn.add:hover:not(:disabled){background-color:#005a30}.adjust-btn.subtract{background-color:var(--color-error);color:#fff}.adjust-btn.subtract:hover:not(:disabled){background-color:#b71c1c}.adjust-btn:disabled{opacity:.6;cursor:not-allowed}.adjust-btn:focus{outline:3px solid var(--color-warning);outline-offset:2px}.stock-modal-actions{padding:1rem 1.5rem;display:flex;justify-content:flex-end;border-top:1px solid var(--color-border);background-color:#f8f9fa;border-radius:0 0 var(--border-radius) var(--border-radius);flex-shrink:0}.stock-modal-actions button{min-width:120px}@media(max-width:600px){.modal-overlay{padding:0;align-items:flex-end}.stock-modal{width:100%;height:100%;max-height:100%;max-width:100%;border-radius:0;border:none}.stock-modal-header{padding:.5rem 1rem;border-radius:0}.stock-modal-body{padding:.5rem .75rem;flex:0 0 auto;max-height:40%}.stock-modal-body h3{margin-bottom:.25rem;font-size:1rem}.no-stock-message{padding:.5rem;margin-top:.25rem;font-size:.9rem}.adjust-form{padding:.75rem}.adjust-form .form-row{grid-template-columns:1fr;gap:.25rem;margin-bottom:.5rem}.adjust-form h3{margin-bottom:.25rem;font-size:1rem}.adjust-form .form-group label{margin-bottom:.1rem;font-size:.9rem}.adjust-form .form-group input,.adjust-form .form-group select{padding:.4rem .5rem;font-size:.95rem}.operation-buttons{flex-direction:column;gap:.5rem;margin-top:.5rem}.adjust-btn{min-height:38px;padding:.4rem;font-size:1rem}.stock-table th,.stock-table td{padding:.25rem .5rem;font-size:.85rem}}.neg-correction-modal{background:#fff;border-radius:8px;width:92%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;border-top:5px solid #c0392b;box-shadow:0 8px 24px #0003;overflow:hidden}.neg-correction-header{padding:1.5rem 1.5rem .75rem;border-bottom:1px solid #eee}.neg-correction-header h2{margin:0 0 .5rem;color:#721c24;font-size:1.4rem}.neg-correction-header p{margin:0;color:#555;font-size:.95rem}.neg-correction-table-wrapper{flex:1;overflow-y:auto;padding:0 1rem}.neg-correction-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem}.neg-correction-table th,.neg-correction-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid #f0f0f0}.neg-correction-table th{background-color:#f8f8f8;font-weight:700;color:#333;border-bottom:2px solid #ddd}.neg-correction-table tbody tr:hover{background-color:#fef2f2}.neg-stock-cell{display:inline-block;background-color:#e53935;color:#000;font-weight:700;border-radius:4px;padding:.2rem .6rem;min-width:3rem;text-align:center}.neg-product-name{font-weight:500}.neg-correct-btn{background-color:#001f3f;color:#fff;border:none;border-radius:4px;padding:.4rem .8rem;font-size:.875rem;cursor:pointer;min-height:unset;font-weight:600;transition:background-color .2s}.neg-correct-btn:hover{background-color:#036}.neg-correction-footer{padding:1rem 1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end}@media(max-width:600px){.neg-correction-modal{width:100%;max-height:90vh;border-radius:12px 12px 0 0;margin-top:auto}.neg-correction-table thead{display:none}.neg-correction-table,.neg-correction-table tbody,.neg-correction-table tr,.neg-correction-table td{display:block;width:100%}.neg-correction-table tr{background:#fff;border:1px solid #eee;border-radius:6px;margin-bottom:.75rem;padding:.5rem;box-shadow:0 1px 3px #0000000f}.neg-correction-table td{border:none;padding:.3rem .5rem;position:relative;padding-left:45%;text-align:right;min-height:2rem}.neg-correction-table td:before{content:attr(data-label);position:absolute;left:.5rem;width:40%;font-weight:600;color:#777;text-align:left}.neg-correct-btn{width:100%;padding:.6rem;font-size:.9rem}}.dashboard{max-width:1200px;margin:0 auto;margin-top:-.8rem}.dashboard h1{color:var(--color-primary);margin-bottom:var(--spacing-xs)}.dashboard-subtitle{color:var(--color-secondary);font-size:1.2rem;margin-bottom:1.125rem}.alert-card{display:flex;align-items:center;gap:var(--spacing-md);border-radius:var(--border-radius);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:.9rem;transition:all .3s ease;position:relative}.alert-card.clickable{cursor:pointer}.alert-card.clickable:hover{transform:translateY(-2px)}.alert-card .alert-icon{font-size:1.8rem;flex-shrink:0}.alert-card .alert-content{flex:1}.alert-card .alert-content strong{display:block;margin-bottom:.25rem;font-size:1.05rem}.alert-card .alert-content p{margin:0;font-size:.95rem}.alert-card .alert-action{font-weight:600;white-space:nowrap;flex-shrink:0}.alert-card.info{background:linear-gradient(135deg,#e8f4fd,#d0ebff);border:2px solid #74b9ff;color:#1a5276}.alert-card.warning{background:linear-gradient(135deg,#fff3cd,#ffe69c);border:2px solid #ffc107;color:#664d03;cursor:pointer}.alert-card.warning:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffc1074d}.alert-card.error{background:linear-gradient(135deg,#fdecea,#f8d7da);border:2px solid #e74c3c;color:#721c24}.alert-card.danger{background:linear-gradient(135deg,#fdecea,#f5c6cb);border:2px solid #c0392b;color:#721c24;align-items:center}.alert-card.danger:hover{box-shadow:0 4px 12px #c0392b40}.alert-close-btn{background:none;border:2px solid currentColor;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:inherit;font-size:.9rem;font-weight:700;opacity:.7;transition:opacity .2s ease;flex-shrink:0;padding:0}.alert-close-btn:hover{opacity:1}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:1.5rem}.dashboard-card{background:#fff;border:2px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);box-shadow:var(--box-shadow);transition:all .3s ease}.dashboard-card:hover{box-shadow:var(--box-shadow-hover);border-color:var(--color-primary);transform:translateY(-2px)}.dashboard-card h3{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:1.5rem}.dashboard-card p{color:var(--color-secondary);font-size:1.1rem}.dashboard-card.clickable{cursor:pointer}.dashboard-card.clickable:focus{outline:3px solid var(--color-warning);outline-offset:2px}.dashboard-card.admin-card{border-color:var(--color-primary);background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.debtor-reminder{display:flex;align-items:center;gap:var(--spacing-md);background:linear-gradient(135deg,#fff3cd,#ffe69c);border:2px solid #ffc107;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);cursor:pointer;transition:all .3s ease}.debtor-reminder:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffc1074d}.debtor-reminder:focus{outline:3px solid var(--color-primary);outline-offset:2px}.reminder-icon{font-size:2rem}.reminder-text{flex:1;font-size:1.1rem;color:#664d03}.reminder-amount{font-size:1.1rem;color:#664d03;background:#ffffffb3;padding:.25rem .75rem;border-radius:var(--radius-sm)}.reminder-arrow{font-size:1.5rem;color:#664d03}@media(max-width:600px){.debtor-reminder{flex-wrap:wrap}.reminder-amount{width:100%;margin-top:var(--spacing-sm);text-align:center}.reminder-arrow{display:none}.alert-card{flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md)}.alert-card .alert-action{white-space:normal;width:100%;text-align:right;margin-top:.3rem;font-size:.95rem}}@media(max-width:400px){.dashboard{padding:0 var(--spacing-sm);margin:0}.dashboard h1{font-size:1.5rem;text-align:center}.dashboard-subtitle{font-size:1rem;text-align:center;margin-bottom:var(--spacing-md)}.dashboard-grid{grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:0 .5rem}.dashboard-card{padding:var(--spacing-md);width:100%;box-sizing:border-box}}.backup-page{padding-bottom:4rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.header-actions{display:flex;gap:var(--spacing-md)}.backups-list-container{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.backups-table{width:100%;border-collapse:collapse}.backups-table th,.backups-table td{padding:var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.backups-table th{background-color:var(--color-bg-secondary);font-weight:600;color:var(--color-text-secondary)}.backups-table tr:hover{background-color:var(--color-bg-hover)}.empty-state{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);font-size:1.1rem}.download-buttons-group{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.btn-large{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:12px 20px;border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;color:#fff;min-width:140px;box-shadow:0 2px 4px #0000001a}.btn-large:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-large:active{transform:translateY(0)}.btn-excel{background-color:#217346}.btn-excel:hover{background-color:#1a5c38}.btn-db{background-color:#007bff}.btn-db:hover{background-color:#0069d9}.btn-download-all{background-color:#6f42c1;width:100%;margin-top:.5rem}.btn-download-all:hover{background-color:#5a32a3}.btn-restore{background-color:var(--color-warning);color:#212529;font-size:.9rem;padding:8px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media(max-width:768px){.btn-restore{width:100%;text-align:center;padding:10px 8px}}.btn-restore:hover{background-color:#e0a800}.modal-content.danger .modal-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.modal-content.danger .modal-actions button{white-space:normal;text-align:center;padding:.6rem 1rem;height:auto;line-height:1.2}.modal-content.danger .modal-actions button.danger{background-color:#c0392b;color:#fff;border:none;font-size:.9rem}.modal-content.danger .modal-actions button.danger:hover:not(:disabled){background-color:#a93226}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;flex-direction:column}.header-actions button,.header-actions label{width:100%;text-align:center}.backups-table thead{display:none}.backups-table,.backups-table tbody,.backups-table tr,.backups-table td{display:block;width:100%}.backups-table tr{margin-bottom:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.backups-table td{padding:.75rem;text-align:right;position:relative;padding-left:50%}.backups-table td:before{content:attr(data-label);position:absolute;left:.75rem;width:45%;text-align:left;font-weight:600;color:var(--color-text-secondary)}.download-buttons-group{justify-content:flex-end}.btn-large{width:100%}}.user-form-modal{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003}.user-form-modal h2{color:var(--color-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.user-form-modal .form-group{margin-bottom:var(--spacing-lg)}.user-form-modal label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;font-size:1.1rem;color:var(--color-text)}.user-form-modal .required{color:var(--color-error)}.user-form-modal input,.user-form-modal select{width:100%;padding:var(--spacing-md);font-size:1.1rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease}.user-form-modal input:focus,.user-form-modal select:focus{border-color:var(--color-primary);outline:3px solid var(--color-warning);outline-offset:2px}.user-form-modal input[aria-invalid=true],.user-form-modal select[aria-invalid=true]{border-color:var(--color-error)}.user-form-modal .error-message{display:block;color:var(--color-error);font-size:.95rem;margin-top:var(--spacing-xs);font-weight:500}.user-form-modal .help-text{display:block;color:var(--color-secondary);font-size:.9rem;margin-top:var(--spacing-xs);font-style:italic}.user-form-modal .modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.user-form-modal .modal-actions button{min-width:140px}.user-form-modal select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23001f3f' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}@media(max-width:480px){.user-form-modal{width:95%;padding:var(--spacing-lg)}.user-form-modal .modal-actions{flex-direction:column-reverse}.user-form-modal .modal-actions button{width:100%}}.delete-user-modal{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);width:90%;max-width:450px;box-shadow:0 4px 20px #0003;text-align:center}.delete-user-modal h2{color:var(--color-error);margin:0 0 var(--spacing-lg) 0}.delete-user-modal p{margin:0 0 var(--spacing-sm) 0;font-size:1.1rem}.delete-user-modal .user-detail{font-size:1.3rem;color:var(--color-primary);margin:var(--spacing-md) 0}.delete-user-modal .user-email{color:var(--color-secondary);font-size:1rem}.delete-user-modal .warning{background-color:#fff3cd;color:#856404;padding:var(--spacing-md);border-radius:var(--radius-sm);margin:var(--spacing-lg) 0;font-weight:600}.delete-user-modal .modal-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl)}.delete-user-modal .modal-actions button{min-width:120px}.delete-user-modal button.danger{background-color:var(--color-error);color:#fff}.delete-user-modal button.danger:hover{background-color:var(--color-danger)}@media(max-width:480px){.delete-user-modal{width:95%;padding:var(--spacing-lg)}.delete-user-modal .modal-actions{flex-direction:column-reverse}.delete-user-modal .modal-actions button{width:100%}}.delete-product-modal{background-color:#fff;border-radius:var(--radius-md);padding:var(--spacing-xl);width:90%;max-width:450px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0003;text-align:center}.delete-product-modal h2{color:var(--color-error);margin:0 0 var(--spacing-lg) 0}.delete-product-modal p{margin:0 0 var(--spacing-sm) 0;font-size:1.1rem}.delete-product-modal .product-detail{font-size:1.3rem;color:var(--color-primary);margin:var(--spacing-md) 0}.delete-product-modal .product-info{color:var(--color-secondary);font-size:1rem}.delete-product-modal .warning{background-color:#fff3cd;color:#856404;padding:var(--spacing-md);border-radius:var(--radius-sm);margin:var(--spacing-lg) 0;font-weight:600}.delete-product-modal .modal-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl)}.delete-product-modal .modal-actions button{min-width:120px}.delete-product-modal button.danger{background-color:var(--color-error);color:#fff}.delete-product-modal button.danger:hover{background-color:var(--color-danger)}@media(max-width:480px){.delete-product-modal .modal-actions{flex-direction:column-reverse}.delete-product-modal .modal-actions button{width:100%}}.admin-page{padding:var(--spacing-lg)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.admin-header h1{margin:0;color:var(--color-primary)}.users-table-container{overflow-x:auto;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000001a}.users-table{width:100%;border-collapse:collapse;background-color:#fff;font-size:1rem}.users-table th,.users-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.users-table th{background-color:var(--color-primary);color:#fff;font-weight:600;font-size:1.1rem}.users-table tbody tr:hover{background-color:#f8f9fa}.users-table tbody tr:nth-child(2n){background-color:#fafafa}.users-table tbody tr:nth-child(2n):hover{background-color:#f0f0f0}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.role-badge.admin{background-color:var(--color-primary);color:#fff}.role-badge.empleado{background-color:var(--color-secondary);color:#fff}.action-btn:disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.7}@media(max-width:768px){.users-table th,.users-table td{padding:var(--spacing-sm);font-size:.9rem}.users-table th:first-child,.users-table td:first-child{display:none}.actions-cell{flex-direction:column}.action-btn{width:100%;justify-content:center}}.history-page{padding:2rem;background-color:var(--background-color)}.history-header-column{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.date-filters-row{display:flex;gap:2rem;align-items:center}.pagination-row{display:flex;justify-content:space-between;align-items:center;width:100%}.bottom-pagination{justify-content:flex-end;margin-top:1rem}.pagination-controls{display:flex;gap:.5rem;align-items:center}.btn-pagination{padding:.4rem .8rem;background-color:#fff;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.9rem}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.page-indicator{font-weight:700;min-width:50px;text-align:center}@media(max-width:768px){.date-filters-row{flex-direction:row;width:100%;overflow-x:auto}.pagination-row{flex-direction:column;align-items:flex-end;gap:1rem}.total-label{align-self:flex-start;margin-bottom:.5rem}}.history-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 1px 3px #0000001a;border-radius:8px}.history-table th,.history-table td{padding:1rem;text-align:left;border-bottom:1px solid #dee2e6;border-right:1px solid #f0f0f0}.history-table td:last-child,.history-table th:last-child{border-right:none}.history-table th{background-color:var(--color-primary);font-weight:700;color:#fff;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.history-table tr:nth-child(2n){background-color:#f8f9fa}.history-table tr:hover{background-color:#e9ecef;transition:background-color .2s ease}.amount-cell{font-weight:700;color:var(--text-color)}.btn-details{padding:.4rem .8rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-pay{padding:.4rem .8rem;background-color:var(--color-success);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.status-pill{padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:700;text-transform:uppercase}.status-pagado{background-color:#d1fae5;color:#065f46}.status-parcial{background-color:#fef3c7;color:#92400e}.status-pendiente{background-color:#fee2e2;color:#b91c1c}.btn-print{padding:.6rem 1.2rem;background-color:#3b82f6;color:#fff;border:1px solid #2563eb;border-radius:6px;font-size:1rem;cursor:pointer;font-weight:700;display:flex;align-items:center;gap:.5rem;transition:background-color .2s}.btn-print:hover{background-color:#2563eb}@media(max-width:768px){.history-page{padding:.5rem}.history-header{flex-direction:column;align-items:flex-start;gap:1rem}.date-filter{width:100%}.table-responsive{border-radius:0;box-shadow:none;overflow:visible}.history-table,.history-table thead,.history-table tbody,.history-table th,.history-table td,.history-table tr{display:block}.history-table thead tr{position:absolute;top:-9999px;left:-9999px}.history-table tr{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:1rem;padding:1rem;box-shadow:0 2px 4px #0000000d}.history-table td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%;padding-top:.5rem;padding-bottom:.5rem;text-align:right;display:flex;justify-content:space-between;align-items:center}.history-table td:last-child{border-bottom:none;justify-content:flex-end;padding-top:1rem;margin-top:.5rem;border-top:1px solid #eee}.history-table td:before{content:attr(data-label);font-weight:600;color:#6c757d;text-align:left;width:45%}.history-table td{display:block;text-align:right}.history-table td:before{position:absolute;top:.5rem;left:.5rem;width:45%;padding-right:10px;white-space:nowrap}.action-buttons{display:flex;justify-content:flex-end;gap:.5rem;width:100%}.amount-cell{font-size:1.1rem;color:var(--color-primary)}.history-header-column h1{margin-bottom:.25rem;font-size:1.5rem}.date-filters-row{gap:.5rem;justify-content:space-between;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;width:48%}.date-filters-row button{width:100%;margin-top:.25rem;height:48px!important}.date-filter{width:100%;padding:.4rem}.date-filter::-webkit-calendar-picker-indicator{margin-left:5px;padding:0;cursor:pointer}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.sales-detail-modal-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-height:85vh;display:flex;flex-direction:column;width:95%;max-width:1200px;overflow:hidden}.sales-detail-modal-content .modal-header{background-color:var(--color-primary);color:#fff;padding:1rem 2rem;margin:-2rem -2rem 1rem;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center}.sales-detail-modal-content .modal-header h2{color:#fff;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee;flex-shrink:0}.modal-table-container{margin-top:1rem;flex:1;overflow-y:auto;min-height:150px;border:1px solid #eee;border-radius:4px}.history-table thead th{position:sticky;top:0;background-color:var(--color-primary);color:#fff;z-index:5;box-shadow:0 1px 2px #0000000d}@media(max-width:768px){.sales-detail-modal-content{width:100%!important;max-width:none!important;height:100%!important;max-height:100vh!important;margin:0!important;border-radius:0!important;padding:.5rem!important}.sales-detail-modal-content .modal-header{margin:-.5rem -.5rem .5rem;padding:1rem;background-color:var(--color-primary);color:#fff;border-radius:0;border-bottom:none;flex-shrink:0;display:block}.sales-detail-modal-content .modal-header h2{font-size:1.25rem;margin-bottom:0;color:#fff}.sale-info{display:flex;flex-direction:column;gap:.25rem!important;font-size:.95rem;margin-top:.3rem;margin-bottom:.3rem!important;padding-bottom:0!important;flex-shrink:0}.sale-info p{margin:0!important;padding:0!important;line-height:1.1!important}.modal-table-container{margin-top:0!important;padding-top:0!important;border:none}.history-table td{padding:.4rem .25rem;padding-left:35%;font-size:.95rem}.history-table td:before{width:30%;font-size:.85rem;top:.4rem}.product-name-cell{word-break:break-word;line-height:1.2}.modal-actions{margin-top:.5rem;flex-direction:row!important;justify-content:space-between!important;gap:1rem;padding-top:.5rem;border-top:1px solid #eee;flex-shrink:0}.modal-actions button{flex:1;margin-left:0!important;font-size:1rem;padding:.5rem;min-height:48px}.btn-print{width:auto!important;justify-content:center}.modal-content{max-width:100%;box-sizing:border-box;overflow:hidden}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:2000}.modal-content.warning-modal{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;border-top:5px solid var(--color-warning);box-shadow:0 4px 6px #0000001a}.warning-list{list-style:none;padding:0;margin:1.5rem 0;max-height:300px;overflow-y:auto}.warning-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem;border-bottom:1px solid #eee}.warning-info{display:flex;flex-direction:column}.warning-name{font-weight:700}.warning-stock{color:var(--color-error);font-size:.9rem}.correct-btn{background:#fff;color:#000;border:2px solid #000;padding:.5rem .8rem;border-radius:4px;cursor:pointer;font-weight:700}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.cancel-btn{background:#fff;color:#000;border:2px solid #000;padding:.8rem 1.2rem;border-radius:4px;cursor:pointer;font-weight:600;min-height:40px}.continue-btn{background:var(--color-warning);border:none;color:#333;padding:.8rem 1.2rem;border-radius:4px;font-weight:700;cursor:pointer}.save-btn{background:var(--color-success);color:#fff;border:none;padding:.8rem 1.2rem;border-radius:4px;cursor:pointer}.form-group label{display:block;margin-bottom:.5rem;font-weight:700}.venta-page{height:calc(100vh - 70px);display:flex;overflow:hidden;background-color:var(--background-color)}.catalog-panel{flex:3;padding:1rem;overflow-y:auto;border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem}.ticket-panel{flex:2;padding:1rem;display:flex;flex-direction:column;background-color:var(--surface-color);transition:background-color .3s ease}.ticket-panel.theme-minorista{background-color:#f0f9ff;border-left:5px solid #007bff}.ticket-panel.theme-mayorista{background-color:#fff8e1;border-left:5px solid #ff9800}@media(prefers-color-scheme:dark){.ticket-panel.theme-minorista{background-color:#1a2634;border-left-color:#4da3ff}.ticket-panel.theme-mayorista{background-color:#332b1a;border-left-color:#ffb74d}}.catalog-header{display:flex;gap:1rem;align-items:center}.search-bar-large{flex:1;padding:1rem;font-size:1.2rem;border:2px solid var(--primary-color);border-radius:8px}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.product-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem;cursor:pointer;transition:transform .1s,box-shadow .1s;-webkit-user-select:none;user-select:none}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a;border-color:var(--primary-color)}.product-card h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-color)}.product-card .price{font-size:1.3rem;font-weight:700;color:var(--primary-color)}.product-card .stock{font-size:.9rem;color:var(--text-secondary)}.stock-warning{color:var(--color-error);font-weight:700}.ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.sale-type-toggle{display:flex;background-color:#f0f0f0;padding:.3rem;border-radius:8px;gap:.5rem;border:1px solid #ddd}.toggle-btn{flex:1;padding:.6rem 1rem;border:none;background:transparent;cursor:pointer;border-radius:6px;font-weight:500;color:#666;transition:all .2s ease}.toggle-btn.active{background-color:#fff;color:#333;box-shadow:0 2px 4px #0000001a;font-weight:700}.theme-minorista .toggle-btn.active{color:var(--primary-color);border-left:4px solid var(--primary-color)}.theme-mayorista .toggle-btn.active{color:var(--color-warning);border-left:4px solid var(--color-warning)}.current-client-input{width:100%;padding:.8rem;margin-bottom:1rem;font-size:1rem;border:1px solid var(--border-color);border-radius:4px}.cart-items-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.cart-item{display:flex;flex-direction:column;padding:.8rem;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;gap:.3rem}.cart-row{display:flex;align-items:center}.cart-row-name b{font-size:1rem;color:var(--text-color)}.cart-row-price{justify-content:space-between;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.price-label{white-space:nowrap}.item-discount{display:flex;align-items:center;gap:.3rem;font-size:.85rem}.item-discount label{white-space:nowrap;color:var(--text-secondary);font-size:.8rem}.discount-input{width:95px;padding:.2rem .4rem;border:2px solid #adb5bd;border-radius:4px;text-align:right;font-size:.85rem}.cart-row-actions{justify-content:space-between;gap:.5rem}.cart-item-qty{display:flex;align-items:center;gap:.4rem}.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--surface-color);cursor:pointer;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center}.qty-btn:hover{background-color:#e9ecef}.qty-input{width:45px;text-align:center;padding:.25rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;font-weight:600}.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button,.discount-input::-webkit-outer-spin-button,.discount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-item-total{font-weight:700;font-size:1.1rem;min-width:80px;text-align:right}.remove-btn{background:none;border:none;color:var(--color-error);margin-left:.3rem;cursor:pointer;font-size:1.3rem;font-weight:700}.remove-btn:hover{color:#a31b1b}.payment-section{margin-top:auto;padding-top:1rem;border-top:2px solid var(--border-color)}.payment-stack{margin-bottom:.5rem}.payment-row{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:stretch}.payment-row-new{align-items:stretch}.payment-select,.payment-amount{padding:.5rem;border:1px solid var(--border-color);border-radius:4px}.payment-select{flex:2}.payment-amount{flex:1;text-align:right}.add-payment-btn{width:45px;border:none;border-radius:8px;background-color:#06c;color:#fff;font-size:1.5rem;font-weight:700;cursor:pointer;transition:transform .1s,background-color .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;opacity:1}.add-payment-btn:active{transform:scale(.95)}.add-payment-btn:hover{background-color:#0052a3}.totals-area{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;padding-top:.5rem}.totals-discount-col{display:flex;flex-direction:column;gap:.3rem}.discount-global-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.discount-global-input{width:105px;padding:.4rem;border:1px solid var(--border-color);border-radius:4px;text-align:right;font-size:1rem}.discount-global-input::-webkit-outer-spin-button,.discount-global-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.totals-numbers-col{text-align:right}.totals-line{font-size:.95rem;margin-bottom:.15rem}.totals-total{font-weight:700;font-size:1.1rem}.totals-falta{color:var(--color-error, red);font-weight:600}.totals-cubierto{color:var(--color-success, green);font-weight:600}.totals-excedido{color:#dc3545;font-weight:700;animation:pulse-red 1.5s ease-in-out infinite}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.6}}.pay-btn{width:100%;padding:1.2rem;font-size:1.5rem;font-weight:700;background-color:var(--color-success);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.pay-btn:disabled{background-color:#ccc;cursor:not-allowed}@media(max-width:768px){.venta-page{flex-direction:column;height:calc(100vh - 50px - var(--bottom-nav-height));overflow:hidden}.catalog-panel,.ticket-panel{flex:1;width:100%;display:none}.catalog-panel.active,.ticket-panel.active{display:flex}.catalog-panel{padding:.25rem;gap:.5rem}.ticket-panel{padding:.25rem;overflow-y:auto;overflow-x:hidden}.ticket-header{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;padding-bottom:.3rem}.ticket-header h2{font-size:1.2rem;flex-shrink:0}.sale-type-toggle{flex:1;min-width:0;padding:.2rem;gap:.3rem}.toggle-btn{padding:.4rem .5rem;font-size:.8rem;white-space:nowrap}.current-client-input{padding:.5rem;margin-bottom:.5rem;font-size:.9rem}.cart-item{padding:.4rem;gap:.2rem;border-radius:4px}.cart-row-name b{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.cart-row-price{font-size:.8rem}.item-discount label{font-size:.75rem}.discount-input{width:75px;padding:.15rem .3rem;font-size:.8rem}.cart-row-actions{gap:.3rem}.qty-btn{width:28px;height:28px;font-size:.9rem}.qty-input{width:38px;font-size:.9rem;padding:.15rem}.cart-item-total{min-width:auto;font-size:.9rem}.remove-btn{font-size:1.1rem}.cart-items-list{flex:1;min-height:100px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;gap:.3rem}.payment-section{padding-top:.5rem;margin-top:.5rem}.payment-stack{max-height:120px;overflow-y:auto;margin-bottom:.3rem;-webkit-overflow-scrolling:touch}.payment-row{gap:.3rem;margin-bottom:.3rem}.payment-select{flex:2;font-size:.8rem;padding:.4rem}.payment-amount{flex:1;font-size:.8rem;padding:.4rem}.add-payment-btn{width:38px;height:auto;font-size:1.2rem;padding:.4rem}.totals-area{gap:.5rem;margin-bottom:.5rem;padding-top:.3rem}.discount-global-label{font-size:.8rem}.discount-global-input{width:85px;padding:.3rem;font-size:.85rem}.totals-line{font-size:.85rem}.totals-total{font-size:1rem}.pay-btn{padding:.8rem;font-size:1.1rem}.product-card{padding:.5rem}.product-card h3{font-size:.9rem;margin:0 0 .2rem}.product-card .price{font-size:1rem}.search-bar-large{padding:.5rem;font-size:.95rem}}.cart-item.stock-warning-row{border:2px solid var(--color-error);background-color:#fff5f5}.product-card-wrapper{display:contents}.product-card-family{border-top:3px solid #17a2b8}.product-card-family:hover{border-color:#138496}.variant-badge{display:inline-block;background-color:#17a2b8;color:#fff;font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;margin-bottom:.25rem}.expand-hint{font-size:.75rem;color:#17a2b8;margin-top:.3rem;font-weight:600}.variant-picker{grid-column:1 / -1;background:#fff;border:1px solid #17a2b8;border-radius:0 0 8px 8px;padding:.5rem;display:flex;flex-direction:column;gap:.4rem;margin-top:-.5rem;box-shadow:0 4px 8px #17a2b826;animation:fadeInDown .15s ease}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.variant-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;transition:background-color .1s;border:1px solid #e0f5f8}.variant-row:hover{background-color:#e0f5f8}.variant-cost{font-size:.85rem;color:#555;font-weight:600}.variant-stock{font-size:.85rem;color:var(--text-secondary)}.variant-add-btn{background-color:#17a2b8;color:#fff;border:none;border-radius:4px;padding:.25rem .6rem;font-size:.8rem;font-weight:700;cursor:pointer;transition:background-color .1s;pointer-events:none}.variant-row:hover .variant-add-btn{background-color:#138496}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.product-form-modal{background-color:#fff;border-radius:var(--border-radius);width:95%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d;border:2px solid var(--color-border);display:flex;flex-direction:column}.product-form-modal .form-body{padding:1.5rem;overflow-y:auto;flex:1}.product-form-modal .form-group{margin-bottom:1rem}.product-form-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.95rem;color:var(--color-text)}.product-form-modal .required{color:var(--color-error)}.product-form-modal .form-group input,.product-form-modal .form-group select{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:var(--border-radius);background-color:#fff;color:var(--color-text);transition:border-color .2s;margin-bottom:0}.product-form-modal .form-group input:focus,.product-form-modal .form-group select:focus{outline:none;border-color:var(--color-primary)}.product-form-modal .form-group input[aria-invalid=true],.product-form-modal .form-group select[aria-invalid=true]{border-color:var(--color-error)}.product-form-modal .error-message{display:block;color:var(--color-error);font-size:.85rem;margin-top:.25rem}.product-form-modal .form-row{display:grid;gap:1rem}.product-form-modal .prices-row{grid-template-columns:repeat(3,1fr)}.product-form-modal .stock-row{grid-template-columns:1fr 1fr}.product-form-modal .stock-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--color-border)}.product-form-modal .stock-section h3{margin:0 0 1rem;font-size:1.1rem;color:var(--color-primary)}.product-form-modal .form-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.25rem 1.5rem;background-color:#f8f9fa;border-top:1px solid var(--color-border);border-radius:0 0 var(--border-radius) var(--border-radius)}.product-form-modal .form-actions button{min-width:120px}@media(max-width:600px){.modal-overlay{padding:0;align-items:flex-end}.product-form-modal{width:100%;height:100%;max-height:100%;max-width:100%;border-radius:0;border:none}.product-form-modal .prices-row,.product-form-modal .stock-row{grid-template-columns:1fr}.product-form-modal .form-body{padding:1rem}.product-form-modal .form-group{margin-bottom:.5rem}.product-form-modal .form-group label{margin-bottom:.2rem}.product-form-modal .form-group input,.product-form-modal .form-group select{padding:.5rem .75rem}.product-form-modal .form-actions{padding:.75rem 1rem}.product-form-modal .form-row{gap:.5rem}}.field-status-hint{display:block;font-size:.82rem;color:#17a2b8;font-weight:500;margin-top:.25rem}.product-form-modal .form-group input:disabled{background-color:#f0f0f0;color:#888;cursor:not-allowed;border-color:#ccc}.stock-entry-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.stock-entry-modal{background:#fff;width:90%;max-width:1000px;height:80vh;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.mobile-tabs{display:none}.modal-body-layout{display:flex;flex:1;overflow:hidden}.left-panel{flex:1;padding:1rem;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem;background:#f1f5f9}.right-panel{flex:1.5;padding:1rem;display:flex;flex-direction:column}.form-group-row{display:flex;gap:.5rem}.provider-input,.invoice-input{flex:1;padding:.5rem;border:1px solid #cbd5e1;border-radius:4px}.location-select{width:100%;padding:.5rem;border:1px solid #cbd5e1;border-radius:4px}.search-container-row{display:flex;gap:.5rem;margin-bottom:.5rem;width:95%;align-items:flex-start}.search-bar-large{flex:1;height:3.5rem;padding:0 1rem;font-size:1.1rem;border:2px solid #3b82f6;border-radius:8px;box-sizing:border-box;margin:0}.add-product-btn{height:3.5rem;width:3.5rem;aspect-ratio:1 / 1;display:flex;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;color:#fff;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;padding:0;margin:0;box-sizing:border-box}.add-product-btn:hover{background-color:#036}.search-results{flex:1;overflow-y:auto;background:#fff;border-radius:4px;box-shadow:inset 0 2px 4px #0000000d}.search-item{padding:.75rem;border-bottom:1px solid #f1f5f9;cursor:pointer}.search-item:hover{background:#e0f2fe}.draft-list-scroll{flex:1;overflow-y:auto}.draft-item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-bottom:1px solid #e2e8f0}.draft-item:nth-child(2n){background-color:#f8fafc}.draft-item:nth-child(odd){background-color:#fff}.draft-item.item-error{background-color:#fef2f2;border-left:4px solid #ef4444}.item-info{flex:1.5}.error-badge{display:block;font-size:.75rem;color:#ef4444;font-weight:700}.item-inputs{flex:2.5;display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.input-group-col{display:flex;flex-direction:column;gap:2px}.input-group-col label{font-size:.75rem;color:#475569;font-weight:600;margin-left:2px}.qty-input,.cost-input{width:90px;padding:.35rem .5rem;border:2px solid #cbd5e1;border-radius:4px;font-size:1rem;height:2.25rem;transition:border-color .2s ease}.qty-input:focus,.cost-input:focus{border-color:var(--color-primary);outline:none}.footer-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.total-display{font-size:1.5rem;font-weight:700;color:#1e293b}.submit-btn{background:#22c55e;color:#fff;padding:.75rem 2rem;border:none;border-radius:6px;font-size:1.1rem;cursor:pointer}.submit-btn:hover{background:#16a34a}@media(max-width:768px){.stock-entry-modal{width:calc(100% - 8px);height:calc(100vh - 8px);max-height:none;border-radius:4px;margin:4px;justify-content:space-between}.modal-header{padding:.75rem}.modal-header h2{font-size:1.25rem;margin:0}.modal-body-layout{flex-direction:column;display:block;flex:1;overflow:hidden;position:relative}.left-panel,.right-panel{display:none;position:absolute;inset:0;padding:.75rem}.left-panel.active-tab,.right-panel.active-tab{display:flex;border:none}.item-inputs{flex-direction:column;align-items:flex-end;gap:.25rem}.qty-input,.cost-input{width:100px;height:2.25rem}.mobile-tabs{display:flex;background:#fff;border-top:1px solid var(--color-border);box-shadow:0 -2px 10px #0000000d;height:var(--bottom-nav-height, 70px);z-index:100;flex-shrink:0}.modal-tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;color:var(--color-secondary);padding:8px 0;min-height:auto}.modal-tab-btn .icon{font-size:1.5rem}.modal-tab-btn .label{font-size:.85rem;font-weight:500}.modal-tab-btn.active{color:var(--color-primary)}.modal-tab-btn.active .icon{transform:scale(1.1)}.footer-actions{padding:.75rem 0;margin-top:.5rem;flex-shrink:0}}.inventario-page{padding:var(--spacing-lg)}.inventario-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-sm)}.header-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.search-container{position:relative;margin-bottom:var(--spacing-sm)}.results-info-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.results-info{color:var(--color-secondary);margin-bottom:0;font-size:.95rem}.loading-state,.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-secondary);font-size:1.2rem}.products-table-container{overflow-x:auto;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000001a}.products-table{width:100%;border-collapse:collapse;background-color:#fff;font-size:1rem}.products-table th,.products-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.products-table th{background-color:var(--color-primary);color:#fff;font-weight:600;font-size:1.1rem}.products-table tbody tr:hover{background-color:#f8f9fa}.products-table tbody tr:nth-child(2n){background-color:#f2f2f2}.products-table tbody tr:nth-child(2n):hover{background-color:#e6e6e6}.product-name-cell{font-weight:500;color:var(--color-text)}.stock-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.stock-badge.in-stock{background-color:var(--color-success);color:#fff}.stock-badge.low-stock{background-color:var(--color-warning);color:#000}.stock-badge.out-of-stock{background-color:#e53935;color:#000}.stock-badge.negative-stock{background-color:#e53935;color:#000;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.price-retail{font-weight:600;color:var(--color-primary)}.actions-cell{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.action-btn{padding:.5rem .75rem;font-size:.9rem;min-height:40px;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.25rem}.action-btn.edit{background-color:var(--color-primary);color:#fff}.action-btn.edit:hover{background-color:#036}.action-btn.delete{background-color:var(--color-error);color:#fff}.action-btn.delete:hover{background-color:var(--color-danger)}.action-btn:focus{outline:3px solid var(--color-warning);outline-offset:2px}.action-btn.stock{background-color:#17a2b8;color:#fff}.action-btn.stock:hover{background-color:#138496}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:768px){.inventario-page{padding:var(--spacing-sm)}.products-table-container{border-radius:0;box-shadow:none;overflow:visible}.products-table,.products-table thead,.products-table tbody,.products-table th,.products-table td,.products-table tr{display:block}.products-table thead tr{position:absolute;top:-9999px;left:-9999px}.products-table tr{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);box-shadow:0 2px 4px #0000000d}.products-table td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%;padding-top:.5rem;padding-bottom:.5rem;text-align:right}.products-table td:last-child{border-bottom:none}.products-table td:before{position:absolute;top:.5rem;left:.5rem;width:45%;padding-right:10px;font-weight:600;text-align:left;color:var(--color-secondary);content:attr(data-label)}.product-name-cell{font-weight:700;color:var(--color-primary);font-size:1.1rem;text-align:left!important;padding-left:0!important;padding-right:0!important;margin-bottom:.5rem;border-bottom:2px solid var(--color-secondary)!important}.product-name-cell:before{display:none}.actions-cell{display:flex;justify-content:space-between;gap:var(--spacing-sm);padding-left:0!important;margin-top:.5rem}.actions-cell:before{display:none}.action-btn{flex:1;justify-content:center}}.cost-column{font-weight:800;color:#333}.jump-buttons{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:.5rem;z-index:200}@media(max-width:768px){.jump-buttons{bottom:6rem}}.jump-btn{width:40px;height:40px;border-radius:50%;border:none;background-color:var(--color-primary);color:#fff;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center;transition:transform .2s,background-color .2s;opacity:.8}.jump-btn:hover{transform:scale(1.1);background-color:#036;opacity:1}.pagination-controls{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.page-indicator{font-weight:700;min-width:60px;text-align:center}@media(max-width:768px){.inventario-page{padding:var(--spacing-sm)}.results-info-bar{flex-direction:column;align-items:flex-start!important;gap:.5rem}.results-info{margin-bottom:0;font-size:.9rem}.pagination-controls{width:100%;justify-content:space-between}.pagination-controls button{flex:1;padding:.5rem;font-size:.9rem}.products-table-container{border-radius:0;box-shadow:none;overflow:visible;margin:0 -.5rem;width:calc(100% + 1rem)}.products-table,.products-table thead,.products-table tbody,.products-table th,.products-table td,.products-table tr{display:block}.products-table thead tr{position:absolute;top:-9999px;left:-9999px}.products-table tr{background-color:#fff;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md);padding:var(--spacing-md);box-shadow:0 2px 4px #0000000d}.products-table td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:50%;padding-top:.5rem;padding-bottom:.5rem;text-align:right;min-height:2.5rem}.products-table td:last-child{border-bottom:none;padding-bottom:0}.products-table td:before{position:absolute;top:.5rem;left:0;width:45%;padding-right:10px;font-weight:600;text-align:left;color:var(--color-secondary);content:attr(data-label)}.product-name-cell{font-weight:700;color:var(--color-primary);font-size:1.1rem;text-align:left!important;padding-left:0!important;padding-right:0!important;margin-bottom:.5rem;border-bottom:2px solid var(--color-secondary)!important}.product-name-cell:before{display:none}.actions-cell{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-left:0!important;margin-top:.5rem;flex-wrap:wrap}.actions-cell:before{display:none}.action-btn{flex:initial;min-width:auto;padding:.4rem .6rem;font-size:.85rem}}.variant-accent{border-left:4px solid #17a2b8}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow-hover);padding:var(--spacing-xl);max-width:400px;width:90%;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.modal-content p{color:var(--color-text);margin-bottom:var(--spacing-lg);font-size:1.1rem}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.modal-actions button{flex:1;max-width:150px}.app-layout{display:flex;flex-direction:column;min-height:100vh}.top-nav{background-color:var(--color-primary);color:#fff;height:var(--top-nav-height);display:flex;align-items:center;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:100}.nav-content{display:flex;justify-content:space-between;align-items:center;width:100%}.brand{font-size:1.8rem;font-weight:700;color:#fff;margin:0}.nav-user-section{display:flex;align-items:center;gap:var(--spacing-md)}.user-greeting{font-size:1.1rem;font-weight:500}.logout-btn{background-color:#fff;color:var(--color-primary);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);border:none;min-height:42px}.logout-btn:hover{background-color:#f8f9fa}.nav-links{display:flex;gap:var(--spacing-sm);align-items:center}.nav-links a{color:#fff;text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:500;font-size:1rem;transition:background-color .2s ease}.nav-links a:hover{background-color:#ffffff26}.nav-links a.active{background-color:#ffffff40;font-weight:700}.nav-links a:focus{outline:3px solid var(--color-warning);outline-offset:2px}.top-nav-mobile{background-color:var(--color-primary);color:#fff;height:50px;display:flex;align-items:center;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:100;padding:0 var(--spacing-md)}.mobile-nav-content{display:flex;justify-content:space-between;align-items:center;width:100%}.brand-mobile{font-size:1.3rem;font-weight:700;color:#fff;margin:0}.logout-btn-mobile{background-color:#fff;color:var(--color-primary);font-weight:600;padding:.5rem 1rem;border:none;min-height:40px;font-size:.95rem}.logout-btn-mobile:hover{background-color:#f8f9fa}.main-content{flex:1;padding:var(--spacing-lg);padding-bottom:calc(var(--bottom-nav-height) + var(--spacing-lg))}@media(max-width:768px){.main-content{padding:var(--spacing-xs);padding-bottom:calc(var(--bottom-nav-height) + var(--spacing-xs))}}@media(min-width:768px){.main-content{padding-bottom:var(--spacing-lg)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background-color:#fff;border-top:2px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;box-shadow:0 -2px 8px #0000001a;z-index:100}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:none;border:none;color:var(--color-secondary);padding:var(--spacing-xs);font-size:.85rem;min-height:auto;transition:all .2s ease}.bottom-nav button.active{color:var(--color-primary);font-weight:700}.bottom-nav button .icon{font-size:1.8rem}.bottom-nav button:hover{background-color:#f8f9fa;transform:none}.desktop-only{display:none}.mobile-only{display:flex}@media(min-width:768px){.desktop-only{display:flex}.mobile-only{display:none}}.mobile-menu-overlay{position:fixed;inset:0;background-color:#00000080;z-index:200;display:flex;justify-content:center;align-items:flex-end}.mobile-menu{background-color:#fff;width:100%;max-height:70vh;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-menu h2{color:var(--color-primary);margin:0 0 var(--spacing-sm) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border)}.mobile-menu a{display:block;padding:var(--spacing-md);color:var(--color-text);text-decoration:none;font-size:1.2rem;font-weight:500;border-radius:var(--radius-sm);transition:background-color .2s ease}.mobile-menu a:hover{background-color:#f8f9fa}.mobile-menu a.active{background-color:var(--color-primary);color:#fff}.mobile-menu a:focus{outline:3px solid var(--color-warning);outline-offset:2px}.mobile-menu button.secondary{margin-top:var(--spacing-md);background-color:var(--color-secondary);color:#fff}.bottom-nav.sales-mode{background-color:var(--color-primary);border-top:2px solid #003366}.bottom-nav.sales-mode .sales-tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;background:none;border:none;border-right:1px solid rgba(255,255,255,.25);color:#ffffffb3;padding:var(--spacing-xs);font-size:.85rem;min-height:auto;cursor:pointer;transition:all .2s ease}.bottom-nav.sales-mode .sales-tab-btn:last-child{border-right:none}.bottom-nav.sales-mode .sales-tab-btn .icon{font-size:1.6rem}.bottom-nav.sales-mode .sales-tab-btn.active{color:#fff;font-weight:700;background-color:#ffffff1a;border-bottom:3px solid var(--color-warning)}.bottom-nav.sales-mode .sales-tab-btn.inicio{color:#ffffffd9;flex:.7;border-right:2px solid rgba(255,255,255,.4)}.bottom-nav.sales-mode .sales-tab-btn:hover{background-color:#ffffff26}.bottom-nav.sales-mode .sales-tab-btn:active{background-color:#fff3}
