:root{--color-fondo: #f4f5f7;--color-superficie: #ffffff;--color-superficie-2: #eef0f3;--color-texto: #1f2933;--color-texto-suave: #52606d;--color-linea: #d9dee5;--color-primario: #1f5f8b;--color-primario-oscuro: #174a6d;--color-primario-suave: #e3eef6;--color-peligro: #b42318;--color-peligro-suave: #fbe9e7;--color-aviso: #8a5a00;--color-aviso-suave: #fff4d6;--color-ok: #1b6e3a;--color-ok-suave: #e3f3e8;--fuente: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fuente-mono: "SFMono-Regular", Menlo, Consolas, monospace;--radio: 6px;--sombra: 0 1px 2px rgba(31, 41, 51, .08);--ancho-lateral: 232px;--alto-cabecera: 52px;--espacio-1: 4px;--espacio-2: 8px;--espacio-3: 12px;--espacio-4: 16px;--espacio-5: 24px;--espacio-6: 32px}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--fuente);font-size:14px;line-height:1.45;color:var(--color-texto);background:var(--color-fondo)}a{color:var(--color-primario)}h1,h2,h3{margin:0 0 var(--espacio-3);font-weight:600}h1{font-size:20px}h2{font-size:16px}.tarjeta{background:var(--color-superficie);border:1px solid var(--color-linea);border-radius:var(--radio);box-shadow:var(--sombra);padding:var(--espacio-5)}.pagina{max-width:1100px}.pagina-cabecera{display:flex;align-items:center;justify-content:space-between;gap:var(--espacio-3);margin-bottom:var(--espacio-4)}.fila{display:flex;gap:var(--espacio-3);align-items:center;flex-wrap:wrap}.crece{flex:1}.campo{display:flex;flex-direction:column;gap:var(--espacio-1);margin-bottom:var(--espacio-3)}.campo label{font-weight:600;font-size:13px;color:var(--color-texto-suave)}.campo input,.campo select,.campo textarea{font:inherit;padding:8px 10px;border:1px solid var(--color-linea);border-radius:var(--radio);background:var(--color-superficie);color:var(--color-texto)}.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--color-primario-suave);border-color:var(--color-primario)}.campo .error-campo{color:var(--color-peligro);font-size:12px}.campo.con-error input,.campo.con-error select{border-color:var(--color-peligro)}.campo-linea{flex-direction:row;align-items:center;gap:var(--espacio-2)}.boton{font:inherit;font-weight:600;padding:8px 14px;border-radius:var(--radio);border:1px solid var(--color-primario);background:var(--color-primario);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:var(--espacio-2)}.boton:hover{background:var(--color-primario-oscuro)}.boton:disabled{opacity:.6;cursor:default}.boton.secundario{background:transparent;color:var(--color-primario)}.boton.secundario:hover{background:var(--color-primario-suave)}.boton.peligro{border-color:var(--color-peligro);background:var(--color-peligro)}.boton.pequeno{padding:4px 10px;font-size:13px}.aviso{padding:10px 14px;border-radius:var(--radio);border:1px solid transparent;margin-bottom:var(--espacio-3)}.aviso.error{background:var(--color-peligro-suave);color:var(--color-peligro);border-color:#f2c4bf}.aviso.atencion{background:var(--color-aviso-suave);color:var(--color-aviso);border-color:#f0dfae}.aviso.ok{background:var(--color-ok-suave);color:var(--color-ok);border-color:#bfe3cc}.tabla{width:100%;border-collapse:collapse;background:var(--color-superficie)}.tabla th,.tabla td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--color-linea);vertical-align:middle}.tabla th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-texto-suave);background:var(--color-superficie-2)}.tabla tr.pulsable{cursor:pointer}.tabla tr.pulsable:hover{background:var(--color-primario-suave)}.tabla .num{text-align:right;font-variant-numeric:tabular-nums}.etiqueta{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--color-superficie-2);color:var(--color-texto-suave)}.etiqueta.ok{background:var(--color-ok-suave);color:var(--color-ok)}.etiqueta.error{background:var(--color-peligro-suave);color:var(--color-peligro)}.etiqueta.atencion{background:var(--color-aviso-suave);color:var(--color-aviso)}.mono{font-family:var(--fuente-mono);font-size:13px}.suave{color:var(--color-texto-suave)}.oculto-visual{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
