.field{display:flex; flex-direction:column; gap:6px; min-width:0}
.field > label{font-size:.8rem; font-weight:600; color:var(--ink-2); display:flex; align-items:center; gap:6px}
.field > label .hint{font-weight:400; color:var(--muted); font-size:.74rem}
.inp, select.inp, textarea.inp{
  width:100%; padding:10px 13px; border-radius:var(--r-md); background:var(--paper);
  border:1.5px solid var(--line); color:var(--ink); transition:border-color .16s, box-shadow .16s;
  min-height:var(--tap); font-size:.92rem;
}
textarea.inp{min-height:84px; resize:vertical; line-height:1.7}
.inp:focus, select.inp:focus, textarea.inp:focus{
  outline:none; border-color:var(--navy-soft); box-shadow:0 0 0 3.5px var(--navy-mist);
}
.inp::placeholder{color:var(--muted); opacity:.75}
.inp[readonly]{background:var(--cream-2); color:var(--ink-2)}
select.inp{
  appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%2393867A' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:left 13px center; padding-left:34px;
}
.inp.num{font-variant-numeric:tabular-nums; letter-spacing:.02em}
.inp.err{border-color:var(--danger); box-shadow:0 0 0 3.5px var(--danger-bg)}
.grid{display:grid; gap:var(--sp4)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-auto{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.row{display:flex; gap:var(--sp3); flex-wrap:wrap; align-items:center}
.spacer{flex:1}

.chk{display:flex; align-items:center; gap:9px; cursor:pointer; font-size:.88rem; user-select:none; min-height:var(--tap)}
.chk input{width:19px;height:19px;accent-color:var(--navy); cursor:pointer; flex:0 0 19px}
