/* 捕获所有 select（含 {$fields_select}/{$module_select} 动态生成） */
.md3-select-wrap select, .md3-select {
  height: 36px; padding: 0 28px 0 12px;
  border-radius: 20px; border: 1.5px solid var(--md3-color-outline-variant);
  background: #fff; font-size: 13px; font-family: inherit;
  cursor: pointer; outline: none; appearance: auto;
  transition: border-color .2s, box-shadow .2s;
}
.md3-select-wrap select:focus, .md3-select:focus {
  border-color: var(--md3-color-primary);
  box-shadow: 0 0 0 2px rgba(0,95,184,.15);
}

/* 文字输入框 */
.md3-input, .md3-input {
  height: 36px; padding: 0 12px 0 32px;
  border-radius: 20px; border: 1.5px solid var(--md3-color-outline-variant);
  background: #fff; font-size: 13px; font-family: inherit;
  outline: none; box-sizing: border-box; width: 100%;
  transition: border-color .2s, box-shadow .2s;
}
.md3-input:focus, .md3-input:focus {
  border-color: var(--md3-color-primary);
  box-shadow: 0 0 0 2px rgba(0,95,184,.15);
}

/* 日期范围包裹器（dcalendar 输出） */
.sanxio-date-range {
  display: inline-flex; align-items: center; gap: 4px;
  background: #fff; border: 1.5px solid var(--md3-color-outline-variant);
  border-radius: 20px; padding: 0 10px; height: 36px; box-sizing: border-box;
}
.sanxio-date-range:focus-within {
  border-color: var(--md3-color-primary);
  box-shadow: 0 0 0 2px rgba(0,95,184,.15);
}
.sanxio-date-range input[type="text"],
.sanxio-date-range [name="fromdate"],
.sanxio-date-range [name="todate"] {
  border: none !important; background: transparent !important;
  outline: none !important; height: 32px !important;
  font-size: 13px !important; min-width: 88px !important;
}
/* 隐藏 Destoon dcalendar 旧 calendar.gif，统一用 .sanxio-date-icon + date-picker.js */
.sanxio-date-range img,
.sanxio-date-range img[src*="calendar.gif"],
.sanxio-date-range a[onclick*="ca_show"] {
  display: none !important;
}
.sanxio-date-icon { font-size: 16px; color: var(--md3-color-on-surface-variant); cursor: pointer; user-select: none; }
.sanxio-date-sep  { font-size: 12px; color: var(--md3-color-outline); }

/*======= sanxio payword field start ===========*/
.sanxio-payword {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sanxio-gap-sm, 8px);
  width: 100%;
  max-width: 28rem;
  box-sizing: border-box;
}
.sanxio-payword__control {
  display: flex;
  align-items: center;
  gap: var(--sanxio-gap-sm, 8px);
  min-height: 48px;
  padding: 0 var(--sanxio-gap-md, 16px);
  border-radius: var(--md3-shape-md, 12px);
  border: 1px solid var(--md3-color-outline-variant, #c3c6cf);
  background: var(--md3-color-surface, #fff);
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.sanxio-payword__control:focus-within {
  border-color: var(--md3-color-primary, #178a72);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--md3-color-primary, #178a72) 18%, transparent);
}
.sanxio-payword__ico {
  font-size: 20px;
  color: var(--md3-color-primary, #178a72);
  flex-shrink: 0;
}
.sanxio-payword-input.md3-field__input,
.sanxio-payword .sanxio-payword-input {
  flex: 1 1 auto;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  min-height: 46px;
  margin: 0;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 15px;
  color: var(--md3-color-on-surface, #1a1c1e);
  box-sizing: border-box;
}
.sanxio-payword__forgot {
  align-self: flex-start;
  font-size: 13px !important;
  font-weight: 600;
  text-decoration: none !important;
  color: var(--md3-color-primary, #178a72) !important;
}
.sanxio-payword__forgot:hover {
  text-decoration: underline !important;
}
/*======= sanxio payword field end ===========*/

