/* ═══════════════════════════════════════════════════════════
   IN-LAB TOPBAR — Merkezi Stil Dosyası
   Tüm IN-LAB alt sayfaları bu dosyayı kullanır.
   Değişiklik için sadece bu dosyayı düzenle.
═══════════════════════════════════════════════════════════ */

/* ── IN-LAB Ortak Hizalama ──
   Topbar logo SOL kenarı ile HUD sol başlık SOL kenarı aynı x koordinatında
   olmalı. Bu padding tek değişkende toplandı. */
:root {
  --inlab-edge-pad: clamp(1.1rem, 3vw, 2rem);
}

/* ── Topbar Ana Kapsayıcı ── */
.inlab-topbar {
  position: fixed; top: 0; left: 0; right: 0; height: 52px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--inlab-edge-pad);
  /* Bir ton daha koyu — daha derin siyah */
  background: rgba(8, 8, 8, .98);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(154, 154, 154, .07);
  z-index: 9200;
}

/* ── Sol: Marka Logosu ── */
.inlab-topbar__brand {
  display: flex; align-items: center; gap: .7rem;
  text-decoration: none; flex-shrink: 0;
}
.inlab-topbar__brand img {
  height: 26px; width: auto; opacity: .72;
  transition: opacity .22s;
}
.inlab-topbar__brand:hover img { opacity: 1; }

/* ── Orta: Badge + Sayfa Adı ──
   IN-LAB · / · PAGE NAME — ince, monospace, teknik bir his.
   BETA → ayrı pixel font, kontrast yaratır.
*/
.inlab-topbar__center {
  position: absolute; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 6px;
  pointer-events: none;
  /* HOME butonu ile aynı font, %15 daha büyük.
     px kullanıyoruz — root font-size farklı olan sayfalarda (örn. kaahin 13px) tutarlı kalsın */
  font-family: 'Poppins', sans-serif !important;
  font-size: 7.7px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  color: #fff !important;
}
/* IN-LAB · / · PAGE NAME — hepsi AYNI font, AYNI boyut, AYNI weight, BEYAZ */
.inlab-topbar__badge,
.inlab-topbar__sep,
.inlab-topbar__name {
  font-family: 'Poppins', sans-serif !important;
  font-size: 1em !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  line-height: 1 !important;
}
.inlab-topbar__sep {
  margin: 0 .1rem;
  opacity: .55;
}

/* ── BETA rozeti — ayrı pixel font, küçük kontrast etiketi ──
   Tek standart: .inlab-beta sınıfı. Merkezi js/inlab-topbar.js otomatik enjekte eder. */
.inlab-topbar__center .inlab-beta,
.inlab-topbar__name   .inlab-beta {
  display: inline-block;
  margin-left: .55em;
  vertical-align: middle;
  font-family: 'Press Start 2P', 'JetBrains Mono', monospace !important;
  font-size: .42rem !important;
  font-weight: 400 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  padding: .32em .42em .26em;
  color: #fff !important;
  background: #e92038;
  border-radius: 1px;
  box-shadow: 0 0 6px rgba(233, 32, 56, .4);
  pointer-events: none;
  user-select: none;
  position: relative;
  top: -1px;
}

/* ── Sağ: Navigasyon + Hamburger ── */
.inlab-topbar__right {
  display: flex; align-items: center; gap: .5rem; flex-shrink: 0;
}

/* Hamburger butonu */
.inlab-topbar__burger {
  display: flex; flex-direction: column; justify-content: center;
  align-items: center; gap: 4.5px;
  width: 38px; height: 38px;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .1);
  cursor: pointer;
  transition: background .2s, border-color .2s;
  flex-shrink: 0;
}
.inlab-topbar__burger:hover {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .25);
}
.inlab-topbar__burger span {
  display: block; width: 15px; height: 1.5px;
  background: rgba(255, 255, 255, .65);
  transition: transform .25s, opacity .2s, background .2s;
  transform-origin: center;
}
.inlab-topbar__burger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); background: #fff; }
.inlab-topbar__burger.open span:nth-child(2) { opacity: 0; }
.inlab-topbar__burger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); background: #fff; }

/* Normal nav linkleri */
.inlab-topbar__nav {
  display: flex; align-items: center; gap: .4rem; flex-shrink: 0;
}
.inlab-topbar__nav a {
  display: inline-flex; align-items: center; gap: 7px;
  height: 38px; padding: 0 16px;
  font-family: 'Poppins', sans-serif;
  font-size: 6.7px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255, 255, 255, .45);
  border: 1px solid rgba(255, 255, 255, .1);
  text-decoration: none;
  transition: color .2s, border-color .2s, background .2s;
}
.inlab-topbar__nav a i { font-size: 11.5px; }
.inlab-topbar__nav a:hover {
  color: #fff; border-color: rgba(255, 255, 255, .3);
  background: rgba(255, 255, 255, .06);
}

/* ── Hamburger Dropdown Menüsü ── */
.inlab-menu-dropdown {
  position: fixed; top: 52px; right: 0;
  width: 320px;
  background: rgba(6, 6, 6, .98);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border-left: 1px solid rgba(255, 255, 255, .08);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  z-index: 9199;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
  padding: .8rem 0;
}
.inlab-menu-dropdown.open {
  transform: translateX(0);
}

/* Dropdown başlık */
.inlab-menu-dropdown__label {
  font-family: 'Poppins', sans-serif;
  font-size: .34rem; letter-spacing: .34em; text-transform: uppercase;
  color: rgba(255, 255, 255, .2);
  padding: .5rem 1.6rem .6rem;
}

/* Dropdown öğeler */
.inlab-menu-dropdown a {
  display: flex; align-items: center; gap: 1rem;
  padding: .75rem 1.6rem;
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: background .18s, border-color .18s, padding-left .2s;
  position: relative;
}
.inlab-menu-dropdown a:hover {
  background: rgba(255, 255, 255, .04);
  border-left-color: rgba(233, 32, 56, .55);
  padding-left: 2rem;
}
.inlab-menu-dropdown a.active {
  border-left-color: #e92038;
  background: rgba(233, 32, 56, .07);
}

/* İkon kutusu */
.inlab-menu-item__icon {
  width: 34px; height: 34px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 4px;
  transition: background .18s, border-color .18s;
}
.inlab-menu-item__icon i {
  font-size: .9rem;
  color: rgba(255, 255, 255, .35);
  transition: color .18s;
}
.inlab-menu-dropdown a:hover .inlab-menu-item__icon {
  background: rgba(233, 32, 56, .12);
  border-color: rgba(233, 32, 56, .3);
}
.inlab-menu-dropdown a:hover .inlab-menu-item__icon i { color: #e92038; }
.inlab-menu-dropdown a.active .inlab-menu-item__icon {
  background: rgba(233, 32, 56, .15);
  border-color: rgba(233, 32, 56, .4);
}
.inlab-menu-dropdown a.active .inlab-menu-item__icon i { color: #e92038; }

/* Metin bloğu */
.inlab-menu-item__text {
  display: flex; flex-direction: column; gap: .18rem;
  min-width: 0;
}
.inlab-menu-item__name {
  font-family: 'Poppins', sans-serif;
  font-size: .52rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: rgba(255, 255, 255, .5);
  transition: color .18s;
  line-height: 1;
}
.inlab-menu-item__desc {
  font-family: 'Poppins', sans-serif;
  font-size: .38rem; letter-spacing: .06em;
  color: rgba(255, 255, 255, .22);
  transition: color .18s;
  line-height: 1;
}
.inlab-menu-dropdown a:hover .inlab-menu-item__name,
.inlab-menu-dropdown a.active .inlab-menu-item__name { color: #fff; }
.inlab-menu-dropdown a:hover .inlab-menu-item__desc { color: rgba(255,255,255,.4); }
.inlab-menu-dropdown a.active .inlab-menu-item__desc { color: rgba(233,32,56,.6); }

/* Alt linkler (All Experiments, Home) — daha küçük */
.inlab-menu-link--small .inlab-menu-item__icon {
  width: 28px; height: 28px;
}
.inlab-menu-link--small .inlab-menu-item__icon i {
  font-size: .75rem;
}
.inlab-menu-link--small .inlab-menu-item__name {
  font-size: .44rem;
  font-weight: 500;
  color: rgba(255, 255, 255, .35);
}

/* Divider */
.inlab-menu-dropdown__divider {
  height: 1px; background: rgba(255, 255, 255, .06);
  margin: .5rem 0;
}

/* ── Backdrop (menü açıkken arka plan karartma) ── */
.inlab-menu-backdrop {
  display: none;
  position: fixed; inset: 0;
  z-index: 9198;
  cursor: pointer;
}
.inlab-menu-backdrop.open { display: block; }

/* ── Responsive ── */
@media (max-width: 760px) {
  .inlab-topbar__center { font-size: .6rem; gap: .35rem; }
}
@media (max-width: 480px) {
  .inlab-topbar__center { display: none; }
  .inlab-topbar__nav { display: none; }
  .inlab-menu-dropdown { width: 100%; border-left: none; }
}

/* ═══════════════════════════════════════════════════════════
   IN-LAB HUD — Intro Blur Gate (Çözüm 4: "No Flash")
   HUD'un DEFAULT state'i = blur + dim. Intro kapanınca netleşir.
   Bu sayede sayfa yüklenirken HUD önce parlak görünüp sonra bulanıklaşma
   geçişi yapmıyor; baştan bulanık başlıyor.
   id'ler: #il2Hud #bbHud #nmHud #pbHud #mcHud #heapHud #orHud #zipHud
   ────────────────────────────────────────────────────────
   Üst kenar: tüm IN-LAB HUD'lar için ortak koyu gri 1px çizgi.
═══════════════════════════════════════════════════════════ */

/* HUD üst kenarı + arka planı — topbar ile birebir eşleşir
   (tüm IN-LAB sayfaları)
   ÖNEMLİ: inset 0 1px 0 rgba(255,255,255,...) gibi iç gölgeler
   border-top'un hemen altına 1px açık çizgi koyup görüntüyü
   2px gibi gösteriyordu — kaldırıldı. */
#il2Hud, #bbHud, #nmHud, #pbHud, #mcHud, #heapHud, #orHud, #zipHud {
  border-top: 1px solid rgba(154, 154, 154, .07) !important;
  background: rgba(8, 8, 8, .98) !important;
  background-image: none !important; /* gradient override */
  box-shadow: none !important;       /* inset highlight kaldır */
}

/* Default (intro state) — HUD baştan blur+dim. Flash yok. */
#il2Hud, #bbHud, #nmHud, #pbHud, #mcHud, #heapHud, #orHud, #zipHud {
  will-change: filter, opacity, transform;
  filter: blur(4px) saturate(.75);
  opacity: .33;
  transform: translateY(4px);
  pointer-events: none;
  user-select: none;
  transition:
    filter      .65s cubic-bezier(.22, 1, .36, 1),
    opacity     .55s ease-out,
    transform   .7s  cubic-bezier(.22, 1, .36, 1);
}

/* Intro açıkken aynı state (CSS spesifiklik koruma) */
body.inlab-intro-active #il2Hud,
body.inlab-intro-active #bbHud,
body.inlab-intro-active #nmHud,
body.inlab-intro-active #pbHud,
body.inlab-intro-active #mcHud,
body.inlab-intro-active #heapHud,
body.inlab-intro-active #orHud,
body.inlab-intro-active #zipHud {
  filter: blur(4px) saturate(.75);
  opacity: .33;
  transform: translateY(4px);
  pointer-events: none;
  user-select: none;
}

/* Intro kapandıktan sonra "snap-in" — netleş */
@keyframes inlabHudReveal {
  0%   { filter: blur(4px) saturate(.75); opacity: .33; transform: translateY(4px); }
  100% { filter: blur(0)   saturate(1);   opacity: 1;   transform: translateY(0);   }
}
body.inlab-hud-ready:not(.inlab-intro-active) #il2Hud,
body.inlab-hud-ready:not(.inlab-intro-active) #bbHud,
body.inlab-hud-ready:not(.inlab-intro-active) #nmHud,
body.inlab-hud-ready:not(.inlab-intro-active) #pbHud,
body.inlab-hud-ready:not(.inlab-intro-active) #mcHud,
body.inlab-hud-ready:not(.inlab-intro-active) #heapHud,
body.inlab-hud-ready:not(.inlab-intro-active) #orHud,
body.inlab-hud-ready:not(.inlab-intro-active) #zipHud {
  filter: blur(0) saturate(1);
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  user-select: auto;
  animation: inlabHudReveal .75s cubic-bezier(.22, 1, .36, 1) .1s both;
}

/* Reduced motion: animasyon ve blur kapat */
@media (prefers-reduced-motion: reduce) {
  #il2Hud, #bbHud, #nmHud, #pbHud, #mcHud, #heapHud, #orHud, #zipHud {
    filter: none !important; opacity: 1 !important;
    transform: none !important; transition: none !important; animation: none !important;
    pointer-events: auto !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   IN-LAB HUD — Sol başlık + sağ aksiyon standardı (hizalama)
   Topbar logo SOL kenarı   = HUD sol başlık SOL kenarı
   Topbar hamburger SAĞ kenarı = HUD sağ ikon SAĞ kenarı
   ───────────────────────────────────────────────────────────
   ÖNEMLİ: HUD container'ın kendi yatay padding'i sıfırlanır,
   sol boşluğu title'ın padding-left'i, sağ boşluğu actions
   wrapper'ın padding-right'i sağlar. Aksi halde container
   padding + child padding = çift offset.
═══════════════════════════════════════════════════════════ */
#bbHud, #nmHud, #pbHud, #mcHud, #il2Hud, #heapHud {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* SOL — başlık padding-left */
.inlab-hud__title,
#bbHud .hud-game-title,
#pbHud .hud-game-title,
#mcHud .hud-title,
#il2Hud .hud-title,
#nmHud .inlab-hud__title,
#heapHud .inlab-hud__title {
  padding-left: var(--inlab-edge-pad) !important;
  padding-right: 1.1rem !important;
  margin-left: 0 !important;
}

/* SAĞ — actions/btn-group padding-right (logo simetrisi) */
.inlab-hud__actions,
#bbHud .hud-btn-group,
#pbHud .hud-btn-group,
#nmHud .hud-btn-group,
#mcHud .hud-actions,
#il2Hud .hud-actions {
  padding-right: var(--inlab-edge-pad) !important;
  margin-right: 0 !important;
}

.inlab-hud__title-text,
#bbHud .hud-game-title__main,
#pbHud .hud-game-title__main,
#mcHud .hud-title,
#il2Hud .hud-title {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  letter-spacing: -.005em !important;
  line-height: 1 !important;
}
@media (max-width: 720px) {
  .inlab-hud__title-text,
  #bbHud .hud-game-title__main,
  #pbHud .hud-game-title__main,
  #mcHud .hud-title,
  #il2Hud .hud-title {
    font-size: 1.25rem !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   BOSS MODE — pixel-art trigger + Excel-like overlay disguise
═══════════════════════════════════════════════════════════ */

/* Pixel font for the BOSS COMING! tooltip */
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');

/* ── iOS-style on/off toggle trigger ──
   Lives inside .inlab-topbar__right, just to the LEFT of the
   "IN-LAB" back-arrow nav link. Compact pill switch.
   Default state: ON (blue, knob right).
   Clicked state:  OFF (dark, knob left) + Excel overlay open. */
.boss-btn {
  position: relative;
  display: inline-flex;
  align-items: center; justify-content: center;
  /* hit-area sized to wrap the toggle (~10% smaller again) */
  width: 41px; height: 20px;
  background: transparent;
  border: none;
  padding: 0;
  /* pushed a bit further to the LEFT in the topbar */
  margin: 0 1.1rem 0 0;
  cursor: pointer;
  outline: none;
  flex-shrink: 0;
  z-index: 1;
}
.boss-btn:hover { z-index: 9301; }

/* Toggle (track) — angular / square corners, dark gray interior.
   Inner content area is 2px taller than the knob so the knob sits
   with 1px breathing room above and below it. ~10% smaller. */
.boss-toggle {
  position: relative;
  display: inline-block;
  box-sizing: content-box;
  /* inner content: 40 x 14 -> knob 12 x 12 + 1px top + 1px bottom */
  width: 40px; height: 14px;
  border-radius: 0;
  background: #2e2e2e;
  border: 1px solid rgba(0, 0, 0, .55);
  transition: background .2s ease-out, transform .2s ease-out;
}
/* OFF state — even darker for feedback */
.boss-btn.is-off .boss-toggle {
  background: #1a1a1a;
}

/* Knob (medium-dark gray square — 1px breathing room above/below,
   flush against the right edge when ON). */
.boss-toggle__knob {
  position: absolute;
  top: 1px;
  /* ON: knob flush with the right edge -> left = 40 - 12 = 28 */
  left: 28px;
  width: 12px; height: 12px;
  border-radius: 0;
  background: #5e5e5e;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .18);
  transition: left .22s cubic-bezier(.4, 0, .2, 1);
  z-index: 2;
}
/* OFF: knob slides flush against the left edge */
.boss-btn.is-off .boss-toggle__knob {
  left: 0;
}

/* "OFF" label — placed in the left portion of the track.
   Gray by default, turns white on hover. */
.boss-toggle__label {
  position: absolute;
  top: 50%;
  left: 35%;
  transform: translate(-50%, -50%);
  font-family: 'Press Start 2P', 'Courier New', monospace;
  font-size: 4.4px;
  font-weight: 700;
  color: #888888;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  user-select: none;
  pointer-events: none;
  z-index: 1;
  transition: color .18s ease-out;
}
.boss-btn:hover .boss-toggle__label {
  color: #ffffff;
}

/* Hover: subtle background lift on the toggle (no scaling) */
.boss-btn:hover .boss-toggle {
  background: #3a3a3a;
}
.boss-btn.is-off:hover .boss-toggle {
  background: #262626;
}

/* Tooltip — pixel-font "BOSS COMING!", shown only on hover.
   Positioned to the LEFT of the toggle, vertically centered. */
.boss-btn__tip {
  position: absolute;
  top: 50%;
  right: calc(100% + 8px);
  transform: translateY(-50%) translateX(4px);
  white-space: nowrap;
  font-family: 'Press Start 2P', 'Courier New', monospace;
  font-size: 6px;
  letter-spacing: .04em;
  color: #fff;
  background: #e92038;
  padding: .25rem .4rem .2rem;
  border: 1px solid rgba(255, 255, 255, .08);
  pointer-events: none;
  z-index: 9300;
  /* hidden by default — only visible on hover/focus */
  opacity: 0;
  transition: opacity .18s ease-out, transform .18s ease-out;
  box-shadow: 2px 2px 0 0 rgba(0, 0, 0, .45);
  line-height: 1.2;
}
.boss-btn__tip::after {
  content: '';
  position: absolute;
  top: 50%; right: -4px;
  transform: translateY(-50%);
  width: 0; height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #e92038;
}
.boss-btn:hover .boss-btn__tip,
.boss-btn:focus-visible .boss-btn__tip {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* Body lock when boss mode is active */
body.boss-mode-active {
  overflow: hidden;
}

/* ── Excel-like Overlay ── */
.boss-overlay {
  position: fixed; inset: 0;
  z-index: 99999;
  background: #f3f3f3;
  display: flex; flex-direction: column;
  font-family: 'Segoe UI', 'Calibri', 'Inter', sans-serif;
  color: #1a1a1a;
  animation: bossFadeIn .12s ease-out;
}
@keyframes bossFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Title bar */
.boss-titlebar {
  height: 32px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: space-between;
  background: #217346;
  color: #fff;
  padding: 0 .5rem 0 .8rem;
}
.boss-titlebar__left {
  display: flex; align-items: center; gap: .6rem;
  font-size: 12px;
}
.boss-titlebar__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px;
  background: #fff; color: #217346;
  font-weight: 700; font-size: 11px;
  border-radius: 2px;
}
.boss-titlebar__title {
  font-size: 12px; font-weight: 400;
  color: rgba(255, 255, 255, .95);
}
.boss-titlebar__right {
  display: flex; align-items: center;
}
.boss-winbtn {
  width: 40px; height: 32px;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: inherit;
  transition: background .15s;
}
.boss-winbtn:hover { background: rgba(255, 255, 255, .15); }
.boss-winbtn--close:hover { background: #e81123; }

/* Ribbon */
.boss-ribbon {
  flex-shrink: 0;
  background: #fff;
  border-bottom: 1px solid #d4d4d4;
}
.boss-ribbon__tabs {
  display: flex; align-items: center; gap: 2px;
  padding: 0 .6rem;
  height: 28px;
  border-bottom: 1px solid #e6e6e6;
  background: #f6f6f6;
}
.boss-tab {
  padding: 0 .8rem;
  height: 28px; line-height: 28px;
  font-size: 12px;
  color: #444;
  cursor: default;
  border-bottom: 2px solid transparent;
}
.boss-tab--active {
  background: #fff;
  color: #217346;
  border-bottom-color: #217346;
  font-weight: 600;
}
.boss-ribbon__tools {
  display: flex; align-items: center; gap: .35rem;
  padding: .5rem .8rem;
  height: 56px;
}
.boss-tool {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 28px; height: 28px;
  padding: 0 .4rem;
  background: #fff;
  border: 1px solid #e0e0e0;
  font-size: 13px;
  color: #333;
  cursor: default;
}
.boss-tool:hover { background: #eef6f1; border-color: #217346; }

/* Name bar */
.boss-namebar {
  flex-shrink: 0;
  display: flex; align-items: center; gap: .4rem;
  height: 24px;
  padding: 0 .6rem;
  background: #fff;
  border-bottom: 1px solid #d4d4d4;
  font-size: 12px;
}
.boss-namebar__cell {
  width: 90px;
  height: 18px; line-height: 18px;
  padding: 0 .4rem;
  background: #fff;
  border: 1px solid #c8c8c8;
  font-family: 'Consolas', monospace;
  font-size: 11px;
}
.boss-namebar__fx {
  font-style: italic;
  color: #888;
  padding: 0 .4rem;
  border-left: 1px solid #d4d4d4;
  border-right: 1px solid #d4d4d4;
}
.boss-namebar__formula {
  flex: 1;
  font-family: 'Consolas', monospace;
  font-size: 11px;
  color: #333;
  padding: 0 .4rem;
}

/* Sheet */
.boss-sheet {
  flex: 1;
  overflow: auto;
  background: #fff;
}
.boss-table {
  border-collapse: collapse;
  font-size: 11px;
  table-layout: fixed;
}
.bm-colhead {
  background: #f0f0f0;
  border-right: 1px solid #d4d4d4;
  border-bottom: 1px solid #d4d4d4;
  height: 18px;
  min-width: 90px;
  font-weight: 400;
  color: #444;
  text-align: center;
  font-size: 11px;
  position: sticky; top: 0;
  z-index: 3;
}
.bm-colhead--corner {
  min-width: 32px; width: 32px;
  left: 0;
  z-index: 4;
}
.bm-th {
  background: #f6f6f6;
  border-right: 1px solid #d4d4d4;
  border-bottom: 1px solid #b8b8b8;
  padding: 3px 6px;
  text-align: left;
  font-weight: 600;
  color: #1a1a1a;
  min-width: 90px;
  position: sticky; top: 18px;
  z-index: 3;
}
.bm-th--rownum {
  min-width: 32px; width: 32px;
  background: #f0f0f0;
  left: 0;
  z-index: 4;
}
.bm-th--filler { min-width: 400px; }
.bm-rownum {
  background: #f0f0f0;
  border-right: 1px solid #d4d4d4;
  border-bottom: 1px solid #e6e6e6;
  width: 32px; min-width: 32px;
  text-align: center;
  color: #555;
  font-size: 11px;
  position: sticky; left: 0;
  z-index: 2;
}
.bm-td {
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  padding: 3px 6px;
  color: #1a1a1a;
  background: #fff;
}
.bm-td--num {
  text-align: right;
  font-family: 'Consolas', monospace;
}
.bm-td--empty { background: #fff; }
.bm-td--filler {
  border-right: none;
  min-width: 400px;
}

/* Status bar */
.boss-statusbar {
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: space-between;
  height: 22px;
  background: #f0f0f0;
  border-top: 1px solid #d4d4d4;
  padding: 0 .6rem;
  font-size: 11px;
  color: #444;
}
.boss-statusbar__left {
  display: flex; align-items: center; gap: 2px;
}
.boss-statusbar__right {
  display: flex; align-items: center; gap: 1.2rem;
}
.boss-sheettab {
  padding: 0 .7rem;
  height: 20px; line-height: 20px;
  background: #e4e4e4;
  border: 1px solid #d0d0d0;
  border-bottom: none;
  font-size: 11px;
  color: #444;
  cursor: default;
}
.boss-sheettab--active {
  background: #fff;
  color: #217346;
  font-weight: 600;
  border-top: 2px solid #217346;
}

/* Responsive overlay */
@media (max-width: 760px) {
  .boss-ribbon__tools { padding: .3rem .4rem; gap: .25rem; }
  .boss-tab { padding: 0 .55rem; font-size: 11px; }
  .boss-namebar__cell { width: 60px; }
  .boss-statusbar__right span:nth-child(2),
  .boss-statusbar__right span:nth-child(3) { display: none; }
}
