/* ═══════════════════════════════════════════════════════════════════════════
   TowerDesk — Shell v4 (v1.0.9.133 facelift). Pairs with js/modules-shell-v4.js.
   Loads after polish-v3.css. Uses the ui-pro tokens (--ws-*, --c*, --fs-*).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Top bar: shared (both menu layouts) ─────────────────────────────────── */
body.td4 .ly .tb .tb-s { display: none !important; }
body.td4 .ly .tb #lang-sel { display: none !important; }
body.td4 .ly .tb .mob-search-btn { display: none !important; }
body.td4 .td4-brand { display: none; }

.td4-find {
  display: inline-flex; align-items: center; gap: 9px; height: 36px; min-width: 300px; padding: 0 8px 0 12px;
  background: var(--s50); border: 1px solid var(--ws-line); border-radius: 9px; color: var(--ws-faint);
  font: inherit; font-size: var(--fs-sm); cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s;
}
.td4-find:hover { background: #fff; border-color: var(--ws-line-strong); color: var(--ws-muted); }
.td4-find:focus-visible { outline: none; border-color: var(--c500); box-shadow: 0 0 0 3px var(--ws-focus); }
.td4-find svg { width: 15px; height: 15px; flex-shrink: 0; }
.td4-find span { flex: 1; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td4-find kbd, .td4-pal kbd, .td4-pop kbd, .td4-keys kbd {
  font: 600 10.5px/1 var(--ff-body); color: var(--ws-muted); background: #fff; border: 1px solid var(--ws-line);
  border-bottom-width: 2px; border-radius: 5px; padding: 3px 6px; white-space: nowrap;
}

.td4-new {
  display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px 0 12px; border-radius: 9px;
  background: var(--c500); color: #fff; border: 1px solid var(--c500); font: inherit; font-size: var(--fs-sm); font-weight: 600;
  cursor: pointer; transition: background .15s, box-shadow .15s; white-space: nowrap;
}
.td4-new:hover { background: var(--c600); border-color: var(--c600); }
.td4-new:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--ws-focus); }
.td4-new svg { width: 15px; height: 15px; }
.td4-new svg:last-child { width: 13px; height: 13px; opacity: .8; margin-left: 1px; }

.td4-me {
  width: 34px; height: 34px; border-radius: 50%; padding: 0; border: 1px solid var(--ws-line); background: var(--c500); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font: 650 12px/1 var(--ff-body); letter-spacing: .02em;
  cursor: pointer; overflow: hidden; flex-shrink: 0; margin-left: 2px;
}
.td4-me img { width: 100%; height: 100%; object-fit: cover; }
.td4-me:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--ws-focus); }

.td4-star {
  width: 30px; height: 30px; border-radius: 8px; border: 1px solid transparent; background: transparent; color: var(--ws-faint);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; margin-left: 6px; flex-shrink: 0; padding: 0;
  transition: color .15s, background .15s;
}
.td4-star svg { width: 17px; height: 17px; }
.td4-star:hover { background: var(--ws-hover); color: var(--ws-ink-2); }
.td4-star.on { color: #d99a06; }
.td4-star:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--ws-focus); }

/* side-mode: a little more room for the new controls */
@media (max-width: 1280px) {
  body.td4:not(.td4-top) .td4-find { min-width: 0; width: 38px; padding: 0; justify-content: center; }
  body.td4:not(.td4-top) .td4-find span, body.td4:not(.td4-top) .td4-find kbd { display: none; }
}

/* ── TOP MENU layout ─────────────────────────────────────────────────────── */
body.td4-top .ly .sb, body.td4-top #sbo { display: none !important; }
body.td4-top .ly .mn { margin-left: 0 !important; }
body.td4-top #td-footer { left: 0 !important; }
body.td4-top .ly .tb { height: 60px; position: sticky; top: 0; z-index: 60; }
body.td4-top .ly .tb .mt, body.td4-top .ly .tb .tb-t { display: none !important; }
/* v1.0.9.134 — ONE container for the top bar, the menu bar and the page, so the
   logo, the first menu item and the page content share a left edge (and the
   right edges line up) at every width. */
body.td4 { --td4-w: 1440px; --td4-pad: 32px; --td4-mbp: 11px; }
@media (max-width: 1400px) { body.td4 { --td4-pad: 24px; } }
body.td4-top .ly .tb .tb-inner { padding: 0 var(--td4-pad); gap: 16px; max-width: calc(var(--td4-w) + 2 * var(--td4-pad)); margin: 0 auto; }
body.td4-top .td4-brand {
  display: inline-flex; align-items: center; gap: 11px; text-decoration: none; color: var(--ws-ink); min-width: 0; flex-shrink: 1; margin-right: 8px;
}
body.td4-top .td4-brand img { height: 36px; width: auto; max-width: 92px; object-fit: contain; border: 1px solid var(--ws-line); border-radius: 8px; padding: 3px; background: #fff; }
.td4-brand-ph { width: 36px; height: 36px; border-radius: 8px; background: var(--ws-selected); color: var(--c600); display: inline-flex; align-items: center; justify-content: center; }
.td4-brand-t { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.td4-brand-t b { font-size: 14.5px; font-weight: 650; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.td4-brand-t small { font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--ws-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
body.td4-top .ly .tb .tb-inner > div:last-child { gap: 8px !important; }
body.td4-top .td4-find { min-width: 340px; }

.td4-menu { display: none; }
body.td4-top .td4-menu {
  display: flex; align-items: stretch; position: sticky; top: 60px; z-index: 59; height: 46px;
  background: #fff; border-bottom: 1px solid var(--ws-line); padding: 0; box-shadow: 0 1px 0 rgba(16, 24, 40, .02);
}
body.td4-top .td4-menu-in, body.td4-top .td4-menu-end { display: flex; align-items: stretch; }
body.td4-top .td4-menu-in { flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; gap: 2px; }
body.td4-top .td4-menu-in::-webkit-scrollbar { display: none; }
body.td4-top .td4-menu-wrap { display: flex; align-items: stretch; width: 100%; max-width: calc(var(--td4-w) + 2 * var(--td4-pad)); margin: 0 auto; padding: 0 var(--td4-pad); min-width: 0; }
body.td4-top .td4-menu-in { margin-left: calc(-1 * var(--td4-mbp)); }
body.td4-top .td4-menu-end { align-items: center; gap: 4px; padding-left: 12px; margin-left: 8px; border-left: 1px solid var(--ws-line); }
.td4-mb {
  position: relative; display: inline-flex; align-items: center; gap: 5px; padding: 0 var(--td4-mbp, 11px); border: 0; background: transparent;
  font: inherit; font-size: 13px; font-weight: 550; color: var(--ws-ink-2); cursor: pointer; white-space: nowrap; border-radius: 0;
}
.td4-mb-s { display: none; }
.td4-short .td4-mb-l { display: none; }
.td4-short .td4-mb-s { display: inline; }
.td4-tight { --td4-mbp: 8px; }
.td4-tight .td4-mb { font-size: 12.5px; }
.td4-tight .td4-quick span { display: none; }
.td4-mb svg { width: 13px; height: 13px; color: var(--ws-faint); transition: transform .18s; }
.td4-mb:hover, .td4-mb.open { color: var(--ws-ink); background: var(--ws-hover); }
.td4-mb.open svg { transform: rotate(180deg); }
.td4-mb::after { content: ''; position: absolute; left: var(--td4-mbp, 11px); right: var(--td4-mbp, 11px); bottom: -1px; height: 2px; border-radius: 2px 2px 0 0; background: transparent; }
.td4-mb.cur { color: var(--c700); }
.td4-mb.cur::after { background: var(--c500); }
.td4-mb:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--ws-focus); }
.td4-quick {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: 8px; border: 1px solid transparent;
  background: transparent; font: inherit; font-size: 12.5px; font-weight: 550; color: var(--ws-muted); cursor: pointer; white-space: nowrap;
}
.td4-quick svg { width: 15px; height: 15px; }
.td4-quick svg:last-child { width: 12px; height: 12px; }
.td4-quick:hover, .td4-quick[aria-expanded="true"] { background: var(--ws-hover); color: var(--ws-ink); }
body.td4-top .td4-menu .td4-star { margin-left: 0; }

/* page canvas: centred, roomy */
body.td4-top .ly .ct { max-width: calc(var(--td4-w) + 2 * var(--td4-pad)); margin-left: auto; margin-right: auto; padding: 24px var(--td4-pad) 48px; }

/* mega panel */
.td4-mega {
  position: fixed; z-index: 1200; background: #fff; border: 1px solid var(--ws-line); border-radius: 0 0 14px 14px;
  box-shadow: 0 22px 48px -18px rgba(16, 24, 40, .28), 0 2px 6px rgba(16, 24, 40, .05); padding: 14px 14px 12px;
  animation: td4In .14s ease-out; max-height: calc(100vh - 130px); overflow: auto;
}
.td4-mega[hidden] { display: none !important; }
.td4-mega.td4-cols-1 { width: 360px; }
.td4-mega.td4-cols-2 { width: 640px; }
.td4-mega.td4-cols-3 { width: 900px; }
.td4-mega-h { display: flex; align-items: center; gap: 8px; padding: 2px 8px 10px; margin-bottom: 6px; border-bottom: 1px solid var(--ws-line); font-size: 12px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; color: var(--ws-muted); }
.td4-mega-h small { margin-left: auto; font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ws-faint); }
.td4-mega-ic svg { width: 15px; height: 15px; color: var(--c500); display: block; }
.td4-mega-g { display: grid; gap: 2px 8px; }
.td4-cols-2 .td4-mega-g { grid-template-columns: 1fr 1fr; }
.td4-cols-3 .td4-mega-g { grid-template-columns: 1fr 1fr 1fr; }
.td4-mi { display: flex; align-items: flex-start; gap: 11px; padding: 9px 10px; border-radius: 10px; text-decoration: none; color: inherit; outline: none; }
.td4-mi:hover, .td4-mi:focus-visible { background: var(--ws-hover); }
.td4-mi:focus-visible { box-shadow: inset 0 0 0 2px var(--ws-focus); }
.td4-mi.cur { background: var(--ws-selected); }
.td4-mi-ic { width: 32px; height: 32px; border-radius: 9px; background: var(--s50); border: 1px solid var(--ws-line); color: var(--c600); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.td4-mi-ic svg { width: 16px; height: 16px; }
.td4-mi.cur .td4-mi-ic { background: #fff; border-color: color-mix(in srgb, var(--c500) 35%, #fff); }
.td4-mi-t { display: flex; flex-direction: column; min-width: 0; gap: 1px; }
.td4-mi-t b { font-size: 13.5px; font-weight: 600; color: var(--ws-ink); }
.td4-mi-t small { font-size: 12px; line-height: 1.35; color: var(--ws-muted); }
@keyframes td4In { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* ── popovers (+ New, account, quick access) ─────────────────────────────── */
.td4-pop {
  position: fixed; z-index: 1300; background: #fff; border: 1px solid var(--ws-line); border-radius: 14px; padding: 6px;
  box-shadow: 0 22px 48px -18px rgba(16, 24, 40, .3), 0 2px 6px rgba(16, 24, 40, .06); animation: td4In .12s ease-out;
  max-height: calc(100vh - 24px); overflow: auto;
}
.td4-pop[hidden] { display: none !important; }
.td4-pop-new { width: 320px; }
.td4-pop-quick { width: 300px; }
.td4-pop-me { width: 300px; }
.td4-pop-h { font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; color: var(--ws-faint); padding: 10px 10px 6px; }
.td4-pop-sep { height: 1px; background: var(--ws-line); margin: 6px 4px; }
.td4-pop-empty { display: flex; gap: 8px; align-items: flex-start; padding: 6px 10px 10px; font-size: 12.5px; color: var(--ws-muted); }
.td4-pop-empty svg { width: 15px; height: 15px; flex-shrink: 0; margin-top: 1px; color: var(--ws-faint); }
.td4-pi {
  display: flex; align-items: center; gap: 11px; width: 100%; padding: 8px 10px; border: 0; background: transparent; border-radius: 9px;
  font: inherit; color: var(--ws-ink); text-align: left; cursor: pointer; text-decoration: none;
}
.td4-pi:hover, .td4-pi:focus-visible { background: var(--ws-hover); outline: none; }
.td4-pi-ic { width: 32px; height: 32px; border-radius: 9px; background: var(--ws-selected); color: var(--c600); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.td4-pi-ic svg { width: 16px; height: 16px; }
.td4-pi-s { padding: 6px 10px; }
.td4-pi-s .td4-pi-ic { width: 28px; height: 28px; background: transparent; color: var(--ws-muted); }
.td4-pi-t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.td4-pi-t b { font-size: 13.5px; font-weight: 600; }
.td4-pi-t small { font-size: 12px; color: var(--ws-muted); line-height: 1.35; }
.td4-pi-star svg { width: 14px; height: 14px; color: #d99a06; }
.td4-out { color: #b42318; }
.td4-out .td4-pi-ic { color: #b42318 !important; }
.td4-me-h { display: flex; gap: 12px; align-items: center; padding: 10px 10px 12px; border-bottom: 1px solid var(--ws-line); margin-bottom: 6px; }
.td4-me-h > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.td4-me-h b { font-size: 14px; font-weight: 650; }
.td4-me-h small { font-size: 12px; color: var(--ws-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td4-me-av { width: 40px; height: 40px; border-radius: 50%; background: var(--c500); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 650; overflow: hidden; flex-shrink: 0; }
.td4-me-av img { width: 100%; height: 100%; object-fit: cover; }
.td4-lang select { margin-left: auto; max-width: 140px; height: 30px; border: 1px solid var(--ws-line); border-radius: 7px; padding: 0 8px; font: inherit; font-size: 12.5px; background: #fff; color: var(--ws-ink); }
.td4-lay { cursor: default; }
.td4-seg { display: inline-flex; margin-left: auto; background: var(--s100); border-radius: 8px; padding: 2px; }
.td4-seg button { border: 0; background: transparent; font: inherit; font-size: 12px; font-weight: 600; color: var(--ws-muted); padding: 4px 9px; border-radius: 6px; cursor: pointer; }
.td4-seg button.on { background: #fff; color: var(--ws-ink); box-shadow: 0 1px 2px rgba(16, 24, 40, .12); }

/* ── sidebar favourites ──────────────────────────────────────────────────── */
.td4-favh { display: flex; align-items: center; gap: 8px; padding: 10px 10px 4px 12px; font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; color: var(--ws-faint); }
.td4-favh svg { width: 13px; height: 13px; color: #d99a06; }
.ly .sbp .td4-favg { padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid var(--ws-line); }
.ly .sbp .td4-favg .sbg-b { display: block !important; max-height: none !important; }
.ly .sbp .td4-favg .ni { padding-left: 14px; }
.ly .sbp .td4-favg .ni svg { display: inline-block !important; width: 15px; height: 15px; color: var(--ws-faint); }

/* ── command palette ─────────────────────────────────────────────────────── */
.td4-pal { position: fixed; inset: 0; z-index: 2000; background: rgba(15, 21, 35, .42); display: flex; align-items: flex-start; justify-content: center; padding: 12vh 16px 16px; animation: td4Fade .12s ease-out; }
.td4-pal[hidden] { display: none !important; }
.td4-pal-box { width: 100%; max-width: 640px; background: #fff; border-radius: 16px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .45); overflow: hidden; display: flex; flex-direction: column; max-height: 76vh; }
.td4-pal-in { display: flex; align-items: center; gap: 10px; padding: 0 12px 0 18px; border-bottom: 1px solid var(--ws-line); }
.td4-pal-in > svg { width: 18px; height: 18px; color: var(--ws-faint); flex-shrink: 0; }
.td4-pal-in input { flex: 1; height: 58px; border: 0; outline: none; font: inherit; font-size: 16px; color: var(--ws-ink); background: transparent; min-width: 0; }
.td4-pal-x { width: 32px; height: 32px; border: 0; background: transparent; border-radius: 8px; color: var(--ws-faint); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.td4-pal-x:hover { background: var(--ws-hover); color: var(--ws-ink); }
.td4-pal-list { overflow-y: auto; padding: 6px 8px 8px; flex: 1; }
.td4-pal-sec { font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; color: var(--ws-faint); padding: 12px 10px 6px; }
.td4-pr { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 10px; border: 0; background: transparent; border-radius: 10px; text-align: left; font: inherit; color: var(--ws-ink); text-decoration: none; cursor: pointer; }
.td4-pr.sel { background: var(--ws-selected); }
.td4-pr-ic { width: 32px; height: 32px; border-radius: 9px; border: 1px solid var(--ws-line); background: var(--s50); color: var(--c600); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.td4-pr-ic svg { width: 16px; height: 16px; }
.td4-pr-act { background: var(--c500); border-color: var(--c500); color: #fff; }
.td4-pr-ent { background: #fff; color: var(--ws-ink-2); }
.td4-pr-t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.td4-pr-t b { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td4-pr-t small { font-size: 12px; color: var(--ws-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.td4-pr-g { font-size: 11px; font-weight: 600; color: var(--ws-faint); white-space: nowrap; padding: 3px 8px; border-radius: 999px; background: var(--s100); }
.td4-pr.sel .td4-pr-g { background: #fff; }
.td4-pal-empty { padding: 28px 16px; text-align: center; color: var(--ws-muted); font-size: 13.5px; }
.td4-pal-foot { display: flex; gap: 16px; align-items: center; padding: 10px 16px; border-top: 1px solid var(--ws-line); background: var(--s50); font-size: 12px; color: var(--ws-muted); flex-wrap: wrap; }
.td4-pal-foot span { display: inline-flex; gap: 5px; align-items: center; }
.td4-pal-foot-r { margin-left: auto; }
body.td4-pal-open { overflow: hidden; }
@keyframes td4Fade { from { opacity: 0; } to { opacity: 1; } }

/* keyboard sheet */
.td4-keys { display: grid; gap: 2px; min-width: min(460px, 80vw); }
.td4-keys > div { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 8px 4px; border-bottom: 1px solid var(--ws-line); }
.td4-keys > div:last-child { border-bottom: 0; }
.td4-keys b { font-weight: 500; font-size: 13.5px; color: var(--ws-ink-2); text-align: right; }
.td4-keys span { display: inline-flex; gap: 4px; align-items: center; }
.td4-keys i { font-style: normal; font-size: 11px; color: var(--ws-faint); }

/* ── phone ────────────────────────────────────────────────────────────────── */
.td4-tabs { display: none; }
@media (max-width: 768px) {
  body.td4 .td4-find, body.td4 .td4-new, body.td4 .td4-me { display: none !important; }
  body.td4 .ly .tb .mob-search-btn { display: none !important; }
  /* page name in the top bar, not "Building · Page" */
  body.td4 .ly .tb .tb-t { font-size: 0 !important; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; flex: 1; }
  body.td4 .ly .tb .tb-t .tb-t-sep { display: none !important; }
  body.td4 .ly .tb .tb-t .tb-t-pg { font-size: 16px !important; font-weight: 650; display: block; overflow: hidden; text-overflow: ellipsis; }
  body.td4 .td4-star { margin-left: 0; width: 34px; height: 34px; }

  body.td4 .td4-tabs {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; background: rgba(255, 255, 255, .97);
    border-top: 1px solid var(--ws-line); padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 -6px 20px -14px rgba(16, 24, 40, .25);
  }
  .td4-tab {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 52px;
    border: 0; background: transparent; font: inherit; font-size: 10.5px; font-weight: 600; color: var(--ws-muted); text-decoration: none; border-radius: 10px; cursor: pointer;
  }
  .td4-tab svg { width: 21px; height: 21px; }
  .td4-tab.cur { color: var(--c600); }
  .td4-tab.cur svg { stroke-width: 2.2; }
  .td4-tab:active { background: var(--ws-hover); }
  .td4-tab-cb { width: 40px; height: 32px; border-radius: 11px; background: var(--c500); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 6px 14px -6px color-mix(in srgb, var(--c500) 70%, transparent); }
  .td4-tab-cb svg { width: 20px; height: 20px; }
  .td4-tab-c { color: var(--c700); }
  body.td4 .ly .mn { padding-bottom: calc(72px + env(safe-area-inset-bottom)) !important; }
  body.td4 #td-footer { position: static !important; height: auto !important; padding: 14px 0 calc(82px + env(safe-area-inset-bottom)) !important; background: transparent !important; border: 0 !important; }
  body.td4 .ly .mn { min-height: calc(100vh - 40px); }
  .td4-pop-new { width: calc(100vw - 20px); }
  body.td4 .toast { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
  /* page floating buttons sat on top of the tab bar */
  body.td4 #cp-fab, body.td4 .ast-fab-wrap, body.td4 [class$="-fab"], body.td4 [class*="-fab "] { bottom: calc(80px + env(safe-area-inset-bottom)) !important; }
  .td4-pal { padding: 0; align-items: stretch; }
  .td4-pal-box { max-width: none; max-height: none; height: 100%; border-radius: 0; }
  .td4-pal-foot { display: none; }
  .td4-pr-g { display: none; }

  /* compact page headers — content starts sooner */
  body.td4 #pg [data-td-hero]:not([data-td-hero="panel"]) { padding: 14px 16px !important; margin-bottom: 12px !important; }
  body.td4 #pg [data-td-hero] h1, body.td4 #pg [data-td-hero] h2 { font-size: 20px !important; }
  body.td4 #pg [data-td-stats] [data-td-stat-n] { font-size: 19px !important; }
  body.td4 #pg [data-td-stats] [data-td-stat-l] { font-size: 10px !important; }
  body.td4 #pg [data-td-stats] [data-td-stat] { padding: 8px 10px !important; }
  body.td4 #pg [data-td-stats] > [data-td-stat] { flex: 1 1 28% !important; min-width: 0 !important; }
  /* dashboard greeting: drop the clock/weather boxes on phones (status pill stays) */

  /* tables that would run off-screen scroll inside their card */
  .td4-tscroll { overflow-x: auto !important; -webkit-overflow-scrolling: touch; max-width: 100%; }
  /* tab strips with flex:1 buttons squeezed to unreadable width */
  #pg [style*="overflow-x:auto"] > button[style*="flex:1"][style*="min-width:0"] { flex: 0 0 auto !important; min-width: max-content !important; }
  /* header rows: a flex:1/min-width:0 title next to a no-shrink action group collapsed to 2px */
  #pg [style*="flex-wrap:wrap"] > [style*="min-width:0"][style*="flex:1"] { flex: 1 1 220px !important; }
}

#td-footer img.td4-foot-logo { height: 20px !important; width: auto !important; opacity: .85 !important; }

/* Stock emoji painted from CSS (ui-pro's emoji pass only sees DOM text) */
.eb-form.is-visible .eb-form-hdr-titlewrap h3::before, .at-hero::after { content: none !important; }

/* ── RTL ──────────────────────────────────────────────────────────────────── */
/* polish-v3 sets data-td-rtl="0"/"1" — match the value, not the attribute. Chrome (menus) stays LTR like the rest of the shell. */
html[data-td-rtl="1"] .td4-pal-box { direction: rtl; text-align: right; }

/* print: no shell chrome */
@media print { .td4-menu, .td4-tabs, .td4-pal, .td4-pop, .td4-mega { display: none !important; } }

/* ── v1.0.9.134: ONE page-header language ─────────────────────────────────
   Facility / Lift / Car park used a dark photographic banner, the only dark
   block in an otherwise light product. Re-dressed in the dashboard's hero
   language: light card, brand wash, building photo on the right, a joined
   stat strip along the bottom. Markup and buttons are untouched. */
#pg .bk2-arrive { background: #fff !important; color: var(--ws-ink) !important; border: 1px solid var(--s200, #e4e7ec); box-shadow: 0 1px 2px rgba(16,24,40,.04) !important; border-radius: 18px !important; min-height: 0 !important; isolation: isolate; grid-template-columns: minmax(0,1fr) minmax(240px,30%); grid-template-rows: 1fr auto; }
#pg .bk2-arrive .bk2-arrive-in { grid-column: 1; grid-row: 1; max-width: none; padding: 28px 32px 24px; position: relative; z-index: 2; background: linear-gradient(115deg, color-mix(in srgb, var(--c500) 7%, #fff) 0%, #fff 62%); }
#pg .bk2-arrive.has-img::before { left: auto; right: 0; top: 0; bottom: auto; height: calc(100% - var(--bk2-stats-h, 0px)); width: 30%; min-width: 240px; z-index: 0; transform: none; background-position: center 38%; grid-row: 1; }
#pg .bk2-arrive.has-img::after { left: auto; right: 0; width: 30%; min-width: 240px; z-index: 1; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.55) 14%, rgba(255,255,255,0) 40%) !important; }
#pg .bk2-arrive:not(.has-img) { grid-template-columns: 1fr; }
#pg .bk2-arrive .bk2-h1 { color: var(--ws-ink) !important; font-size: 30px; font-weight: 700; letter-spacing: -.6px; margin: 6px 0 6px; }
#pg .bk2-arrive .bk2-arrive-sub { color: var(--s500, #6b7280) !important; font-size: 13.5px; margin-bottom: 18px; }
#pg .bk2-arrive .bk2-eyebrow-light { color: var(--c700) !important; opacity: 1; }
#pg .bk2-arrive .bk2-btn-white { background: var(--c500); border-color: var(--c500); color: #fff; box-shadow: none; }
#pg .bk2-arrive .bk2-btn-white:hover { background: var(--c600); border-color: var(--c600); color: #fff; }
#pg .bk2-arrive .bk2-btn-glass, #pg .bk2-arrive .bk2-arrive-acts > button:not(.bk2-btn-white):not(.bk2-btn-primary), #pg .bk2-arrive .bk2-arrive-acts > a { background: #fff !important; border: 1px solid var(--s200, #e4e7ec) !important; color: var(--s700, #344054) !important; backdrop-filter: none !important; }
#pg .bk2-arrive .bk2-btn-glass:hover, #pg .bk2-arrive .bk2-arrive-acts > button:not(.bk2-btn-white):not(.bk2-btn-primary):hover { border-color: var(--c400) !important; color: var(--c700) !important; }
#pg .bk2-arrive .bk2-arrive-stats { grid-column: 1 / -1; grid-row: 2; position: relative; z-index: 2; background: var(--s200, #e4e7ec) !important; backdrop-filter: none; border-top: 1px solid var(--s200, #e4e7ec); padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1px; }
#pg .bk2-arrive .bk2-stat { background: #fff; border-right: 0; padding: 14px 22px; min-width: 0; }
#pg .bk2-arrive .bk2-stat b { color: var(--ws-ink) !important; font-size: 22px; font-weight: 700; }
#pg .bk2-arrive .bk2-stat span { color: var(--s500, #6b7280) !important; font-size: 11.5px; letter-spacing: 0; text-transform: none; font-weight: 600; }
@media (max-width: 900px) {
  #pg .bk2-arrive { grid-template-columns: 1fr; grid-template-rows: 110px auto auto; }
  #pg .bk2-arrive.has-img::before, #pg .bk2-arrive.has-img::after { width: 100%; height: 110px; min-width: 0; }
  #pg .bk2-arrive.has-img::after { background: linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 60%) !important; }
  #pg .bk2-arrive .bk2-arrive-in { grid-row: 2; padding: 16px 18px 18px; background: #fff; }
  #pg .bk2-arrive:not(.has-img) { grid-template-rows: auto auto; }
  #pg .bk2-arrive:not(.has-img) .bk2-arrive-in { grid-row: 1; }
  #pg .bk2-arrive .bk2-arrive-stats { grid-row: 3; grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #pg .bk2-arrive:not(.has-img) .bk2-arrive-stats { grid-row: 2; }
  #pg .bk2-arrive .bk2-h1 { font-size: 22px; }
  #pg .bk2-arrive .bk2-stat { padding: 10px 12px; }
  #pg .bk2-arrive .bk2-stat b { font-size: 18px; }
}
