:root{--primary: #3b82f6;--primary-dark: #1d4ed8;--success: #10b981;--success-dark: #059669;--warning: #f59e0b;--danger: #ef4444;--purple: #8b5cf6;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-800: #1f2937}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;color:var(--gray-800)}.logo-header-container{margin:0 auto 1rem;max-width:calc(100% - 2rem);padding:0 1rem;display:flex;justify-content:center;align-items:center}.logo-header-container img{width:auto;max-width:100%;height:auto;object-fit:contain}@media(max-width:768px){.logo-header-container{max-width:calc(100% - 1rem);padding:0 .5rem}}.logo-header-container>div.flex{margin:0 auto}.grid-cols-5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.mesa-card{width:120px;height:120px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0000001a;border:3px solid transparent;position:relative;overflow:hidden;margin:0;padding:0}.mesa-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0000001a}.mesa-card[style*=vacia]{background:linear-gradient(135deg,#fff,#f8fafc);color:#1f2937;border-color:#e5e7eb}.mesa-card[style*=espera],.mesa-card[style*=cola]{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-color:#fbbf24}.mesa-card[style*=listo]{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border-color:#10b981}.font-black.text-xl,.font-black.text-2xl{font-size:24px;font-weight:900;margin-bottom:6px;text-align:center;width:100%;line-height:1}.text-xs.font-bold{font-size:11px;padding:4px 10px;border-radius:16px;background:#ffffff40;text-transform:uppercase;font-weight:700;letter-spacing:.5px;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2);margin-top:4px}.mesa-badge{position:absolute;top:6px;left:6px;background:var(--danger);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;z-index:5}.bg-red-500{background:linear-gradient(135deg,var(--purple) 0%,#7c3aed 100%)}.reportes-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh;padding:20px}.reportes-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:24px;border:2px solid rgba(255,255,255,.3);box-shadow:0 20px 40px #00000014,0 0 0 1px #ffffff80;margin-bottom:20px;transition:all .3s ease}.reportes-card:hover{box-shadow:0 25px 50px #0000001f,0 0 0 1px #fff9;transform:translateY(-2px)}.reportes-title{font-size:2.2rem;font-weight:900;background:linear-gradient(135deg,#1d4ed8,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.text-3xl.font-black.text-green-600{font-size:24px!important;font-weight:900;color:#10b981}.text-2xl.font-black.text-gray-800{font-size:20px!important}.btn-gradient-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:700;cursor:pointer;width:100%;transition:all .3s ease}.btn-gradient-success:hover{transform:translateY(-2px);box-shadow:0 6px 12px #10b9814d}.btn-gradient-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:12px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;width:100%;transition:all .3s ease}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content-large{background:#fff;border-radius:20px;width:90%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:20px;font-weight:700;color:#1f2937}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280}.modal-body{padding:20px;overflow-y:auto;flex:1}.productos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:20px}.producto-seleccionado{border:3px solid #10b981!important;background-color:#f0fdf4!important;box-shadow:0 0 0 3px #10b98133!important}.btn-modal-verde{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:none!important;border-radius:10px!important;padding:12px 24px!important;font-weight:700!important;font-size:16px!important;cursor:pointer!important;transition:all .3s ease!important}.btn-modal-verde:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #10b98166!important}.lista-seleccionados{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px;margin-top:20px;max-height:200px;overflow-y:auto}.lista-seleccionados h4{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:12px}.lista-seleccionados ul{list-style-type:none;padding:0}.lista-seleccionados li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-bottom:6px;background:#fff;border-radius:8px;border-left:4px solid #10b981}.lista-seleccionados li:before{content:"•";color:#10b981;font-weight:700;margin-right:10px}.producto-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:12px;transition:all .3s ease}.producto-card:hover{border-color:#3b82f6;box-shadow:0 4px 8px #0000001a}.producto-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.producto-header span:first-child{font-weight:700;color:#1f2937;font-size:16px}.producto-header span:last-child{font-weight:700;color:#10b981;font-size:18px}.controles-cantidad{display:flex;align-items:center;gap:12px;background:#f8fafc;padding:10px;border-radius:10px;justify-content:space-between}.lista-productos{list-style-type:none;padding:0}.producto-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:8px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;border-left:4px solid #3b82f6}.producto-item:before{content:"•";color:#3b82f6;font-weight:700;margin-right:12px;font-size:20px}.bg-gradient-to-r.from-yellow-500.to-orange-500{background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:700;font-size:16px;cursor:pointer;transition:all .3s ease}.bg-gradient-to-r.from-yellow-500.to-orange-500:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.text-center.text-sm.text-gray-600.mb-4{padding:10px;background:#fefce8;border-radius:10px;border:1px solid #fde047}.text-center.text-sm.text-gray-600.mb-4 strong{color:#ca8a04}.edit-mode-active{border:3px solid #f59e0b!important;box-shadow:0 0 15px #f59e0b4d!important}@media(max-width:1200px){.grid-cols-5{grid-template-columns:repeat(4,1fr)}.mesa-card{width:110px;height:110px}}@media(max-width:768px){.grid-cols-5{grid-template-columns:repeat(3,1fr);gap:10px}.mesa-card{width:100px;height:100px}.font-black.text-xl{font-size:20px}.reportes-container{padding:10px}.reportes-card{padding:16px}.logo-header-container{max-width:calc(100% - 1rem);padding:0 .5rem}.logo-header-container img{height:20px!important}}@media(max-width:480px){.grid-cols-5{grid-template-columns:repeat(2,1fr)}.mesa-card{width:120px;height:120px}.productos-grid{grid-template-columns:repeat(2,1fr)}}.icon-card{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;margin-bottom:12px}.reportes-subtitle{font-size:1.5rem;font-weight:800;color:#1f2937;margin-bottom:4px}.btn-orange{background:linear-gradient(135deg,#ff922b,#e8590c);border:none;border-radius:16px;color:#fff;padding:20px;font-size:18px;font-weight:700;cursor:pointer;width:100%;transition:all .3s ease}.btn-orange:hover{transform:translateY(-2px);box-shadow:0 8px 16px #ff922b4d}.btn-orange:disabled{opacity:.5;cursor:not-allowed}.text-red-700{color:#dc2626}.bg-gradient-to-r.from-red-50.to-pink-50{background:linear-gradient(to right,#fef2f2,#fdf2f8)}.border-red-200{border-color:#fecaca}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.reportes-container{padding:20px;max-width:1200px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.reportes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding:25px;background:#fff;border-radius:20px;box-shadow:0 10px 30px #00000014;border:2px solid rgba(76,110,245,.1)}.reportes-header h1{margin:0;color:#2b2d42;font-size:2rem;background:linear-gradient(135deg,#4c6ef5,#3b5bdb);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.fecha{color:#6c757d;font-size:1.1rem;margin-top:5px}.back-pos-btn{background:transparent;border:2px solid #4c6ef5;color:#4c6ef5;padding:8px 16px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;display:inline-flex;align-items:center;gap:6px}.back-pos-btn:hover{background:#4c6ef5;color:#fff;transform:translate(-2px);box-shadow:0 4px 12px #4c6ef54d}.user-info{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.user-info span{display:block;font-weight:600;color:#495057;background:#f8f9fa;padding:8px 16px;border-radius:12px;border:2px solid #e9ecef}.logout-btn{background:linear-gradient(135deg,#fa5252,#e03131);color:#fff;border:none;padding:10px 20px;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #fa525233}.logout-btn:hover{background:linear-gradient(135deg,#e03131,#c92a2a);transform:translateY(-2px);box-shadow:0 6px 18px #fa52524d}.kpi-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.kpi-card{background:#fff;border-radius:20px;padding:25px;box-shadow:0 10px 30px #00000014;border:2px solid #e9ecef;transition:all .3s ease;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#4c6ef5,#40c057,#ff922b)}.kpi-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.kpi-label{font-size:.9rem;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-weight:600}.kpi-value{font-size:2.5rem;font-weight:800;color:#2b2d42;margin:10px 0;line-height:1}.kpi-trend{font-size:.9rem;color:#868e96}.section-card{background:#fff;border-radius:20px;padding:30px;margin-bottom:30px;box-shadow:0 10px 30px #00000014;border:2px solid #e9ecef}.section-card h2{margin:0 0 15px;color:#2b2d42;font-size:1.5rem;display:flex;align-items:center;gap:10px}.section-subtitle{color:#6c757d;margin-bottom:25px;font-size:.95rem;padding:12px 20px;background:#f8f9fa;border-radius:12px;border-left:4px solid #4c6ef5}.ventas-cuadro-container{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;background-color:#fff;box-shadow:0 4px 12px #0000000d}.ventas-cuadro-header{display:grid;grid-template-columns:2fr .5fr 1fr 3fr .5fr;background-color:#3b82f6;color:#fff;font-weight:700;padding:14px 16px;border-bottom:2px solid #2563eb;font-size:14px}.ventas-cuadro-scroll{max-height:400px;overflow-y:auto;background:#fafafa}.venta-cuadro-item{display:grid;grid-template-columns:2fr .5fr 1fr 3fr .5fr;padding:12px 16px;border-bottom:1px solid #f3f4f6;align-items:start;min-height:60px}.venta-cuadro-item:nth-child(2n){background-color:#f9fafb}.venta-cuadro-item:hover{background-color:#f0f9ff}.ventas-cuadro-col-cliente,.ventas-cuadro-col-metodo,.ventas-cuadro-col-total,.ventas-cuadro-col-productos,.ventas-cuadro-col-acciones{padding:0 8px}.venta-cuadro-cliente{font-weight:600;color:#1f2937;display:block;font-size:14px;margin-bottom:4px}.venta-cuadro-domicilio{background-color:#10b981;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;margin-left:8px}.venta-cuadro-total{font-weight:700;color:#059669;font-size:14px}.venta-cuadro-productos-lista{display:flex;flex-direction:column;gap:6px;padding-right:8px}.producto-cuadro-item{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#fff;border-radius:6px;border:1px solid #e5e7eb;font-size:12px}.producto-cuadro-nombre{flex:1;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px}.producto-cuadro-cantidad{background-color:#dbeafe;color:#1e40af;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;min-width:30px;text-align:center;margin-right:8px}.producto-cuadro-precio{color:#059669;font-weight:600;font-size:11px;min-width:60px;text-align:right}.ventas-cuadro-scroll::-webkit-scrollbar{width:8px}.ventas-cuadro-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.ventas-cuadro-scroll::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.ventas-cuadro-scroll::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.btn{padding:10px 20px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-success{background:linear-gradient(135deg,#40c057,#2f9e44);color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#2f9e44,#237732);transform:translateY(-2px);box-shadow:0 4px 12px #40c0574d}.btn-danger{background:linear-gradient(135deg,#fa5252,#e03131);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#e03131,#c92a2a);transform:translateY(-2px);box-shadow:0 4px 12px #fa52524d}.btn-purple{background:linear-gradient(135deg,#9c36b5,#862e9c);color:#fff}.btn-purple:hover{background:linear-gradient(135deg,#862e9c,#702682);transform:translateY(-2px);box-shadow:0 4px 12px #9c36b54d}.btn-orange{background:linear-gradient(135deg,#ff922b,#e8590c);color:#fff}.btn-orange:hover{background:linear-gradient(135deg,#e8590c,#c44506);transform:translateY(-2px);box-shadow:0 4px 12px #ff922b4d}.btn-indigo{background:linear-gradient(135deg,#4c6ef5,#3b5bdb);color:#fff}.btn-indigo:hover:not(:disabled){background:linear-gradient(135deg,#3b5bdb,#2b49b8);transform:translateY(-2px);box-shadow:0 4px 12px #4c6ef54d}.btn-blue{background:linear-gradient(135deg,#339af0,#228be6);color:#fff}.btn-blue:hover{background:linear-gradient(135deg,#228be6,#1c7ed6);transform:translateY(-2px);box-shadow:0 4px 12px #339af04d}.btn-red{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-red:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.btn-gray{background:#f1f3f5;color:#495057;border:1px solid #dee2e6}.btn-gray:hover{background:#e9ecef}.btn-sm{padding:6px 12px;font-size:12px}.btn-disabled{opacity:.5;cursor:not-allowed}.btn-export{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 10px;border-radius:16px;border:2px solid;transition:all .3s;min-height:120px;cursor:pointer;text-align:center}.btn-export:hover:not(:disabled){transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.btn-export:disabled{opacity:.5;cursor:not-allowed}.csv-export{background:linear-gradient(135deg,#dbeafe,#93c5fd);border-color:#3b82f6;color:#1e40af}.pdf-export{background:linear-gradient(135deg,#e9d5ff,#c4b5fd);border-color:#8b5cf6;color:#6d28d9}.view-export{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e}.fiado-export{background:linear-gradient(135deg,#fecaca,#fca5a5);border-color:#ef4444;color:#b91c1c}.producto-eliminar-btn{background:#fee2e2;color:#dc2626;border:2px solid #fca5a5;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.date-input{padding:12px 16px;border:2px solid #dee2e6;border-radius:12px;font-size:16px;background:#fff;flex:1;max-width:300px;transition:all .3s}.date-input:focus{outline:none;border-color:#4c6ef5;box-shadow:0 0 0 3px #4c6ef51a}.date-input:disabled{background:#f8f9fa;cursor:not-allowed}.input-field{padding:12px 16px;border:2px solid #dee2e6;border-radius:12px;font-size:16px;background:#fff;width:100%;transition:all .3s}.input-field:focus{outline:none;border-color:#4c6ef5;box-shadow:0 0 0 3px #4c6ef51a}.btn-tipo{padding:10px 20px;border:2px solid #dee2e6;border-radius:12px;background:#fff;font-weight:600;cursor:pointer;transition:all .3s;flex:1}.btn-tipo:hover{border-color:#adb5bd}.btn-tipo-active{border-color:#4c6ef5;background:#edf2ff;color:#4c6ef5}.badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.badge-blue{background:#d0ebff;color:#1971c2}.btn-cantidad{width:24px;height:24px;border-radius:6px;background:#f1f3f5;border:1px solid #dee2e6;color:#495057;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s}.btn-cantidad:hover{background:#e9ecef}.btn-eliminar{width:24px;height:24px;border-radius:6px;background:#fff5f5;border:1px solid #ff6b6b;color:#fa5252;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .2s}.btn-eliminar:hover{background:#ff6b6b;color:#fff}.ventas-lista{display:flex;flex-direction:column;gap:16px}.venta-item{background:#f8f9fa;border-radius:12px;padding:16px;border:1px solid #e9ecef;transition:all .3s}.venta-item:hover{background:#edf2ff;border-color:#d0ebff}.venta-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid #e9ecef}.venta-cliente{font-weight:700;font-size:18px;color:#2b2d42;display:block}.venta-metodo{background:#e7f5ff;color:#1971c2;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;margin-right:8px}.venta-domicilio{background:#e6fcf5;color:#0ca678;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600}.venta-total{font-weight:800;font-size:20px;color:#2b8a3e}.venta-productos{display:flex;flex-direction:column;gap:8px}.producto-venta{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border-radius:8px;border-left:4px solid #339af0}.producto-nombre{font-weight:600;color:#333}.producto-cantidad{background:#d0ebff;color:#1971c2;padding:1px 6px;border-radius:4px;font-size:11px;margin-left:8px}.producto-precio{font-weight:700;color:#2b8a3e;min-width:80px;text-align:right}.top-productos{display:flex;flex-direction:column;gap:10px}.top-producto-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.top-producto-rank{width:36px;height:36px;background:linear-gradient(135deg,#ff922b,#e8590c);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}.top-producto-nombre{display:block;font-weight:700;color:#333;margin-bottom:4px}.top-producto-cantidad{font-size:12px;color:#666}.top-producto-total{font-weight:800;color:#2b8a3e;font-size:18px}.fiados-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:12px}.fiados-pendientes{font-weight:700;color:#e03131;font-size:16px}.fiados-total{margin-left:20px;font-weight:700;color:#2b8a3e;font-size:16px}.fiados-lista{display:flex;flex-direction:column;gap:16px}.fiado-item{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;transition:all .3s}.fiado-item:hover{background:#edf2ff;border-color:#d0ebff}.fiado-info{flex:1}.fiado-nombre{font-weight:700;font-size:18px;color:#2b2d42;margin-bottom:8px}.fiado-detalles{color:#666;font-size:14px;margin-bottom:8px}.fiado-celular{color:#666;font-size:14px;margin-bottom:12px}.producto-seleccionado{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border-radius:8px;border:1px solid #dee2e6}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .3s ease}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease}.modal-content-large{background:#fff;border-radius:20px;width:100%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,#4c6ef5,#3b5bdb);color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:20px;font-weight:700}.modal-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.modal-close:hover{background:#fff3}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}.modal-footer{padding:20px;border-top:2px solid #e9ecef;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.modal-subtitle{font-size:16px;font-weight:600;color:#333;margin-bottom:16px}.modal-back{display:flex;align-items:center;gap:16px;margin-bottom:20px}.btn-back{background:none;border:none;color:#4c6ef5;font-weight:600;cursor:pointer;padding:8px 12px;border-radius:8px;transition:all .3s}.btn-back:hover{background:#edf2ff}.modal-categoria{font-size:18px;font-weight:700;color:#333;margin:0}.categorias-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.categoria-btn-modal{padding:16px;background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;transition:all .3s;text-align:center}.categoria-btn-modal:hover{border-color:#4c6ef5;background:#edf2ff;transform:translateY(-4px)}.categoria-icon{font-size:32px;margin-bottom:8px}.categoria-nombre{font-size:12px;font-weight:600;color:#495057}.productos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.producto-btn-modal{padding:16px;background:#fff;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;transition:all .3s;text-align:left}.producto-btn-modal:hover{border-color:#ff922b;background:#fff4e6}.producto-selected{border-color:#40c057;background:#ebfbee}.producto-nombre-modal{font-weight:600;color:#333;font-size:14px;margin-bottom:8px}.producto-precio-modal{font-weight:700;color:#2b8a3e;font-size:16px}.producto-cantidad-badge{margin-top:8px;font-size:11px;background:#40c057;color:#fff;padding:2px 8px;border-radius:10px;display:inline-block}.modal-total{text-align:right}.modal-total-label{font-size:14px;color:#666}.modal-total-valor{font-weight:800;font-size:24px;color:#2b8a3e}.modal-total-count{font-size:12px;color:#868e96}.modal-actions{display:flex;gap:12px}.fiado-detalle{margin-bottom:20px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.fiado-detalle-nombre{font-weight:700;font-size:20px;color:#2b2d42;margin:0 0 8px}.fiado-detalle-info{color:#666;font-size:14px;margin:0 0 4px}.fiado-detalle-celular{color:#666;font-size:14px;margin:0}.fiado-productos h4{font-size:16px;font-weight:600;color:#333;margin:0 0 16px}.fiado-productos-lista{display:flex;flex-direction:column;gap:12px}.fiado-producto-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px}.fiado-producto-nombre{font-weight:600;color:#333}.fiado-producto-cantidad{font-size:12px;color:#666;margin-top:4px}.fiado-producto-precio{font-weight:700;color:#2b8a3e}.fiado-domicilio-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#e6fcf5;border-radius:8px;border:1px solid #96f2d7}.fiado-domicilio-precio{font-weight:700;color:#0ca678}.fiado-total{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#e7f5ff;border-radius:12px;font-weight:700;font-size:18px}.fiado-total-valor{color:#1971c2;font-size:24px}.info-card{background:linear-gradient(135deg,#e7f5ff,#d0ebff);border-radius:20px;padding:30px;border:2px solid #339af0;box-shadow:0 10px 30px #339af026}.info-card h3{color:#1971c2;margin:0 0 20px;font-size:1.3rem;display:flex;align-items:center;gap:10px}.info-card p{margin:12px 0;color:#1864ab;display:flex;align-items:center;gap:10px;padding:10px 15px;background:#ffffff80;border-radius:10px;transition:all .3s ease}.info-card p:hover{background:#fffc;transform:translate(8px)}.info-card p:before{content:"•";font-weight:700;font-size:1.5rem}@media(max-width:768px){.reportes-header{flex-direction:column;gap:20px;padding:20px}.user-info{text-align:left;align-items:flex-start;width:100%}.kpi-value{font-size:2rem}.ventas-cuadro-header{grid-template-columns:1.5fr .5fr 1fr 2fr .5fr;font-size:12px;padding:12px}.venta-cuadro-item{grid-template-columns:1.5fr .5fr 1fr 2fr .5fr;padding:10px 12px;font-size:12px}.venta-cuadro-cliente{font-size:12px}.producto-cuadro-item{font-size:11px;padding:3px 6px}.producto-cuadro-cantidad{font-size:9px;min-width:25px;margin-right:4px}.producto-cuadro-precio{font-size:10px;min-width:50px}.categorias-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.productos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.modal-footer{flex-direction:column;gap:16px}.modal-actions{width:100%;justify-content:space-between}.fiado-item{flex-direction:column;gap:16px}.btn-export{min-height:100px;padding:15px 8px}}@media(max-width:480px){.kpi-container{grid-template-columns:1fr}.ventas-cuadro-header,.venta-cuadro-item{grid-template-columns:1fr .5fr 1fr .5fr}.ventas-cuadro-col-productos{display:none}.ventas-cuadro-col-acciones{min-width:50px}.categorias-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.productos-grid{grid-template-columns:1fr 1fr}}.gerencia-section{border:3px solid #4c6ef5;background:linear-gradient(135deg,#f8f9fa,#edf2ff);position:relative;overflow:hidden}.gerencia-section:before{content:"⭐ GERENCIA";position:absolute;top:10px;right:10px;background:linear-gradient(135deg,#ffd43b,#fab005);color:#2b2d42;font-size:10px;font-weight:800;padding:4px 10px;border-radius:12px;letter-spacing:.5px;z-index:1}.section-header-gerencia{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #4c6ef5}.gerencia-badge{background:linear-gradient(135deg,#ff6b6b,#fa5252);color:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px}.base-caja-container{background:#fff;padding:20px;border-radius:15px;border:2px solid #e9ecef}.base-caja-container input[type=number]{font-size:18px;font-weight:600;text-align:center}.top-productos-grid{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto;padding-right:10px}.top-productos-grid::-webkit-scrollbar{width:6px}.top-productos-grid::-webkit-scrollbar-track{background:#f1f3f5;border-radius:10px}.top-productos-grid::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:10px}.top-producto-card{display:flex;align-items:center;gap:15px;padding:15px;background:#fff;border-radius:12px;border:2px solid #e9ecef;transition:all .3s}.top-producto-card:hover{transform:translate(5px);border-color:#4c6ef5;box-shadow:0 5px 15px #4c6ef51a}.top-producto-rank{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.rank-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:14px}.rank-1{background:linear-gradient(135deg,#ffd43b,#fab005)}.rank-2{background:linear-gradient(135deg,#ced4da,#adb5bd)}.rank-3{background:linear-gradient(135deg,#e67700,#d9480f)}.rank-4,.rank-5,.rank-6,.rank-7,.rank-8,.rank-9,.rank-10{background:linear-gradient(135deg,#339af0,#228be6)}.top-producto-info{flex:1}.top-producto-nombre{font-weight:700;color:#2b2d42;font-size:15px;margin-bottom:5px}.top-producto-details{display:flex;gap:15px;font-size:12px}.top-producto-cantidad{color:#495057;background:#f1f3f5;padding:2px 8px;border-radius:10px}.top-producto-total{color:#2b8a3e;font-weight:600;background:#ebfbee;padding:2px 8px;border-radius:10px}.top-producto-precio-unitario{font-size:12px;color:#868e96;font-weight:600}.resumen-financiero{background:linear-gradient(135deg,#2b2d42,#495057);color:#fff}.resumen-financiero h2{color:#fff}.resumen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:25px 0}.resumen-item{background:#ffffff1a;padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.resumen-item:hover{background:#ffffff26;transform:translateY(-3px)}.resumen-label{font-size:12px;color:#adb5bd;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.resumen-value{font-size:24px;font-weight:800;color:#fff}.resumen-ganancia{color:#51cf66;text-shadow:0 2px 4px rgba(81,207,102,.3)}.resumen-export{display:flex;gap:15px;margin-top:25px;padding-top:25px;border-top:2px solid rgba(255,255,255,.1)}.btn-gerencia{background:linear-gradient(135deg,#ff922b,#e8590c);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s}.btn-gerencia:hover{background:linear-gradient(135deg,#e8590c,#c44506);transform:translateY(-2px);box-shadow:0 6px 20px #ff922b4d}.ventas-cuadro-col-acciones{display:flex;align-items:center;justify-content:center;min-width:60px}.producto-eliminar-btn{background:#fee2e2;color:#dc2626;border:2px solid #fca5a5;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.producto-eliminar-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #dc26264d}@media(max-width:768px){.gerencia-section:before{font-size:8px;padding:3px 8px}.section-header-gerencia{flex-direction:column;align-items:flex-start;gap:10px}.gerencia-badge{align-self:flex-start}.resumen-grid{grid-template-columns:1fr}.resumen-export{flex-direction:column}.top-producto-card{padding:12px}.top-producto-details{flex-direction:column;gap:5px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;position:relative;overflow:hidden}.login-background{position:absolute;width:100%;height:100%;z-index:0}.gradient-circle-1{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#4c6ef51a,#4c6ef500 70%);top:-200px;right:-200px;animation:float 20s infinite ease-in-out}.gradient-circle-2{position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,#40c0571a,#40c05700 70%);bottom:-100px;left:-100px;animation:float 25s infinite ease-in-out reverse}.gradient-circle-3{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,#ff6b6b1a,#ff6b6b00 70%);top:50%;left:10%;animation:float 30s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a;padding:40px;width:100%;max-width:800px;position:relative;z-index:1;transition:transform .3s ease}.login-header{display:flex;align-items:center;gap:30px;margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid rgba(0,0,0,.05)}.logo{display:flex;align-items:center;gap:15px}.logo-icon{font-size:48px;background:linear-gradient(135deg,#4c6ef5,#3b5bdb);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-text h1{margin:0;font-size:24px;font-weight:800;color:#1a1a1a;letter-spacing:-.5px}.logo-text p{margin:5px 0 0;color:#666;font-size:14px;font-weight:500}.login-title{flex:1}.login-title h2{margin:0;font-size:28px;font-weight:700;color:#1a1a1a;background:linear-gradient(135deg,#1a1a1a,#4c6ef5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-title p{margin:8px 0 0;color:#666;font-size:15px}.roles-section{margin-bottom:40px}.section-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 20px}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.role-card{background:#fff;border:2px solid #e9ecef;border-radius:16px;padding:24px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.role-card:hover{transform:translateY(-4px);border-color:var(--role-color);box-shadow:0 12px 24px #0000001a}.role-card.active{border-color:var(--role-color);background:linear-gradient(145deg,#ffffff,var(--role-color, #4c6ef5)05);box-shadow:0 8px 32px #0000001a,inset 0 0 0 1px #ffffff80}.role-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.role-icon-bg{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center}.role-icon{font-size:28px}.role-badge{padding:6px 12px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-card-body h4{margin:0 0 12px;font-size:20px;font-weight:700;color:#1a1a1a}.role-description{color:#666;font-size:14px;line-height:1.5;margin:0 0 20px}.role-features{display:flex;flex-wrap:wrap;gap:8px}.feature{background:#f8f9fa;padding:8px 12px;border-radius:12px;font-size:13px;font-weight:500;color:#495057;transition:all .3s ease}.role-card:hover .feature{background:var(--role-color, #4c6ef5)10;color:var(--role-color, #4c6ef5)}.password-section{background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:16px;padding:30px;margin:30px 0;border:2px solid rgba(0,0,0,.05)}.password-header{text-align:center;margin-bottom:30px}.password-header h3{margin:0 0 8px;font-size:20px;font-weight:600;color:#1a1a1a}.password-header p{margin:0;color:#666;font-size:15px}.password-input-group{display:flex;gap:15px;max-width:500px;margin:0 auto 20px}.input-wrapper{flex:1;position:relative}.password-input{width:100%;padding:18px 20px;border:2px solid #e9ecef;border-radius:12px;font-size:18px;font-weight:500;color:#1a1a1a;background:#fff;transition:all .3s ease;letter-spacing:4px;text-align:center}.password-input:focus{outline:none;border-color:var(--role-color, #4c6ef5);box-shadow:0 0 0 3px var(--role-color, #4c6ef5) 20}.password-input::placeholder{letter-spacing:normal;color:#adb5bd}.input-decoration{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:var(--role-color, #4c6ef5);transition:width .3s ease}.password-input:focus+.input-decoration{width:80%}.login-button{padding:0 32px;border:none;border-radius:12px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;min-width:140px;justify-content:center}.login-button:hover:not(:disabled){transform:translate(4px);box-shadow:0 8px 20px #0003}.login-button:disabled{opacity:.6;cursor:not-allowed}.button-icon{font-size:20px;transition:transform .3s ease}.login-button:hover:not(:disabled) .button-icon{transform:translate(4px)}.loading-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:#fff5f5;border:2px solid #ff6b6b;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px;animation:shake .5s}.error-icon{font-size:20px}.error-message span:not(.error-icon){flex:1;color:#e03131;font-weight:500}.forgot-password{background:none;border:none;color:#4c6ef5;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .3s ease}.forgot-password:hover{background:#4c6ef51a}.login-footer{margin-top:40px;padding-top:30px;border-top:2px solid rgba(0,0,0,.05);text-align:center;display:flex;flex-direction:column;align-items:center}.security-notice{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:15px}.security-icon{font-size:20px;opacity:.7}.security-notice p{margin:0;color:#666;font-size:14px;max-width:400px}.back-to-pos-btn{background:transparent;border:2px solid #4c6ef5;color:#4c6ef5;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;margin:15px auto}.back-to-pos-btn:hover{background:#4c6ef5;color:#fff;transform:translate(-4px);box-shadow:0 8px 20px #4c6ef54d}.version{color:#adb5bd;font-size:13px;font-weight:500}.password-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.password-modal .modal-content{background:#fff;padding:30px;border-radius:20px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;text-align:center}.password-modal h3{margin:0 0 20px;color:#1a1a1a}.password-modal p{background:#f8f9fa;padding:20px;border-radius:12px;font-family:monospace;font-size:18px;color:#495057;margin:0 0 20px}.password-modal button{background:#4c6ef5;color:#fff;border:none;padding:12px 30px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.password-modal button:hover{background:#3b5bdb;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.login-card{padding:25px}.login-header{flex-direction:column;text-align:center;gap:20px}.roles-grid{grid-template-columns:1fr}.password-input-group{flex-direction:column}.login-button{min-width:100%;padding:18px}}
