/* Isolated controls: the same sizing inside pages, login forms and modal editors. */
body .ft426-password-field {
  display:grid!important; grid-template-columns:minmax(0,1fr) 44px!important;
  gap:6px!important; align-items:center!important; width:100%!important;
  min-width:0!important; max-width:100%!important; box-sizing:border-box;
}
body .ft426-password-field>input,
body.ftaps-app :is(.ftaps-content,.ftaps-modal,.ftaps-auth-content) .ft426-password-field>input {
  grid-column:1!important; grid-row:1!important; width:100%!important;
  min-width:0!important; max-width:100%!important; margin:0!important; box-sizing:border-box;
}
body .ft426-password-field>button.ft426-password-eye,
body.ftaps-app.ftaps-app :is(.ftaps-content,.ftaps-modal,.ftaps-auth-content) .ft426-password-field.ft426-password-field>button.ft426-password-eye.ft426-password-eye {
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  grid-column:2!important; grid-row:1!important; position:static!important;
  width:44px!important; min-width:44px!important; max-width:44px!important;
  height:44px!important; min-height:44px!important; max-height:44px!important;
  padding:0!important; margin:0!important; border:0!important; border-radius:8px!important;
  background:transparent!important; color:#315b80!important; box-shadow:none!important;
  transform:none!important; cursor:pointer; flex:0 0 44px!important;
}
body .ft426-password-field>button.ft426-password-eye::before,
body .ft426-password-field>button.ft426-password-eye::after { content:none!important; }
body .ft426-password-field>button.ft426-password-eye>svg,
body.ftaps-app :is(.ftaps-content,.ftaps-modal,.ftaps-auth-content) .ft426-password-field>button.ft426-password-eye>svg {
  position:static!important; width:22px!important; height:22px!important; flex:0 0 22px!important;
}
body .ft426-password-field>button.ft426-password-eye:hover { background:#edf4fb!important; }
body .ft426-password-field>button.ft426-password-eye:focus-visible { outline:3px solid #2575bd!important; outline-offset:2px; }
body .ft426-password-field>button.ft426-password-eye:disabled { opacity:.4; cursor:default; }

/* Private quote: explicit groups prevent automatic field wrappers fragmenting the layout. */
body.ftaps-app form.oq-internal-form .ft426-quote-layout {
  display:flex!important; flex-direction:column!important; gap:16px!important;
  width:100%!important; min-width:0!important; max-width:100%!important; box-sizing:border-box;
}
body.ftaps-app form.oq-internal-form .ft426-quote-section {
  display:block!important; width:100%!important; min-width:0!important; max-width:100%!important;
  margin:0!important; padding:12px 14px 14px!important; border:1px solid #dce4ee;
  border-radius:10px; box-sizing:border-box;
}
body.ftaps-app form.oq-internal-form .ft426-quote-section>legend {
  float:none; width:auto; margin:0; padding:0 6px; font-size:14px; font-weight:700; color:#334155;
}
body.ftaps-app form.oq-internal-form .ft426-quote-fields {
  display:flex!important; flex-direction:row!important; flex-wrap:wrap!important;
  gap:12px!important; align-items:flex-start!important; width:100%!important; min-width:0!important;
}
body.ftaps-app form.oq-internal-form .ft426-quote-fields>label[data-ft426-field] {
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  gap:6px!important; flex:1 1 220px!important; width:auto!important;
  min-width:0!important; max-width:100%!important; padding:0!important; margin:0!important;
  font-size:var(--ft422-text,14px)!important; line-height:1.4!important; box-sizing:border-box;
}
body.ftaps-app form.oq-internal-form .ft426-quote-fields>label[data-ft426-field=short] { flex:1 1 170px!important; }
body.ftaps-app form.oq-internal-form .ft426-quote-fields>label[data-ft426-field=date] { flex:0 1 170px!important; }
body.ftaps-app form.oq-internal-form .ft426-quote-fields>label[data-ft426-field=time] { flex:0 1 130px!important; }
body.ftaps-app form.oq-internal-form .ft426-quote-fields>label[data-ft426-field=number] { flex:0 1 112px!important; }
body.ftaps-app form.oq-internal-form .ft426-quote-fields>label[data-ft426-field=wide] { flex:1 1 100%!important; }
body.ftaps-app form.oq-internal-form .ft426-quote-fields>label[data-ft426-field=long] { flex:1 1 280px!important; }
body.ftaps-app form.oq-internal-form .ft426-quote-fields :is(input,textarea) {
  width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important;
  padding:9px 10px!important; min-height:44px!important; box-sizing:border-box;
}
body.ftaps-app form.oq-internal-form .ft426-quote-fields textarea {
  min-height:66px!important; max-height:none!important; resize:vertical!important; overflow-y:auto!important;
}
body.ftaps-app form.oq-internal-form .ft426-quote-fields [data-ft426-field=long] textarea { min-height:86px!important; }
@media(max-width:600px) {
  body.ftaps-app form.oq-internal-form .ft426-quote-section { padding:10px!important; }
  body.ftaps-app form.oq-internal-form .ft426-quote-fields { gap:12px 10px!important; }
  body.ftaps-app form.oq-internal-form .ft426-quote-fields :is(input,textarea) { font-size:16px!important; }
}
@media print { body .ft426-password-eye { display:none!important; } }
