/* ==========================================================================
   ADMIN WORKSPACE — Super Admin interface (scoped to body.admin-ws; never loaded for supplier/buyer).
   Compact operations workspace: 248px rail, 52px top bar, flat panels, dense tables, drawer details.
   Colours come from the existing --tl-* tokens, so Light (#FFFFFF paper) and Dark follow the theme switch.
   Logical properties only, so Arabic RTL mirrors without hard-coded left/right.
   ========================================================================== */
body.admin-ws {
  --ws-side: 248px;
  --ws-top: 52px;
  --ws-line: color-mix(in srgb, var(--tl-ink) 12%, var(--tl-paper));
  --ws-line-2: color-mix(in srgb, var(--tl-ink) 7%, var(--tl-paper));
  --ws-soft: color-mix(in srgb, var(--tl-ink) 4%, var(--tl-paper));
  --ws-hover: color-mix(in srgb, var(--tl-ink) 6%, var(--tl-paper));
  --ws-radius: 10px;
  --ws-sans: "IBM Plex Sans", "IBM Plex Sans Arabic", ui-sans-serif, system-ui, sans-serif;
  --tblr-border-color: var(--ws-line);
  --tblr-card-border-color: var(--ws-line);
  background: var(--tl-paper);
  color: var(--tl-ink);
  font-family: var(--ws-sans);
  font-size: 13.5px;
  line-height: 1.5;
}
html[dir="rtl"] body.admin-ws { font-family: "IBM Plex Sans Arabic", "IBM Plex Sans", Tahoma, sans-serif; }
body.admin-ws .ws-flip { display: inline-block; }
html[dir="rtl"] body.admin-ws .ws-flip { transform: scaleX(-1); }
body.admin-ws .ws-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
body.admin-ws .ws-wrap { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
body.admin-ws .ws-hint { color: var(--tl-muted); font-size: 12px; }

/* ---------- frame: fixed rail + sticky bar + natural document scroll ---------- */
body.admin-ws > .page { display: block; min-height: 100vh; padding-inline-start: var(--ws-side); }
body.admin-ws .page-wrapper { margin-left: 0 !important; margin-right: 0 !important; margin-inline-start: 0 !important; min-height: 0; padding: 0; }
body.admin-ws .page-wrapper > .page { min-height: 0; display: block; padding: 0; }
body.admin-ws .page-body { margin: 0; padding: .25rem 0 1.5rem; }
body.admin-ws .page-header > .container-fluid,
body.admin-ws .page-body > .container-fluid,
body.admin-ws .page-body > .container-xl,
body.admin-ws .page-header > .container-xl { max-width: 1600px; margin-inline: auto; padding-inline: 1.5rem; }
body.admin-ws #loading { background: color-mix(in srgb, var(--tl-paper) 70%, transparent); }

/* ---------- rail ---------- */
body.admin-ws .ws-sidebar {
  position: fixed; inset-block: 0; left: auto; right: auto; inset-inline-start: 0; z-index: 1040;
  width: var(--ws-side); height: 100dvh; max-height: none; padding: 0; margin: 0;
  background: var(--tl-panel) !important; border: 0; border-inline-end: 1px solid var(--ws-line);
  box-shadow: none; display: block; overflow: hidden !important; transform: none;
}
body.admin-ws .ws-sidebar__inner { display: flex; flex-direction: column; height: 100%; width: 100%; }
body.admin-ws .ws-sidebar__brand { flex: 0 0 var(--ws-top); height: var(--ws-top); display: flex; align-items: center; justify-content: space-between; padding-inline: .9rem; border-bottom: 1px solid var(--ws-line-2); }
body.admin-ws .ws-sidebar__brand a { text-decoration: none; min-width: 0; }
body.admin-ws .ws-sidebar .portal-brand { gap: .55rem; }
body.admin-ws .ws-sidebar .portal-brand__mono { width: 28px; height: 28px; border-radius: 7px; font-size: 13px; }
body.admin-ws .ws-sidebar .portal-brand__name { font-family: var(--ws-sans); font-size: 14.5px; font-weight: 650; letter-spacing: 0; }
body.admin-ws .ws-sidebar .portal-brand__area { font-size: 10.5px; letter-spacing: .02em; text-transform: none; color: var(--tl-muted-2); }
body.admin-ws .ws-sidebar .ws-sidebar__close { display: none; }
body.admin-ws .ws-sidebar .navbar-toggler { display: none; }
body.admin-ws .ws-sidebar .sidebar-search { flex: 0 0 auto; padding: .65rem .75rem .35rem; min-height: 0; margin: 0; }
body.admin-ws .ws-sidebar .sidebar-search .form-control { height: 32px; font-size: 12.5px; border-radius: 8px; background: var(--ws-soft); border-color: transparent; }
body.admin-ws .ws-sidebar .sidebar-search .form-control:focus { background: var(--tl-panel); border-color: var(--tl-brand); }
body.admin-ws .ws-sidebar #sidebar-menu { flex: 1 1 auto; min-height: 0; display: block !important; height: auto !important; overflow-y: auto; overflow-x: hidden; padding: .25rem .5rem 1rem; scrollbar-width: thin; scrollbar-color: var(--ws-line) transparent; }
body.admin-ws .ws-sidebar .navbar-nav { padding: 0; margin: 0; gap: 1px; flex-direction: column; }
body.admin-ws .ws-sidebar .nav-section {
  list-style: none; margin: .9rem .5rem .25rem; padding: 0; border: 0;
  font-family: var(--ws-sans); font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--tl-muted-2);
}
html[dir="rtl"] body.admin-ws .ws-sidebar .nav-section { letter-spacing: 0; font-size: 11.5px; }
body.admin-ws .ws-sidebar .nav-section:first-child { margin-top: .35rem; }
body.admin-ws .ws-sidebar .nav-link, body.admin-ws .ws-sidebar .dropdown-item {
  display: flex; align-items: center; gap: .6rem; min-height: 34px; padding: .3rem .6rem; border-radius: 7px;
  font-size: 13px; font-weight: 500; color: var(--tl-muted) !important; box-shadow: none !important; white-space: normal; line-height: 1.3;
}
body.admin-ws .ws-sidebar .nav-link-icon { width: 18px; height: 18px; margin: 0 !important; display: grid; place-items: center; color: var(--tl-muted-2); }
body.admin-ws .ws-sidebar .nav-link-icon .ti { font-size: 17px; }
body.admin-ws .ws-sidebar .nav-link-title { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
body.admin-ws .ws-sidebar .nav-link:hover, body.admin-ws .ws-sidebar .dropdown-item:hover { background: var(--ws-hover) !important; color: var(--tl-ink) !important; }
body.admin-ws .ws-sidebar .nav-link:hover .nav-link-icon { color: var(--tl-ink); }
body.admin-ws .ws-sidebar .nav-link.active, body.admin-ws .ws-sidebar .nav-item.active > .nav-link { background: var(--tl-brand-soft) !important; color: var(--tl-brand) !important; }
body.admin-ws .ws-sidebar .nav-link.active .nav-link-icon, body.admin-ws .ws-sidebar .nav-item.active > .nav-link .nav-link-icon { color: var(--tl-brand); }
body.admin-ws .ws-sidebar .dropdown-toggle { background: transparent !important; }
body.admin-ws .ws-sidebar .dropdown-toggle::after {
  content: ""; position: static !important; flex: 0 0 auto; margin: 0; width: 6px; height: 6px; border: 0;
  border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor; transform: rotate(45deg) translate(-1px, -1px); opacity: .55; transition: transform .15s;
}
body.admin-ws .ws-sidebar .dropdown-toggle[aria-expanded="true"]::after, body.admin-ws .ws-sidebar .dropdown-toggle.show::after { transform: rotate(225deg) translate(-1px, -1px); }
body.admin-ws .ws-sidebar .dropdown-toggle[aria-expanded="true"] { color: var(--tl-ink) !important; }
body.admin-ws .ws-sidebar .dropdown-menu { position: static !important; transform: none !important; float: none; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 1px 0 4px; margin: 0; min-width: 0; inset: auto !important; }
body.admin-ws .ws-sidebar .dropdown-menu .dropdown-item { margin-inline-start: 1.35rem; padding-inline-start: .85rem !important; border-radius: 0 7px 7px 0; border-inline-start: 1px solid var(--ws-line); font-size: 12.5px; min-height: 30px; }
html[dir="rtl"] body.admin-ws .ws-sidebar .dropdown-menu .dropdown-item { border-radius: 7px 0 0 7px; }
body.admin-ws .ws-sidebar .dropdown-menu .dropdown-item.active-submenu { background: transparent !important; color: var(--tl-brand) !important; font-weight: 650; border-inline-start: 2px solid var(--tl-brand); margin-inline-start: calc(1.35rem - 1px); padding-inline-start: calc(.85rem - 1px) !important; }
body.admin-ws .ws-sidebar .badge { font-size: 10.5px; padding: .15em .5em; }
body.admin-ws .ws-backdrop { position: fixed; inset: 0; z-index: 1035; background: rgba(10, 16, 12, .45); }
body.admin-ws .ws-backdrop[hidden] { display: none; }

/* ---------- top bar ---------- */
body.admin-ws .ws-topbar {
  position: sticky; top: 0; z-index: 1030; height: var(--ws-top); display: flex; align-items: center; gap: .6rem;
  padding-inline: 1.5rem; background: var(--tl-paper); border-bottom: 1px solid var(--ws-line); box-shadow: none;
}
body.admin-ws .ws-topbar .ws-topbar__menu { display: none; }
/* desktop rail collapse arrow */
body.admin-ws .ws-topbar .ws-topbar__collapse { margin-inline-start: -.5rem; }
body.admin-ws .ws-topbar__collapse .ti { transition: transform .3s ease; }
html[dir="rtl"] body.admin-ws .ws-topbar__collapse .ti { transform: scaleX(-1); }
@media (min-width: 992px) {
  body.admin-ws.ws-ready > .page { transition: padding-inline-start .3s cubic-bezier(.4, 0, .2, 1); }
  body.admin-ws.ws-ready .ws-sidebar { transition: transform .3s cubic-bezier(.4, 0, .2, 1), visibility 0s linear 0s; }
  body.admin-ws.ws-collapsed > .page { padding-inline-start: 0; }
  body.admin-ws.ws-collapsed .ws-sidebar { transform: translateX(-102%); visibility: hidden; }
  html[dir="rtl"] body.admin-ws.ws-collapsed .ws-sidebar { transform: translateX(102%); }
  body.admin-ws.ws-ready.ws-collapsed .ws-sidebar { transition: transform .3s cubic-bezier(.4, 0, .2, 1), visibility 0s linear .3s; }
  body.admin-ws.ws-collapsed .ws-topbar__collapse .ti { transform: rotate(180deg); }
  html[dir="rtl"] body.admin-ws.ws-collapsed .ws-topbar__collapse .ti { transform: scaleX(-1) rotate(180deg); }
}
@media (max-width: 991.98px) { body.admin-ws .ws-topbar .ws-topbar__collapse { display: none; } }
body.admin-ws .ws-topbar__spacer { flex: 1 1 auto; }
body.admin-ws .ws-iconbtn {
  -webkit-appearance: none; appearance: none; display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0; margin: 0;
  border: 0; border-radius: 8px; background: transparent; color: var(--tl-muted); cursor: pointer; position: relative; text-decoration: none;
}
body.admin-ws .ws-iconbtn:hover, body.admin-ws .ws-iconbtn[aria-expanded="true"] { background: var(--ws-hover); color: var(--tl-ink); }
body.admin-ws .ws-iconbtn .ti { font-size: 19px; }
body.admin-ws .ws-crumb { display: flex; align-items: center; gap: .45rem; min-width: 0; font-size: 13px; color: var(--tl-muted); }
body.admin-ws .ws-crumb__root { display: inline-flex; align-items: center; gap: .35rem; color: var(--tl-muted); text-decoration: none; white-space: nowrap; }
body.admin-ws .ws-crumb__root:hover { color: var(--tl-ink); }
body.admin-ws .ws-crumb__sep { font-size: 13px; opacity: .6; }
body.admin-ws .ws-crumb__page { color: var(--tl-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.admin-ws .ws-searchbtn {
  -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; gap: .5rem; height: 34px; min-width: 190px; padding-inline: .65rem;
  border: 1px solid var(--ws-line); border-radius: 8px; background: var(--ws-soft); color: var(--tl-muted-2); font-size: 12.5px; cursor: text;
}
body.admin-ws .ws-searchbtn:hover { border-color: color-mix(in srgb, var(--tl-ink) 25%, var(--tl-paper)); }
body.admin-ws .ws-searchbtn .ws-searchbtn__text { flex: 1; text-align: start; }
body.admin-ws .ws-searchbtn kbd { font: 600 11px var(--ws-sans); padding: 0 .4rem; border: 1px solid var(--ws-line); border-radius: 5px; background: var(--tl-panel); color: var(--tl-muted); }
body.admin-ws .ws-newbtn { display: inline-flex; align-items: center; gap: .35rem; height: 34px; padding-inline: .8rem; border-radius: 8px; background: var(--tl-brand); border-color: var(--tl-brand); color: #fff; font-weight: 600; }
body.admin-ws .ws-newbtn:hover { background: var(--tl-brand-press); border-color: var(--tl-brand-press); color: #fff; }
html[data-bs-theme="dark"] body.admin-ws .ws-newbtn, html[data-bs-theme="dark"] body.admin-ws .ws-newbtn:hover { color: #0F141B; }
body.admin-ws .ws-utility { display: inline-flex; align-items: center; height: 36px; padding: 0 3px; border: 1px solid var(--ws-line); border-radius: 10px; gap: 1px; }
body.admin-ws .ws-utility > * { display: inline-flex; align-items: center; }
body.admin-ws .ws-utility .notification-toggle { display: grid; place-items: center; width: 32px; height: 30px; padding: 0; border-radius: 7px; color: var(--tl-muted); position: relative; text-decoration: none; }
body.admin-ws .ws-utility .notification-toggle:hover { background: var(--ws-hover); color: var(--tl-ink); }
body.admin-ws .ws-utility .notification-toggle .ti { font-size: 19px; }
body.admin-ws .ws-utility .navbar-badge { position: absolute; top: 1px; inset-inline-end: -1px; margin: 0 !important; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: var(--tl-danger) !important; color: #fff !important; font-size: 10px; font-weight: 700; line-height: 16px; text-align: center; }
html[data-bs-theme="dark"] body.admin-ws .ws-utility .navbar-badge { color: #1a0b09 !important; }
body.admin-ws .ws-lang { width: auto; height: 30px; padding-inline: .45rem; gap: .25rem; display: inline-flex; align-items: center; border-radius: 7px; }
body.admin-ws .ws-lang .ti { font-size: 17px; }
body.admin-ws .ws-lang__code { font-size: 11.5px; font-weight: 700; letter-spacing: .02em; }
body.admin-ws .ws-theme .theme-toggle { width: 32px; height: 30px; border: 0; border-radius: 7px; color: var(--tl-muted); }
body.admin-ws .ws-theme .theme-toggle:hover { background: var(--ws-hover); color: var(--tl-ink); }
body.admin-ws .ws-account { -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; gap: .55rem; height: 36px; padding-inline: .3rem .6rem; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--tl-ink); cursor: pointer; }
body.admin-ws .ws-account:hover, body.admin-ws .ws-account[aria-expanded="true"] { background: var(--ws-hover); }
body.admin-ws .ws-avatar { width: 28px; height: 28px; flex: 0 0 28px; border-radius: 50%; display: grid; place-items: center; background: var(--tl-brand-soft) center/cover no-repeat; color: var(--tl-brand); font-size: 12px; font-weight: 700; }
body.admin-ws .ws-account__meta { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; text-align: start; }
body.admin-ws .ws-account__name { font-size: 12.5px; font-weight: 650; max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.admin-ws .ws-account__role { font-size: 10.5px; color: var(--tl-muted-2); }
body.admin-ws .ws-account__caret { font-size: 13px; color: var(--tl-muted-2); }
body.admin-ws .ws-menu { min-width: 220px; padding: 6px; border: 1px solid var(--ws-line); border-radius: 12px; background: var(--tl-panel); box-shadow: 0 12px 32px -8px rgba(10, 16, 12, .22); margin-top: .4rem !important; }
body.admin-ws .ws-menu .dropdown-item { display: flex; align-items: center; gap: .6rem; padding: .45rem .6rem; border-radius: 7px; font-size: 13px; color: var(--tl-ink); }
body.admin-ws .ws-menu .dropdown-item .ti:first-child { color: var(--tl-muted); font-size: 17px; }
body.admin-ws .ws-menu .dropdown-item:hover { background: var(--ws-hover); }
body.admin-ws .ws-menu .language-menu .dropdown-item .ti, body.admin-ws .language-menu .dropdown-item .ti { visibility: hidden; color: var(--tl-brand); }
body.admin-ws .language-menu .dropdown-item[aria-current="true"] .ti { visibility: visible; }
body.admin-ws .ws-menu__label { padding: .3rem .6rem .25rem; font-size: 10.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--tl-muted-2); }
html[dir="rtl"] body.admin-ws .ws-menu__label { letter-spacing: 0; font-size: 11.5px; }
body.admin-ws .ws-menu__who { display: flex; align-items: center; gap: .65rem; padding: .5rem .6rem .65rem; border-bottom: 1px solid var(--ws-line-2); margin-bottom: 4px; }
body.admin-ws .ws-menu__who b { display: block; font-size: 13px; }
body.admin-ws .ws-menu__who small { display: block; color: var(--tl-muted); font-size: 11.5px; overflow-wrap: anywhere; }
body.admin-ws .ws-menu__danger, body.admin-ws .ws-menu__danger .ti { color: var(--tl-danger) !important; }
body.admin-ws .portal-notification-menu #list { margin-top: .5rem; border-radius: 12px; border: 1px solid var(--ws-line); }

/* ---------- page heading: breadcrumb line, title, actions inline ---------- */
body.admin-ws .page-header { padding: 1.1rem 0 .35rem; margin: 0; background: transparent; }
body.admin-ws .page-header > .container-fluid, body.admin-ws .page-header > .container-xl { border-bottom: 0 !important; padding-bottom: 0; }
body.admin-ws .page-header .row { --tblr-gutter-x: .75rem; --tblr-gutter-y: .15rem; flex-wrap: wrap; align-items: center; }
body.admin-ws .page-header .row > [class*="col"]:has(.breadcrumb) { display: none; }
body.admin-ws .page-header .row > [class*="col"]:has(.breadcrumb) > .d-flex { justify-content: flex-start !important; }
body.admin-ws .page-header .breadcrumb { margin: 0; padding: 0; font-size: 12px; background: transparent; }
body.admin-ws .page-header .breadcrumb a { color: var(--tl-muted); text-decoration: none; }
body.admin-ws .page-header .breadcrumb-item.active a { color: var(--tl-ink); }
body.admin-ws .page-pretitle { font-family: var(--ws-sans); font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--tl-muted); margin: 0; }
body.admin-ws .page-title { font-family: var(--ws-sans); font-size: 1.3rem; font-weight: 650; letter-spacing: -.005em; color: var(--tl-ink); margin: 0; line-height: 1.3; }
html[dir="rtl"] body.admin-ws .page-title { letter-spacing: 0; }
body.admin-ws .page-header .btn-list, body.admin-ws .page-header .col-auto.ms-auto { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
body.admin-ws .portal-footer { background: transparent; border-top: 1px solid var(--ws-line-2); }
body.admin-ws .portal-footer-inner { min-height: 44px; padding: .5rem 0; font-size: 12px; color: var(--tl-muted); }

/* ---------- surfaces: flat panels, no boxes inside boxes ---------- */
body.admin-ws .card { background: var(--tl-panel); border: 1px solid var(--ws-line); border-radius: var(--ws-radius); box-shadow: none; }
body.admin-ws .card .card, body.admin-ws .card .border.rounded { border-color: var(--ws-line-2) !important; box-shadow: none; }
body.admin-ws .card .card:not(.card-sm) { border-width: 0; border-radius: 0; background: transparent; }
body.admin-ws .card-header { min-height: 46px; padding: .55rem 1rem; background: transparent; border-bottom: 1px solid var(--ws-line-2); gap: .5rem; }
body.admin-ws .card-title { font-size: 13.5px; font-weight: 650; color: var(--tl-ink); margin: 0; }
body.admin-ws .card-title > .ti:first-child, body.admin-ws .card-title > i.ti.me-2 { display: none; }
body.admin-ws .card-body { padding: 1rem; }
body.admin-ws .card-footer { background: transparent; border-top: 1px solid var(--ws-line-2); padding: .75rem 1rem; }
body.admin-ws .card-header .btn { white-space: nowrap; }
body.admin-ws .alert { border-radius: 10px; font-size: 13px; }

/* dashboard components */
body.admin-ws .ws-notice { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .9rem; padding: .55rem .9rem; border: 1px solid color-mix(in srgb, var(--tl-olive) 35%, var(--tl-paper)); border-radius: var(--ws-radius); background: var(--tl-olive-soft); color: var(--tl-ink); }
body.admin-ws .ws-notice__title { display: inline-flex; align-items: center; gap: .4rem; font-weight: 650; }
body.admin-ws .ws-notice__items { display: flex; flex-wrap: wrap; gap: .4rem; flex: 1 1 auto; }
body.admin-ws .ws-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .6rem; border-radius: 999px; background: var(--tl-panel); border: 1px solid var(--ws-line); color: var(--tl-ink); font-size: 12px; text-decoration: none; }
body.admin-ws .ws-chip:hover { border-color: var(--tl-olive); }
body.admin-ws .ws-chip b { color: var(--tl-olive); }
body.admin-ws .ws-notice__link { margin-inline-start: auto; font-weight: 600; font-size: 12.5px; text-decoration: none; display: inline-flex; gap: .3rem; align-items: center; }
body.admin-ws .ws-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--ws-line); border-radius: var(--ws-radius); background: var(--tl-panel); overflow: hidden; }
body.admin-ws .ws-strip__cell { display: flex; flex-direction: column; gap: .15rem; padding: .8rem 1.1rem; border-inline-end: 1px solid var(--ws-line-2); min-width: 0; }
body.admin-ws .ws-strip__cell:last-child { border-inline-end: 0; }
body.admin-ws .ws-strip__label { display: flex; align-items: center; gap: .4rem; font-size: 12px; color: var(--tl-muted); font-weight: 500; }
body.admin-ws .ws-strip__label .ti { font-size: 15px; color: var(--tl-muted-2); }
body.admin-ws .ws-strip__value { font-size: 1.35rem; font-weight: 650; line-height: 1.25; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
body.admin-ws .ws-strip--periods .ws-strip__value { font-size: 1.15rem; }
body.admin-ws .ws-strip__meta { font-size: 12px; color: var(--tl-muted); }
body.admin-ws .ws-panel { background: var(--tl-panel); border: 1px solid var(--ws-line); border-radius: var(--ws-radius); overflow: hidden; }
body.admin-ws .ws-panel__head { display: flex; align-items: center; gap: .75rem; min-height: 44px; padding: .5rem 1rem; border-bottom: 1px solid var(--ws-line-2); }
body.admin-ws .ws-panel__title { margin: 0; font-size: 13.5px; font-weight: 650; }
body.admin-ws .ws-panel__link { margin-inline-start: auto; display: inline-flex; align-items: center; gap: .25rem; font-size: 12.5px; font-weight: 600; text-decoration: none; white-space: nowrap; }
body.admin-ws .ws-panel__body { padding: .75rem 1rem 1rem; }
body.admin-ws .ws-chart { min-height: 0; }
/* Dashboard grid: panels in a row share top/bottom edges; stacked (mobile) panels keep their own height. */
body.admin-ws .ws-dash-row > [class*="col-"] > .ws-panel--fill { height: 100%; display: flex; flex-direction: column; }
body.admin-ws .ws-dash-row > .d-grid > .ws-panel--fill { height: auto; }
body.admin-ws .ws-dash-row .ws-panel--fill > .ws-panel__body { flex: 1 1 auto; }
body.admin-ws .ws-dash .ws-panel__head { min-height: 56px; padding-block: .5rem; }
body.admin-ws .ws-dash .ws-panel__head > div:not(.btn-group) { min-width: 0; }
/* Top Selling Categories legend */
body.admin-ws .ws-legend { list-style: none; margin: .5rem 0 0; padding: 0; }
body.admin-ws .ws-legend__item { display: flex; align-items: flex-start; gap: .6rem; width: 100%; padding: .3rem 0; margin: 0; border: 0; background: none; color: inherit; font: inherit; font-size: 13px; line-height: 1.4; text-align: start; cursor: pointer; }
body.admin-ws .ws-legend__marker { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; margin-block-start: calc((1.4em - 10px) / 2); }
body.admin-ws .ws-legend__label { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; text-align: start; }
body.admin-ws .ws-legend__figures { flex: 0 0 auto; white-space: nowrap; text-align: end; font-variant-numeric: tabular-nums; color: var(--tl-muted); unicode-bidi: isolate; }
body.admin-ws .ws-legend li.is-off .ws-legend__item { opacity: .45; }
body.admin-ws .ws-kv { margin: 0; padding: .25rem 1rem; }
body.admin-ws .ws-kv > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--ws-line-2); }
body.admin-ws .ws-kv > div:last-child { border-bottom: 0; }
body.admin-ws .ws-kv dt { font-weight: 400; color: var(--tl-muted); font-size: 12.5px; min-width: 0; }
body.admin-ws .ws-kv dd { margin: 0; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; }
body.admin-ws .ws-kv .ws-kv__lead { font-size: 1.05rem; }
body.admin-ws .ws-note { display: flex; gap: .4rem; margin: 0; padding: .65rem 1rem .85rem; font-size: 12px; color: var(--tl-muted); border-top: 1px solid var(--ws-line-2); }
body.admin-ws .ws-note .ti { flex: 0 0 auto; margin-top: 2px; }
body.admin-ws .ws-mini { display: grid; grid-template-columns: repeat(3, 1fr); }
body.admin-ws .ws-mini > div { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: .4rem; padding: .7rem 1rem; border-inline-end: 1px solid var(--ws-line-2); font-size: 12px; color: var(--tl-muted); }
body.admin-ws .ws-mini > div:last-child { border-inline-end: 0; }
body.admin-ws .ws-mini b { grid-column: 1 / -1; font-size: 1.15rem; color: var(--tl-ink); font-variant-numeric: tabular-nums; }
body.admin-ws .ws-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--tl-muted-2); }
body.admin-ws .ws-dot--ok { background: var(--tl-green); } body.admin-ws .ws-dot--warn { background: var(--tl-olive); } body.admin-ws .ws-dot--bad { background: var(--tl-danger); }

/* ---------- tables ---------- */
body.admin-ws .table { --tblr-table-bg: transparent; --tblr-table-striped-bg: transparent; --tblr-table-hover-bg: var(--ws-soft); --tblr-table-accent-bg: transparent; color: var(--tl-ink); margin: 0; font-size: 13px; }
body.admin-ws .table > :not(caption) > * > * { padding: .6rem .8rem; border-bottom: 1px solid var(--ws-line-2); border-inline: 0; background-color: transparent; box-shadow: none; vertical-align: middle; }
body.admin-ws .table > thead > tr > th { padding-block: .5rem; background: var(--ws-soft); border-bottom: 1px solid var(--ws-line); font-size: 11.5px; font-weight: 600; letter-spacing: .02em; text-transform: none; color: var(--tl-muted); white-space: nowrap; }
body.admin-ws .table tbody tr:hover > * { background-color: var(--ws-soft); }
body.admin-ws .table tbody tr:last-child > * { border-bottom: 0; }
body.admin-ws .table-striped > tbody > tr:nth-of-type(odd) > * { --tblr-table-accent-bg: transparent; background-color: transparent; }
body.admin-ws .ws-table td, body.admin-ws .ws-table th { font-size: 12.8px; }
body.admin-ws .table img:not(.avatar):not([class*="logo"]) { max-width: 48px; max-height: 48px; width: auto; height: auto; object-fit: cover; border-radius: 6px; }
body.admin-ws .table .avatar { border-radius: 6px; }
body.admin-ws .bootstrap-table .fixed-table-container { border: 0 !important; }
body.admin-ws .bootstrap-table .fixed-table-body { overflow-x: auto; }
body.admin-ws .bootstrap-table .fixed-table-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: 0 0 .75rem; margin: 0; }
body.admin-ws .bootstrap-table .fixed-table-toolbar .bs-bars, body.admin-ws .bootstrap-table .fixed-table-toolbar .columns, body.admin-ws .bootstrap-table .fixed-table-toolbar .search { float: none; margin: 0; }
body.admin-ws .bootstrap-table .fixed-table-toolbar .search { flex: 1 1 240px; max-width: 360px; order: -1; }
body.admin-ws .bootstrap-table .fixed-table-toolbar .columns { margin-inline-start: auto; display: inline-flex; gap: .35rem; }
body.admin-ws .bootstrap-table .fixed-table-toolbar .btn-group > .btn { height: 34px; padding-inline: .6rem; }
body.admin-ws .bootstrap-table .fixed-table-toolbar .search input { height: 34px; }
body.admin-ws .bootstrap-table .fixed-table-body thead th .th-inner { padding: 0; }
body.admin-ws .bootstrap-table .fixed-table-body thead th .sortable { cursor: pointer; }
body.admin-ws .bootstrap-table .fixed-table-body tbody td { vertical-align: middle; }
body.admin-ws .bootstrap-table .fixed-table-body tbody td:has(img) { text-align: start !important; }
body.admin-ws .bootstrap-table .fixed-table-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .75rem 0 0; margin: 0; font-size: 12.5px; color: var(--tl-muted); }
body.admin-ws .bootstrap-table .fixed-table-pagination > .float-left, body.admin-ws .bootstrap-table .fixed-table-pagination > .float-right, body.admin-ws .bootstrap-table .fixed-table-pagination > .pagination-detail, body.admin-ws .bootstrap-table .fixed-table-pagination > .pagination { float: none; margin: 0; }
body.admin-ws .bootstrap-table .page-link { min-width: 32px; height: 32px; padding: 0 .5rem; display: inline-grid; place-items: center; border-radius: 7px; border: 1px solid var(--tl-line); background: var(--tl-panel); color: var(--tl-ink); }
body.admin-ws .bootstrap-table .page-item.active .page-link { background: var(--tl-brand-fill); border-color: var(--tl-brand-fill); color: #fff; font-weight: 650; }
body.admin-ws .bootstrap-table .page-link:hover { background: var(--tl-brand-soft); color: var(--tl-brand-press); }
body.admin-ws .bootstrap-table .page-item.active .page-link:hover { background: var(--tl-brand-fill); color: #fff; }
body.admin-ws .fixed-table-loading { background: var(--tl-panel); }
body.admin-ws .no-records-found td { padding: 2rem 1rem !important; text-align: center; color: var(--tl-muted); }
body.admin-ws .card > .card-body > .bootstrap-table { margin: 0; }

/* ---------- buttons, badges, forms ---------- */
body.admin-ws .btn { font-size: 13px; font-weight: 600; border-radius: 8px; padding: .4rem .8rem; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; }
body.admin-ws .btn-sm { min-height: 30px; padding: .2rem .6rem; font-size: 12.5px; }
body.admin-ws .btn-icon { width: 34px; padding: 0; }
body.admin-ws .btn:not(.btn-primary):not(.btn-danger):not(.btn-success):not(.btn-warning):not(.btn-info):not([class*="bg-"]):not([class*="btn-outline"]):not(.btn-close):not(.btn-link) { background: var(--tl-panel); border: 1px solid var(--ws-line); color: var(--tl-ink); }
body.admin-ws .btn:not(.btn-primary):not(.btn-danger):not(.btn-success):not(.btn-warning):not(.btn-info):not([class*="bg-"]):not([class*="btn-outline"]):not(.btn-close):not(.btn-link):hover { background: var(--ws-hover); border-color: color-mix(in srgb, var(--tl-ink) 25%, var(--tl-paper)); }
html[data-bs-theme="dark"] body.admin-ws .btn-primary { --tblr-btn-color: #0F141B; --tblr-btn-hover-color: #0F141B; }
body.admin-ws .btn-group > .btn { border-radius: 0; }
body.admin-ws .btn-group > .btn:first-child { border-start-start-radius: 8px; border-end-start-radius: 8px; }
body.admin-ws .btn-group > .btn:last-child { border-start-end-radius: 8px; border-end-end-radius: 8px; }
body.admin-ws .badge { font-size: 11.5px; font-weight: 600; letter-spacing: 0; text-transform: none; padding: .22em .6em; border-radius: 999px; }
body.admin-ws .form-label, body.admin-ws label.form-label { font-size: 12.5px; font-weight: 600; color: var(--tl-ink); margin-bottom: .3rem; }
body.admin-ws .form-control, body.admin-ws .form-select, body.admin-ws .ts-control { min-height: 36px; font-size: 13.5px; border-radius: 8px; border-color: var(--ws-line); background-color: var(--tl-panel); color: var(--tl-ink); }
body.admin-ws textarea.form-control { min-height: 84px; }
body.admin-ws .form-control:focus, body.admin-ws .form-select:focus { border-color: var(--tl-brand); box-shadow: var(--tl-ring); }
body.admin-ws .form-control::placeholder { color: var(--tl-muted-2); }
body.admin-ws .form-hint, body.admin-ws .form-text { font-size: 12px; color: var(--tl-muted); }
body.admin-ws .form-control.is-invalid, body.admin-ws .form-select.is-invalid { border-color: var(--tl-danger); }
body.admin-ws .invalid-feedback, body.admin-ws label.error, body.admin-ws .text-danger.error { font-size: 12px; color: var(--tl-danger); }
body.admin-ws .form-check-input:checked { background-color: var(--tl-brand); border-color: var(--tl-brand); }
body.admin-ws .nav-tabs { border-bottom: 1px solid var(--ws-line); gap: .25rem; }
body.admin-ws .nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: .55rem .85rem; font-size: 13px; font-weight: 600; color: var(--tl-muted); background: transparent; }
body.admin-ws .nav-tabs .nav-link.active { color: var(--tl-brand); border-bottom-color: var(--tl-brand); background: transparent; }
body.admin-ws .nav-tabs .nav-link:hover:not(.active) { color: var(--tl-ink); }
body.admin-ws .nav-pills .nav-link.active { background: var(--tl-brand-soft); color: var(--tl-brand); }

/* ---------- overlays: modal, drawer, dropdown, toast, empty ---------- */
body.admin-ws .modal-content { border: 1px solid var(--ws-line); border-radius: 14px; background: var(--tl-panel); box-shadow: 0 24px 60px -12px rgba(10, 16, 12, .35); }
body.admin-ws .modal-header { padding: .8rem 1.1rem; border-bottom: 1px solid var(--ws-line-2); min-height: 52px; }
body.admin-ws .modal-title { font-size: 14.5px; font-weight: 650; }
body.admin-ws .modal-body { padding: 1.1rem; }
body.admin-ws .modal-footer { padding: .75rem 1.1rem; border-top: 1px solid var(--ws-line-2); gap: .5rem; }
body.admin-ws .offcanvas { background: var(--tl-panel); border-color: var(--ws-line); color: var(--tl-ink); }
body.admin-ws .offcanvas.offcanvas-end, body.admin-ws .offcanvas.offcanvas-start { width: min(560px, 100vw); box-shadow: 0 0 40px rgba(10, 16, 12, .25); }
body.admin-ws .offcanvas-header { padding: .8rem 1.1rem; border-bottom: 1px solid var(--ws-line-2); min-height: 52px; }
body.admin-ws .offcanvas-title { font-size: 14.5px; font-weight: 650; }
body.admin-ws .offcanvas-body { padding: 1.1rem; }
body.admin-ws .dropdown-menu { border: 1px solid var(--ws-line); border-radius: 10px; box-shadow: 0 12px 32px -8px rgba(10, 16, 12, .2); font-size: 13px; }
body.admin-ws .dropdown-item { border-radius: 6px; }
body.admin-ws .bootstrap-table .dropdown-menu .dropdown-item { padding: .4rem .75rem; }
body.admin-ws .empty { padding: 2.5rem 1rem; }
body.admin-ws .empty .empty-title { font-size: 15px; font-weight: 650; }
body.admin-ws .spinner-border.text-primary { color: var(--tl-brand) !important; }
body.admin-ws .tooltip .tooltip-inner { font-size: 12px; border-radius: 6px; }
body.admin-ws .daterangepicker, body.admin-ws .select2-dropdown, body.admin-ws .ts-dropdown { border-radius: 10px; border-color: var(--ws-line); }

/* ---------- responsive: rail becomes an off-canvas drawer ---------- */
@media (max-width: 991.98px) {
  body.admin-ws > .page { padding-inline-start: 0; }
  body.admin-ws .ws-sidebar { width: min(300px, 86vw); transform: translateX(-102%); transition: transform .2s ease; box-shadow: none; }
  html[dir="rtl"] body.admin-ws .ws-sidebar { transform: translateX(102%); }
  body.admin-ws.ws-nav-open .ws-sidebar, html[dir="rtl"] body.admin-ws.ws-nav-open .ws-sidebar { transform: none; box-shadow: 0 0 40px rgba(10, 16, 12, .35); }
  body.admin-ws .ws-sidebar .ws-sidebar__close { display: inline-grid; }
  body.admin-ws .ws-topbar .ws-topbar__menu { display: inline-grid; margin-inline-start: -.4rem; }
  body.admin-ws .ws-topbar { padding-inline: .9rem; gap: .4rem; }
  body.admin-ws .ws-searchbtn { display: none; }
  body.admin-ws .ws-crumb__root span { display: none; }
  body.admin-ws .page-header > .container-fluid, body.admin-ws .page-body > .container-fluid { padding-inline: .9rem; }
}
@media (max-width: 767.98px) {
  body.admin-ws .ws-account__meta, body.admin-ws .ws-account__caret, body.admin-ws .ws-newbtn__text { display: none; }
  body.admin-ws .ws-newbtn { width: 34px; padding: 0; justify-content: center; }
  body.admin-ws .ws-account { padding-inline: .15rem; }
  body.admin-ws .ws-mini { grid-template-columns: 1fr; }
  body.admin-ws .ws-mini > div { border-inline-end: 0; border-bottom: 1px solid var(--ws-line-2); }
  body.admin-ws .ws-strip { grid-template-columns: repeat(2, 1fr); }
  body.admin-ws .ws-strip__cell:nth-child(2n) { border-inline-end: 0; }
  body.admin-ws .ws-crumb { flex: 1 1 auto; }
  body.admin-ws .ws-crumb__root, body.admin-ws .ws-crumb__sep { display: none; }
}
@media print {
  body.admin-ws > .page { padding-inline-start: 0; }
  body.admin-ws .ws-sidebar, body.admin-ws .ws-topbar, body.admin-ws .ws-backdrop { display: none !important; }
}
body.admin-ws .ws-strip--periods { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.admin-ws .ws-crumb { flex: 0 1 auto; }
@media (max-width: 767.98px) { body.admin-ws .ws-strip, body.admin-ws .ws-strip--periods { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- shared management-list pattern ---------- */
body.admin-ws .ws-strip--tight { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); }
body.admin-ws .ws-strip--tight .ws-strip__cell { padding: .6rem .9rem; }
body.admin-ws .ws-strip--tight .ws-strip__value { font-size: 1.2rem; }
body.admin-ws .ws-list .ws-panel__head { flex-wrap: wrap; padding-block: .6rem; }
body.admin-ws .ws-filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
body.admin-ws .ws-filterbar__date { width: 250px; }
body.admin-ws .ws-filterbar .form-control { height: 34px; min-height: 34px; }
body.admin-ws .ws-activefilters { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; padding: .5rem 1rem; border-bottom: 1px solid var(--ws-line-2); background: var(--ws-soft); }
body.admin-ws .ws-activefilters[hidden] { display: none; }
body.admin-ws .ws-panel__body--table { padding: .85rem 1rem 1rem; }
body.admin-ws .ws-panel__body--table .bootstrap-table .fixed-table-toolbar { padding-top: 0; }

/* sidebar: neutralise the inline active-submenu styling written by common/custom.js (works in RTL too) */
body.admin-ws .ws-sidebar .dropdown-menu .dropdown-item.active-submenu { border-left: 0 !important; border-right: 0 !important; border-inline-start: 2px solid var(--tl-brand) !important; background-color: transparent !important; padding-inline: .8rem .5rem !important; margin-inline-start: calc(1.35rem - 1px); }
body.admin-ws .ws-sidebar .dropdown-toggle { background-color: transparent !important; font-weight: 500 !important; }
body.admin-ws .ws-sidebar .dropdown-toggle[aria-expanded="true"] { font-weight: 650 !important; }

/* ---------- product details drawer: compact identity, flat sections ---------- */
body.admin-ws #viewProductOffcanvas { --bs-offcanvas-width: min(520px, 100vw); }
body.admin-ws #productOffcanvasBody { padding: 0; }
body.admin-ws #productOffcanvasBody .product-view-container { padding: 1rem 1.25rem 1.5rem; }
body.admin-ws #productOffcanvasBody .product-view-container > .border { border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin-bottom: 1.25rem !important; overflow: visible !important; }
body.admin-ws #productOffcanvasBody .product-view-container > .border:first-child { padding-bottom: 1rem !important; border-bottom: 1px solid var(--ws-line-2) !important; }
body.admin-ws #productOffcanvasBody .product-view-container > .border > .border-bottom, body.admin-ws #productOffcanvasBody .product-view-container > .border > .bg-secondary-lt { border: 0 !important; background: transparent !important; padding: 0 0 .5rem !important; }
body.admin-ws #productOffcanvasBody .product-view-container > .border > .border-bottom h3, body.admin-ws #productOffcanvasBody .product-view-container > .border > .bg-secondary-lt h3 { font-size: 11.5px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--tl-muted); }
html[dir="rtl"] body.admin-ws #productOffcanvasBody h3 { letter-spacing: 0; text-transform: none; font-size: 12.5px; }
body.admin-ws #productOffcanvasBody h3 .ti { display: none; }
body.admin-ws #productOffcanvasBody .product-view-container > .border:first-child > .d-flex { align-items: flex-start; gap: .9rem !important; }
body.admin-ws #productOffcanvasBody .product-image-container { width: 88px; height: 88px; padding: 3px !important; border-radius: 10px !important; flex: 0 0 88px; }
body.admin-ws #productOffcanvasBody .product-image-container img { width: 100%; height: 100%; object-fit: cover; border-radius: 7px; }
body.admin-ws #productOffcanvasBody .product-info { min-width: 0; }
body.admin-ws #productOffcanvasBody .product-info h2 { font-size: 1.1rem; font-weight: 650; margin: 0 0 .35rem; line-height: 1.35; overflow-wrap: anywhere; }
body.admin-ws #productOffcanvasBody .product-info .badge { margin-inline: 0 !important; }
body.admin-ws #productOffcanvasBody .product-info .mb-3 { margin-bottom: .5rem !important; }
body.admin-ws #productOffcanvasBody .product-info .fs-2 { font-size: 14px !important; }
body.admin-ws #productOffcanvasBody .product-info .fs-4 { font-size: 12px !important; }
body.admin-ws #productOffcanvasBody .product-info > .d-flex.gap-3 { gap: .6rem !important; }
body.admin-ws #productOffcanvasBody .product-info > .d-flex.gap-3 > [class*="col-"] { flex: 1 1 0; width: auto; max-width: none; }
body.admin-ws #productOffcanvasBody .product-info .card { padding: .5rem .7rem !important; background: var(--ws-soft); border: 0; border-radius: 8px; flex-direction: column !important; gap: 0 !important; }
body.admin-ws #productOffcanvasBody .product-info .info-icon { display: none !important; }
body.admin-ws #productOffcanvasBody .product-info .info-content .fs-4 { margin: 0 !important; font-weight: 500 !important; }
body.admin-ws #productOffcanvasBody .product-info .info-content .fs-3 { font-size: 1.05rem !important; font-variant-numeric: tabular-nums; }
body.admin-ws #productOffcanvasBody .d-grid.gap-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; row-gap: 0 !important; }
body.admin-ws #productOffcanvasBody .d-grid.gap-1 > .d-flex { flex-direction: column; align-items: flex-start !important; gap: .1rem; padding: .5rem 0 !important; border-bottom: 1px solid var(--ws-line-2) !important; }
body.admin-ws #productOffcanvasBody .d-grid.gap-1 > .d-flex > span:first-child { font-size: 11.5px; font-weight: 500 !important; color: var(--tl-muted); }
body.admin-ws #productOffcanvasBody .d-grid.gap-1 > .d-flex > span:last-child { font-size: 13px !important; font-weight: 600; overflow-wrap: anywhere; }
body.admin-ws #productOffcanvasBody .product-view-container > .border > .p-3 { padding: 0 !important; }
body.admin-ws #productOffcanvasBody .product-pricing .table { font-size: 12.5px; }
body.admin-ws #productOffcanvasBody .images-gallery { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: .5rem !important; }
body.admin-ws #productOffcanvasBody .gallery-image { width: 100%; height: 84px; object-fit: cover; }
@media (max-width: 575.98px) { body.admin-ws #productOffcanvasBody .d-grid.gap-1 { grid-template-columns: 1fr; } }

/* ---------- table density: no fixed image boxes, language-aware names ---------- */
body.admin-ws .table .image-box-100, body.admin-ws .table .product-image, body.admin-ws .bootstrap-table .image-box-100 { width: 48px !important; height: 48px !important; min-height: 0; margin: 0 !important; }
body.admin-ws .bootstrap-table td, body.admin-ws .bootstrap-table th, body.admin-ws .table td, body.admin-ws .table th { text-align: start !important; }
body.admin-ws .table td.text-end, body.admin-ws .table th.text-end { text-align: end !important; }
body.admin-ws .bootstrap-table .fixed-table-body thead th > .th-inner, body.admin-ws .bootstrap-table .fixed-table-body thead th > .fht-cell { text-align: start; }
html[lang="ar"] body.admin-ws .ws-bi[data-ws-lang="en"], html[lang="en"] body.admin-ws .ws-bi[data-ws-lang="ar"] { display: none; }
body.admin-ws .ws-bi-sep { display: none; }
body.admin-ws .ws-bilingual { cursor: default; }
body.admin-ws .bootstrap-table .dropdown > .btn { min-height: 30px; width: 30px; padding: 0; background: transparent; border-color: var(--ws-line); color: var(--tl-muted); }

/* ---------- management lists (every bootstrap-table page): actions-only card header, compact toolbar ---------- */
body.admin-ws .card > .card-header:has(+ .card-body table[data-toggle="table"]),
body.admin-ws .card > .card-header:has(+ .card-body .bootstrap-table) { border-bottom: 0; min-height: 0; padding: .75rem 1rem 0; justify-content: flex-end !important; }
body.admin-ws .card > .card-header:has(+ .card-body table[data-toggle="table"]) > .card-title,
body.admin-ws .card > .card-header:has(+ .card-body .bootstrap-table) > .card-title { display: none; }
body.admin-ws .card > .card-header + .card-body { padding-top: .75rem; }
body.admin-ws .btn.bg-primary-lt, body.admin-ws .btn.btn-primary.bg-primary-lt { background: var(--tl-brand) !important; color: #fff !important; border-color: var(--tl-brand); }
html[data-bs-theme="dark"] body.admin-ws .btn.bg-primary-lt, html[data-bs-theme="dark"] body.admin-ws .btn.btn-primary.bg-primary-lt { color: #0F141B !important; }
body.admin-ws .btn.bg-danger-lt { background: var(--tl-danger-soft) !important; color: var(--tl-danger) !important; border-color: transparent; }
body.admin-ws .btn.bg-success-lt, body.admin-ws .btn.bg-warning-lt { border-color: transparent; }

/* section tabs become underline tabs under the page title */
body.admin-ws .section-tabs { gap: 0; border-bottom: 1px solid var(--ws-line); margin-top: .25rem; }
body.admin-ws .section-tabs .nav-link { border-radius: 0; padding: .55rem .9rem; margin-bottom: -1px; border-bottom: 2px solid transparent; background: transparent !important; color: var(--tl-muted); font-size: 13px; font-weight: 600; }
body.admin-ws .section-tabs .nav-link:hover { color: var(--tl-ink); }
body.admin-ws .section-tabs .nav-link.active { color: var(--tl-brand) !important; border-bottom-color: var(--tl-brand); }
body.admin-ws .container-fluid:has(> .section-tabs) { max-width: 1600px; margin-inline: auto; padding-inline: 1.5rem; margin-bottom: .75rem !important; }

/* inline filter templates (selects) lay out as one compact row */
body.admin-ws #filterTemplate { align-items: flex-end; gap: .75rem !important; margin-bottom: .75rem; }
body.admin-ws #filterTemplate > .row, body.admin-ws #filterTemplate > div { display: block; margin: 0 !important; width: auto; min-width: 220px; flex: 0 1 260px; --tblr-gutter-x: 0; }
body.admin-ws #filterTemplate .col-form-label, body.admin-ws #filterTemplate label { padding: 0 0 .25rem; font-size: 12px; font-weight: 600; }
body.admin-ws #filterTemplate .col { padding: 0; width: 100%; }
body.admin-ws #product_toolbar { margin: 0 !important; padding: 0 !important; }
body.admin-ws #product_toolbar .btn { min-height: 34px; }
body.admin-ws #productOffcanvasBody .product-view-container { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; }
body.admin-ws #viewProductOffcanvas.offcanvas-medium { width: min(520px, 100vw); }
body.admin-ws #productOffcanvasBody .product-view-container, body.admin-ws #productOffcanvasBody .product-view-container * { box-sizing: border-box; }
body.admin-ws #viewProductOffcanvas.offcanvas-medium { width: min(520px, 100vw) !important; }
body.admin-ws #productOffcanvasBody .product-view-container { margin: 0 !important; min-height: 0 !important; }

/* ---------- upload / help patterns ---------- */
body.admin-ws .ws-panel__foot { display: flex; justify-content: flex-end; gap: .5rem; padding: .7rem 1rem; border-top: 1px solid var(--ws-line-2); background: var(--ws-soft); }
body.admin-ws .ws-panel__title > .ti:first-child { margin-inline-end: .4rem; color: var(--tl-muted); }
body.admin-ws .ws-steps { margin: 0; padding: .75rem 1rem .9rem 1rem; padding-inline-start: 2.2rem; display: grid; gap: .45rem; font-size: 12.8px; color: var(--tl-muted); }
body.admin-ws .ws-steps b { color: var(--tl-ink); }
body.admin-ws .ws-upload-result:empty { display: none; }
body.admin-ws input[type="file"].form-control { padding: .35rem .5rem; }
body.admin-ws input[type="file"].form-control::file-selector-button { border: 1px solid var(--ws-line); border-radius: 6px; background: var(--ws-soft); color: var(--tl-ink); padding: .2rem .7rem; margin-inline-end: .75rem; font-weight: 600; }
body.admin-ws .form-label.required::after { content: " *"; color: var(--tl-danger); }
body.admin-ws .btn-close { opacity: .7; }
html[data-bs-theme="dark"] body.admin-ws .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

/* filter panels that sit above a results card: one borderless row */
body.admin-ws .ws-filtercard { border: 0; background: transparent; margin-bottom: .75rem !important; }
body.admin-ws .ws-filtercard > .card-header { display: none; }
body.admin-ws .ws-filtercard > .card-body { padding: 0; }
body.admin-ws .ws-filtercard .row { --tblr-gutter-x: .75rem; --tblr-gutter-y: .5rem; }
body.admin-ws .ws-filtercard .form-label { font-size: 12px; margin-bottom: .2rem; color: var(--tl-muted); }

/* ---------- supplier dashboard ---------- */
body.seller-ws .ws-section-title { margin: 0; font-size: 13.5px; font-weight: 650; }
body.seller-ws section[aria-labelledby="desk-attention-title"] { margin-bottom: 1rem !important; }
body.seller-ws section[aria-labelledby="desk-attention-title"] > .d-flex { margin-bottom: .5rem !important; }
body.seller-ws section[aria-labelledby="desk-attention-title"] .row.row-cards { --tblr-gutter-x: .6rem; --tblr-gutter-y: .6rem; }
body.seller-ws section[aria-labelledby="desk-attention-title"] .col-xl-4 { flex: 0 0 auto; width: 25%; }
@media (max-width: 1199.98px) { body.seller-ws section[aria-labelledby="desk-attention-title"] .col-xl-4 { width: 50%; } }
@media (max-width: 575.98px) { body.seller-ws section[aria-labelledby="desk-attention-title"] .col-xl-4 { width: 100%; } }
body.seller-ws section[aria-labelledby="desk-attention-title"] a.card { border-radius: var(--ws-radius); }
body.seller-ws section[aria-labelledby="desk-attention-title"] a.card:hover { border-color: var(--tl-brand); transform: none; box-shadow: none; }
body.seller-ws section[aria-labelledby="desk-attention-title"] .card-body { padding: .65rem .85rem; gap: .65rem !important; }
body.seller-ws section[aria-labelledby="desk-attention-title"] .avatar { width: 30px; height: 30px; min-width: 30px; font-size: 15px; }
body.seller-ws section[aria-labelledby="desk-attention-title"] .h1 { font-size: 1.25rem; font-weight: 650; line-height: 1.2; font-variant-numeric: tabular-nums; }
body.seller-ws section[aria-labelledby="desk-attention-title"] .text-secondary { font-size: 12px; line-height: 1.35; }
html[dir="rtl"] body.seller-ws section[aria-labelledby="desk-attention-title"] .ti-chevron-right { transform: scaleX(-1); }
body.seller-ws .ws-chart--donut { height: 300px; }
body.seller-ws .ws-actions { display: grid; }
body.seller-ws .ws-actions a { display: flex; align-items: center; gap: .6rem; padding: .65rem 1rem; border-bottom: 1px solid var(--ws-line-2); color: var(--tl-ink); text-decoration: none; font-weight: 600; font-size: 13px; }
body.seller-ws .ws-actions a:last-child { border-bottom: 0; }
body.seller-ws .ws-actions a:hover { background: var(--ws-soft); }
body.seller-ws .ws-actions a > span { flex: 1; }
body.seller-ws .ws-actions a .ti { color: var(--tl-muted); }
body.seller-ws .sales-tab .nav-link { padding: .2rem .65rem; font-size: 12.5px; }

/* ---------- product create/edit form (admin + supplier share this layout) ---------- */
body.admin-ws #save-product > .row { --tblr-gutter-x: 1rem; --tblr-gutter-y: 1rem; align-items: flex-start; }
body.admin-ws #save-product .col-lg-4 { position: sticky; top: calc(var(--ws-top) + 1rem); align-self: flex-start; max-height: calc(100vh - var(--ws-top) - 2rem); overflow-y: auto; scrollbar-width: thin; padding-bottom: 4.5rem; }
body.admin-ws #save-product .card { margin-bottom: 1rem !important; }
body.admin-ws #save-product .card-header { min-height: 42px; padding: .5rem 1rem; background: var(--ws-soft); border-radius: var(--ws-radius) var(--ws-radius) 0 0; }
body.admin-ws #save-product .card-title { font-size: 12.5px; letter-spacing: .01em; }
body.admin-ws #save-product .card-title.required::after { content: " *"; color: var(--tl-danger); }
body.admin-ws #save-product .card-body { padding: .9rem 1rem; }
body.admin-ws #save-product .row.g-3, body.admin-ws #save-product .row.g-2 { --tblr-gutter-x: .75rem; --tblr-gutter-y: .75rem; }
body.admin-ws #save-product .form-label, body.admin-ws #save-product .col-form-label { font-size: 12.5px; font-weight: 600; padding: 0 0 .25rem; }
body.admin-ws #save-product #product_category_tree_view_html, body.admin-ws #save-product [id*="category_tree"] { max-height: 300px; overflow: auto; scrollbar-width: thin; }
body.admin-ws #save-product .col-lg-4 .card:has(#save_product_button), body.admin-ws #save-product .card:has(#save_product_button) { position: sticky; bottom: .75rem; z-index: 6; background: var(--tl-panel); border-color: var(--tl-brand); box-shadow: 0 10px 28px -10px rgba(10, 16, 12, .35); }
body.admin-ws #save-product .card:has(#save_product_button) .card-body { display: flex; justify-content: flex-end; gap: .5rem; padding: .6rem 1rem; }
body.admin-ws #save-product .card:has(#save_product_button) .card-header { display: none; }
body.admin-ws #save-product #save_product_button { min-width: 140px; }
@media (max-width: 991.98px) { body.admin-ws #save-product .col-lg-4 { position: static; max-height: none; overflow: visible; padding-bottom: 0; } }
/* Sales Analytics: chart grows to fill the card beside the taller category panel */
body.admin-ws .ws-panel__body--grow { display: flex; flex-direction: column; }
body.admin-ws .ws-panel__body--grow > .ws-chart { flex: 1 1 auto; min-height: 340px; }

/* stock form: red invalid state without the validation icon colliding with the number spinner */
body.admin-ws #stock_adjustment_form .form-control.is-invalid { background-image: none; padding-inline-end: .75rem; border-color: var(--tl-danger, #c0392b); }
body.admin-ws #stock_adjustment_form .form-control.is-invalid:focus { border-color: var(--tl-danger, #c0392b); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--tl-danger, #c0392b) 22%, transparent); }
body.admin-ws #stock_adjustment_form .invalid-feedback { font-size: 12px; margin-top: .35rem; line-height: 1.4; }

/* ---------- stock adjustment panel ---------- */
body.admin-ws #stock_adjustment_form .offcanvas-body { padding: 1.25rem 1.5rem; }
body.admin-ws #stock_adjustment_form .row { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; margin: 0; }
body.admin-ws #stock_adjustment_form .row > [class*="col-"] { width: auto; max-width: none; padding: 0; margin: 0; }
body.admin-ws #stock_adjustment_form .row > [class*="col-"] > .mb-3 { margin: 0 !important; }
body.admin-ws #stock_adjustment_form .row > .col-12, body.admin-ws #stock_adjustment_form .stock-preview { grid-column: 1 / -1; }
body.admin-ws #stock_adjustment_form .row > div:nth-child(4) { grid-column: 1 / -1; order: 2; }
body.admin-ws #stock_adjustment_form .col-form-label { font-size: 12px; font-weight: 600; color: var(--tl-muted); padding: 0 0 .3rem; text-transform: none; letter-spacing: 0; }
body.admin-ws #stock_adjustment_form #product_name { background: var(--ws-soft); border-color: transparent; font-weight: 600; }
body.admin-ws #stock_adjustment_form #current_stock { background: var(--ws-soft); border-color: transparent; font-size: 1.35rem; font-weight: 700; height: 52px; font-variant-numeric: tabular-nums; }
body.admin-ws #stock_adjustment_form #quantity { font-size: 1.35rem; font-weight: 700; height: 52px; font-variant-numeric: tabular-nums; }
body.admin-ws .stock-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: var(--ws-soft); border-radius: 10px; }
body.admin-ws .stock-seg__btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; height: 38px; border: 0; border-radius: 7px; background: transparent; color: var(--tl-muted); font-weight: 600; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
body.admin-ws .stock-seg__btn:hover { color: var(--tl-ink); }
body.admin-ws .stock-seg__btn.is-on { background: var(--tl-panel); color: var(--tl-brand); box-shadow: 0 1px 3px rgba(10, 16, 12, .14); }
body.admin-ws .stock-seg__btn--subtract.is-on { color: var(--tl-danger, #c0392b); }
body.admin-ws .stock-preview { order: 3; display: flex; align-items: center; justify-content: space-between; padding: .7rem .9rem; border-radius: 10px; background: var(--tl-brand-soft); color: var(--tl-brand); transition: background .2s ease, color .2s ease; }
body.admin-ws .stock-preview.is-down { background: color-mix(in srgb, #d97706 14%, var(--tl-paper)); color: #b45309; }
body.admin-ws .stock-preview.is-bad { background: color-mix(in srgb, var(--tl-danger, #c0392b) 14%, var(--tl-paper)); color: var(--tl-danger, #c0392b); }
body.admin-ws .stock-preview__label { font-size: 12px; font-weight: 600; }
body.admin-ws .stock-preview__val { font-size: 1.1rem; font-weight: 700; font-variant-numeric: tabular-nums; direction: ltr; }
body.admin-ws #stock_adjustment_form .text-end { display: flex; gap: .5rem; justify-content: flex-end; margin-top: 1.25rem; }
body.admin-ws #stock_adjustment_form .text-end .btn-primary { flex: 1 1 auto; height: 42px; font-weight: 650; }
body.admin-ws #stock_adjustment_form .text-end .btn:not(.btn-primary) { height: 42px; }

/* ==========================================================================
   Platform Overview (admin home): KPI cards, attention queue, order flow, subscriptions.
   Amber (--tl-olive) / red (--tl-danger) appear only on rows that need action.
   ========================================================================== */
body.admin-ws .ws-dashboard .page-header { padding-block: .9rem .35rem; }
body.admin-ws .ws-dashboard .page-title { font-size: 1.35rem; font-weight: 700; letter-spacing: -.01em; }
body.admin-ws .ws-sep { margin-inline: .35rem; color: var(--tl-muted-2); }
body.admin-ws .ws-section__head { display: flex; align-items: baseline; gap: .75rem; margin-bottom: .6rem; }
body.admin-ws .ws-section__title { margin: 0; font-size: 1rem; font-weight: 700; }

body.admin-ws .ws-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; }
body.admin-ws .ws-kpi { display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; background: var(--tl-panel); border: 1px solid var(--ws-line); border-radius: var(--ws-radius); color: var(--tl-ink); text-decoration: none; min-width: 0; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
body.admin-ws a.ws-kpi:hover { border-color: var(--tl-brand); box-shadow: 0 2px 10px color-mix(in srgb, var(--tl-ink) 8%, transparent); transform: translateY(-1px); color: var(--tl-ink); }
body.admin-ws a.ws-kpi:focus-visible, body.admin-ws a.ws-flow__step:focus-visible, body.admin-ws a.ws-subs__cell:focus-visible { outline: 2px solid var(--tl-brand); outline-offset: 2px; }
body.admin-ws .ws-kpi__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--tl-brand-soft); color: var(--tl-brand); font-size: 20px; }
body.admin-ws .ws-kpi.is-warn .ws-kpi__icon { background: var(--tl-olive-soft); color: var(--tl-olive); }
body.admin-ws .ws-kpi__body { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
body.admin-ws .ws-kpi__label { font-size: 12px; color: var(--tl-muted); font-weight: 500; }
body.admin-ws .ws-kpi__value { font-size: 1.6rem; font-weight: 700; line-height: 1.2; letter-spacing: -.015em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.admin-ws .ws-kpi__sub { font-size: 11.5px; color: var(--tl-muted); }
body.admin-ws .ws-kpi__go { flex: none; color: var(--tl-muted-2); }

body.admin-ws .ws-attn__total { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding-inline: .4rem; border-radius: 999px; background: var(--tl-olive-soft); color: var(--tl-olive); font-size: 12px; font-weight: 700; }
body.admin-ws .ws-attn__list { list-style: none; margin: 0; padding: 0; }
body.admin-ws .ws-attn__row { display: flex; align-items: center; gap: .85rem; padding: .7rem 1rem; border-bottom: 1px solid var(--ws-line-2); border-inline-start: 3px solid transparent; }
body.admin-ws .ws-attn__row:last-child { border-bottom: 0; }
body.admin-ws .ws-attn__row.is-warn { border-inline-start-color: var(--tl-olive); }
body.admin-ws .ws-attn__row.is-bad { border-inline-start-color: var(--tl-danger); }
body.admin-ws .ws-attn__icon { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--tl-olive-soft); color: var(--tl-olive); font-size: 17px; }
body.admin-ws .ws-attn__row.is-bad .ws-attn__icon { background: var(--tl-danger-soft); color: var(--tl-danger); }
body.admin-ws .ws-attn__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
body.admin-ws .ws-attn__title { font-weight: 650; }
body.admin-ws .ws-attn__text { font-size: 12px; color: var(--tl-muted); }
body.admin-ws .ws-attn__count { flex: none; min-width: 2ch; text-align: end; font-size: 1.25rem; font-variant-numeric: tabular-nums; }
body.admin-ws .ws-attn__cta { flex: none; white-space: nowrap; }
body.admin-ws .ws-attn__done { display: flex; align-items: center; gap: .6rem; padding: 1rem; color: var(--tl-muted); }
body.admin-ws .ws-attn__done .ti { font-size: 22px; color: var(--tl-green); }

body.admin-ws .ws-flow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid var(--ws-line); border-radius: var(--ws-radius); background: var(--tl-panel); overflow: hidden; }
body.admin-ws .ws-flow__step { display: flex; flex-direction: column; gap: .1rem; padding: .7rem 1rem; border-inline-end: 1px solid var(--ws-line-2); color: var(--tl-ink); text-decoration: none; min-width: 0; transition: background-color .15s ease; }
body.admin-ws .ws-flow__step:last-child { border-inline-end: 0; }
body.admin-ws a.ws-flow__step:hover { background: var(--ws-hover); color: var(--tl-ink); }
body.admin-ws .ws-flow__label { display: flex; align-items: center; gap: .35rem; font-size: 12px; color: var(--tl-muted); font-weight: 500; }
body.admin-ws .ws-flow__count { font-size: 1.35rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.25; }
body.admin-ws .ws-flow__step.is-zero .ws-flow__count { color: var(--tl-muted-2); font-weight: 500; }
body.admin-ws .ws-flow__step--received .ws-flow__label .ti { color: var(--tl-brand); }
body.admin-ws .ws-flow__step--delivered .ws-flow__label .ti { color: var(--tl-green); }
body.admin-ws .ws-flow__step--cancelled .ws-flow__label .ti, body.admin-ws .ws-flow__step--returned .ws-flow__label .ti { color: var(--tl-muted-2); }

body.admin-ws .ws-orders__act { text-align: end; width: 1%; white-space: nowrap; }

body.admin-ws .ws-subs__body { display: grid; grid-template-columns: minmax(220px, 300px) 1fr; }
body.admin-ws .ws-subs__revenue { display: flex; flex-direction: column; gap: .2rem; justify-content: center; padding: 1rem 1.25rem; background: var(--tl-brand-soft); border-inline-end: 1px solid var(--ws-line-2); }
body.admin-ws .ws-subs__rev-label { font-size: 12px; font-weight: 600; color: var(--tl-muted); }
body.admin-ws .ws-subs__rev-value { font-size: 1.6rem; font-weight: 700; color: var(--tl-brand); font-variant-numeric: tabular-nums; line-height: 1.2; }
body.admin-ws .ws-subs__grid { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.admin-ws .ws-subs__cell { display: flex; flex-direction: column; gap: .1rem; padding: .8rem 1.1rem; border-inline-end: 1px solid var(--ws-line-2); border-bottom: 1px solid var(--ws-line-2); color: var(--tl-ink); text-decoration: none; transition: background-color .15s ease; }
body.admin-ws .ws-subs__cell:nth-child(3n) { border-inline-end: 0; }
body.admin-ws .ws-subs__cell:nth-last-child(-n+3) { border-bottom: 0; }
body.admin-ws a.ws-subs__cell:hover { background: var(--ws-hover); color: var(--tl-ink); }
body.admin-ws .ws-subs__cell dt { font-size: 12px; font-weight: 500; color: var(--tl-muted); }
body.admin-ws .ws-subs__cell dd { margin: 0; font-size: 1.3rem; font-weight: 700; font-variant-numeric: tabular-nums; }
body.admin-ws .ws-subs__cell.is-warn dd { color: var(--tl-olive); }
body.admin-ws .ws-subs__cell.is-bad dd { color: var(--tl-danger); }
body.admin-ws .ws-subs__cell.is-ok dd { color: var(--tl-brand); }

/* secondary analytics: smaller charts */
body.admin-ws .ws-dashboard .ws-panel__body--grow > .ws-chart { min-height: 250px; }

@media (max-width: 1199.98px) {
  body.admin-ws .ws-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.admin-ws .ws-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.admin-ws .ws-flow__step:nth-child(3n) { border-inline-end: 0; }
  body.admin-ws .ws-flow__step:nth-child(-n+3) { border-bottom: 1px solid var(--ws-line-2); }
  body.admin-ws .ws-subs__body { grid-template-columns: 1fr; }
  body.admin-ws .ws-subs__revenue { border-inline-end: 0; border-bottom: 1px solid var(--ws-line-2); }
}
@media (max-width: 767.98px) {
  body.admin-ws .ws-kpis { grid-template-columns: 1fr; }
  body.admin-ws .ws-attn__row { flex-wrap: wrap; }
  body.admin-ws .ws-attn__main { flex-basis: calc(100% - 120px); }
  body.admin-ws .ws-attn__cta { margin-inline-start: 44px; }
  body.admin-ws .ws-subs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.admin-ws .ws-subs__cell:nth-child(3n) { border-inline-end: 1px solid var(--ws-line-2); }
  body.admin-ws .ws-subs__cell:nth-child(2n) { border-inline-end: 0; }
  body.admin-ws .ws-subs__cell:nth-last-child(-n+3) { border-bottom: 1px solid var(--ws-line-2); }
  body.admin-ws .ws-subs__cell:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.admin-ws .ws-kpi, body.admin-ws .ws-flow__step, body.admin-ws .ws-subs__cell { transition: none; }
  body.admin-ws a.ws-kpi:hover { transform: none; }
}
body.admin-ws .row.g-3.ws-dash-row { align-items: stretch; }
body.admin-ws .row.g-3.ws-dash-row.align-items-start { align-items: flex-start; }
