/*
  Stage 105.3G CLEAN v2 — Safe Button / Action Style Uniformity + Customer Search Picker Protection
  Built from confirmed Stage 105.3F.

  Scope:
  - Recognised action controls inside page content and modal/dialog surfaces only.
  - Navigation/sidebar/dropdown/flyout/tabs are explicitly excluded by the JS marker.
  - No page shell, table row, route, popup behaviour, API, or backend logic changes.
*/

:root{
  --ui1053g-action-radius: 10px;
  --ui1053g-action-height: 32px;
  --ui1053g-action-pad-x: 13px;
  --ui1053g-action-font: 12px;
  --ui1053g-action-weight: 800;
  --ui1053g-action-shadow: 0 1px 0 rgba(15,23,42,.05), 0 8px 18px rgba(15,23,42,.06);
  --ui1053g-action-shadow-hover: 0 1px 0 rgba(15,23,42,.06), 0 10px 22px rgba(15,23,42,.10);
  --ui1053g-neutral-text: #334155;
  --ui1053g-neutral-bg: #f8fafc;
  --ui1053g-neutral-border: #cbd5e1;
  --ui1053g-blue-text: #1d4ed8;
  --ui1053g-blue-bg: #eaf2ff;
  --ui1053g-blue-border: #bfdbfe;
  --ui1053g-green-text: #15803d;
  --ui1053g-green-bg: #eafaf0;
  --ui1053g-green-border: #bbf7d0;
  --ui1053g-red-text: #dc2626;
  --ui1053g-red-bg: #fff0f0;
  --ui1053g-red-border: #fecaca;
  --ui1053g-amber-text: #b45309;
  --ui1053g-amber-bg: #fff7df;
  --ui1053g-amber-border: #fde68a;
  --ui1053g-dark-text: #0f172a;
  --ui1053g-dark-bg: #eef2f7;
  --ui1053g-dark-border: #cbd5e1;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction,
html.stage1053g-safe-button-uniformity input.ispforge-uiaction[type="button"],
html.stage1053g-safe-button-uniformity input.ispforge-uiaction[type="submit"],
html.stage1053g-safe-button-uniformity input.ispforge-uiaction[type="reset"]{
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box !important;
  min-height: var(--ui1053g-action-height) !important;
  height: auto !important;
  padding: 0 var(--ui1053g-action-pad-x) !important;
  border-radius: var(--ui1053g-action-radius) !important;
  border: 1px solid var(--ui1053g-neutral-border) !important;
  background: var(--ui1053g-neutral-bg) !important;
  color: var(--ui1053g-neutral-text) !important;
  -webkit-text-fill-color: currentColor !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-size: var(--ui1053g-action-font) !important;
  font-weight: var(--ui1053g-action-weight) !important;
  line-height: 1.1 !important;
  letter-spacing: .005em !important;
  text-decoration: none !important;
  text-align: center !important;
  white-space: nowrap !important;
  cursor: pointer;
  box-shadow: var(--ui1053g-action-shadow) !important;
  transform: none;
  transition: background .14s ease, border-color .14s ease, color .14s ease, transform .08s ease, box-shadow .14s ease;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction:hover:not(:disabled):not(.disabled):not([aria-disabled="true"]){
  transform: translateY(-1px);
  box-shadow: var(--ui1053g-action-shadow-hover) !important;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction:active:not(:disabled):not(.disabled):not([aria-disabled="true"]){
  transform: translateY(0);
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction:focus-visible{
  outline: 3px solid rgba(37,99,235,.24) !important;
  outline-offset: 2px !important;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction:disabled,
html.stage1053g-safe-button-uniformity .ispforge-uiaction.disabled,
html.stage1053g-safe-button-uniformity .ispforge-uiaction[aria-disabled="true"]{
  opacity: .62 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Compact row/action-column buttons stay compact. */
html.stage1053g-safe-button-uniformity .ispforge-uiaction-icon{
  width: 32px !important;
  min-width: 32px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-radius: 9px !important;
}
html.stage1053g-safe-button-uniformity .ispforge-uiaction-small{
  min-height: 30px !important;
  padding-left: 11px !important;
  padding-right: 11px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
}

/* Variant language — deliberately conservative and readable. */
html.stage1053g-safe-button-uniformity .ispforge-uiaction-primary,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-view,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-save,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-send,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-sync,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-apply,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-request,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-open{
  color: var(--ui1053g-blue-text) !important;
  background: var(--ui1053g-blue-bg) !important;
  border-color: var(--ui1053g-blue-border) !important;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction-add,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-create,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-success{
  color: var(--ui1053g-green-text) !important;
  background: var(--ui1053g-green-bg) !important;
  border-color: var(--ui1053g-green-border) !important;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction-delete,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-danger,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-remove,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-suspend{
  color: var(--ui1053g-red-text) !important;
  background: var(--ui1053g-red-bg) !important;
  border-color: var(--ui1053g-red-border) !important;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction-verify,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-generate,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-warning{
  color: var(--ui1053g-amber-text) !important;
  background: var(--ui1053g-amber-bg) !important;
  border-color: var(--ui1053g-amber-border) !important;
}

html.stage1053g-safe-button-uniformity .ispforge-uiaction-edit,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-refresh,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-copy,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-cancel,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-close,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-clear,
html.stage1053g-safe-button-uniformity .ispforge-uiaction-secondary{
  color: var(--ui1053g-dark-text) !important;
  background: var(--ui1053g-dark-bg) !important;
  border-color: var(--ui1053g-dark-border) !important;
}

/* Preserve critical protected areas: menu/sidebar/tab controls must not inherit action-button sizing. */
html.stage1053g-safe-button-uniformity :where(#top-menu,.top-menu,#sidebar,.sidebar,.side-nav,.stage831-dropdown,.stage831-sub-link,.submenu-bar,.stage1052c-tab-nav,.stage1052c-tab-list,.stage1052c-tabs,.customer-profile-tabs) .ispforge-uiaction{
  min-height: unset !important;
  height: unset !important;
  padding: unset !important;
  border-radius: unset !important;
  box-shadow: unset !important;
}

/* Action rows and modal footers wrap neatly without forcing page layout. */
html.stage1053g-safe-button-uniformity :where(.modal-footer,.popup-footer,.dialog-footer,.stage822-modal-footer,.page-actions,.toolbar-actions,.table-actions,.actions){
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 760px){
  html.stage1053g-safe-button-uniformity .ispforge-uiaction:not(.ispforge-uiaction-icon){
    min-height: 31px !important;
    padding-left: 11px !important;
    padding-right: 11px !important;
    font-size: 12px !important;
  }
}


/* Stage 105.3G CLEAN v2: customer search picker protection.
   The live customer switch/search picker is a selection list, not an action-button area.
   These rules override action-button nowrap/flex behaviour if a dynamic result is ever
   accidentally classified by an action-button scanner. */
html.stage1053g-safe-button-uniformity .stage833-search-wrap,
html.stage1053g-safe-button-uniformity .stage833-search-wrap *{
  box-sizing: border-box;
}
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-results{
  z-index: 2147482500 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: 330px !important;
  background: #ffffff !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 18px 38px rgba(15,23,42,.18) !important;
  padding: 6px !important;
}
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result,
html.stage1053g-safe-button-uniformity .stage833-search-wrap button.stage833-result,
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result.ispforge-uiaction{
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 9px 10px !important;
  margin: 0 0 3px 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-align: left !important;
  white-space: normal !important;
  line-height: 1.32 !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer !important;
}
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result:hover,
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result:focus{
  background: #eff6ff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  outline: 2px solid rgba(37,99,235,.20) !important;
  outline-offset: -2px !important;
}
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result-main,
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result-sub{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-align: left !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result-main{
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-weight: 800 !important;
  font-size: 13px !important;
}
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-result-sub{
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  font-weight: 650 !important;
  font-size: 11px !important;
  margin-top: 3px !important;
  opacity: 1 !important;
}
html.stage1053g-safe-button-uniformity .stage833-search-wrap .stage833-message{
  color:#475569 !important;
  -webkit-text-fill-color:#475569 !important;
  padding:10px 11px !important;
  text-align:left !important;
  white-space:normal !important;
}
