/* FinX Portal theme: SAP GUI 1.0 */
:root:root {
  --bg: #DCE3EA;
  --panel: #F4F7FA;
  --surface: #FFFFFF;
  --surface-2: #E5EBF1;
  --border: #A5B6C7;
  --border-strong: #7F97AE;
  --hero: linear-gradient(180deg, #EAF0F5 0%, #D3DDE7 100%);
  --mark-bg: #FFE88C;
  --text: #000000;
  --text-muted: #45566A;
  --text-subtle: #7A8A9A;
  --accent: #1F5B99;
  --accent-hover: #164476;
  --accent-soft: #CFE0F2;
  --teal: #2B7C7C;
  --teal-soft: #DDEEEE;
  --ok: #2B7C2B;
  --ok-bg: #E5F2DF;
  --warn: #A86400;
  --warn-bg: #FFF4D6;
  --err: #BB0000;
  --err-bg: #FBE4E4;
  --info: #1F5B99;
  --info-bg: #E3EDF7;
  --topbar-bg: #D9E2EB;
  --topbar-text: #1F2D3D;
  --topbar-muted: #4F6176;
  --topbar-border: #9AAEC2;
  --side-bg: #FFFFFF;
  --side-text: #000000;
  --side-hover: #EEF4FA;
  --side-active-bg: #CFE0F2;
  --side-active-text: #000000;
  --side-width: 240px;
  --log-bg: #FFFFFF;
  --log-text: #000000;
  --radius: 2px;
  --radius-lg: 3px;
  --font: Arial, Tahoma, "Helvetica Neue", Helvetica, sans-serif;
  --font-mono: "Courier New", Courier, monospace;
  --font-size: 12px;
  --fx-c-blue: #1d4ed8;
  --fx-hl-blue: #dbeafe;
  --fx-c-green: #15803d;
  --fx-hl-green: #dcfce7;
  --fx-c-red: #b91c1c;
  --fx-hl-red: #fee2e2;
  --fx-c-orange: #c2410c;
  --fx-hl-orange: #ffedd5;
  --fx-c-gold: #a16207;
  --fx-hl-gold: #fef3c7;
  --fx-c-purple: #7e22ce;
  --fx-hl-purple: #f3e8ff;
  --fx-c-cyan: #0e7490;
  --fx-hl-cyan: #cffafe;
  --fx-c-grey: #64748b;
  --fx-hl-grey: #e2e8f0;
}
:root:root[data-theme="dark"] {
  --bg: #DCE3EA;
  --panel: #F4F7FA;
  --surface: #FFFFFF;
  --surface-2: #E5EBF1;
  --border: #A5B6C7;
  --border-strong: #7F97AE;
  --hero: linear-gradient(180deg, #EAF0F5 0%, #D3DDE7 100%);
  --mark-bg: #FFE88C;
  --text: #000000;
  --text-muted: #45566A;
  --text-subtle: #7A8A9A;
  --accent: #1F5B99;
  --accent-hover: #164476;
  --accent-soft: #CFE0F2;
  --teal: #2B7C7C;
  --teal-soft: #DDEEEE;
  --ok: #2B7C2B;
  --ok-bg: #E5F2DF;
  --warn: #A86400;
  --warn-bg: #FFF4D6;
  --err: #BB0000;
  --err-bg: #FBE4E4;
  --info: #1F5B99;
  --info-bg: #E3EDF7;
  --topbar-bg: #D9E2EB;
  --topbar-text: #1F2D3D;
  --topbar-muted: #4F6176;
  --topbar-border: #9AAEC2;
  --side-bg: #FFFFFF;
  --side-text: #000000;
  --side-hover: #EEF4FA;
  --side-active-bg: #CFE0F2;
  --side-active-text: #000000;
  --side-width: 240px;
  --log-bg: #FFFFFF;
  --log-text: #000000;
  --radius: 2px;
  --radius-lg: 3px;
  --font: Arial, Tahoma, "Helvetica Neue", Helvetica, sans-serif;
  --font-mono: "Courier New", Courier, monospace;
  --font-size: 12px;
  --fx-c-blue: #1d4ed8;
  --fx-hl-blue: #dbeafe;
  --fx-c-green: #15803d;
  --fx-hl-green: #dcfce7;
  --fx-c-red: #b91c1c;
  --fx-hl-red: #fee2e2;
  --fx-c-orange: #c2410c;
  --fx-hl-orange: #ffedd5;
  --fx-c-gold: #a16207;
  --fx-hl-gold: #fef3c7;
  --fx-c-purple: #7e22ce;
  --fx-hl-purple: #f3e8ff;
  --fx-c-cyan: #0e7490;
  --fx-hl-cyan: #cffafe;
  --fx-c-grey: #64748b;
  --fx-hl-grey: #e2e8f0;
}

/* CSS of this theme */
/* SAP GUI - (classic Signature look) theme for the portal.
   Tokens do the colours; this CSS adds the SAP shapes: light system
   toolbar, dark-blue title bar, ALV-style grids, F4 value-help buttons,
   bottom status bar and left-aligned popup buttons.
   Light and dark mode look the same (classic SAP GUI is light only). */

/* ======================================================================
   Whole page
   ====================================================================== */
body,
.fx-main {
  font-family: var(--font);
  font-size: var(--font-size);
  color: var(--text);
  background: var(--bg);
}
::selection {
  background: var(--accent);
  color: #FFFFFF;
}
* {
  scrollbar-color: #B7C5D3 #EEF2F6;
}

/* ======================================================================
   Top bar = SAP system toolbar (light, gradient, thin bottom rule)
   ====================================================================== */
.fx-topbar {
  background: linear-gradient(180deg, #EEF3F7 0%, #D3DDE7 100%) !important;
  color: var(--topbar-text) !important;
  border-bottom: 1px solid var(--topbar-border) !important;
  box-shadow: inset 0 1px 0 #FFFFFF;
}
.fx-brand {
  color: var(--topbar-text) !important;
  font-family: var(--font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}
.fx-topbar a,
.fx-topbar .ant-btn-variant-link,
.fx-topbar .ant-btn-variant-text {
  color: var(--topbar-text) !important;
}

/* ======================================================================
   Side menu = SAP Easy Access tree
   ====================================================================== */
.fx-sidebar {
  background: var(--side-bg) !important;
  border-inline-end: 1px solid var(--border-strong) !important;
}
.fx-sidebar .ant-menu {
  background: transparent !important;
  border-inline-end: 0 !important;
  font-family: var(--font);
  font-size: 12px;
}
.fx-sidebar .ant-menu-item,
.fx-sidebar .ant-menu-submenu-title {
  color: var(--side-text) !important;
  height: 20px !important;
  line-height: 20px !important;
  margin: 0 !important;
  width: 100% !important;
  border-radius: 0 !important;
  transition: none !important;
}
.fx-sidebar .ant-menu-submenu-title {
  font-weight: 700;
}
.fx-sidebar .ant-menu-item:hover,
.fx-sidebar .ant-menu-submenu-title:hover {
  background: var(--side-hover) !important;
  color: var(--side-text) !important;
}
.fx-sidebar .ant-menu-item-selected,
.fx-sidebar .ant-menu-item-selected:hover {
  background: var(--side-active-bg) !important;
  color: var(--side-active-text) !important;
  outline: 1px dotted var(--border-strong);
  outline-offset: -1px;
}
.fx-sidebar .ant-menu-item-selected::after {
  display: none !important;
}

/* ======================================================================
   Page title = SAP title bar (dark blue band, white text)
   ====================================================================== */
.fx-page-header {
  background: linear-gradient(180deg, #3D6591 0%, #24466D 100%);
  border: 1px solid #1B3858;
  border-radius: 0;
  padding: 4px 10px;
  margin-bottom: 8px;
  min-height: 36px;
}
.fx-page-header .fx-page-title {
  background: none !important;
  border: 0 !important;
  color: #FFFFFF !important;
  font-family: var(--font);
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  padding: 0 !important;
  margin: 0 !important;
}
/* Header buttons sit on the blue bar, at its right end. */
.fx-page-header .fx-page-actions .ant-btn { height: 26px; }

/* ======================================================================
   Framed blocks and cards = SAP group boxes
   ====================================================================== */
.fx-frame,
.fx-card,
.ant-card {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
}
.ant-card .ant-card-head {
  background: linear-gradient(180deg, #F2F5F8 0%, #DDE5EC 100%) !important;
  color: var(--text) !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 0 !important;
  min-height: 24px;
  padding: 0 8px;
}
.ant-card .ant-card-head-title {
  font-size: 12px;
  font-weight: 700;
  padding: 4px 0;
}
.ant-card .ant-card-body {
  padding: 8px 10px;
}

/* ======================================================================
   Tables = ALV grid
   ====================================================================== */
/* ALV toolbar sitting on top of the grid */
.fx-toolbar {
  background: linear-gradient(180deg, #F2F5F8 0%, #DDE5EC 100%);
  border: 1px solid var(--border);
  border-bottom: 0;
  padding: 3px 4px;
  margin-bottom: 0 !important;
  gap: 4px !important;
}
.ant-table-wrapper .ant-table {
  background: var(--surface) !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: 12px !important;
  border: 1px solid var(--border-strong);
  border-radius: 0 !important;
}
.ant-table-wrapper .ant-table-container,
.ant-table-wrapper .ant-table-content,
.ant-table-wrapper table,
.ant-table-wrapper .ant-table-thead > tr > th {
  border-radius: 0 !important;
}
.ant-table-thead > tr > th {
  background: linear-gradient(180deg, #EEF3F7 0%, #D2DCE6 100%) !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  white-space: nowrap;
  padding: 3px 6px !important;
  border-bottom: 1px solid var(--border-strong) !important;
  border-right: 1px solid var(--border) !important;
  transition: none !important;
}
.ant-table-thead > tr > th::before {
  display: none !important;
}
.ant-table-thead > tr > th.ant-table-column-has-sorters:hover {
  background: linear-gradient(180deg, #F7FAFC 0%, #DEE7EF 100%) !important;
}
.ant-table-thead > tr > th.ant-table-column-sort {
  background: linear-gradient(180deg, #E3EDF7 0%, #C5D6E8 100%) !important;
}
.ant-table-column-sorter,
.ant-table-filter-trigger {
  color: var(--text-muted) !important;
}
.ant-table-column-sorter-up.active,
.ant-table-column-sorter-down.active,
.ant-table-filter-trigger.active {
  color: var(--accent) !important;
}
.ant-table-tbody > tr > td {
  background: var(--surface) !important;
  color: var(--text);
  padding: 2px 6px !important;
  border-bottom: 1px solid #D3DCE5 !important;
  border-right: 1px solid #D3DCE5;
  transition: none !important;
}
/* ALV zebra striping */
.ant-table-tbody > tr:nth-child(even) > td {
  background: #F0F4F8 !important;
}
.ant-table-tbody > tr:hover > td,
.ant-table-tbody > tr > td.ant-table-cell-row-hover {
  background: #E6EFF8 !important;
}
.ant-table-tbody > tr.ant-table-row-selected > td,
.ant-table-tbody > tr.ant-table-row-selected:hover > td {
  background: var(--accent-soft) !important;
}
.ant-table-tbody > tr.ant-table-placeholder > td {
  color: var(--text-subtle);
  background: var(--surface) !important;
}
.ant-table-tbody a {
  color: var(--accent);
  text-decoration: none;
}
.ant-table-tbody a:hover {
  text-decoration: underline;
}

/* ======================================================================
   Details = label + grey display-only field
   ====================================================================== */
.fx-kv th,
.fx-kv-label {
  background: transparent !important;
  color: var(--text) !important;
  font-weight: 400 !important;
}
.fx-kv td {
  background: #E8EDF2;
  border: 1px solid #B5C3D1;
}

/* ======================================================================
   Forms
   ====================================================================== */
.fx-form .ant-form-item-label > label {
  color: var(--text) !important;
  font-family: var(--font);
  font-size: 12px !important;
  font-weight: 400;
}
/* SAP labels have no colon */
.ant-form-item-label > label::after {
  content: "" !important;
  margin-inline-end: 8px !important;
}
/* required: the SAP "mandatory" check box instead of a red star */
.ant-form-item-label > label.ant-form-item-required::before {
  content: "\2713" !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 11px;
  height: 11px;
  margin-inline-end: 4px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-family: Arial, sans-serif !important;
  color: var(--accent) !important;
  background: #FFFFFF;
  border: 1px solid var(--border-strong);
}
.ant-form-item {
  margin-bottom: 8px;
}
.ant-form-item-explain-error {
  color: var(--err) !important;
}
.fx-form-heading {
  color: var(--text) !important;
  font-weight: 700;
  border-bottom: 1px solid var(--border) !important;
}

/* input fields: white, thin blue-grey frame */
.ant-input,
.ant-input-affix-wrapper,
.ant-input-number,
.ant-picker,
.ant-select .ant-select-selector {
  background: var(--surface) !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: 12px !important;
  min-height: 22px;
  border: 1px solid #8FA4B8 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
.ant-input:hover,
.ant-input-affix-wrapper:hover,
.ant-input-number:hover,
.ant-picker:hover,
.ant-select:hover .ant-select-selector {
  border-color: var(--accent) !important;
}
/* field with the cursor: blue frame, faint yellow fill */
.ant-input:focus,
.ant-input-affix-wrapper-focused,
.ant-input-number-focused,
.ant-picker-focused,
.ant-select-focused .ant-select-selector {
  border-color: var(--accent) !important;
  background: #FFFEF0 !important;
  outline: none !important;
}
.ant-input-affix-wrapper .ant-input,
.ant-input-number .ant-input-number-input,
.ant-picker input {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  font-family: var(--font) !important;
  font-size: 12px !important;
  color: var(--text) !important;
}
.ant-input::placeholder,
.ant-picker input::placeholder,
.ant-select-selection-placeholder {
  color: var(--text-subtle) !important;
}
.ant-input-group-addon {
  background: var(--surface-2) !important;
  border: 1px solid #8FA4B8 !important;
  border-radius: 0 !important;
  color: var(--text) !important;
}
/* display-only (disabled) fields: SAP grey */
.ant-input[disabled],
.ant-input-disabled,
.ant-input-affix-wrapper-disabled,
.ant-input-number-disabled,
.ant-picker-disabled,
.ant-select-disabled .ant-select-selector {
  background: #E8EDF2 !important;
  border-color: #B5C3D1 !important;
  color: var(--text) !important;
  cursor: default !important;
}
.ant-form-item-has-error .ant-input,
.ant-form-item-has-error .ant-select-selector,
.ant-form-item-has-error .ant-input-number,
.ant-form-item-has-error .ant-picker {
  border-color: var(--err) !important;
  background: #FFF5F5 !important;
}

/* drop-down list box: small gradient button on the right */
.ant-select .ant-select-selector {
  padding-inline-end: 22px !important;
}
.ant-select .ant-select-arrow {
  inset-block: 1px !important;
  inset-inline-end: 1px !important;
  top: 1px;
  margin-top: 0 !important;
  width: 17px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #F7F9FB 0%, #D5DFE8 100%);
  color: var(--text) !important;
  border-inline-start: 1px solid #8FA4B8;
}
.ant-select-clear {
  inset-inline-end: 22px !important;
  background: var(--surface) !important;
}
.ant-select-multiple .ant-select-selection-item {
  background: var(--surface-2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 2px !important;
}

/* date / time field: the F4 value-help button on the right */
.ant-picker {
  padding: 0 0 0 4px !important;
}
.ant-picker .ant-picker-input {
  align-self: stretch;
}
.ant-picker .ant-picker-suffix {
  align-self: stretch;
  width: 18px;
  margin-inline-start: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #F7F9FB 0%, #D5DFE8 100%);
  color: var(--accent) !important;
  border-inline-start: 1px solid #8FA4B8;
}
.ant-picker .ant-picker-clear {
  inset-inline-end: 22px !important;
  background: var(--surface) !important;
}
.ant-picker-range .ant-picker-active-bar {
  background: var(--accent) !important;
}

/* number spin buttons */
.ant-input-number .ant-input-number-handler-wrap {
  background: linear-gradient(180deg, #F7F9FB 0%, #D5DFE8 100%) !important;
  border-inline-start: 1px solid #8FA4B8;
  border-radius: 0 !important;
}
.ant-input-number .ant-input-number-handler {
  border-color: #8FA4B8 !important;
  color: var(--text) !important;
}

/* check boxes, radios, switches */
.ant-checkbox-inner {
  border-radius: 0 !important;
  border-color: var(--border-strong) !important;
  background: #FFFFFF !important;
}
.ant-checkbox-checked .ant-checkbox-inner::after {
  border-color: var(--accent) !important;
}
.ant-checkbox-checked::after {
  display: none !important;
}
.ant-radio-inner {
  border-color: var(--border-strong) !important;
  background: #FFFFFF !important;
}
.ant-radio-checked .ant-radio-inner::after {
  background: var(--accent) !important;
}
.ant-checkbox-wrapper,
.ant-radio-wrapper {
  color: var(--text) !important;
  font-size: 12px;
}
.ant-switch {
  background: #B5C3D1 !important;
}
.ant-switch.ant-switch-checked {
  background: var(--accent) !important;
}

/* editors: white edit area, ABAP-editor-style gutters */
.ql-toolbar,
.ql-toolbar.ql-snow {
  background: linear-gradient(180deg, #F2F5F8 0%, #DDE5EC 100%) !important;
  border: 1px solid var(--border) !important;
  border-bottom: 0 !important;
}
.ql-container,
.ql-container.ql-snow,
.ProseMirror,
.cm-editor {
  background: #FFFFFF !important;
  color: var(--text) !important;
  border: 1px solid #8FA4B8 !important;
  border-radius: 0 !important;
  outline: none !important;
}
.cm-editor .cm-gutters {
  background: #EEF2F6 !important;
  color: var(--text-muted) !important;
  border-inline-end: 1px solid var(--border) !important;
}

/* ======================================================================
   Push buttons
   ====================================================================== */
.ant-btn:not(.ant-btn-variant-link):not(.ant-btn-variant-text) {
  background: linear-gradient(180deg, #FBFCFD 0%, #DCE4EB 100%) !important;
  color: var(--text) !important;
  font-family: var(--font) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  height: auto;
  min-height: 22px;
  padding: 0 10px;
  border: 1px solid #8DA1B5 !important;
  border-radius: 3px !important;
  box-shadow: inset 0 1px 0 #FFFFFF !important;
  transition: none !important;
}
.ant-btn:not(.ant-btn-variant-link):not(.ant-btn-variant-text):not(:disabled):hover {
  background: linear-gradient(180deg, #FFFFFF 0%, #E6EEF5 100%) !important;
  border-color: var(--accent) !important;
}
.ant-btn:not(.ant-btn-variant-link):not(.ant-btn-variant-text):not(:disabled):active {
  background: linear-gradient(180deg, #CFDAE5 0%, #EEF3F7 100%) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}
.ant-btn-sm:not(.ant-btn-variant-link):not(.ant-btn-variant-text) {
  min-height: 20px;
  padding: 0 6px;
}
.ant-btn-icon-only:not(.ant-btn-variant-link):not(.ant-btn-variant-text) {
  padding: 0 3px;
  min-width: 22px;
}
.ant-btn .anticon {
  color: var(--accent);
}
/* primary = the emphasised button (Continue / Save / Execute) */
.ant-btn-primary:not(.ant-btn-variant-link):not(.ant-btn-variant-text) {
  background: linear-gradient(180deg, #EAF2FA 0%, #C5D8EB 100%) !important;
  border-color: var(--accent) !important;
  font-weight: 700 !important;
}
.ant-btn-dangerous:not(.ant-btn-variant-link):not(.ant-btn-variant-text) {
  color: var(--err) !important;
}
.ant-btn-dangerous .anticon {
  color: var(--err) !important;
}
.ant-btn:disabled,
.ant-btn.ant-btn-disabled {
  color: var(--text-subtle) !important;
  opacity: 0.8;
}
.ant-btn:disabled .anticon {
  color: var(--text-subtle) !important;
}
.ant-btn-variant-link,
.ant-btn-variant-text {
  color: var(--accent) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: none !important;
}
.ant-btn-variant-link:hover,
.ant-btn-variant-text:hover {
  text-decoration: underline;
  background: transparent !important;
}

/* ======================================================================
   Badges and tags
   ====================================================================== */
.fx-badge,
.ant-tag {
  border-radius: 2px !important;
  font-family: var(--font);
  font-size: 11px;
  box-shadow: none !important;
}

/* ======================================================================
   Dialogs = SAP popups: dark-blue title, buttons bottom-left
   ====================================================================== */
.ant-modal-mask {
  background: rgba(30, 50, 75, 0.18) !important;
}
.ant-modal-content {
  background: var(--panel) !important;
  border: 1px solid #1B3858 !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3) !important;
  padding: 0 !important;
  font-family: var(--font);
  font-size: 12px;
}
.ant-modal-header {
  background: linear-gradient(180deg, #3D6591 0%, #24466D 100%) !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 5px 34px 5px 10px !important;
}
.ant-modal-title {
  color: #FFFFFF !important;
  font-family: var(--font);
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}
.ant-modal-close {
  top: 4px !important;
  inset-inline-end: 6px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 2px !important;
  color: #FFFFFF !important;
}
.ant-modal-close:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}
.ant-modal-close .ant-modal-close-x {
  color: #FFFFFF !important;
  font-size: 12px;
}
.ant-modal-body {
  padding: 10px 12px !important;
}
.ant-modal-footer {
  text-align: start !important;
  background: linear-gradient(180deg, #F2F5F8 0%, #DDE5EC 100%);
  border-top: 1px solid var(--border);
  padding: 5px 8px !important;
  margin-top: 0 !important;
}
.ant-modal-footer > .ant-btn + .ant-btn {
  margin-inline-start: 4px !important;
}

/* ======================================================================
   Drawers
   ====================================================================== */
.ant-drawer-content {
  background: var(--panel) !important;
  font-family: var(--font);
  font-size: 12px;
}
.ant-drawer-header {
  background: linear-gradient(180deg, #3D6591 0%, #24466D 100%) !important;
  border-bottom: 1px solid #1B3858 !important;
  padding: 6px 10px !important;
}
.ant-drawer-title,
.ant-drawer-close {
  color: #FFFFFF !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
.ant-drawer-body {
  padding: 10px 12px !important;
}
.ant-drawer-footer {
  background: linear-gradient(180deg, #F2F5F8 0%, #DDE5EC 100%);
  border-top: 1px solid var(--border) !important;
}

/* ======================================================================
   Drop-down lists, menus, F4 calendars (open on the page body)
   ====================================================================== */
.ant-select-dropdown,
.ant-cascader-dropdown,
.ant-dropdown .ant-dropdown-menu,
.fx-action-menu {
  background: #FFFFFF !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25) !important;
  padding: 0 !important;
  font-family: var(--font) !important;
  font-size: 12px !important;
}
.ant-select-item,
.ant-dropdown-menu-item,
.ant-dropdown-menu-submenu-title {
  min-height: 18px;
  padding: 1px 6px !important;
  border-radius: 0 !important;
  color: var(--text) !important;
  font-size: 12px !important;
  line-height: 16px !important;
  transition: none !important;
}
.ant-select-item-option-active,
.ant-dropdown-menu-item:hover,
.ant-dropdown-menu-item-active,
.ant-dropdown-menu-submenu-title:hover {
  background: var(--accent) !important;
  color: #FFFFFF !important;
}
.ant-select-item-option-selected:not(.ant-select-item-option-active) {
  background: var(--accent-soft) !important;
  font-weight: 400 !important;
}
.ant-select-item-option-active .ant-select-item-option-state {
  color: #FFFFFF !important;
}
.ant-select-item-group {
  color: var(--text-muted) !important;
  font-weight: 700;
}
.ant-select-tree-node-content-wrapper,
.ant-cascader-menu-item {
  border-radius: 0 !important;
  color: var(--text) !important;
}
.ant-select-tree-node-content-wrapper:hover,
.ant-cascader-menu-item:hover,
.ant-cascader-menu-item-active {
  background: var(--accent) !important;
  color: #FFFFFF !important;
}
.ant-select-tree-node-selected {
  background: var(--accent-soft) !important;
}
.fx-action-menu .ant-btn {
  box-shadow: none !important;
  border-color: transparent !important;
  background: transparent !important;
  justify-content: flex-start;
}
.fx-action-menu .ant-btn:hover {
  background: var(--accent) !important;
  color: #FFFFFF !important;
}

/* F4 calendar */
.ant-picker-dropdown .ant-picker-panel-container {
  background: #FFFFFF !important;
  border: 1px solid #1B3858 !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3) !important;
  font-family: var(--font);
  font-size: 12px;
}
.ant-picker-dropdown .ant-picker-panel {
  border: 0 !important;
  border-radius: 0 !important;
}
.ant-picker-dropdown .ant-picker-header {
  background: linear-gradient(180deg, #3D6591 0%, #24466D 100%) !important;
  color: #FFFFFF !important;
  border-bottom: 1px solid #1B3858 !important;
}
.ant-picker-dropdown .ant-picker-header button {
  color: #FFFFFF !important;
  transition: none !important;
}
.ant-picker-dropdown .ant-picker-content th {
  background: #E5EBF1;
  color: var(--text) !important;
  font-weight: 700;
}
.ant-picker-dropdown .ant-picker-cell .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-time-panel-cell-inner {
  border-radius: 0 !important;
  transition: none !important;
}
.ant-picker-dropdown .ant-picker-cell-in-view {
  color: var(--text) !important;
}
.ant-picker-dropdown .ant-picker-cell:hover .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-time-panel-cell-inner:hover {
  background: #E6EFF8 !important;
}
.ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-cell-range-start .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-cell-range-end .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
  background: var(--accent) !important;
  color: #FFFFFF !important;
}
.ant-picker-dropdown .ant-picker-cell-in-range::before {
  background: var(--accent-soft) !important;
}
.ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner::before {
  border: 1px solid #E07000 !important;
  border-radius: 0 !important;
}
.ant-picker-dropdown .ant-picker-time-panel-column {
  border-inline-start: 1px solid var(--border) !important;
}
.ant-picker-dropdown .ant-picker-footer {
  background: linear-gradient(180deg, #F2F5F8 0%, #DDE5EC 100%) !important;
  border-top: 1px solid var(--border) !important;
}
.ant-picker-dropdown .ant-picker-now-btn,
.ant-picker-dropdown .ant-picker-today-btn {
  color: var(--accent) !important;
}

/* ======================================================================
   Tabs = SAP tab strips
   ====================================================================== */
.ant-tabs-nav::before {
  border-bottom: 1px solid var(--border-strong) !important;
}
.ant-tabs-tab {
  background: linear-gradient(180deg, #F2F5F8 0%, #D5DFE8 100%) !important;
  border: 1px solid var(--border-strong) !important;
  border-bottom: 0 !important;
  border-radius: 3px 3px 0 0 !important;
  padding: 3px 12px !important;
  margin: 0 2px 0 0 !important;
  font-size: 12px;
}
.ant-tabs-tab.ant-tabs-tab-active {
  background: var(--panel) !important;
  margin-bottom: -1px !important;
  padding-bottom: 4px !important;
}
.ant-tabs-tab .ant-tabs-tab-btn,
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--text) !important;
}
.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  font-weight: 700;
}
.ant-tabs-ink-bar {
  display: none !important;
}

/* ======================================================================
   Pagination
   ====================================================================== */
.ant-pagination-item,
.ant-pagination-prev .ant-pagination-item-link,
.ant-pagination-next .ant-pagination-item-link {
  background: linear-gradient(180deg, #FBFCFD 0%, #DCE4EB 100%) !important;
  border: 1px solid #8DA1B5 !important;
  border-radius: 3px !important;
  font-size: 12px;
  min-width: 22px;
  height: 22px;
  line-height: 20px;
}
.ant-pagination-item a {
  color: var(--text) !important;
}
.ant-pagination-item-active {
  background: var(--accent-soft) !important;
  border-color: var(--accent) !important;
  font-weight: 700;
}

/* ======================================================================
   Messages = SAP status bar along the bottom of the screen
   ====================================================================== */
.ant-message {
  top: auto !important;
  bottom: 0 !important;
  inset-inline: 0 !important;
  width: 100% !important;
}
.ant-message .ant-message-notice-wrapper {
  text-align: start !important;
}
.ant-message .ant-message-notice {
  padding: 0 !important;
}
.ant-message .ant-message-notice-content {
  display: block !important;
  width: 100%;
  background: linear-gradient(180deg, #EEF3F7 0%, #D3DDE7 100%) !important;
  color: var(--text) !important;
  border-top: 1px solid var(--border-strong);
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 3px 10px !important;
  font-family: var(--font);
  font-size: 12px;
}
.ant-notification .ant-notification-notice {
  background: var(--panel) !important;
  border: 1px solid #1B3858 !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3) !important;
  font-family: var(--font);
  font-size: 12px;
}

/* ======================================================================
   Alerts, tooltips (quick info), search match
   ====================================================================== */
.ant-alert {
  border-radius: 0 !important;
  font-size: 12px;
  padding: 4px 8px !important;
}
.ant-tooltip .ant-tooltip-inner {
  background: #FFFFE1 !important;
  color: #000000 !important;
  border: 1px solid #000000;
  border-radius: 0 !important;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3) !important;
  font-family: var(--font);
  font-size: 11px;
  min-height: 0;
  padding: 2px 5px;
}
.ant-tooltip .ant-tooltip-arrow {
  display: none !important;
}
mark {
  background: var(--mark-bg);
  color: var(--text);
}
