.analytics-container{background:#f8fafc;min-height:100vh;padding:0}.analytics-content{padding:2rem}.analytics-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;margin-bottom:2rem}.period-selector{align-items:center;display:flex;gap:.5rem}.period-selector label{color:#4b5563;font-weight:600}.period-selector select{background:#fff;border:2px solid #e5e7eb;border-radius:6px;font-size:.9rem;padding:.5rem 1rem;transition:border-color .3s}.period-selector select:focus{border-color:#667eea;outline:none}.error-analytics,.loading-analytics{color:#6b7280;font-size:1.2rem;padding:3rem;text-align:center}.kpis-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.kpi-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s,box-shadow .3s}.kpi-card:hover{box-shadow:0 8px 16px -4px #00000026;transform:translateY(-2px)}.kpi-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem}.kpi-info{flex:1 1}.kpi-value{color:#1f2937;font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.kpi-label{color:#6b7280;font-size:.875rem;font-weight:500}.charts-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:2rem}.chart-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem;transition:box-shadow .3s}.chart-card:hover{box-shadow:0 8px 16px -4px #00000026}.chart-card.full-width{grid-column:1/-1}.chart-card h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.summary-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.summary-section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.departamentos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.departamento-card{background:#f8fafc;border-left:4px solid #667eea;border-radius:8px;padding:1rem;transition:transform .3s}.departamento-card:hover{transform:translateX(4px)}.dept-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.dept-header h4{color:#1f2937;font-size:1rem;margin:0}.dept-count{background:#667eea;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.dept-valor{color:#059669;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.dept-promedio{color:#6b7280;font-size:.8rem}@media (max-width:768px){.analytics-container{padding:1rem}.analytics-header{align-items:stretch;flex-direction:column}.analytics-header h2{font-size:1.5rem;text-align:center}.kpis-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.charts-grid{grid-template-columns:1fr}.kpi-value{font-size:1.5rem}.departamentos-grid{grid-template-columns:1fr}}@media (max-width:480px){.kpis-grid{grid-template-columns:1fr}.chart-card,.kpi-card{padding:1rem}.period-selector{align-items:stretch;flex-direction:column}}.sidebar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:4px 0 20px #00000026;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1000}.sidebar.minimized{width:70px}.sidebar-header{border-bottom:1px solid #fff3;justify-content:space-between;min-height:80px;padding:1.5rem}.logo-section,.sidebar-header{align-items:center;display:flex}.logo-section{flex:1 1;gap:1rem}.logo-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:12px;display:flex;font-size:2rem;height:40px;justify-content:center;width:40px}.logo-text h3{font-size:1.2rem;font-weight:700;line-height:1;margin:0}.logo-text p{font-size:.9rem;font-weight:500;margin:0;opacity:.8}.toggle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .3s;width:32px}.toggle-btn:hover{background:#ffffff4d;transform:scale(1.05)}.sidebar-nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:1rem 0}.nav-section{padding:0 1rem}.nav-title{font-size:.8rem;font-weight:600;letter-spacing:1px;margin:1rem 0 .5rem .5rem;opacity:.7;text-transform:uppercase;transition:opacity .3s}.sidebar.minimized .nav-title{height:0;margin:0;opacity:0;overflow:hidden}.nav-item,.nav-item-wrapper{position:relative}.nav-item{align-items:center;background:none;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;gap:1rem;margin-bottom:.5rem;padding:1rem;transition:all .3s;width:100%}.sidebar.minimized .nav-item{justify-content:center;padding:1rem}.nav-item:hover:not(.disabled){background:#ffffff26;transform:translateX(4px)}.nav-item.active{background:#ffffff40;box-shadow:0 4px 12px #00000026;font-weight:600}.nav-item.disabled{cursor:not-allowed;opacity:.5}.nav-icon{align-items:center;display:flex;font-size:1.3rem;justify-content:center;min-width:24px}.nav-label{flex:1 1;overflow:hidden;text-align:left;white-space:nowrap}.coming-soon{background:#ffffff4d;border-radius:8px;font-size:.7rem;padding:.2rem .5rem;white-space:nowrap}.tooltip{animation:tooltipFadeIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;border-radius:8px;box-shadow:0 8px 24px #0000004d;color:#fff;left:80px;min-width:200px;padding:.75rem 1rem;z-index:10000}.tooltip,.tooltip:before{position:absolute;top:50%;transform:translateY(-50%)}.tooltip:before{border-bottom:6px solid #0000;border-right:6px solid #000000e6;border-top:6px solid #0000;content:"";left:-6px}.tooltip-title{font-weight:600;margin-bottom:.25rem}.tooltip-desc{font-size:.85rem;opacity:.9}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translateX(-10px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}.sidebar-actions{border-top:1px solid #fff3;padding:1rem}.action-section .nav-title{margin-left:0}.action-btn{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;transition:all .3s;width:100%}.sidebar.minimized .action-btn{justify-content:center;padding:.75rem}.action-btn:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.action-btn:disabled{cursor:not-allowed;opacity:.7}.action-icon{font-size:1.2rem;transition:transform .3s}.action-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.last-update-info{background:#0003;border-radius:8px;font-size:.8rem;padding:.75rem}.update-label{margin-bottom:.25rem;opacity:.8}.update-time{font-weight:600}.sidebar-footer{border-top:1px solid #fff3;padding:1rem}.footer-info{font-size:.8rem;text-align:center}.version{margin-bottom:.5rem;opacity:.6}.status{align-items:center;gap:.5rem}.footer-minimized,.status{display:flex;justify-content:center}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:8px;width:8px}.status-dot,.status-dot.active{background:#10b981}@keyframes pulse{0%{box-shadow:0 0 0 0 #10b981b3}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 0 0 #10b98100}}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:#ffffff1a}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width:768px){.sidebar,.sidebar.minimized{transform:translateX(-100%);width:100%}.sidebar.mobile-open{transform:translateX(0)}}*{box-sizing:border-box;margin:0;padding:0}.App{background-color:#f8fafc;display:flex;min-height:100vh}.main-content{flex:1 1;margin-left:280px;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.App:has(.sidebar.minimized) .main-content{margin-left:70px}.page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-bottom:2rem;padding:2rem}.page-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.page-header p{font-size:1.1rem;margin:0;opacity:.9}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.filtros{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;margin-bottom:2rem;padding:1.5rem}.filtros h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.filtros-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filtros select{background:#fff;border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s}.filtros select:focus{border-color:#667eea;outline:none}.loading{color:#666;font-size:1.2rem;padding:3rem;text-align:center}.resultados h3{color:#333;margin-bottom:1.5rem}.licitaciones-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.licitacion-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .3s,box-shadow .3s}.licitacion-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.card-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1.5rem}.card-header h4{color:#333;font-size:1.1rem;line-height:1.4;margin-right:1rem}.estado{border-radius:20px;font-size:.875rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase;white-space:nowrap}.estado.activa{background:#d4edda;color:#155724}.estado.cerrada{background:#f8d7da;color:#721c24}.card-body{padding:1.5rem}.card-body p{color:#555;line-height:1.4;margin-bottom:.5rem}.card-body strong{color:#333}.card-footer{background:#f8f9fa;border-top:1px solid #eee;padding:1rem 1.5rem}.card-footer a{color:#667eea;font-weight:500;text-decoration:none;transition:color .3s}.card-footer a:hover{color:#764ba2}@media (max-width:768px){.main-content{margin-left:0}.App:has(.sidebar.minimized) .main-content{margin-left:0}.page-header h1{font-size:2rem}.filtros-grid,.licitaciones-grid{grid-template-columns:1fr}.card-header{align-items:stretch;flex-direction:column}.card-header h4{margin-bottom:.5rem;margin-right:0}.container{padding:0 1rem}}
/*# sourceMappingURL=main.08de6c8e.css.map*/