/* /Layout/SwarmLayout.razor.rz.scp.css */
/* Top bar shell — ported from AISwarmPortal-static/assets/editorial-theme.css
   so the Blazor topbar chrome is pixel-identical to the static portal. */

.top-bar[b-gxzfqzslht] {
    --alat-teal: #0E6E70;
    --alat-teal-light: #1FA8AB;
    --alat-teal-glow: rgba(14, 110, 112, 0.36);
    --ink: #1d1d1f;
    --graphite: #707070;
    --slate: #474747;
    --snow: #ffffff;
    --font-display: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --font-text: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;

    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: rgba(230, 240, 240, 0.68);
    backdrop-filter: saturate(180%) blur(24px);
    -webkit-backdrop-filter: saturate(180%) blur(24px);
    border-bottom: 1px solid rgba(14, 110, 112, 0.08);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    gap: 12px;
}

.top-bar a span.text-gray-900[b-gxzfqzslht] {
    color: var(--alat-teal) !important;
    font-family: var(--font-display);
    letter-spacing: -0.01em;
}

.top-bar a span.text-gray-300[b-gxzfqzslht] {
    color: var(--graphite) !important;
}

.top-bar a img[b-gxzfqzslht] {
    mix-blend-mode: multiply;
}

.top-bar .topbar-left[b-gxzfqzslht] {
    flex: 0 0 auto;
}

.top-bar .topbar-center[b-gxzfqzslht] {
    flex: 1 1 auto;
    min-width: 0;
}

.top-bar .topbar-right[b-gxzfqzslht] {
    flex: 0 0 auto;
}

/* ── Centre search ── */
.topbar-search[b-gxzfqzslht] {
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(15, 23, 42, 0.06);
    color: var(--ink);
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.topbar-search:hover[b-gxzfqzslht],
.topbar-search:focus-within[b-gxzfqzslht] {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(14, 110, 112, 0.22);
    box-shadow: 0 0 0 4px rgba(14, 110, 112, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.topbar-search i[b-gxzfqzslht] {
    color: var(--graphite);
}

.topbar-search:focus-within i[b-gxzfqzslht] {
    color: var(--alat-teal);
}

.topbar-search__input[b-gxzfqzslht] {
    color: var(--ink);
    font-family: var(--font-text);
    letter-spacing: -0.04px;
}

.topbar-search__input[b-gxzfqzslht]::placeholder {
    color: var(--graphite);
}

.topbar-search__hint[b-gxzfqzslht] {
    font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--graphite);
    letter-spacing: 0;
    flex-shrink: 0;
}

/* ── Command palette pop ── */
.topbar-search-pop[b-gxzfqzslht] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: var(--snow);
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 14px;
    box-shadow: 0 24px 48px -16px rgba(15, 23, 42, 0.24), 0 8px 16px -8px rgba(15, 23, 42, 0.10);
    padding: 6px;
    z-index: 60;
    max-height: 420px;
    overflow-y: auto;
    font-family: var(--font-text);
}

.cmdp-head[b-gxzfqzslht] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px 8px;
    font-size: 10px;
    color: var(--graphite);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    margin-bottom: 4px;
}

.cmdp-head .cmdp-hint[b-gxzfqzslht] {
    letter-spacing: 0;
    text-transform: none;
    color: var(--graphite);
    font-size: 10px;
}

.cmdp-row[b-gxzfqzslht] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: 0;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition: background 0.15s ease;
}

.cmdp-row:hover[b-gxzfqzslht],
.cmdp-row.is-selected[b-gxzfqzslht] {
    background: rgba(14, 110, 112, 0.06);
}

.cmdp-ico[b-gxzfqzslht] {
    width: 18px;
    text-align: center;
    color: var(--alat-teal);
    font-size: 12px;
}

.cmdp-label[b-gxzfqzslht] {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    color: var(--ink);
}

.cmdp-group[b-gxzfqzslht] {
    font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 10px;
    color: var(--graphite);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.cmdp-empty[b-gxzfqzslht] {
    padding: 14px 10px;
    font-size: 12px;
    color: var(--graphite);
    text-align: center;
}

/* ── Brand clock ── */
.hdr-clock[b-gxzfqzslht] {
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(15, 23, 42, 0.06);
    color: var(--slate);
    font-family: var(--font-text);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: -0.04px;
    transition: background .15s ease, border-color .15s ease;
    white-space: nowrap;
}

.hdr-clock:hover[b-gxzfqzslht] {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(14, 110, 112, 0.22);
    color: var(--ink);
}

.hdr-clock i[b-gxzfqzslht] {
    color: var(--alat-teal);
    font-size: 11px;
}

.hdr-clock #hdr-time[b-gxzfqzslht] {
    font-variant-numeric: tabular-nums;
}

/* ── Pop-overs (notif · settings · clock) ── */
.hdr-pop[b-gxzfqzslht] {
    position: absolute;
    top: 60px;
    right: 16px;
    width: 320px;
    background: rgba(252, 252, 253, 0.97);
    backdrop-filter: blur(28px) saturate(180%);
    -webkit-backdrop-filter: blur(28px) saturate(180%);
    border: 1px solid rgba(14, 110, 112, 0.10);
    border-radius: 16px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 18px 48px -12px rgba(15, 23, 42, 0.22), 0 4px 12px -4px rgba(14, 110, 112, 0.10);
    padding: 14px 14px 12px;
    z-index: 200;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px) scale(0.98);
    transform-origin: top right;
    transition: opacity 200ms ease, transform 200ms ease, visibility 0s linear 200ms;
}

.hdr-pop.open[b-gxzfqzslht] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition: opacity 200ms ease, transform 200ms ease, visibility 0s linear 0s;
}

.hdr-pop__head[b-gxzfqzslht] {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin-bottom: 8px;
}

.hdr-pop__sub[b-gxzfqzslht] {
    font-size: 11.5px;
    color: var(--graphite);
    letter-spacing: -0.04px;
    margin-bottom: 12px;
    line-height: 1.5;
}

.hdr-pop__foot[b-gxzfqzslht] {
    font-size: 10.5px;
    color: var(--graphite);
    letter-spacing: -0.04px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    line-height: 1.5;
}

/* ── Clock pop ── */
#hdrClockPanel[b-gxzfqzslht] {
    width: 296px;
    padding: 18px 18px 14px;
}

#hdrClockPanel.hdr-pop--wide[b-gxzfqzslht] {
    width: 340px;
}

.hdr-clock-head[b-gxzfqzslht] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.hdr-clock-view-toggle[b-gxzfqzslht] {
    appearance: none;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(14, 110, 112, 0.14);
    background: rgba(255, 255, 255, 0.7);
    color: var(--alat-teal);
    font-size: 13px;
    cursor: pointer;
    flex-shrink: 0;
    transition: background .15s ease, border-color .15s ease, transform .12s ease;
}

.hdr-clock-view-toggle:hover[b-gxzfqzslht] {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(14, 110, 112, 0.32);
}

.hdr-clock-view-toggle:active[b-gxzfqzslht] {
    transform: scale(0.94);
}

.hdr-clock-big[b-gxzfqzslht] {
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -0.024em;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    line-height: 1;
    margin-bottom: 6px;
}

.hdr-clock-date[b-gxzfqzslht] {
    font-family: var(--font-text);
    font-size: 12.5px;
    color: var(--slate);
    letter-spacing: -0.04px;
    margin-bottom: 2px;
}

.hdr-clock-zone[b-gxzfqzslht] {
    font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 10px;
    color: var(--graphite);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

/* ── Mini calendar ── */
.hdr-cal__head[b-gxzfqzslht] {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.005em;
    color: var(--ink);
    margin-bottom: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.hdr-cal__dow[b-gxzfqzslht],
.hdr-cal__grid[b-gxzfqzslht] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.hdr-cal__dow[b-gxzfqzslht] {
    margin-bottom: 4px;
}

.hdr-cal__dow span[b-gxzfqzslht] {
    font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 9.5px;
    color: var(--graphite);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    padding: 4px 0;
}

.hdr-cal__cell[b-gxzfqzslht] {
    font-family: var(--font-text);
    font-size: 12px;
    color: var(--slate);
    text-align: center;
    padding: 6px 0;
    border-radius: 6px;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.04px;
}

.hdr-cal__cell--empty[b-gxzfqzslht] {
    color: transparent;
}

.hdr-cal__cell--today[b-gxzfqzslht] {
    background: linear-gradient(135deg, var(--alat-teal-light), var(--alat-teal));
    color: var(--snow);
    font-weight: 600;
    box-shadow: 0 2px 6px -2px var(--alat-teal-glow);
}

/* ── World-clock view ── */
.hdr-cities[b-gxzfqzslht] {
    padding-top: 8px;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
    max-height: 360px;
    overflow-y: auto;
}

.hdr-cities__group[b-gxzfqzslht] {
    margin-bottom: 10px;
}

.hdr-cities__group:last-child[b-gxzfqzslht] {
    margin-bottom: 0;
}

.hdr-cities__label[b-gxzfqzslht] {
    font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 9.5px;
    font-weight: 600;
    color: var(--graphite);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 8px 6px;
}

.hdr-cities__list[b-gxzfqzslht] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.hdr-cities__row[b-gxzfqzslht] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    align-items: center;
    padding: 6px 10px;
    border-radius: 8px;
    font-family: var(--font-text);
    font-size: 12px;
    letter-spacing: -0.04px;
    color: var(--slate);
    transition: background .15s ease, color .15s ease;
}

.hdr-cities__row:hover[b-gxzfqzslht] {
    background: rgba(14, 110, 112, 0.06);
    color: var(--ink);
}

.hdr-cities__name[b-gxzfqzslht] {
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hdr-cities__zone[b-gxzfqzslht] {
    font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 9px;
    color: var(--graphite);
    letter-spacing: 0.06em;
    background: rgba(15, 23, 42, 0.05);
    padding: 1px 5px;
    border-radius: 4px;
}

.hdr-cities__time[b-gxzfqzslht] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--alat-teal);
    white-space: nowrap;
}

/* ── Settings · theme picker ── */
#hdrSettingsPanel[b-gxzfqzslht] {
    width: 320px;
}

.theme-grid[b-gxzfqzslht] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.theme-card[b-gxzfqzslht] {
    appearance: none;
    text-align: left;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 12px;
    padding: 12px 14px 12px 56px;
    cursor: pointer;
    position: relative;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.theme-card:hover[b-gxzfqzslht] {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(14, 110, 112, 0.22);
    transform: translateY(-1px);
}

.theme-card--active[b-gxzfqzslht] {
    background: rgba(14, 110, 112, 0.06);
    border-color: rgba(14, 110, 112, 0.32);
    box-shadow: inset 0 0 0 1px rgba(14, 110, 112, 0.18);
}

.theme-card--active:hover[b-gxzfqzslht] {
    background: rgba(14, 110, 112, 0.10);
}

.theme-card__swatch[b-gxzfqzslht] {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    overflow: hidden;
}

.theme-card__swatch--editorial[b-gxzfqzslht] {
    background:
        radial-gradient(circle at 75% 25%, rgba(201, 169, 97, 0.55) 0%, transparent 55%),
        radial-gradient(circle at 25% 80%, rgba(217, 118, 46, 0.30) 0%, transparent 55%),
        linear-gradient(135deg, #FAF8F4 0%, #F2EEE6 100%);
    box-shadow: inset 0 0 0 2px rgba(201, 169, 97, 0.45), inset 0 -2px 0 rgba(11, 31, 58, 0.12);
}

.theme-card__swatch--glass[b-gxzfqzslht] {
    background: linear-gradient(135deg, rgba(178, 222, 224, 0.92) 0%, rgba(207, 226, 232, 0.78) 55%, rgba(255, 255, 255, 0.55) 100%);
    backdrop-filter: blur(6px) saturate(160%);
    -webkit-backdrop-filter: blur(6px) saturate(160%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), inset 0 0 0 1px rgba(14, 110, 112, 0.16);
}

.theme-card__swatch--obsidian[b-gxzfqzslht] {
    background:
        radial-gradient(circle at 70% 25%, rgba(46, 182, 185, 0.42) 0%, transparent 55%),
        repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.025) 0px, rgba(255, 255, 255, 0.025) 1px, transparent 1px, transparent 3px),
        linear-gradient(180deg, #1D1D23 0%, #0E0E12 60%, #07070A 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10), inset 0 -1px 0 rgba(0, 0, 0, 0.4);
    border-color: rgba(255, 255, 255, 0.10);
}

.theme-card__swatch--obsidian[b-gxzfqzslht]::after {
    content: '';
    position: absolute;
    left: 10px;
    top: 10px;
    width: 12px;
    height: 12px;
    background: radial-gradient(circle at 35% 35%, #FFFFFF 0%, #FFFFFF 50%, transparent 55%);
    border-radius: 3px;
    pointer-events: none;
    opacity: 0.92;
}

.theme-card__title[b-gxzfqzslht] {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.005em;
    color: var(--ink);
    margin-bottom: 2px;
}

.theme-card__desc[b-gxzfqzslht] {
    font-size: 11px;
    color: var(--graphite);
    letter-spacing: -0.04px;
    line-height: 1.4;
}

.theme-card__badge[b-gxzfqzslht] {
    position: absolute;
    top: 10px;
    right: 10px;
    font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(29, 131, 72, 0.10);
    color: #1D8348;
}

.theme-card__badge--soon[b-gxzfqzslht] {
    background: rgba(15, 23, 42, 0.06);
    color: var(--graphite);
}

/* ── Notif pop ── */
#hdrNotifPanel[b-gxzfqzslht] {
    width: 340px;
    padding: 14px;
}

.hdr-notif-list[b-gxzfqzslht] {
    max-height: 320px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hdr-notif[b-gxzfqzslht] {
    display: flex;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    transition: background .12s ease;
}

.hdr-notif:hover[b-gxzfqzslht] {
    background: rgba(14, 110, 112, 0.04);
}

.hdr-notif__dot[b-gxzfqzslht] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 6px;
    flex-shrink: 0;
}

.hdr-notif__dot--ok[b-gxzfqzslht] {
    background: #1D8348;
    box-shadow: 0 0 0 3px rgba(29, 131, 72, 0.16);
}

.hdr-notif__dot--warn[b-gxzfqzslht] {
    background: #b98900;
    box-shadow: 0 0 0 3px rgba(185, 137, 0, 0.16);
}

.hdr-notif__dot--info[b-gxzfqzslht] {
    background: var(--alat-teal);
    box-shadow: 0 0 0 3px rgba(14, 110, 112, 0.16);
}

.hdr-notif__title[b-gxzfqzslht] {
    font-size: 12px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.04px;
    margin-bottom: 2px;
}

.hdr-notif__sub[b-gxzfqzslht] {
    font-size: 11px;
    color: var(--graphite);
    letter-spacing: -0.04px;
    line-height: 1.4;
}

/* Outside-click scrim for pop-overs */
.hdr-scrim[b-gxzfqzslht] {
    position: fixed;
    inset: 0;
    z-index: 190;
    background: transparent;
}

/* Responsive: hide centre search on small screens */
@media (max-width: 768px) {
    .top-bar .topbar-center[b-gxzfqzslht] {
        display: none;
    }
}
/* /Pages/DashboardCeo.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/assets/editorial-theme.css so this
   page's .kpi-grid / .scroll-cap markup renders pixel-identical to dashboard-ceo.html.
   The shared portal shell (wwwroot/index.html) does not yet define these two
   utility classes, so they are provided here, scoped to this page. */

/* KPI card rows tagged .kpi-grid collapse to 1 column on phones */
@media (max-width: 640px) {
  #main .kpi-grid[b-agnt0uftd0] { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
  #main .kpi-grid[b-agnt0uftd0] { grid-template-columns: 1fr !important; }
}

/* Rule of 5 — cap long lists to ~5 rows with an elegant scroll + fade hint */
.scroll-cap[b-agnt0uftd0] {
  --rows: 5;
  --row-h: 56px;
  --row-gap: 12px;
  --cap-pad: 4px;
  max-height: calc(var(--rows) * var(--row-h) + (var(--rows) - 1) * var(--row-gap) + var(--cap-pad) * 2);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding-right: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(15,23,42,0.22) transparent;
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
          mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
}
.scroll-cap:hover[b-agnt0uftd0] {
  scrollbar-color: rgba(15,23,42,0.36) transparent;
}
.scroll-cap[b-agnt0uftd0]::-webkit-scrollbar { width: 6px; height: 6px; }
.scroll-cap[b-agnt0uftd0]::-webkit-scrollbar-track { background: transparent; }
.scroll-cap[b-agnt0uftd0]::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); border-radius: 999px; }
.scroll-cap[b-agnt0uftd0]::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.36); }
/* /Pages/DeptCore.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/dept-core.html page-local <style> block.
   Blazor CSS isolation automatically scopes these selectors to elements rendered
   by DeptCore.razor, so no changes were needed beyond removing the <style> tags. */

/* Page-specific table */
.tbl[b-52dvghu5ez]{width:100%;border-collapse:collapse;font-size:12px;}
.tbl th[b-52dvghu5ez]{text-align:left;padding:10px 12px;font-weight:600;color:var(--graphite);text-transform:uppercase;font-size:10px;letter-spacing:.05em;border-bottom:1px solid rgba(15,23,42,0.06);}
.tbl td[b-52dvghu5ez]{padding:10px 12px;border-bottom:1px solid rgba(15,23,42,0.04);color:var(--slate);}
.tbl tr:hover td[b-52dvghu5ez]{background:rgba(14,110,112,0.03);}

/* Tab buttons — Looking Glass top tabs */
.tab-btn[b-52dvghu5ez]{padding:6px 16px;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;border:none;letter-spacing:-0.04px;}
.tab-active[b-52dvghu5ez]{background:linear-gradient(135deg,var(--alat-teal-light),var(--alat-teal));color:var(--snow);box-shadow:0 2px 8px -2px var(--alat-teal-glow);}
.tab-idle[b-52dvghu5ez]{background:rgba(15,23,42,0.04);color:var(--graphite);}
.tab-idle:hover[b-52dvghu5ez]{background:rgba(14,110,112,0.06);color:var(--ink);}

/* Section tabs */
.sec-tab[b-52dvghu5ez]{padding:8px 20px;border-radius:10px 10px 0 0;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;border-bottom:none;letter-spacing:-0.04px;}
.sec-active[b-52dvghu5ez]{background:var(--snow);color:var(--alat-teal);border-color:rgba(14,110,112,0.16);}
.sec-idle[b-52dvghu5ez]{background:rgba(15,23,42,0.04);color:var(--graphite);}
.sec-idle:hover[b-52dvghu5ez]{color:var(--ink);background:rgba(14,110,112,0.06);}
/* ─── LOOKING GLASS — Polymarket-inspired Intelligence Panel ─── */
.lg-canvas[b-52dvghu5ez]{background:#FAFAF7;}
.lg-prism[b-52dvghu5ez]{position:relative;}
.lg-prism[b-52dvghu5ez]::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#0E6E70 0%,#14B8A6 20%,#F97316 40%,#EC4899 60%,#3B82F6 80%,#0E6E70 100%);border-radius:16px 16px 0 0;}
.lg-card[b-52dvghu5ez]{background:#fff;border:1px solid #E8E5DC;border-radius:16px;transition:all .25s;position:relative;overflow:hidden;}
.lg-card:hover[b-52dvghu5ez]{box-shadow:0 8px 30px rgba(14,110,112,0.08);border-color:#D4D0C2;transform:translateY(-1px);}
.lg-prob-bar[b-52dvghu5ez]{height:6px;background:#F1F5F9;border-radius:3px;overflow:hidden;position:relative;}
.lg-prob-fill[b-52dvghu5ez]{height:100%;background:linear-gradient(90deg,#0E6E70,#14B8A6);transition:width .6s cubic-bezier(.4,0,.2,1);}
.lg-prob-fill.high[b-52dvghu5ez]{background:linear-gradient(90deg,#10B981,#34D399);}
.lg-prob-fill.med[b-52dvghu5ez]{background:linear-gradient(90deg,#0E6E70,#14B8A6);}
.lg-prob-fill.low[b-52dvghu5ez]{background:linear-gradient(90deg,#F59E0B,#FBBF24);}
.lg-cat-chip[b-52dvghu5ez]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.02em;}
.lg-cat-aiproducts[b-52dvghu5ez]{background:#ECFDF5;color:#059669;}
.lg-cat-airesearch[b-52dvghu5ez]{background:#EFF6FF;color:#2563EB;}
.lg-cat-funding[b-52dvghu5ez]{background:#FEF3C7;color:#B45309;}
.lg-cat-regulation[b-52dvghu5ez]{background:#FCE7F3;color:#BE185D;}
.lg-cat-macro[b-52dvghu5ez]{background:#F3E8FF;color:#7C3AED;}
.lg-cat-regional[b-52dvghu5ez]{background:#FFEDD5;color:#C2410C;}
.lg-spark[b-52dvghu5ez]{font-family:'JetBrains Mono','Courier New',monospace;font-size:14px;letter-spacing:-1px;color:#0E6E70;line-height:1;}
.lg-spark-flat[b-52dvghu5ez]{color:#94A3B8;}
.lg-spark-up[b-52dvghu5ez]{color:#10B981;}
.lg-spark-down[b-52dvghu5ez]{color:#EF4444;}
/* Hero PREDICT button */
.lg-hero-btn[b-52dvghu5ez]{background:linear-gradient(135deg,#0E6E70,#084849);color:#fff;padding:18px 36px;border-radius:14px;font-weight:700;font-size:15px;letter-spacing:.02em;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(14,110,112,0.25);transition:all .25s;display:inline-flex;align-items:center;gap:10px;position:relative;overflow:hidden;}
.lg-hero-btn:hover[b-52dvghu5ez]{box-shadow:0 8px 24px rgba(14,110,112,0.35);transform:translateY(-2px);}
.lg-hero-btn:active[b-52dvghu5ez]{transform:translateY(0);}
.lg-hero-btn:disabled[b-52dvghu5ez]{opacity:.6;cursor:not-allowed;transform:none;}
.lg-hero-btn .spin[b-52dvghu5ez]{display:none;}
.lg-hero-btn.loading .spin[b-52dvghu5ez]{display:inline-block;animation:spin-b-52dvghu5ez 1s linear infinite;}
.lg-hero-btn.loading .label[b-52dvghu5ez]{opacity:.85;}
@keyframes spin-b-52dvghu5ez{from{transform:rotate(0)}to{transform:rotate(360deg)}}
/* Surge indicator pill */
.lg-surge-pill[b-52dvghu5ez]{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;}
.lg-surge-extreme[b-52dvghu5ez]{background:#FEF2F2;color:#DC2626;}
.lg-surge-high[b-52dvghu5ez]{background:#FFFBEB;color:#D97706;}
.lg-surge-normal[b-52dvghu5ez]{background:#F0FDF4;color:#059669;}
/* Region row */
.lg-region-row[b-52dvghu5ez]{display:flex;align-items:center;gap:8px;padding:6px 0;}
.lg-region-name[b-52dvghu5ez]{flex:0 0 110px;font-size:11px;color:#475569;font-weight:500;}
.lg-region-bar[b-52dvghu5ez]{flex:1;height:5px;background:#F1F5F9;border-radius:3px;overflow:hidden;}
.lg-region-fill[b-52dvghu5ez]{height:100%;background:linear-gradient(90deg,#0E6E70,#14B8A6);}
.lg-region-count[b-52dvghu5ez]{flex:0 0 60px;font-size:11px;font-weight:700;color:#0F172A;text-align:right;}
.lg-region-row.starred .lg-region-name[b-52dvghu5ez]{color:#0E6E70;font-weight:700;}
.lg-region-row.starred .lg-region-fill[b-52dvghu5ez]{background:linear-gradient(90deg,#F97316,#FB923C);}
/* Mover row */
.lg-mover-row[b-52dvghu5ez]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;border:1px solid #F1F5F9;background:#FAFAF7;margin-bottom:6px;}
.lg-mover-row:hover[b-52dvghu5ez]{background:#fff;border-color:#E2E8F0;}
.lg-pct[b-52dvghu5ez]{font-weight:700;font-size:11px;}
.lg-pct-up[b-52dvghu5ez]{color:#10B981;}
.lg-pct-down[b-52dvghu5ez]{color:#EF4444;}
.lg-pct-flat[b-52dvghu5ez]{color:#94A3B8;}
.lg-pct-new[b-52dvghu5ez]{color:#7C3AED;}
/* Coverage tag chip */
.lg-cov-chip[b-52dvghu5ez]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:10px;font-size:11px;background:#F8FAFC;border:1px solid #F1F5F9;}
/* Card expand drawer */
.lg-drawer[b-52dvghu5ez]{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);background:#FAFAF7;border-top:1px solid transparent;}
.lg-drawer.open[b-52dvghu5ez]{max-height:600px;border-top-color:#E8E5DC;}
.lg-drawer-inner[b-52dvghu5ez]{padding:16px;}
/* Prediction detail modal */
.lg-modal-ov[b-52dvghu5ez]{position:fixed;inset:0;background:rgba(15,23,42,0.55);backdrop-filter:blur(3px);z-index:9999;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;}
.lg-modal-ov.open[b-52dvghu5ez]{display:flex;}
.lg-modal[b-52dvghu5ez]{background:#fff;border-radius:18px;max-width:640px;width:100%;box-shadow:0 24px 70px rgba(0,0,0,.3);position:relative;overflow:hidden;animation:lgModalIn-b-52dvghu5ez .22s cubic-bezier(.4,0,.2,1);}
@keyframes lgModalIn-b-52dvghu5ez{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
.lg-modal-prism[b-52dvghu5ez]::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0E6E70,#14B8A6,#F97316,#EC4899,#3B82F6,#0E6E70);}
.lg-modal-body[b-52dvghu5ez]{padding:24px;max-height:82vh;overflow-y:auto;}
.lg-modal-close[b-52dvghu5ez]{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:8px;border:none;background:#F1F5F9;color:#64748B;cursor:pointer;font-size:14px;z-index:2;}
.lg-modal-close:hover[b-52dvghu5ez]{background:#E2E8F0;}
.lg-mc-band[b-52dvghu5ez]{position:relative;height:30px;background:#F1F5F9;border-radius:8px;margin-top:6px;}
.lg-mc-range[b-52dvghu5ez]{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,rgba(20,184,166,.55),rgba(14,110,112,.55));border-radius:8px;}
.lg-mc-p50[b-52dvghu5ez]{position:absolute;top:-3px;bottom:-3px;width:3px;background:#0F172A;border-radius:2px;}
.lg-mc-tick[b-52dvghu5ez]{position:absolute;font-size:9px;color:#64748B;transform:translateX(-50%);}
.lg-meta-grid[b-52dvghu5ez]{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;font-size:11px;}
.lg-meta-grid .k[b-52dvghu5ez]{color:#94A3B8;}.lg-meta-grid .v[b-52dvghu5ez]{color:#0F172A;font-weight:600;}
.lg-ens-chip[b-52dvghu5ez]{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10px;font-weight:700;}
/* Oracle chat */
.lg-oracle-msg[b-52dvghu5ez]{padding:14px 16px;border-radius:12px;margin-top:8px;font-size:13px;line-height:1.55;color:#1E293B;background:#F8FAFC;border:1px solid #E2E8F0;}
.lg-oracle-msg.user[b-52dvghu5ez]{background:#0E6E70;color:#fff;border-color:#0E6E70;}
.lg-oracle-msg.user[b-52dvghu5ez]::before{content:'You';display:block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-bottom:4px;}
.lg-oracle-msg.oracle[b-52dvghu5ez]::before{content:'🔮 Oracle';display:block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0E6E70;margin-bottom:4px;}
.lg-oracle-msg .cited[b-52dvghu5ez]{margin-top:10px;padding-top:10px;border-top:1px solid #E2E8F0;font-size:10px;color:#64748B;font-style:italic;}
.lg-oracle-msg.user .cited[b-52dvghu5ez]{border-top-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.7);}
.lg-oracle-input[b-52dvghu5ez]{width:100%;padding:14px 16px;border:1.5px solid #E2E8F0;border-radius:12px;font-size:13px;font-family:inherit;color:#1E293B;background:#fff;transition:border-color .15s;}
.lg-oracle-input:focus[b-52dvghu5ez]{outline:none;border-color:#0E6E70;}
.lg-oracle-confidence[b-52dvghu5ez]{display:inline-block;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-right:6px;}
.lg-oracle-conf-high[b-52dvghu5ez]{background:#ECFDF5;color:#059669;}
.lg-oracle-conf-medium[b-52dvghu5ez]{background:#EFF6FF;color:#2563EB;}
.lg-oracle-conf-low[b-52dvghu5ez]{background:#FEF3C7;color:#B45309;}
/* Empty state */
.lg-empty[b-52dvghu5ez]{padding:40px 20px;text-align:center;color:#94A3B8;font-size:13px;}
.lg-empty .icon[b-52dvghu5ez]{font-size:32px;margin-bottom:12px;}
/* Skeleton loader */
.lg-skel[b-52dvghu5ez]{background:linear-gradient(90deg,#F1F5F9 25%,#E2E8F0 50%,#F1F5F9 75%);background-size:200% 100%;animation:skel-b-52dvghu5ez 1.5s ease-in-out infinite;border-radius:8px;}
@keyframes skel-b-52dvghu5ez{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* Filter chips */
.lg-filter-btn[b-52dvghu5ez]{padding:5px 12px;border-radius:20px;font-size:10px;font-weight:600;background:#F1F5F9;color:#64748B;border:none;cursor:pointer;transition:all .15s;}
.lg-filter-btn:hover[b-52dvghu5ez]{background:#E2E8F0;}
.lg-filter-active[b-52dvghu5ez]{background:#0E6E70!important;color:#fff!important;}
/* Mini tabs */
.lg-mini-tab[b-52dvghu5ez]{padding:4px 12px;border-radius:16px;font-size:10px;font-weight:600;background:transparent;color:#64748B;border:none;cursor:pointer;transition:all .15s;}
.lg-mini-tab:hover[b-52dvghu5ez]{background:#F1F5F9;}
.lg-mini-tab-active[b-52dvghu5ez]{background:#0E6E70;color:#fff;}
/* Preset oracle chips */
.lg-preset-btn[b-52dvghu5ez]{padding:4px 11px;border-radius:14px;font-size:10px;font-weight:500;background:#F1F5F9;color:#475569;border:1px solid #E2E8F0;cursor:pointer;transition:all .15s;}
.lg-preset-btn:hover[b-52dvghu5ez]{background:#fff;border-color:#0E6E70;color:#0E6E70;}
/* Card detail rows */
.lg-card-question[b-52dvghu5ez]{font-size:14px;font-weight:600;color:#0F172A;line-height:1.4;margin-bottom:12px;}
.lg-card-prob[b-52dvghu5ez]{font-family:'JetBrains Mono','Courier New',monospace;font-size:32px;font-weight:800;letter-spacing:-1px;line-height:1;}
.lg-card-rationale[b-52dvghu5ez]{font-size:11px;color:#64748B;line-height:1.5;margin-top:10px;}
.lg-card-meta[b-52dvghu5ez]{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#94A3B8;margin-top:12px;padding-top:10px;border-top:1px solid #F1F5F9;}
.lg-card-resolves[b-52dvghu5ez]{color:#0F172A;font-weight:600;}
/* Confidence pip */
.lg-conf[b-52dvghu5ez]{padding:1px 8px;border-radius:8px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.lg-conf-high[b-52dvghu5ez]{background:#ECFDF5;color:#059669;}
.lg-conf-medium[b-52dvghu5ez]{background:#EFF6FF;color:#2563EB;}
.lg-conf-low[b-52dvghu5ez]{background:#FEF3C7;color:#B45309;}
/* Subtle row separator */
.lg-mini-row[b-52dvghu5ez]{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:11px;border-bottom:1px dashed #F1F5F9;}
.lg-mini-row:last-child[b-52dvghu5ez]{border-bottom:none;}

/* ─── LG POLISH v2 ─── */
/* Status filter chips (above markets grid) */
.lg-status-chip[b-52dvghu5ez]{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;background:#fff;color:#475569;border:1px solid #E2E8F0;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:4px;}
.lg-status-chip:hover[b-52dvghu5ez]{background:#F8FAFC;border-color:#0E6E70;color:#0E6E70;}
.lg-status-active[b-52dvghu5ez]{background:#0E6E70!important;color:#fff!important;border-color:#0E6E70!important;}
.lg-status-active:hover[b-52dvghu5ez]{background:#084849!important;color:#fff!important;}
/* NEW badge on freshly-created cards */
.lg-new-badge[b-52dvghu5ez]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg,#0E6E70,#14B8A6);color:#fff;animation:lg-pulse-b-52dvghu5ez 2s ease-in-out infinite;}
@keyframes lg-pulse-b-52dvghu5ez{0%,100%{box-shadow:0 0 0 0 rgba(14,110,112,0.4);}50%{box-shadow:0 0 0 6px rgba(14,110,112,0);}}
/* Update activity badge */
.lg-upd-badge[b-52dvghu5ez]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:600;background:#EFF6FF;color:#2563EB;border:1px solid #DBEAFE;}
/* Resolved card states */
.lg-card-resolved-yes[b-52dvghu5ez]{background:linear-gradient(180deg,#F0FDF4 0%,#fff 60%)!important;border-color:#BBF7D0!important;}
.lg-card-resolved-yes[b-52dvghu5ez]::before{background:linear-gradient(90deg,#10B981 0%,#34D399 50%,#10B981 100%)!important;}
.lg-card-resolved-no[b-52dvghu5ez]{background:linear-gradient(180deg,#FEF2F2 0%,#fff 60%)!important;border-color:#FECACA!important;}
.lg-card-resolved-no[b-52dvghu5ez]::before{background:linear-gradient(90deg,#EF4444 0%,#F87171 50%,#EF4444 100%)!important;}
.lg-resolved-badge[b-52dvghu5ez]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:12px;font-size:10px;font-weight:700;letter-spacing:.04em;}
.lg-rb-yes[b-52dvghu5ez]{background:#10B981;color:#fff;}
.lg-rb-no[b-52dvghu5ez]{background:#EF4444;color:#fff;}
/* Retired card */
.lg-card-retired[b-52dvghu5ez]{background:#F8FAFC!important;border-color:#E2E8F0!important;opacity:0.85;}
.lg-card-retired[b-52dvghu5ez]::before{background:linear-gradient(90deg,#94A3B8,#CBD5E1,#94A3B8)!important;}
.lg-card-retired:hover[b-52dvghu5ez]{opacity:1;box-shadow:0 4px 12px rgba(100,116,139,0.08)!important;}
.lg-retired-badge[b-52dvghu5ez]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:10px;font-weight:700;background:#E2E8F0;color:#64748B;letter-spacing:.04em;}

/* ── Prediction Markets — 3-up horizontal scroll strip (Kevin 2026-05-29).
   Replaces the previous responsive grid (md:grid-cols-2 xl:grid-cols-3).
   Three cards visible, the rest live behind a horizontal scroll with a
   blend-to-edge mask on the right so users see the "more available" cue. */
.lg-markets-strip[b-52dvghu5ez]{
  display:flex; gap:16px;
  overflow-x:auto; overflow-y:visible;
  scroll-snap-type:x mandatory;
  padding:2px 4px 12px;
  mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 56px), transparent 100%);
  -webkit-mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 56px), transparent 100%);
  scrollbar-width:thin;
}
.lg-markets-strip[b-52dvghu5ez]::-webkit-scrollbar{height:6px;}
.lg-markets-strip[b-52dvghu5ez]::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.18);border-radius:3px;}
.lg-markets-strip > *[b-52dvghu5ez]{
  flex:0 0 calc((100% - 32px) / 3);   /* 3 visible (2 gaps of 16px) */
  min-width:0;
  scroll-snap-align:start;
}
/* Empty / error state spans full width so it stays readable */
.lg-markets-strip > .lg-empty[b-52dvghu5ez]{flex:0 0 100%; max-width:100%;}
@media (max-width:1023px){
  .lg-markets-strip > *[b-52dvghu5ez]{flex:0 0 calc((100% - 16px) / 2);}  /* 2 up on tablet */
}
@media (max-width:640px){
  .lg-markets-strip > *[b-52dvghu5ez]{flex:0 0 88%;}                       /* 1 up on mobile */
}

/* ─── INTEL TAB — moved from dept-mktg 2026-05-31. Geopolitical
       intelligence command center built on the RSS scoring pipeline.
       Source data still lives behind the dept-mktg webhook (r.intel);
       we fetch lazily on first tab-open. ─── */
.intel-hero[b-52dvghu5ez]{background:linear-gradient(135deg,#0F172A 0%,#1E293B 50%,#0F172A 100%);border-radius:16px;padding:18px 22px;color:#E2E8F0;position:relative;overflow:hidden;border:1px solid #334155;}
.intel-hero[b-52dvghu5ez]::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,0.04) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;}
.intel-hero[b-52dvghu5ez]::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#F97316,#EF4444,#F97316,transparent);background-size:200% 100%;animation:scanLine-b-52dvghu5ez 4s linear infinite;}
@keyframes scanLine-b-52dvghu5ez{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
@keyframes intelPulse-b-52dvghu5ez{0%,100%{opacity:1;}50%{opacity:.4;}}
.intel-kpi[b-52dvghu5ez]{background:rgba(15,23,42,0.5);backdrop-filter:blur(8px);border:1px solid rgba(148,163,184,0.15);border-radius:12px;padding:12px 14px;position:relative;overflow:hidden;transition:all .2s;}
.intel-kpi:hover[b-52dvghu5ez]{border-color:rgba(249,115,22,0.4);transform:translateY(-1px);}
.intel-kpi .k-lbl[b-52dvghu5ez]{font-size:9px;color:#94A3B8;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.intel-kpi .k-val[b-52dvghu5ez]{font-size:22px;font-weight:800;margin-top:3px;color:#F8FAFC;font-variant-numeric:tabular-nums;}
.intel-kpi .k-sub[b-52dvghu5ez]{font-size:9px;color:#64748B;margin-top:2px;}
[data-theme="apple-glass"] .intel-hero[b-52dvghu5ez],
[data-theme="editorial"]   .intel-hero[b-52dvghu5ez]{
  background:linear-gradient(135deg,#FFFFFF 0%,#F8FAFC 50%,#FFFFFF 100%);
  color:#1E293B;border-color:rgba(15,23,42,0.10);
}
[data-theme="apple-glass"] .intel-hero .text-slate-300[b-52dvghu5ez],
[data-theme="editorial"]   .intel-hero .text-slate-300[b-52dvghu5ez]{color:#475569 !important;}
[data-theme="apple-glass"] .intel-hero .text-slate-400[b-52dvghu5ez],
[data-theme="editorial"]   .intel-hero .text-slate-400[b-52dvghu5ez]{color:#64748B !important;}
[data-theme="apple-glass"] .intel-kpi[b-52dvghu5ez],
[data-theme="editorial"]   .intel-kpi[b-52dvghu5ez]{background:rgba(248,250,252,0.85);border-color:rgba(15,23,42,0.08);}
[data-theme="apple-glass"] .intel-kpi .k-lbl[b-52dvghu5ez],
[data-theme="editorial"]   .intel-kpi .k-lbl[b-52dvghu5ez]{color:#64748B;}
[data-theme="apple-glass"] .intel-kpi .k-val[b-52dvghu5ez],
[data-theme="editorial"]   .intel-kpi .k-val[b-52dvghu5ez]{color:#0F172A;}
[data-theme="apple-glass"] .intel-kpi .k-sub[b-52dvghu5ez],
[data-theme="editorial"]   .intel-kpi .k-sub[b-52dvghu5ez]{color:#94A3B8;}
[data-theme="obsidian-black"] .intel-hero[b-52dvghu5ez]{
  background:linear-gradient(135deg,#16181D 0%,#1F232B 50%,#16181D 100%);
  border-color:rgba(255,255,255,0.08);
}
[data-theme="obsidian-black"] .intel-kpi[b-52dvghu5ez]{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08);}
.intel-map-wrap[b-52dvghu5ez]{background:#0F172A;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.08);position:relative;}
.intel-map[b-52dvghu5ez]{height:440px;background:#0F172A;}
.leaflet-container[b-52dvghu5ez]{background:#0F172A !important;font-family:'Inter',sans-serif;}
[data-theme="apple-glass"] .intel-map-wrap[b-52dvghu5ez],
[data-theme="editorial"]   .intel-map-wrap[b-52dvghu5ez]   { background:#EDF2F7; border-color:rgba(15,23,42,0.10); }
[data-theme="apple-glass"] .intel-map[b-52dvghu5ez],
[data-theme="editorial"]   .intel-map[b-52dvghu5ez]        { background:#EDF2F7; }
[data-theme="apple-glass"] .leaflet-container[b-52dvghu5ez],
[data-theme="editorial"]   .leaflet-container[b-52dvghu5ez]{ background:#EDF2F7 !important; }
[data-theme="obsidian-black"] .intel-map-wrap[b-52dvghu5ez],
[data-theme="obsidian-black"] .intel-map[b-52dvghu5ez]      { background:#16181D; }
[data-theme="obsidian-black"] .leaflet-container[b-52dvghu5ez]{ background:#16181D !important; }
.leaflet-popup-content-wrapper[b-52dvghu5ez]{background:#1E293B;color:#F1F5F9;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.4);border:1px solid #334155;}
.leaflet-popup-tip[b-52dvghu5ez]{background:#1E293B;}
.leaflet-popup-content[b-52dvghu5ez]{margin:10px 14px;font-size:11px;}
.leaflet-control-attribution[b-52dvghu5ez]{background:rgba(15,23,42,0.8) !important;color:#64748B !important;font-size:9px;}
.leaflet-control-attribution a[b-52dvghu5ez]{color:#94A3B8 !important;}
.leaflet-control-zoom a[b-52dvghu5ez]{background:#1E293B !important;color:#F1F5F9 !important;border-color:#334155 !important;}
.leaflet-control-zoom a:hover[b-52dvghu5ez]{background:#334155 !important;}
.intel-legend[b-52dvghu5ez]{position:absolute;bottom:12px;left:12px;background:rgba(15,23,42,0.85);backdrop-filter:blur(8px);padding:10px 12px;border-radius:8px;border:1px solid #334155;font-size:10px;color:#CBD5E1;z-index:500;}
.intel-legend-dot[b-52dvghu5ez]{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;box-shadow:0 0 8px currentColor;}
/* Hot list horizontal (v2) */
.hot-strip[b-52dvghu5ez]{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:#CBD5E1 transparent;}
.hot-strip[b-52dvghu5ez]::-webkit-scrollbar{height:4px;}
.hot-strip[b-52dvghu5ez]::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:2px;}
.hot-h[b-52dvghu5ez]{flex:0 0 auto;min-width:200px;background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:12px 14px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;}
.hot-h:hover[b-52dvghu5ez]{border-color:#F97316;transform:translateY(-2px);box-shadow:0 4px 14px rgba(249,115,22,0.12);}
.hot-h.rank-1[b-52dvghu5ez]::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#EF4444,#F97316);}
.hot-h.rank-2[b-52dvghu5ez]::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#F97316;}
.hot-h.rank-3[b-52dvghu5ez]::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#F59E0B;}
.hot-h-head[b-52dvghu5ez]{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.hot-h-flag[b-52dvghu5ez]{font-size:22px;}
.hot-h-rank[b-52dvghu5ez]{background:#F1F5F9;color:#64748B;font-size:9px;font-weight:800;padding:1px 6px;border-radius:10px;letter-spacing:.05em;}
.hot-h-name[b-52dvghu5ez]{font-size:13px;font-weight:700;color:#1E293B;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hot-h-metrics[b-52dvghu5ez]{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.hot-h-heat[b-52dvghu5ez]{font-size:18px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;}
.hot-h-sub[b-52dvghu5ez]{font-size:9px;color:#94A3B8;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.hot-h-bar[b-52dvghu5ez]{display:flex;gap:3px;font-size:9px;color:#64748B;font-weight:700;}
.hot-h-bar span[b-52dvghu5ez]{background:#F1F5F9;padding:1px 5px;border-radius:6px;}
.hot-h-bar span.hi[b-52dvghu5ez]{background:#FEE2E2;color:#DC2626;}
.hot-h-bar span.md[b-52dvghu5ez]{background:#FFEDD5;color:#EA580C;}
.hot-h-live[b-52dvghu5ez]{position:absolute;top:10px;right:10px;background:#FEE2E2;color:#DC2626;font-size:9px;font-weight:700;padding:2px 7px;border-radius:20px;display:inline-flex;align-items:center;gap:3px;}
.hot-h-live[b-52dvghu5ez]::before{content:'';width:5px;height:5px;border-radius:50%;background:#DC2626;animation:intelPulse-b-52dvghu5ez 1.2s infinite;}
/* Breaking ticker (streaming v2) */
.br-stream[b-52dvghu5ez]{background:linear-gradient(90deg,rgba(239,68,68,0.12),rgba(249,115,22,0.08),rgba(239,68,68,0.12));border:1px solid rgba(239,68,68,0.3);border-radius:10px;display:flex;align-items:center;gap:12px;overflow:hidden;padding:0;position:relative;}
.br-stream-label[b-52dvghu5ez]{background:#DC2626;color:#fff;padding:10px 14px;font-size:10px;font-weight:800;letter-spacing:.12em;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;z-index:2;position:relative;box-shadow:2px 0 8px rgba(0,0,0,0.1);}
.br-stream-label[b-52dvghu5ez]::before{content:'';width:6px;height:6px;border-radius:50%;background:#fff;animation:intelPulse-b-52dvghu5ez 1s infinite;}
.br-stream-wrap[b-52dvghu5ez]{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);}
.br-stream-track[b-52dvghu5ez]{display:inline-flex;align-items:center;gap:0;white-space:nowrap;animation:streamL-b-52dvghu5ez 120s linear infinite;padding:10px 0;}
.br-stream-wrap:hover .br-stream-track[b-52dvghu5ez]{animation-play-state:paused;}
@keyframes streamL-b-52dvghu5ez{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.br-item[b-52dvghu5ez]{display:inline-flex;align-items:center;gap:6px;padding:0 20px;color:#7F1D1D;font-size:11px;font-weight:600;}
.br-item-flags[b-52dvghu5ez]{font-size:13px;}
.br-item-urg[b-52dvghu5ez]{background:#DC2626;color:#fff;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:800;letter-spacing:.05em;}
.br-item-urg.med[b-52dvghu5ez]{background:#F97316;}
.br-item-score[b-52dvghu5ez]{color:#EF4444;font-weight:800;font-variant-numeric:tabular-nums;}
.br-item-title[b-52dvghu5ez]{color:#1E293B;font-weight:600;max-width:420px;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle;}
.br-item-dot[b-52dvghu5ez]{width:4px;height:4px;border-radius:50%;background:#EF4444;opacity:0.4;margin:0 4px;}
/* Heatmap */
.heat-cell[b-52dvghu5ez]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;position:relative;cursor:default;transition:transform .15s;}
.heat-cell:hover[b-52dvghu5ez]{transform:scale(1.08);z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.15);}
.heat-lbl[b-52dvghu5ez]{font-size:9px;color:#64748B;font-weight:600;text-align:right;padding-right:6px;line-height:1.1;}
.heat-col-lbl[b-52dvghu5ez]{font-size:8px;color:#94A3B8;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-align:center;white-space:nowrap;}
/* Latest Picks tabs */
.lp-tabs[b-52dvghu5ez]{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid #E2E8F0;padding-bottom:0;}
.lp-tab[b-52dvghu5ez]{padding:8px 14px;border:0;background:transparent;cursor:pointer;font-size:12px;font-weight:600;color:#64748B;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;display:inline-flex;align-items:center;gap:6px;}
.lp-tab:hover[b-52dvghu5ez]{color:#1E293B;}
.lp-tab.lp-active[b-52dvghu5ez]{color:var(--alat-teal);border-bottom-color:var(--alat-teal);}
.lp-tab-badge[b-52dvghu5ez]{background:#F1F5F9;color:#64748B;font-size:9px;font-weight:700;padding:1px 6px;border-radius:10px;}
.lp-tab.lp-active .lp-tab-badge[b-52dvghu5ez]{background:rgba(14,110,112,0.10);color:var(--alat-teal);}
.lp-card[b-52dvghu5ez]{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:#fff;border:1px solid #F1F5F9;border-radius:10px;transition:all .15s;}
.lp-card:hover[b-52dvghu5ez]{border-color:#E2E8F0;background:#FAFBFC;}
.lp-score[b-52dvghu5ez]{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;}
.lp-score.hi[b-52dvghu5ez]{background:rgba(14,110,112,0.10);color:var(--alat-teal);}
.lp-score.md[b-52dvghu5ez]{background:#EFF6FF;color:#3B82F6;}
.lp-score.lo[b-52dvghu5ez]{background:#F1F5F9;color:#64748B;}
.lp-body[b-52dvghu5ez]{flex:1;min-width:0;}
.lp-title[b-52dvghu5ez]{font-size:12px;font-weight:600;color:#1E293B;line-height:1.35;}
.lp-title a[b-52dvghu5ez]{color:inherit;}
.lp-title a:hover[b-52dvghu5ez]{color:var(--alat-teal);}
.lp-meta[b-52dvghu5ez]{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap;font-size:10px;color:#94A3B8;}
.lp-meta .lp-flag[b-52dvghu5ez]{font-size:13px;}
.lp-meta .lp-pill[b-52dvghu5ez]{background:rgba(14,110,112,0.08);color:var(--alat-teal);padding:1px 7px;border-radius:10px;font-weight:600;font-size:9px;}
.lp-meta .lp-pill.eaf[b-52dvghu5ez]{background:#ECFDF5;color:#059669;}
.lp-meta .lp-pill.ai[b-52dvghu5ez]{background:#EFF6FF;color:#3B82F6;}
.lp-meta .lp-pill.intel[b-52dvghu5ez]{background:#FEF3C7;color:#B45309;}
.lp-meta .lp-age[b-52dvghu5ez]{font-weight:600;color:#64748B;}
.lp-urg[b-52dvghu5ez]{font-size:10px;}
.lp-summary[b-52dvghu5ez]{font-size:11px;color:#64748B;margin-top:4px;line-height:1.4;}
/* /Pages/DeptGrowth.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/dept-growth.html's page-local <style>
   block (the rules not already covered by the shared wwwroot/index.html styles),
   plus the shared scroll-cap / back-to-dash helper classes from
   AISwarmPortal-static/assets/editorial-theme.css so this page renders
   pixel-identical without needing that stylesheet loaded globally. */

.sec-tab[b-jjdcenzpl7] { padding: 8px 18px; border-radius: 12px 12px 0 0; font-size: 12px; font-weight: 600; cursor: pointer; transition: all .15s; border: none; }
.sec-active[b-jjdcenzpl7] { background: #fff; color: #059669; border: 1px solid #E2E8F0; border-bottom: 2px solid #fff; }
.sec-idle[b-jjdcenzpl7] { background: #F1F5F9; color: #64748B; }
.sec-idle:hover[b-jjdcenzpl7] { background: #E2E8F0; }

.funnel-bar[b-jjdcenzpl7] { height: 36px; border-radius: 8px; display: flex; align-items: center; padding: 0 14px; font-weight: 700; font-size: 12px; color: #fff; transition: width .6s ease; }
.progress-bar[b-jjdcenzpl7] { height: 6px; border-radius: 3px; background: #F1F5F9; overflow: hidden; }
.progress-fill[b-jjdcenzpl7] { height: 100%; border-radius: 3px; transition: width .3s; }
.grow-card[b-jjdcenzpl7] { background: #fff; border: 1px solid #E2E8F0; border-radius: 14px; padding: 16px; transition: all .2s; }
.grow-card:hover[b-jjdcenzpl7] { box-shadow: 0 6px 24px rgba(5,150,105,0.08); border-color: rgba(5,150,105,0.15); }
.badge-grow[b-jjdcenzpl7] { background: #ECFDF5; color: #047857; }

/* ── Back-to-dashboard button (AISwarmPortal-static/assets/editorial-theme.css) ── */
.back-to-dash[b-jjdcenzpl7] {
    appearance: none;
    width: 36px; height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(14, 110, 112, 0.14);
    background: rgba(255, 255, 255, 0.62);
    color: #0E6E70;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, transform .12s ease;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.back-to-dash:hover[b-jjdcenzpl7] { background: rgba(255, 255, 255, 0.95); border-color: rgba(14, 110, 112, 0.32); }
.back-to-dash:active[b-jjdcenzpl7] { transform: scale(0.94); }

/* ── Rule-of-5 scroll cap (AISwarmPortal-static/assets/editorial-theme.css) ── */
.scroll-cap[b-jjdcenzpl7] {
    --rows: 5;
    --row-h: 56px;
    --row-gap: 12px;
    --cap-pad: 4px;
    max-height: calc(var(--rows) * var(--row-h) + (var(--rows) - 1) * var(--row-gap) + var(--cap-pad) * 2);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-width: thin;
    scrollbar-color: rgba(15,23,42,0.22) transparent;
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
            mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
}
.scroll-cap:hover[b-jjdcenzpl7] { scrollbar-color: rgba(15,23,42,0.36) transparent; }
.scroll-cap[b-jjdcenzpl7]::-webkit-scrollbar { width: 6px; height: 6px; }
.scroll-cap[b-jjdcenzpl7]::-webkit-scrollbar-track { background: transparent; }
.scroll-cap[b-jjdcenzpl7]::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); border-radius: 999px; }
.scroll-cap[b-jjdcenzpl7]::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.36); }
.scroll-cap--loose[b-jjdcenzpl7] { --row-h: 76px; --row-gap: 14px; }

tbody.scroll-cap-tbody[b-jjdcenzpl7] { /* marker class — no layout change */ }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-jjdcenzpl7] {
    --rows: 5;
    --row-h: 44px;
    --head-h: 38px;
    max-height: calc(var(--rows) * var(--row-h) + var(--head-h));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(15,23,42,0.22) transparent;
}
.overflow-x-auto:has(tbody.scroll-cap-tbody):hover[b-jjdcenzpl7] { scrollbar-color: rgba(15,23,42,0.36) transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-jjdcenzpl7]::-webkit-scrollbar { width: 6px; height: 6px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-jjdcenzpl7]::-webkit-scrollbar-track { background: transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-jjdcenzpl7]::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); border-radius: 999px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-jjdcenzpl7]::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.36); }
table:has(tbody.scroll-cap-tbody) thead th[b-jjdcenzpl7] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 0 1px 0 rgba(15,23,42,0.06);
}
/* /Pages/DeptMktg.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/dept-mktg.html's page-local <style>
   block (and the .scroll-cap / .back-to-dash utilities from assets/editorial-theme.css
   that the shared portal shell does not define). Blazor CSS isolation scopes these
   selectors to elements rendered by DeptMktg.razor, so no changes were needed beyond
   removing the <style> tags. Classes already provided globally by wwwroot/index.html
   (.card, .badge*, .tbl, .fade-up/.d1-d6, keyframes fadeUp/pulse2/shimmer, scrollbar)
   are intentionally NOT duplicated here. */

/* Section tabs (mktg-specific sizing/radius differ from the shared .tab-btn) */
.sec-tab[b-68x1kopp01]{padding:8px 18px;border-radius:12px 12px 0 0;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;border:none;}
.sec-active[b-68x1kopp01]{background:#fff;color:#7C3AED;border:1px solid #E2E8F0;border-bottom:2px solid #fff;}
.sec-idle[b-68x1kopp01]{background:#F1F5F9;color:#64748B;}
.sec-idle:hover[b-68x1kopp01]{background:#E2E8F0;}

/* Extra badge variants used only on this page */
.badge-mktg[b-68x1kopp01]{background:#F5F3FF;color:#7C3AED;}
.badge-pub[b-68x1kopp01]{background:#ECFDF5;color:#059669;border:1px solid #A7F3D0;}

.funnel-bar[b-68x1kopp01]{height:36px;border-radius:8px;display:flex;align-items:center;padding:0 14px;font-weight:700;font-size:12px;color:#fff;transition:width .6s ease;}
.mktg-card[b-68x1kopp01]{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:16px;transition:all .2s;}
.mktg-card:hover[b-68x1kopp01]{box-shadow:0 6px 24px rgba(124,58,237,0.08);border-color:rgba(124,58,237,0.15);}
.score-ring[b-68x1kopp01]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;}
.social-pill[b-68x1kopp01]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:16px;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;}
.social-pill:hover[b-68x1kopp01]{transform:scale(1.04);}
.social-tw[b-68x1kopp01]{background:#EFF6FF;color:#1DA1F2;border-color:#BFDBFE;}
.social-li[b-68x1kopp01]{background:#EFF6FF;color:#0A66C2;border-color:#BFDBFE;}
.sub-score-bar[b-68x1kopp01]{height:8px;border-radius:4px;transition:width .5s ease;}
.kpi-hero[b-68x1kopp01]{background:linear-gradient(135deg,#7C3AED 0%,#A78BFA 50%,#6D28D9 100%);border-radius:16px;color:#fff;padding:18px;position:relative;overflow:hidden;}
.kpi-hero[b-68x1kopp01]::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.1),transparent);background-size:200% 100%;animation:shimmer 3s infinite;}

/* Back-to-dashboard arrow button (from editorial-theme.css; shared shell doesn't ship it) */
.back-to-dash[b-68x1kopp01]{appearance:none;width:36px;height:36px;border-radius:10px;border:1px solid rgba(14,110,112,0.14);background:rgba(255,255,255,0.62);color:#0E6E70;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .12s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);}
.back-to-dash:hover[b-68x1kopp01]{background:rgba(255,255,255,0.95);border-color:rgba(14,110,112,0.32);}
.back-to-dash:active[b-68x1kopp01]{transform:scale(0.94);}

/* "Rule of 5" capped-scroll lists (from editorial-theme.css; shared shell doesn't ship it) */
.scroll-cap[b-68x1kopp01]{--rows:5;--row-h:56px;--row-gap:12px;--cap-pad:4px;max-height:calc(var(--rows) * var(--row-h) + (var(--rows) - 1) * var(--row-gap) + var(--cap-pad) * 2);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,0.22) transparent;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);}
.scroll-cap:hover[b-68x1kopp01]{scrollbar-color:rgba(15,23,42,0.36) transparent;}
.scroll-cap[b-68x1kopp01]::-webkit-scrollbar{width:6px;height:6px;}
.scroll-cap[b-68x1kopp01]::-webkit-scrollbar-track{background:transparent;}
.scroll-cap[b-68x1kopp01]::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.20);border-radius:999px;}
.scroll-cap[b-68x1kopp01]::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,0.36);}
.scroll-cap--tight[b-68x1kopp01]{--row-h:36px;--row-gap:10px;}
.scroll-cap--loose[b-68x1kopp01]{--row-h:76px;--row-gap:14px;}
tbody.scroll-cap-tbody[b-68x1kopp01]{ /* marker class — no layout change, matches static */ }
/* /Pages/DeptRnd.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/dept-rnd.html's page-local <style>
   block (the rules not already covered by the shared wwwroot/index.html styles),
   plus the shared scroll-cap / back-to-dash helper classes from
   AISwarmPortal-static/assets/editorial-theme.css so this page renders
   pixel-identical without needing that stylesheet loaded globally.
   Blazor CSS isolation automatically scopes these selectors to elements
   rendered by DeptRnd.razor, so redeclaring tab-btn/tab-active here (purple,
   matching the static page's override of the shared teal default) only
   affects this page. */

/* "rnd" isn't in the shell's shared Tailwind config (only alat/coral/ok/warn/crit/info
   are) -- these mirror the static page's custom rnd:#8B5CF6 / rndL:#A78BFA tokens as
   plain CSS so text-rnd / from-rnd / to-rndL render pixel-identical. */
.text-rnd[b-dgtfbh2cpn] { color: #8B5CF6; }
.from-rnd[b-dgtfbh2cpn] { --tw-gradient-from: #8B5CF6 var(--tw-gradient-from-position,0%); --tw-gradient-to: rgb(139 92 246/0) var(--tw-gradient-to-position,100%); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); }
.to-rndL[b-dgtfbh2cpn] { --tw-gradient-to: #A78BFA var(--tw-gradient-to-position,100%); }

.badge-rnd[b-dgtfbh2cpn] { background: #F5F3FF; color: #7C3AED; }

.tab-btn[b-dgtfbh2cpn] { padding: 6px 16px; border-radius: 20px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all .15s; border: none; }
.tab-active[b-dgtfbh2cpn] { background: #8B5CF6; color: #fff; }
.tab-idle[b-dgtfbh2cpn] { background: #F1F5F9; color: #64748B; }
.tab-idle:hover[b-dgtfbh2cpn] { background: #E2E8F0; }

.funnel-bar[b-dgtfbh2cpn] { height: 36px; border-radius: 8px; display: flex; align-items: center; padding: 0 14px; font-weight: 700; font-size: 12px; color: #fff; transition: width .6s ease; }

.research-card[b-dgtfbh2cpn] { background: #fff; border: 1px solid #E2E8F0; border-radius: 14px; padding: 16px; transition: all .2s; }
.research-card:hover[b-dgtfbh2cpn] { box-shadow: 0 6px 24px rgba(139,92,246,0.08); border-color: rgba(139,92,246,0.15); }

/* ── Back-to-dashboard button (AISwarmPortal-static/assets/editorial-theme.css) ── */
.back-to-dash[b-dgtfbh2cpn] {
    appearance: none;
    width: 36px; height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(14, 110, 112, 0.14);
    background: rgba(255, 255, 255, 0.62);
    color: #0E6E70;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease, transform .12s ease;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.back-to-dash:hover[b-dgtfbh2cpn] { background: rgba(255, 255, 255, 0.95); border-color: rgba(14, 110, 112, 0.32); }
.back-to-dash:active[b-dgtfbh2cpn] { transform: scale(0.94); }

/* ── Rule-of-5 scroll cap (AISwarmPortal-static/assets/editorial-theme.css) ── */
.scroll-cap[b-dgtfbh2cpn] {
    --rows: 5;
    --row-h: 56px;
    --row-gap: 12px;
    --cap-pad: 4px;
    max-height: calc(var(--rows) * var(--row-h) + (var(--rows) - 1) * var(--row-gap) + var(--cap-pad) * 2);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-width: thin;
    scrollbar-color: rgba(15,23,42,0.22) transparent;
    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
            mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
}
.scroll-cap:hover[b-dgtfbh2cpn] { scrollbar-color: rgba(15,23,42,0.36) transparent; }
.scroll-cap[b-dgtfbh2cpn]::-webkit-scrollbar { width: 6px; height: 6px; }
.scroll-cap[b-dgtfbh2cpn]::-webkit-scrollbar-track { background: transparent; }
.scroll-cap[b-dgtfbh2cpn]::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); border-radius: 999px; }
.scroll-cap[b-dgtfbh2cpn]::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.36); }
.scroll-cap--loose[b-dgtfbh2cpn] { --row-h: 76px; --row-gap: 14px; }

tbody.scroll-cap-tbody[b-dgtfbh2cpn] { /* marker class — no layout change */ }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-dgtfbh2cpn] {
    --rows: 5;
    --row-h: 44px;
    --head-h: 38px;
    max-height: calc(var(--rows) * var(--row-h) + var(--head-h));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(15,23,42,0.22) transparent;
}
.overflow-x-auto:has(tbody.scroll-cap-tbody):hover[b-dgtfbh2cpn] { scrollbar-color: rgba(15,23,42,0.36) transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-dgtfbh2cpn]::-webkit-scrollbar { width: 6px; height: 6px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-dgtfbh2cpn]::-webkit-scrollbar-track { background: transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-dgtfbh2cpn]::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); border-radius: 999px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-dgtfbh2cpn]::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.36); }
table:has(tbody.scroll-cap-tbody) thead th[b-dgtfbh2cpn] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 0 1px 0 rgba(15,23,42,0.06);
}
/* /Pages/LaddrAdmin.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/laddr-admin-dashboard.html's page-local <style> block.
   Scoped to this component so the amber/coral LADDR palette overrides the portal's default
   teal .card/.badge/.tab-btn/.btn-primary rules (defined globally in wwwroot/index.html) only
   within this page's own content region. Sidebar-specific and empty placeholder rules from the
   static file are intentionally omitted -- the shared SwarmLayout shell owns that chrome. */

.card[b-f63j40gu66]{background:#fff;border:1px solid #E2E8F0;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:all .25s;}
.card-hover:hover[b-f63j40gu66]{box-shadow:0 8px 30px rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.2);transform:translateY(-2px);}
.badge[b-f63j40gu66]{padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.badge-ok[b-f63j40gu66]{background:#ECFDF5;color:#059669;}.badge-warn[b-f63j40gu66]{background:#FFFBEB;color:#D97706;}
.badge-crit[b-f63j40gu66]{background:#FEF2F2;color:#DC2626;}.badge-info[b-f63j40gu66]{background:#EFF6FF;color:#2563EB;}.badge-muted[b-f63j40gu66]{background:#F1F5F9;color:#64748B;}

.btn-primary[b-f63j40gu66]{background:linear-gradient(135deg,#F59E0B,#D97706);color:#fff;transition:all .25s;border:0;cursor:pointer;border-radius:10px;}
.btn-primary:hover[b-f63j40gu66]{box-shadow:0 4px 20px rgba(245,158,11,0.35);transform:translateY(-1px);}
.btn-ghost[b-f63j40gu66]{background:transparent;border:1px solid #E2E8F0;color:#64748B;cursor:pointer;border-radius:8px;transition:all .15s;}
.btn-ghost:hover[b-f63j40gu66]{border-color:#0D9488;color:#0D9488;background:rgba(13,148,136,0.04);}

/* ── Tabs ── */
.tab-btn[b-f63j40gu66]{padding:8px 16px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;border:0;transition:all .15s;background:transparent;color:#64748B;}
.tab-btn:hover[b-f63j40gu66]{color:#374151;}
.tab-btn.active[b-f63j40gu66]{background:#fff;color:#D97706;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,0.08);}

/* ── Table ── */
.tbl[b-f63j40gu66]{width:100%;border-collapse:separate;border-spacing:0;}
.tbl th[b-f63j40gu66]{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;color:#64748B;text-transform:uppercase;letter-spacing:.05em;background:#F8FAFC;border-bottom:1px solid #E2E8F0;}
.tbl td[b-f63j40gu66]{padding:12px;font-size:13px;color:#374151;border-bottom:1px solid #F1F5F9;}
.tbl tr:hover td[b-f63j40gu66]{background:#F8FAFC;}
.health-bar[b-f63j40gu66]{height:8px;border-radius:4px;background:#F1F5F9;overflow:hidden;}
.health-fill[b-f63j40gu66]{height:100%;border-radius:4px;transition:width .6s ease;}
.expand-row[b-f63j40gu66]{display:none;}.expand-row.open[b-f63j40gu66]{display:table-row;}

.hero-kpi[b-f63j40gu66]{background:linear-gradient(135deg,#F59E0B 0%,#D97706 100%);color:#fff;border-radius:16px;border:0;}

/* ── Notif ── */
.notif-dd[b-f63j40gu66]{position:absolute;top:52px;right:0;width:360px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s;z-index:90;}
.notif-dd.open[b-f63j40gu66]{opacity:1;visibility:visible;transform:translateY(0);}

/* ── Toast ── */
.toast[b-f63j40gu66]{position:fixed;top:20px;right:20px;z-index:999;padding:14px 20px;border-radius:12px;font-size:13px;font-weight:500;box-shadow:0 8px 30px rgba(0,0,0,.12);transform:translateX(120%);transition:transform .35s cubic-bezier(.4,0,.2,1);max-width:380px;}
.toast.show[b-f63j40gu66]{transform:translateX(0);}
.toast-ok[b-f63j40gu66]{background:#ECFDF5;color:#065F46;border-left:4px solid #10B981;}

/* ── Anims ── */
@keyframes fadeUp-b-f63j40gu66{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse2-b-f63j40gu66{0%,100%{opacity:1;}50%{opacity:.4;}}
.fade-up[b-f63j40gu66]{animation:fadeUp-b-f63j40gu66 .45s ease-out forwards;}.d1[b-f63j40gu66]{animation-delay:.05s;opacity:0;}.d2[b-f63j40gu66]{animation-delay:.1s;opacity:0;}.d3[b-f63j40gu66]{animation-delay:.15s;opacity:0;}.d4[b-f63j40gu66]{animation-delay:.2s;opacity:0;}.d5[b-f63j40gu66]{animation-delay:.25s;opacity:0;}
.pulse-dot[b-f63j40gu66]{animation:pulse2-b-f63j40gu66 2s infinite;}

.badge-laddr[b-f63j40gu66]{background:#FEF3C7;color:#B45309;}.badge-courier[b-f63j40gu66]{background:#EDE9FE;color:#7C3AED;}.badge-merchant[b-f63j40gu66]{background:#FFF7ED;color:#C2410C;}.badge-customer[b-f63j40gu66]{background:#F0F9FF;color:#0369A1;}
.zone-pill[b-f63j40gu66]{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:600;background:#FEF3C7;color:#B45309;border:1px solid #FDE68A;}
.funnel-bar[b-f63j40gu66]{height:36px;border-radius:8px;display:flex;align-items:center;padding:0 14px;font-size:12px;font-weight:600;color:#fff;transition:width .8s;}
/* /Pages/LiveFeed.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/live-feed.html page-local <style>
   block (plus the .scroll-cap / .badge-lf utilities from assets/editorial-theme.css
   that the shared portal shell does not define). Blazor CSS isolation scopes these
   selectors to elements rendered by LiveFeed.razor, so no changes were needed beyond
   removing the <style> tags. Classes already provided globally by wwwroot/index.html
   (.card, .badge*, .tbl, .fade-up/.d1-d6, keyframes fadeUp/pulse2, scrollbar) are
   intentionally NOT duplicated here. */

/* Extra badge variant used only by the CoFounder stream on this page */
.badge-lf[b-nagsoarrjs]{background:#F0FDFA;color:#0D9488;}

/* Section tabs */
.sec-tab[b-nagsoarrjs]{padding:8px 18px;border-radius:12px 12px 0 0;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;border:none;}
.sec-active[b-nagsoarrjs]{background:#fff;color:#0D9488;border:1px solid #E2E8F0;border-bottom:2px solid #fff;}
.sec-idle[b-nagsoarrjs]{background:#F1F5F9;color:#64748B;border:1px solid transparent;}
.sec-idle:hover[b-nagsoarrjs]{background:#E2E8F0;color:#475569;}

/* Feed items */
.feed-item[b-nagsoarrjs]{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:14px 16px;transition:all .25s;}
.feed-item:hover[b-nagsoarrjs]{border-color:#CBD5E1;box-shadow:0 4px 12px rgba(0,0,0,0.04);}
@keyframes feedIn-b-nagsoarrjs{from{opacity:0;transform:translateX(-20px);}to{opacity:1;transform:translateX(0);}}
.feed-new[b-nagsoarrjs]{animation:feedIn-b-nagsoarrjs .5s ease-out;}
.bot-icon[b-nagsoarrjs]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}

/* Filter chips */
.filter-btn[b-nagsoarrjs]{padding:5px 14px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid #E2E8F0;background:#fff;color:#64748B;}
.filter-btn:hover[b-nagsoarrjs]{border-color:#CBD5E1;color:#1E293B;}
.filter-active[b-nagsoarrjs]{background:rgba(13,148,136,0.08);border-color:rgba(13,148,136,0.3);color:#0D9488;}

/* Hero KPI tile (Workflows total / Total Sweat Value) */
.kpi-hero[b-nagsoarrjs]{background:linear-gradient(135deg,#0D9488 0%,#14B8A6 50%,#0F766E 100%);border-radius:16px;color:#fff;padding:18px;position:relative;overflow:hidden;}
.kpi-hero[b-nagsoarrjs]::after{content:'';position:absolute;top:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);animation:scan-b-nagsoarrjs 3s ease-in-out infinite;}
@keyframes scan-b-nagsoarrjs{0%{left:-30%;}100%{left:130%;}}

.bar-fill[b-nagsoarrjs]{height:100%;border-radius:4px;transition:width .6s ease;}

/* Ticker */
.ticker[b-nagsoarrjs]{overflow:hidden;white-space:nowrap;}
.ticker-inner[b-nagsoarrjs]{display:inline-block;animation:ticker-b-nagsoarrjs 45s linear infinite;}
@keyframes ticker-b-nagsoarrjs{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* CoFounder conversation bubbles */
.conv-bubble[b-nagsoarrjs]{padding:12px 16px;border-radius:14px;max-width:85%;font-size:12px;line-height:1.5;}
.conv-left[b-nagsoarrjs]{background:#F8FAFC;border:1px solid #E2E8F0;align-self:flex-start;border-bottom-left-radius:4px;color:#334155;}
.conv-right[b-nagsoarrjs]{background:linear-gradient(135deg,rgba(13,148,136,0.08),rgba(13,148,136,0.03));border:1px solid rgba(13,148,136,0.15);align-self:flex-end;border-bottom-right-radius:4px;color:#1E293B;}

.progress-ring[b-nagsoarrjs]{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;position:relative;}
.progress-ring[b-nagsoarrjs]::before{content:'';position:absolute;inset:0;border-radius:50%;border:3px solid #E2E8F0;}

/* Refresh toast */
.toast[b-nagsoarrjs]{position:fixed;bottom:24px;right:24px;background:#14B8A6;color:#fff;padding:12px 20px;border-radius:12px;font-size:12px;font-weight:500;z-index:999;opacity:0;transform:translateY(10px);transition:all .3s;pointer-events:none;}
.toast.show[b-nagsoarrjs]{opacity:1;transform:translateY(0);}

/* Rule-of-5 capped scroll areas (feed list + CoFounder stream) */
.scroll-cap[b-nagsoarrjs]{--rows:5;--row-h:56px;--row-gap:12px;--cap-pad:4px;max-height:calc(var(--rows) * var(--row-h) + (var(--rows) - 1) * var(--row-gap) + var(--cap-pad) * 2);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,0.22) transparent;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);}
.scroll-cap:hover[b-nagsoarrjs]{scrollbar-color:rgba(15,23,42,0.36) transparent;}
.scroll-cap[b-nagsoarrjs]::-webkit-scrollbar{width:6px;height:6px;}
.scroll-cap[b-nagsoarrjs]::-webkit-scrollbar-track{background:transparent;}
.scroll-cap[b-nagsoarrjs]::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.20);border-radius:999px;}
.scroll-cap[b-nagsoarrjs]::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,0.36);}
.scroll-cap--chat[b-nagsoarrjs]{--row-h:92px;--row-gap:12px;}

/* Table tbody scroll — caps recent-runs/tasks/pulse/log tables to ~5 rows */
tbody.scroll-cap-tbody[b-nagsoarrjs]{ /* marker class — no layout change, matches static */ }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-nagsoarrjs]{--rows:5;--row-h:44px;--head-h:38px;max-height:calc(var(--rows) * var(--row-h) + var(--head-h));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,0.22) transparent;}
.overflow-x-auto:has(tbody.scroll-cap-tbody):hover[b-nagsoarrjs]{scrollbar-color:rgba(15,23,42,0.36) transparent;}
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-nagsoarrjs]::-webkit-scrollbar{width:6px;height:6px;}
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-nagsoarrjs]::-webkit-scrollbar-track{background:transparent;}
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-nagsoarrjs]::-webkit-scrollbar-thumb{background:rgba(15,23,42,0.20);border-radius:999px;}
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-nagsoarrjs]::-webkit-scrollbar-thumb:hover{background:rgba(15,23,42,0.36);}
table:has(tbody.scroll-cap-tbody) thead th[b-nagsoarrjs]{position:sticky;top:0;z-index:2;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,0.06);}
/* /Pages/Reports.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/reports.html's page-local <style> block.
   .card/.badge/.badge-*/.pulse-dot are already defined globally in wwwroot/index.html[b-0atieucdij],
   so only the page-specific .report-card hover rule is scoped here. */

.report-card[b-0atieucdij]{cursor:pointer;transition:all .2s;}
.report-card:hover[b-0atieucdij]{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.08);}
/* /Pages/SageAdmin.razor.rz.scp.css */
/* Ported verbatim from sage-admin-dashboard.html's page-local <style> block, scoped to this page.
   Blazor CSS isolation appends an attribute selector to every rule below, so these reliably win over
   the app-shell's generically-named .card/.btn-primary/.tab-btn/.tbl/.bg-ok/.bg-warn/.bg-crit rules
   in wwwroot/index.html, which use a different (teal-branded) design for those same class names. */

.card[b-0yuvurevbx] { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); transition: all .25s; }

.badge[b-0yuvurevbx] { padding: 2px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.badge-ok[b-0yuvurevbx] { background: #ECFDF5; color: #059669; }
.badge-warn[b-0yuvurevbx] { background: #FFFBEB; color: #D97706; }
.badge-crit[b-0yuvurevbx] { background: #FEF2F2; color: #DC2626; }
.badge-info[b-0yuvurevbx] { background: #EFF6FF; color: #2563EB; }
.badge-muted[b-0yuvurevbx] { background: #F1F5F9; color: #64748B; }

.btn-primary[b-0yuvurevbx] { background: linear-gradient(135deg, #8B5CF6, #7C3AED); color: #fff; transition: all .25s; border: 0; cursor: pointer; border-radius: 10px; }
.btn-primary:hover[b-0yuvurevbx] { box-shadow: 0 4px 20px rgba(139, 92, 246, 0.35); transform: translateY(-1px); }
.btn-ghost[b-0yuvurevbx] { background: transparent; border: 1px solid #E2E8F0; color: #64748B; cursor: pointer; border-radius: 8px; transition: all .15s; }
.btn-ghost:hover[b-0yuvurevbx] { border-color: #8B5CF6; color: #8B5CF6; background: rgba(139, 92, 246, 0.04); }

.tab-btn[b-0yuvurevbx] { padding: 8px 16px; border-radius: 10px; font-size: 13px; font-weight: 500; cursor: pointer; border: 0; transition: all .15s; background: transparent; color: #64748B; }
.tab-btn:hover[b-0yuvurevbx] { color: #374151; }
.tab-btn.active[b-0yuvurevbx] { background: #fff; color: #7C3AED; font-weight: 600; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); }

.tbl[b-0yuvurevbx] { width: 100%; border-collapse: separate; border-spacing: 0; }
.tbl th[b-0yuvurevbx] { text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600; color: #64748B; text-transform: uppercase; letter-spacing: .05em; background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.tbl td[b-0yuvurevbx] { padding: 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #F1F5F9; }
.tbl tr:hover td[b-0yuvurevbx] { background: #F8FAFC; }

.health-bar[b-0yuvurevbx] { height: 8px; border-radius: 4px; background: #F1F5F9; overflow: hidden; }
.health-fill[b-0yuvurevbx] { height: 100%; border-radius: 4px; transition: width .6s ease; }

.hero-kpi[b-0yuvurevbx] { background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%); color: #fff; border-radius: 16px; border: 0; }

.badge-sage[b-0yuvurevbx] { background: #EDE9FE; color: #7C3AED; }
.badge-lite[b-0yuvurevbx] { background: #F0FDF4; color: #16A34A; }
.badge-pro[b-0yuvurevbx] { background: #EFF6FF; color: #2563EB; }
.badge-biz[b-0yuvurevbx] { background: #FEF3C7; color: #D97706; }
.bg-sage[b-0yuvurevbx] { background: #8B5CF6; }
.bg-ok[b-0yuvurevbx] { background: #10B981; }
.bg-warn[b-0yuvurevbx] { background: #F59E0B; }
.bg-crit[b-0yuvurevbx] { background: #EF4444; }

.pulse-dot[b-0yuvurevbx] { animation: pulse2-b-0yuvurevbx 2s ease-in-out infinite; }
@keyframes pulse2-b-0yuvurevbx { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
.fade-up[b-0yuvurevbx] { opacity: 0; transform: translateY(12px); animation: fadeUp-b-0yuvurevbx .5s ease forwards; }
@keyframes fadeUp-b-0yuvurevbx { to { opacity: 1; transform: translateY(0); } }
.d1[b-0yuvurevbx] { animation-delay: .05s; }
.d2[b-0yuvurevbx] { animation-delay: .1s; }
.d3[b-0yuvurevbx] { animation-delay: .15s; }
.d4[b-0yuvurevbx] { animation-delay: .2s; }
.d5[b-0yuvurevbx] { animation-delay: .25s; }

/* sage color-token polyfill: the shared tailwind.config in wwwroot/index.html (loaded by the whole
   Blazor app) does not define the sage/sageL/sageD palette that the static page's own inline
   tailwind.config adds locally, so Tailwind's CDN JIT would silently drop bg-sage/text-sage/
   border-sage/[...] utility classes here. These hand-rolled rules restore the exact static colors
   (sage:#8B5CF6, sageD:#7C3AED) for the handful of utilities this page relies on. */
.text-sage[b-0yuvurevbx] { color: #8B5CF6; }
.text-sageD[b-0yuvurevbx] { color: #7C3AED; }
.border-sage\/20[b-0yuvurevbx] { border-color: rgba(139, 92, 246, .2); }
.bg-sage\/\[0\.02\][b-0yuvurevbx] { background-color: rgba(139, 92, 246, .02); }
.hover\:border-sage\/30:hover[b-0yuvurevbx] { border-color: rgba(139, 92, 246, .3); }
/* /Pages/StayAdmin.razor.rz.scp.css */
/* Ported verbatim (page-local <style> block) from
   ALAT_Labs_Frontend/portals/AISwarmPortal-static/stay-admin-dashboard.html
   Scoped to this page only — does not touch the shared shell (index.html / SwarmLayout). */

.card[b-nv3qu63gqr] { background: #fff; border: 1px solid #E2E8F0; border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); transition: all .25s; }
.card-hover:hover[b-nv3qu63gqr] { box-shadow: 0 8px 30px rgba(5,150,105,0.1); border-color: rgba(5,150,105,0.2); transform: translateY(-2px); }
.badge[b-nv3qu63gqr] { padding: 2px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.badge-ok[b-nv3qu63gqr] { background: #ECFDF5; color: #059669; }
.badge-warn[b-nv3qu63gqr] { background: #FFFBEB; color: #D97706; }
.badge-crit[b-nv3qu63gqr] { background: #FEF2F2; color: #DC2626; }
.badge-info[b-nv3qu63gqr] { background: #EFF6FF; color: #2563EB; }
.badge-muted[b-nv3qu63gqr] { background: #F1F5F9; color: #64748B; }

.btn-primary[b-nv3qu63gqr] { background: linear-gradient(135deg,#059669,#065F46); color: #fff; transition: all .25s; border: 0; cursor: pointer; border-radius: 10px; }
.btn-primary:hover[b-nv3qu63gqr] { box-shadow: 0 4px 20px rgba(5,150,105,0.35); transform: translateY(-1px); }
.btn-ghost[b-nv3qu63gqr] { background: transparent; border: 1px solid #E2E8F0; color: #64748B; cursor: pointer; border-radius: 8px; transition: all .15s; }
.btn-ghost:hover[b-nv3qu63gqr] { border-color: #059669; color: #059669; background: rgba(5,150,105,0.04); }

/* ── Tabs ── */
.tab-btn[b-nv3qu63gqr] { padding: 8px 16px; border-radius: 10px; font-size: 13px; font-weight: 500; cursor: pointer; border: 0; transition: all .15s; background: transparent; color: #64748B; }
.tab-btn:hover[b-nv3qu63gqr] { color: #374151; }
.tab-btn.active[b-nv3qu63gqr] { background: #fff; color: #059669; font-weight: 600; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }

/* ── Table ── */
.tbl[b-nv3qu63gqr] { width: 100%; border-collapse: separate; border-spacing: 0; }
.tbl th[b-nv3qu63gqr] { text-align: left; padding: 10px 12px; font-size: 11px; font-weight: 600; color: #64748B; text-transform: uppercase; letter-spacing: .05em; background: #F8FAFC; border-bottom: 1px solid #E2E8F0; }
.tbl td[b-nv3qu63gqr] { padding: 12px; font-size: 13px; color: #374151; border-bottom: 1px solid #F1F5F9; }
.tbl tr:hover td[b-nv3qu63gqr] { background: #F8FAFC; }
.health-bar[b-nv3qu63gqr] { height: 8px; border-radius: 4px; background: #F1F5F9; overflow: hidden; }
.health-fill[b-nv3qu63gqr] { height: 100%; border-radius: 4px; transition: width .6s ease; }
.expand-row[b-nv3qu63gqr] { display: none; }
.expand-row.open[b-nv3qu63gqr] { display: table-row; }

.hero-kpi[b-nv3qu63gqr] { background: linear-gradient(135deg,#059669 0%,#065F46 100%); color: #fff; border-radius: 16px; border: 0; }

/* ── Toast ── */
.toast[b-nv3qu63gqr] { position: fixed; top: 20px; right: 20px; z-index: 999; padding: 14px 20px; border-radius: 12px; font-size: 13px; font-weight: 500; box-shadow: 0 8px 30px rgba(0,0,0,.12); transform: translateX(120%); transition: transform .35s cubic-bezier(.4,0,.2,1); max-width: 380px; }
.toast.show[b-nv3qu63gqr] { transform: translateX(0); }
.toast-ok[b-nv3qu63gqr] { background: #ECFDF5; color: #065F46; border-left: 4px solid #10B981; }

/* ── Anims ── */
@keyframes fadeUp-b-nv3qu63gqr { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulse2-b-nv3qu63gqr { 0%, 100% { opacity: 1; } 50% { opacity: .4; } }
.fade-up[b-nv3qu63gqr] { animation: fadeUp-b-nv3qu63gqr .45s ease-out forwards; }
.d1[b-nv3qu63gqr] { animation-delay: .05s; opacity: 0; }
.d2[b-nv3qu63gqr] { animation-delay: .1s; opacity: 0; }
.d3[b-nv3qu63gqr] { animation-delay: .15s; opacity: 0; }
.d4[b-nv3qu63gqr] { animation-delay: .2s; opacity: 0; }
.d5[b-nv3qu63gqr] { animation-delay: .25s; opacity: 0; }
.pulse-dot[b-nv3qu63gqr] { animation: pulse2-b-nv3qu63gqr 2s infinite; }

/* Room grid */
.room-card[b-nv3qu63gqr] { width: 56px; height: 56px; border-radius: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; cursor: pointer; transition: all .2s; border: 2px solid transparent; }
.room-card:hover[b-nv3qu63gqr] { transform: scale(1.1); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
.room-avail[b-nv3qu63gqr] { background: #ECFDF5; color: #059669; border-color: #A7F3D0; }
.room-occupied[b-nv3qu63gqr] { background: #FEF2F2; color: #DC2626; border-color: #FECACA; }
.room-maint[b-nv3qu63gqr] { background: #FFFBEB; color: #D97706; border-color: #FDE68A; }
.room-reserved[b-nv3qu63gqr] { background: #EFF6FF; color: #2563EB; border-color: #BFDBFE; }

/* ── "stay" brand color — this page's own tailwind.config extends colors with
   stay/stayL/stayD, but the shared shell (wwwroot/index.html) does not define
   them, so the Tailwind CDN JIT would emit no rule for text-stay/bg-stay/etc.
   Reproduced here, scoped to this page only, so the utility classes render
   pixel-identically without touching the shared shell config. ── */
.text-stay[b-nv3qu63gqr] { color: #059669; }
.bg-stay[b-nv3qu63gqr] { background-color: #059669; }
.border-stay[b-nv3qu63gqr] { border-color: #059669; }
.text-stayD[b-nv3qu63gqr] { color: #065F46; }
.hover\:text-stayD:hover[b-nv3qu63gqr] { color: #065F46; }
.focus\:border-stay:focus[b-nv3qu63gqr] { border-color: #059669; }
.focus\:ring-stay\/20:focus[b-nv3qu63gqr] { box-shadow: 0 0 0 3px rgba(5,150,105,.2); }
/* /Pages/SwiftAdmin.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/swift-admin-dashboard.html's page-local <style>
   block. Scoped to this component so the teal ALAT palette / table / tab rules match the
   static pixel-for-pixel without touching the shared portal shell's own .card/.tab-btn/.tbl
   rules (wwwroot/index.html). Sidebar-only and empty placeholder rules from the static file
   are intentionally omitted -- SwarmLayout owns that chrome. */

.card[b-i2v469i0dt]{background:#fff;border:1px solid #E2E8F0;border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:all .25s;}
.card-hover:hover[b-i2v469i0dt]{box-shadow:0 8px 30px rgba(13,148,136,0.1);border-color:rgba(13,148,136,0.2);transform:translateY(-2px);}
.badge[b-i2v469i0dt]{padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.badge-ok[b-i2v469i0dt]{background:#ECFDF5;color:#059669;}.badge-warn[b-i2v469i0dt]{background:#FFFBEB;color:#D97706;}
.badge-crit[b-i2v469i0dt]{background:#FEF2F2;color:#DC2626;}.badge-info[b-i2v469i0dt]{background:#EFF6FF;color:#2563EB;}.badge-muted[b-i2v469i0dt]{background:#F1F5F9;color:#64748B;}

.btn-primary[b-i2v469i0dt]{background:linear-gradient(135deg,#0D9488,#0F766E);color:#fff;transition:all .25s;border:0;cursor:pointer;border-radius:10px;}
.btn-primary:hover[b-i2v469i0dt]{box-shadow:0 4px 20px rgba(13,148,136,0.35);transform:translateY(-1px);}
.btn-ghost[b-i2v469i0dt]{background:transparent;border:1px solid #E2E8F0;color:#64748B;cursor:pointer;border-radius:8px;transition:all .15s;}
.btn-ghost:hover[b-i2v469i0dt]{border-color:#0D9488;color:#0D9488;background:rgba(13,148,136,0.04);}

/* Tabs */
.tab-btn[b-i2v469i0dt]{padding:8px 16px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;border:0;transition:all .15s;background:transparent;color:#64748B;}
.tab-btn:hover[b-i2v469i0dt]{color:#374151;}
.tab-btn.active[b-i2v469i0dt]{background:#fff;color:#0D9488;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,0.08);}

/* Table */
.tbl[b-i2v469i0dt]{width:100%;border-collapse:separate;border-spacing:0;}
.tbl th[b-i2v469i0dt]{text-align:left;padding:10px 12px;font-size:11px;font-weight:600;color:#64748B;text-transform:uppercase;letter-spacing:.05em;background:#F8FAFC;border-bottom:1px solid #E2E8F0;}
.tbl td[b-i2v469i0dt]{padding:12px;font-size:13px;color:#374151;border-bottom:1px solid #F1F5F9;}
.tbl tr:hover td[b-i2v469i0dt]{background:#F8FAFC;}
.health-bar[b-i2v469i0dt]{height:8px;border-radius:4px;background:#F1F5F9;overflow:hidden;}
.health-fill[b-i2v469i0dt]{height:100%;border-radius:4px;transition:width .6s ease;}
.expand-row[b-i2v469i0dt]{display:none;}.expand-row.open[b-i2v469i0dt]{display:table-row;}

.hero-kpi[b-i2v469i0dt]{background:linear-gradient(135deg,#0D9488 0%,#0F766E 100%);color:#fff;border-radius:16px;border:0;}

/* Notif (unused by this page's own markup today -- SwarmLayout's shared topbar bell owns
   notifications -- kept for 1:1 style-block parity with the static file). */
.notif-dd[b-i2v469i0dt]{position:absolute;top:52px;right:0;width:360px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s;z-index:90;}
.notif-dd.open[b-i2v469i0dt]{opacity:1;visibility:visible;transform:translateY(0);}

/* Toast */
.toast[b-i2v469i0dt]{position:fixed;top:20px;right:20px;z-index:999;padding:14px 20px;border-radius:12px;font-size:13px;font-weight:500;box-shadow:0 8px 30px rgba(0,0,0,.12);transform:translateX(120%);transition:transform .35s cubic-bezier(.4,0,.2,1);max-width:380px;}
.toast.show[b-i2v469i0dt]{transform:translateX(0);}
.toast-ok[b-i2v469i0dt]{background:#ECFDF5;color:#065F46;border-left:4px solid #10B981;}

/* Anims */
@keyframes fadeUp-b-i2v469i0dt{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse2-b-i2v469i0dt{0%,100%{opacity:1;}50%{opacity:.4;}}
.fade-up[b-i2v469i0dt]{animation:fadeUp-b-i2v469i0dt .45s ease-out forwards;}.d1[b-i2v469i0dt]{animation-delay:.05s;opacity:0;}.d2[b-i2v469i0dt]{animation-delay:.1s;opacity:0;}.d3[b-i2v469i0dt]{animation-delay:.15s;opacity:0;}.d4[b-i2v469i0dt]{animation-delay:.2s;opacity:0;}.d5[b-i2v469i0dt]{animation-delay:.25s;opacity:0;}
.pulse-dot[b-i2v469i0dt]{animation:pulse2-b-i2v469i0dt 2s infinite;}

/* Rule-of-5 scroll cap for tbody-marker tables -- ported from
   AISwarmPortal-static/assets/editorial-theme.css because the shared portal shell only
   defines the div-wrapper `.scroll-cap` variant (see DashboardCeo.razor.css), not this
   tbody.scroll-cap-tbody + table:has() variant that swift-admin-dashboard.html relies on. */
tbody.scroll-cap-tbody[b-i2v469i0dt] { /* marker class -- no layout change */ }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-i2v469i0dt] {
  --rows: 5; --row-h: 44px; --head-h: 38px;
  max-height: calc(var(--rows) * var(--row-h) + var(--head-h));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(15,23,42,0.22) transparent;
}
.overflow-x-auto:has(tbody.scroll-cap-tbody):hover[b-i2v469i0dt] { scrollbar-color: rgba(15,23,42,0.36) transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-i2v469i0dt]::-webkit-scrollbar { width: 6px; height: 6px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-i2v469i0dt]::-webkit-scrollbar-track { background: transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-i2v469i0dt]::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); border-radius: 999px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-i2v469i0dt]::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.36); }
table:has(tbody.scroll-cap-tbody) thead th[b-i2v469i0dt] { position: sticky; top: 0; z-index: 2; background: #fff; box-shadow: 0 1px 0 rgba(15,23,42,0.06); }
table:not(.overflow-x-auto *):has(tbody.scroll-cap-tbody)[b-i2v469i0dt] { display: block; max-height: calc(5 * 44px + 38px); overflow-y: auto; }

/* 5-row table caps tuned for this page's 2-line rows (Kevin 2026-05-29 fix, ported verbatim). */
table:has(#instance-tbody)[b-i2v469i0dt] { max-height: 348px !important; width: 100% !important; }
table:has(#cat-menu-tbody)[b-i2v469i0dt], table:has(#cat-cat-tbody)[b-i2v469i0dt], table:has(#cat-set-tbody)[b-i2v469i0dt] { max-height: 312px !important; width: 100% !important; }
/* /Pages/VoiceAdmin.razor.rz.scp.css */
/* Ported verbatim from AISwarmPortal-static/voice-admin-dashboard.html's page-local
   <style> block (only the rules NOT already covered identically by the shared
   wwwroot/index.html styles are kept here — .card, .badge base, fade-up/pulse-dot
   keyframes, scrollbar, etc. already ship globally).

   The shared index.html's tailwind.config has no "voice" color token (only
   alat/coral/ok/warn/crit/info), so Tailwind utilities that depended on it in the
   static (from-voice, to-voiceD, text-voiceD, shadow-voice/20) were swapped for
   arbitrary-value equivalents directly in VoiceAdmin.razor's markup instead of
   touching the shared shell config. The custom CSS classes below (badge-voice,
   bg-voice, etc.) are unaffected since they never depended on that token. */

.card-hover:hover[b-3nno1umofy] { box-shadow: 0 8px 30px rgba(124,58,237,0.1); border-color: rgba(124,58,237,0.2); transform: translateY(-2px); }

.badge-ok[b-3nno1umofy] { background: #ECFDF5; color: #065F46; }
.badge-warn[b-3nno1umofy] { background: #FFFBEB; color: #92400E; }
.badge-crit[b-3nno1umofy] { background: #FEF2F2; color: #991B1B; }
.badge-info[b-3nno1umofy] { background: #EFF6FF; color: #1E40AF; }
.badge-muted[b-3nno1umofy] { background: #F1F5F9; color: #64748B; }
.badge-voice[b-3nno1umofy] { background: #F5F3FF; color: #6D28D9; }
.badge-faq[b-3nno1umofy] { background: #EDE9FE; color: #7C3AED; }
.badge-avail[b-3nno1umofy] { background: #F0F9FF; color: #0369A1; }
.badge-rest[b-3nno1umofy] { background: #FFF7ED; color: #9A3412; }
.badge-salon[b-3nno1umofy] { background: #FDF2F8; color: #9D174D; }
.badge-hotel[b-3nno1umofy] { background: #ECFDF5; color: #065F46; }
.badge-clinic[b-3nno1umofy] { background: #EFF6FF; color: #1E40AF; }
.badge-retail[b-3nno1umofy] { background: #FFFBEB; color: #92400E; }

.btn-primary[b-3nno1umofy] { background: linear-gradient(135deg,#7C3AED,#6D28D9); color: #fff; transition: all .25s; border: 0; cursor: pointer; border-radius: 10px; }
.btn-primary:hover[b-3nno1umofy] { box-shadow: 0 4px 20px rgba(124,58,237,0.35); transform: translateY(-1px); }

.hero-kpi[b-3nno1umofy] { background: linear-gradient(135deg,#7C3AED 0%,#6D28D9 100%); color: #fff; border-radius: 16px; border: 0; }

.tab-btn[b-3nno1umofy] { padding: 8px 18px; border-radius: 10px; font-size: 13px; border: none; cursor: pointer; background: #F1F5F9; color: #64748B; transition: all .2s; white-space: nowrap; }
.tab-btn.active[b-3nno1umofy] { background: #fff; color: #6D28D9; font-weight: 600; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }

.health-bar[b-3nno1umofy] { background: #F1F5F9; border-radius: 6px; height: 6px; overflow: hidden; }
.health-fill[b-3nno1umofy] { height: 100%; border-radius: 6px; transition: width .6s; }
.bg-voice[b-3nno1umofy] { background: #7C3AED; } .bg-ok[b-3nno1umofy] { background: #10B981; } .bg-warn[b-3nno1umofy] { background: #F59E0B; } .bg-crit[b-3nno1umofy] { background: #EF4444; }

.vert-icon[b-3nno1umofy] { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 13px; flex-shrink: 0; }

/* ── Rule-of-5 scroll cap for the calls table (AISwarmPortal-static/assets/editorial-theme.css,
     not loaded globally by the Blazor shell, so re-declared here) ── */
tbody.scroll-cap-tbody[b-3nno1umofy] { /* marker class — no layout change */ }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-3nno1umofy] {
    --rows: 5;
    --row-h: 44px;
    --head-h: 38px;
    max-height: calc(var(--rows) * var(--row-h) + var(--head-h));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(15,23,42,0.22) transparent;
}
.overflow-x-auto:has(tbody.scroll-cap-tbody):hover[b-3nno1umofy] { scrollbar-color: rgba(15,23,42,0.36) transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-3nno1umofy]::-webkit-scrollbar { width: 6px; height: 6px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-3nno1umofy]::-webkit-scrollbar-track { background: transparent; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-3nno1umofy]::-webkit-scrollbar-thumb { background: rgba(15,23,42,0.20); border-radius: 999px; }
.overflow-x-auto:has(tbody.scroll-cap-tbody)[b-3nno1umofy]::-webkit-scrollbar-thumb:hover { background: rgba(15,23,42,0.36); }
table:has(tbody.scroll-cap-tbody) thead th[b-3nno1umofy] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 0 1px 0 rgba(15,23,42,0.06);
}
/* /Shared/ChatPanel.razor.rz.scp.css */
/* DAVID floating chat panel — bubble + chip styles.
   Pixel-matched to AISwarmPortal-static/alat-shared.js _injectSharedCSS().
   Scoped to ChatPanel so it overrides the older global .chat-* rules in index.html. */

.chat-msg-user[b-m98iys58sc] {
    display: flex;
    justify-content: flex-end;
}

.chat-msg-user > div[b-m98iys58sc] {
    background: linear-gradient(135deg, #1FA8AB, #0E6E70 55%, #084849);
    color: #fff;
    padding: 8px 14px;
    border-radius: 14px 14px 4px 14px;
    max-width: 85%;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 2px 8px -2px rgba(14,110,112,0.30);
}

.chat-msg-bot > div[b-m98iys58sc] {
    background: rgba(230,240,240,0.55);
    padding: 8px 14px;
    border-radius: 14px 14px 14px 4px;
    max-width: 85%;
    color: #1d1d1f;
}

.chat-chip[b-m98iys58sc] {
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    border: 1px solid rgba(14,110,112,0.18);
    background: rgba(255,255,255,0.7);
    color: #474747;
    white-space: nowrap;
    flex-shrink: 0;
    backdrop-filter: blur(8px);
}

.chat-chip:hover[b-m98iys58sc] {
    border-color: rgba(14,110,112,0.36);
    color: #1d1d1f;
    background: rgba(255,255,255,0.92);
}
/* /Shared/Sidebar.razor.rz.scp.css */
/* Sidebar shell — ported from AISwarmPortal-static/assets/editorial-theme.css
   so the Blazor sidebar chrome is pixel-identical to the static portal. */

.sidebar[b-u8f2pgovck] {
    --alat-teal: #0E6E70;
    --alat-teal-light: #1FA8AB;
    --alat-frost: #E6F0F0;
    --ink: #1d1d1f;
    --graphite: #707070;
    --slate: #474747;
    --font-text: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --theme-pill-radius: 999px;

    width: 250px;
    position: fixed;
    left: 0;
    top: 60px;
    bottom: 0;
    background: rgba(230, 240, 240, 0.68);
    backdrop-filter: saturate(180%) blur(24px);
    -webkit-backdrop-filter: saturate(180%) blur(24px);
    border-right: 1px solid rgba(14, 110, 112, 0.08);
    z-index: 40;
    overflow-y: auto;
    overflow-x: hidden;
    transition: width .3s cubic-bezier(.4, 0, .2, 1);
}

/* ── Collapsed-rail geometry ── */
.sidebar.collapsed[b-u8f2pgovck] {
    width: 68px;
}

.sidebar.collapsed .lbl[b-u8f2pgovck],
.sidebar.collapsed .grp-title[b-u8f2pgovck],
.sidebar.collapsed .foot-txt[b-u8f2pgovck],
.sidebar.collapsed .sb-badge[b-u8f2pgovck] {
    opacity: 0;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    margin: 0;
    padding: 0;
}

.sidebar.collapsed .sidebar-link[b-u8f2pgovck] {
    justify-content: center;
    padding: 10px 0;
    gap: 0;
}

.sidebar.collapsed .sidebar-link .ico[b-u8f2pgovck],
.sidebar.collapsed .sidebar-link .sb-icon[b-u8f2pgovck],
.sidebar.collapsed .sidebar-link > i.fas[b-u8f2pgovck] {
    width: 24px !important;
    flex: 0 0 24px;
    text-align: center;
    margin: 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.sidebar.collapsed .grp-toggle[b-u8f2pgovck] {
    justify-content: center;
    padding: 10px 0;
    gap: 0;
}

.sidebar.collapsed .grp-toggle .grp-title[b-u8f2pgovck],
.sidebar.collapsed .grp-toggle .grp-chevron[b-u8f2pgovck] {
    display: none;
}

.sidebar.collapsed .grp-toggle .grp-icon[b-u8f2pgovck] {
    font-size: 13px;
}

.sidebar.collapsed .sb-pill[b-u8f2pgovck] {
    display: none;
}

.sidebar.collapsed .sb-david-link[b-u8f2pgovck] {
    border-color: transparent !important;
    background: rgba(14, 110, 112, 0.08) !important;
}

/* ── Sidebar links ── */
.sidebar-link[b-u8f2pgovck] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--graphite);
    transition: background 0.15s ease, color 0.15s ease;
    cursor: pointer;
    text-decoration: none;
    border: 0;
    background: transparent;
    width: 100%;
    text-align: left;
    letter-spacing: -0.04px;
    position: relative;
}

.sidebar-link:hover[b-u8f2pgovck] {
    background: rgba(14, 110, 112, 0.05);
    color: var(--ink);
}

.sidebar-link.active[b-u8f2pgovck] {
    background: linear-gradient(135deg, rgba(14, 110, 112, 0.10), rgba(14, 110, 112, 0.04));
    color: var(--alat-teal);
}

.sidebar-link .sb-name[b-u8f2pgovck] {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar-link .sb-badge[b-u8f2pgovck] {
    flex-shrink: 0;
    white-space: nowrap;
}

.sidebar-link .ico[b-u8f2pgovck],
.sidebar-link .sb-icon[b-u8f2pgovck],
.sidebar-link > i.fas[b-u8f2pgovck] {
    width: 20px;
    text-align: center;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Top-level rows (Dashboard, DAVID AI, Inbox) — uppercase micro-labels */
.sidebar-link.sidebar-link--top .sb-name[b-u8f2pgovck] {
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--graphite);
}

.sidebar-link.sidebar-link--top.active .sb-name[b-u8f2pgovck] {
    color: var(--alat-teal);
}

.sidebar-link.sb-david-link .sb-name[b-u8f2pgovck] {
    color: var(--alat-teal);
}

/* ── Pills ── */
.sb-pill[b-u8f2pgovck] {
    flex-shrink: 0;
    font-family: var(--font-text);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 2px 7px;
    border-radius: var(--theme-pill-radius);
    white-space: nowrap;
    line-height: 1.4;
}

.sb-pill--brand[b-u8f2pgovck] {
    background: rgba(14, 110, 112, 0.12);
    color: var(--alat-teal);
}

.sb-pill--muted[b-u8f2pgovck] {
    background: rgba(15, 23, 42, 0.06);
    color: var(--graphite);
}

/* ── Group toggles ── */
.grp-toggle[b-u8f2pgovck] {
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 8px 16px;
    border-radius: 10px;
    border: 0;
    background: transparent;
    font-family: var(--font-text);
    letter-spacing: -0.04px;
    position: relative;
}

.grp-toggle:hover[b-u8f2pgovck] {
    background: rgba(14, 110, 112, 0.05);
}

.grp-toggle .grp-icon[b-u8f2pgovck] {
    width: 24px;
    flex: 0 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--alat-teal);
    font-size: 12px;
}

.grp-toggle .grp-title[b-u8f2pgovck] {
    flex: 1;
    min-width: 0;
    font-size: 10px;
    font-weight: 700;
    color: var(--graphite);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.grp-toggle .grp-chevron[b-u8f2pgovck] {
    transition: transform .2s ease;
    font-size: 8px;
    color: var(--graphite);
    flex-shrink: 0;
}

.grp-toggle .grp-pill[b-u8f2pgovck] {
    margin-right: 4px;
}

.grp-toggle.collapsed .grp-chevron[b-u8f2pgovck] {
    transform: rotate(-90deg);
}

.grp-items[b-u8f2pgovck] {
    overflow: hidden;
    max-height: 600px;
    transition: max-height .3s ease;
}

.grp-items.collapsed[b-u8f2pgovck] {
    max-height: 0;
}

/* ── Badges (static palette) ── */
.badge[b-u8f2pgovck] {
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: -0.04px;
}

.badge-ok[b-u8f2pgovck] {
    background: rgba(29, 131, 72, 0.08);
    color: #1D8348;
}

.badge-warn[b-u8f2pgovck] {
    background: rgba(185, 137, 0, 0.10);
    color: #b98900;
}

.badge-info[b-u8f2pgovck] {
    background: rgba(14, 110, 112, 0.08);
    color: var(--alat-teal);
}

.badge-muted[b-u8f2pgovck] {
    background: rgba(15, 23, 42, 0.05);
    color: var(--graphite);
}

/* ── Footer frost ── */
#sidebar .p-3.bg-gray-50[b-u8f2pgovck] {
    background: var(--alat-frost) !important;
    border-color: rgba(14, 110, 112, 0.14) !important;
}

.sidebar.collapsed .p-3.bg-gray-50[b-u8f2pgovck] {
    padding: 12px 0 !important;
}

/* ── Mobile backdrop ── */
.mob-overlay[b-u8f2pgovck] {
    position: fixed;
    inset: 60px 0 0 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 70;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mob-overlay.mob-overlay--open[b-u8f2pgovck] {
    pointer-events: auto;
    opacity: 1;
}

@media (min-width: 1025px) {
    .mob-overlay[b-u8f2pgovck] {
        display: none !important;
    }
}

@media (max-width: 1024px) {
    .sidebar[b-u8f2pgovck] {
        position: fixed !important;
        z-index: 80;
        transform: translateX(-100%);
        width: 250px !important;
        top: 60px;
    }

    .sidebar.mob-open[b-u8f2pgovck] {
        transform: translateX(0);
    }
}
