.switch-card {
  width: 100%;
  min-width: 0;
  height: 62px;
  min-height: 62px;
  margin: 0;
  padding: 9px 10px;
  box-sizing: border-box;
  align-self: stretch;
  display: flex;
  align-items: center;
  max-width: none;
  color: inherit;
  font: inherit;
  word-wrap: normal;
  border: 1px solid #b9d9e9;
  border-radius: 9px;
  background: #f9fcfe;
}
.switch-card:hover { border-color: #9fc9df; background: #fbfeff; }
.switch-card:has(input:checked) { border-color: #afd6e9; background: #f7fcff; box-shadow: 0 6px 16px rgba(17,82,129,.035); }
.switch-card.is-locked { opacity: 1; }
.locked-row { cursor: default; }
.switch-row {
  width: 100%; min-height: 100%; display: inline-flex; align-items: center; gap: 8px;
  color: var(--text); font-size: 11px; font-weight: 500; cursor: pointer;
}
.switch-row input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.switch-ui {
  flex: 0 0 auto; width: 30px; height: 18px; padding: 2px; border-radius: 999px; background: #c6d2d9;
}
.switch-ui::after {
  content: ""; display: block; width: 14px; height: 14px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.16);
}
.switch-row input:checked + .switch-ui { background: #0b95d7; }
.switch-row input:checked + .switch-ui::after { transform: translateX(12px); }
.switch-row input:focus-visible + .switch-ui { box-shadow: 0 0 0 3px var(--focus); }
.switch-copy { min-width: 0; display: grid; gap: 1px; align-content: center; flex: 1 1 auto; }
.switch-copy strong { font-family: var(--font-app-bold); color: #31566b; font-size: 10.2px; line-height: 1.2; font-weight: 700; font-synthesis: weight; }
.switch-copy small { color: #82939d; font-size: 8.7px; font-weight: 400; line-height: 1.28; }

.stamp-settings-card {
  grid-column: 1 / -1; padding: 13px; display: grid; gap: 11px; border: 1px solid #d9e6ed; border-radius: 11px;
  background: #fbfdfe;
}
.stamp-settings-head { display: grid; gap: 3px; }
.stamp-settings-head strong { font-family: var(--font-app-bold); color: #31566b; font-size: 10.8px; line-height: 1.25; font-weight: 700; font-synthesis: weight; }
.stamp-settings-head small { color: #82939d; font-size: 9.4px; font-weight: 400; line-height: 1.42; }
.range-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 9px; }
input[type="range"] { width: 100%; height: 20px; margin: 0; padding: 0; border: 0; background: transparent; accent-color: var(--brand-600); cursor: pointer; }
.range-value {
  min-width: 54px; height: 31px; padding: 0 9px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid #d3e0e8; border-radius: 999px; background: #fff; color: #34576b; font-size: 11px; font-weight: 500;
  line-height: 1; font-variant-numeric: tabular-nums;
}
.stamp-upload-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
input.stamp-file-input { height: 43px; padding: 4px 7px; color: #607582; background: #fff; border-radius: 9px; cursor: pointer; }
.stamp-file-input::file-selector-button,
.stamp-file-input::-webkit-file-upload-button {
  height: 31px; margin-right: 9px; padding: 0 12px; border: 0; border-radius: 7px; color: var(--brand-600);
  background: var(--brand-100); font-family: var(--font-app-medium); font-size: 10px; font-weight: 500; cursor: pointer;
}
.stamp-clear-button { height: 43px; padding-inline: 14px; white-space: nowrap; }
.stamp-file-status { min-height: 17px; color: #84949e; font-size: 9.4px; line-height: 1.42; }
.stamp-file-status.has-file { color: #356c54; }
.stamp-file-status.has-error { color: #a94a4a; }

.actions { margin-top: 22px; display: grid; grid-template-columns: minmax(112px, .38fr) minmax(0, 1fr); gap: 10px; }
.button {
  height: 43px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; border-radius: 9px; font-family: var(--font-app-medium); font-size: 11.5px; font-weight: 500; line-height: 1; cursor: pointer;
}
.button:focus-visible, .icon-button:focus-visible { box-shadow: 0 0 0 3px var(--focus); }
.button.primary { color: #fff; background: var(--brand-600); box-shadow: 0 7px 16px rgba(0,92,170,.14); }
.button.primary:hover { background: #00579f; }
.button.secondary { color: var(--brand-600); background: var(--brand-100); }
.button.secondary:hover { background: #e2f1fa; }
.button.ghost { color: var(--brand-600); background: #fff; border-color: #cfe0ea; }
.button.ghost:hover { background: var(--brand-050); border-color: #bcd3e1; }
.button.small { height: 36px; padding-inline: 13px; font-size: 10.8px; }
.button:disabled { cursor: not-allowed; opacity: 0.62; transform: none; box-shadow: none; }
.action-status { grid-column: 1 / -1; min-height: 15px; margin: -2px 2px 0; color: #6f828d; font-size: 9.8px; line-height: 1.4; }
