@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@500;600;700&display=swap";@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--color-primary: #4F46E5;--color-primary-hover: #4338CA;--color-primary-active: #3730A3;--color-secondary: #475569;--color-secondary-hover: #334155;--color-surface: #FFFFFF;--color-surface-variant: #F8FAFC;--color-surface-tertiary: #F1F5F9;--color-surface-hover: #F1F5F9;--color-on-surface: #0F172A;--color-on-surface-variant: #475569;--color-on-surface-muted: #94A3B8;--color-outline: #E2E8F0;--color-outline-variant: #F1F5F9;--color-success: #059669;--color-warning: #D97706;--color-error: #DC2626;--color-info: #0284C7;--elevation-1: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--elevation-2: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--elevation-3: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--elevation-4: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--sidebar-bg: linear-gradient(135deg, #4338CA 0%, #4F46E5 50%, #6366F1 100%);--sidebar-text: #FFFFFF;--sidebar-text-muted: rgba(255, 255, 255, .7);--sidebar-hover: rgba(255, 255, 255, .1);--sidebar-active: rgba(255, 255, 255, .2);--sidebar-border: rgba(255, 255, 255, .1);--bg-primary: var(--color-surface);--bg-secondary: var(--color-surface-variant);--bg-tertiary: var(--color-surface-tertiary);--bg-hover: var(--color-surface-hover);--text-primary: var(--color-on-surface);--text-secondary: var(--color-on-surface-variant);--text-muted: var(--color-on-surface-muted);--text-light: #94A3B8;--border-color: var(--color-outline);--border-light: var(--color-outline-variant);--shadow: var(--elevation-2);--shadow-sm: var(--elevation-1);--shadow-md: var(--elevation-3);--shadow-lg: var(--elevation-4);--overlay-bg: rgba(0, 0, 0, .6)}.bg-surface{background-color:var(--color-surface)}.bg-surface-variant{background-color:var(--color-surface-variant)}.text-on-surface{color:var(--color-on-surface)}.text-on-surface-variant{color:var(--color-on-surface-variant)}.text-muted{color:var(--color-on-surface-muted)}.border-outline{border-color:var(--color-outline)}.elevation-1{box-shadow:var(--elevation-1)}.elevation-2{box-shadow:var(--elevation-2)}.elevation-3{box-shadow:var(--elevation-3)}.elevation-4{box-shadow:var(--elevation-4)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #E2E8F0}.page-header .header-content h1{font-size:2rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.page-header .header-content p{color:#475569;font-size:1rem;margin:0}.page-header .header-actions{display:flex;gap:1rem;align-items:center}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch;gap:1rem}.page-header .header-actions{justify-content:flex-start}}.loading-state{text-align:center;padding:3rem 2rem;color:#475569}.loading-state .spinner{width:32px;height:32px;border:3px solid rgba(255,68,68,.3);border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.empty-state{text-align:center;padding:2rem;color:#475569}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{color:#0f172a;margin-bottom:.5rem}.empty-state p{color:#475569;margin-bottom:2rem}.error-state{text-align:center;padding:3rem 2rem;color:#dc2626}.error-state .error-icon{font-size:3rem;margin-bottom:1rem}.error-state h3{color:#dc2626;margin-bottom:.5rem}.table-container{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow-x:auto}.table-container table{width:100%;border-collapse:collapse}.table-container table th,.table-container table td{padding:1rem;text-align:left;border-bottom:1px solid #E2E8F0}.table-container table th{background:#f8fafc;font-weight:600;color:#475569;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.table-container table tbody tr{transition:background-color .2s}.table-container table tbody tr:hover{background:#f8fafc}.table-container table tbody tr.inactive{opacity:.6}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1050;animation:fadeIn .3s ease-out}.modal-overlay .modal-content{background:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .3s ease-out}.modal-overlay .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #E2E8F0}.modal-overlay .modal-header h2{margin:0;font-size:1.25rem;color:#0f172a}.modal-overlay .modal-header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#475569;transition:all .2s ease-in-out}.modal-overlay .modal-header .close-btn:hover{color:#0f172a}.modal-overlay .modal-body{padding:1.5rem}.filters-container{padding:1.5rem;background-color:#f8fafc;border-radius:.5rem;margin-bottom:1.5rem;border:1px solid #E2E8F0}.filters-container .filters-title{font-size:1.1rem;font-weight:600;color:#0f172a;margin-bottom:1rem;display:block}.filters-container .filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}@media (max-width: 768px){.filters-container .filters-grid{grid-template-columns:1fr}}.filters-container .filter-group{display:flex;flex-direction:column;gap:.5rem}.filters-container .filter-group.col-1{grid-column:span 1}.filters-container .filter-group.col-2{grid-column:span 2}.filters-container .filter-group.col-3{grid-column:span 3}.filters-container .filter-group.col-4{grid-column:span 4}.filters-container .filter-group.col-full{grid-column:1/-1}@media (max-width: 768px){.filters-container .filter-group.col-1,.filters-container .filter-group.col-2,.filters-container .filter-group.col-3,.filters-container .filter-group.col-4,.filters-container .filter-group.col-full{grid-column:span 1}}.filters-container .filter-group label{font-size:.875rem;font-weight:500;color:#475569}.filters-container .filter-group input,.filters-container .filter-group select{padding:.75rem 1rem;border:1px solid #E2E8F0;border-radius:.5rem;background:#fff;color:#0f172a;font-size:1rem;transition:all .2s ease-in-out;width:100%}.filters-container .filter-group input:focus,.filters-container .filter-group select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #ff44441a}.filters-container .filter-group .filter-actions{display:flex;gap:.75rem;margin-top:.5rem}@media (max-width: 480px){.filters-container .filter-group .filter-actions{flex-direction:column}}.filters-container:not(:has(.filters-grid)){display:flex;align-items:flex-end;gap:1.5rem}.filters-container:not(:has(.filters-grid)) .filters-title{margin-right:auto;padding-bottom:.5rem;margin-bottom:0}@media (max-width: 768px){.filters-container:not(:has(.filters-grid)){flex-direction:column;align-items:stretch;gap:1rem}.filters-container:not(:has(.filters-grid)) .filter-group{width:100%}}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#28a7451a;color:#059669}.status-badge.inactive{background:#dc35451a;color:#dc2626}.status-badge.pending,.status-badge.pendiente{background:#ffc1071a;color:#b45309}.status-badge.completed,.status-badge.pagado{background:#28a7451a;color:#059669}.status-badge.cancelled,.status-badge.cancelado{background:#dc35451a;color:#dc2626}.status-badge.partial,.status-badge.parcial{background:#17a2b81a;color:#0284c7}.actions{display:flex;gap:.5rem}.actions .btn-action{background:#f8fafc;border:1px solid #E2E8F0;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;transition:all .2s ease-in-out;color:#0f172a}.actions .btn-action:hover{background:#4f46e5;color:#fff;border-color:#4f46e5}@media (max-width: 576px){.actions{flex-direction:column;width:100%}}.metric-card{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;border-left:4px solid #4F46E5;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.metric-card .metric-header{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.metric-card .metric-header .metric-icon{font-size:2rem}.metric-card .metric-header .metric-value{font-size:1.2rem;font-weight:700;color:#0f172a}.metric-card .metric-title{color:#475569;font-size:.875rem;font-weight:500}.form-section-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:2rem}.form-section-card .section-title{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:1px solid #E2E8F0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;outline:none;background:#4f46e5;color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-primary:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px}.btn-primary:hover:not(:disabled){background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-primary:focus{box-shadow:0 0 0 3px #ff44444d}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;outline:none;background:#475569;color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px}.btn-secondary:hover:not(:disabled){background:#334155;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-secondary:focus{box-shadow:0 0 0 3px #2c3e504d}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;outline:none;background:transparent;color:#475569;border:1px solid #E2E8F0}.btn-ghost:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-ghost:focus{outline:2px solid transparent;outline-offset:2px}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.btn-ghost:focus{box-shadow:0 0 0 3px #6c757d4d}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;outline:none;background:#dc2626;color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-danger:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-danger:focus{outline:2px solid transparent;outline-offset:2px}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-danger:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-danger:focus{box-shadow:0 0 0 3px #dc35454d}.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;outline:none;background:#059669;color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-success:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-success:focus{outline:2px solid transparent;outline-offset:2px}.btn-success:hover:not(:disabled){background:#047857;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-success:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-success:focus{box-shadow:0 0 0 3px #28a7454d}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;outline:none;padding:.5rem;min-width:40px;min-height:40px;border-radius:.375rem}.btn-icon:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-icon:focus{outline:2px solid transparent;outline-offset:2px}.btn-icon.danger{background:#dc2626;color:#fff}.btn-icon.danger:hover:not(:disabled){background:#b91c1c;transform:scale(1.1)}.btn-icon.secondary{background:#f8fafc;color:#475569;border:1px solid #E2E8F0}.btn-icon.secondary:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.spinner-small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.spinner{width:32px;height:32px;border:3px solid #E2E8F0;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite}.form-page-container{max-width:auto;margin:0 auto;padding:1.5rem}.data-form{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.form-section{margin-bottom:2rem}.form-section:last-child{margin-bottom:0}.section-title{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:1px solid #E2E8F0}.form-grid{display:grid;gap:1.5rem}.form-grid.two-cols{grid-template-columns:repeat(2,1fr)}.form-grid.three-cols{grid-template-columns:repeat(3,1fr)}.form-grid.four-cols{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;font-weight:500;color:#0f172a;margin:0}.input-group input,.input-group textarea,.input-group select{padding:.75rem 1rem;border:1px solid #E2E8F0;border-radius:.5rem;background:#fff;color:#0f172a;font-size:1rem;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:all .2s ease-in-out}.input-group input:focus,.input-group textarea:focus,.input-group select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #ff44441a}.input-group input:disabled,.input-group textarea:disabled,.input-group select:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.input-group textarea{min-height:100px;resize:vertical}.input-group select{cursor:pointer}.input-group select option{padding:.5rem;background:#fff;color:#0f172a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid #E2E8F0}@media (max-width: 576px){.form-actions{flex-direction:column}}.page-container{max-width:1200px;margin:0 auto;padding:1.5rem}@media (max-width: 768px){.page-container{padding:1rem}}.floating-element{position:fixed;z-index:1030;transition:all .3s ease-in-out}.floating-element.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.8)}.chat-modal{position:fixed;background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;overflow:hidden;z-index:1050;border:1px solid #E2E8F0;contain:layout style paint}.chat-modal.minimized{height:60px;cursor:pointer}.chat-gradient-bg{background:linear-gradient(135deg,#4f46e5,#475569)}.chat-header{color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.scrollable-area{overflow-y:auto;scroll-behavior:smooth}.scrollable-area::-webkit-scrollbar{width:4px}.scrollable-area::-webkit-scrollbar-track{background:transparent}.scrollable-area::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:.375rem}.scrollable-area::-webkit-scrollbar-thumb:hover{background:#94a3b8}.type-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.type-badge.saco{background-color:#dbeafe;color:#1e40af}.type-badge.granel{background-color:#dcfce7;color:#166534}.type-badge.bolsa{background-color:#fef3c7;color:#92400e}.type-badge.contenedor{background-color:#f3e8ff;color:#7c3aed}.components-list{display:flex;flex-direction:column;gap:1rem}.component-card{background-color:#f9fafb;padding:1rem;border-radius:.5rem;border:1px solid #e5e7eb}.component-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.component-title{font-size:1rem;font-weight:500;color:#374151;margin:0}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem}.checkbox-wrapper input[type=checkbox]{width:1rem;height:1rem;border-radius:.25rem;border:1px solid #d1d5db}.checkbox-wrapper input[type=checkbox]:checked{background-color:#4f46e5;border-color:#4f46e5}.checkbox-wrapper label{font-size:.875rem;font-weight:500;color:#374151;margin:0}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;color:var(--color-on-surface, #0F172A);background:var(--color-surface, #FFFFFF);overflow-x:hidden;min-height:100vh;transition:background-color all .2s ease-in-out,color all .2s ease-in-out}h1,h2,h3,h4,h5,h6{font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;line-height:1.25;color:var(--color-on-surface)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1rem}a{color:var(--color-primary);text-decoration:none;transition:color all .15s ease-in-out}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:var(--color-on-surface);background-color:var(--color-surface)}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-surface-variant)}::-webkit-scrollbar-thumb{background:var(--color-outline);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}*{scrollbar-width:thin;scrollbar-color:var(--color-outline) var(--color-surface-variant)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:.375rem}.container{max-width:1280px;margin:0 auto;padding:0 1.5rem}@media (max-width: 768px){.container{padding:0 1rem}}.container-fluid{width:100%;padding:0 1.5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}
