/* Formulario de cotización compartido. Hereda color y tipografía de cada vista
   para verse bien en fondos claros y oscuros. */
.nk-form{display:grid;gap:14px;margin:0;text-align:left;color:inherit;width:100%;box-sizing:border-box}
.nk-form *{box-sizing:border-box}
.nk-tit{margin:0;font-weight:700;font-size:15px;letter-spacing:.02em}
.nk-ayuda{margin:-6px 0 0;font-size:14px;line-height:1.45;opacity:.8}
.nk-campos{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px}
.nk-campo{display:grid;gap:6px;min-width:0;align-content:start}
.nk-ancho{grid-column:1/-1}
.nk-campo label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.nk-campo input,.nk-campo select,.nk-campo textarea{font:inherit;font-size:16px;line-height:1.35;color:inherit;width:100%;min-height:44px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,currentColor 32%,transparent);background:color-mix(in srgb,currentColor 6%,transparent);-webkit-appearance:none;appearance:none}
.nk-campo select{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.nk-campo select option{color:#141413;background:#fff}
.nk-campo textarea{resize:vertical;min-height:84px}
.nk-campo input:focus-visible,.nk-campo select:focus-visible,.nk-campo textarea:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.nk-form [aria-invalid="true"]{border-color:#E5484D;border-width:2px}
.nk-msg{font-size:13px;line-height:1.35;border-left:3px solid #E5484D;padding-left:8px}
.nk-trampa{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.nk-form button[type=submit]{justify-self:start;cursor:pointer}
.nk-form button[type=submit]:disabled{opacity:.6;cursor:progress}
.nk-boton{font:inherit;font-weight:700;padding:12px 20px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit}
.nk-estado{margin:0;font-size:14px;line-height:1.45;min-height:1.2em}
.nk-estado:empty{display:none}
.nk-estado.nk-ok{font-weight:600;border-left:3px solid #3DA35D;padding-left:8px}
.nk-o{margin:0;font-size:13px;opacity:.75}
