

.admin-toolbar-search .input,
.admin-toolbar-search .admin-btn {
  height: 36px;
}

.admin-toolbar > .input,
.admin-toolbar input[type="text"],
.admin-toolbar input[type="number"],
.admin-toolbar input[type="search"] {
  flex: 1 1 200px;
  min-width: 180px;
}

.admin-toolbar > .admin-btn {
  height: 36px;
}

.admin-table td.admin-cell-actions .admin-btn {
  margin-left: 4px;
}

.admin-screen-wrap input,
.admin-screen-wrap textarea,
.admin-screen-wrap select,
.admin-screen-wrap .input,
.admin-dialog input,
.admin-dialog textarea,
.admin-dialog select,
.admin-dialog .input {
  min-width: 0;
  max-width: 100%;
}

.admin-screen-wrap .input,
.admin-screen-wrap input[type="text"],
.admin-screen-wrap input[type="number"],
.admin-screen-wrap input[type="email"],
.admin-screen-wrap input[type="search"],
.admin-screen-wrap input[type="password"],
.admin-screen-wrap input[type="url"],
.admin-screen-wrap select,
.admin-dialog .input,
.admin-dialog input[type="text"],
.admin-dialog input[type="number"],
.admin-dialog input[type="email"],
.admin-dialog input[type="search"],
.admin-dialog input[type="password"],
.admin-dialog input[type="url"],
.admin-dialog select {
  height: 36px;
  border-radius: 8px;
  border: 1px solid var(--admin-border-strong);
  background: color-mix(in srgb, var(--admin-bg) 82%, var(--admin-surface-2));
  color: var(--admin-text);
  padding: 0 12px;
  font-size: 13px;
  outline: none;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.admin-screen-wrap .admin-translations-search .input,
.admin-screen-wrap .admin-icon-picker-search .input,
.admin-screen-wrap .support-admin-search .input {
  padding-left: 38px;
}

.admin-screen-wrap .input::placeholder,
.admin-screen-wrap input::placeholder,
.admin-screen-wrap textarea::placeholder,
.admin-dialog .input::placeholder,
.admin-dialog input::placeholder,
.admin-dialog textarea::placeholder {
  color: var(--admin-dim);
}

.admin-screen-wrap .input:focus,
.admin-screen-wrap input:focus,
.admin-screen-wrap select:focus,
.admin-dialog .input:focus,
.admin-dialog input:focus,
.admin-dialog select:focus {
  border-color: var(--admin-ring);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}

.admin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 34px;
  padding: 0 14px;
  border-radius: 8px;
  border: 1px solid var(--admin-border);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.014)),
    var(--admin-surface-2);
  color: var(--admin-text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.admin-btn:hover:not(:disabled) {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.068), rgba(255, 255, 255, 0.018)),
    var(--admin-elev);
  border-color: var(--admin-border-strong);
}

.admin-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.admin-btn.admin-btn-primary {
  background: var(--accent);
  color: var(--accent-contrast);
  border-color: color-mix(in srgb, var(--accent) 70%, #000);
  font-weight: 600;
}

.admin-btn.admin-btn-primary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent) 90%, #fff);
}

.admin-btn.admin-btn-ghost {
  background: transparent;
  border-color: transparent;
  color: var(--admin-muted);
}

.admin-btn.admin-btn-ghost:hover:not(:disabled) {
  background: var(--surface-hover);
  color: var(--admin-text);
}

.admin-btn.admin-btn-danger {
  background: color-mix(in srgb, var(--danger) 80%, #000);
  color: #fff;
  border-color: color-mix(in srgb, var(--danger) 60%, #000);
  font-weight: 600;
}

.admin-btn.admin-btn-danger:hover:not(:disabled) {
  background: var(--danger);
  border-color: var(--danger);
}

.admin-btn.admin-btn-danger-soft {
  color: var(--danger-text);
  background: var(--admin-surface-2);
  border-color: var(--danger-border);
}

.admin-btn.admin-btn-danger-soft:hover:not(:disabled) {
  background: var(--danger-soft);
  border-color: color-mix(in srgb, var(--danger) 50%, transparent);
}

.admin-btn.admin-btn-icon {
  width: 34px;
  padding: 0;
}

.admin-btn.admin-btn-sm {
  height: 28px;
  padding: 0 10px;
  font-size: 12px;
  border-radius: 6px;
}

.admin-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--admin-border);
  background: var(--admin-surface-2);
  color: var(--admin-muted);
  white-space: nowrap;
}

.admin-badge.admin-badge-success {
  border-color: var(--success-border);
  color: var(--success-text);
  background: var(--success-soft);
}

.admin-badge.admin-badge-danger {
  border-color: var(--danger-border);
  color: var(--danger-text);
  background: var(--danger-soft);
}

.admin-badge.admin-badge-warning {
  border-color: var(--warning-border);
  color: var(--warning-text);
  background: var(--warning-soft);
}

.admin-badge.admin-badge-muted {
  color: var(--admin-muted);
}

.admin-setting-control .input,
.admin-setting-control .admin-setting-select,
.admin-setting-control .admin-setting-textarea,
.admin-setting-control input[type="text"],
.admin-setting-control input[type="number"] {
  flex: 1 1 160px;
  min-width: 0;
  width: 100%;
}

.admin-setting-control .admin-setting-textarea {
  min-height: 86px;
  resize: vertical;
  border-radius: 8px;
  border: 1px solid var(--admin-border-strong);
  background: color-mix(in srgb, var(--admin-bg) 82%, var(--admin-surface-2));
  color: var(--admin-text);
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.45;
  outline: none;
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.admin-setting-control .admin-setting-textarea:focus {
  border-color: var(--admin-ring);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}

.admin-setting-control .admin-setting-json-textarea {
  min-height: 240px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.admin-json-toolbar {
  display: flex;
  flex: 1 1 100%;
  align-items: center;
  gap: 8px;
}

.admin-json-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.admin-json-upload {
  cursor: pointer;
}

.admin-btn.admin-btn-icon {
  width: 30px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.admin-row-editor-line .admin-btn {
  width: 32px;
  padding: 0;
}

.admin-action-grid > .admin-btn {
  width: 100%;
  height: 36px;
  align-self: end;
}

.admin-extend-control .input {
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0 12px;
  line-height: 34px;
  box-shadow: none;
}

.admin-extend-control .input:focus {
  box-shadow: none;
}

.admin-extend-control .admin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 0;
  padding: 0 12px;
  border-width: 0 0 0 1px;
  border-radius: 0;
  border-color: var(--admin-border-strong);
  background: var(--admin-surface-2);
  line-height: 1;
  white-space: nowrap;
}

.admin-extend-control .admin-btn svg {
  flex: 0 0 auto;
}

.admin-extend-control .admin-btn.admin-btn-primary {
  background: var(--accent);
  color: var(--accent-contrast);
  border-color: color-mix(in srgb, var(--accent) 70%, #000);
  font-weight: 600;
}

.admin-extend-control .admin-btn.admin-btn-primary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent) 90%, #fff);
}

.admin-input-row .input,
.admin-input-row .admin-btn {
  height: 36px;
}

.admin-actions-tab > .admin-btn {
  width: 100%;
  height: 36px;
}

.admin-message-actions .admin-btn {
  height: 36px;
}
