:root{color-scheme:light;--fondo-oscuro: #ffffff;--fondo-login: var(--bg);--azul-marca: #1b30d8;--azul-interactivo: var(--azul-marca);--azul-marca-hover: #243ae0;--violeta: #5b2bff;--azul-claro: #3fa9ff;--violeta-suave: #a78bff;--fondo-claro: #f3f4fa;--tarjeta: #ffffff;--transparente: transparent;--marca-fuerte: rgba(27, 48, 216, .2);--marca-login: var(--transparente);--violeta-fuerte: transparent;--violeta-login: var(--transparente);--menu-texto: #16171f;--menu-texto-hover: #16171f;--menu-hover: rgba(27, 48, 216, .06);--menu-marca: #16171f;--menu-subtitulo: #3146b8;--menu-boton: #16171f;--menu-icono-activo-fondo: #ffffff;--texto-sobre-marca: #ffffff;--texto-bienvenida: #ffffff;--texto-bienvenida-suave: #efeaff;--borde-tarjeta: rgba(27, 48, 216, .08);--foco: 0 0 0 3px rgba(27, 48, 216, .2);--sombra-elevada: 0 24px 60px rgba(27, 48, 216, .14);--sombra-boton: 0 8px 18px rgba(27, 48, 216, .32);--velo: rgba(3, 3, 5, .45);--alerta-fondo: #fdecea;--alerta-texto: var(--danger);--insignia-fondo: #e8eef4;--insignia-exito-fondo: #e5f6ec;--insignia-exito-texto: #146c3a;--insignia-activo-texto: #1b7a3a;--insignia-peligro-fondo: #fdecea;--insignia-peligro-texto: #8f1d14;--insignia-cancelado-texto: var(--danger);--insignia-pendiente-fondo: #fff6d8;--insignia-pendiente-texto: #7a5b00;--insignia-pausado-texto: #8a6a00;--insignia-info-fondo: #e8ecff;--insignia-inactivo-fondo: #eef1f4;--insignia-inactivo-texto: #3d4456;--danger-hover: #9b1c13;--exito: #146c3a;--exito-hover: #115c32;--exito-toast: #1b7a3a;--avance-pista: #e3e6f2;--avance-ambar: #b8860b;--avance-azul: var(--azul-marca);--avance-verde: var(--exito);--bg: var(--fondo-claro);--panel: var(--tarjeta);--text: #16171f;--muted: #5e6478;--line: #e3e6f2;--brand: var(--azul-marca);--brand-2: var(--azul-marca);--danger: #b42318;--radius: 16px;--sombra: 0 10px 28px rgba(3, 3, 5, .06);font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}[data-theme=dark]{color-scheme:dark;--fondo-oscuro: #080d18;--fondo-login: #030305;--marca-fuerte: rgba(27, 48, 216, .72);--marca-login: rgba(27, 48, 216, .7);--violeta-fuerte: rgba(91, 43, 255, .62);--violeta-login: rgba(91, 43, 255, .62);--menu-texto: #ececf6;--menu-texto-hover: #ffffff;--menu-hover: rgba(255, 255, 255, .08);--menu-marca: #ffffff;--menu-subtitulo: #a78bff;--menu-boton: #ffffff;--fondo-claro: #182033;--tarjeta: #141a2c;--bg: #0c1222;--text: #e6e8f2;--muted: #9aa3bc;--line: #2c3654;--azul-interactivo: #9aa6ff;--sombra: 0 10px 28px rgba(0, 0, 0, .35);--borde-tarjeta: rgba(154, 163, 188, .18);--alerta-fondo: rgba(180, 35, 24, .22);--alerta-texto: #ffb4ac;--insignia-fondo: rgba(255, 255, 255, .08);--insignia-exito-fondo: rgba(20, 108, 58, .28);--insignia-exito-texto: #8ee0b0;--insignia-activo-texto: #8ee0b0;--insignia-peligro-fondo: rgba(180, 35, 24, .28);--insignia-peligro-texto: #ffb4ac;--insignia-cancelado-texto: #ffb4ac;--insignia-pendiente-fondo: rgba(180, 140, 20, .28);--insignia-pendiente-texto: #ffe08a;--insignia-pausado-texto: #f3d48a;--insignia-info-fondo: rgba(27, 48, 216, .35);--insignia-inactivo-fondo: rgba(255, 255, 255, .08);--insignia-inactivo-texto: #c5cad8;--foco: 0 0 0 3px rgba(154, 166, 255, .35);--sombra-elevada: 0 24px 60px rgba(0, 0, 0, .45);--sombra-boton: 0 8px 18px rgba(27, 48, 216, .45);--velo: rgba(0, 0, 0, .62);--avance-pista: #2c3654;--avance-ambar: #f3d48a;--avance-azul: #9aa6ff;--avance-verde: #8ee0b0}*{box-sizing:border-box}body{margin:0}a{color:var(--azul-interactivo);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--azul-interactivo);outline-offset:2px}table a:not(.btn){color:var(--azul-interactivo);font-weight:500}table a:not(.btn):hover{color:color-mix(in srgb,var(--azul-interactivo) 78%,#000)}[data-theme=dark] table a:not(.btn):hover{color:color-mix(in srgb,var(--azul-interactivo) 72%,#fff)}.sidebar a:hover,a.btn:hover,a.enlace-volver:hover{text-decoration:none}.enlace-volver{display:inline-flex;align-items:center;gap:2px;padding:4px 10px 4px 6px;border:1px solid transparent;border-radius:8px;color:var(--muted);font-weight:600;text-decoration:none}.enlace-volver:hover{background:var(--menu-hover);border-color:var(--borde-tarjeta);color:var(--text)}h1,h2,h3,.brand,.login-title,.login-welcome-title{font-family:Poppins,Inter,sans-serif}h1,h2{margin-top:0}section>h2:not(:first-of-type){margin-top:40px}.app-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;transition:grid-template-columns .2s ease}.app-shell.menu-colapsado{grid-template-columns:76px 1fr}.sidebar{background:radial-gradient(120% 70% at 0% 0%,rgba(27,48,216,.72),transparent 58%),radial-gradient(90% 60% at 100% 100%,rgba(91,43,255,.62),transparent 52%),#080d18;color:#ececf6;border-right:1px solid #2c3654;padding:24px 16px;overflow-x:hidden}.sidebar-tope{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:28px}.btn-menu{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;color:#fff;cursor:pointer}.btn-menu:hover{background:#ffffff14}.logo-menu{display:block;height:32px;width:auto}.logo-menu-icono{display:none;height:32px;width:32px;object-fit:contain}.logo-menu-colapsado{display:contents}.menu-colapsado .logo-menu-colapsado{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.menu-colapsado .logo-menu-icono{display:block}.brand{margin:0;font-weight:700;letter-spacing:.08em;color:#fff}.brand-sub{margin:4px 0 0;color:#a78bff;font-size:.85rem}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar a{display:flex;align-items:center;gap:10px;position:relative;color:#ececf6;text-decoration:none;padding:10px 12px;border-radius:12px}.sidebar a svg,.btn-salir svg,.topbar-usuario svg,.alerta-mensaje svg,.login-field-icon{flex-shrink:0;width:16px;height:16px;padding:6px;box-sizing:content-box;border-radius:8px;background:var(--azul-marca);color:var(--texto-sobre-marca)}.sidebar a:hover{background:#ffffff14;color:#fff}.sidebar a.active{background:var(--azul-marca);color:var(--texto-sobre-marca)}.sidebar a.active svg{background:var(--menu-icono-activo-fondo);color:var(--azul-marca)}.main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:12px 24px;background:var(--tarjeta);border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem}.topbar-usuario,.btn-salir{position:relative}.topbar-usuario{display:inline-flex;align-items:center;gap:8px}.menu-colapsado .sidebar{padding-left:10px;padding-right:10px}.menu-colapsado .sidebar-tope{justify-content:center}.menu-colapsado .marca-menu{display:none}.menu-colapsado .sidebar a{justify-content:center;padding-left:8px;padding-right:8px}.menu-colapsado .sidebar a span,.menu-colapsado .topbar-usuario span,.menu-colapsado .btn-salir span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.content{min-width:0;padding:28px;container-type:inline-size}.card{background:var(--tarjeta);border:1px solid var(--borde-tarjeta);border-radius:var(--radius);padding:20px;box-shadow:var(--sombra)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(70% 55% at 12% 8%,var(--marca-login),var(--transparente) 60%),radial-gradient(60% 50% at 92% 92%,var(--violeta-login),var(--transparente) 55%),var(--fondo-login)}.login-card{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:900px;min-height:480px;background:var(--panel);border-radius:16px;overflow:hidden;box-shadow:var(--sombra-elevada)}.login-form{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:40px 44px 40px 48px;opacity:0;transform:translate(-40px);animation:login-slide-in .7s ease forwards}.login-title{margin:0;font-size:1.75rem;color:var(--text)}.login-subtitle{margin:0;color:var(--muted);font-size:.95rem}.login-label{display:flex;flex-direction:column;gap:6px;font-size:.9rem}.login-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:var(--tarjeta);transition:border-color .2s ease,box-shadow .2s ease}.login-field input{flex:1;border:0;padding:11px 4px;outline:none;background:var(--transparente);min-width:0}.login-field:focus-within{border-color:var(--azul-marca);box-shadow:var(--foco)}.login-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;background:none;color:var(--muted);cursor:pointer;padding:4px}.login-toggle:hover{color:var(--brand)}.login-submit{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;background:var(--brand);color:var(--texto-sobre-marca);border:0;border-radius:999px;padding:12px 16px;font:inherit;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.login-submit:hover:not(:disabled){background:var(--azul-marca-hover);transform:translateY(-1px);box-shadow:var(--sombra-boton)}.login-submit:disabled{opacity:.6;cursor:default}.login-welcome{position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:48px 40px 48px 72px;color:var(--texto-bienvenida);background:linear-gradient(120deg,var(--azul-marca) 0%,var(--violeta) 100%);clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);opacity:0;transform:translate(28px);animation:login-slide-in .7s ease .18s forwards}.login-welcome-brand{margin:0;letter-spacing:.18em;font-weight:700;font-size:.85rem;color:var(--azul-claro)}.login-welcome-title{margin:0;font-size:2rem;font-weight:700;color:var(--texto-bienvenida)}.login-welcome-text{margin:0;max-width:28ch;line-height:1.5;color:var(--texto-bienvenida-suave)}@keyframes login-slide-in{to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.login-form,.login-welcome{animation:none;opacity:1;transform:none}.login-submit,.login-field{transition:none}}@media (max-width: 800px){.login-card{grid-template-columns:1fr;max-width:420px;min-height:0}.login-welcome{display:none}.login-form{padding:32px 24px}}.form{display:flex;flex-direction:column;gap:12px}.tarjeta-tareas .form{margin-bottom:16px}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem}input,select,textarea{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--tarjeta);color:var(--text);font:inherit}input::placeholder,textarea::placeholder{color:var(--muted)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--tarjeta) inset;transition:background-color 9999s ease-out}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--azul-marca);color:var(--texto-sobre-marca);border:0;border-radius:12px;padding:10px 16px;text-decoration:none;cursor:pointer;font:inherit;font-weight:600}.btn:hover{background:var(--azul-marca-hover)}.btn:disabled{opacity:.6}.btn-text{background:none;border:0;color:var(--azul-interactivo);cursor:pointer;font:inherit;padding:0}.btn-salir{display:inline-flex;align-items:center;gap:6px}.alerta{background:var(--alerta-fondo);color:var(--alerta-texto);padding:10px 12px;border-radius:8px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}a.stat{color:inherit;text-decoration:none}a.stat strong{color:var(--text)}.stat{position:relative;display:flex;flex-direction:column}.stat-icono{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--azul-marca);color:var(--texto-sobre-marca)}.stat span:not(.stat-icono){display:flex;align-items:center;min-height:40px;padding-right:52px;color:var(--muted);font-size:.9rem}.stat strong{display:block;margin-top:12px;font-size:1.8rem;line-height:1.2}.stat strong.stat-monto{font-size:1.45rem}.stat strong.stat-monto-largo{font-size:1.15rem}.seccion-panel{margin-top:40px}.insignia{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.4;background:var(--insignia-fondo);color:var(--text)}.insignia-activo{background:var(--insignia-exito-fondo);color:var(--insignia-activo-texto)}.insignia-cancelado{background:var(--insignia-peligro-fondo);color:var(--insignia-cancelado-texto)}.insignia-pausado{background:var(--insignia-pendiente-fondo);color:var(--insignia-pausado-texto)}.insignia-cotizacion{background:var(--insignia-info-fondo);color:var(--azul-interactivo)}.insignia-entregado{background:var(--insignia-inactivo-fondo);color:var(--muted)}.insignia-exito{background:var(--insignia-exito-fondo);color:var(--insignia-exito-texto)}.insignia-peligro{background:var(--insignia-peligro-fondo);color:var(--insignia-peligro-texto)}.insignia-pendiente{background:var(--insignia-pendiente-fondo);color:var(--insignia-pendiente-texto)}.insignia-inactivo{background:var(--insignia-inactivo-fondo);color:var(--insignia-inactivo-texto)}.insignia-info{background:var(--insignia-info-fondo);color:var(--azul-interactivo)}.resumen-ficha{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;margin:4px 0 20px}section.resumen-financiero>h2{margin-top:36px;margin-bottom:14px}.resumen-estado{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.resumen-financiero .tabla-facturas{table-layout:fixed;width:100%}.resumen-financiero .tabla-facturas th,.resumen-financiero .tabla-facturas td{padding:10px 8px}.resumen-financiero .tabla-facturas th:nth-child(1),.resumen-financiero .tabla-facturas td:nth-child(1){width:20%;white-space:nowrap}.resumen-financiero .tabla-facturas th:nth-child(2),.resumen-financiero .tabla-facturas td:nth-child(2),.resumen-financiero .tabla-facturas th:nth-child(3),.resumen-financiero .tabla-facturas td:nth-child(3){width:13%;white-space:nowrap}.resumen-financiero .tabla-facturas th:nth-child(4),.resumen-financiero .tabla-facturas td:nth-child(4),.resumen-financiero .tabla-facturas th:nth-child(5),.resumen-financiero .tabla-facturas td:nth-child(5),.resumen-financiero .tabla-facturas th:nth-child(6),.resumen-financiero .tabla-facturas td:nth-child(6){width:13%;white-space:nowrap}.resumen-financiero .tabla-facturas th:nth-child(7),.resumen-financiero .tabla-facturas td:nth-child(7){width:15%}.solo-imprimir{display:none}.dato-etiqueta{display:block;margin-bottom:4px;font-size:.8rem;font-weight:600;color:var(--muted)}.dato-clave{font-size:1.6rem;font-weight:700;line-height:1.1;color:var(--text)}.dato-fuerte{font-weight:700}.barra-avance{display:inline-flex;align-items:center;gap:8px}.barra-avance-pista{width:72px;height:6px;border-radius:999px;background:var(--avance-pista);overflow:hidden}.barra-avance-relleno{display:block;height:100%;border-radius:inherit}.barra-avance-bajo{background:var(--avance-ambar)}.barra-avance-medio{background:var(--avance-azul)}.barra-avance-completo{background:var(--avance-verde)}.dato-secundario{color:var(--muted);font-size:.92rem;font-weight:400}.alerta-mensaje{display:inline-flex;align-items:center;gap:8px}table{width:100%;border-collapse:collapse;background:var(--tarjeta);border-radius:var(--radius);overflow:hidden;box-shadow:var(--sombra)}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--text)}th{background:var(--fondo-claro);font-size:.82rem;font-weight:600}tbody tr:last-child td{border-bottom:0}.acciones{display:flex;gap:8px;align-items:center;flex-wrap:wrap}td.acciones{display:table-cell;width:1%;padding-right:28px;white-space:nowrap;vertical-align:middle}table:has(td.acciones) th:last-child{padding-right:28px}td.acciones>*+*{margin-left:8px}td.acciones .btn{white-space:nowrap}.tabla-usuarios td.acciones{padding-right:48px}.tabla-usuarios td.acciones>*+*{margin-left:24px}table.tabla-usuarios:has(td.acciones) th:last-child{padding-right:48px}.tabla-clientes td.acciones,.tabla-clientes th:last-child{width:22rem;text-align:left}.tabla-clientes td.acciones>*+*{margin-left:24px}.tabla-contratos td.acciones,.tabla-contratos th:last-child{width:12rem;text-align:left}.tabla-contratos td.acciones .btn{margin-left:20px}.tabla-usuarios td.acciones,.tabla-usuarios th:last-child{width:20rem;text-align:left}.tabla-proyectos{width:100%;table-layout:fixed}.tabla-proyectos th:nth-child(1),.tabla-proyectos td.codigo{width:7.75rem;white-space:nowrap}.tabla-proyectos th:nth-child(2),.tabla-proyectos td:nth-child(2),.tabla-proyectos th:nth-child(3),.tabla-proyectos td:nth-child(3){overflow-wrap:break-word}.tabla-proyectos th:nth-child(4),.tabla-proyectos td:nth-child(4){width:7.5rem;white-space:nowrap}.tabla-proyectos th:nth-child(5),.tabla-proyectos td:nth-child(5){width:10.25rem;white-space:nowrap}.tabla-proyectos th:last-child,.tabla-proyectos td.acciones{width:19.375rem}@container (max-width: 760px){.tabla-proyectos th:nth-child(1),.tabla-proyectos td.codigo{width:21%}.tabla-proyectos th:nth-child(2),.tabla-proyectos td:nth-child(2),.tabla-proyectos th:nth-child(3),.tabla-proyectos td:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabla-proyectos th:nth-child(4),.tabla-proyectos td:nth-child(4),.tabla-proyectos th:nth-child(5),.tabla-proyectos td:nth-child(5){width:7%;white-space:normal}.tabla-proyectos th:last-child,.tabla-proyectos td.acciones{width:50%}}.form-actions{display:flex;gap:16px;align-items:center}small{color:var(--muted)}.muted-line{color:var(--muted);margin-top:-8px}.aviso-suspendido{background:var(--alerta-fondo);color:var(--alerta-texto);padding:10px 12px;border-radius:8px;font-weight:600}.seguimiento-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;max-width:100%}.cambiar-estado-prospecto.form-inline{align-items:flex-end}.cambiar-estado-prospecto .btn{padding-top:8px;padding-bottom:8px;border:1px solid var(--line)}table+.form-inline{margin-top:20px}.form-inline>input,.form-inline>select{flex:1 1 12rem;width:auto;min-width:min(100%,10rem);max-width:100%}.form-inline button{flex:0 1 auto;max-width:100%}.filtros-bitacora{align-items:flex-end;gap:16px;margin-bottom:16px}.filtros-bitacora label{flex:1 1 160px;min-width:min(100%,160px);max-width:100%}.detalle-bitacora{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.opcion-casilla{flex-direction:row;align-items:center;gap:8px}.seccion-plegable{margin-top:20px}.form-inline .opcion-casilla input{flex:none;min-width:0}.form-inline .opcion-casilla{flex:none}.seccion-plegable summary{cursor:pointer;font-family:Poppins,Inter,sans-serif;font-size:1.1rem;font-weight:600;color:var(--azul-interactivo)}.seccion-plegable[open] summary{margin-bottom:16px}.lista-comentarios{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:12px}.lista-comentarios li{background:var(--fondo-claro);border-radius:12px;padding:12px 14px}.comentario-cabecera{margin:0 0 6px;font-size:.85rem;color:var(--muted)}.comentario-texto{margin:0;white-space:pre-wrap}.paginacion{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.btn-secundario{background:var(--tarjeta);color:var(--text);border:1px solid var(--line)}.btn-secundario:hover{background:var(--fondo-claro)}.btn-peligro{background:var(--danger)}.btn-peligro:hover{background:var(--danger-hover)}.btn-positivo{background:var(--exito);color:var(--texto-sobre-marca)}.btn-positivo:hover{background:var(--exito-hover)}.btn-compacto{padding:4px 10px;border-radius:8px;font-size:.85rem}td.acciones .btn-estado{min-width:6rem}.btn-editar{background:var(--tarjeta);color:var(--azul-interactivo);border:1px solid var(--azul-interactivo)}.btn-editar:hover{background:color-mix(in srgb,var(--azul-interactivo) 10%,var(--tarjeta))}.btn-tema{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--tarjeta);color:var(--azul-interactivo);cursor:pointer}.btn-tema:hover{background:var(--fondo-claro)}.login-tema{display:flex;justify-content:flex-end}.toasts{position:fixed;top:16px;right:16px;z-index:40;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:flex-start;gap:10px;background:var(--tarjeta);color:var(--text);border:1px solid var(--line);border-left:4px solid var(--azul-claro);border-radius:12px;box-shadow:var(--sombra);padding:12px 12px 12px 14px;animation:toast-entrada .18s ease-out}.toast p{flex:1;margin:0}.toast-exito{border-left-color:var(--exito-toast)}.toast-exito svg:first-child{color:var(--exito-toast)}.toast-error{border-left-color:var(--alerta-texto)}.toast-error svg:first-child{color:var(--alerta-texto)}.toast-info svg:first-child{color:var(--azul-interactivo)}.toast-cerrar{color:var(--muted)}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--velo)}.modal{width:min(440px,100%);background:var(--tarjeta);border-radius:var(--radius);box-shadow:var(--sombra);padding:24px}.modal h2{margin:0 0 8px;font-family:Poppins,Inter,sans-serif;font-size:1.25rem;color:var(--azul-interactivo)}.modal p{margin:0 0 20px}.modal-acciones{justify-content:flex-end}@keyframes toast-entrada{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.toast{animation:none}.app-shell{transition:none}}@media print{.sidebar,.topbar,.no-imprimir{display:none!important}.app-shell,.app-shell.menu-colapsado{display:block;min-height:auto;grid-template-columns:1fr}body,.main,.content,.resumen-financiero,.resumen-financiero .card,.resumen-financiero table,.resumen-financiero td{background:#fff!important;color:#16171f!important;box-shadow:none!important}.resumen-financiero h1,.resumen-financiero h2,.resumen-financiero p,.resumen-financiero .dato-fuerte{color:#16171f!important}a,a:hover{color:inherit!important;font-weight:inherit!important;text-decoration:none!important}.resumen-financiero a{color:#16171f!important;font-weight:inherit;text-decoration:none!important}.resumen-financiero th{background:#f3f4fa!important;color:#16171f!important}.resumen-financiero .dato-etiqueta,.resumen-financiero .dato-secundario{color:#5e6478!important}.resumen-financiero .solo-imprimir{display:flex!important;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 18px;background:#fff!important;color:#16171f!important}.resumen-financiero .resumen-impresion .dato-fuerte{font-size:1.35rem}.resumen-financiero h1{font-size:1.5rem}.resumen-financiero h2{font-size:1.15rem}.resumen-financiero table{font-size:.85rem}.resumen-financiero table th,.resumen-financiero table td,.resumen-financiero .tabla-facturas th,.resumen-financiero .tabla-facturas td{padding:8px 6px}.resumen-financiero .tabla-facturas th:nth-child(1),.resumen-financiero .tabla-facturas td:nth-child(1){width:18%}.resumen-financiero .tabla-facturas th:nth-child(2),.resumen-financiero .tabla-facturas td:nth-child(2),.resumen-financiero .tabla-facturas th:nth-child(7),.resumen-financiero .tabla-facturas td:nth-child(7){width:13%}.resumen-financiero .tabla-facturas th:nth-child(3),.resumen-financiero .tabla-facturas td:nth-child(3),.resumen-financiero .tabla-facturas th:nth-child(4),.resumen-financiero .tabla-facturas td:nth-child(4),.resumen-financiero .tabla-facturas th:nth-child(5),.resumen-financiero .tabla-facturas td:nth-child(5),.resumen-financiero .tabla-facturas th:nth-child(6),.resumen-financiero .tabla-facturas td:nth-child(6){width:14%}.resumen-financiero .tabla-contratos,.resumen-financiero .tabla-pagos,.resumen-financiero .tabla-multas{table-layout:fixed;width:100%}.resumen-financiero .tabla-contratos th:nth-child(1),.resumen-financiero .tabla-contratos td:nth-child(1){width:28%;white-space:nowrap}.resumen-financiero .tabla-contratos th:nth-child(2),.resumen-financiero .tabla-contratos td:nth-child(2),.resumen-financiero .tabla-contratos th:nth-child(3),.resumen-financiero .tabla-contratos td:nth-child(3),.resumen-financiero .tabla-contratos th:nth-child(4),.resumen-financiero .tabla-contratos td:nth-child(4){width:24%}.resumen-financiero .tabla-pagos th:nth-child(1),.resumen-financiero .tabla-pagos td:nth-child(1),.resumen-financiero .tabla-pagos th:nth-child(2),.resumen-financiero .tabla-pagos td:nth-child(2){width:32%}.resumen-financiero .tabla-pagos th:nth-child(3),.resumen-financiero .tabla-pagos td:nth-child(3){width:36%;white-space:nowrap}.resumen-financiero .tabla-multas th:nth-child(1),.resumen-financiero .tabla-multas td:nth-child(1){width:22%;white-space:nowrap}.resumen-financiero .tabla-multas th:nth-child(2),.resumen-financiero .tabla-multas td:nth-child(2){width:38%}.resumen-financiero .tabla-multas th:nth-child(3),.resumen-financiero .tabla-multas td:nth-child(3),.resumen-financiero .tabla-multas th:nth-child(4),.resumen-financiero .tabla-multas td:nth-child(4){width:20%}.resumen-financiero tr,.resumen-financiero .card{break-inside:avoid;page-break-inside:avoid}.resumen-financiero .insignia{padding-left:0;padding-right:0;background:#e8eef4!important;color:#16171f!important}.resumen-financiero .insignia.insignia-exito{background:#e5f6ec!important;color:#146c3a!important}.resumen-financiero .insignia.insignia-peligro,.resumen-financiero .insignia.insignia-cancelado{background:#fdecea!important;color:#8f1d14!important}.resumen-financiero .insignia.insignia-pendiente,.resumen-financiero .insignia.insignia-pausado{background:#fff6d8!important;color:#7a5b00!important}.resumen-financiero .insignia.insignia-inactivo,.resumen-financiero .insignia.insignia-entregado{background:#eef1f4!important;color:#3d4456!important}.resumen-financiero .insignia.insignia-info,.resumen-financiero .insignia.insignia-cotizacion{background:#e8ecff!important;color:#1b30d8!important}}@media (max-width: 1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 800px){.app-shell,.app-shell.menu-colapsado{grid-template-columns:1fr;transition:none}.stats,.seguimiento-grid{grid-template-columns:1fr}}
