html,body{margin:0;padding:0;border:0}main{position:fixed;inset:0;margin:0;background:#f5f5f5;overflow:clip}.entidad.seleccionado{--color-resaltado: #3b82f6;outline:3px solid var(--color-resaltado)}.entidad.seleccionado input{cursor:text!important}.atributo.seleccionado{--color-resaltado: #3b82f6;outline:3px solid var(--color-resaltado)}.atributo.seleccionado input{cursor:text!important}.entidad.entidad-debil.seleccionado{outline:3px solid var(--color-resaltado);box-shadow:0 0 0 4px #fff,0 0 0 7px var(--color-resaltado),0 0 8px 2px var(--color-resaltado)}.atributo.atributo-multivaluado.seleccionado{outline-offset:3px;border:3px solid var(--color-resaltado)}.relacion.seleccionado polygon{--color-resaltado: #3b82f6;stroke:var(--color-resaltado);stroke-width:3;filter:drop-shadow(0 0 6px var(--color-resaltado))}.relacion.seleccionado input{cursor:text!important}.diagrama-mer[data-interaccion-en-curso=Borrado] .entidad:not(:has(.atributo:hover)):hover{--color-resaltado: rgba(245, 19, 19, .5);cursor:pointer;box-shadow:0 0 10px var(--color-resaltado);-webkit-user-select:none;user-select:none}.diagrama-mer[data-interaccion-en-curso=Borrado] .entidad:not(:has(.atributo:hover)).entidad-debil:hover{box-shadow:0 0 0 4px #fff,0 0 0 5px gray,0 0 18px 6px var(--color-resaltado)}.diagrama-mer[data-interaccion-en-curso=Borrado] .atributo:hover,.diagrama-mer[data-interaccion-en-curso=Borrado] .relacion polygon:hover{--color-resaltado: rgba(245, 19, 19, .5);cursor:pointer;box-shadow:0 0 10px var(--color-resaltado);filter:drop-shadow(0 0 5px var(--color-resaltado));-webkit-user-select:none;user-select:none}.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] .entidad:not(:has(.atributo:hover)):hover{--color-resaltado: rgba(96, 165, 250, .6);cursor:pointer;box-shadow:0 0 10px var(--color-resaltado);-webkit-user-select:none;user-select:none}.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] .entidad:not(:has(.atributo:hover)).entidad-debil:hover{box-shadow:0 0 0 4px #fff,0 0 0 5px gray,0 0 18px 6px var(--color-resaltado)}.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] .entidad:not(:has(.atributo:hover)).entidad-origen-relacion:hover{box-shadow:0 0 10px #60a5fa99}.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] .entidad:not(:has(.atributo:hover)).entidad-debil.entidad-origen-relacion:hover{box-shadow:0 0 0 4px #fff,0 0 0 7px #3b82f6,0 0 18px 6px #60a5fa99}.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] .atributo,.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] .relacion,.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] line:not(.linea-feedback),.diagrama-mer[data-interaccion-en-curso="Crear Relacion"] .cardinalidad-texto{filter:blur(3px)}.diagrama-mer[data-interaccion-en-curso="Crear Entidad"]{cursor:pointer}.diagrama-mer[data-interaccion-en-curso="Crear Entidad"] .entidad,.diagrama-mer[data-interaccion-en-curso="Crear Entidad"] .atributo,.diagrama-mer[data-interaccion-en-curso="Crear Entidad"] .relacion,.diagrama-mer[data-interaccion-en-curso="Crear Entidad"] line:not(.linea-feedback),.diagrama-mer[data-interaccion-en-curso="Crear Entidad"] .cardinalidad-texto{filter:blur(3px)}.atributo,.relacion,line:not(.linea-feedback){transition:filter .2s}.entidad-origen-relacion{outline:3px solid #3b82f6}.entidad.entidad-debil.entidad-origen-relacion{outline:3px solid #3b82f6;box-shadow:0 0 0 4px #fff,0 0 0 7px #3b82f6,0 0 8px 2px #3b82f6}.diagrama-mer.accion-en-curso .entidad,.diagrama-mer.accion-en-curso svg{pointer-events:none}.diagrama-mer.accion-en-curso input{pointer-events:none}.diagrama-mer.accion-en-curso .entidad button{display:none}.diagrama-mer:not(.accion-en-curso) .arrastrable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.diagrama-mer:not(.accion-en-curso) .arrastrable.agarrando{cursor:grabbing}.diagrama-mer:not(.accion-en-curso) .agarrando.entidad-debil,.diagrama-mer:not(.accion-en-curso) .agarrando .atributo.atributo-multivaluado{box-shadow:0 0 0 4px #fff,0 0 0 5px gray}.diagrama-mer:not(.accion-en-curso) .entidad:hover input{cursor:pointer}.diagrama-mer:not(.accion-en-curso) .entidad:hover button{display:inline}.diagrama-mer:not(.accion-en-curso) .entidad button{display:none}.diagrama-mer:not(.accion-en-curso) .relacion:hover input{cursor:pointer}.entidad{border:1px solid gray;padding:1em;background:#fff;position:absolute;display:inline-flex;flex-direction:column;align-items:center;gap:.5em}.entidad button{position:absolute;right:1em;top:0;translate:0 -50%;border-radius:50%;background:#007bff;color:#fff;width:22px;height:22px;border:none;cursor:pointer;font-weight:700}.entidad button:hover{background:#0056b3}.entidad input{field-sizing:content;min-width:50px;outline:none;text-align:center;border:none}.entidad input:hover{border-bottom-color:gray}.entidad>div:last-child{position:absolute;top:0;left:0}.entidad .atributo{position:absolute;top:0;left:0;background:#fff;padding:1em;border-radius:100%;border:1px solid gray}.entidad .atributo input{min-width:50px;field-sizing:content}.entidad .atributo.atributo-multivaluado{box-shadow:0 0 0 3px #fff,0 0 0 4px gray}.entidad.entidad-debil{box-shadow:0 0 0 4px #fff,0 0 0 5px gray}.relacion input{outline:none}.rombo-foreign-object{cursor:auto}.relacion polygon{fill:#fff;stroke:gray;stroke-width:1}.contenedor-barra{position:absolute;top:0;left:0;right:0;z-index:9999;pointer-events:none;display:flex;flex-direction:column;align-items:center}#topbar{pointer-events:auto;max-width:fit-content;background:#fafafacc;border:1px solid #ccc;border-radius:0 0 8px 8px;padding:8px 16px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}#topbar button{padding:6px 12px;border:none;background-color:#007bff;color:#fff;border-radius:4px;cursor:pointer}#topbar button:hover{background-color:#0056b3}#topbar button.boton-activo{background-color:#02468f;color:#fff;box-shadow:0 0 6px #0000004d}#topbar button{transition:background-color .1s,transform .1s,box-shadow .1s}.texto-sugerencia{font-family:sans-serif;font-style:italic;font-size:16px;color:#717070;margin-top:.5rem;background:#fff;border-radius:10px;padding:5px;visibility:hidden}.texto-sugerencia:not(:empty){visibility:visible}#contenedor-toast{position:fixed;z-index:9999;top:1rem;right:1rem;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}.toast{width:20vw;padding:10px 14px;border-radius:10px;box-shadow:0 6px 24px #0000002e;background:#dc2626;color:#fff;opacity:0;text-align:center;transition:opacity .2s ease;pointer-events:auto;word-break:break-word;font-family:Roboto,sans-serif}.inspector-boton-cerrar{position:absolute;top:.6rem;right:.7rem;background:none;border:none;font-size:1rem;color:#9ca3af;cursor:pointer}#panel-inspector{position:fixed;right:0;top:0;width:20vw;height:100vh;overflow-y:auto;background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-left:1px solid #e5e7eb;padding:1.2rem;box-shadow:0 0 12px #00000014;display:none;z-index:1000;font-family:sans-serif}.cardinalidad-texto{font-family:sans-serif;font-size:14px;stroke:#f5f5f5;stroke-width:8px;paint-order:stroke;cursor:pointer;text-anchor:middle;stroke-linejoin:round}.atributo.atributo-pk input{text-decoration:underline}.tecla{padding:.4rem .9rem;border-radius:99px;border:1.5px solid #d1d5db;cursor:pointer;font-size:.9rem;font-family:sans-serif;text-transform:uppercase}.tecla-activa,.inspector-grupo-teclas label.tecla:has(.tecla-radio-oculto:checked){background-color:#3b82f6;color:#fff;border-color:#2563eb}:is(.tecla-activa,.inspector-grupo-teclas label.tecla:has(.tecla-radio-oculto:checked)):hover{background-color:#2563eb}.tecla-inactiva{background-color:#f3f4f6;color:#6b7280;border-color:#d1d5db}.tecla-inactiva:hover{background-color:#e5e7eb;color:#374151}.tecla-radio-oculto{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.inspector-grupo-teclas{display:flex;gap:.4rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center}.tecla-grupo-segmentado{display:inline-flex;gap:0;margin-top:0;flex-wrap:nowrap;align-items:center}.tecla-grupo-segmentado .tecla{padding:.2rem .7rem;font-size:.8rem}.tecla-grupo-segmentado .tecla:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.tecla-grupo-segmentado .tecla:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.tecla-grupo-segmentado .tecla:not(:first-child):not(:last-child){border-radius:0}.inspector-separador{border:none;border-top:1px solid #e5e7eb;margin:1rem 0}.inspector-cardinalidad{border:none}.inspector-mientras-que{font-size:.85rem;color:#4b5563;font-style:italic;font-family:sans-serif}.inspector-cardinalidad-label{position:relative;font-size:.875rem;color:#4b5563;margin:.75rem 0 .15rem;font-family:sans-serif;padding-left:.85rem}.inspector-cardinalidad-label:before{content:"•";position:absolute;left:0;color:#9ca3af}.inspector-grupo-teclas-tipo{display:flex;justify-content:center;margin:.5rem 0 .75rem}.inspector-teclas-fila{display:flex;flex-direction:row;align-items:baseline;margin-top:.4rem;flex-wrap:wrap;margin-left:1.5rem}.boton-invertir-debil{display:flex;align-items:center;gap:.4rem;margin-top:1rem;padding:.45rem .9rem;border-radius:6px;border:1.5px solid #2563eb;background:#3b82f6;color:#fff;font-size:.85rem;font-family:sans-serif;cursor:pointer;transition:background-color .15s,border-color .15s}.boton-invertir-debil:hover{background:#2563eb;border-color:#1d4ed8}.inspector-teclas-label{font-size:.8rem;color:#4b5563}.inspector-texto-fijo{font-size:.85rem;color:#6b7280;margin:.75rem 0 0}.inspector-seccion-cardinalidades{font-size:.75rem;font-weight:600;color:#9ca3af;margin:.5rem 0}.menu-hamburguesa-container{position:absolute;top:.5rem;left:.5rem;z-index:2}.menu-hamburguesa-icono{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:.4rem;padding:.5rem;transition:all .3s ease;color:#333}.menu-hamburguesa-icono:hover{background:#f5f5f5;border-color:#bbb}.diagrama-mer.accion-en-curso .menu-hamburguesa-icono{cursor:not-allowed;opacity:.5}.menu-hamburguesa-icono svg{display:block}.menu-hamburguesa-desplegable{position:absolute;top:calc(100% + .5rem);left:0;background:#fff;box-shadow:0 .25rem .75rem #00000026;border-radius:.5rem;padding:.25rem 0;min-width:11rem;opacity:0;visibility:hidden;transition:all .3s ease}.menu-hamburguesa-desplegable.abierto{opacity:1;visibility:visible;transform:translateY(0)}.menu-hamburguesa-desplegable .menu-item{width:100%;padding:.75rem 1.25rem;background:none;border:none;text-align:left;font-size:1rem;color:#333;cursor:pointer;transition:background .3s ease;display:block}.menu-hamburguesa-desplegable .menu-item:hover{background:#f0f0f0}.menu-hamburguesa-input{display:none}.modal-mis-modelos-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;transition:opacity .2s ease}.modal-mis-modelos-overlay.modal-abierto{opacity:1}.modal-mis-modelos-panel{background:#fff;border-radius:.75rem;box-shadow:0 8px 32px #0000002e;width:min(70vw,500px);min-width:0;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;font-family:sans-serif}.modal-mis-modelos-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.modal-mis-modelos-titulo{margin:0}.modal-mis-modelos-cerrar{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#6b7280;border-radius:.4rem;transition:background .2s}.modal-mis-modelos-cerrar:hover{background:#f3f4f6;color:#000}.modal-mis-modelos-warning{margin:.75rem 1.5rem 0;padding:.6rem 1rem;background:#fffbeb;border:1px solid #fcd34d;border-radius:.5rem;font-size:.85rem;color:#92400e;overflow-wrap:break-word}.modal-mis-modelos-seccion-guardar{display:flex;gap:.5rem;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;font-size:.8rem}.modal-mis-modelos-input-nombre,.modal-mis-modelos-input-renombrar{border:1px solid #d1d5db;border-radius:.4rem;font:inherit;outline:none;transition:border-color .2s}:is(.modal-mis-modelos-input-nombre,.modal-mis-modelos-input-renombrar):focus{border-color:#3b82f6}.modal-mis-modelos-input-nombre{flex:1;padding:.5rem .75rem}.modal-mis-modelos-input-renombrar{padding:.3rem .4rem}.modal-mis-modelos-boton-guardar{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:.4rem;cursor:pointer;transition:background .2s}.modal-mis-modelos-boton-guardar:hover{background:#2563eb}.modal-mis-modelos-lista{overflow-y:auto}.modal-mis-modelos-vacio{text-align:center;color:#9ca3af;padding:2rem 1rem}.modal-mis-modelos-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid #f3f4f6}.modal-mis-modelos-info{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0;overflow:hidden}.modal-mis-modelos-info .modal-mis-modelos-fecha{font-size:.75rem;color:#9ca3af;white-space:nowrap}.modal-mis-modelos-info .modal-mis-modelos-nombre{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-mis-modelos-acciones{display:flex;gap:.4rem}.modal-mis-modelos-acciones .modal-mis-modelos-boton{padding:.35rem .75rem;border-radius:.4rem;border:1px solid;cursor:pointer;transition:background .2s}.modal-mis-modelos-acciones .modal-mis-modelos-boton.modal-mis-modelos-boton--cargar{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.modal-mis-modelos-acciones .modal-mis-modelos-boton.modal-mis-modelos-boton--cargar:hover{background:#dbeafe}.modal-mis-modelos-acciones .modal-mis-modelos-boton.modal-mis-modelos-boton--eliminar{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.modal-mis-modelos-acciones .modal-mis-modelos-boton.modal-mis-modelos-boton--eliminar:hover{background:#fee2e2}
