/* 公共表单语言：同一套材质、间距和焦点反馈，覆盖搜索、登录、编辑与后台。 */
:root { --control-border:#dfe5ed; --control-ink:#223245; --control-muted:#8995a5; --control-focus:#285cff; }
body.site-forms :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea) {
  min-height:48px;
  border:1px solid var(--control-border);
  border-radius:10px;
  background-color:#f7f9fc;
  color:var(--control-ink);
  padding:13px 16px;
  box-shadow:inset 0 1px 2px #18263003;
  font-size:14px;
  font-weight:400;
  line-height:1.5;
  transition:border-color .18s,background .18s,box-shadow .18s;
  outline:none;
}
body.site-forms :where(input,textarea)::placeholder { color:var(--control-muted); opacity:1; font-size:13px; }
body.site-forms :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):hover { border-color:#b7c4d4; background-color:#fff; }
body.site-forms :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea):focus-visible {
  background-color:#fff; border-color:var(--control-focus); outline:none; box-shadow:0 0 0 3px #285cff12;
}
body.site-forms :where(input,select,textarea):disabled { cursor:not-allowed; color:#909baa; background-color:#eef1f5; border-color:#e4e8ee; }
body.site-forms :where(input,textarea):user-invalid { border-color:#c56b70; }
body.site-forms textarea { resize:vertical; min-height:120px; }
body.site-forms select,body.site-forms .field select,body.site-forms .plugin-search select,body.site-forms .form-stack select {
  appearance:none; padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23687485' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-size:16px; background-position:right 15px center;
}
body.site-forms input[type="search"] {
  padding-left:43px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='5.5' fill='none' stroke='%237c8899' stroke-width='1.5'/%3E%3Cpath d='m13 13 4 4' stroke='%237c8899' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-size:18px; background-position:left 15px center;
}
input[type="checkbox"],input[type="radio"] { accent-color:var(--control-focus); }
input[type="file"] { border:1px dashed #cbd5e2; border-radius:10px; padding:10px; background-color:#f7f9fc; color:#687586; font-size:13px; }
input[type="file"]::file-selector-button { border:0; border-radius:7px; padding:9px 14px; background:#e6ecf6; color:#233a58; margin-right:14px; font:inherit; cursor:pointer; }
.field { gap:9px; }
.field>span,.form-stack label>span { font-size:12px; font-weight:600; color:#536174; letter-spacing:.1px; }
.form-panel,.community-composer-form,.plugin-editor form,.modal-dialog form { gap:20px; }
.plugin-search input,.plugin-search select { min-height:46px; }
.plugin-search input { background-position:left 15px center; }
.plugin-search button { border-radius:9px; min-height:46px; }
.redemption-input input { border-radius:10px; background-color:#f7f9fc; padding:13px 16px; }
.redemption-input button { border-radius:9px; }
.community-comment-form textarea { min-height:68px; border-radius:10px; }
.modal-dialog { border-radius:14px; }
.modal-dialog .field input { border-radius:10px; }
.auth-legal-check input { min-height:auto; }
@media(max-width:600px) {
  body.site-forms :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select,textarea) { font-size:16px; }
  .plugin-search input { min-width:0; }
}
@media(prefers-reduced-motion:reduce) { body.site-forms :where(input,select,textarea) { transition:none; } }
