fieldset { margin: 0; min-width: 0; padding: 8px 16px 16px; border: 1px solid #e5e7eb; border-radius: 8px; }
legend { padding: 0 6px; font-weight: 600; color: #222; }
label { display: block; margin-top: 10px; font-size: 0.9em; color: #444; }
input, select {
  width: 100%; box-sizing: border-box; margin-top: 4px; padding: 6px 8px;
  border: 1px solid #d1d5db; border-radius: 6px; background: #fff; font: inherit; color: #222;
}
input:focus, select:focus { outline: none; border-color: #0066ff; box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.15); }
input:disabled { background: #f3f4f6; color: #999; }
input[type="checkbox"], input[type="radio"] { width: auto; margin: 0 6px 0 0; padding: 0; vertical-align: middle; accent-color: #0066ff; }
.hint { font-size: 0.85em; color: #666; }
.primary-button {
  padding: 9px 12px; border: none; border-radius: 6px; background: #0066ff; color: #fff;
  font: inherit; font-weight: 600; cursor: pointer;
}
.primary-button:hover:not(:disabled) { background: #0052cc; }
.primary-button:disabled { opacity: 0.6; cursor: default; }
