body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.login-container-wrapper{align-items:center;background:linear-gradient(90deg,#43a047,#2e7d32);display:flex;justify-content:center;min-height:100vh}.login-container{background-color:#fff;border-radius:16px;box-shadow:0 0 25px #0003;margin:2rem auto;max-width:400px;padding:2rem;text-align:center;width:90%}.login-container h1{color:#2e7d32;margin-bottom:.5rem}.login-container p{color:#555;font-size:.9rem;margin-bottom:1.5rem}.login-container input{border:1px solid #ccc;border-radius:10px;font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.login-container button{background-color:#2e7d32;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:background-color .3s;width:100%}.login-container button:hover{background-color:#388e3c}.footer{font-size:.85rem;margin-top:1rem}.footer a{color:#2e7d32;text-decoration:none}.footer a:hover{text-decoration:underline}@media (max-width:500px){.login-container{padding:1.5rem}}body,html{background-color:#f0f2f5;font-family:Segoe UI,sans-serif;height:100%;margin:0;padding:0;width:100%}.panel-container{display:flex;height:100vh;transition:all .3s ease;width:100%}.sidebar{background-color:#1e2a38;box-shadow:2px 0 5px #0000001a;color:#fff;display:flex;flex-direction:column;overflow:hidden;padding:2rem 1rem;transition:width .3s ease,padding .3s ease;width:250px}.logo{color:#00e676;font-size:1.4rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.menu{display:flex;flex-direction:column;gap:.5rem}.menu-item{border-radius:6px;color:#fff;font-size:1rem;padding:.6rem 1rem;text-decoration:none;transition:background-color .2s ease}.menu-item:hover{background-color:#2c3e50}.main-content{background-color:#fff;flex-grow:1;min-width:0;overflow-x:auto;padding:3rem}h1{color:#333;font-size:1.8rem}p{color:#666;font-size:1rem}.error{color:red;font-weight:700;margin-top:1rem}.toggle-button{background-color:#1e2a38;border:none;border-radius:0 6px 6px 0;color:#fff;cursor:pointer;left:250px;padding:.5rem .8rem;position:absolute;top:20px;transition:left .3s ease;z-index:10}.menu-hidden .sidebar{box-shadow:none;padding:0;width:0}.menu-hidden .toggle-button{left:0}.form-contenedor{background:#fff;border-radius:18px;box-shadow:0 4px 18px 0 #0000000f,0 1.5px 6px 0 #0000000d;box-sizing:border-box;font-family:Segoe UI,sans-serif;margin:2rem auto;max-width:1200px;padding:2.5rem 2rem 2rem}.form-contenedor h2{color:#262b36;font-size:2rem;margin:0 0 1.5rem}.form-row{grid-gap:16px 20px;align-items:end;display:grid;gap:16px 20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:14px}.field{display:flex;flex-direction:column;min-width:0}.field>label{color:#334155;font-size:.92rem;margin-bottom:6px}.field>input,.field>select{background:#f6f9fb;border:1px solid #d4dde7;border-radius:10px;box-sizing:border-box;font-size:1rem;outline:none;padding:.7rem;transition:border-color .2s,box-shadow .2s;width:100%}.field>input:focus,.field>select:focus{border-color:#00e676;box-shadow:0 0 0 3px #00e67626}h3{color:#223;font-size:1.2rem;font-weight:600;margin-top:1.7rem}.calidades-row{grid-gap:12px 16px;align-items:end;display:grid;gap:12px 16px;grid-template-columns:1.4fr 1fr auto;margin-bottom:10px}.calidades-row input,.calidades-row select{background:#f6f9fb;border:1px solid #cfd7e3;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.6rem;width:100%}.calidades-row .actions button{background:#ff5353;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.97rem;padding:.6rem 1rem;transition:filter .16s}.calidades-row .actions button:hover{filter:brightness(.95)}.form-contenedor button[type=submit],button[type=button]{background:#00e676;border:none;border-radius:10px;color:#222;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.3rem;padding:.6rem 1.3rem;transition:filter .18s}.form-contenedor button[type=submit]:hover,button[type=button]:hover{color:#fff;filter:brightness(.95)}.form-contenedor .mensaje-ok{align-items:center;color:#24b11a;display:flex;font-size:1.08rem;font-weight:500;gap:.5rem;margin-top:1rem}.form-contenedor .mensaje-error{color:#d63131;font-weight:500;margin-top:1rem}@media (min-width:1400px){.form-contenedor{max-width:1320px}.form-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:480px){.form-contenedor{padding:1.25rem}.calidades-row{grid-template-columns:1fr}}.resumen-cajas{align-items:center;background:#f9fafb;border:1px dashed #9ca3af;border-radius:10px;color:#223;display:inline-flex;font-size:1.05rem;font-weight:600;gap:6px;margin:1rem 0 1.2rem;padding:.7rem 1rem}.resumen-cajas strong{color:#00c853;font-size:1.1rem}.modal-overlay{background:#0f172a73;display:grid;inset:0;padding:1rem;place-items:center;z-index:1000}.modal-card{animation:modalIn .18s ease-out;background:#fff;border-radius:14px;box-shadow:0 10px 30px #00000040;padding:1.25rem 1.25rem 1rem;width:min(980px,96vw)}@keyframes modalIn{0%{opacity:.92;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal-card h3{color:#111827;font-size:1.25rem;margin:0 0 .8rem}.resumen-grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:1.2rem auto}.resumen-grid table{background:#f9fbfd;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:10px;margin:0 auto;max-width:420px;min-width:280px;overflow:hidden;width:auto}.resumen-grid td,.resumen-grid th{border-bottom:1px solid #e5e7eb;color:#111827;font-size:.95rem;padding:10px 12px}.resumen-grid th{background:#eef6f1;color:#0f172a;font-weight:600;text-align:left}.resumen-grid tbody tr:last-child td{border-bottom:none}.fila-total td{background:#f4f8ff;font-weight:700}.modal-actions{display:flex;gap:14px;justify-content:center;margin-top:18px}.btn-primario,.btn-secundario{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;min-width:120px;padding:.6rem 1.2rem;text-align:center}.btn-primario{background:#00e676;color:#111}.btn-primario:hover{color:#fff;filter:brightness(.95)}.btn-secundario{background:#e5e7eb;color:#111827}.btn-secundario:hover{filter:brightness(.96)}@media (max-width:780px){.resumen-grid{align-items:center;flex-direction:column}}.reporte-container{background:#fff;border-radius:14px;box-shadow:0 2px 12px 0 #1e2a3814;margin:2rem auto 0;max-width:98vw;min-width:340px;padding:2.5rem 2rem 2rem}.reporte-header{color:#253449;font-size:2rem;font-weight:600;margin-bottom:1.2rem}.reporte-filtros{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1.2rem}.reporte-filtros label{font-size:1rem;margin-right:.2rem}.reporte-filtros input[type=date]{background:#f5f8fa;border:1px solid #dde3ec;border-radius:5px;font-size:1rem;padding:.3rem .7rem}.reporte-filtros button{background:#00e676;border:none;border-radius:7px;color:#1e2a38;cursor:pointer;font-size:1rem;font-weight:700;padding:.45rem 1.25rem;transition:background .2s}.reporte-filtros button:hover{background:#14b866;color:#fff}.reporte-tabla-wrap{background:#f8fafc;border-radius:10px;box-shadow:0 2px 12px 0 #1e2a3805;margin-top:1.5rem;width:100%}.reporte-tabla{font-size:14px;min-width:1200px;width:-webkit-max-content;width:max-content}.reporte-tabla thead th{background:#253449;border:1px solid #e1e7ed;color:#fff;font-weight:600;padding:10px 8px;text-align:center;white-space:nowrap;z-index:2}.reporte-tabla tbody tr{transition:background .15s}.reporte-tabla tbody tr:hover{background:#f0f6ff}.reporte-tabla td{background:#fff;border:1px solid #e1e7ed;font-size:14px;padding:8px;text-align:center;vertical-align:top;white-space:nowrap}.th-calidad{min-width:120px}.th-calidad-wrap{align-items:flex-start;display:flex;flex-direction:column;line-height:1.1}.th-codigo{font-weight:800}.th-nombre{font-size:12px;opacity:.85}.sticky-col{background:#fff}.sticky-th{z-index:5}.sticky-td{z-index:4}.sticky-td:last-of-type,.sticky-th:last-of-type{box-shadow:2px 0 0 #0000000f}.sticky-total{background:#fff;font-weight:700;position:-webkit-sticky;position:sticky;right:0;z-index:3}.fila-sumas td{background:#f7fafc}@media (max-width:900px){.reporte-container{padding:1rem .5rem}.reporte-header{font-size:1.3rem}.reporte-tabla{font-size:12px}}.kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(160px,1fr));margin:8px 0 16px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:12px 14px}.kpi-title{color:#6b7280;font-size:12px;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.kpi-value{font-size:22px;font-weight:700}.resumen-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(240px,1fr));margin-top:14px}.resumen-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:12px 14px}.resumen-card h4{margin:0 0 8px}.resumen-list{list-style:none;margin:0;padding:0}.resumen-list li{align-items:center;border-bottom:1px dashed #eee;display:flex;justify-content:space-between;padding:6px 0}.resumen-list li:last-child{border-bottom:none}.pill{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;color:#111827;display:inline-block;font-size:12px;padding:2px 8px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}@media (max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.resumen-grid{grid-template-columns:1fr}}.reporte-tabla{border-collapse:collapse;margin-bottom:20px;width:100%}.reporte-tabla thead tr:first-child th{background-color:#2c3e50!important;color:#fff!important;font-size:1rem;padding:8px}.reporte-tabla th{background-color:#34495e;color:#fff}.reporte-tabla td,.reporte-tabla th{border:1px solid #ddd;padding:6px}.fila-sumas td{background:#f9fafb;font-weight:700}.reporte-tabla thead tr.finca-header th{background-color:#2c3e50!important;color:#fff!important;font-size:1rem;padding:8px;text-align:left}.reporte-tabla thead tr.column-header th{background-color:#34495e!important;color:#fff!important;font-weight:700}.modal-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.modal-content{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0003;max-height:80vh;max-width:600px;overflow-y:auto;padding:20px;width:100%}.modal-content h3{background:#fff;color:#111827;font-size:18px;margin-bottom:16px;margin-top:0;padding:8px 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.modal-tabla{border-collapse:collapse;margin-bottom:16px;width:100%}.modal-tabla td,.modal-tabla th{border:1px solid #ddd;padding:6px;text-align:left}.modal-tabla th{background-color:#f4f4f4;font-weight:700;position:-webkit-sticky;position:sticky;top:40px;z-index:1}.modal-tabla input{padding:4px;width:80px}.modal-buttons{background:#fff;bottom:0;display:flex;gap:10px;justify-content:flex-end;padding-top:10px;position:-webkit-sticky;position:sticky}.modal-buttons button{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:8px 14px}.modal-buttons button:first-child{background:#e5e7eb;color:#111827}.modal-buttons button:last-child{background:#00c853;color:#fff}.reporte-tabla{border-collapse:initial;border-spacing:0}.reporte-tabla thead th{background:#f3f4f6;border-bottom:1px solid #e5e7eb;top:0;z-index:5}.reporte-tabla thead th,.sticky-col{position:-webkit-sticky;position:sticky}.sticky-col{background:inherit;z-index:2}.sticky-th{z-index:6}.sticky-td{z-index:2}.td-num{text-align:right}.reporte-tabla-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:auto}.popup{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999}.popup-inner{background-color:#fff;border-radius:10px;box-shadow:0 0 20px #0000004d;max-height:80%;min-width:300px;overflow-y:auto;padding:20px}.popup-inner h3{margin-top:0}.popup-inner button{margin-top:20px}.popup-tabla{border-collapse:collapse;width:100%}.popup-tabla td{border:1px solid #ccc;padding:6px 12px}
/*# sourceMappingURL=main.b95c28c6.css.map*/