/* Keep the original ODance interface; move its shared navigation to a side rail. */
@media (min-width: 761px) {
  :root { --odance-rail-width: 208px; }
  :root.nav-collapsed { --odance-rail-width: 104px; }
  body { padding-left: var(--odance-rail-width); transition: padding-left .18s ease; }
  .site-header,
  .site-header.compact {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--odance-rail-width);
    height: 100dvh;
    border: 0;
    border-right: 1px solid var(--border);
    background: var(--surface);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 1px 0 12px rgba(10,18,13,.025);
    transition: width .18s ease;
  }
  .site-header .container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 18px;
    width: 100%;
    max-width: none;
    height: 100%;
    padding: 16px 12px 12px;
    overflow-y: clip;
  }
  .rail-brand-row { display: flex; align-items: center; min-width: 0; }
  .site-header .brand { padding: 0 3px 0 10px; flex: none; min-width: 0; }
  .rail-toggle {
    position: absolute; top: 19px; right: -12px; z-index: 2;
    display: grid; place-items: center;
    width: 24px; height: 24px; padding: 0;
    border: 1px solid var(--border); border-radius: 50%;
    background: var(--surface); color: var(--text-3); cursor: pointer;
    box-shadow: 0 2px 8px rgba(10, 18, 13, .1);
    font-size: 11px;
    transition: color .18s ease, background .18s ease, box-shadow .18s ease;
  }
  .rail-toggle:hover { color: var(--accent-text); background: var(--accent-soft); box-shadow: 0 3px 12px rgba(10, 18, 13, .16); }
  .rail-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
  .site-header.compact .brand b { display: block; }
  .site-header.compact .brand-mark { width: 30px; height: 30px; }
  .main-nav.nav-pill,
  .main-nav.nav-pill:is(:hover,:focus-within) {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    padding: 0;
    transform: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .main-nav.nav-pill .nav-link {
    justify-content: flex-start;
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 12.5px;
  }
  .main-nav.nav-pill .nav-link .nav-label {
    max-width: none;
    margin-left: 5px;
    overflow: visible;
    opacity: 1;
    transform: none;
  }
  .main-nav.nav-pill .nav-link.active {
    background: var(--accent-soft);
    color: var(--accent-text);
  }
  .nav-island-blob { display: none !important; }
  .header-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    margin-top: auto;
    padding: 10px 4px 0;
    border-top: 1px solid var(--border);
  }
  .header-right .credit-chip {
    order: -1;
    justify-content: center;
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
  }
  .header-right .notif-btn { order: 0; flex: none; }
  .header-right .user-menu { order: 2; width: 100%; margin-top: 0; }
  .header-right .user-btn,
  .header-right .rail-login {
    display: flex; align-items: center; justify-content: flex-start; gap: 10px;
    width: 100%; height: 44px; padding: 5px 9px;
    border-radius: 10px;
  }
  .header-right .user-btn .avatar-sm { width: 31px; height: 31px; flex: none; }
  .header-right .user-btn > .bi-person-circle,
  .header-right .rail-login > .bi { font-size: 24px; color: var(--accent-text); }
  .user-btn-copy { display: flex; flex-direction: column; min-width: 0; text-align: left; line-height: 1.25; }
  .user-btn-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); font-size: 12px; }
  .user-btn-copy small { color: var(--text-3); font-size: 10px; }
  .user-btn-chevron { margin-left: auto; font-size: 11px; }
  .rail-login span { font-size: 12px; font-weight: 700; }
  .site-header.compact .credit-chip { padding: 7px 13px; }
  .user-drop {
    position: fixed;
    top: auto;
    right: auto;
    bottom: 15px;
    left: var(--odance-rail-width);
  }
  .site-header .skip-link:focus { left: var(--odance-rail-width); }
  .nav-collapsed .site-header .container { gap: 16px; padding: 16px 8px 12px; }
  .nav-collapsed .rail-brand-row { justify-content: center; }
  .nav-collapsed .site-header .brand { padding: 0; }
  .nav-collapsed .site-header .brand b { display: none; }
  .nav-collapsed .main-nav.nav-pill .nav-link { justify-content: center; padding: 10px; }
  .nav-collapsed .main-nav.nav-pill .nav-label { display: none; }
  .nav-collapsed .header-right { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; padding-inline: 0; }
  .nav-collapsed .header-right .credit-chip { width: auto; min-height: 32px; flex-direction: row; gap: 3px; padding: 3px; font-size: 10px; }
  .nav-collapsed .header-right > .icon-btn { width: 32px; height: 32px; }
  .nav-collapsed .header-right .user-menu { width: 100%; margin-top: 0; }
  .nav-collapsed .header-right .user-btn,
  .nav-collapsed .header-right .rail-login { justify-content: center; width: 100%; height: 44px; padding: 5px; }
  .nav-collapsed .user-btn-copy,
  .nav-collapsed .user-btn-chevron,
  .nav-collapsed .rail-login span { display: none; }
}
@media (min-width: 761px) and (max-height: 550px) {
  .site-header .container,
  .nav-collapsed .site-header .container { gap: 8px; padding-top: 8px; padding-bottom: 8px; }
  .main-nav.nav-pill,
  .main-nav.nav-pill:is(:hover,:focus-within) { gap: 1px; }
  .main-nav.nav-pill .nav-link { min-height: 34px; padding-block: 5px; }
  .header-right { padding-top: 6px; gap: 4px; }
  .header-right .user-btn,
  .header-right .rail-login { height: 38px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  :root { --odance-rail-width: 184px; }
  .main-nav.nav-pill .nav-link { font-size: 11.5px; padding-inline: 9px; }
}
@media (min-width: 1121px) {
  .batch-studio { grid-template-columns: minmax(0, 1fr) 255px; gap: 12px; }
  .batch-item { grid-template-columns: 62px minmax(130px, .65fr) minmax(0, 2fr); gap: 8px; }
  .batch-source-line { grid-template-columns: minmax(112px, .9fr) minmax(0, 1fr); gap: 5px; }
  .batch-source-or { display: none; }
}
@media (max-width: 640px) {
  .main-nav.nav-pill {
    width: min(420px, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
    justify-content: space-around;
  }
  .main-nav.nav-pill .nav-optional { display: none; }
  .main-nav.nav-pill .nav-optional[href="/tools"] { display: inline-flex; }
  .main-nav.nav-pill .nav-link {
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    padding: 7px 2px;
    font-size: 10px;
  }
  .main-nav.nav-pill .nav-link .nav-label {
    display: block;
    max-width: none;
    margin-left: 0;
    font-size: 10px;
  }
}
.rail-toggle,
.user-btn-copy,
.user-btn-chevron,
.rail-login span { display: none; }
@media (min-width: 761px) {
  .rail-toggle { display: grid; }
  .user-btn-copy { display: flex; }
  .user-btn-chevron,
  .rail-login span { display: inline; }
  .nav-collapsed .user-btn-copy,
  .nav-collapsed .user-btn-chevron,
  .nav-collapsed .rail-login span { display: none; }
}
body[data-fstatus="review"] .jtable tbody tr[data-status="review"] { display: table-row; }
.status.st-review { background: var(--gold-soft); color: var(--gold); }
