:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login{background:#2f3744;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.login-card{background:#fff;border-radius:18px;flex-direction:column;gap:18px;width:380px;padding:40px;display:flex;box-shadow:0 20px 40px #00000040}.login-logo{width:90px;margin:auto}.login-card h1{text-align:center;color:#000;margin:0}.login-card p{text-align:center;color:#000;margin-top:-10px}.login-card input{border:1px solid #ddd;border-radius:8px;padding:15px;font-size:15px}.campo-password{width:100%;position:relative}.campo-password input{width:100%;padding-right:45px}.btn-mostrar-password{color:#666;cursor:pointer;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%);background:0 0!important;border:none!important;width:auto!important;padding:5px!important}.btn-mostrar-password:hover{color:#1f2b4a}.recordar-usuario{cursor:pointer;color:#000;align-items:center;gap:8px;font-size:14px;display:flex}.recordar-usuario input{cursor:pointer;width:16px;height:16px;margin:0;padding:0}.login-card>button[type=submit]{color:#fff;cursor:pointer;background:#1e90ff;border:none;border-radius:8px;padding:15px;font-size:16px}.login-card>button[type=submit]:hover{background:#1976d2}.error{color:red;text-align:center}:root{--sidebar:#343a40;--sidebar-hover:#4b525c;--sidebar-activo:#565d66;--texto:#fff;--texto-sec:#c7c7c7;--borde:#ffffff14;--verde:#2ecc71;--amarillo:#ffc107;--naranja:#ff9800;--rojo:#e53935}.sidebar{width:var(--sidebar-width);background:var(--sidebar);color:#fff;border-right:1px solid #2b3035;flex-direction:column;height:100vh;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--borde);align-items:center;gap:14px;padding:18px;display:flex}.logo-sidebar{width:calc(var(--sidebar-width) * .18);height:calc(var(--sidebar-width) * .18);object-fit:contain}.titulo-sidebar h2{font-size:calc(var(--texto) + 4px);color:#fff;font-weight:600}.titulo-sidebar span{color:#d7d7d7;font-size:calc(var(--texto) - 2px);letter-spacing:.5px}.titulo-sidebar h2{color:#fff;white-space:nowrap;margin:2px 0 0;font-size:22px;font-weight:700}.menu-sidebar{flex-direction:column;padding-top:8px;display:flex}.menu-item{color:#fff;cursor:pointer;background:0 0;border-left:4px solid #0000;justify-content:space-between;align-items:center;height:46px;padding:0 18px;font-size:14px;transition:all .2s;display:flex}.menu-item.activo{color:#fff;background:#565d66;border-left:4px solid #2d9cff}.menu-item .menu-left{align-items:center;gap:14px;display:flex}.menu-item .menu-left span{color:#fff!important}.menu-item .menu-left svg{color:#fff}.menu-proyectos,.menu-proyectos .menu-left span,.menu-proyectos .menu-left svg{color:#fff!important}.submenu{background:#464c54;flex-direction:column;display:flex}.submenu-item{cursor:pointer;background:0 0;align-items:center;gap:14px;min-height:40px;padding-left:48px;padding-right:15px;font-size:13px;transition:all .2s;display:flex;position:relative;color:#fff!important}.submenu-item span{color:#fff!important}.submenu-item:hover{background:#596069;color:#fff!important}.submenu-item.activo{background:#565d66;border-left:4px solid #2d9cff;padding-left:44px;color:#fff!important}.submenu-item.activo span{color:#fff!important}.submenu-item.activo svg{color:#2d9cff!important}.sidebar-footer{background:#34393f;border-top:1px solid #ffffff14;margin-top:auto;padding:10px}.btn-cerrar-sesion{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;height:40px;font-size:14px;font-weight:500;transition:all .2s}.btn-cerrar-sesion:hover{color:#fff;background:#4b525c}.btn-cerrar-sesion:focus{box-shadow:none;outline:none}.sidebar-footer{border-top:1px solid var(--borde);margin-top:auto}.lista-proyectos{flex:1;padding:12px 0;overflow:hidden auto}.lista-proyectos::-webkit-scrollbar-track{background:0 0}.card-proyecto{cursor:pointer;color:#fff;border-left:4px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;transition:all .25s;display:flex}.card-proyecto:hover{background:#4b525c}.card-proyecto.activa{background:#565d66;border-left:4px solid #2d9cff}.card-left{flex:1;align-items:center;gap:12px;display:flex}.icono-proyecto{color:#fff;width:18px;min-width:18px;font-size:18px}.info-proyecto{flex-direction:column;gap:3px;display:flex}.info-proyecto h4{color:#fff;margin:0;font-size:15px;font-weight:600}.info-proyecto small{color:#c7c7c7;font-size:12px}.estado{text-transform:uppercase;white-space:nowrap;border-radius:14px;padding:4px 10px;font-size:11px;font-weight:700}.sin-proyectos{text-align:center;color:#c9c9c9;padding:25px;font-size:14px}.submenu{animation:.25s abrirMenu;overflow:hidden}@keyframes abrirMenu{0%{opacity:0;max-height:0}to{opacity:1;max-height:800px}}.submenu-item{position:relative}.submenu-item:before{content:"";background:0 0;width:4px;height:100%;transition:all .25s;position:absolute;top:0;left:0}.submenu-item:hover:before{background:#2d9cff}.submenu-item.activo:before{background:#2d9cff}.menu-left svg{width:18px;min-width:18px;font-size:17px}.submenu-item svg{color:#4ea8ff;font-size:14px}.menu-item{transition:background .25s,padding-left .25s}.menu-item:hover{padding-left:22px}.submenu-item{transition:background .25s,padding-left .25s}.menu-item.activo{box-shadow:inset 4px 0 #2d9cff}.sidebar{font-family:Segoe UI,sans-serif}.menu-item span{font-size:15px;font-weight:500}.submenu-item span{font-size:14px}.sidebar-footer{background:#2e3338}@media (width<=900px){.sidebar{z-index:9999;position:absolute;top:0;left:0}}.sidebar{background:#3b4148;border-right:1px solid #4a5159}.sidebar-header{border-bottom:1px solid #ffffff14;align-items:center;height:78px;padding:15px 18px;display:flex}.logo-sidebar{object-fit:contain;width:48px;height:48px}.titulo-sidebar{margin-left:8px}.titulo-sidebar span{color:#c8c8c8;text-transform:uppercase;letter-spacing:1px;font-size:12px}.titulo-sidebar h2{color:#fff;margin-top:2px;font-size:18px;font-weight:600}.menu-sidebar{margin-top:8px}.menu-item{border-left:4px solid #0000;height:46px;padding:0 18px;font-size:14px}.menu-item:hover{background:#50565e}.menu-item.activo{background:#5a6068;border-left:4px solid #2096f3}.menu-left svg{color:#e8e8e8;font-size:16px}.submenu-item svg{color:#58b0ff}.submenu{background:#464c54}.submenu-item{color:#ececec;height:40px;padding-left:48px;font-size:13px}.submenu-item:hover{background:#596069}.submenu-item.activo{background:#666d76;border-left:4px solid #2196f3;padding-left:44px}.menu-item,.submenu-item{transition:background .2s,padding-left .2s,color .2s}.submenu-item:hover{padding-left:52px}.sidebar-footer{background:#34393f;border-top:1px solid #ffffff14;margin-top:auto}.sidebar-footer .menu-item{height:54px}.sidebar-footer .menu-item:hover{background:#4f555d}.submenu{max-height:450px;overflow-y:auto}.submenu::-webkit-scrollbar{width:5px}.submenu::-webkit-scrollbar-thumb{background:#777;border-radius:20px}.submenu::-webkit-scrollbar-track{background:0 0}.sidebar{box-shadow:6px 0 18px #00000059}.menu-item:hover svg,.submenu-item:hover svg{transform:scale(1.1)}.logo-sidebar{transition:all .25s}.logo-sidebar:hover{transform:rotate(-5deg)scale(1.05)}.sidebar.minimizado{width:72px}.sidebar.minimizado .sidebar-header{justify-content:center;padding:15px 10px;position:relative}.btn-minimizar-sidebar{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:16px;transition:all .2s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.btn-minimizar-sidebar:hover{background:#50565e}.sidebar.minimizado .btn-minimizar-sidebar{position:absolute;top:8px;right:50%;transform:translate(50%)}.sidebar.minimizado .menu-item{justify-content:center;padding:0}.sidebar.minimizado .menu-item .menu-left{justify-content:center;width:100%}.sidebar.minimizado .menu-item .menu-left span,.sidebar.minimizado .menu-item>svg{display:none}.sidebar.minimizado .menu-proyectos{justify-content:center}.sidebar.minimizado .menu-proyectos>svg,.sidebar.minimizado .submenu{display:none}.sidebar.minimizado .btn-cerrar-sesion{justify-content:center;align-items:center;font-size:0;display:flex}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);transition:width .25s,min-width .25s}.sidebar.minimizado{width:72px;min-width:72px}.sidebar.minimizado .sidebar-header{justify-content:center;padding:15px 10px}.sidebar.minimizado .logo-sidebar{width:42px;height:42px}.sidebar.minimizado .titulo-sidebar{display:none}.sidebar.minimizado .menu-item{border-left:0;justify-content:center;padding:0}.sidebar.minimizado .menu-item:hover{padding-left:0}.sidebar.minimizado .menu-left{justify-content:center;gap:0;width:100%}.sidebar.minimizado .menu-left span{display:none}.sidebar.minimizado .menu-left svg{width:20px;min-width:20px;font-size:18px}.sidebar.minimizado .menu-proyectos>svg,.sidebar.minimizado .submenu{display:none}.sidebar.minimizado .sidebar-footer{padding:8px}.sidebar.minimizado .btn-cerrar-sesion{justify-content:center;align-items:center;width:100%;font-size:0;display:flex}.sidebar.minimizado .btn-cerrar-sesion:before{content:"↪";font-size:20px}.btn-minimizar-sidebar{display:none!important}@media (width<=768px){.sidebar{z-index:1000;flex-shrink:0;width:72px;min-width:72px;height:100vh;transition:width .25s,min-width .25s;position:relative;top:auto;left:auto}.sidebar .sidebar-header{justify-content:center;width:72px;height:78px;padding:15px 10px}.sidebar .logo-sidebar{width:42px;height:42px}.sidebar .titulo-sidebar{display:none}.sidebar .menu-item{border-left:none;justify-content:center;width:72px;height:52px;padding:0}.sidebar .menu-item:hover{padding-left:0}.sidebar .menu-left{justify-content:center;gap:0;width:100%}.sidebar .menu-left span{display:none}.sidebar .menu-left svg{width:20px;min-width:20px;font-size:19px}.sidebar .menu-proyectos>svg,.sidebar .submenu{display:none}.sidebar .sidebar-footer{padding:8px}.sidebar .btn-cerrar-sesion{justify-content:center;align-items:center;width:100%;font-size:0;display:flex}.sidebar .btn-cerrar-sesion:before{content:"↪";font-size:20px}}.menu-sidebar{flex:1;min-height:0;padding-top:8px;overflow:hidden auto}.menu-sidebar::-webkit-scrollbar{width:5px}.menu-sidebar::-webkit-scrollbar-thumb{background:#666;border-radius:20px}.menu-sidebar::-webkit-scrollbar-track{background:0 0}.carpeta-menu{background:#343a40;border-bottom:1px solid #ffffff0f;font-weight:600}.contenido-carpeta{background:#30363d;flex-direction:column;padding:4px 0;display:flex}.contenido-carpeta>.menu-item{padding-left:30px}.carpeta-vacia{color:#aeb5bd;padding:14px 20px 14px 48px;font-size:12px;font-style:italic}.sidebar-footer{z-index:2;flex-shrink:0;margin-top:auto;position:relative}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-tooltip-pane{z-index:650}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-bottom{bottom:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.contenedor-mapa{width:100%;height:100vh;display:flex;overflow:hidden}.contenedor-leaflet{background:#d9dde4;flex:auto;width:100%;min-width:0;height:calc(100vh - 78px);min-height:0;display:flex;position:relative;overflow:hidden}.leaflet{width:100%;min-width:0;height:100%;min-height:0}.leaflet-container{background:#d9dde4;flex:auto;width:100%;min-width:0;height:100%;min-height:0;font-family:Segoe UI,sans-serif}.leaflet-control-container{z-index:500}.leaflet-top{top:18px}.leaflet-right{right:18px}.leaflet-left{left:18px}.leaflet-control-zoom{overflow:hidden;box-shadow:0 5px 18px #00000040;border:none!important;border-radius:8px!important}.leaflet-control-zoom a{transition:all .2s;color:#222!important;background:#fff!important;border:none!important;width:38px!important;height:38px!important;font-size:20px!important;line-height:38px!important}.leaflet-control-zoom a:hover{color:#fff!important;background:#3b82f6!important}.leaflet-control-attribution{border-radius:5px;padding:4px 8px;font-size:10px;background:#ffffffd9!important}.leaflet-container{cursor:grab}.leaflet-container:active{cursor:grabbing}.barra-superior{z-index:1000;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:15px;min-width:240px;height:48px;padding:0 25px;display:flex;position:absolute;top:15px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #00000026}.barra-superior h2{color:#2c3e50;font-size:30px;font-weight:600}.barra-superior button{cursor:pointer;color:#444;background:0 0;border:none;font-size:22px}.leaflet-popup{animation:.25s popupShow}.leaflet-popup-content-wrapper{background:#343b45;border-radius:12px;overflow:hidden;box-shadow:0 12px 35px #00000059;padding:0!important}.leaflet-popup-content{color:#fff;background:#343b45;min-width:260px;font-family:Segoe UI,sans-serif;margin:0!important}.leaflet-container a.leaflet-popup-close-button{color:#fff;padding:8px;font-size:18px}.leaflet-container a.leaflet-popup-close-button:hover{color:#f55}.popup-proyecto{color:#fff;background:#343b45;width:270px}.popup-header{border-bottom:1px solid #ffffff14;padding:18px}.popup-header h3{text-transform:uppercase;color:#fff;margin:0;font-size:20px;font-weight:700;line-height:22px}.popup-header span{letter-spacing:1px;text-transform:uppercase;margin-top:8px;font-size:11px;font-weight:700;display:inline-block}.popup-body{padding:18px}.popup-item{margin-bottom:14px}.popup-item:last-child{margin-bottom:0}.popup-item strong{text-transform:uppercase;color:#aeb7c2;margin-bottom:4px;font-size:11px;display:block}.popup-item span{color:#fff;font-size:14px;line-height:20px;display:block}.badge{letter-spacing:.5px;text-transform:uppercase;border-radius:15px;padding:5px 10px;font-size:10px;font-weight:700;display:inline-block}.estado-en-licitacion,.estado-en-licitación{color:#222;background:#f5b400}.popup-footer{background:#343b45;border-top:1px solid #ffffff14;gap:10px;padding:15px 18px 18px;display:flex}.btn-popup{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;height:42px;font-size:13px;font-weight:600;transition:all .25s;display:flex}.btn-popup.editar{color:#fff;background:#3b82f6}.btn-popup.editar:hover{background:#2563eb;transform:translateY(-2px)}.btn-popup.inventario{color:#fff;background:#16a34a}.btn-popup.inventario:hover{background:#15803d;transform:translateY(-2px)}.btn-popup:active{transform:scale(.96)}.leaflet-marker-icon{transition:transform .25s,filter .25s}.leaflet-marker-icon:hover{filter:drop-shadow(0 0 12px #00000073);transform:scale(1.15)}@keyframes popupShow{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.popup-body::-webkit-scrollbar{width:6px}.popup-body::-webkit-scrollbar-thumb{background:#596372;border-radius:10px}.popup-body::-webkit-scrollbar-track{background:0 0}.popup-proyecto{box-shadow:0 15px 35px #00000059}.leaflet-control-zoom{transition:all .25s}.leaflet-control-zoom:hover{box-shadow:0 8px 25px #00000059}.panel-flotante{z-index:999;background:#fff;border-radius:12px;padding:12px 18px;position:absolute;top:20px;right:20px;box-shadow:0 10px 30px #0000002e}.panel-flotante h4{color:#2c3e50;margin:0;font-size:15px}.panel-flotante span{color:#6b7280;font-size:12px}.fab{cursor:pointer;color:#fff;z-index:1000;background:#2563eb;border:none;border-radius:50%;width:52px;height:52px;font-size:22px;transition:all .25s;position:absolute;right:25px;box-shadow:0 10px 25px #00000040}.fab:hover{transform:scale(1.08)}.fab-add{bottom:90px}.fab-location{background:#16a34a;bottom:25px}.loading-mapa{z-index:1500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-spinner{border:6px solid #ddd;border-top-color:#2563eb;border-radius:50%;width:55px;height:55px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.popup-proyecto{width:260px}}@media (width<=992px){.contenedor-leaflet{width:100%;height:calc(100vh - 78px)}}@media (width<=768px){.contenedor-leaflet{width:100%;height:calc(100vh - 78px)}.fab{width:45px;height:45px;font-size:18px}.popup-proyecto{width:240px}.leaflet-control-zoom{transform:scale(.9)}}@media (width<=576px){.contenedor-leaflet{width:100%;height:calc(100vh - 78px);min-height:350px}.popup-footer{flex-direction:column}.btn-popup{width:100%}}::selection{color:#fff;background:#2563eb}.leaflet-container{outline:none}.leaflet-pane{z-index:400}.leaflet-popup-pane{z-index:700}.leaflet-marker-pane{z-index:600}.leaflet-control{z-index:800}.leaflet-popup-content-wrapper{box-shadow:none!important;background:0 0!important;padding:0!important}.leaflet-popup-content{margin:0!important}.leaflet-popup-tip{background:#343b45!important}.popup-arsol{color:#fff;background:#343b45;border-radius:20px;min-width:320px;max-width:320px;padding:18px;box-shadow:0 10px 30px #00000059}.popup-header{justify-content:space-between;align-items:flex-start;display:flex}.popup-header h2{color:#fff;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:15px;font-weight:700;line-height:1.1}.popup-icono{color:#fff;background:#d32f2f;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;display:flex}.popup-info{color:#fff;margin-top:15px;font-size:16px}.popup-info strong{color:#fff}.btn-equipos{color:#fff;cursor:pointer;background:#cf2b2b;border:none;border-radius:8px;width:100%;margin-top:15px;padding:10px;font-weight:700}.btn-equipos:hover{background:#b71c1c}.badge{text-transform:uppercase;border-radius:20px;margin-top:5px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-block}.estado-activo{color:#fff;background:#18b85b}.estado-en-licitacion{color:#222;background:#f6b400}.estado-suspendido{color:#fff;background:#ff8a00}.estado-finalizado{color:#fff;background:#d7263d}.card-equipo{cursor:pointer;background:#3d434a;border-radius:12px;width:100%;max-width:380px;margin:auto;transition:all .25s;overflow:hidden;box-shadow:0 4px 12px #0003}.card-equipo:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000059}.imagen-container{background:#222;width:100%;height:190px;position:relative;overflow:hidden}.card-imagen{object-fit:cover;width:100%;height:100%;display:block}.acciones-equipo{z-index:5;gap:8px;display:flex;position:absolute;top:8px;right:8px}.btn-editar,.btn-eliminar{cursor:pointer;color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:transform .2s,background-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 6px #00000040}.btn-editar{background-color:#2563eb}.btn-editar:hover{background-color:#1d4ed8;transform:scale(1.08);box-shadow:0 4px 10px #2563eb59}.btn-eliminar{background-color:#dc2626}.btn-eliminar:hover{background-color:#b91c1c;transform:scale(1.08);box-shadow:0 4px 10px #dc262659}.card-body{padding:calc(var(--gap) * .45);color:#fff;background:#3d434a}.dato{font-size:var(--texto);align-items:center;gap:6px;margin-bottom:0;display:flex}.titulo{color:#d0d0d0;min-width:60px;font-weight:700}.valor{color:#fff;overflow-wrap:anywhere;min-width:0;font-weight:600}.icono{color:#cfd8dc;flex-shrink:0;font-size:11px}.estado-linea{font-size:var(--texto);margin-top:2px}.estado-linea strong{letter-spacing:.5px;font-weight:700}@media (width<=768px){.card-equipo{border-radius:12px;width:calc(100% - 20px);max-width:none;margin:10px auto}.imagen-container{width:100%;height:160px}.card-imagen{object-fit:cover;width:100%;height:100%}.card-body{width:100%;padding:14px}.dato{flex-wrap:wrap;align-items:flex-start;gap:8px;width:100%;margin-bottom:7px;font-size:14px;display:flex}.titulo{flex-shrink:0;min-width:70px}.valor{overflow-wrap:anywhere;word-break:break-word;flex:1;min-width:0}.estado-linea{margin-top:10px;font-size:14px}.acciones-equipo{gap:8px;top:8px;right:8px}.btn-editar,.btn-eliminar{border-radius:8px;width:42px;height:42px;font-size:17px}}@media (width<=400px){.acciones-equipo{gap:6px}.btn-editar,.btn-eliminar{width:38px;height:38px;font-size:15px}}.modal-mover{width:min(700px,95vw);max-height:90vh}.modal-mover-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.modal-mover-titulo{align-items:center;gap:12px;display:flex}.modal-mover-titulo h2{margin:0}.modal-mover-titulo span{opacity:.75;margin-top:3px;font-size:13px;display:block}.modal-mover-icono{background:#ffffff26;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:19px;display:flex}.modal-mover .modal-close{width:38px;height:38px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:18px;transition:all .2s;display:flex}.modal-mover .modal-close:hover{background:#ffffff26}.modal-mover .modal-mover-body{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;display:flex}.modal-mover-resumen{box-sizing:border-box;background:#f1f5f9;border:1px solid #e1e7ee;border-radius:10px;align-items:center;gap:12px;width:100%;padding:13px 15px;display:flex}.modal-mover-resumen-icono{color:#1565c0;background:#e8f0fe;border-radius:9px;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;font-size:18px;display:flex}.modal-mover-resumen span{color:#718096;margin-bottom:3px;font-size:12px;display:block}.modal-mover-resumen strong{color:#243447;font-size:15px;display:block}.modal-mover .form-group{box-sizing:border-box;flex-direction:column;gap:7px;width:100%;display:flex}.modal-mover .form-group label{color:#374151;box-sizing:border-box;width:100%;margin:0;font-size:14px;font-weight:600;display:block}.modal-mover .form-group input,.modal-mover .form-group select,.modal-mover .form-group textarea{box-sizing:border-box;color:#243447;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.modal-mover .form-group input::placeholder,.modal-mover .form-group textarea::placeholder{color:#9ca3af;opacity:1}.modal-mover .form-group input:focus,.modal-mover .form-group select:focus,.modal-mover .form-group textarea:focus{color:#243447;background-color:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.modal-mover .form-group input,.modal-mover .form-group select{min-height:42px}.modal-mover .form-group textarea{resize:vertical;min-height:100px}.modal-mover .campo-requerido{color:#d32f2f;margin-left:3px}.modal-mover .form-group input:disabled{color:#6b7280;cursor:not-allowed;background:#f1f3f5}.modal-mover-footer{justify-content:flex-end;align-items:center;gap:10px;display:flex}.modal-mover-footer .btn{justify-content:center;align-items:center;gap:7px;min-height:40px;display:inline-flex}@media (width<=600px){.modal-mover{width:94vw}.modal-mover-footer{flex-direction:column-reverse;align-items:stretch}.modal-mover-footer .btn{width:100%}}.modal-maquinaria{background:#fff;border-radius:12px;flex-direction:column;flex-shrink:0;width:520px;max-width:95vw;max-height:calc(100vh - 40px);margin:0 auto;display:flex;overflow:hidden;box-shadow:0 15px 40px #00000040}.modal-maquinaria .modal-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.modal-editar-body{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;min-height:0;padding:20px;display:flex;overflow:hidden auto}.modal-editar-body::-webkit-scrollbar{width:7px}.modal-editar-body::-webkit-scrollbar-track{background:0 0}.modal-editar-body::-webkit-scrollbar-thumb{background:#b8bec7;border-radius:10px}.contenedor-imagen{justify-content:center;width:100%;display:flex}.panel-imagen{flex-direction:column;align-items:center;width:320px;max-width:100%;display:flex}.preview-imagen,.preview-vacio{box-sizing:border-box;border-radius:10px;width:320px;max-width:100%;height:180px;overflow:hidden}.preview-imagen{object-fit:cover}.btn-imagen{width:320px;max-width:100%;margin-top:12px}.grid-formulario{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;display:grid}.campo-maquinaria{flex-direction:column;width:100%;display:flex}.campo-maquinaria label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:600}.campo-maquinaria input,.campo-maquinaria select{box-sizing:border-box;color:#243447;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;height:42px;padding:0 10px;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.campo-maquinaria input:focus,.campo-maquinaria select:focus{color:#243447;background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.campo-maquinaria input::placeholder{color:#9ca3af;opacity:1}.modal-editar-body .modal-footer{box-sizing:border-box;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;width:100%;padding-top:4px;display:flex}@media (width<=700px){.modal-overlay{padding:10px}.modal-maquinaria{border-radius:10px;width:95vw;max-width:95vw;max-height:calc(100vh - 20px)}.modal-editar-body{gap:14px;padding:16px}.panel-imagen{width:100%}.preview-imagen,.preview-vacio{aspect-ratio:16/9;width:100%;max-width:320px;height:auto}.btn-imagen{width:100%;max-width:320px}.grid-formulario{grid-template-columns:1fr;gap:14px}.modal-footer{flex-wrap:wrap;gap:10px}}@media (width<=480px){.modal-overlay{padding:6px}.modal-maquinaria{border-radius:10px;width:96vw;max-width:96vw;max-height:calc(100vh - 12px)}.modal-editar-body{gap:12px;padding:12px}.modal-maquinaria .modal-header{padding:14px 16px}.modal-maquinaria .modal-header h2{font-size:20px}.modal-footer{flex-direction:column;padding:12px 0 0}.modal-footer .btn{width:100%}}.modal-documentos{background:#f5f7fb;border-radius:16px;flex-direction:column;width:min(820px,92vw);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.modal-documentos .modal-header{color:#fff;background:#0d4f94;justify-content:space-between;align-items:flex-start;padding:18px 24px;display:flex}.modal-documentos .modal-header h2{margin:0;font-size:32px;font-weight:700}.modal-documentos .modal-header span{opacity:.9;margin-top:4px;font-size:14px;display:block}.modal-documentos .modal-header button{color:#fff;cursor:pointer;background:0 0;border:none;font-size:28px}.modal-documentos .modal-body{padding:24px;overflow:auto}.documentos-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:18px;display:grid}.card-documento{background:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;align-items:center;min-height:215px;padding:18px;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 18px #00000014}.card-documento:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0000002e}.card-documento:before{content:"";background:#1976d2;width:100%;height:6px;position:absolute;top:0;left:0}.card-documento>svg{color:#e53935;margin-top:8px;font-size:62px}.card-documento h4{color:#263238;text-align:center;margin:12px 0 4px;font-size:20px}.info-documento{flex-direction:column;align-items:center;gap:5px;width:100%;display:flex}.info-documento strong{text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#37474f;width:100%;font-size:14px;overflow:hidden}.info-documento small{color:#78909c;font-size:12px}.btn-subir-card{color:#fff;text-align:center;cursor:pointer;box-sizing:border-box;background:#2563eb;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 12px;font-size:14px;font-weight:600;line-height:1.2;transition:background-color .2s,transform .2s,box-shadow .2s;display:flex}.btn-subir-card:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 10px #2563eb40}.btn-subir-card:active{transform:translateY(0)}.btn-subir-card:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb33}.acciones{justify-content:center;gap:10px;width:100%;margin-top:8px;display:flex}.acciones button{color:#fff;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.acciones button:hover{transform:scale(1.08)}.acciones button:first-child{background:#2563eb}.acciones button:nth-child(2){background:#16a34a}.acciones button:nth-child(3){background:#dc2626}.modal-documentos .modal-footer{background:#fff;border-top:1px solid #dfe3ea;justify-content:flex-end;padding:16px 22px;display:flex}@media (width<=900px){.documentos-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.modal-documentos{width:95vw}.documentos-grid{grid-template-columns:1fr}}.modal-documento{background:#fff;border-radius:12px;width:700px;max-width:95vw;overflow:hidden}.modal-documento .modal-body{flex-direction:column;gap:18px;display:flex}.tipo-documento-card{background:#eef5ff;border:2px solid #1976d2;border-radius:10px;align-items:center;gap:15px;padding:18px;display:flex}.tipo-documento-card svg{color:#1976d2}.tipo-documento-card strong{color:#1f2937;font-size:17px;display:block}.tipo-documento-card small{color:#6b7280}.archivo-seleccionado{background:#f4f8ff;border:1px solid #c6d8ff;border-radius:10px;align-items:center;gap:15px;padding:15px;display:flex}.archivo-seleccionado svg{color:#1976d2}.archivo-seleccionado strong{color:#1f2937}.archivo-seleccionado small{color:#6b7280}@media (width<=900px){.modal-documento{width:95vw}}.modal-mantenimiento{width:min(780px,94vw);max-width:780px;max-height:92vh;overflow:hidden}.modal-mantenimiento .modal-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.mantenimiento-titulo{align-items:center;gap:12px;min-width:0;display:flex}.mantenimiento-titulo h2{color:inherit;margin:0;font-size:21px}.mantenimiento-titulo span{opacity:.75;margin-top:3px;font-size:12px;display:block}.mantenimiento-icono{background:#ffffff26;border-radius:10px;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;font-size:19px;display:flex}.modal-mantenimiento .modal-body{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;display:flex}.mantenimiento-equipo{box-sizing:border-box;background:#f1f5f9;border:1px solid #dce4ec;border-radius:10px;width:100%;padding:13px 16px}.mantenimiento-equipo span{color:#718096;margin-bottom:4px;font-size:12px;display:block}.mantenimiento-equipo strong{color:#243447;font-size:15px;display:block}.modal-mantenimiento .form-grid-2{box-sizing:border-box;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;display:grid!important}.modal-mantenimiento .form-group{box-sizing:border-box;gap:7px;min-width:0;flex-direction:column!important;align-items:stretch!important;width:100%!important;display:flex!important}.modal-mantenimiento .form-group label{color:#374151;text-align:left;box-sizing:border-box;font-size:14px;font-weight:600;line-height:1.3;width:100%!important;margin:0!important;padding:0!important;display:block!important}.modal-mantenimiento .form-group input,.modal-mantenimiento .form-group select,.modal-mantenimiento .form-group textarea{font-size:14px;box-sizing:border-box!important;color:#243447!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:7px!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;display:block!important}.modal-mantenimiento .form-group input{min-height:42px;padding:10px 12px}.modal-mantenimiento .form-group select{cursor:pointer;min-height:42px;padding:10px 12px}.modal-mantenimiento .form-group textarea{resize:vertical;min-height:105px;padding:10px 12px}.modal-mantenimiento .form-group input::placeholder,.modal-mantenimiento .form-group textarea::placeholder{color:#9ca3af;opacity:1}.modal-mantenimiento .form-group input:focus,.modal-mantenimiento .form-group select:focus,.modal-mantenimiento .form-group textarea:focus{outline:none;box-shadow:0 0 0 2px #1e90ff1f;border-color:#1e90ff!important}.modal-mantenimiento .form-group input:disabled{cursor:not-allowed;opacity:1;color:#6b7280!important;background:#f1f3f5!important}.documentos-mantenimiento{box-sizing:border-box;background:#f8fafc;border:1px solid #dce4ec;border-radius:10px;width:100%;padding:16px}.documentos-header{justify-content:space-between;align-items:center;gap:20px;width:100%;display:flex}.documentos-header>div{flex:1;min-width:0}.documentos-header label{color:#374151;margin:0;font-size:14px;font-weight:600;display:block}.documentos-header small{color:#718096;margin-top:4px;font-size:12px;line-height:1.4;display:block}.btn-subir-documento{white-space:nowrap;cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:7px;display:inline-flex!important}.lista-documentos{flex-direction:column;gap:7px;width:100%;margin-top:12px;display:flex}.documento-item{box-sizing:border-box;color:#374151;background:#fff;border:1px solid #e1e7ee;border-radius:7px;align-items:center;gap:9px;width:100%;padding:9px 11px;font-size:13px;display:flex}.documento-item>svg{color:#1565c0;flex-shrink:0}.documento-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.documento-item button{color:#c62828;cursor:pointer;background:#ffe2e2;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;padding:0;display:flex}.modal-mantenimiento .modal-footer{justify-content:flex-end;align-items:center;gap:10px;display:flex}.modal-mantenimiento .modal-footer .btn{justify-content:center;align-items:center;gap:7px;min-height:40px;display:inline-flex}@media (width<=900px){.modal-mantenimiento{width:min(94vw,780px);max-width:94vw;max-height:94vh}.modal-mantenimiento .modal-header{padding:16px 18px}.modal-mantenimiento .modal-body{gap:16px;padding:18px;overflow-x:hidden}.modal-mantenimiento .modal-footer{padding:14px 18px}}@media (width<=700px){.modal-overlay{align-items:center;padding:10px}.modal-mantenimiento{border-radius:10px;width:100%;max-width:100%;max-height:96vh}.modal-mantenimiento .modal-header{gap:10px;padding:13px 15px}.mantenimiento-titulo{gap:9px}.mantenimiento-icono{width:38px;min-width:38px;height:38px;font-size:17px}.mantenimiento-titulo h2{font-size:18px;line-height:1.2}.mantenimiento-titulo span{font-size:11px;line-height:1.3}.modal-mantenimiento .modal-header .modal-close{flex-shrink:0;font-size:23px}.modal-mantenimiento .modal-body{gap:14px;padding:14px;overflow-x:hidden}.modal-mantenimiento .form-grid-2{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.modal-mantenimiento .form-group input,.modal-mantenimiento .form-group select,.modal-mantenimiento .form-group textarea{max-width:100%!important}.mantenimiento-equipo,.documentos-mantenimiento{padding:13px}.documentos-header{flex-direction:column;align-items:stretch;gap:12px}.btn-subir-documento{width:100%}.modal-mantenimiento .modal-footer{flex-direction:column-reverse;align-items:stretch;gap:8px;padding:12px 14px}.modal-mantenimiento .modal-footer .btn{width:100%;min-height:42px}.documento-item{padding:8px 9px}}@media (width<=480px){.modal-overlay{padding:6px}.modal-mantenimiento{border-radius:8px;max-height:98vh}.modal-mantenimiento .modal-header{padding:11px 12px}.mantenimiento-icono{border-radius:8px;width:34px;min-width:34px;height:34px;font-size:15px}.mantenimiento-titulo h2{font-size:16px}.mantenimiento-titulo span{font-size:10px}.modal-mantenimiento .modal-body{gap:12px;padding:11px}.modal-mantenimiento .form-group{gap:5px}.modal-mantenimiento .form-group label{font-size:13px}.modal-mantenimiento .form-group input,.modal-mantenimiento .form-group select{min-height:40px;font-size:13px}.modal-mantenimiento .form-group textarea{min-height:90px;font-size:13px}.campo-ayuda{font-size:10px}.documentos-header small{font-size:11px}.modal-mantenimiento .modal-footer{padding:10px 11px}}.detalle-overlay{z-index:99999;background:#00000080;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.detalle-modal{background:#fff;border-radius:14px;flex-direction:column;width:1200px;max-width:95vw;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 18px 40px #00000040}.detalle-header{color:#fff;background:#0b4a8b;justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.detalle-titulo{align-items:center;gap:12px;display:flex}.detalle-titulo svg{font-size:28px}.detalle-titulo h2{margin:0;font-size:34px;font-weight:600}.detalle-cerrar{color:#fff;cursor:pointer;background:0 0;border:none;font-size:32px}.detalle-body{flex:1;padding:30px;overflow-y:auto}.detalle-info{flex-direction:column;gap:22px;display:flex}.detalle-item{flex-direction:column;gap:8px;display:flex}.detalle-label{color:#555;font-size:17px;font-weight:600}.detalle-valor{color:#243447;background:#f8fafc;border:1px solid #d9dee5;border-radius:10px;align-items:center;min-height:48px;padding:0 16px;font-size:17px;display:flex}.estado{color:#1976d2;font-weight:700}.detalle-descripcion .detalle-texto{white-space:pre-wrap;color:#444;background:#f8fafc;border:1px solid #d9dee5;border-radius:10px;min-height:120px;padding:15px;line-height:1.6}.detalle-btn-editar{width:100%;height:58px;font-size:18px}.detalle-separador{background:#e3e7ec;height:1px;margin:35px 0}.detalle-actividades-header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.detalle-actividades-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px;display:grid}.detalle-card{background:#fff;border:1px solid #d9dee5;border-radius:12px;padding:20px;transition:all .25s}.detalle-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #0000001a}.detalle-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.detalle-card-header strong{color:#243447;font-size:21px}.detalle-icono{color:#1976d2;cursor:pointer;background:0 0;border:none;font-size:20px}.detalle-icono:hover{color:#0b4a8b}.detalle-estado{color:#1976d2;background:#e8f2ff;border-radius:20px;margin-bottom:15px;padding:5px 12px;font-size:14px;font-weight:600;display:inline-flex}.detalle-card p{color:#555;margin:0;line-height:1.6}.detalle-vacio{text-align:center;color:#777;border:2px dashed #d9dee5;border-radius:12px;grid-column:1/-1;padding:60px}.detalle-footer{background:#fafafa;border-top:1px solid #e3e7ec;justify-content:flex-end;padding:20px 30px;display:flex}@media (width<=900px){.detalle-superior{grid-template-columns:1fr}.detalle-panel{justify-content:stretch}.detalle-btn-editar{width:100%}.detalle-actividades-header{flex-direction:column;align-items:flex-start;gap:15px}.detalle-actividades-grid{grid-template-columns:1fr}}@media (width<=700px){.detalle-overlay{padding:12px}.detalle-modal{border-radius:10px;width:100%;max-width:100%;max-height:94vh}.detalle-header{padding:14px 16px}.detalle-titulo{gap:8px}.detalle-titulo svg,.detalle-titulo h2{font-size:22px}.detalle-cerrar{font-size:26px}.detalle-body{padding:18px}.detalle-label{font-size:15px}.detalle-valor{min-height:42px;padding:0 12px;font-size:15px}.detalle-actividades-header{width:100%}.detalle-actividades-header h3{font-size:24px}.detalle-actividades-header .btn{width:100%}.detalle-actividades-grid{grid-template-columns:1fr;gap:14px}.detalle-card{padding:15px}.detalle-card-header strong{font-size:18px}.detalle-footer{padding:14px 18px}.detalle-footer .btn{width:100%}}@media (width<=480px){.detalle-overlay{padding:8px}.detalle-modal{border-radius:8px;max-height:96vh}.detalle-header{padding:12px}.detalle-titulo h2{font-size:18px}.detalle-titulo small{font-size:11px}.detalle-body{padding:14px}.detalle-separador{margin:22px 0}.detalle-actividades-header h3{font-size:21px}.detalle-vacio{padding:35px 15px}}.detalle-modal{width:min(1000px,94vw);max-width:1000px}.detalle-superior{grid-template-columns:1fr auto;align-items:center;gap:20px;display:grid}.detalle-info{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.detalle-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-width:0;padding:14px 16px}.detalle-label{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.detalle-valor{color:#243447;font-size:15px;font-weight:600}.detalle-panel{justify-content:flex-end;align-items:center;display:flex}.detalle-btn-editar{white-space:nowrap}.detalle-fechas{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;display:grid}.fecha-card{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.fecha-icono{border-radius:9px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;font-size:16px;display:flex}.fecha-icono.inicio{color:#2563eb;background:#dbeafe}.fecha-icono.estimada{color:#d97706;background:#fef3c7}.fecha-icono.real{color:#16a34a;background:#dcfce7}.fecha-card>div:last-child{min-width:0}.fecha-card span{color:#64748b;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.fecha-card strong{color:#243447;word-break:break-word;font-size:14px;line-height:1.35;display:block}.detalle-bloque{box-sizing:border-box;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:15px 16px}.detalle-bloque .detalle-label{margin-bottom:8px}.detalle-texto{color:#374151;word-break:break-word;font-size:14px;line-height:1.6}.detalle-bloque.observaciones{background:#fffbeb;border:1px solid #fde68a}.detalle-label-icon{color:#92400e;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.detalle-label-icon svg{font-size:14px}.detalle-documentos{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:15px 16px}.detalle-seccion-titulo{align-items:center;gap:8px;display:flex}.detalle-seccion-titulo svg{color:#1565c0}.detalle-seccion-titulo h3{color:#243447;margin:0;font-size:17px}.documentos-vacios,.documentos-resumen{color:#64748b;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.documentos-vacios svg,.documentos-resumen svg{color:#94a3b8}.detalle-separador{background:#e2e8f0;width:100%;height:1px;margin:4px 0}.detalle-actividades-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;display:flex}.detalle-actividades-header h3{color:#243447;margin:0;font-size:28px}.detalle-actividades-header small{color:#94a3b8;margin-top:3px;font-size:13px;display:block}.detalle-actividades-grid{width:100%}.detalle-vacio{color:#64748b;background:#fff;border:2px dashed #d5dde7;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:120px;display:flex}@media (width<=850px){.detalle-superior{grid-template-columns:1fr}.detalle-panel{justify-content:flex-start}.detalle-fechas{grid-template-columns:1fr 1fr}}@media (width<=600px){.detalle-info,.detalle-fechas{grid-template-columns:1fr}.detalle-actividades-header{flex-direction:column;align-items:stretch}.detalle-actividades-header .btn{width:100%}}.detalle-panel{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.detalle-panel .btn{margin:0}.actividad-overlay{z-index:999999;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.actividad-modal{background:#fff;border-radius:12px;flex-direction:column;width:550px;max-width:95vw;max-height:90vh;animation:.25s aparecerActividad;display:flex;overflow:hidden;box-shadow:0 10px 35px #00000040}@keyframes aparecerActividad{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}.actividad-header{color:#fff;background:#1f2b4a;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.actividad-titulo{align-items:center;gap:10px;display:flex}.actividad-titulo svg{font-size:18px}.actividad-header h2{margin:0;font-size:20px;font-weight:600}.actividad-cerrar{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:22px;transition:all .2s;display:flex}.actividad-cerrar:hover{transform:scale(1.1)}.actividad-body{flex-direction:column;gap:18px;padding:22px;display:flex;overflow-y:auto}.actividad-campo{flex-direction:column;gap:8px;min-width:0;display:flex}.actividad-campo label{color:#444;font-weight:600}.actividad-campo input,.actividad-campo select,.actividad-campo textarea{box-sizing:border-box;color:#333;background:#fff;border:1px solid #d8d8d8;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .2s}.actividad-campo textarea{resize:vertical;min-height:80px}.actividad-campo input:focus,.actividad-campo select:focus,.actividad-campo textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.actividad-fila{grid-template-columns:1fr 1fr;gap:14px;display:grid}.actividad-footer{background:#fafafa;border-top:1px solid #ececec;flex-shrink:0;justify-content:flex-end;gap:10px;padding:18px 22px;display:flex}@media (width<=600px){.actividad-modal{max-height:95vh}.actividad-fila{grid-template-columns:1fr}.actividad-body{padding:18px}.actividad-footer{padding:15px 18px}}.modal-lista{background:#fff;border-radius:12px;flex-direction:column;width:min(1500px,96vw);height:90vh;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 18px 45px #00000040}.modal-lista .modal-header{color:#fff;background:#0f4c81;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-lista .modal-header h2{align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.modal-lista .modal-header small{opacity:.85;margin-top:4px;font-size:13px;display:block}.modal-lista .modal-header button{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.modal-lista .modal-header button:hover{background:#ffffff47}.modal-lista .modal-body{box-sizing:border-box;background:#f1f3f5;flex:auto;width:100%;min-width:0;min-height:0;padding:16px;overflow:hidden auto;display:block!important}.tabla-actividades-contenedor{box-sizing:border-box;background:#fff;border:1px solid #b7b7b7;width:100%;min-width:0;display:block;overflow-x:auto}.tabla-actividades-titulo{box-sizing:border-box;color:#fff;text-align:center;background:#24547a;width:1500px;min-width:1500px;padding:9px;font-size:18px;font-weight:800}.tabla-actividades{table-layout:fixed;border-collapse:collapse;width:1500px;min-width:1500px}.tabla-actividades th{color:#172b3d;text-align:center;vertical-align:middle;white-space:normal;background:#dce9f5;border:1px solid #333;padding:10px 8px;font-weight:800;line-height:1.25}.tabla-actividades td{text-align:center;vertical-align:middle;color:#263442;border:1px solid #777;min-height:42px;padding:12px 9px}.tabla-actividades tbody tr:nth-child(2n){background:#eaeaea}.tabla-actividades tbody tr:nth-child(odd){background:#fff}.tabla-actividades tbody tr:not(:has(.tabla-sin-registros)){cursor:pointer}.tabla-actividades tbody tr:not(:has(.tabla-sin-registros)):hover{background:#dbeafe}.tabla-actividades .folio-actividad{width:65px;font-size:14px;font-weight:800}.tabla-actividades .celda-texto-largo{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;min-width:180px;max-width:260px}.tabla-actividades .tabla-sin-registros{color:#64748b;text-align:center;cursor:default;padding:35px;font-weight:600}.modal-lista .modal-footer{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:flex-end;padding:15px 22px;display:flex}@media (width<=768px){.modal-lista{width:98vw;height:92vh;max-height:92vh}.modal-lista .modal-header h2{font-size:16px}.tabla-actividades{min-width:1400px}.modal-lista .modal-footer{justify-content:stretch}.modal-lista .modal-footer .btn{width:100%}}.tabla-actividades-titulo{box-sizing:border-box;width:1980px;min-width:1980px}.tabla-actividades{table-layout:fixed;width:1980px;min-width:1980px}.tabla-actividades th:first-child,.tabla-actividades td:first-child{width:75px}.tabla-actividades th:nth-child(2),.tabla-actividades td:nth-child(2){width:150px}.tabla-actividades th:nth-child(3),.tabla-actividades td:nth-child(3){width:125px}.tabla-actividades th:nth-child(4),.tabla-actividades td:nth-child(4){width:250px}.tabla-actividades th:nth-child(5),.tabla-actividades td:nth-child(5){width:115px}.tabla-actividades th:nth-child(6),.tabla-actividades td:nth-child(6){width:210px}.tabla-actividades th:nth-child(7),.tabla-actividades td:nth-child(7){width:120px}.tabla-actividades th:nth-child(8),.tabla-actividades td:nth-child(8){width:130px}.tabla-actividades th:nth-child(9),.tabla-actividades td:nth-child(9){width:110px}.tabla-actividades th:nth-child(10),.tabla-actividades td:nth-child(10){width:165px}.tabla-actividades th:nth-child(11),.tabla-actividades td:nth-child(11){width:140px}.tabla-actividades th:nth-child(12),.tabla-actividades td:nth-child(12){width:150px}.tabla-actividades th:nth-child(13),.tabla-actividades td:nth-child(13){width:240px}.tabla-actividades th{white-space:normal;overflow-wrap:break-word;text-align:center;vertical-align:middle;padding:12px 8px}.tabla-actividades td{overflow-wrap:anywhere;vertical-align:middle}.modal-operador{background:#fff;border-radius:15px;width:min(700px,95vw);animation:.25s aparecer;overflow:hidden;box-shadow:0 10px 35px #00000040}.modal-operador .modal-header{color:#fff;background:#15579a}.modal-operador .modal-header button:hover{color:#ff5252;transform:rotate(90deg)}.modal-operador .modal-body{background:#fff}.modal-operador label{color:#374151;font-weight:600}.modal-operador input,.modal-operador select,.modal-operador textarea{color:#243447;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s,background-color .2s}.modal-operador input::placeholder,.modal-operador textarea::placeholder{color:#9ca3af;opacity:1}.modal-operador input:focus,.modal-operador select:focus,.modal-operador textarea:focus{color:#243447;background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1f}.modal-operador input:disabled,.modal-operador select:disabled{color:#6b7280;cursor:not-allowed;background:#f1f3f5}.modal-operador textarea{resize:vertical}.modal-operador .modal-footer{background:#fff;border-top:1px solid #e5e7eb}@keyframes aparecer{0%{opacity:0}to{opacity:1}}.modal-overlay{box-sizing:border-box;z-index:10000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden auto}.modal-equipo{background:#fff;border-radius:15px;flex-direction:column;flex-shrink:0;width:min(1000px,95vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 18px 40px #00000040}.modal-body{box-sizing:border-box;grid-template-columns:320px 1fr;gap:25px;min-height:0;padding:25px;display:grid;overflow-y:auto}.modal-imagen{width:100%}.modal-imagen img{object-fit:cover;border-radius:14px;width:100%;height:220px}.modal-info{grid-template-columns:repeat(2,minmax(200px,1fr));gap:20px;display:grid}.info-item{flex-direction:column;display:flex}.info-item span{color:#777;font-size:13px}.info-item strong{color:#243447;margin-top:4px;font-size:16px}.operador-info{background:#fafafa;border:1px solid #ddd;border-radius:12px;grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:70px 1fr;align-items:center;gap:4px 18px;margin-top:15px;padding:18px;display:grid}.foto-operador{object-fit:cover;border:3px solid #1976d2;border-radius:50%;grid-area:1/1/3;width:70px;height:70px}.operador-info span{color:#777;grid-area:1/2;font-size:14px}.operador-info strong{color:#243447;grid-area:2/2;font-size:16px}.foto-operador{object-fit:cover;border:3px solid #1976d2;border-radius:50%;width:70px;height:70px}.btn-modal{min-width:150px}@media (width<=1200px){.modal-body{grid-template-columns:260px 1fr}.modal-imagen img{height:180px}}@media (width<=900px){.modal-overlay{align-items:center;padding:15px}.modal-equipo{width:100%;max-width:100%;max-height:94vh}.modal-body{grid-template-columns:1fr;padding:20px}.modal-info{grid-template-columns:1fr}}@media (width<=600px){.modal-overlay{padding:10px}.modal-equipo{border-radius:10px;width:100%;max-width:100%;max-height:96vh}.modal-body{gap:18px;padding:15px}.modal-imagen img{height:200px}.info-item strong{font-size:15px}.operador-info{gap:12px;padding:14px}.foto-operador{width:60px;height:60px}}@media (width<=480px){.modal-overlay{padding:6px}.modal-equipo{border-radius:8px;max-height:98vh}.modal-body{gap:14px;padding:12px}.modal-imagen img{height:180px}}.modal-agregar{flex-direction:column!important;width:1080px!important;max-width:92vw!important;max-height:92vh!important;display:flex!important;overflow:hidden!important}.modal-agregar .modal-header{box-sizing:border-box!important;flex-shrink:0!important;justify-content:space-between!important;align-items:center!important;min-height:88px!important;padding:18px 25px!important;display:flex!important}.modal-agregar .modal-header h2{align-items:center!important;gap:8px!important;margin:0!important;font-size:24px!important;display:flex!important}.modal-agregar .modal-header span{margin-top:4px!important;font-size:13px!important;display:block!important}.modal-agregar .modal-agregar-body{box-sizing:border-box!important;flex:1!important;width:100%!important;padding:25px 30px!important;display:block!important;overflow-y:auto!important}.modal-agregar .modal-contenido-principal{box-sizing:border-box!important;grid-template-columns:260px minmax(0,1fr)!important;align-items:start!important;column-gap:30px!important;width:100%!important;display:grid!important}.modal-agregar .panel-imagen{box-sizing:border-box!important;flex-direction:column!important;align-items:center!important;width:260px!important;display:flex!important}.modal-agregar .titulo-seccion{color:#34495e!important;white-space:nowrap!important;box-sizing:border-box!important;flex-direction:row!important;align-items:center!important;gap:7px!important;width:100%!important;margin:0 0 14px!important;padding:0!important;font-size:15px!important;font-weight:600!important;line-height:1.2!important;display:flex!important}.modal-agregar .titulo-seccion svg{color:#1769aa!important;flex-shrink:0!important}.modal-agregar .contenedor-preview{box-sizing:border-box!important;background:#eef1f4!important;border:2px dashed #b8bec5!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:260px!important;height:190px!important;display:flex!important;overflow:hidden!important}.modal-agregar .preview-imagen{object-fit:cover!important;width:100%!important;height:100%!important;display:block!important}.modal-agregar .preview-vacio{color:#7b8490!important;box-sizing:border-box!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%!important;height:100%!important;display:flex!important}.modal-agregar .preview-vacio svg{font-size:30px!important}.modal-agregar .btn-imagen{box-sizing:border-box!important;color:#fff!important;cursor:pointer!important;background:#1769aa!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:260px!important;min-height:42px!important;margin-top:14px!important;padding:10px 14px!important;font-size:13px!important;font-weight:600!important;display:flex!important}.modal-agregar .formulario-maquinaria{box-sizing:border-box!important;width:100%!important;min-width:0!important}.modal-agregar .formulario-maquinaria .fila{box-sizing:border-box!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important;width:100%!important;margin:0 0 16px!important;padding:0!important;display:grid!important}.modal-agregar .formulario-maquinaria .campo{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0 0 16px!important;padding:0!important;display:block!important}.modal-agregar .formulario-maquinaria .campo label{box-sizing:border-box!important;color:#34495e!important;align-items:center!important;gap:7px!important;width:100%!important;min-height:20px!important;margin:0 0 6px!important;padding:0!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;display:flex!important}.modal-agregar .formulario-maquinaria .campo label svg{color:#1769aa!important;flex-shrink:0!important;font-size:13px!important}.modal-agregar .formulario-maquinaria input,.modal-agregar .formulario-maquinaria select{box-sizing:border-box!important;color:#333!important;opacity:1!important;visibility:visible!important;background:#fff!important;border:1px solid #cfd5db!important;border-radius:6px!important;outline:none!important;width:100%!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 12px!important;font-size:13px!important;display:block!important}.modal-agregar .formulario-maquinaria input:focus,.modal-agregar .formulario-maquinaria select:focus{border-color:#1769aa!important;box-shadow:0 0 0 2px #1769aa1f!important}.modal-agregar .formulario-maquinaria input::placeholder{color:#9aa1a8!important;opacity:1!important}.modal-agregar .formulario-maquinaria select:disabled{color:#8b9299!important;cursor:not-allowed!important;background:#eef0f2!important}.modal-agregar .formulario-maquinaria>.titulo-seccion{margin-top:24px!important;padding-top:0!important}.modal-agregar .seccion-documentos{box-sizing:border-box!important;border-top:1px solid #e0e3e6!important;width:100%!important;margin-top:15px!important;padding-top:18px!important}.modal-agregar .seccion-documentos .titulo-seccion{width:100%!important;margin-bottom:12px!important}.modal-agregar .seccion-documentos button{cursor:pointer!important;border:none!important;border-radius:6px!important;min-height:40px!important;padding:9px 16px!important;font-size:13px!important;font-weight:600!important}.modal-agregar .seccion-documentos small{color:#68727d!important;margin-top:8px!important;font-size:12px!important;display:block!important}.modal-agregar .modal-footer{box-sizing:border-box!important;background:#f7f7f7!important;border-top:1px solid #ddd!important;flex-shrink:0!important;justify-content:flex-end!important;align-items:center!important;gap:12px!important;min-height:76px!important;padding:16px 24px!important;display:flex!important}.modal-agregar .modal-footer button{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;gap:7px!important;min-width:110px!important;min-height:40px!important;display:inline-flex!important}.modal-agregar .modal-agregar-body::-webkit-scrollbar{width:7px}.modal-agregar .modal-agregar-body::-webkit-scrollbar-track{background:#f1f1f1}.modal-agregar .modal-agregar-body::-webkit-scrollbar-thumb{background:#b8bec5;border-radius:10px}@media (width<=900px){.modal-agregar .modal-contenido-principal{grid-template-columns:1fr!important}.modal-agregar .panel-imagen{width:100%!important;max-width:320px!important;margin:0 auto 25px!important}.modal-agregar .contenedor-preview,.modal-agregar .btn-imagen{width:100%!important;max-width:320px!important}}@media (width<=650px){.modal-agregar .formulario-maquinaria .fila{grid-template-columns:1fr!important;gap:0!important}.modal-agregar .modal-agregar-body{padding:20px!important}}.inventario{padding:var(--padding-page);background:#eef2f7;flex-direction:column;flex:1;height:calc(100vh - 70px);display:flex;overflow:hidden auto}.inventario-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.inventario-header h1{color:#243447;font-size:var(--titulo);margin:0;font-weight:700}.inventario-header h2{font-size:var(--subtitulo);color:#6b7280;margin-top:5px}.btn-regresar{height:var(--btn-height);color:#fff;cursor:pointer;background:#1565c0;border:none;border-radius:10px;padding:0 18px;transition:all .25s}.btn-regresar:hover{background:#0d47a1}.btn-agregar{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:10px;padding:12px 20px;font-weight:600;transition:all .25s}.barra-superior{justify-content:flex-start;margin:20px 0 15px;display:flex}.barra-superior input{background:#fff;border:1px solid #d5dbe3;border-radius:12px;outline:none;width:350px;height:44px;padding:0 16px;font-size:15px;transition:all .25s}.barra-superior input:focus{border-color:#1565c0;box-shadow:0 0 0 3px #1565c026}.filtros-dashboard{flex-wrap:wrap;gap:15px;margin-bottom:25px;display:flex}.filtros-dashboard select{color:#243447;background:#fff;border:1px solid #d5dbe3;border-radius:10px;outline:none;min-width:220px;height:44px;padding:0 14px;font-size:14px}.filtros-dashboard select option{color:#243447;background:#fff}.filtros-dashboard select:focus{border-color:#1565c0;box-shadow:0 0 0 3px #1565c026}.dashboard-resumen{margin-bottom:20px}.grafica-card{margin-bottom:25px}.grid-equipos{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-top:25px;padding-bottom:30px;display:grid}.grid-equipos::-webkit-scrollbar{width:8px}.grid-equipos::-webkit-scrollbar-thumb{background:#bfc7d4;border-radius:20px}.grid-equipos::-webkit-scrollbar-track{background:0 0}.sin-equipos{text-align:center;color:#8a8f99;grid-column:1/-1;padding:80px 20px;font-size:22px}@media (width<=900px){.inventario-header{flex-direction:column;align-items:flex-start}.barra-superior input{width:100%}.filtros-dashboard{flex-direction:column}.filtros-dashboard select{width:100%}}.inventario input,.inventario select,.inventario textarea{color:#243447}.inventario input::placeholder{color:#8a8f99;opacity:1}.modal-fondo{z-index:9999;background:#00000073;justify-content:center;align-items:center;animation:.2s aparecer;display:flex;position:fixed;inset:0}.modal-operador{background:#fff;border-radius:14px;width:650px;max-width:95%;padding:30px;box-shadow:0 15px 40px #00000040}.modal-operador h2{color:#1f2b4a;margin:0 0 25px;font-size:28px}.grupo{flex-direction:column;margin-bottom:18px;display:flex}.grupo label{color:#555;margin-bottom:6px;font-weight:600}.grupo input,.grupo select{border:1px solid #d9d9d9;border-radius:8px;height:45px;padding:0 14px;font-size:15px;transition:all .2s}.grupo input:focus,.grupo select:focus{border-color:#1f2b4a;outline:none;box-shadow:0 0 0 3px #1f2b4a26}.botones{justify-content:flex-end;gap:12px;margin-top:30px;display:flex}.btn-cancelar{color:#fff;cursor:pointer;background:#9aa0a6;border:none;border-radius:8px;padding:11px 24px;font-weight:600}.btn-cancelar:hover{background:#7d848a}.btn-guardar{color:#fff;cursor:pointer;background:#1f2b4a;border:none;border-radius:8px;padding:11px 24px;font-weight:600}.btn-guardar:hover{background:#17203a}.contenedor-operador{align-items:flex-start;gap:35px;display:flex}.lado-foto{flex-direction:column;align-items:center;width:230px;display:flex}.foto-preview{object-fit:cover;background:#f2f2f2;border:4px solid #d9d9d9;border-radius:50%;width:180px;height:180px;margin-bottom:20px}.btn-foto{text-align:center;color:#fff;cursor:pointer;background:#1f2b4a;border-radius:8px;width:100%;padding:12px;font-weight:600;transition:all .25s}.btn-foto:hover{background:#16203c}.lado-formulario{flex:1}.lado-formulario .grupo{margin-bottom:15px}.grupo select{width:100%}@media (width<=900px){.contenedor-operador{flex-direction:column;align-items:center}.lado-foto{width:100%}}.operadores-page{background:#edf1f5;min-height:100vh;padding:25px 35px}.operadores-header{justify-content:space-between;align-items:flex-start;margin-bottom:25px;display:flex}.operadores-header h2{color:#1f2937;margin:0;font-size:34px}.operadores-tools{align-items:center;gap:12px;display:flex}.buscar{position:relative}.buscar input{background:#fff;border:1px solid #d8d8d8;border-radius:8px;outline:none;width:260px;height:40px;padding:0 40px 0 15px;font-size:15px}.buscar svg{color:#888;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.btn-nuevo{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:8px;width:42px;height:42px;font-size:18px;transition:all .2s}.btn-nuevo:hover{background:#15803d}.operador-principal{flex-direction:column;align-items:center;margin-bottom:30px;display:flex}.operador-principal img{object-fit:cover;border:4px solid #3b424b;border-radius:50%;width:180px;height:180px}.operador-principal h3{color:#111827;margin-top:18px;margin-bottom:5px;font-size:42px}.operador-principal span{color:#555;font-size:17px;font-weight:600}.tabla-operadores{background:#fff;border-radius:10px;width:100%;max-height:calc(100vh - 230px);overflow:auto;box-shadow:0 2px 8px #00000026}.tabla-operadores::-webkit-scrollbar{width:10px;height:10px}.tabla-operadores::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.tabla-operadores::-webkit-scrollbar-thumb{background:#9aa4b2;border-radius:10px}.tabla-operadores::-webkit-scrollbar-thumb:hover{background:#6c757d}.tabla-operadores table{border-collapse:collapse;width:100%}.tabla-operadores thead{color:#fff;background:#363b43}.tabla-operadores thead th{z-index:5;color:#fff;background:#363b43;position:sticky;top:0}.tabla-operadores th{text-align:center;letter-spacing:1px;padding:18px;font-size:16px}.tabla-operadores .foto-mini{object-fit:cover;object-position:center;border-radius:10px;max-width:75px;max-height:75px;margin:0 auto;display:block;width:75px!important;height:75px!important}.tabla-operadores td{text-align:center;border-bottom:1px solid #ececec;padding:12px}.tabla-operadores tbody tr{cursor:pointer;height:95px;transition:all .2s}.tabla-operadores tbody tr:hover{background:#f5f7fa}.acciones{justify-content:center;gap:10px;display:flex}.btn-editar,.btn-eliminar{cursor:pointer;color:#fff;border:none;border-radius:7px;width:38px;height:38px;font-size:15px;transition:all .2s}.btn-editar{background:#f4b400}.btn-editar:hover{background:#d79b00}.btn-eliminar{background:#c62828}.btn-eliminar:hover{background:#a51f1f}@media (width<=900px){.operadores-header{flex-direction:column;gap:15px}.operadores-tools{width:100%}.buscar{flex:1}.buscar input{width:100%}.operador-principal img{width:140px;height:140px}.operador-principal h3{font-size:30px}}.dashboard-resumen{grid-template-columns:repeat(4,1fr);gap:18px;margin:20px 0;display:grid}.card-resumen{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-top:5px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:22px;transition:all .25s;display:flex;box-shadow:0 6px 15px #00000014}.card-resumen:hover{transform:translateY(-4px);box-shadow:0 10px 22px #00000026}.card-resumen.seleccionado{transform:translateY(-4px);box-shadow:0 0 0 3px #2563eb33,0 10px 22px #00000026}.card-resumen span{color:#6b7280;text-align:center;margin-bottom:8px;font-size:14px}.card-resumen h2{margin:0;font-size:38px;font-weight:700}.card-resumen.total{border-top-color:#000!important}.card-resumen.total h2{color:#050505!important}.card-resumen.activo{border-top-color:#16a34a!important}.card-resumen.activo h2{color:#16a34a!important}.card-resumen.mantenimiento{border-top-color:#f59e0b!important}.card-resumen.mantenimiento h2{color:#f59e0b!important}.card-resumen.operable{border-top-color:#ef4444!important}.card-resumen.operable h2{color:#ef4444!important}.card-resumen.disponible{border-top-color:#0e58f8!important}.card-resumen.disponible h2{color:#0e58f8!important}@media (width<=1100px){.dashboard-resumen{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.dashboard-resumen{grid-template-columns:1fr}}.grafica-card{background:#fff;border-radius:14px;margin:20px 0;padding:20px;box-shadow:0 6px 15px #00000014}.grafica-card h3{text-align:center;margin-bottom:15px}.grafica-contenedor{justify-content:center;align-items:center;width:100%;height:260px;display:flex}.grafica-contenedor canvas{max-width:260px!important;max-height:260px!important}.card-usuario{box-sizing:border-box;background:#fff;border-radius:14px;align-items:center;gap:18px;min-width:0;height:170px;padding:18px;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000014}.card-usuario .usuario-avatar{color:#fff;background:#1565c0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:70px;min-width:70px;height:70px;font-size:30px;font-weight:700;display:flex}.card-usuario .usuario-body{flex:1;min-width:0;padding-right:55px;overflow:hidden}.card-usuario .usuario-body h3{color:#243447;text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0 0 10px;overflow:hidden}.card-usuario .dato{color:#555;align-items:center;gap:8px;min-width:0;margin-bottom:8px;font-size:14px;display:flex}.card-usuario .icono{color:#1565c0;flex-shrink:0}.card-usuario .dato span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.card-usuario .estado{text-align:center;margin-top:10px}.card-usuario .activo{color:#228b22;background:#d9f7df;border-radius:30px;padding:5px 12px;font-size:12px;font-weight:600}.card-usuario .inactivo{color:#c62828;background:#ffe2e2;border-radius:30px;padding:5px 12px;font-size:12px;font-weight:600}.card-usuario .acciones-card{z-index:20;flex-direction:column;align-items:center;gap:12px;width:42px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.card-usuario .acciones-card button{cursor:pointer;color:#fff;box-sizing:border-box;z-index:21;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;min-height:40px;margin:0;padding:0;font-size:16px;transition:all .2s;display:flex;position:relative}.card-usuario .acciones-card .btn-editar{opacity:0;visibility:hidden;background:#f4b400;transition:opacity .2s,transform .2s,visibility .2s;transform:translate(10px)}.card-usuario:hover .acciones-card .btn-editar{opacity:1;visibility:visible;transform:translate(0)}.card-usuario .acciones-card .btn-editar:hover{background:#d89a00}.card-usuario .acciones-card .btn-bloquear{background:#1565c0}.card-usuario .acciones-card .btn-bloquear:hover{background:#0d47a1}.card-usuario .acciones-card .btn-eliminar{background:#d32f2f}.card-usuario .acciones-card .btn-eliminar:hover{background:#b71c1c}.modal-usuario{background:#fff;border-radius:12px;flex-direction:column;gap:15px;width:500px;padding:25px;display:flex}.modal-usuario h2{color:#243447;margin:0 0 10px}.modal-usuario input,.modal-usuario select{border:1px solid #d5dbe3;border-radius:8px;height:45px;padding:0 12px;font-size:14px}.modal-usuario input:focus,.modal-usuario select:focus{border-color:#1565c0;outline:none}.acciones-modal{justify-content:flex-end;gap:10px;margin-top:15px;display:flex}.btn-cancelar{color:#fff;cursor:pointer;background:#9e9e9e;border:none;border-radius:8px;padding:10px 18px}.btn-guardar{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:8px;padding:10px 18px}.proyectos-selector{width:100%;margin-top:18px}.proyectos-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.proyectos-header strong{color:#1f2b4a;font-size:16px}.proyectos-header div{gap:5px;display:flex}.proyectos-header button{color:#1f2b4a;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:5px;padding:4px 9px;font-size:12px}.proyectos-header button:hover{background:#e9eef5}.lista-proyectos{background:#f8fafc;border:1px solid #d7dee8;border-radius:8px;grid-template-columns:1fr 1fr;gap:7px;max-height:300px;padding:5px;display:grid;overflow-y:auto}.lista-proyectos label{cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #dce3ec;border-radius:6px;align-items:flex-start;gap:9px;min-height:38px;margin:0;padding:9px 10px;transition:all .15s;display:flex}.lista-proyectos label:hover{background:#f1f5f9;border-color:#b8c5d6}.lista-proyectos input[type=checkbox]{cursor:pointer;width:16px;min-width:16px;height:16px;margin-top:1px}.lista-proyectos label span{color:#52627a;white-space:normal;text-overflow:clip;word-break:normal;overflow-wrap:break-word;font-size:13px;line-height:1.35;display:block;overflow:visible}.lista-proyectos label.proyecto-seleccionado span{color:#1f4f91;font-weight:600}.lista-proyectos::-webkit-scrollbar-track{background:#edf1f5;border-radius:10px}.ayuda-password{color:#6b7280;margin-top:-8px;margin-bottom:12px;font-size:12px;display:block}.lista-proyectos{grid-template-columns:repeat(2,1fr);gap:8px;max-height:220px;margin-top:10px;padding:4px;display:grid;overflow-y:auto}.lista-proyectos label{cursor:pointer;background:#fff;border:1px solid #d5dce5;border-radius:7px;align-items:center;gap:10px;padding:10px;transition:all .2s;display:flex}.lista-proyectos label:hover{background:#f3f6fa}.lista-proyectos label.proyecto-seleccionado{background:#eef6ff;border-color:#3b82f6}.lista-proyectos input{cursor:pointer;width:16px;height:16px}.lista-proyectos span{color:#536789;font-size:13px}.lista-proyectos::-webkit-scrollbar{width:6px}.lista-proyectos::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.cargando-proyectos,.sin-proyectos{text-align:center;color:#6b7280;grid-column:1/-1;padding:20px}.usuario-activo{justify-content:center;align-items:center;gap:8px;margin-top:18px;display:flex}.campo-password{align-items:center;width:100%;display:flex;position:relative}.campo-password input{box-sizing:border-box;width:100%;padding-right:45px}.btn-ver-password{color:#666;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:17px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.btn-ver-password:hover{color:#1769aa}.usuarios{background:#eef2f7;flex-direction:column;flex:1;padding:25px;display:flex;overflow-y:auto}.usuarios-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.usuarios-header h1{color:#243447;margin:0;font-size:30px;font-weight:700}.usuarios-header h2{color:#6b7280;margin-top:6px;font-size:15px;font-weight:500}.btn-agregar{color:#fff;cursor:pointer;background:#2e7d32;border:none;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:600;transition:all .25s}.btn-agregar:hover{background:#1b5e20}.barra-busqueda{margin-bottom:25px}.barra-busqueda input{border:1px solid #d8dde5;border-radius:10px;outline:none;width:340px;height:45px;padding:0 16px;font-size:14px;transition:all .25s}.barra-busqueda input:focus{border-color:#1565c0;box-shadow:0 0 0 3px #1565c026}.grid-usuarios{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px;padding-bottom:30px;display:grid}.card-usuario{background:#fff;border-radius:14px;align-items:center;gap:18px;padding:20px;transition:all .25s;display:flex;box-shadow:0 5px 15px #00000014}.card-usuario:hover{transform:translateY(-4px);box-shadow:0 10px 24px #00000026}.usuario-avatar{color:#fff;background:#1565c0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:65px;height:65px;font-size:28px;font-weight:700;display:flex}.usuario-info{flex:1}.usuario-info h3{color:#243447;margin:0;font-size:18px}.usuario-info p{color:#1565c0;margin:6px 0;font-size:14px;font-weight:600}.usuario-info small{color:#6b7280;font-size:13px}.usuario-estado{align-items:center;display:flex}.activo{color:#1b8f4b;background:#dff6e7;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}.inactivo{color:#d32f2f;background:#fde8e8;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:700}@media (width<=768px){.usuarios-header{flex-direction:column;align-items:flex-start}.barra-busqueda input{width:100%}.grid-usuarios{grid-template-columns:1fr}.card-usuario{text-align:center;flex-direction:column}}.comercial{box-sizing:border-box;width:100%;height:100%;padding:25px 30px;overflow-y:auto}.comercial-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.comercial-header h1{color:#1f2b4a;margin:0;font-size:28px}.comercial-header p{color:#6b7280;margin:5px 0 0}.btn-agregar-proyecto{color:#fff;cursor:pointer;background:#1f2b4a;border:none;border-radius:7px;align-items:center;gap:8px;padding:11px 18px;font-weight:600;display:flex}.btn-agregar-proyecto:hover{opacity:.9}.comercial-buscador{background:#fff;border:1px solid #dce2ea;border-radius:8px;align-items:center;gap:10px;height:45px;margin-bottom:18px;padding:0 15px;display:flex}.comercial-buscador svg{color:#7b8494}.comercial-buscador input{border:none;outline:none;width:100%;font-size:14px}.comercial-tabla-container{background:#fff;border:1px solid #dce2ea;border-radius:10px;overflow:hidden}.comercial-tabla{border-collapse:collapse;width:100%}.comercial-tabla th{color:#fff;text-align:left;background:#1f2b4a;padding:13px 15px;font-size:13px}.comercial-tabla td{color:#374151;vertical-align:middle;border-bottom:1px solid #edf0f4;padding:14px 15px}.comercial-tabla tbody tr:hover{background:#f8fafc}.dato-empresa{align-items:center;gap:7px;display:flex}.dato-empresa svg{color:#1f2b4a}.estado-proyecto{align-items:center;gap:6px;font-size:13px;display:inline-flex}.estado-proyecto svg{color:#28a745}.ubicaciones-lista{flex-direction:column;gap:5px;display:flex}.ubicaciones-lista span{align-items:center;gap:6px;font-size:12px;display:flex}.ubicaciones-lista svg{color:#dc3545}.acciones-proyecto{gap:8px;display:flex}.acciones-proyecto button{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.btn-editar-proyecto{color:#1f2b4a;background:#e8eef9}.btn-editar-proyecto:hover{background:#d9e2f4}.btn-eliminar-proyecto{color:#dc3545;background:#fde8e8}.btn-eliminar-proyecto:hover{background:#fbd2d2}.comercial-cargando,.sin-proyectos-comercial{text-align:center;color:#7b8494;padding:40px}.comercial-modal-overlay{z-index:999999;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.comercial-modal{background:#fff;border-radius:12px;width:700px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #00000040}.comercial-modal-header{color:#fff;background:#1f2b4a;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.comercial-modal-header h2{margin:0;font-size:21px}.comercial-modal-header span{opacity:.8;margin-top:4px;font-size:12px;display:block}.comercial-modal-cerrar{color:#fff;cursor:pointer;background:0 0;border:none;font-size:28px}.comercial-form{padding:24px}.comercial-campo{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.comercial-campo label{color:#374151;font-size:13px;font-weight:600}.comercial-campo input,.comercial-campo select,.comercial-campo textarea{box-sizing:border-box;border:1px solid #d4d9e1;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-family:inherit}.comercial-campo input:focus,.comercial-campo select:focus,.comercial-campo textarea:focus{border-color:#1f2b4a}.comercial-ubicaciones{grid-template-columns:1fr 1fr;gap:8px;max-height:180px;padding:2px;display:grid;overflow-y:auto}.comercial-ubicacion{cursor:pointer;border:1px solid #dce2ea;border-radius:7px;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.comercial-ubicacion input{width:auto}.comercial-ubicacion svg{color:#dc3545}.comercial-ubicacion.seleccionada{background:#f1f5fb;border-color:#1f2b4a}.comercial-dos-columnas{grid-template-columns:1fr 1fr;gap:15px;display:grid}.comercial-modal-footer{justify-content:flex-end;gap:10px;padding-top:10px;display:flex}.btn-cancelar-comercial,.btn-guardar-comercial{cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-weight:600}.btn-cancelar-comercial{color:#374151;background:#e5e7eb}.btn-guardar-comercial{color:#fff;background:#1f2b4a}.btn-guardar-comercial:disabled,.btn-cancelar-comercial:disabled{opacity:.6;cursor:not-allowed}@media (width<=900px){.comercial-tabla-container{overflow-x:auto}.comercial-tabla{min-width:900px}}@media (width<=650px){.comercial{padding:15px}.comercial-header{flex-direction:column;align-items:flex-start;gap:15px}.comercial-ubicaciones,.comercial-dos-columnas{grid-template-columns:1fr}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:#f2f4f7;width:100%;height:100%;font-family:Segoe UI,sans-serif;overflow:hidden}.contenedor{width:100%;height:100%;display:flex;overflow:hidden}.contenido{background:#edf1f5;flex-direction:column;flex:1;display:flex;overflow:hidden}main{flex:1;position:relative;overflow:hidden}@media (width<=768px){html,body,#root{width:100%;height:100%;overflow:hidden}.contenedor{width:100%;height:100%;display:flex;overflow:hidden}.contenido{flex:1;width:calc(100% - 72px);min-width:0;overflow:hidden}main{-webkit-overflow-scrolling:touch;width:100%;min-width:0;overflow:hidden auto}}.navbar{z-index:100;background:#fff;border-bottom:1px solid #dfe5ec;align-items:center;height:70px;padding:0 18px;display:flex;box-shadow:0 2px 10px #0000000d}.menu-btn{cursor:pointer;color:#333;background:0 0;border:none;width:44px;height:44px;font-size:32px;transition:all .25s}.menu-btn:hover{transform:scale(1.08)}.titulo-navbar{color:#222;margin-left:12px;font-size:22px;font-weight:700}.navbar{background:#fff;border-bottom:1px solid #dde3ea;align-items:center;gap:20px;height:78px;padding:0 28px;display:flex;box-shadow:0 2px 8px #0000000d}.menu-btn{cursor:pointer;color:#263238;background:0 0;border:none;font-size:34px}.titulo-navbar{color:#1d3557;margin:0;font-size:20px;font-weight:700}:root{--color-primario:#0b4a8b;--color-secundario:#1976d2;--color-fondo:#eef2f7;--color-panel:#50565d;--color-texto:#243447;--color-blanco:#fff;--color-success:#2e7d32;--color-warning:#f39c12;--color-danger:#d32f2f;--color-secondary:#6c757d;--radius:10px;--shadow:0 8px 25px #0000002e;--space-xs:8px;--space-sm:12px;--space-md:18px;--space-lg:25px;--space-xl:35px;--input-height:42px;--button-height:42px;--header-height:72px;--modal-width:1200px;--modal-height:92vh;--transition:.25s;--color-borde:#d9dee5;--color-hover:#f5f7fa;--color-overlay:#00000073;--card-width:290px;--card-height:340px;--card-image:120px;--sidebar-width:270px;--padding-page:35px;--gap:25px;--titulo:42px;--subtitulo:20px;--texto:14px;--btn-height:42px;--modal-padding:25px;--modal-gap:20px;--modal-radius:12px;--modal-img:220px}@media (width<=1600px){:root{--padding-page:28px;--gap:20px;--titulo:38px;--subtitulo:18px;--texto:13px;--input-height:40px;--btn-height:40px;--card-width:280px;--card-image:115px;--modal-width:1050px;--modal-padding:22px;--modal-gap:18px;--modal-img:200px}}@media (width<=1400px){:root{--sidebar-width:245px;--padding-page:20px;--gap:16px;--titulo:34px;--subtitulo:17px;--texto:13px;--input-height:38px;--btn-height:38px;--card-width:260px;--card-image:105px;--modal-width:900px;--modal-padding:18px;--modal-gap:15px;--modal-img:170px}}@media (width<=1200px){:root{--sidebar-width:220px;--padding-page:15px;--gap:14px;--titulo:30px;--subtitulo:16px;--texto:12px;--input-height:36px;--btn-height:36px;--card-width:240px;--card-image:95px;--modal-width:800px;--modal-padding:16px;--modal-gap:12px;--modal-img:150px}}@media (width<=992px){:root{--sidebar-width:75px;--padding-page:12px;--gap:12px;--titulo:26px;--subtitulo:15px;--texto:12px;--input-height:34px;--btn-height:34px;--card-width:220px;--card-image:90px;--modal-width:95vw}}@media (width<=768px){:root{--padding-page:10px;--gap:10px;--titulo:24px;--subtitulo:14px;--texto:12px;--input-height:34px;--btn-height:34px;--card-width:100%;--card-image:180px;--modal-width:95vw}}.modal-overlay{z-index:10000;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{width:min(var(--modal-width),95vw);max-height:var(--modal-height);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;display:flex;overflow:hidden}.modal-header{background:var(--color-primario);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.modal-header h2{margin:0;font-size:26px}.modal-header span{color:#dbe8f7;font-size:14px}.modal-header button{color:#fff;cursor:pointer;background:0 0;border:none;font-size:26px}.modal-body{flex:1;padding:25px;overflow-y:auto}.modal-footer{background:#f7f7f7;border-top:1px solid #ddd;flex-shrink:0;justify-content:flex-end;gap:15px;padding:20px 25px;display:flex}.modal-agregar-body{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=1200px){.modal-agregar-body{grid-template-columns:220px minmax(0,1fr)}}@media (width<=900px){.modal-agregar-body{grid-template-columns:1fr}}.modal-overlay,.modal,.modal-body,.modal-footer{box-sizing:border-box;min-width:0}@media (width<=700px){.modal-overlay{padding:10px;overflow:hidden}.modal{width:100%;max-width:100%;max-height:96vh}.modal-header{padding:14px 16px}.modal-header h2{font-size:21px}.modal-body{padding:16px;overflow-x:hidden}.modal-footer{flex-wrap:wrap;padding:12px 16px}}@media (width<=480px){.modal-overlay{padding:6px}.modal{border-radius:9px;max-height:98vh}.modal-header{padding:11px 12px}.modal-body{padding:12px}.modal-footer{gap:8px;padding:10px 12px}}.panel-formulario{gap:var(--space-md);flex-direction:column;width:100%;display:flex}.fila{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.campo{flex-direction:column;min-width:0;display:flex}.campo label{align-items:center;gap:var(--space-xs);color:var(--color-blanco);margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.campo label svg{color:var(--color-secundario);font-size:14px}.campo input,.campo select,.campo textarea{width:100%;min-height:var(--input-height);border-radius:var(--radius);background:var(--color-blanco);color:var(--color-texto);box-sizing:border-box;transition:var(--transition);border:none;outline:none;padding:0 14px;font-size:14px}.campo textarea{resize:vertical;min-height:110px;padding:12px 14px}.campo input:focus,.campo select:focus,.campo textarea:focus{box-shadow:0 0 0 3px #1976d233}.btn{min-height:var(--button-height);padding:0 var(--space-md);border-radius:var(--radius);justify-content:center;align-items:center;gap:var(--space-xs);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:var(--transition);border:none;font-size:14px;font-weight:600;display:flex}.btn-primary{background:var(--color-secundario);color:var(--color-blanco)}.btn-primary:hover{background:#1565c0}.btn-success{background:var(--color-success);color:var(--color-blanco)}.btn-success:hover{background:#1b5e20}.btn-warning{background:var(--color-warning);color:var(--color-blanco)}.btn-warning:hover{background:#d68910}.btn-danger{background:var(--color-danger);color:var(--color-blanco)}.btn-danger:hover{background:#b71c1c}.btn-secondary{background:var(--color-secondary);color:var(--color-blanco)}.btn-secondary:hover{background:#63696e}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.modal-footer .btn{flex:none;width:auto}.btn-imagen{justify-content:center;align-items:center;width:100%;max-width:260px;margin-top:15px;display:flex}.card{background:#fff;border-radius:12px;transition:all .25s;overflow:hidden;box-shadow:0 6px 18px #00000026}.card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #00000038}.card-dark{color:#fff;background:#50565d}.card-image{object-fit:cover;width:100%;display:block}.card-body{padding:18px}.card-title{margin-bottom:10px;font-size:18px;font-weight:600}.card-text{color:#d8d8d8;font-size:14px}.card-actions{justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}.card-actions button{cursor:pointer;color:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.card-actions button:hover{transform:scale(1.08)}
