:root{--p-950: var(--nx-panel);--p-900: var(--nx-textoPrincipal);--p-800: color-mix(in srgb, var(--nx-textoPrincipal) 88%, var(--nx-textoSecundario));--p-700: color-mix(in srgb, var(--nx-textoPrincipal) 62%, var(--nx-textoSecundario));--p-600: color-mix(in srgb, var(--nx-textoPrincipal) 30%, var(--nx-textoSecundario));--p-500: var(--nx-textoSecundario);--p-400: var(--nx-textoTenue);--p-300: var(--nx-bordeFuerte);--p-200: var(--nx-borde);--p-100: color-mix(in srgb, var(--nx-borde) 55%, var(--nx-fondo));--p-50: var(--nx-fondo);--p-25: color-mix(in srgb, var(--nx-fondo) 50%, var(--nx-superficie));--accent: var(--nx-marca);--accent-hover: var(--nx-marcaOscura);--accent-soft: var(--nx-marcaClara);--primary: var(--nx-marca);--primary-light: var(--nx-marcaClara);--color-primario: var(--nx-marca);--gold: var(--nx-alerta);--gold-soft: var(--nx-alertaClara);--success: var(--nx-exito);--error: var(--nx-peligro);--warning: var(--nx-alerta);--info: var(--nx-info);--border: var(--nx-borde);--color-borde: var(--nx-borde);--surface: var(--nx-superficie);--surface-0: var(--nx-superficie);--surface-1: var(--nx-superficie);--card-bg: var(--nx-superficie);--bg: var(--nx-fondo);--bg-2: var(--p-100);--hover-bg: var(--nx-fondo);--text: var(--nx-textoPrincipal);--text-primary: var(--nx-textoPrincipal);--text-secondary: var(--nx-textoSecundario);--texto-secundario: var(--nx-textoSecundario);--texto-suave: var(--nx-textoTenue);--muted: var(--nx-textoTenue);--fuente: "Inter", "Segoe UI", "Roboto", sans-serif;--radio-lg: 16px;--radio-md: 12px;--radio-sm: 8px;--sombra-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--sombra: 0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);--sombra-lg: 0 12px 32px rgba(15, 23, 42, .1), 0 4px 8px rgba(15, 23, 42, .04);--sombra-premium: var(--sombra-sm);--transicion: all .18s ease;--anillo-foco: 0 0 0 3px color-mix(in srgb, var(--nx-marca) 14%, transparent)}body{font-family:var(--fuente);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}.tabular-nums,table,[data-num]{font-variant-numeric:tabular-nums}:where(h1,h2,h3,h4):not(.MuiTypography-root){color:var(--nx-textoPrincipal);letter-spacing:-.02em}:where(strong){color:var(--nx-textoPrincipal)}:where(a){color:var(--nx-marca)}:where(button:not(.MuiButtonBase-root)){font:inherit;cursor:pointer;border:none;background:none;color:inherit;transition:var(--transicion)}:where(button:not(.MuiButtonBase-root):disabled){opacity:.48;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes modalScale{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes aparecer-contenido{0%{opacity:0}to{opacity:1}}.estado-datos.api{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 0;color:var(--nx-textoSecundario);gap:16px;font-size:14px;font-weight:500}.estado-datos.api:not(:has(.spinner)):not(:has(svg)):before{content:"";width:36px;height:36px;border:3px solid var(--nx-marcaSuave);border-top-color:var(--nx-marca);border-radius:50%;animation:spin .8s linear infinite}.spinner{width:36px;height:36px;border:3px solid var(--nx-marcaSuave);border-top-color:var(--nx-marca);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.skeleton{position:relative;overflow:hidden;background:color-mix(in srgb,var(--nx-textoTenue) 18%,transparent);border-radius:var(--radio-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.4s infinite}.estado-cargando{padding:48px;text-align:center;color:var(--nx-textoTenue);font-size:14px}.contenido,.pagina-modulo,.contenido.pagina-modulo{padding:0;width:100%;min-width:0;animation:aparecer-contenido .22s ease-out}@media(prefers-reduced-motion:reduce){.contenido,.pagina-modulo{animation:none}}.encabezado-modulo,.cabecera-modulo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.encabezado-modulo h1,.cabecera-modulo h1{font-size:20px;font-weight:650;letter-spacing:-.01em;margin:0 0 4px;color:var(--nx-textoPrincipal)}.encabezado-modulo p,.subtitulo-modulo{color:var(--nx-textoSecundario);font-size:14px;margin:0}.modulo-header-bleed,.cabecera-expediente-dedicada{background:var(--nx-superficie);margin:-32px -32px 24px;padding:20px 32px;border-bottom:1px solid var(--nx-borde)}.cabecera-expediente-dedicada{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}@media(max-width:899.95px){.modulo-header-bleed,.cabecera-expediente-dedicada{margin:-16px -16px 16px;padding:16px}}.panel-limpio,.panel-presupuesto,.panel-gantt,.indicador,.tarjeta-proyecto{background:var(--nx-superficie);border:1px solid var(--nx-borde);border-radius:12px;box-shadow:var(--sombra-sm);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.panel-presupuesto{padding:20px}.panel-gantt{padding:24px}.indicadores-rapidos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}@media(min-width:1100px){.indicadores-rapidos:has(>:nth-child(5):last-child),.indicadores-rapidos:has(>:nth-child(6):last-child),.indicadores-rapidos:has(>:nth-child(9):last-child){grid-template-columns:repeat(3,1fr)}.indicadores-rapidos:has(>:nth-child(7):last-child){grid-template-columns:repeat(4,1fr)}}.indicadores-fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:20px}.indicador{padding:20px}.indicador:hover{box-shadow:var(--sombra);border-color:var(--nx-bordeFuerte)}.indicador span{font-size:14px;font-weight:500;color:var(--nx-textoSecundario);margin-bottom:8px;display:block}.indicador strong{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--nx-textoPrincipal)}.resumen-nomina{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;background:var(--nx-fondo);border:1px solid var(--nx-borde);border-radius:12px;padding:16px 20px;margin:12px 0}.portafolio-proyectos{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.tarjeta-proyecto{padding:24px;display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}.tarjeta-proyecto:hover{box-shadow:var(--sombra);border-color:var(--nx-bordeFuerte);transform:translateY(-2px)}.tarjeta-proyecto-cabecera{display:flex;gap:14px;align-items:center}.icono-proyecto{width:44px;height:44px;background:var(--nx-marcaClara);color:var(--nx-marca);display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.tarjeta-proyecto-cabecera h2{font-size:17px;margin:0;font-weight:650}.tarjeta-proyecto p{font-size:14px;color:var(--nx-textoSecundario);margin:0}.tarjeta-proyecto p.cliente-proyecto{margin:-10px 0 0}.meta-proyecto{display:flex;gap:16px;font-size:13px;color:var(--nx-textoSecundario);flex-wrap:wrap}.meta-proyecto span{display:flex;align-items:center;gap:6px}.progreso-etiquetas{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}.progreso-etiquetas span{font-weight:500;color:var(--nx-textoSecundario)}.progreso-etiquetas strong{color:var(--nx-textoPrincipal)}.metricas-proyecto{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metricas-proyecto div{background:var(--nx-fondo);padding:12px 14px;border-radius:10px;border:1px solid var(--nx-borde)}.metricas-proyecto span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--nx-textoSecundario);display:block}.metricas-proyecto strong{font-size:15px;color:var(--nx-textoPrincipal)}.barra-progreso-contenedor{width:100%;margin-top:8px}.barra-progreso-bg{background:var(--nx-marcaSuave);height:6px;border-radius:4px;overflow:hidden}.barra-progreso-fill{height:100%;background:var(--nx-marca);border-radius:4px;transition:width 1s cubic-bezier(.16,1,.3,1)}.boton-primario,.boton-secundario,.boton-peligro,.boton-terciario,.boton-entrar-proyecto{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:6px 18px;border-radius:10px;font-family:var(--fuente);font-size:14px;font-weight:600;line-height:1.5;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:all .18s ease;text-decoration:none}.boton-primario{background:var(--nx-marca);color:#fff;border:1px solid transparent;box-shadow:0 1px 2px color-mix(in srgb,var(--nx-marca) 35%,transparent)}.boton-primario:hover:not(:disabled){background:color-mix(in srgb,var(--nx-marca) 88%,#000);box-shadow:0 6px 16px color-mix(in srgb,var(--nx-marca) 32%,transparent);transform:translateY(-1px)}.boton-primario:active:not(:disabled){transform:translateY(0)}.boton-secundario,.boton-entrar-proyecto{background:transparent;color:var(--nx-marca);border:1px solid var(--nx-bordeFuerte)}.boton-secundario:hover:not(:disabled),.boton-entrar-proyecto:hover:not(:disabled){background:color-mix(in srgb,var(--nx-marca) 5%,transparent);border-color:var(--nx-marca)}.boton-entrar-proyecto{width:100%;margin-top:12px}.boton-peligro{background:var(--nx-peligroFuerte);color:#fff;border:1px solid transparent;box-shadow:0 1px 2px color-mix(in srgb,var(--nx-peligro) 35%,transparent)}.boton-peligro:hover:not(:disabled){background:color-mix(in srgb,var(--nx-peligroFuerte) 85%,#000);box-shadow:0 6px 16px color-mix(in srgb,var(--nx-peligro) 28%,transparent)}.boton-terciario{background:transparent;color:var(--nx-marca);border:1px solid transparent;padding-inline:12px}.boton-terciario:hover:not(:disabled){background:color-mix(in srgb,var(--nx-marca) 6%,transparent)}.boton-primario:disabled,.boton-peligro:disabled{background:color-mix(in srgb,var(--nx-textoPrincipal) 12%,transparent);color:color-mix(in srgb,var(--nx-textoPrincipal) 38%,transparent);box-shadow:none;transform:none;cursor:not-allowed;opacity:1}.boton-secundario:disabled,.boton-terciario:disabled,.boton-entrar-proyecto:disabled{color:color-mix(in srgb,var(--nx-textoPrincipal) 38%,transparent);border-color:var(--nx-borde);cursor:not-allowed;opacity:1}.boton-icono,.boton-cerrar-modal{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;color:var(--nx-textoSecundario);cursor:pointer;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.boton-icono:hover:not(:disabled),.boton-cerrar-modal:hover:not(:disabled){background:color-mix(in srgb,var(--nx-textoPrincipal) 6%,transparent);color:var(--nx-textoPrincipal)}.boton-editar:hover:not(:disabled){color:var(--nx-marca)}.boton-eliminar{color:var(--nx-peligro)}.boton-eliminar:hover:not(:disabled){background:var(--nx-peligroClaro);color:var(--nx-peligro)}.boton-icono:disabled{opacity:.38;cursor:not-allowed}.acciones-fila{display:flex;gap:4px;align-items:center}.tabs-contenedor{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--nx-borde);overflow-x:auto;scrollbar-width:none}.tabs-contenedor::-webkit-scrollbar{display:none}.tab-boton{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:12px 16px;margin-bottom:-1px;border:none;border-bottom:3px solid transparent;border-radius:3px 3px 0 0;background:transparent;color:var(--nx-textoSecundario);font-family:var(--fuente);font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s ease,border-color .15s ease}.tab-boton:hover:not(:disabled){color:var(--nx-textoPrincipal)}.tab-boton.activo,.tab-boton.activa,.tab-boton[aria-selected=true]{color:var(--nx-marca);border-bottom-color:var(--nx-marca)}.etiqueta{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;background:var(--nx-fondo);color:var(--nx-textoSecundario);border:none}.etiqueta.success{background:var(--nx-exitoClaro);color:var(--nx-exito)}.etiqueta.error{background:var(--nx-peligroClaro);color:var(--nx-peligro)}.etiqueta.warning{background:var(--nx-alertaClara);color:var(--nx-alerta)}.etiqueta.accent{background:var(--nx-marcaClara);color:var(--nx-marcaOscura)}.etiqueta.info,.etiqueta-info{background:var(--nx-infoClara);color:var(--nx-info)}.monto-positivo{color:var(--nx-exito);font-weight:600}.monto-negativo{color:var(--nx-peligro);font-weight:600}.formulario-modal{display:flex;flex-direction:column}.formulario-doble{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formulario-vertical{display:flex;flex-direction:column;gap:16px}.grupo-campos-doble{display:grid;grid-template-columns:1fr 1fr;gap:16px}.campo,.campo-formulario{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;min-width:0}.campo-formulario{margin-bottom:0}.campo>label,.campo-formulario>label{font-size:13px;font-weight:600;color:var(--nx-textoPrincipal)}:where(input:not(.MuiInputBase-input):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),select:not(.MuiInputBase-input):not(.MuiNativeSelect-select),textarea:not(.MuiInputBase-input)){width:100%;min-height:42px;padding:9px 13px;border:1px solid var(--nx-borde);border-radius:10px;background-color:var(--nx-superficie);color:var(--nx-textoPrincipal);font-family:var(--fuente);font-size:14.5px;line-height:1.45;transition:border-color .18s ease,box-shadow .18s ease}:where(textarea:not(.MuiInputBase-input)){min-height:72px;resize:vertical}:where(input:not(.MuiInputBase-input),select:not(.MuiInputBase-input),textarea:not(.MuiInputBase-input))::placeholder{color:var(--nx-textoTenue);opacity:1}:where(input:not(.MuiInputBase-input):not([type=checkbox]):not([type=radio]):not([type=file]),select:not(.MuiInputBase-input),textarea:not(.MuiInputBase-input)):hover:not(:disabled):not(:focus){border-color:var(--nx-bordeFuerte)}:where(input:not(.MuiInputBase-input):not([type=checkbox]):not([type=radio]):not([type=file]),select:not(.MuiInputBase-input),textarea:not(.MuiInputBase-input)):focus{outline:none;border-color:var(--nx-marca);box-shadow:var(--anillo-foco)}:where(input:not(.MuiInputBase-input),select:not(.MuiInputBase-input),textarea:not(.MuiInputBase-input)):disabled{background-color:var(--nx-fondo);color:var(--nx-textoTenue);cursor:not-allowed}:where(select:not(.MuiInputBase-input):not([multiple])){appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='%2364748B'%3E%3Cpath d='M8.12 9.29 12 13.17l3.88-3.88a.996.996 0 1 1 1.41 1.41l-4.59 4.59a.996.996 0 0 1-1.41 0L6.7 10.7a.996.996 0 0 1 0-1.41c.39-.38 1.03-.39 1.42 0'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:20px}:where(input[type=checkbox]:not(.MuiCheckbox-input),input[type=radio]){accent-color:var(--nx-marca);width:16px;height:16px;cursor:pointer}:where(td) :where(input:not(.MuiInputBase-input):not([type=checkbox]):not([type=radio]),select:not(.MuiInputBase-input)){min-height:36px;padding-top:6px;padding-bottom:6px;font-size:14px}.tarjeta-formulario{background:var(--nx-superficie);border:1px solid var(--nx-borde);border-radius:14px;padding:18px 20px}.tarjeta-formulario-titulo{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:800;color:var(--nx-textoPrincipal);margin-bottom:14px}.bloque-formulario{padding-top:16px;margin-top:4px;border-top:1px solid var(--nx-borde)}.bloque-formulario:first-of-type{border-top:none;padding-top:4px}.bloque-formulario-titulo{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--nx-textoTenue);margin-bottom:12px}.bloque-formulario .campo,.tarjeta-formulario .campo{margin-bottom:14px}.bloque-formulario>div[style*=grid]>.campo{margin-bottom:14px}.casilla-formulario{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.valor-campo{min-height:42px;display:flex;align-items:center;padding:0 13px;border-radius:10px;background:var(--nx-fondo);font-size:14px;font-weight:600}.pie-tarjeta-formulario{position:sticky;bottom:-24px;margin:18px -20px -18px;padding:14px 20px 18px;background:var(--nx-superficie);border-top:1px solid var(--nx-borde);border-radius:0 0 14px 14px;display:flex;flex-direction:column;gap:10px;z-index:2}.aviso-pie-formulario{display:flex;gap:7px;align-items:flex-start;font-size:13px;font-weight:600;color:var(--nx-alerta)}.fila-gasto-registrado{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 13px;border-radius:10px;border:1px solid var(--nx-borde);background:var(--nx-superficie);transition:border-color .15s ease,background .15s ease}.fila-gasto-registrado:hover{border-color:var(--nx-bordeFuerte);background:var(--nx-fondo)}.boton-icono-anular{border:none;background:none;cursor:pointer;color:var(--nx-textoTenue);display:flex;padding:4px;border-radius:6px}.boton-icono-anular:hover:not(:disabled){color:var(--nx-peligro);background:var(--nx-peligroClaro)}.selector-segmentado{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;padding:5px;border-radius:12px;background:var(--nx-fondo);border:1px solid var(--nx-borde)}.selector-segmentado>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--nx-textoSecundario);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.selector-segmentado>button:hover:not(.activo){color:var(--nx-textoPrincipal)}.selector-segmentado>button.activo{background:var(--nx-superficie);color:var(--nx-marca);border-color:var(--nx-borde);box-shadow:0 1px 2px #0f172a0f}.monitor-presupuesto{margin-top:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--nx-borde);background:var(--nx-fondo);font-size:12.5px;--color-monitor: var(--nx-exito)}.monitor-presupuesto.cerca{--color-monitor: var(--nx-alerta);background:var(--nx-alertaClara)}.monitor-presupuesto.excede{--color-monitor: var(--nx-peligro);background:var(--nx-peligroClaro)}.monitor-presupuesto-cifras{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--nx-textoSecundario)}.monitor-presupuesto-cifras strong{color:var(--nx-textoPrincipal);font-variant-numeric:tabular-nums}.monitor-presupuesto-barra{height:7px;border-radius:4px;background:color-mix(in srgb,var(--color-monitor) 18%,transparent);margin:9px 0 8px;overflow:hidden}.monitor-presupuesto-barra>div{height:100%;border-radius:4px;background:var(--color-monitor)}.monitor-presupuesto-texto{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--color-monitor)}.chips-opcion{display:flex;flex-wrap:wrap;gap:8px}.chips-opcion>button{font:inherit;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--nx-borde);background:var(--nx-superficie);color:var(--nx-textoSecundario);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.chips-opcion>button:hover:not(.activo){border-color:var(--nx-bordeFuerte);color:var(--nx-textoPrincipal)}.chips-opcion>button.activo{background:var(--nx-marcaClara);border-color:var(--nx-marca);color:var(--nx-marcaOscura)}.chip-tasa{font:inherit;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid var(--nx-borde);background:var(--nx-superficie);color:var(--nx-textoSecundario);cursor:pointer}.chip-tasa.activo{background:var(--nx-marcaClara);border-color:transparent;color:var(--nx-marcaOscura)}.total-formulario{min-height:42px;display:flex;align-items:center;justify-content:flex-end;padding:0 14px;border-radius:10px;background:var(--nx-marcaClara);color:var(--nx-marcaOscura);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.tabla-partidas-formulario{display:flex;flex-direction:column;gap:8px;--columnas-partida: minmax(200px, 3fr) 90px 100px 150px 130px 34px}.tabla-partidas-formulario>.encabezado,.tabla-partidas-formulario>.fila{display:grid;grid-template-columns:var(--columnas-partida);gap:8px;align-items:center}.tabla-partidas-formulario>.encabezado{font-size:11.5px;font-weight:700;color:var(--nx-textoTenue);text-transform:uppercase;letter-spacing:.04em;padding:0 2px}.tabla-partidas-formulario .derecha{text-align:right}.tabla-partidas-formulario .importe{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;padding-right:4px}.tabla-partidas-formulario .campo-moneda-prefijo{display:none}.tabla-partidas-formulario input.campo-moneda{padding-left:12px!important}@media(max-width:760px){.tabla-partidas-formulario{--columnas-partida: 1fr 1fr}.tabla-partidas-formulario>.encabezado{display:none}.tabla-partidas-formulario>.fila{padding-bottom:10px;border-bottom:1px solid var(--nx-borde)}.tabla-partidas-formulario>.fila>input:first-child{grid-column:1 / -1}}.resumen-totales{margin:16px 0 0 auto;width:min(360px,100%);display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:12px;background:var(--nx-fondo);border:1px solid var(--nx-borde);font-size:14px}.resumen-totales>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.resumen-totales strong{font-variant-numeric:tabular-nums}.resumen-totales>.total{padding-top:10px;margin-top:2px;border-top:1px solid var(--nx-borde);font-size:15px;font-weight:800}.resumen-totales>.total strong{font-size:19px;color:var(--nx-marca)}.tarjeta-filtros{background:var(--nx-superficie);border:1px solid var(--nx-borde);border-radius:14px;padding:14px 18px 18px;margin-bottom:20px}.tarjeta-filtros-encabezado{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px;font-weight:800;color:var(--nx-textoSecundario)}.tarjeta-filtros-encabezado>span{display:inline-flex;align-items:center;gap:7px}.rejilla-filtros{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.rejilla-filtros .ancho-doble{grid-column:span 2}@media(max-width:640px){.rejilla-filtros .ancho-doble{grid-column:auto}}.boton-texto{border:none;background:none;padding:4px 8px;border-radius:7px;color:var(--nx-marca);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.boton-texto:hover{background:var(--nx-marcaClara)}td .campo-moneda-prefijo{display:none}td input.campo-moneda{padding-left:10px!important;text-align:right}.barra-herramientas{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.campo-busqueda,.select-filtro,.campo-fecha{min-height:40px;font-size:14px}.campo-busqueda{flex:1;min-width:240px}.contador-resultados{font-size:12.5px;color:var(--nx-textoTenue);white-space:nowrap}.tabla-contenedor{background:var(--nx-superficie);border-radius:12px;border:1px solid var(--nx-borde);box-shadow:var(--sombra-sm);overflow-x:auto;position:relative}.tabla-contenedor.con-scroll-fijo{max-height:72vh;overflow-y:auto}:where(table:not(.MuiTable-root)){width:100%;border-collapse:collapse;font-size:14px}:where(th:not(.MuiTableCell-root)){background:var(--nx-fondo);padding:10px 16px;text-align:left;font-weight:600;font-size:12.5px;color:var(--nx-textoSecundario);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--nx-borde)}:where(td:not(.MuiTableCell-root)){padding:12px 16px;border-bottom:1px solid var(--nx-borde);color:var(--nx-textoPrincipal)}:where(tr:last-child>td:not(.MuiTableCell-root)){border-bottom:none}:where(tbody tr:hover>td:not(.MuiTableCell-root)){background:var(--nx-fondo)}.tabla-contenedor thead th:not(.MuiTableCell-root){position:sticky;top:0;z-index:2}.tabla-datos{width:100%;border-collapse:collapse;font-size:14px;background:var(--nx-superficie)}.tabla-datos thead th{white-space:nowrap}.fila-clickeable{cursor:pointer}.fila-total td{font-weight:700;background:var(--nx-fondo);color:var(--nx-textoPrincipal);border-top:1px solid var(--nx-bordeFuerte)}.sin-datos{text-align:center;color:var(--nx-textoTenue);padding:40px 16px!important;font-size:14px}.modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--nx-panel) 45%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1300;padding:24px;animation:fadeIn .15s ease}.modal-contenido,.modal-contenedor{background:var(--nx-superficie);color:var(--nx-textoPrincipal);border-radius:16px;width:100%;max-width:640px;max-height:calc(100vh - 64px);box-shadow:var(--sombra-lg);border:none;display:flex;flex-direction:column;overflow:hidden;animation:modalScale .22s cubic-bezier(.16,1,.3,1)}.modal-contenedor{max-width:560px}.modal-pequeno{max-width:444px}.modal-mediano{max-width:620px}.modal-grande{max-width:900px}.modal-animacion-bloqueado{animation:none}.modal-cabecera{padding:20px 24px;border-bottom:1px solid var(--nx-borde);display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:var(--nx-superficie);flex-shrink:0}.modal-cabecera h2,.modal-cabecera h3{margin:0;font-size:20px;font-weight:650;letter-spacing:-.01em;color:var(--nx-textoPrincipal)}.modal-cuerpo{padding:24px;overflow-y:auto;flex:1}.modal-pie{padding:16px 24px;background:var(--nx-superficie);border-top:1px solid var(--nx-borde);display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-shrink:0}.pie-formulario{margin:24px -24px -24px}.alerta-error,.mensaje-error{display:flex;align-items:center;gap:10px;background:var(--nx-peligroClaro);border:1px solid var(--nx-bordePeligro);color:var(--nx-peligro);padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px}.mensaje-error{margin-top:8px;margin-bottom:0}.texto-advertencia{color:var(--nx-alerta);font-size:13px}.estado-vacio{background:var(--nx-superficie);border:1px dashed var(--nx-bordeFuerte);border-radius:12px;padding:48px 32px;text-align:center;max-width:520px;margin:32px auto;display:flex;flex-direction:column;align-items:center;gap:10px}.estado-vacio h2{font-size:15px;font-weight:600;margin:0}.estado-vacio p{font-size:14px;color:var(--nx-textoSecundario);margin:0;max-width:380px}.pagina-presupuestar .encabezado-modulo{align-items:flex-start;gap:24px}.presupuesto-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:24px;align-items:start;margin-top:8px}.panel-datos-presupuesto{position:sticky;top:92px}.panel-presupuesto-cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;min-width:0}.panel-presupuesto-cabecera>div,.panel-datos-presupuesto .panel-presupuesto-cabecera{display:flex;align-items:center;gap:10px;min-width:0}.panel-presupuesto-cabecera strong{font-size:16px;font-weight:600}.panel-presupuesto-cabecera svg{color:var(--nx-marca)}.zona-carga-plano{min-height:210px;border:2px dashed var(--nx-bordeFuerte);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden;background:var(--nx-fondo);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.zona-carga-plano:hover{border-color:var(--nx-marca);background:var(--nx-marcaClara)}.zona-carga-plano input{display:none}.zona-carga-plano span{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--nx-textoSecundario);font-size:14px;font-weight:600}.zona-carga-plano img{width:100%;height:210px;object-fit:cover}.archivo-plano{display:flex;align-items:center;gap:8px;color:var(--nx-textoSecundario);background:var(--nx-fondo);border:1px solid var(--nx-borde);border-radius:10px;padding:10px 12px;margin-bottom:18px;font-size:13px}.archivo-plano span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boton-generar-ia{width:100%;justify-content:center}.acciones-presupuesto{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.area-presupuesto{display:flex;flex-direction:column;gap:24px;min-width:0}.encabezado-impresion-presupuesto{display:none}.resumen-presupuesto{margin-bottom:0}.resumen-ia p{margin:0 0 16px;color:var(--nx-textoSecundario)}.resumen-ia-listas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.resumen-ia-listas strong{display:block;margin-bottom:8px}.resumen-ia-listas ul{margin:0;padding-left:18px;color:var(--nx-textoSecundario);font-size:13px}.fuentes-precios{margin-top:18px;border-top:1px solid var(--nx-borde);padding-top:16px}.fuentes-precios>strong{display:block;margin-bottom:10px}.fuentes-precios>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.fuentes-precios a{display:flex;flex-direction:column;gap:4px;border:1px solid var(--nx-borde);background:var(--nx-fondo);border-radius:10px;padding:10px 12px;color:var(--nx-textoPrincipal);text-decoration:none}.fuentes-precios a:hover{border-color:var(--nx-marca);background:var(--nx-superficie)}.fuentes-precios span{font-size:13px;font-weight:600;color:var(--nx-textoPrincipal)}.fuentes-precios small{color:var(--nx-textoSecundario);line-height:1.4}.tabla-presupuesto-scroll{overflow-x:auto}.tabla-presupuesto-scroll table{min-width:980px}.tabla-presupuesto-scroll td{vertical-align:top}.tabla-presupuesto-scroll textarea{margin-top:8px;resize:vertical}.partidas-presupuesto-lista{display:flex;flex-direction:column;gap:14px}.partida-presupuesto-editor{border:1px solid var(--nx-borde);border-radius:12px;background:var(--nx-fondo);padding:14px}.partida-presupuesto-cabecera{display:grid;grid-template-columns:64px minmax(180px,1fr) minmax(130px,max-content) 36px;gap:10px;align-items:center;margin-bottom:10px}.partida-presupuesto-cabecera strong{justify-self:end;white-space:nowrap;font-size:14px}.partida-wbs{text-align:center;font-weight:700}.partida-nombre{font-weight:600}.partida-descripcion{min-height:78px;resize:vertical;margin-bottom:12px;line-height:1.45}.partida-presupuesto-metricas{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px}.partida-presupuesto-metricas label{display:flex;flex-direction:column;gap:6px}.partida-presupuesto-metricas span{color:var(--nx-textoSecundario);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tabla-presupuesto-scroll input,.tabla-presupuesto-scroll textarea,.revision-estructural input,.revision-estructural textarea,.revision-estructural select{padding:7px 10px;font-size:13.5px;min-height:36px}.revision-estructural-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.revision-estructural{border:1px solid var(--nx-borde);border-radius:12px;background:var(--nx-fondo);padding:14px}.revision-estructural-cabecera{display:grid;grid-template-columns:1fr 110px;gap:10px;margin-bottom:10px}.revision-estructural>input{margin-bottom:10px}.gantt-contenedor{margin-top:20px;border-radius:12px;border:1px solid var(--nx-borde);overflow:auto}.gantt-fila{border-bottom:1px solid var(--nx-borde);padding:12px 0}.actividad-critica{background:var(--nx-peligroClaro)}.pantalla-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--nx-fondo);padding:20px}.panel-login{background:var(--nx-superficie);width:100%;max-width:440px;padding:40px;border-radius:16px;box-shadow:var(--sombra-lg);border:1px solid var(--nx-borde);animation:modalScale .4s cubic-bezier(.16,1,.3,1)}.marca-login{width:56px;height:56px;background:var(--nx-marca);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:14px;margin-bottom:28px}.panel-login h1{font-size:26px;font-weight:700;margin:0 0 8px;letter-spacing:-.025em}.panel-login p{color:var(--nx-textoSecundario);font-size:15px;margin-bottom:28px}.login-submit{min-height:46px;width:100%;justify-content:center;font-size:15px;margin-top:20px}.login-footer{margin-top:32px;text-align:center;font-size:12.5px;color:var(--nx-textoTenue);line-height:1.8}.login-split-contenedor{display:flex;min-height:100vh;font-family:var(--fuente);background:var(--nx-superficie)}.login-split-banner{flex:0 0 46%;background:var(--nx-panel);color:#fff;display:flex;flex-direction:column;padding:48px 56px;position:relative;overflow:hidden}.login-split-form{flex:1;background:var(--nx-fondo);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px}@media(max-width:960px){.login-split-banner{display:none!important}.login-split-form{padding:32px 20px!important;background:var(--nx-superficie)}}@media(max-width:1024px){.presupuesto-layout{grid-template-columns:1fr}.panel-datos-presupuesto{position:static}.pagina-presupuestar .encabezado-modulo{flex-direction:column}.acciones-presupuesto{justify-content:flex-start}.partida-presupuesto-cabecera,.partida-presupuesto-metricas{grid-template-columns:1fr}.partida-presupuesto-cabecera strong{justify-self:start}}@media(max-width:640px){.grupo-campos-doble,.formulario-doble{grid-template-columns:1fr}.cabecera-modulo,.encabezado-modulo,.cabecera-seccion-expediente{flex-direction:column;align-items:stretch;gap:14px}.cabecera-modulo .boton-primario,.encabezado-modulo .boton-primario,.cabecera-seccion-expediente .boton-primario{width:100%}.tabla-contenedor table,.tabla-datos{min-width:640px}.indicadores-rapidos,.indicadores-fila,.resumen-nomina{grid-template-columns:1fr 1fr!important;gap:12px}.barra-herramientas{flex-direction:column;align-items:stretch}.campo-busqueda{min-width:0;width:100%}.select-filtro,.campo-fecha{width:100%}.modal-overlay{padding:12px}.modal-contenido,.modal-contenedor{max-width:100%!important;width:100%;max-height:92vh}.modal-cuerpo{padding:18px!important}.pie-formulario{margin:18px -18px -18px}.formulario-modal>div[style*=grid-template-columns],.rejilla-formulario{grid-template-columns:1fr!important}}@media(max-width:420px){.indicadores-rapidos,.indicadores-fila,.resumen-nomina{grid-template-columns:1fr!important}}@media print{body{background:#fff!important;color:#0f172a!important}.MuiDrawer-root,.MuiAppBar-root,.paginacion,.acciones-fila,.filtros,.tabs-contenedor,.panel-datos-presupuesto,.pagina-presupuestar>.encabezado-modulo,.mensaje-error,button:not(.imprimir-preservar),input[type=text],input[type=search],select{display:none!important}.main-viewport{margin:0!important;padding:0!important}.contenido{padding:0!important;margin:0!important;max-width:none}.presupuesto-layout{display:block;margin:0}.area-presupuesto{gap:14px}.encabezado-impresion-presupuesto{display:block;border-bottom:2px solid #111827;padding-bottom:14px;margin-bottom:18px}.encabezado-impresion-presupuesto span{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4b5563}.encabezado-impresion-presupuesto h2{font-size:24px;margin:4px 0 10px}.encabezado-impresion-presupuesto div{display:grid;grid-template-columns:max-content 1fr max-content 1fr;gap:4px 12px;font-size:12px}.indicadores-rapidos{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:0}.indicador,.panel-presupuesto,.revision-estructural,.fuentes-precios a,.MuiCard-root{box-shadow:none!important;border-color:#d1d5db!important;break-inside:avoid}.panel-presupuesto{padding:12px;border-radius:0}.panel-presupuesto-cabecera{margin-bottom:10px}.panel-presupuesto-cabecera svg{display:none}.tabla-presupuesto-scroll{overflow:visible}.partida-presupuesto-editor{padding:8px;border-radius:0;break-inside:avoid}.partida-presupuesto-cabecera{grid-template-columns:48px 1fr 120px;gap:6px}.partida-presupuesto-cabecera .boton-icono{display:none!important}.partida-descripcion{min-height:34px;margin-bottom:6px}.partida-presupuesto-metricas{grid-template-columns:repeat(5,1fr);gap:6px}.tabla-presupuesto-scroll table{min-width:0;font-size:10px}.tabla-contenedor,.tabla-sistema{box-shadow:none!important;border:1px solid #cbd5e1!important;border-radius:0!important;overflow:visible!important;max-height:none!important}table{width:100%!important;border-collapse:collapse!important}tr{page-break-inside:avoid}th,td{padding:6px 8px!important;border:1px solid #e2e8f0!important;font-size:9.5pt!important}th{background:#f8fafc!important;color:#0f172a!important}input,textarea{border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important;color:#111827!important;resize:none}.revision-estructural-grid,.resumen-ia-listas,.fuentes-precios>div{grid-template-columns:1fr 1fr;gap:8px}.revision-estructural,.fuentes-precios a{padding:8px}}.bloque-modulo{display:flex;flex-direction:column;min-width:0}.cabecera-seccion-expediente{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:4px 0 20px}.cabecera-seccion-expediente h2{margin:0;font-size:18px;font-weight:650;letter-spacing:-.01em;color:var(--nx-textoPrincipal)}.cabecera-seccion-expediente small{display:block;margin-top:2px;font-size:12.5px;color:var(--nx-textoSecundario)}.panel-seccion{margin-bottom:20px}.filtros-barra{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}.campo-filtro{display:flex;flex-direction:column;gap:6px;min-width:160px}.campo-filtro>label,.etiqueta-campo{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--nx-textoPrincipal)}.grid-formulario{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(max-width:640px){.grid-formulario{grid-template-columns:1fr}}.girando,.girar,.anim-spin{animation:spin 1s linear infinite}.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.leyenda-gantt{color:var(--nx-textoSecundario);flex-wrap:wrap}.gantt-cabecera{font-size:12.5px;font-weight:600;color:var(--nx-textoSecundario);text-transform:uppercase;letter-spacing:.04em}.gantt-barra-plan{background:var(--nx-marcaSuave)!important;border-radius:6px}.gantt-barra-real{background:var(--nx-marca)!important;border-radius:6px}.ruta-critica{border:1px solid var(--nx-borde)}.recharts-default-tooltip{background-color:var(--nx-superficie)!important;border:1px solid var(--nx-borde)!important;border-radius:10px;box-shadow:0 8px 24px #0f172a1f}.recharts-default-tooltip .recharts-tooltip-label{color:var(--nx-textoPrincipal);font-weight:600}.recharts-cartesian-axis-tick-value,.recharts-polar-angle-axis-tick-value,.recharts-polar-radius-axis-tick-value{fill:var(--nx-textoSecundario)}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--nx-borde)}.recharts-polar-grid-angle line,.recharts-polar-grid-concentric-polygon,.recharts-polar-grid-concentric-circle{stroke:var(--nx-borde)}.recharts-rectangle.recharts-tooltip-cursor{fill:color-mix(in srgb,var(--nx-marca) 6%,transparent)}.recharts-curve.recharts-tooltip-cursor{stroke:var(--nx-bordeFuerte)}
