/* ============================================================
   SignalOne UX Correction V2
   File: app.css
   Responsibility: app layout, auth stage, sidebar, topbar, modules
   ============================================================ */

/* Base shell */
.app-shell {
  min-height: 100vh;
  background:
    radial-gradient(980px 480px at 92% -8%, rgba(79, 110, 247, 0.09), transparent 70%),
    radial-gradient(900px 460px at 8% 8%, rgba(15, 23, 36, 0.055), transparent 74%),
    var(--bg-page);
  overflow-x: hidden;
}

/* =========================
   Auth Stage
   ========================= */
.auth-root {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(var(--sp-4), 4vw, var(--sp-10));
  background:
    radial-gradient(720px 360px at 8% -4%, rgba(79, 110, 247, 0.1), transparent 72%),
    radial-gradient(760px 380px at 96% 108%, rgba(17, 24, 39, 0.09), transparent 72%),
    var(--bg-page-soft);
}

.auth-wrapper {
  width: min(1160px, 100%);
}

.auth-card {
  display: grid;
  grid-template-columns: 1.06fr 0.94fr;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--line-subtle);
  background: linear-gradient(180deg, rgba(255,255,255,0.93), rgba(255,255,255,0.84));
  box-shadow: var(--sh-4);
}

.auth-brand {
  padding: clamp(var(--sp-6), 3vw, var(--sp-10));
  background:
    radial-gradient(420px 220px at 12% 6%, rgba(79,110,247,0.16), transparent 72%),
    linear-gradient(160deg, #172234, #1f2f49 58%, #243958);
  color: #d7e3f8;
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
}

.auth-brand__logo {
  display: flex;
  align-items: center;
  min-height: 34px;
}
.auth-brand__logo-wide {
  width: min(240px, 100%);
  height: auto;
  object-fit: contain;
  display: block;
}
.auth-brand__logo-mark {
  display: none;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.auth-brand__headline {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1.06;
  letter-spacing: -0.03em;
  color: #f3f7ff;
}
.auth-brand__headline--accent { color: #b7ccff; }
.auth-brand__sub {
  margin: var(--sp-3) 0 0;
  font-size: var(--fs-md);
  color: #b7c5dd;
  line-height: var(--lh-relaxed);
}

.auth-brand__features { display: grid; gap: var(--sp-3); }
.auth-feature {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  color: #c5d4ec;
  font-size: var(--fs-sm);
}
.auth-feature__icon {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(183,204,255,0.16);
  color: #d6e4ff;
}

.auth-brand__trust {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}
.auth-brand__trust .badge {
  background: rgba(255,255,255,0.1);
  color: #dce8ff;
  border: 1px solid rgba(255,255,255,0.16);
}

.auth-form-panel {
  padding: clamp(var(--sp-5), 2.8vw, var(--sp-8));
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.auth-form {
  width: min(440px, 100%);
  display: grid;
  gap: var(--sp-4);
}
.auth-form__header { display: grid; gap: var(--sp-2); }
.auth-form__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(30px, 2.2vw, 38px);
  letter-spacing: -0.03em;
  line-height: 1.08;
}
.auth-form__subtitle { margin: 0; color: var(--text-secondary); font-size: var(--fs-md); }

.form-group { display: grid; gap: 7px; }
.form-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  color: var(--text-secondary);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
}

.auth-forgot-link {
  margin-left: auto;
  color: var(--accent);
  text-decoration: none;
  font-size: var(--fs-xs);
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.auth-forgot-link:hover,
.auth-link:hover { color: var(--accent-hover); text-decoration: underline; }

.auth-input-wrapper { position: relative; }
.auth-input-wrapper .input { padding-right: 40px; }
.auth-eye-btn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.auth-eye-btn:hover { background: var(--bg-surface-3); color: var(--text-secondary); }

.auth-hint { color: var(--text-muted); font-size: var(--fs-2xs); }
.auth-terms {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--sp-2);
  align-items: start;
}
.auth-checkbox { margin-top: 2px; }
.auth-terms__label {
  color: var(--text-secondary);
  font-size: var(--fs-xs);
  line-height: 1.45;
}
.auth-link {
  color: var(--accent);
  text-decoration: none;
}

.auth-submit-btn {
  width: 100%;
  min-height: 44px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
}

.auth-trust-note {
  margin: -4px 0 0;
  color: var(--text-muted);
  font-size: var(--fs-xs);
  line-height: 1.35;
}

.auth-divider {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.auth-divider::before,
.auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--line-subtle);
}

.auth-switch-btn {
  width: 100%;
  min-height: 42px;
  font-size: var(--fs-sm);
}

.auth-error {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--sp-2);
  border-radius: var(--r-sm);
  border: 1px solid color-mix(in srgb, var(--danger) 36%, transparent);
  background: var(--danger-soft);
  color: var(--danger);
  padding: 9px 10px;
}
.auth-notice {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--sp-2);
  border-radius: var(--r-sm);
  border: 1px solid color-mix(in srgb, var(--success) 34%, transparent);
  background: var(--success-soft);
  color: var(--success);
  padding: 9px 10px;
  font-size: var(--fs-xs);
}
.auth-success {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: var(--sp-3);
}

.pw-strength-bars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-top: 6px; }
.pw-bar { height: 4px; border-radius: 999px; background: var(--line-subtle); }
.pw-bar--danger { background: var(--danger); }
.pw-bar--warning { background: var(--warning); }
.pw-bar--success { background: var(--success); }
.pw-strength-label { display: inline-block; margin-top: 6px; font-size: var(--fs-2xs); color: var(--text-muted); }
.pw-strength-label--danger { color: var(--danger); }
.pw-strength-label--warning { color: var(--warning); }
.pw-strength-label--success { color: var(--success); }

/* =========================
   Sidebar
   ========================= */
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar-width);
  background: linear-gradient(180deg, rgba(255,255,255,0.025), transparent 12%), var(--bg-sidebar);
  border-right: 1px solid rgba(255,255,255,0.08);
  box-shadow: 10px 0 34px rgba(6, 10, 16, 0.32);
  z-index: var(--z-sidebar);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: width var(--tr-base), transform var(--tr-base);
}
.sidebar.collapsed { width: var(--sidebar-collapsed-width); }

.sidebar__logo {
  min-height: var(--topbar-height);
  padding: 0 var(--sp-4);
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
}
.sidebar__logo-img { max-width: 132px; height: auto; object-fit: contain; }
.sidebar__logo-mark-img { width: 26px; height: 26px; display: none; object-fit: contain; }
.sidebar.collapsed .sidebar__logo { padding: 0; }
.sidebar.collapsed .sidebar__logo-img { display: none; }
.sidebar.collapsed .sidebar__logo-mark-img { display: block; }

.sidebar__nav {
  flex: 1;
  overflow: auto;
  padding: var(--sp-4) var(--sp-3);
}
.nav-section-label,
.nav-section-title {
  font-size: var(--fs-2xs);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--text-sidebar-muted);
  font-weight: var(--fw-semibold);
  padding: var(--sp-4) var(--sp-3) var(--sp-2);
}
.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  margin: 4px 2px;
  padding: 0 12px;
  border-radius: var(--r-sm);
  border: 0;
  background: transparent;
  color: var(--text-sidebar);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--tr-fast), color var(--tr-fast), box-shadow var(--tr-fast);
}
.nav-item::after{
  content:'';
  position:absolute;
  left:8px;
  right:8px;
  bottom:-3px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.18), rgba(255,255,255,0));
}
.nav-item__icon { width: 15px; height: 15px; color: inherit; opacity: 0.74; }
.nav-item__label { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-item:hover {
  background: var(--bg-sidebar-hover);
  color: var(--text-sidebar-active);
}
.nav-item.active {
  color: var(--text-sidebar-active);
  background: var(--bg-sidebar-active);
  box-shadow: inset 0 0 0 1px rgba(127,151,255,0.25), 0 6px 16px rgba(0,0,0,0.18);
}
.nav-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  bottom: 7px;
  width: 2px;
  border-radius: 2px;
  background: var(--accent-line);
}
.nav-item.active::after{background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,205,128,.62), rgba(255,255,255,0))}

.sidebar.collapsed .nav-section-label,
.sidebar.collapsed .nav-section-title,
.sidebar.collapsed .nav-item__label { display: none; }
.sidebar.collapsed .sidebar__nav { padding: var(--sp-3) var(--sp-1); }
.sidebar.collapsed .nav-item {
  width: 42px;
  height: 42px;
  min-height: 42px;
  margin: 2px auto;
  justify-content: center;
  padding: 0;
}

.sidebar__workspace { display: none; }
.sidebar__footer {
  border-top: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.03));
  padding-bottom: var(--sp-2);
}
.sf-divider { height: 1px; background: rgba(255,255,255,0.08); }
.sf-divider--status { margin-top: 2px; }
.sf-info {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-3);
}
.sf-info__avatar {
  width: 30px;
  height: 30px;
  border-radius: var(--r-sm);
  display: grid;
  place-items: center;
  background: rgba(127,151,255,0.18);
  color: #eaf0ff;
  font-weight: var(--fw-semibold);
}
.sf-info__text { min-width: 0; display: grid; gap: 1px; }
.sf-info__ws-name { font-size: var(--fs-xs); color: var(--text-sidebar-active); font-weight: var(--fw-medium); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sf-info__user-name { font-size: var(--fs-2xs); color: var(--text-sidebar-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sf-info__plan { margin-left: auto; font-size: var(--fs-2xs); color: var(--text-sidebar-muted); }
.sf-status {
  display: flex;
  justify-content: center;
  padding: 8px var(--sp-3) 10px;
}
.sf-status__text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 84px;
  height: 22px;
  border-radius: 999px;
  padding: 0 10px;
  font-size: 10px;
  letter-spacing: 0.08em;
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  border: 1px solid transparent;
}
.sf-status--live .sf-status__text {
  color: #b8ffe1;
  background: rgba(28, 156, 99, 0.18);
  border-color: rgba(28, 156, 99, 0.4);
  box-shadow: 0 0 10px rgba(28, 156, 99, 0.3);
}
.sf-status--offline .sf-status__text {
  color: #ffd0d0;
  background: rgba(210, 79, 79, 0.2);
  border-color: rgba(210, 79, 79, 0.44);
}
.sf-status--demo .sf-status__text {
  color: #ffe3b5;
  background: rgba(194, 122, 29, 0.2);
  border-color: rgba(194, 122, 29, 0.44);
}
.sidebar.collapsed .sf-info { display: none; }
.sidebar.collapsed .sf-divider { display: none; }
.sidebar.collapsed .sf-divider--status { display: block; margin: 0; }
.sidebar.collapsed .sf-status {
  padding: 10px 6px 12px;
}
.sidebar.collapsed .sf-status__text {
  min-width: 0;
  width: 100%;
  padding: 0 4px;
  font-size: 9px;
}

.sidebar-collapse-btn {
  position: fixed;
  left: calc(var(--sidebar-width) - 12px);
  top: 50vh;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid rgba(214, 222, 233, 0.9);
  background: #ffffff;
  color: var(--text-secondary);
  box-shadow: var(--sh-2);
  z-index: calc(var(--z-sidebar) + 2);
}
.sidebar-collapse-btn:hover { color: var(--text-primary); }
.app-shell--collapsed .sidebar-collapse-btn { left: calc(var(--sidebar-collapsed-width) - 12px); }
.sidebar-collapse-btn svg {
  transition: transform var(--tr-fast);
  transform: rotate(0deg);
}
.sidebar__collapse-btn--collapsed svg {
  transform: rotate(180deg);
}

/* =========================
   Topbar (3 Zones)
   ========================= */
.topbar {
  position: fixed;
  top: 10px;
  left: calc(var(--sidebar-width) + 12px);
  right: 12px;
  height: var(--topbar-height);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: var(--sp-3);
  padding: 0 var(--sp-4);
  border-radius: var(--r-lg);
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(231,236,243,0.78);
  box-shadow: var(--sh-2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: var(--z-topbar);
}
.app-shell--collapsed .topbar { left: calc(var(--sidebar-collapsed-width) + 12px); }

.topbar__breadcrumb {
  grid-column: 1;
  justify-self: start;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
}
.topbar__breadcrumb-logo { display: inline-flex; align-items: center; }
.topbar__brand-logo {
  width: 126px;
  height: auto;
  object-fit: contain;
  display: block;
}
.topbar__brand-wordmark {
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--text-primary);
}
.topbar__breadcrumb-separator {
  color: var(--text-muted);
  margin: 0 var(--sp-1);
}
.topbar__breadcrumb-label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.topbar__scope {
  grid-column: 2;
  justify-self: center;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
}

.topbar__actions {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}

.topbar-scope-pill,
.topbar-platform-pill,
.topbar-action-group {
  display: inline-flex;
  align-items: center;
  border-radius: var(--r-md);
  background: rgba(255,255,255,0.92);
  border: 1px solid var(--line-subtle);
  box-shadow: var(--sh-1);
}
.topbar-scope-segment,
.topbar-platform-seg,
.topbar-action-btn {
  position: relative;
  border: 0;
  background: transparent;
  color: var(--text-secondary);
  font-size: var(--fs-xs);
  height: 34px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  cursor: pointer;
  transition: background var(--tr-fast), color var(--tr-fast);
}
.topbar-scope-segment + .topbar-scope-segment,
.topbar-platform-seg + .topbar-platform-seg,
.topbar-action-btn + .topbar-action-btn { border-left: 1px solid var(--line-subtle); }
.topbar-scope-segment:hover,
.topbar-platform-seg:hover,
.topbar-action-btn:hover { background: var(--bg-surface-2); color: var(--text-primary); }
.topbar-scope-segment[aria-expanded='true'] { background: var(--accent-soft); color: var(--accent); }

.topbar-scope-seg-label { display: grid; line-height: 1.1; }
.topbar-scope-seg-type { color: var(--text-muted); font-size: 9px; text-transform: uppercase; letter-spacing: var(--ls-wide); }
.topbar-scope-seg-value { color: inherit; font-size: var(--fs-xs); max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar-scope-chevron-icon,
.topbar-platform-seg__svg { width: 14px; height: 14px; opacity: 0.34; filter: grayscale(1) saturate(0.2); transition: opacity var(--tr-fast), filter var(--tr-fast), transform var(--tr-fast); }
.topbar-platform-seg.connected .topbar-platform-seg__svg {
  opacity: 1;
  transform: translateY(-0.5px);
  filter: grayscale(0) saturate(1) drop-shadow(0 0 6px rgba(79, 110, 247, 0.35));
}
.topbar-platform-seg--planned {
  cursor: default;
  pointer-events: none;
}
.topbar-platform-seg--planned .topbar-platform-seg__svg {
  opacity: 0.20;
  filter: grayscale(1) saturate(0);
}
.topbar-action-btn.account-btn { font-weight: var(--fw-semibold); }
.topbar-action-btn { color: var(--text-primary); }
.topbar-action-btn svg {
  width: 16px;
  height: 16px;
  display: block;
  stroke: currentColor;
  opacity: 0.92;
}
#topbar-account-initials {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  font-size: 11px;
  line-height: 1;
}
.topbar-action-badge {
  margin-left: 2px;
  min-width: 14px;
  height: 14px;
  border-radius: 999px;
  padding: 0 4px;
  background: var(--danger);
  color: #fff;
  font-size: 9px;
  display: grid;
  place-items: center;
}
.topbar-action-badge.hidden,
.topbar-scope-dropdown.hidden { display: none; }

.topbar-scope-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 220px;
  border-radius: var(--r-md);
  background: var(--bg-surface);
  border: 1px solid var(--line-subtle);
  box-shadow: var(--sh-3);
  overflow: hidden;
  z-index: var(--z-overlay);
}
.topbar-scope-dropdown__header {
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--text-muted);
  padding: 8px 10px;
  border-bottom: 1px solid var(--line-subtle);
}
.topbar-scope-dropdown__item {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 9px 10px;
  color: var(--text-secondary);
  font-size: var(--fs-xs);
  cursor: pointer;
}
.topbar-scope-dropdown__item:hover { background: var(--bg-surface-2); color: var(--text-primary); }
.topbar-scope-dropdown__item.selected { background: var(--accent-soft); color: var(--accent); }

.topbar-user-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 228px;
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface);
  box-shadow: var(--sh-3);
  overflow: hidden;
  z-index: var(--z-overlay);
}
.topbar-user-dropdown__header {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line-subtle);
}
.topbar-user-dropdown__name { font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
.topbar-user-dropdown__email { font-size: var(--fs-xs); color: var(--text-muted); margin-top: 2px; }
.topbar-user-dropdown__item {
  display: block;
  width: 100%;
  padding: 9px 12px;
  font-size: var(--fs-xs);
  color: var(--text-secondary);
  text-decoration: none;
  border: 0;
  background: transparent;
  text-align: left;
}
.topbar-user-dropdown__item:hover { background: var(--bg-surface-2); color: var(--text-primary); }
.topbar-user-dropdown__divider { height: 1px; background: var(--line-subtle); }
.topbar-user-dropdown__item--danger { color: var(--danger); }
.topbar-user-dropdown__item--danger:hover { background: var(--danger-soft); color: var(--danger); }

/* =========================
   Main View full width
   ========================= */
.main-content {
  margin-left: var(--sidebar-width);
  margin-top: calc(var(--topbar-height) + 18px);
  min-height: 100vh;
  transition: margin-left var(--tr-base);
}
.app-shell--collapsed .main-content { margin-left: var(--sidebar-collapsed-width); }

.content-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: var(--sp-6) clamp(16px, 2.4vw, 34px) var(--sp-10);
}
#module-container {
  width: 100%;
  max-width: none;
  overflow-x: hidden;
}

.app-footer {
  position: fixed;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 160;
  margin: 0;
  padding: 8px 12px;
  text-align: center;
  border-radius: 999px;
  border: 1px solid rgba(231,236,243,0.8);
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--sh-2);
}
.app-footer__nav { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--text-muted); font-size: var(--fs-xs); }
.app-footer__nav a { color: inherit; text-decoration: none; }
.app-footer__nav a:hover { color: var(--text-secondary); }
.app-footer__divider { display: inline-block; width: 1px; height: 12px; background: rgba(0,0,0,0.15); margin: 0 2px; }
.app-footer__icon-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; padding: 0; border: none; border-radius: 50%;
  background: transparent; color: var(--text-muted); cursor: pointer;
  transition: color 130ms, background 130ms;
  flex-shrink: 0;
}
.app-footer__icon-btn svg { width: 13px; height: 13px; }
.app-footer__icon-btn:hover { color: var(--text-secondary); background: rgba(0,0,0,0.07); }
.app-footer__icon-btn:focus-visible { outline: 2px solid var(--accent,#f97316); outline-offset: 2px; }

/* =========================
   Campaigns composition
   ========================= */
.cmp-module {
  display: grid;
  gap: var(--sp-4);
}

.cmp-briefing {
  padding: clamp(var(--sp-5), 1.6vw, var(--sp-7));
  border-radius: var(--r-xl);
  background:
    radial-gradient(500px 200px at 94% -2%, rgba(79,110,247,0.12), transparent 72%),
    linear-gradient(180deg, var(--bg-surface), var(--bg-surface-2));
}
.cmp-briefing__grid {
  display: grid;
  grid-template-columns: 1.25fr minmax(250px, 0.75fr);
  gap: var(--sp-4);
}
.cmp-briefing__eyebrow {
  margin-bottom: var(--sp-2);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--text-muted);
  font-weight: var(--fw-semibold);
}
.cmp-briefing__title {
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.04;
  letter-spacing: -0.03em;
}
.cmp-briefing__subline {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--fs-md);
}
.cmp-briefing__scope {
  margin: var(--sp-2) 0 0;
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.cmp-briefing__status {
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  padding: var(--sp-3);
  display: grid;
  gap: var(--sp-2);
}
.cmp-briefing__status-title {
  margin: 0;
  font-size: var(--fs-sm);
  font-family: var(--font-display);
}
.cmp-briefing__status-row {
  border-radius: var(--r-sm);
  background: rgba(255,255,255,0.62);
  padding: 7px 8px;
  display: grid;
  gap: 2px;
}
.cmp-briefing__status-k {
  font-size: var(--fs-2xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.cmp-briefing__status-v {
  font-size: var(--fs-xs);
  color: var(--text-primary);
  font-weight: var(--fw-medium);
}

.cmp-signal-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-3);
}
.cmp-signal-card {
  padding: var(--sp-4);
  border-radius: var(--r-md);
  transition: transform var(--tr-base), box-shadow var(--tr-base);
}
.cmp-signal-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--sh-3);
}
.cmp-signal-card__label {
  color: var(--text-muted);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.cmp-signal-card__value {
  margin-top: var(--sp-2);
  display: block;
  font-family: var(--font-display);
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.cmp-signal-card__context {
  margin-top: var(--sp-2);
  display: block;
  color: var(--text-secondary);
  font-size: var(--fs-xs);
}

.cmp-guidance {
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(246,249,254,0.88));
}
.cmp-guidance__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-xl);
}
.cmp-guidance__copy {
  margin: var(--sp-2) 0 0;
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
}
.cmp-guidance__list {
  margin: var(--sp-3) 0 0;
  padding-left: 18px;
  display: grid;
  gap: var(--sp-1);
  color: var(--text-secondary);
}
.cmp-guidance__actions {
  margin-top: var(--sp-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}

.cmp-filterbar {
  padding: var(--sp-4);
}
.cmp-filterbar__row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: var(--sp-3);
  align-items: end;
}
.cmp-seg {
  display: grid;
  gap: 6px;
}
.cmp-seg__label,
.cmp-sort__label {
  font-size: var(--fs-2xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.cmp-seg__track {
  display: inline-flex;
  min-height: 44px;
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  overflow: hidden;
}
.cmp-seg__btn {
  min-height: 44px;
  border: 0;
  border-right: 1px solid var(--line-subtle);
  background: transparent;
  color: var(--text-secondary);
  padding: 0 12px;
  font-size: var(--fs-xs);
  cursor: pointer;
  transition: background var(--tr-fast), color var(--tr-fast), box-shadow var(--tr-fast);
}
.cmp-seg__btn:last-child { border-right: 0; }
.cmp-seg__btn:hover { background: var(--bg-surface-3); color: var(--text-primary); }
.cmp-seg__btn.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent);
}
.cmp-seg__btn:focus-visible {
  outline: 2px solid var(--accent-line);
  outline-offset: -2px;
}

.cmp-sort {
  display: grid;
  gap: 6px;
}
.cmp-sort__select {
  width: 200px;
  min-height: 44px;
}

.cmp-state-message {
  padding: var(--sp-5);
}
.cmp-state-message__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-xl);
}
.cmp-state-message__copy {
  margin: var(--sp-2) 0 var(--sp-3);
  color: var(--text-secondary);
}

.cmp-table-wrap {
  border-radius: var(--r-lg);
}
.cmp-table-wrap__head {
  padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid var(--line-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
}
.cmp-table-wrap__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-lg);
}
.cmp-table-wrap__meta {
  font-size: var(--fs-xs);
  color: var(--text-muted);
}
.cmp-table-scroll {
  overflow-x: auto;
}
.cmp-table {
  min-width: 980px;
}
.cmp-table thead th {
  position: sticky;
  top: 0;
  background: var(--bg-surface);
  z-index: 2;
}
.cmp-table tbody tr {
  transition: background var(--tr-fast);
}
.cmp-table tbody tr:hover {
  background: color-mix(in srgb, var(--bg-surface-2) 84%, #fff);
}
.cmp-name {
  display: grid;
  gap: 4px;
}
.cmp-name__main {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.cmp-name__title {
  font-weight: var(--fw-semibold);
}
.cmp-name__platform {
  padding-inline: 7px;
}
.cmp-name__meta {
  font-size: var(--fs-xs);
  color: var(--text-muted);
}
.cmp-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: var(--r-pill);
  padding: 0 9px;
  font-size: var(--fs-2xs);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  border: 1px solid transparent;
}
.cmp-status--active {
  color: var(--success);
  background: var(--success-soft);
  border-color: color-mix(in srgb, var(--success) 30%, transparent);
}
.cmp-status--paused {
  color: var(--warning);
  background: var(--warning-soft);
  border-color: color-mix(in srgb, var(--warning) 30%, transparent);
}
.cmp-status--blocked {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: color-mix(in srgb, var(--danger) 30%, transparent);
}
.cmp-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.cmp-action-state {
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.cmp-table-empty {
  display: grid;
  gap: var(--sp-2);
  justify-items: center;
  padding: var(--sp-4);
}
.cmp-table-empty__title {
  color: var(--text-secondary);
}

/* =========================
   Creative Library composition
   ========================= */
.crt-module {
  display: grid;
  gap: var(--sp-4);
}

.crt-briefing {
  padding: clamp(var(--sp-5), 1.7vw, var(--sp-7));
  border-radius: var(--r-xl);
  background:
    radial-gradient(500px 220px at 94% -4%, rgba(79,110,247,0.12), transparent 72%),
    linear-gradient(180deg, var(--bg-surface), var(--bg-surface-2));
}
.crt-briefing__grid {
  display: grid;
  grid-template-columns: 1.2fr minmax(260px, 0.8fr);
  gap: var(--sp-4);
}
.crt-briefing__eyebrow {
  margin-bottom: var(--sp-2);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--text-muted);
  font-weight: var(--fw-semibold);
}
.crt-briefing__title {
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.04;
  letter-spacing: -0.03em;
}
.crt-briefing__subline {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--fs-md);
}
.crt-briefing__meta {
  margin: var(--sp-2) 0 0;
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.crt-briefing__status {
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  padding: var(--sp-3);
  display: grid;
  gap: var(--sp-2);
}
.crt-briefing__status-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-sm);
}
.crt-briefing__status-row {
  border-radius: var(--r-sm);
  background: rgba(255,255,255,0.64);
  padding: 7px 8px;
  display: grid;
  gap: 2px;
}
.crt-briefing__status-k {
  font-size: var(--fs-2xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.crt-briefing__status-v {
  font-size: var(--fs-xs);
  color: var(--text-primary);
  font-weight: var(--fw-medium);
}

.crt-signal-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-3);
}
.crt-signal-card {
  padding: var(--sp-4);
  border-radius: var(--r-md);
  transition: transform var(--tr-base), box-shadow var(--tr-base);
}
.crt-signal-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--sh-3);
}
.crt-signal-card__label {
  color: var(--text-muted);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.crt-signal-card__value {
  margin-top: var(--sp-2);
  display: block;
  font-family: var(--font-display);
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.crt-signal-card__context {
  margin-top: var(--sp-2);
  display: block;
  color: var(--text-secondary);
  font-size: var(--fs-xs);
}

.crt-guidance {
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(246,249,254,0.9));
}
.crt-guidance__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-xl);
}
.crt-guidance__copy {
  margin: var(--sp-2) 0 0;
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
}
.crt-guidance__list {
  margin: var(--sp-3) 0 0;
  padding-left: 18px;
  display: grid;
  gap: var(--sp-1);
  color: var(--text-secondary);
}
.crt-guidance__actions {
  margin-top: var(--sp-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}

.crt-controls {
  padding: var(--sp-4);
  display: grid;
  gap: var(--sp-3);
}
.crt-controls__search-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--sp-3);
  align-items: end;
}
.crt-search {
  min-height: 44px;
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  overflow: hidden;
}
.crt-search:focus-within {
  border-color: var(--accent-line);
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.crt-search__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
}
.crt-search__icon svg { width: 16px; height: 16px; }
.crt-search__input {
  border: 0;
  outline: 0;
  min-height: 44px;
  background: transparent;
  color: var(--text-primary);
  padding-right: 12px;
  font-size: var(--fs-sm);
}

.crt-view-switch {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
}
.crt-view-switch__label {
  font-size: var(--fs-2xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.crt-view-switch__btn {
  min-height: 44px;
  border-radius: var(--r-sm);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  color: var(--text-secondary);
  font-size: var(--fs-xs);
  padding: 0 12px;
  cursor: pointer;
  transition: background var(--tr-fast), color var(--tr-fast), transform var(--tr-fast);
}
.crt-view-switch__btn:hover { transform: translateY(-1px); }
.crt-view-switch__btn.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 24%, transparent);
}

.crt-controls__filters {
  display: grid;
  gap: var(--sp-3);
  grid-template-columns: 1fr 1fr;
}
.crt-seg {
  display: grid;
  gap: 6px;
}
.crt-seg__label {
  font-size: var(--fs-2xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.crt-seg__track {
  display: inline-flex;
  min-height: 44px;
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  overflow-x: auto;
}
.crt-seg__btn {
  min-height: 44px;
  border: 0;
  border-right: 1px solid var(--line-subtle);
  background: transparent;
  color: var(--text-secondary);
  white-space: nowrap;
  padding: 0 12px;
  font-size: var(--fs-xs);
  cursor: pointer;
  transition: background var(--tr-fast), color var(--tr-fast), box-shadow var(--tr-fast);
}
.crt-seg__btn:last-child { border-right: 0; }
.crt-seg__btn:hover { background: var(--bg-surface-3); color: var(--text-primary); }
.crt-seg__btn.is-active {
  background: var(--accent-soft);
  color: var(--accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 24%, transparent);
}
.crt-seg__btn:focus-visible,
.crt-view-switch__btn:focus-visible {
  outline: 2px solid var(--accent-line);
  outline-offset: -2px;
}

.crt-view {
  display: grid;
  gap: var(--sp-3);
}
.crt-grid {
  display: grid;
  gap: var(--sp-3);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.crt-card {
  padding: var(--sp-4);
  border-radius: var(--r-md);
  display: grid;
  gap: var(--sp-3);
  transition: transform var(--tr-base), box-shadow var(--tr-base);
}
.crt-card:hover { transform: translateY(-1px); box-shadow: var(--sh-3); }
.crt-card__head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--sp-2);
  align-items: center;
}
.crt-card__icon {
  width: 24px;
  height: 24px;
  color: var(--text-secondary);
}
.crt-card__icon svg { width: 24px; height: 24px; }
.crt-card__title {
  margin: 0;
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
}
.crt-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.crt-status,
.crt-fatigue {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: var(--r-pill);
  padding: 0 9px;
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  border: 1px solid transparent;
}
.crt-status--active {
  color: var(--success);
  background: var(--success-soft);
  border-color: color-mix(in srgb, var(--success) 30%, transparent);
}
.crt-status--paused {
  color: var(--warning);
  background: var(--warning-soft);
  border-color: color-mix(in srgb, var(--warning) 30%, transparent);
}
.crt-status--blocked {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: color-mix(in srgb, var(--danger) 30%, transparent);
}
.crt-fatigue--high {
  color: var(--danger);
  background: var(--danger-soft);
  border-color: color-mix(in srgb, var(--danger) 30%, transparent);
}
.crt-fatigue--medium {
  color: var(--warning);
  background: var(--warning-soft);
  border-color: color-mix(in srgb, var(--warning) 30%, transparent);
}
.crt-fatigue--low,
.crt-fatigue--none {
  color: var(--text-muted);
  background: var(--bg-surface-3);
  border-color: var(--line-subtle);
}
.crt-card__metrics {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.crt-card__metric {
  border-radius: var(--r-sm);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  padding: 8px;
  display: grid;
  gap: 2px;
}
.crt-card__metric-k {
  font-size: var(--fs-2xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.crt-card__metric-v {
  font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums;
}
.crt-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
}
.crt-card__running {
  font-size: var(--fs-xs);
  color: var(--text-muted);
}

.crt-table-wrap {
  border-radius: var(--r-lg);
}
.crt-table-scroll { overflow-x: auto; }
.crt-table { min-width: 980px; }
.crt-table thead th {
  position: sticky;
  top: 0;
  background: var(--bg-surface);
  z-index: 2;
}
.crt-table tbody tr {
  transition: background var(--tr-fast);
}
.crt-table tbody tr:hover {
  background: color-mix(in srgb, var(--bg-surface-2) 84%, #fff);
}
.crt-list__name {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.crt-list__icon {
  width: 16px;
  height: 16px;
  color: var(--text-muted);
}
.crt-list__icon svg { width: 16px; height: 16px; }
.crt-list__title { font-weight: var(--fw-medium); }
.crt-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.crt-empty {
  padding: var(--sp-5);
}
.crt-empty__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--fs-xl);
}
.crt-empty__copy {
  margin: var(--sp-2) 0 0;
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
}
.crt-empty__actions {
  margin-top: var(--sp-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}

/* =========================
   Dashboard composition
   ========================= */
.cc-dashboard {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.cc-command-briefing {
  border-radius: var(--r-xl);
  padding: clamp(var(--sp-5), 1.8vw, var(--sp-8));
  background:
    radial-gradient(540px 220px at 96% -4%, rgba(79,110,247,0.14), transparent 72%),
    linear-gradient(180deg, var(--bg-surface), var(--bg-surface-2));
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  box-shadow: var(--sh-2);
}
.cc-briefing-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 0.95fr;
  gap: var(--sp-5);
}
.cc-briefing-kicker {
  margin-bottom: var(--sp-2);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--text-muted);
  font-weight: var(--fw-semibold);
}
.cc-briefing-title {
  margin: 0 0 var(--sp-2);
  font-family: var(--font-display);
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.cc-briefing-summary {
  margin: 0;
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
}
.cc-briefing-meta {
  margin-top: var(--sp-3);
  color: var(--text-muted);
  font-size: var(--fs-xs);
}
.cc-briefing-actions {
  margin-top: var(--sp-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}
.cc-analysis-list { display: grid; gap: var(--sp-3); }
.cc-analysis-item {
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: linear-gradient(180deg, var(--bg-surface-2), color-mix(in srgb, var(--bg-surface-2) 72%, #fff));
  padding: var(--sp-3);
}
.cc-analysis-head {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-weight: var(--fw-medium);
  font-size: var(--fs-sm);
}
.cc-analysis-label {
  margin-left: auto;
  font-size: var(--fs-2xs);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.cc-analysis-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft);
}
.cc-analysis-sub {
  margin-top: 5px;
  color: var(--text-secondary);
  font-size: var(--fs-xs);
}
.cc-analysis-line {
  margin-top: var(--sp-2);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent) 0%, rgba(79,110,247,0.16) 84%);
}
.cc-status-tiles {
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  padding: var(--sp-3);
  display: grid;
  gap: var(--sp-2);
}
.cc-status-tile {
  border-radius: var(--r-sm);
  background: rgba(255,255,255,0.65);
  padding: 7px 8px;
  display: grid;
  gap: 2px;
}
.cc-status-tile__k {
  color: var(--text-muted);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.cc-status-tile__v { color: var(--text-primary); font-size: var(--fs-xs); font-weight: var(--fw-medium); }

.cc-state-trust {
  padding: var(--sp-4);
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: linear-gradient(180deg, rgba(255,255,255,0.88), rgba(241,244,248,0.9));
}

.cc-activity-strip {
  padding: var(--sp-3) var(--sp-4);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-2);
}
.cc-activity-step {
  border-radius: var(--r-sm);
  border: 1px solid var(--line-subtle);
  background: var(--bg-surface-2);
  padding: 8px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: var(--fs-xs);
  color: var(--text-secondary);
}
.cc-activity-step.is-active .cc-activity-dot { animation: cc-pulse 1.2s linear infinite; }
.cc-activity-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--accent);
}

.cc-card-title { margin: 0 0 var(--sp-3); font-family: var(--font-display); font-size: var(--fs-xl); }
.cc-actions-wrap, .cc-kpi-wrap, .cc-trust-layer, .cc-diagnostics { padding: var(--sp-5); }

.cc-action-grid {
  display: grid;
  gap: var(--sp-3);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cc-action-card {
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: linear-gradient(180deg, var(--bg-surface), var(--bg-surface-2));
  padding: var(--sp-4);
  display: grid;
  gap: var(--sp-2);
  transition: transform var(--tr-base), box-shadow var(--tr-base);
}
.cc-action-card:hover { transform: translateY(-1px); box-shadow: var(--sh-2); }
.cc-action-card:focus-within { outline: 2px solid var(--accent-line); outline-offset: 1px; }
.cc-action-prio {
  display: inline-flex;
  width: fit-content;
  border-radius: var(--r-pill);
  background: var(--bg-surface-3);
  color: var(--text-muted);
  padding: 3px 8px;
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.cc-action-title { font-weight: var(--fw-semibold); }
.cc-action-why, .cc-action-do, .cc-action-benefit { color: var(--text-secondary); font-size: var(--fs-xs); line-height: 1.45; }

.cc-kpi-grid {
  display: grid;
  gap: var(--sp-3);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.cc-kpi {
  border-radius: var(--r-md);
  border: 1px solid var(--line-subtle);
  background: linear-gradient(180deg, var(--bg-surface), var(--bg-surface-2));
  padding: var(--sp-4);
  min-height: 140px;
  display: grid;
  gap: var(--sp-2);
}
.cc-kpi-label {
  color: var(--text-muted);
  font-size: var(--fs-2xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}
.cc-kpi-value {
  font-family: var(--font-display);
  font-size: clamp(24px, 2vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}
.cc-kpi-pending { font-family: var(--font-display); font-size: var(--fs-lg); }
.cc-kpi-pending-text, .cc-kpi-status { color: var(--text-secondary); font-size: var(--fs-xs); }

.cc-diagnostics-list { margin: 0; padding-left: 18px; display: grid; gap: var(--sp-2); }
.cc-diagnostics-item { color: var(--text-secondary); }

.cc-trust-copy { margin: 0; color: var(--text-secondary); line-height: var(--lh-relaxed); }

@keyframes cc-pulse {
  0% { box-shadow: 0 0 0 0 rgba(79,110,247,0.34); }
  100% { box-shadow: 0 0 0 8px rgba(79,110,247,0); }
}

@media (max-width: 1340px) {
  .cc-briefing-grid { grid-template-columns: 1fr 1fr; }
  .cc-briefing-right { grid-column: 1 / -1; }
  .cc-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .crt-briefing__grid { grid-template-columns: 1fr; }
  .crt-signal-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crt-controls__search-row { grid-template-columns: 1fr; }
  .crt-controls__filters { grid-template-columns: 1fr; }
  .crt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-briefing-grid,
  .cc-action-grid,
  .cc-kpi-grid,
  .cc-activity-strip { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .crt-signal-strip__grid { grid-template-columns: 1fr; }
  .crt-grid { grid-template-columns: 1fr; }
  .crt-guidance__actions, .crt-empty__actions { flex-direction: column; }
  .crt-guidance__actions .btn, .crt-empty__actions .btn { width: 100%; }
  .crt-view-switch { width: 100%; justify-content: space-between; }
  .crt-view-switch__btn { flex: 1; }
  .cc-command-briefing { padding: var(--sp-4); }
  .cc-briefing-title { font-size: clamp(24px, 8vw, 32px); }
  .cc-briefing-actions { flex-direction: column; align-items: stretch; }
  .cc-briefing-actions .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .crt-signal-card,
  .crt-card,
  .crt-table tbody tr,
  .cmp-signal-card,
  .cmp-table tbody tr {
    transition: none !important;
  }
  .cc-action-card,
  .cc-activity-dot,
  .cc-analysis-line { animation: none !important; transition: none !important; }
}

/* Reports Module V2 — Reporting Intelligence Workspace */
.rep-workspace { gap: var(--sp-4); }
.rep-briefing {
  display: grid;
  grid-template-columns: 1.3fr 0.9fr;
  gap: var(--sp-4);
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  background: linear-gradient(160deg, color-mix(in srgb, var(--bg-surface) 88%, #fff 12%), color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%));
  border: 1px solid color-mix(in srgb, var(--line-subtle) 65%, transparent);
  box-shadow: var(--sh-1);
}
.rep-eyebrow { margin: 0 0 var(--sp-2); font-size: var(--fs-2xs); letter-spacing: 0.13em; font-weight: var(--fw-semibold); color: var(--text-muted); }
.rep-title { margin: 0; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.rep-subcopy { margin: var(--sp-2) 0 0; color: var(--text-secondary); max-width: 60ch; }
.rep-status-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 90%, #fff 10%);
  padding: var(--sp-4);
}
.rep-status-card__title { margin: 0 0 var(--sp-3); font-size: var(--fs-sm); }
.rep-status-list { display: grid; gap: var(--sp-2); margin: 0; }
.rep-status-list > div { display: grid; grid-template-columns: 120px 1fr; gap: var(--sp-2); }
.rep-status-list dt { color: var(--text-muted); font-size: var(--fs-xs); }
.rep-status-list dd { margin: 0; color: var(--text-primary); font-size: var(--fs-sm); font-weight: var(--fw-medium); }

.rep-status-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  align-items: center;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-md);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 65%, transparent);
}
.rep-status-badge, .rep-platform-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: var(--r-pill);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-semibold);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 75%, transparent);
}
.rep-status-badge--ok { background: color-mix(in srgb, var(--success) 16%, #fff 84%); color: color-mix(in srgb, var(--success) 65%, #1e2a1e 35%); }
.rep-status-badge--low_signal,
.rep-status-badge--loading { background: color-mix(in srgb, var(--warning) 14%, #fff 86%); color: color-mix(in srgb, var(--warning) 72%, #33260f 28%); }
.rep-status-badge--error { background: color-mix(in srgb, var(--danger) 12%, #fff 88%); color: color-mix(in srgb, var(--danger) 68%, #35161a 32%); }
.rep-status-badge--no_data { background: color-mix(in srgb, var(--line-subtle) 25%, #fff 75%); color: var(--text-secondary); }
.rep-platform-badge { background: color-mix(in srgb, var(--bg-surface-3) 92%, #fff 8%); color: var(--text-secondary); }
.rep-activity { display: inline-flex; align-items: center; gap: 8px; color: var(--text-secondary); }
.rep-activity i { width: 8px; height: 8px; border-radius: 999px; background: var(--success); display: inline-block; }

.rep-signal-strip { display: grid; gap: var(--sp-3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rep-signal-card {
  border-radius: var(--r-md);
  padding: var(--sp-4);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 64%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 90%, #fff 10%);
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background-color var(--tr-fast);
}
.rep-signal-card:hover { transform: translateY(-1px); box-shadow: var(--sh-2); }
.rep-signal-card__label { font-size: var(--fs-xs); color: var(--text-muted); }
.rep-signal-card__value { margin-top: 8px; font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: var(--fw-semibold); }
.rep-signal-card__context { margin-top: 6px; font-size: var(--fs-xs); color: var(--text-secondary); }

.rep-content-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--sp-4); align-items: start; }
.rep-panel {
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 64%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 88%, #fff 12%);
  padding: var(--sp-4);
}
.rep-panel h3 { margin: 0 0 var(--sp-3); font-size: var(--fs-lg); }
.rep-panel--empty p { color: var(--text-secondary); }
.rep-mini-list, .rep-next-list { margin: 0; padding-left: 18px; color: var(--text-secondary); display: grid; gap: 6px; }
.rep-trust { margin-top: var(--sp-3); font-size: var(--fs-sm); color: var(--text-secondary); }
.rep-actions { margin-top: var(--sp-3); display: flex; flex-wrap: wrap; gap: var(--sp-2); }

.rep-report-list { display: grid; gap: var(--sp-2); }
.rep-report-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr auto;
  gap: var(--sp-3);
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--line-subtle) 60%, transparent);
  border-radius: var(--r-md);
  padding: var(--sp-3);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background-color var(--tr-fast);
}
.rep-report-row:hover { transform: translateY(-1px); box-shadow: var(--sh-2); }
.rep-report-row__main p,
.rep-report-row__meta span { margin: 0; display: block; color: var(--text-secondary); font-size: var(--fs-xs); }

@media (max-width: 1100px) {
  .rep-briefing { grid-template-columns: 1fr; }
  .rep-signal-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rep-content-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .rep-signal-strip { grid-template-columns: 1fr; }
  .rep-status-list > div { grid-template-columns: 1fr; gap: 2px; }
  .rep-actions { flex-direction: column; }
  .rep-actions .btn { width: 100%; }
  .rep-report-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .rep-signal-card,
  .rep-report-row { transition: none !important; }
}

/* Settings Module V2 — Workspace Control Center */
.set-shell { gap: var(--sp-4); }
.set-briefing {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: var(--sp-4);
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: linear-gradient(165deg, color-mix(in srgb, var(--bg-surface) 90%, #fff 10%), color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%));
  box-shadow: var(--sh-1);
}
.set-briefing__eyebrow { margin: 0 0 var(--sp-2); font-size: var(--fs-2xs); letter-spacing: 0.14em; font-weight: var(--fw-semibold); color: var(--text-muted); }
.set-briefing__title { margin: 0; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.set-briefing__copy { margin: var(--sp-2) 0 0; color: var(--text-secondary); max-width: 64ch; }

.set-status-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 90%, #fff 10%);
  padding: var(--sp-4);
}
.set-status-card__title { margin: 0 0 var(--sp-3); font-size: var(--fs-sm); }
.set-status-list { margin: 0; display: grid; gap: var(--sp-2); }
.set-status-list > div { display: grid; grid-template-columns: 124px 1fr; gap: var(--sp-2); }
.set-status-list dt { color: var(--text-muted); font-size: var(--fs-xs); }
.set-status-list dd { margin: 0; font-size: var(--fs-sm); font-weight: var(--fw-medium); }

.set-tabs {
  display: flex;
  gap: var(--sp-2);
  padding: var(--sp-1);
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 94%, #fff 6%);
  overflow-x: auto;
  scrollbar-width: thin;
}
.set-tab {
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-secondary);
  border-radius: var(--r-sm);
  min-height: 44px;
  padding: 10px 14px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  white-space: nowrap;
  transition: background-color var(--tr-fast), color var(--tr-fast), border-color var(--tr-fast), transform var(--tr-fast), box-shadow var(--tr-fast);
}
.set-tab:hover { background: color-mix(in srgb, var(--bg-surface-3) 70%, #fff 30%); color: var(--text-primary); transform: translateY(-1px); }
.set-tab:focus-visible { outline: 2px solid var(--accent-line); outline-offset: 1px; }
.set-tab.is-active {
  background: color-mix(in srgb, var(--accent-soft) 70%, #fff 30%);
  color: color-mix(in srgb, var(--accent) 70%, #223374 30%);
  border-color: color-mix(in srgb, var(--accent-line) 58%, transparent);
  box-shadow: var(--sh-1);
}

.set-content { display: grid; gap: var(--sp-4); }
.set-section {
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 92%, #fff 8%);
  padding: var(--sp-5);
  display: grid;
  gap: var(--sp-4);
}
.set-section__title { margin: 0; font-size: var(--fs-xl); }
.set-section__subtitle { margin: var(--sp-1) 0 0; color: var(--text-secondary); }

.set-integration-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.set-integration-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 74%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 90%, #fff 10%);
  padding: var(--sp-4);
  display: grid;
  gap: var(--sp-3);
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background-color var(--tr-fast);
}
.set-integration-card:hover { transform: translateY(-1px); box-shadow: var(--sh-2); }
.set-integration-card:focus-within { box-shadow: 0 0 0 3px var(--accent-soft), var(--sh-2); }
.set-integration-card__top { display: flex; justify-content: space-between; gap: var(--sp-2); align-items: flex-start; }
.set-platform-id { display: flex; gap: var(--sp-2); align-items: center; }
.set-platform-id p { margin: 2px 0 0; font-size: var(--fs-xs); color: var(--text-secondary); }
.set-platform-logo {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: inline-grid;
  place-items: center;
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
}
.set-platform-logo--meta { background: color-mix(in srgb, var(--info-soft) 68%, #fff 32%); color: var(--info); }
.set-platform-logo--google { background: color-mix(in srgb, var(--warning-soft) 58%, #fff 42%); color: var(--warning); }
.set-platform-logo--tiktok { background: color-mix(in srgb, var(--bg-surface-3) 85%, #fff 15%); color: var(--text-primary); }

.set-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  border-radius: var(--r-pill);
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--line-subtle) 75%, transparent);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.set-status-badge i { width: 7px; height: 7px; border-radius: 999px; background: currentColor; }
.set-status-badge--connected { background: color-mix(in srgb, var(--success-soft) 74%, #fff 26%); color: color-mix(in srgb, var(--success) 70%, #1f3026 30%); }
.set-status-badge--offline { background: color-mix(in srgb, var(--bg-surface-3) 92%, #fff 8%); color: var(--text-secondary); }
.set-status-badge--error { background: color-mix(in srgb, var(--danger-soft) 70%, #fff 30%); color: color-mix(in srgb, var(--danger) 70%, #381a1d 30%); }
.set-status-badge--loading { background: color-mix(in srgb, var(--warning-soft) 68%, #fff 32%); color: color-mix(in srgb, var(--warning) 72%, #352711 28%); }
.set-integration-card.is-pending .set-status-badge--loading i { animation: set-pulse 1.1s linear infinite; }

.set-scope-row { display: flex; flex-wrap: wrap; gap: 6px; }
.set-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: var(--r-pill);
  padding: 0 9px;
  font-size: var(--fs-2xs);
  color: var(--text-secondary);
  background: color-mix(in srgb, var(--bg-surface-3) 90%, #fff 10%);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 74%, transparent);
}
.set-integration-card__desc,
.set-activity-line { margin: 0; font-size: var(--fs-xs); color: var(--text-secondary); }

.set-card-actions, .set-inline-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; }
.set-inline-hint { margin: 0; color: var(--text-secondary); font-size: var(--fs-xs); }

.set-trust-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 91%, #fff 9%);
  padding: var(--sp-4);
}
.set-trust-card h3 { margin: 0 0 var(--sp-2); }
.set-trust-card p { margin: 0; color: var(--text-secondary); }
.set-trust-card ul { margin: var(--sp-3) 0 0; padding-left: 18px; display: grid; gap: 6px; color: var(--text-secondary); }

.set-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.set-summary-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  padding: var(--sp-3);
  display: grid;
  gap: 8px;
}
.set-summary-card span { font-size: var(--fs-xs); color: var(--text-muted); }
.set-summary-card strong { font-size: var(--fs-sm); }

.set-panel {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 95%, #fff 5%);
  padding: var(--sp-4);
  display: grid;
  gap: var(--sp-3);
}
.set-panel h3 { margin: 0; font-size: var(--fs-lg); }
.set-input-row { display: grid; grid-template-columns: 1fr auto; gap: var(--sp-2); }
.set-guidance {
  border-radius: var(--r-sm);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--accent-soft) 30%, #fff 70%);
  color: var(--text-secondary);
  padding: var(--sp-3);
  font-size: var(--fs-sm);
}

.set-billing-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: linear-gradient(170deg, color-mix(in srgb, var(--bg-surface) 90%, #fff 10%), color-mix(in srgb, var(--bg-surface-2) 94%, #fff 6%));
  padding: var(--sp-4);
  display: grid;
  gap: var(--sp-3);
}
.set-billing-card h3,
.set-billing-card p { margin: 0; }
.set-billing-card p { color: var(--text-secondary); }
.set-billing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.set-billing-grid > div { display: grid; gap: 6px; }
.set-billing-grid span { font-size: var(--fs-xs); color: var(--text-muted); }

.set-note-list { margin: 0; padding-left: 18px; color: var(--text-secondary); display: grid; gap: 6px; }
.set-notification-list { display: grid; gap: var(--sp-2); }
.set-notification-row {
  border-radius: var(--r-sm);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 92%, #fff 8%);
  padding: var(--sp-3);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--sp-3);
  align-items: center;
  transition: background-color var(--tr-fast), transform var(--tr-fast), box-shadow var(--tr-fast);
}
.set-notification-row:hover { background: color-mix(in srgb, var(--bg-surface-2) 85%, #fff 15%); transform: translateY(-1px); box-shadow: var(--sh-1); }
.set-notification-row p { margin: 4px 0 0; color: var(--text-secondary); font-size: var(--fs-xs); }
.set-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }

@keyframes set-pulse {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 35%, transparent); }
  100% { box-shadow: 0 0 0 7px color-mix(in srgb, currentColor 0%, transparent); }
}

@media (max-width: 1200px) {
  .set-briefing { grid-template-columns: 1fr; }
  .set-integration-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .set-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .set-integration-grid,
  .set-summary-grid,
  .set-billing-grid { grid-template-columns: 1fr; }
  .set-input-row { grid-template-columns: 1fr; }
  .set-card-actions .btn,
  .set-inline-actions .btn,
  .set-row-actions .btn { width: 100%; }
  .set-status-list > div { grid-template-columns: 1fr; gap: 2px; }
  .set-notification-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .set-tab,
  .set-integration-card,
  .set-notification-row { transition: none !important; }
  .set-integration-card.is-pending .set-status-badge--loading i { animation: none !important; }
}

/* Sensei Experience V3 — Decision Intelligence Center */
.sns-shell { display: grid; gap: var(--sp-4); }
.sns-briefing {
  display: grid;
  grid-template-columns: 1.1fr .95fr .9fr;
  gap: var(--sp-4);
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: linear-gradient(160deg, color-mix(in srgb, var(--bg-surface) 90%, #fff 10%), color-mix(in srgb, var(--bg-surface-2) 94%, #fff 6%));
  padding: var(--sp-5);
  box-shadow: var(--sh-1);
}
.sns-eyebrow { margin: 0 0 var(--sp-2); font-size: var(--fs-2xs); letter-spacing: 0.13em; font-weight: var(--fw-semibold); color: var(--text-muted); }
.sns-title { margin: 0; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.2; }
.sns-copy { margin: var(--sp-2) 0 0; color: var(--text-secondary); }
.sns-trust-line { margin: var(--sp-3) 0 0; color: var(--text-secondary); font-size: var(--fs-xs); }

.sns-cta-group { margin-top: var(--sp-3); display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.sns-zone-title { margin: 0; font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); }

.sns-analysis-list { margin-top: var(--sp-3); display: grid; gap: var(--sp-2); }
.sns-analysis-row {
  border-radius: var(--r-sm);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
  padding: var(--sp-3);
  display: grid;
  gap: 7px;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background-color var(--tr-fast);
}
.sns-analysis-row:hover { transform: translateY(-1px); box-shadow: var(--sh-1); }
.sns-analysis-row__top { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; }
.sns-analysis-row strong { font-size: var(--fs-sm); }
.sns-analysis-row p { margin: 0; color: var(--text-secondary); font-size: var(--fs-xs); }
.sns-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--text-muted); display: inline-block; }
.sns-dot--sns-progress--active,
.sns-progress--active .sns-dot { background: var(--success); }
.sns-dot--sns-progress--blocked,
.sns-progress--blocked .sns-dot { background: var(--danger); }
.sns-dot--sns-progress--loading,
.sns-progress--loading .sns-dot { background: var(--warning); }
.sns-state-label { font-size: var(--fs-2xs); color: var(--text-secondary); text-transform: uppercase; letter-spacing: .08em; }
.sns-progress { display: block; width: 100%; height: 4px; border-radius: 999px; background: color-mix(in srgb, var(--bg-surface-3) 88%, #fff 12%); overflow: hidden; }
.sns-progress i { display: block; height: 100%; width: 44%; border-radius: inherit; }
.sns-progress--active i { background: color-mix(in srgb, var(--success) 76%, #fff 24%); width: 85%; }
.sns-progress--blocked i { background: color-mix(in srgb, var(--danger) 74%, #fff 26%); width: 36%; }
.sns-progress--building i { background: color-mix(in srgb, var(--warning) 72%, #fff 28%); width: 52%; }
.sns-progress--loading i { background: color-mix(in srgb, var(--warning) 72%, #fff 28%); width: 50%; animation: sns-sweep 1.2s linear infinite; }

.sns-briefing__right {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
  padding: var(--sp-3);
}
.sns-status-list { margin: var(--sp-3) 0 0; display: grid; gap: var(--sp-2); }
.sns-status-list > div { display: grid; grid-template-columns: 120px 1fr; gap: 8px; }
.sns-status-list dt { color: var(--text-muted); font-size: var(--fs-xs); }
.sns-status-list dd { margin: 0; font-size: var(--fs-sm); }

.sns-section-title { margin: 0; font-size: var(--fs-xl); }
.sns-decision-surface {
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 92%, #fff 8%);
  padding: var(--sp-5);
  display: grid;
  gap: var(--sp-3);
}
.sns-decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.sns-decision-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
  padding: var(--sp-4);
  display: grid;
  gap: 8px;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background-color var(--tr-fast);
}
.sns-decision-card:hover { transform: translateY(-1px); box-shadow: var(--sh-2); }
.sns-decision-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  width: fit-content;
  border-radius: var(--r-pill);
  padding: 0 10px;
  font-size: var(--fs-2xs);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-secondary);
  background: color-mix(in srgb, var(--bg-surface-3) 90%, #fff 10%);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
}
.sns-decision-card__title { margin: 0; font-size: var(--fs-lg); }
.sns-decision-card__line { margin: 0; color: var(--text-secondary); font-size: var(--fs-sm); }

.sns-trust-layer {
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 92%, #fff 8%);
  padding: var(--sp-5);
  display: grid;
  gap: var(--sp-3);
}
.sns-trust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.sns-trust-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  padding: var(--sp-4);
}
.sns-trust-card h3 { margin: 0 0 var(--sp-2); font-size: var(--fs-lg); }
.sns-trust-card p { margin: 0; color: var(--text-secondary); }

.sns-guidance-surface {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  padding: var(--sp-4);
}
.sns-guidance-surface h2 { margin: 0 0 var(--sp-2); font-size: var(--fs-xl); }
.sns-guidance-surface p { margin: 0; color: var(--text-secondary); }
.sns-guidance-surface ol,
.sns-guidance-surface ul { margin: var(--sp-3) 0 0; padding-left: 18px; color: var(--text-secondary); display: grid; gap: 6px; }

@keyframes sns-sweep {
  0% { transform: translateX(-65%); }
  100% { transform: translateX(135%); }
}

@media (max-width: 1240px) {
  .sns-briefing { grid-template-columns: 1fr 1fr; }
  .sns-briefing__right { grid-column: 1 / -1; }
  .sns-decision-grid,
  .sns-trust-grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .sns-briefing { grid-template-columns: 1fr; padding: var(--sp-4); }
  .sns-cta-group { flex-direction: column; }
  .sns-cta-group .btn { width: 100%; }
  .sns-status-list > div { grid-template-columns: 1fr; gap: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .sns-analysis-row,
  .sns-decision-card { transition: none !important; }
  .sns-progress--loading i { animation: none !important; }
}

/* Testing Log V3 — Signal Verification Center */
.tst-shell { display: grid; gap: var(--sp-4); }
.tst-briefing {
  display: grid;
  grid-template-columns: 1.1fr .95fr .9fr;
  gap: var(--sp-4);
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: linear-gradient(160deg, color-mix(in srgb, var(--bg-surface) 90%, #fff 10%), color-mix(in srgb, var(--bg-surface-2) 94%, #fff 6%));
  padding: var(--sp-5);
}
.tst-eyebrow { margin: 0 0 var(--sp-2); font-size: var(--fs-2xs); letter-spacing: .13em; font-weight: var(--fw-semibold); color: var(--text-muted); }
.tst-title { margin: 0; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.tst-copy { margin: var(--sp-2) 0 0; color: var(--text-secondary); }
.tst-trust-line { margin: var(--sp-3) 0 0; color: var(--text-secondary); font-size: var(--fs-xs); }
.tst-cta-group { margin-top: var(--sp-3); display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.tst-zone-title { margin: 0; font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .08em; color: var(--text-muted); }

.tst-check-list { margin-top: var(--sp-3); display: grid; gap: var(--sp-2); }
.tst-check-row {
  border-radius: var(--r-sm);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
  padding: var(--sp-3);
  display: grid;
  gap: 7px;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background-color var(--tr-fast);
}
.tst-check-row:hover { transform: translateY(-1px); box-shadow: var(--sh-1); }
.tst-check-row__top { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; }
.tst-check-row p { margin: 0; color: var(--text-secondary); font-size: var(--fs-xs); }
.tst-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--text-muted); }
.tst-progress { display: block; width: 100%; height: 4px; border-radius: 999px; background: color-mix(in srgb, var(--bg-surface-3) 88%, #fff 12%); overflow: hidden; }
.tst-progress i { display: block; height: 100%; width: 46%; border-radius: inherit; }
.tst-progress--ok i { background: color-mix(in srgb, var(--success) 76%, #fff 24%); width: 86%; }
.tst-progress--active i { background: color-mix(in srgb, var(--warning) 72%, #fff 28%); width: 50%; animation: tst-sweep 1.2s linear infinite; }
.tst-progress--blocked i { background: color-mix(in srgb, var(--danger) 74%, #fff 26%); width: 36%; }
.tst-progress--build i { background: color-mix(in srgb, var(--warning) 68%, #fff 32%); width: 58%; }
.tst-check-label { font-size: var(--fs-2xs); color: var(--text-secondary); text-transform: uppercase; letter-spacing: .08em; }
.tst-progress--ok.tst-dot { background: var(--success); }
.tst-progress--active.tst-dot { background: var(--warning); }
.tst-progress--blocked.tst-dot { background: var(--danger); }
.tst-progress--build.tst-dot { background: var(--warning); }

.tst-briefing__right {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
  padding: var(--sp-3);
}
.tst-status-list { margin: var(--sp-3) 0 0; display: grid; gap: var(--sp-2); }
.tst-status-list > div { display: grid; grid-template-columns: 120px 1fr; gap: 8px; }
.tst-status-list dt { color: var(--text-muted); font-size: var(--fs-xs); }
.tst-status-list dd { margin: 0; font-size: var(--fs-sm); }

.tst-status-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  align-items: center;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 92%, #fff 8%);
}
.tst-status-badge, .tst-source-badge, .tst-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: var(--r-pill);
  font-size: var(--fs-2xs);
  letter-spacing: .06em;
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
}
.tst-status-badge--ok { background: color-mix(in srgb, var(--success-soft) 74%, #fff 26%); color: color-mix(in srgb, var(--success) 68%, #1f2f25 32%); }
.tst-status-badge--low_signal,
.tst-status-badge--loading { background: color-mix(in srgb, var(--warning-soft) 70%, #fff 30%); color: color-mix(in srgb, var(--warning) 72%, #33250f 28%); }
.tst-status-badge--error { background: color-mix(in srgb, var(--danger-soft) 70%, #fff 30%); color: color-mix(in srgb, var(--danger) 70%, #35191d 30%); }
.tst-status-badge--no_data { background: color-mix(in srgb, var(--bg-surface-3) 90%, #fff 10%); color: var(--text-secondary); }
.tst-source-badge, .tst-pill { background: color-mix(in srgb, var(--bg-surface-3) 92%, #fff 8%); color: var(--text-secondary); }
.tst-activity { color: var(--text-secondary); }

.tst-timeline-surface,
.tst-validation-surface,
.tst-trust-surface,
.tst-guidance-surface {
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 92%, #fff 8%);
  padding: var(--sp-5);
}
.tst-section-title { margin: 0; font-size: var(--fs-xl); }

.tst-timeline { margin-top: var(--sp-3); display: grid; gap: var(--sp-3); }
.tst-timeline-item { display: grid; grid-template-columns: 10px 1fr; gap: var(--sp-3); }
.tst-timeline-item__line {
  width: 2px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 32%, transparent), color-mix(in srgb, var(--line-subtle) 90%, transparent));
  border-radius: 999px;
}
.tst-timeline-item__body {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  padding: var(--sp-3);
  display: grid;
  gap: 8px;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast), background-color var(--tr-fast);
}
.tst-timeline-item__body:hover { transform: translateY(-1px); box-shadow: var(--sh-1); }
.tst-timeline-item__head { display: flex; flex-wrap: wrap; gap: 6px; }
.tst-timeline-item h3 { margin: 0; font-size: var(--fs-lg); }
.tst-timeline-item p { margin: 0; color: var(--text-secondary); font-size: var(--fs-sm); }

.tst-validation-grid { margin-top: var(--sp-3); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.tst-validation-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  padding: var(--sp-4);
}
.tst-validation-card h3 { margin: 0 0 var(--sp-2); font-size: var(--fs-lg); }
.tst-validation-card p { margin: 0 0 7px; color: var(--text-secondary); font-size: var(--fs-sm); }
.tst-validation-trust { color: var(--text-muted); font-size: var(--fs-xs); }

.tst-trust-grid { margin-top: var(--sp-3); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.tst-trust-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  padding: var(--sp-4);
}
.tst-trust-card h3 { margin: 0 0 var(--sp-2); font-size: var(--fs-lg); }
.tst-trust-card p { margin: 0; color: var(--text-secondary); }

.tst-guidance-surface h2 { margin: 0 0 var(--sp-2); font-size: var(--fs-xl); }
.tst-guidance-surface p { margin: 0; color: var(--text-secondary); }
.tst-guidance-surface ol,
.tst-guidance-surface ul { margin: var(--sp-3) 0 0; padding-left: 18px; color: var(--text-secondary); display: grid; gap: 6px; }

@keyframes tst-sweep {
  0% { transform: translateX(-65%); }
  100% { transform: translateX(135%); }
}

@media (max-width: 1240px) {
  .tst-briefing { grid-template-columns: 1fr 1fr; }
  .tst-briefing__right { grid-column: 1 / -1; }
  .tst-validation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tst-trust-grid { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .tst-briefing { grid-template-columns: 1fr; padding: var(--sp-4); }
  .tst-cta-group { flex-direction: column; }
  .tst-cta-group .btn { width: 100%; }
  .tst-status-list > div { grid-template-columns: 1fr; gap: 2px; }
  .tst-validation-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tst-check-row,
  .tst-timeline-item__body { transition: none !important; }
  .tst-progress--active i { animation: none !important; }
}

/* Academy V3 */
.acd-shell { display: grid; gap: var(--sp-4); }
.acd-hero,
.acd-guidance,
.acd-paths,
.acd-empty-state {
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 92%, #fff 8%);
  padding: var(--sp-5);
}
.acd-eyebrow { margin: 0 0 var(--sp-2); font-size: var(--fs-2xs); letter-spacing: .13em; text-transform: uppercase; color: var(--text-muted); font-weight: var(--fw-semibold); }
.acd-title { margin: 0; font-size: clamp(1.8rem, 3vw, 2.3rem); }
.acd-copy { margin: var(--sp-2) 0 0; color: var(--text-secondary); max-width: 64ch; }
.acd-guidance h2,
.acd-paths h2,
.acd-empty-state h3 { margin: 0 0 var(--sp-2); font-size: var(--fs-xl); }
.acd-guidance p,
.acd-empty-state p { margin: 0; color: var(--text-secondary); }
.acd-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); margin-top: var(--sp-3); }
.acd-path-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  overflow: hidden;
  display: grid;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast);
}
.acd-path-card:hover { transform: translateY(-1px); box-shadow: var(--sh-2); }
.acd-path-card.is-highlighted { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-line) 65%, transparent); }
.acd-path-card__media { aspect-ratio: 16/9; background: color-mix(in srgb, var(--bg-surface-3) 92%, #fff 8%); }
.acd-path-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.acd-path-card.acd-no-image .acd-path-card__media { display: none; }
.acd-path-card__body { padding: var(--sp-3); display: grid; gap: 8px; }
.acd-path-card__body h3 { margin: 0; font-size: var(--fs-lg); }
.acd-path-card__body p { margin: 0; color: var(--text-secondary); font-size: var(--fs-sm); }
.acd-path-card__actions { margin-top: var(--sp-1); }
.acd-context-actions { display: grid; }
.acd-empty-state__actions { margin-top: var(--sp-3); display: flex; flex-wrap: wrap; gap: var(--sp-2); }

/* More Tools V1 */
.mt-shell { display: grid; gap: var(--sp-4); }
.mt-hero,
.mt-grid-wrap,
.mt-empty-card {
  border-radius: var(--r-lg);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent);
  background: color-mix(in srgb, var(--bg-surface) 92%, #fff 8%);
  padding: var(--sp-5);
}
.mt-eyebrow { margin: 0 0 var(--sp-2); font-size: var(--fs-2xs); letter-spacing: .13em; text-transform: uppercase; color: var(--text-muted); font-weight: var(--fw-semibold); }
.mt-title { margin: 0; font-size: clamp(1.8rem, 3vw, 2.3rem); }
.mt-copy { margin: var(--sp-2) 0 0; color: var(--text-secondary); max-width: 64ch; }
.mt-grid-wrap h2,
.mt-empty-card h3 { margin: 0; font-size: var(--fs-xl); }
.mt-grid { margin-top: var(--sp-3); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); }
.mt-card {
  border-radius: var(--r-md);
  border: 1px solid color-mix(in srgb, var(--line-subtle) 70%, transparent);
  background: color-mix(in srgb, var(--bg-surface-2) 93%, #fff 7%);
  padding: var(--sp-4);
  display: grid;
  gap: 8px;
  transition: transform var(--tr-fast), box-shadow var(--tr-fast);
}
.mt-card:hover { transform: translateY(-1px); box-shadow: var(--sh-2); }
.mt-card__icon { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in srgb, var(--bg-surface-3) 92%, #fff 8%); overflow: hidden; }
.mt-card__icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mt-card h3 { margin: 0; font-size: var(--fs-lg); }
.mt-card p { margin: 0; color: var(--text-secondary); font-size: var(--fs-sm); }
.mt-card__meta { display: flex; }
.mt-badge { display: inline-flex; min-height: 24px; align-items: center; border-radius: var(--r-pill); padding: 0 10px; font-size: var(--fs-2xs); background: color-mix(in srgb, var(--bg-surface-3) 90%, #fff 10%); color: var(--text-secondary); border: 1px solid color-mix(in srgb, var(--line-subtle) 72%, transparent); }
.mt-card__actions { margin-top: var(--sp-1); }
.mt-empty-card p { margin: var(--sp-2) 0 0; color: var(--text-secondary); }
.mt-empty-card__actions { margin-top: var(--sp-3); display: flex; flex-wrap: wrap; gap: var(--sp-2); }

/* Mobile shell integration */
.bottom-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: calc(var(--z-topbar) + 4);
  display: none;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--bg-surface) 94%, #fff 6%);
  border-top: 1px solid var(--line-subtle);
  box-shadow: 0 -8px 24px rgba(8, 12, 20, 0.16);
}
.bottom-nav__item {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--text-secondary);
  min-height: 44px;
  border-radius: 10px;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 3px;
  font-size: 10px;
  padding: 4px 2px;
}
.bottom-nav__item.active { color: var(--accent); background: var(--accent-soft); }
.bottom-nav__icon { width: 16px; height: 16px; display: inline-flex; }
.bottom-nav__label { line-height: 1.1; }

@media (max-width: 1100px) {
  .acd-path-grid,
  .mt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  body.so-mobile-viewport .bottom-nav { display: grid; }
  body.so-mobile-viewport .main-content,
  body.so-mobile-viewport .app-shell--collapsed .main-content { padding-bottom: 94px; }
}

@media (max-width: 680px) {
  .acd-path-grid,
  .mt-grid { grid-template-columns: 1fr; }
  .acd-empty-state__actions,
  .mt-empty-card__actions { flex-direction: column; }
  .acd-empty-state__actions .btn,
  .mt-empty-card__actions .btn { width: 100%; }
}

/* Generic module wrappers */
.module { display: flex; flex-direction: column; gap: var(--sp-4); }
.settings-module,
.reports-module,
.testing-module,
.academy-module { display: grid; gap: var(--sp-4); }

.tabs, .academy-tabs, .academy-filter-bar, .onboarding-platforms {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
}

.docs-layout { display: grid; grid-template-columns: 320px 1fr; gap: var(--sp-4); }
.doc-code {
  margin: var(--sp-2) 0;
  border-radius: var(--r-sm);
  background: #0f1622;
  color: #d8e3f6;
  padding: var(--sp-3);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  overflow: auto;
}
.doc-endpoint-list { display: grid; gap: var(--sp-2); }
.doc-endpoint { display: grid; grid-template-columns: 64px 1fr 1.2fr; gap: var(--sp-2); align-items: center; }
.doc-method {
  border-radius: var(--r-pill);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-semibold);
  text-align: center;
  padding: 4px 8px;
  background: var(--bg-surface-3);
}
.doc-method--get { color: var(--info); }
.doc-method--post { color: var(--warning); }

/* Mobile behavior */
.mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(7, 11, 18, 0.45);
  z-index: calc(var(--z-sidebar) - 1);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--tr-base);
}
.mobile-overlay.active { opacity: 1; pointer-events: auto; }

.topbar-hamburger {
  display: none;
  width: 34px;
  height: 34px;
  border: 1px solid var(--line-subtle);
  border-radius: var(--r-sm);
  background: var(--bg-surface);
  position: relative;
  z-index: calc(var(--z-topbar) + 8);
}

.mobile-menu-fab {
  display: none;
  position: fixed;
  left: 12px;
  right: auto;
  bottom: calc(82px + env(safe-area-inset-bottom));
  width: 42px;
  height: 42px;
  border: 1px solid var(--line-subtle);
  border-radius: 999px;
  background: #fff;
  color: var(--text-primary);
  box-shadow: var(--sh-3);
  z-index: calc(var(--z-topbar) + 9);
  align-items: center;
  justify-content: center;
}

@media (max-width: 1100px) {
  .cmp-briefing__grid { grid-template-columns: 1fr; }
  .cmp-signal-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cmp-filterbar__row { grid-template-columns: 1fr; }
  .cmp-sort__select { width: 100%; }
  .cc-briefing-grid { grid-template-columns: 1fr; }
  .cc-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-top-grid,
  .cc-insights-feed,
  .cc-trust-grid,
  .cc-explain-grid { grid-template-columns: 1fr; }
}

@media (min-width: 1440px) {
  .content-container {
    width: 96%;
    padding-inline: clamp(18px, 2vw, 36px);
  }
}

@media (min-width: 1920px) {
  .content-container { width: 94%; }
}

@media (max-width: 980px) {
  .auth-card { grid-template-columns: 1fr; }
  .auth-brand { padding: var(--sp-6); gap: var(--sp-4); }
  .auth-brand__logo-wide { display: none; }
  .auth-brand__logo-mark { display: block; }
}

@media (max-width: 1100px) {
  .mobile-overlay { z-index: calc(var(--z-topbar) + 7); }
  .topbar {
    top: 0;
    left: 0;
    right: 0;
    border-radius: 0;
    height: var(--topbar-height);
    grid-template-columns: auto 1fr auto;
  }
  .app-shell--collapsed .topbar { left: 0; }

  .main-content,
  .app-shell--collapsed .main-content {
    margin-left: 0;
    margin-top: var(--topbar-height);
  }

  .sidebar {
    transform: translateX(-100%);
    width: min(86vw, 320px);
    box-shadow: var(--sh-4);
    z-index: calc(var(--z-topbar) + 8);
  }
  .sidebar.collapsed { width: min(86vw, 320px); }
  .sidebar-collapse-btn { display: none !important; }
  .sidebar.collapsed .nav-section-label,
  .sidebar.collapsed .nav-section-title,
  .sidebar.collapsed .nav-item__label { display: block; }
  .sidebar.collapsed .sidebar__nav { padding: var(--sp-4) var(--sp-3); }
  .sidebar.collapsed .nav-item {
    width: auto;
    height: auto;
    min-height: 42px;
    margin: 4px 2px;
    justify-content: flex-start;
    padding: 0 12px;
  }
  .sidebar.mobile-open { transform: translateX(0); }

  .topbar-hamburger { display: inline-flex; align-items: center; justify-content: center; }
  .mobile-menu-fab { display: none !important; }
  .topbar__scope { justify-self: end; }
  .topbar__brand-wordmark,
  .topbar__breadcrumb-separator { display: none; }
  .topbar__brand-logo { width: 72px; flex-shrink: 0; }
  .topbar-scope-pill,
  .topbar-platform-pill { display: none; }
  .topbar__breadcrumb { min-width: 0; max-width: calc(100% - 8px); overflow: hidden; }
  .topbar__breadcrumb-label {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 600;
  }

  .content-container { padding: var(--sp-4) var(--sp-3) var(--sp-8); }
  .docs-layout { grid-template-columns: 1fr; }
  .doc-endpoint { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .cmp-signal-strip__grid { grid-template-columns: 1fr; }
  .cmp-guidance__actions { flex-direction: column; }
  .cmp-guidance__actions .btn { width: 100%; }
  .cmp-table-wrap__head { flex-direction: column; align-items: flex-start; }
  .auth-root { padding: var(--sp-3); }
  .auth-brand { padding: var(--sp-5); }
  .auth-form-panel { padding: var(--sp-4); }
  .auth-form__title { font-size: clamp(26px, 8vw, 34px); }

  .cc-command-briefing { padding: var(--sp-4); }
  .cc-briefing-title { font-size: clamp(26px, 8vw, 34px); }
  .cc-kpi-grid { grid-template-columns: 1fr; }
  .module-title { font-size: clamp(22px, 6.5vw, 30px); }
  .app-footer {
    left: 12px;
    right: 12px;
    transform: none;
    width: auto;
    bottom: 10px;
    border-radius: 12px;
  }
  .app-footer__nav {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* Decision OS V1 module system */
.cc-shell,.cmp-shell,.crt-shell,.rep-shell,.sns-shell,.tst-shell,.set-shell,.acd-shell,.mt-shell{display:grid;gap:16px}
.cc-briefing,.cmp-briefing,.crt-briefing,.rep-briefing,.sns-briefing,.tst-briefing,.set-briefing,.acd-briefing,.mt-briefing{padding:20px}
.cc-eyebrow,.cmp-eyebrow,.crt-eyebrow,.rep-eyebrow,.sns-eyebrow,.tst-eyebrow,.set-eyebrow,.acd-eyebrow,.mt-eyebrow{margin:0 0 6px;color:var(--text-muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.cc-title,.cmp-title,.crt-title,.rep-title,.sns-title,.tst-title,.set-title,.acd-title,.mt-title{margin:0 0 8px;font-family:var(--font-display);font-size:clamp(22px,2.2vw,32px)}
.cc-subcopy,.cmp-subcopy,.crt-subcopy,.rep-subcopy,.sns-subcopy,.tst-subcopy,.set-subcopy,.acd-subcopy,.mt-subcopy{margin:0;color:var(--text-secondary)}
.cc-trust,.cmp-trust,.crt-trust,.rep-trust,.sns-trust,.tst-trust,.set-trust,.acd-trust,.mt-trust{margin:10px 0 0;color:var(--text-muted)}
.cc-actions,.cmp-actions,.crt-actions,.rep-actions,.sns-actions,.tst-actions,.set-actions,.acd-actions,.mt-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.cc-strip,.cmp-strip,.crt-strip,.rep-strip,.sns-strip,.tst-strip,.set-strip,.acd-strip,.mt-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cc-signal,.cmp-signal,.crt-signal,.rep-signal,.sns-signal,.tst-signal,.set-signal,.acd-signal,.mt-signal{padding:14px}
.cc-signal-k,.cmp-signal-k,.crt-signal-k,.rep-signal-k,.sns-signal-k,.tst-signal-k,.set-signal-k,.acd-signal-k,.mt-signal-k{display:block;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}
.cc-signal-v,.cmp-signal-v,.crt-signal-v,.rep-signal-v,.sns-signal-v,.tst-signal-v,.set-signal-v,.acd-signal-v,.mt-signal-v{display:block;margin-top:6px}
.cc-signal-c,.cmp-signal-c,.crt-signal-c,.rep-signal-c,.sns-signal-c,.tst-signal-c,.set-signal-c,.acd-signal-c,.mt-signal-c{display:block;margin-top:6px;color:var(--text-muted);font-size:12px}
.cc-surface,.cmp-surface,.crt-surface,.rep-surface,.sns-surface,.tst-surface,.set-surface,.acd-surface,.mt-surface,.cc-trust-layer,.cmp-trust-layer,.crt-trust-layer,.rep-trust-layer,.sns-trust-layer,.tst-trust-layer,.set-trust-layer,.acd-trust-layer,.mt-trust-layer,.cc-next,.cmp-next,.crt-next,.rep-next,.sns-next,.tst-next,.set-next,.acd-next,.mt-next{padding:18px}
.cmp-row,.crt-item,.rep-item,.tst-item,.acd-item,.mt-item,.sns-decision{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid var(--line-subtle)}
.cmp-row:last-child,.crt-item:last-child,.rep-item:last-child,.tst-item:last-child,.acd-item:last-child,.mt-item:last-child,.sns-decision:last-child{border-bottom:0}
.cc-next-list,.cmp-next-list,.crt-next-list,.rep-next-list,.sns-next-list,.tst-next-list,.set-next-list,.acd-next-list,.mt-next-list{display:grid;gap:8px}
.cc-next-item,.cmp-next-item,.crt-next-item,.rep-next-item,.sns-next-item,.tst-next-item,.set-next-item,.acd-next-item,.mt-next-item{display:grid;gap:3px;text-align:left;border:1px solid var(--line-subtle);background:var(--bg-surface);border-radius:10px;padding:12px;min-height:44px;cursor:pointer}
.cc-next-item:hover,.cmp-next-item:hover,.crt-next-item:hover,.rep-next-item:hover,.sns-next-item:hover,.tst-next-item:hover,.set-next-item:hover,.acd-next-item:hover,.mt-next-item:hover{transform:translateY(-1px);box-shadow:var(--sh-1)}
.set-chips{display:flex;gap:8px;flex-wrap:wrap}.set-chip{border:1px solid var(--line-subtle);background:var(--bg-surface-2);padding:6px 10px;border-radius:999px;font-size:12px}
.crt-grid,.acd-list,.mt-list,.rep-list,.tst-list,.cmp-list{display:grid;gap:8px}
@media (max-width:768px){
  body{overflow-x:hidden}
  .btn,.cc-next-item,.cmp-next-item,.crt-next-item,.rep-next-item,.sns-next-item,.tst-next-item,.set-next-item,.acd-next-item,.mt-next-item{min-height:44px}
  .toast-container{bottom:92px}
}

/* Experience Density & Operational Atmosphere Pass V1 */
.cc-shell,.cmp-shell,.crt-shell,.rep-shell,.sns-shell,.tst-shell,.set-shell,.acd-shell,.mt-shell{
  gap:18px;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}

.cc-briefing,.cmp-briefing,.crt-briefing,.rep-briefing,.sns-briefing,.tst-briefing,.set-briefing,.acd-briefing,.mt-briefing{
  position:relative;
  overflow:hidden;
  padding:24px 24px 20px;
  background:
    radial-gradient(140% 120% at 0% 0%, rgba(79,110,247,0.1), transparent 60%),
    linear-gradient(180deg, color-mix(in srgb,var(--bg-surface) 94%, #fff 6%), color-mix(in srgb,var(--bg-surface-2) 92%, #fff 8%));
  box-shadow:var(--sh-3);
}
.cc-briefing::after,.cmp-briefing::after,.crt-briefing::after,.rep-briefing::after,.sns-briefing::after,.tst-briefing::after,.set-briefing::after,.acd-briefing::after,.mt-briefing::after{
  content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:999px;
  background:radial-gradient(circle, rgba(127,151,255,0.18), transparent 68%);
}

.cc-title,.cmp-title,.crt-title,.rep-title,.sns-title,.tst-title,.set-title,.acd-title,.mt-title{font-size:clamp(28px,2.8vw,38px);line-height:1.08;letter-spacing:-0.02em}
.cc-subcopy,.cmp-subcopy,.crt-subcopy,.rep-subcopy,.sns-subcopy,.tst-subcopy,.set-subcopy,.acd-subcopy,.mt-subcopy{max-width:78ch;font-size:14px;line-height:1.55}
.cc-trust,.cmp-trust,.crt-trust,.rep-trust,.sns-trust,.tst-trust,.set-trust,.acd-trust,.mt-trust{font-size:12px;opacity:.94}

.cc-strip,.cmp-strip,.crt-strip,.rep-strip,.sns-strip,.tst-strip,.set-strip,.acd-strip,.mt-strip{gap:12px}
.cc-signal,.cmp-signal,.crt-signal,.rep-signal,.sns-signal,.tst-signal,.set-signal,.acd-signal,.mt-signal{padding:14px 14px 12px;box-shadow:var(--sh-1)}

.cc-decision,.cmp-decision,.crt-decision,.rep-decision,.sns-decision,.tst-decision,.set-decision,.acd-decision,.mt-decision{
  padding:20px;
  background:linear-gradient(180deg, color-mix(in srgb,var(--bg-surface) 90%, #fff 10%), color-mix(in srgb,var(--bg-surface-2) 86%, #fff 14%));
  border-color:color-mix(in srgb,var(--accent-line) 34%, var(--line-subtle));
  box-shadow:var(--sh-3);
}
.cc-decision > h3,.cmp-decision > h3,.crt-decision > h3,.rep-decision > h3,.sns-decision > h3,.tst-decision > h3,.set-decision > h3,.acd-decision > h3,.mt-decision > h3{margin:0 0 12px}
.cc-decision-grid,.cmp-decision-grid,.crt-decision-grid,.rep-decision-grid,.sns-decision-grid,.tst-decision-grid,.set-decision-grid,.acd-decision-grid,.mt-decision-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}
.cc-decision-item,.cmp-decision-item,.crt-decision-item,.rep-decision-item,.sns-decision-item,.tst-decision-item,.set-decision-item,.acd-decision-item,.mt-decision-item{border:1px solid var(--line-subtle);border-radius:12px;background:var(--bg-surface);padding:12px;display:grid;gap:6px}
.cc-decision-item.is-primary,.cmp-decision-item.is-primary,.crt-decision-item.is-primary,.rep-decision-item.is-primary,.sns-decision-item.is-primary,.tst-decision-item.is-primary,.set-decision-item.is-primary,.acd-decision-item.is-primary,.mt-decision-item.is-primary{border-color:color-mix(in srgb,var(--accent-line) 55%, var(--line-subtle));box-shadow:var(--sh-2)}
.cc-decision-badge,.cmp-decision-badge,.crt-decision-badge,.rep-decision-badge,.sns-decision-badge,.tst-decision-badge,.set-decision-badge,.acd-decision-badge,.mt-decision-badge{display:inline-flex;align-items:center;width:max-content;padding:3px 8px;border-radius:999px;background:var(--accent-soft);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.cc-decision-item h4,.cmp-decision-item h4,.crt-decision-item h4,.rep-decision-item h4,.sns-decision-item h4,.tst-decision-item h4,.set-decision-item h4,.acd-decision-item h4,.mt-decision-item h4{margin:2px 0 0;font-size:15px}
.cc-decision-item p,.cmp-decision-item p,.crt-decision-item p,.rep-decision-item p,.sns-decision-item p,.tst-decision-item p,.set-decision-item p,.acd-decision-item p,.mt-decision-item p{margin:0;color:var(--text-secondary);font-size:12px}

.cc-surface,.cmp-surface,.crt-surface,.rep-surface,.sns-surface,.tst-surface,.set-surface,.acd-surface,.mt-surface{padding:18px;box-shadow:var(--sh-2)}
.cc-next,.cmp-next,.crt-next,.rep-next,.sns-next,.tst-next,.set-next,.acd-next,.mt-next{padding:14px 16px;box-shadow:var(--sh-1)}
.cc-next-item,.cmp-next-item,.crt-next-item,.rep-next-item,.sns-next-item,.tst-next-item,.set-next-item,.acd-next-item,.mt-next-item{align-items:flex-start}
.cc-next-item.is-primary,.cmp-next-item.is-primary,.crt-next-item.is-primary,.rep-next-item.is-primary,.sns-next-item.is-primary,.tst-next-item.is-primary,.set-next-item.is-primary,.acd-next-item.is-primary,.mt-next-item.is-primary{background:linear-gradient(180deg, color-mix(in srgb,var(--accent-soft) 60%, #fff 40%), #fff);border-color:color-mix(in srgb,var(--accent-line) 45%, var(--line-subtle));box-shadow:var(--sh-2)}
.cc-next-item.is-primary strong,.cmp-next-item.is-primary strong,.crt-next-item.is-primary strong,.rep-next-item.is-primary strong,.sns-next-item.is-primary strong,.tst-next-item.is-primary strong,.set-next-item.is-primary strong,.acd-next-item.is-primary strong,.mt-next-item.is-primary strong{color:var(--text-primary)}
.cc-next-item.is-secondary,.cmp-next-item.is-secondary,.crt-next-item.is-secondary,.rep-next-item.is-secondary,.sns-next-item.is-secondary,.tst-next-item.is-secondary,.set-next-item.is-secondary,.acd-next-item.is-secondary,.mt-next-item.is-secondary{opacity:.92}

.cc-trust-layer,.cmp-trust-layer,.crt-trust-layer,.rep-trust-layer,.sns-trust-layer,.tst-trust-layer,.set-trust-layer,.acd-trust-layer,.mt-trust-layer{
  padding:14px 16px;
  background:linear-gradient(180deg, color-mix(in srgb,var(--bg-surface-2) 92%, #fff 8%), color-mix(in srgb,var(--bg-surface-3) 93%, #fff 7%));
  box-shadow:var(--sh-1);
}
.cc-trust-layer p,.cmp-trust-layer p,.crt-trust-layer p,.rep-trust-layer p,.sns-trust-layer p,.tst-trust-layer p,.set-trust-layer p,.acd-trust-layer p,.mt-trust-layer p{margin:0;color:var(--text-secondary)}

.cc-signal-v,.cmp-signal-v,.crt-signal-v,.rep-signal-v,.sns-signal-v,.tst-signal-v,.set-signal-v,.acd-signal-v,.mt-signal-v{position:relative}
.cc-signal-v::after,.cmp-signal-v::after,.crt-signal-v::after,.rep-signal-v::after,.sns-signal-v::after,.tst-signal-v::after,.set-signal-v::after,.acd-signal-v::after,.mt-signal-v::after{content:'';display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--success);margin-left:8px;vertical-align:middle;animation:soSyncPulse 2.4s ease-in-out infinite;opacity:.8}
@keyframes soSyncPulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.15);opacity:.95}}

.cmp-row,.crt-item,.rep-item,.tst-item,.acd-item,.mt-item{padding:12px 0;gap:5px}

@media (prefers-reduced-motion: reduce){
  .cc-signal-v::after,.cmp-signal-v::after,.crt-signal-v::after,.rep-signal-v::after,.sns-signal-v::after,.tst-signal-v::after,.set-signal-v::after,.acd-signal-v::after,.mt-signal-v::after{animation:none}
}

@media (max-width: 980px){
  .cc-decision-grid,.cmp-decision-grid,.crt-decision-grid,.rep-decision-grid,.sns-decision-grid,.tst-decision-grid,.set-decision-grid,.acd-decision-grid,.mt-decision-grid{grid-template-columns:1fr}
}

/* ── Sensei Action Surface ──────────────────────────────────────────────── */
.sns-action-surface{padding:18px;box-shadow:var(--sh-2)}
.sns-action-surface-copy{font-size:13px;color:var(--text-secondary);margin:4px 0 14px}
.sns-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sns-action-btn{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:14px 10px;border-radius:10px;border:1px solid var(--line-subtle);
  background:var(--bg-surface);cursor:pointer;
  transition:background 130ms ease,box-shadow 130ms ease,transform 130ms ease;
}
.sns-action-btn:hover{background:var(--bg-surface-2);box-shadow:var(--sh-2);transform:translateY(-1px)}
.sns-action-btn:active{transform:translateY(0)}
.sns-action-btn--disabled{opacity:.45;cursor:not-allowed}
.sns-action-btn-icon{font-size:20px;line-height:1}
.sns-action-btn-label{font-size:12px;font-weight:600;color:var(--text-primary);text-align:center}
.sns-result-mount{margin-top:14px}

/* ── Sensei Result Panel ────────────────────────────────────────────────── */
.sns-result-panel{display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--bg-surface-2);border-radius:12px;border:1px solid var(--line-subtle)}
.sns-result-summary{display:flex;flex-direction:column;gap:6px}
.sns-result-summary h3{margin:0;font-size:15px}
.sns-result-text{color:var(--text-primary);font-size:13px;line-height:1.6;margin:0}
.sns-result-priority{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;width:max-content}
.sns-priority-high{background:rgba(220,38,38,.1);color:#DC2626}
.sns-priority-medium{background:rgba(217,119,6,.1);color:#D97706}
.sns-priority-low{background:rgba(22,163,74,.1);color:#16A34A}
.sns-result-insights,.sns-result-actions{display:flex;flex-direction:column;gap:8px}
.sns-result-insights h4,.sns-result-actions h4{margin:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.sns-insight-item{padding:10px 12px;background:var(--bg-surface);border-radius:8px;border-left:3px solid var(--accent-line)}
.sns-insight-title{font-size:13px;font-weight:600;color:var(--text-primary)}
.sns-insight-detail{font-size:12px;color:var(--text-secondary);margin:4px 0 0}
.sns-action-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--bg-surface);border-radius:8px}
.sns-action-item strong{font-size:13px;color:var(--text-primary)}
.sns-action-item span:not(.sns-action-priority-badge){font-size:12px;color:var(--text-secondary)}
.sns-action-priority-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;width:max-content;margin-top:4px;background:var(--accent-soft);color:var(--text-secondary)}
.sns-action-high .sns-action-priority-badge{background:rgba(220,38,38,.1);color:#DC2626}
.sns-action-medium .sns-action-priority-badge{background:rgba(217,119,6,.1);color:#D97706}
.sns-action-low .sns-action-priority-badge{background:rgba(22,163,74,.1);color:#16A34A}
.sns-result-explanation{padding:10px 12px;background:rgba(99,102,241,.04);border-radius:8px;border:1px solid rgba(99,102,241,.12)}
.sns-explanation-text{font-size:12px;color:var(--text-secondary);font-style:italic;margin:0}

/* ── Sensei Loading / Error ─────────────────────────────────────────────── */
.sns-loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;background:var(--bg-surface-2);border-radius:12px;border:1px solid var(--line-subtle)}
.sns-loading-spinner{width:28px;height:28px;border:2px solid var(--line-subtle);border-top-color:var(--accent);border-radius:50%;animation:sns-spin .8s linear infinite}
@keyframes sns-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sns-loading-spinner{animation:none}}
.sns-loading-text{font-size:13px;color:var(--text-secondary);text-align:center;margin:0}
.sns-error-state{padding:14px 16px;background:rgba(220,38,38,.04);border-radius:10px;border:1px solid rgba(220,38,38,.15);display:flex;flex-direction:column;gap:8px}
.sns-error-title{font-size:13px;font-weight:600;color:#DC2626;margin:0}
.sns-error-detail{font-size:12px;color:var(--text-secondary);margin:0}
.sns-retry-btn{align-self:flex-start;padding:6px 14px;background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:6px;font-size:12px;cursor:pointer;transition:background 120ms ease}
.sns-retry-btn:hover{background:var(--bg-surface-2)}

/* ── Dashboard cc-* ────────────────────────────────────────────────────── */
.app-shell[data-route="dashboard"] .main-content,
#module-container.route--dashboard{
  background:
    radial-gradient(ellipse 80% 40% at 10% 0%, rgba(79,110,247,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 60% 30% at 90% 0%, rgba(79,110,247,0.03) 0%, transparent 60%),
    var(--bg-page);
}
.dash-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3);margin-bottom:var(--sp-6)}
.dash-status-card{background:var(--bg-surface);border-radius:var(--r-lg);border:1px solid var(--line-subtle);box-shadow:var(--sh-1);padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-1)}
.dash-status-card__label{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.dash-status-card__value{font-size:var(--fs-lg);font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:var(--sp-2)}
.dash-status-card__sub{font-size:var(--fs-xs);color:var(--text-muted)}

.dash-impulse-surface{display:grid;grid-template-columns:3fr 2fr;gap:var(--sp-4);margin-bottom:var(--sp-6)}
.dash-impulse-primary{background:var(--bg-surface);border:1px solid var(--line-subtle);border-left:4px solid var(--accent);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}
.dash-impulse-primary--evaluatable{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 35%,var(--bg-surface) 65%)}
.dash-impulse-primary--warning{border-left-color:var(--warning);background:color-mix(in srgb,var(--warning-soft) 30%,var(--bg-surface) 70%)}
.dash-impulse-primary--neutral{border-left-color:var(--line-mid)}
.dash-impulse-badge{display:inline-flex;width:fit-content;padding:3px 10px;border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}
.dash-impulse-badge--warning{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 22%,transparent)}
.dash-impulse-badge--neutral{background:var(--bg-surface-3);color:var(--text-secondary);border-color:var(--line-subtle)}
.dash-impulse-headline{margin:0;font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;letter-spacing:var(--ls-tight);color:var(--text-primary);line-height:var(--lh-tight)}
.dash-impulse-body{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);flex:1}
.dash-impulse-cta{margin-top:var(--sp-2);align-self:flex-start;padding:10px 22px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;cursor:pointer;border:none;transition:opacity var(--tr-fast),transform var(--tr-fast),box-shadow var(--tr-fast);background:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,transparent)}
.dash-impulse-cta:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 40%,transparent)}
.dash-impulse-cta--secondary{background:var(--bg-surface-3);color:var(--text-primary);border:1px solid var(--line-mid);box-shadow:none}
.dash-impulse-cta--secondary:hover{background:var(--bg-surface-2);box-shadow:none}
.dash-impulse-secondary-grid{display:flex;flex-direction:column;gap:var(--sp-3)}
.dash-impulse-secondary-card{background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);flex:1}
.dash-impulse-secondary-badge{display:inline-flex;width:fit-content;padding:2px 8px;border-radius:var(--r-pill);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:var(--bg-surface-3);color:var(--text-muted);border:1px solid var(--line-subtle)}
.dash-impulse-secondary-headline{margin:0;font-size:var(--fs-md);font-weight:600;color:var(--text-primary)}
.dash-impulse-secondary-body{margin:0;font-size:var(--fs-xs);color:var(--text-secondary);line-height:var(--lh-normal);flex:1}
.dash-impulse-secondary-cta{align-self:flex-start;margin-top:auto;padding:5px 12px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:500;cursor:pointer;background:none;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);transition:background var(--tr-fast)}
.dash-impulse-secondary-cta:hover{background:var(--accent-soft)}

.dash-spend-section{background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--sp-5);margin-bottom:var(--sp-6)}
.dash-spend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-4)}
.dash-spend-label{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.dash-spend-total{font-size:var(--fs-sm);font-weight:700;color:var(--text-primary)}
.dash-spend-single-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-surface-2);border-radius:var(--r-md);border:1px solid var(--line-subtle)}
.dash-spend-single-name{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);flex:1}
.dash-spend-single-status{font-size:var(--fs-xs);color:var(--text-muted);padding:2px 8px;border-radius:var(--r-pill);background:var(--bg-surface-3);border:1px solid var(--line-subtle)}
.dash-spend-single-amount{font-size:var(--fs-md);font-weight:700;color:var(--text-primary)}
.dash-spend-single-hint{margin:var(--sp-3) 0 0;font-size:var(--fs-xs);color:var(--text-muted);font-style:italic}
.dash-spend-bars{display:flex;align-items:flex-end;gap:var(--sp-2);height:72px}
.dash-spend-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.dash-spend-bar-fill{width:100%;min-height:4px;background:var(--accent);border-radius:3px 3px 0 0;opacity:.7;transition:opacity var(--tr-fast)}
.dash-spend-bar-item:hover .dash-spend-bar-fill{opacity:1}
.dash-spend-bar-label{font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.dash-spend-empty{padding:var(--sp-4);text-align:center;color:var(--text-muted);font-size:var(--fs-xs);font-style:italic}

.dash-next-actions{background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden;margin-bottom:var(--sp-6)}
.dash-next-actions__header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-subtle);font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}
.dash-action-item{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-subtle);cursor:pointer;transition:background var(--tr-fast)}
.dash-action-item:last-child{border-bottom:none}
.dash-action-item:hover{background:var(--bg-surface-2)}
.dash-action-item__index{width:24px;height:24px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.dash-action-item__content{flex:1;display:flex;flex-direction:column;gap:3px}
.dash-action-item__title{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);margin:0}
.dash-action-item__body{font-size:var(--fs-xs);color:var(--text-secondary);margin:0;line-height:var(--lh-normal)}
.dash-action-item__arrow{color:var(--text-muted);font-size:var(--fs-md);flex-shrink:0;transition:transform var(--tr-fast),color var(--tr-fast)}
.dash-action-item:hover .dash-action-item__arrow{transform:translateX(3px);color:var(--accent)}

.dash-trust-layer{background:var(--bg-surface-2);border:1px solid var(--line-subtle);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-4);font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-normal)}

.dash-activity-section{background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden;margin-bottom:var(--sp-6)}
.dash-activity-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line-subtle)}
.dash-activity-title{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}
.dash-activity-loading{font-size:var(--fs-xs);color:var(--text-muted);font-style:italic}
.dash-activity-body{display:flex;flex-direction:column}
.dash-activity-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line-subtle);transition:background var(--tr-fast)}
.dash-activity-item:last-child{border-bottom:none}
.dash-activity-item:hover{background:var(--bg-surface-2)}
.dash-activity-item__icon{font-size:16px;flex-shrink:0}
.dash-activity-item__content{flex:1;display:flex;flex-direction:column;gap:2px}
.dash-activity-item__title{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary)}
.dash-activity-item__sub{font-size:var(--fs-xs);color:var(--text-muted)}
.dash-activity-item__badge{padding:2px 8px;border-radius:var(--r-pill);font-size:10px;font-weight:700;flex-shrink:0}
.dash-activity-item__badge--success{background:var(--success-soft);color:var(--success)}
.dash-activity-item__badge--warning{background:var(--warning-soft);color:var(--warning)}
.dash-activity-empty{padding:var(--sp-5);text-align:center;font-size:var(--fs-xs);color:var(--text-muted);font-style:italic}

@media (max-width:640px){
  .sns-action-grid{grid-template-columns:repeat(2,1fr)}
  .dash-status-grid{grid-template-columns:1fr}
  .dash-impulse-surface{grid-template-columns:1fr}
}
@media (max-width:900px){
  .dash-status-grid{grid-template-columns:repeat(2,1fr)}
  .dash-impulse-surface{grid-template-columns:1fr}
}

/* UX hardening sprint */
.app-footer {
  position: fixed;
  bottom: max(14px, env(safe-area-inset-bottom));
  left: 50%;
  transform: translateX(-50%);
  z-index: 120;
  max-height: 44px;
  border: 1px solid color-mix(in srgb, var(--line-subtle) 82%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 10px 26px rgba(20, 27, 38, 0.16);
  pointer-events: auto;
}

.dash-hero { padding: 18px; }
.dash-hero h1 { margin: 0 0 8px; font-family: var(--font-display); }
.dash-eyebrow { margin: 0 0 6px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.dash-hero p { margin: 0 0 8px; color: var(--text-secondary); }
.dash-hero-micro { font-size: var(--fs-xs); color: var(--text-muted); }
.dash-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }

.dash-decision { padding: 16px; }
.dash-decision h2 { margin: 0 0 12px; }
.dash-decision-grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.dash-decision-card { border: 1px solid var(--line-subtle); border-radius: 12px; padding: 12px; background: var(--bg-surface-2); display: grid; gap: 6px; }
.dash-decision-card h3 { margin: 0; font-size: var(--fs-md); }
.dash-decision-card p { margin: 0; font-size: var(--fs-xs); color: var(--text-secondary); }
.dash-decision-card__label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: .08em; }

.dash-next-actions { padding: 14px; display: grid; gap: 8px; }
.dash-next-actions h2 { margin: 0 0 4px; }
.dash-action-item { border: 1px solid var(--line-subtle); border-radius: 10px; padding: 10px; background: var(--bg-surface-2); display: grid; gap: 4px; text-align: left; }
.dash-action-item strong { font-size: var(--fs-sm); color: var(--text-primary); }
.dash-action-item span { font-size: var(--fs-xs); color: var(--text-secondary); }

@media (max-width: 640px) {
  .app-footer { left: 12px; right: 12px; transform: none; width: auto; }
}

/* Dashboard rebuild v9 */
.dashx-shell{display:grid;gap:12px;padding-bottom:88px}
.dashx-hero{padding:14px 16px;display:grid;gap:10px;border:1px solid var(--line-subtle);background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2))}
.dashx-eyebrow{margin:0 0 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.dashx-hero h1{margin:0;font-size:clamp(22px,2.1vw,30px);line-height:1.2}
.dashx-sub{margin:6px 0 0;color:var(--text-secondary);font-size:var(--fs-sm)}
.dashx-micro{margin:4px 0 0;color:var(--text-muted);font-size:var(--fs-xs)}
.dashx-hero-actions{display:flex;gap:8px;flex-wrap:wrap}

.dashx-kpi-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.dashx-kpi-card{background:var(--bg-surface);border:1px solid var(--line-subtle);border-radius:12px;padding:10px;display:grid;gap:4px;min-height:112px}
.dashx-kpi-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.dashx-kpi-value{font-size:18px;line-height:1.1;color:var(--text-primary)}
.dashx-kpi-sub{font-size:11px;color:var(--text-secondary)}
.dashx-kpi-state{font-size:11px;color:var(--text-muted)}
.dashx-kpi-delta{font-size:11px;color:var(--success)}
.dashx-kpi-missing{margin:0;font-size:11px;color:var(--text-muted)}

.dashx-trust-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:10px 12px;background:var(--bg-surface-2)}
.dashx-trust-strip>div{display:grid;gap:2px;padding:6px 8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface)}
.dashx-trust-strip span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.dashx-trust-strip strong{font-size:13px;color:var(--text-primary)}

.dashx-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:12px}
.dashx-left-col,.dashx-right-col,.dashx-lower-grid{display:grid;gap:12px}
.dashx-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashx-panel{padding:12px}
.dashx-panel header h2{margin:0;font-size:17px}
.dashx-panel header p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}
.dashx-empty{margin:10px 0 0;color:var(--text-muted);font-size:12px}

.dashx-trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.dashx-trend-grid h3{margin:0 0 6px;font-size:12px;color:var(--text-secondary)}
.dashx-spark{height:86px;display:flex;align-items:flex-end;gap:3px;padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2)}
.dashx-spark i{display:block;flex:1;border-radius:3px 3px 0 0;background:#7ba7d9}
.dashx-spark.is-spend i{background:#5b8bc0}
.dashx-spark.is-roas i{background:#30a46c}
.dashx-spark.is-conv i{background:#f08c2e}

.dashx-budget-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.dashx-budget-metrics>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.dashx-budget-metrics span{font-size:11px;color:var(--text-muted)}
.dashx-budget-metrics strong{font-size:15px}
.dashx-budget-risk{margin:10px 0 0;font-size:12px;color:var(--text-secondary)}

.dashx-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.dashx-score-grid>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.dashx-score-grid span{font-size:11px;color:var(--text-muted)}
.dashx-score-grid strong{font-size:15px}
.dashx-list{margin:10px 0;padding-left:18px;color:var(--text-secondary);font-size:12px}
.dashx-ctas{display:flex;gap:8px;flex-wrap:wrap}

.dashx-wl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.dashx-wl-grid h3{margin:0 0 6px;font-size:12px;color:var(--text-secondary)}
.dashx-wl-grid p{margin:0 0 8px;padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:3px}
.dashx-wl-grid span{font-size:11px;color:var(--text-muted)}

.dashx-alerts{display:grid;gap:8px;margin-top:10px}
.dashx-alert{padding:10px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:6px}
.dashx-alert h3{margin:0;font-size:14px}
.dashx-alert p{margin:0;font-size:12px;color:var(--text-secondary)}
.dashx-sev{display:inline-flex;width:max-content;padding:2px 7px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:10px;letter-spacing:.08em;text-transform:uppercase}

.dashx-focus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.dashx-focus>div{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:4px}
.dashx-focus h3{margin:0;font-size:12px;color:var(--text-secondary)}
.dashx-focus strong{font-size:14px}
.dashx-focus p{margin:0;font-size:12px;color:var(--text-secondary)}
.dashx-focus span{font-size:11px;color:var(--text-muted)}

.dashx-priority{display:grid;gap:8px;margin-top:10px}
.dashx-prio{border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);padding:10px;display:grid;gap:3px;text-align:left;cursor:pointer}
.dashx-prio strong{font-size:13px;color:var(--text-primary)}
.dashx-prio span{font-size:11px;color:var(--accent)}
.dashx-prio p{margin:0;font-size:12px;color:var(--text-secondary)}
.dashx-prio em{font-style:normal;font-size:11px;color:var(--text-muted)}
.dashx-intel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.dashx-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashx-channel{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;margin-top:10px}
.dashx-channel__pie{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px rgba(148,163,184,.25)}
.dashx-channel__pie::after{content:'';width:66px;height:66px;border-radius:50%;background:#fff;border:1px solid rgba(203,213,225,.9);position:absolute}
.dashx-channel__pie span{position:relative;z-index:1;font-size:12px;font-weight:700;color:#0f172a}
.dashx-channel__legend{display:grid;gap:6px}
.dashx-channel__legend div{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center}
.dashx-channel__legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.dashx-channel__legend strong{font-size:12px;color:#0f172a}
.dashx-channel__legend span{font-size:11px;color:#64748b}
.dashx-rank-list{display:grid;gap:8px;margin-top:10px}
.dashx-rank-list div{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2)}
.dashx-rank-list span{font-size:11px;color:#64748b}
.dashx-rank-list strong{font-size:12px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashx-rank-list em{font-style:normal;font-size:11px;color:#1d4ed8;font-weight:700}
.dashx-activity-list{display:grid;gap:8px;margin-top:10px}
.dashx-activity-item{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:4px}
.dashx-activity-item strong{font-size:12px;color:#0f172a}
.dashx-activity-item p{margin:0;font-size:11px;color:#475569}
.dashx-activity-item time{font-size:10px;color:#64748b}
.dashx-activity-item[role="button"]{cursor:pointer}
.dashx-activity-item[role="button"]:hover{border-color:#93c5fd;background:#f8fbff}
.dashx-decision-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.dashx-dcard{border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);padding:10px;display:grid;gap:5px}
.dashx-dcard.is-primary{border-color:color-mix(in srgb,var(--accent-line) 60%,var(--line-subtle));box-shadow:var(--sh-1)}
.dashx-dcard span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.dashx-dcard h3{margin:0;font-size:14px}
.dashx-dcard p{margin:0;font-size:12px;color:var(--text-secondary)}

@media (max-width:1180px){
  .dashx-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashx-trust-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dashx-main-grid{grid-template-columns:1fr}
  .dashx-intel-grid{grid-template-columns:1fr}
  .dashx-activity-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .dashx-shell{padding-bottom:112px}
  .dashx-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashx-trust-strip{grid-template-columns:1fr}
  .dashx-lower-grid{grid-template-columns:1fr}
  .dashx-trend-grid,.dashx-focus,.dashx-budget-metrics,.dashx-score-grid,.dashx-wl-grid{grid-template-columns:1fr}
  .dashx-channel{grid-template-columns:1fr}
  .dashx-channel__pie{margin:0 auto}
}

/* Campaigns rebuild v4 */
.cmpx-shell{display:grid;gap:10px;padding-bottom:96px}
.cmpx-hero{padding:12px 14px;display:grid;gap:6px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2));border:1px solid var(--line-subtle)}
.cmpx-eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.cmpx-hero h1{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.16;letter-spacing:-.015em}
.cmpx-sub{margin:0;color:var(--text-secondary);font-size:13px}
.cmpx-micro{margin:2px 0 0;color:var(--text-muted);font-size:11px;opacity:.88}
.cmpx-scope{margin:2px 0 0;color:var(--text-muted);font-size:11px}
.cmpx-cta-row{display:flex;gap:8px;flex-wrap:wrap}

.cmpx-kpi-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.cmpx-kpi-card{border:1px solid var(--line-subtle);background:var(--bg-surface);border-radius:12px;padding:10px;display:grid;gap:3px;min-height:104px}
.cmpx-kpi-card>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.cmpx-kpi-card>strong{font-size:20px;line-height:1.08;color:var(--text-primary);font-variant-numeric:tabular-nums}
.cmpx-kpi-card>em{font-style:normal;font-size:10px;color:var(--text-secondary)}
.cmpx-kpi-card>small{font-size:10px;color:var(--text-muted)}
.cmpx-kpi-card>p{margin:1px 0 0;font-size:10px;color:var(--text-muted)}

.cmpx-trust-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:8px 10px;background:var(--bg-surface-2)}
.cmpx-trust-strip>div{display:grid;gap:2px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--line-subtle) 85%, transparent);border-radius:9px;background:var(--bg-surface)}
.cmpx-trust-strip span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.cmpx-trust-strip strong{font-size:13px;color:var(--text-primary)}

.cmpx-toolbar{padding:9px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}
.cmpx-input,.cmpx-select{height:36px;border:1px solid var(--line-subtle);border-radius:9px;background:var(--bg-surface);padding:0 10px;color:var(--text-primary);font-size:13px}

.cmpx-table-wrap{padding:0;overflow:hidden}
.cmpx-table-scroll{overflow:auto}
.cmpx-table{width:100%;border-collapse:separate;border-spacing:0}
.cmpx-table thead th{position:sticky;top:0;background:var(--bg-surface-2);z-index:2;text-align:left;padding:10px;border-bottom:1px solid var(--line-subtle);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.cmpx-table tbody td{padding:9px 10px;vertical-align:top;border-bottom:1px solid var(--line-subtle)}
.cmpx-row:hover td{background:color-mix(in srgb,var(--bg-surface-2) 72%, transparent)}
.cmpx-camp-cell,.cmpx-budget-cell,.cmpx-result-cell,.cmpx-signal,.cmpx-diagnosis,.cmpx-next{display:grid;gap:3px}
.cmpx-camp-cell strong,.cmpx-budget-cell strong,.cmpx-result-cell strong,.cmpx-diagnosis strong{font-size:13px;color:var(--text-primary);line-height:1.25}
.cmpx-camp-cell span,.cmpx-budget-cell span,.cmpx-result-cell span,.cmpx-signal span,.cmpx-diagnosis span{font-size:11px;color:var(--text-muted);line-height:1.35}
.cmpx-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-subtle)}
.cmpx-pill.is-good{background:color-mix(in srgb,var(--success-soft) 70%, #fff 30%);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.cmpx-pill.is-warn{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.cmpx-pill.is-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}
.cmpx-next{align-items:flex-start}
.cmpx-details-btn{background:none;border:none;padding:0;color:var(--accent);font-size:11px;cursor:pointer}
.cmpx-row-detail td{background:color-mix(in srgb,var(--bg-surface-2) 75%, #fff 25%)}
.cmpx-detail-box{display:grid;gap:7px}
.cmpx-detail-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cmpx-detail-head span{font-size:11px;color:var(--text-muted)}
.cmpx-detail-box p{margin:0;font-size:12px;color:var(--text-secondary)}
.cmpx-nores{text-align:center;color:var(--text-muted);font-size:12px;padding:20px}

.cmpx-diagnostic{padding:12px;border:1px solid color-mix(in srgb,var(--accent-line) 24%, var(--line-subtle))}
.cmpx-diagnostic h2{margin:0 0 8px;font-size:17px}
.cmpx-diagnostic ul{margin:0;padding-left:18px;display:grid;gap:5px}
.cmpx-diagnostic li{font-size:12px;color:var(--text-secondary)}
.cmpx-diagnostic li:first-child{font-weight:600;color:var(--text-primary)}

.cmpx-empty,.cmpx-lowsignal{padding:12px}
.cmpx-empty h2,.cmpx-lowsignal h3{margin:0 0 8px}
.cmpx-empty p,.cmpx-lowsignal p{margin:0 0 8px;font-size:12px;color:var(--text-secondary)}
.cmpx-empty ol{margin:0 0 10px;padding-left:18px;display:grid;gap:3px}
.cmpx-empty li{font-size:12px;color:var(--text-secondary)}

@media (max-width:1180px){
  .cmpx-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cmpx-trust-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cmpx-toolbar{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .cmpx-shell{padding-bottom:112px}
  .cmpx-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmpx-trust-strip{grid-template-columns:1fr}
  .cmpx-toolbar{grid-template-columns:1fr}
  .cmpx-table{min-width:920px}
  .cmpx-cta-row .btn{padding-inline:10px}
  .cmpx-detail-head{flex-direction:column;align-items:flex-start}
}

/* Campaigns V2.1 */
.cmpx2-shell{display:grid;gap:10px;padding-bottom:96px}
.cmpx2-hero{
  display:grid;grid-template-columns:minmax(0,1.24fr) minmax(260px,.86fr);gap:16px;padding:16px;border-radius:14px;
  position:relative;overflow:hidden;
  border:1px solid rgba(6,182,212,.22);
  background:
    linear-gradient(160deg,rgba(6,182,212,.22) 0%,rgba(14,165,233,.10) 35%,transparent 65%),
    radial-gradient(ellipse 75% 150% at 0% 0%,rgba(6,182,212,.26) 0%,transparent 58%),
    radial-gradient(ellipse 40% 80% at 100% 100%,rgba(14,165,233,.08) 0%,transparent 55%),
    #0d1120;
  box-shadow:0 8px 24px rgba(6,182,212,.14);
  color:#f1f5f9;
}
.cmpx2-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#06b6d4,#0ea5e9 45%,transparent 80%);pointer-events:none}
.cmpx2-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#67e8f9;font-weight:700}
.cmpx2-hero h1{margin:4px 0 6px;font-size:clamp(24px,2.3vw,32px);line-height:1.14;letter-spacing:-.015em;color:#f1f5f9}
.cmpx2-scope{margin:0;font-size:13px;color:#a5d8e6;font-weight:500}
.cmpx2-trust-line{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px 12px;font-size:11px;color:#7db8c8;border-top:1px solid rgba(6,182,212,.18);padding-top:8px}
.cmpx2-trust-line span{display:inline-flex;gap:4px}
.cmpx2-trust-line em{font-style:normal;color:#8ecad8}
.cmpx2-trust-line strong{color:#e0f7fb}
.cmpx2-hero-kpis{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;
}
.cmpx2-hero-kpi{
  padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(6,182,212,.20);
  border-top:2px solid rgba(6,182,212,.40);
  display:grid;gap:3px;min-height:62px;
}
.cmpx2-hero-kpi span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#67e8f9}
.cmpx2-hero-kpi strong{font-size:16px;color:#f1f5f9;font-variant-numeric:tabular-nums;line-height:1.1}

.cmpx2-toolbar{padding:9px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.cmpx2-input,.cmpx2-select{height:36px;border:1px solid var(--line-subtle);border-radius:9px;background:var(--bg-surface);padding:0 10px;color:var(--text-primary);font-size:13px}

.cmpx2-state{padding:12px;border:1px solid color-mix(in srgb,var(--line-subtle) 84%,transparent);border-radius:12px;background:var(--bg-surface)}
.cmpx2-state h3{margin:0 0 6px;font-size:15px}
.cmpx2-state p{margin:0;font-size:13px;color:var(--text-secondary)}

.cmpx2-table-wrap{overflow:hidden}
.cmpx2-table-scroll{overflow:auto}
.cmpx2-table{width:100%;border-collapse:separate;border-spacing:0}
.cmpx2-table thead th{position:sticky;top:0;z-index:2;text-align:left;padding:10px;border-bottom:1px solid var(--line-subtle);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-surface-2)}
.cmpx2-table tbody td{padding:9px 10px;border-bottom:1px solid var(--line-subtle);font-size:12px;color:var(--text-secondary);vertical-align:top}
.cmpx2-row:hover td{background:color-mix(in srgb,var(--bg-surface-2) 72%, transparent)}
.cmpx2-row:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-line) 55%, transparent);outline-offset:-2px}
.cmpx2-row strong{font-size:13px;color:var(--text-primary)}
.cmpx2-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;border:1px solid var(--line-subtle);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.cmpx2-pill.is-evaluable,.cmpx2-pill.is-evaluatable{background:color-mix(in srgb,var(--success-soft) 74%, #fff 26%);color:var(--success)}
.cmpx2-pill.is-risk,.cmpx2-pill.is-low_signal{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning)}
.cmpx2-pill.is-no_data,.cmpx2-pill.is-error{background:var(--bg-surface-3);color:var(--text-secondary)}
.cmpx2-empty-inline{margin:8px 0 0;font-size:12px;color:var(--text-muted)}

.cmpx2-drawer-backdrop{position:fixed;inset:0;display:flex;justify-content:flex-end;background:rgba(15,23,42,.42);z-index:1200}
.cmpx2-drawer{width:min(560px,94vw);height:100%;overflow:auto;background:#fff;padding:16px 16px 22px;box-shadow:-12px 0 34px rgba(2,6,23,.16)}
.cmpx2-drawer-close{position:sticky;top:0;float:right;border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#64748b}
.cmpx2-drawer h3{margin:0;font-size:22px;line-height:1.15;word-break:break-word;overflow-wrap:anywhere;padding-right:36px}
.cmpx2-drawer-meta{margin:4px 0 10px;font-size:13px;color:#64748b}
.cmpx2-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cmpx2-drawer-grid>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.cmpx2-drawer-grid span{font-size:11px;color:var(--text-muted)}
.cmpx2-drawer-grid strong{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}
.cmpx2-drawer-sec{margin-top:10px}
.cmpx2-drawer-sec h4{margin:0 0 6px;font-size:14px}
.cmpx2-drawer-sec p{margin:0;font-size:13px;color:var(--text-secondary)}
.cmpx2-drawer-actions{display:flex;gap:8px;flex-wrap:wrap}
.cmpx2-drawer-actions button{padding:8px 12px;border-radius:8px;border:1px solid var(--line-subtle);background:var(--bg-surface);font-size:12px;cursor:pointer}

.cmpx2-insights{
  padding:14px;border:1px solid #d4def0;border-radius:12px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.cmpx2-insights h2{margin:0 0 10px;font-size:18px;color:#0f3c39}
.cmpx2-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cmpx2-insight-card{padding:12px;border:1px solid var(--line-subtle);border-radius:10px;background:#fff;display:grid;gap:6px}
.cmpx2-insight-card.is-top{border-left:3px solid #10b981}
.cmpx2-insight-card.is-risk{border-left:3px solid #f59e0b}
.cmpx2-insight-card.is-next{border-left:3px solid #1a5c8a}
.cmpx2-insight-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700}
.cmpx2-insight-meta{font-size:12px;color:var(--text-secondary);line-height:1.5}
.cmpx2-insight-link{border:none;background:none;padding:0;font-size:12px;color:var(--accent);cursor:pointer;text-align:left}

@media (max-width:1080px){
  .cmpx2-hero{grid-template-columns:1fr}
  .cmpx2-hero-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cmpx2-insight-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .cmpx2-shell{padding-bottom:112px}
  .cmpx2-toolbar{grid-template-columns:1fr}
  .cmpx2-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmpx2-table{min-width:880px}
  .cmpx2-drawer-grid{grid-template-columns:1fr}
  .cmpx2-drawer{width:100vw;padding:16px 14px 22px}
  .cmpx2-drawer h3{font-size:17px}
  .cmpx2-insight-grid{grid-template-columns:1fr}
}

/* Creative Library V6 — module-scoped rebuild (clx22 only) */
.clx22-shell{display:grid;gap:16px;padding-bottom:96px}
.clx22-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:12px;padding:16px;border-radius:14px;background:linear-gradient(160deg,#0f1728,#0b1120);border:1px solid rgba(148,163,184,.25)}
.clx22-eyebrow{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9fb0c8}
.clx22-hero h1{margin:2px 0 0;font-size:clamp(24px,2vw,30px);line-height:1.12;color:#eef4ff}
.clx22-subline{margin:4px 0 0;color:#b5c3d8;font-size:13px}
.clx22-scope{margin:6px 0 0;color:#9eb0ca;font-size:12px}
.clx22-trust.os-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.clx22-trust.os-metrics article,.clx22-hero-right article{display:grid;gap:2px;padding:8px 10px;border-radius:10px;background:rgba(10,17,32,.58);border:1px solid rgba(148,163,184,.2)}
.clx22-trust.os-metrics span,.clx22-hero-right span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8fa3be}
.clx22-trust.os-metrics strong,.clx22-hero-right strong{font-size:14px;color:#ecf2ff}
.clx22-hero-right{display:grid;gap:8px;align-content:start}

.clx22-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto auto;gap:10px;padding:10px;border-radius:12px;background:#f9fbff;border:1px solid #e3eaf2}
.clx22-field{display:grid;gap:6px}
.clx22-field>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#70829d}
.clx22-input,.clx22-select{height:38px;border-radius:9px;border:1px solid #dbe4ef;background:#fff;color:#102038;padding:0 10px}
.clx22-toggle{height:38px;border:1px solid #dbe4ef;border-radius:9px;display:grid;grid-template-columns:1fr 1fr;background:#fff;padding:3px}
.clx22-toggle button{border:0;background:transparent;border-radius:6px;color:#5f7390;cursor:pointer}
.clx22-toggle button.is-active{background:#eef4fb;color:#102038}
.clx22-density-control{height:38px;border:1px solid #dbe4ef;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.clx22-density-control button{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:#213654}
.clx22-density-control span{font-size:12px;text-transform:capitalize;color:#5f7390}

.clx22-state,.clx22-empty-inline{padding:14px 16px;border-radius:12px;border:1px dashed #d9e3ee;background:#f7faff;color:#5a6f8c}
.clx22-state h3{margin:0 0 6px;font-size:16px;color:#102038}
.clx22-state p{margin:0;font-size:13px}

.clx22-grid{display:grid;gap:14px}
.clx22-grid--comfort{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}
.clx22-grid--balanced{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.clx22-grid--dense{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.clx22-grid--analyst{grid-template-columns:repeat(auto-fill,minmax(246px,1fr))}

.clx22-card{display:grid;grid-template-rows:auto 1fr;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e2e9f2;box-shadow:0 6px 24px rgba(16,32,56,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer}
.clx22-card:hover{transform:translateY(-2px);border-color:#c8d5e6;box-shadow:0 14px 32px rgba(16,32,56,.14)}
.clx22-preview{position:relative;aspect-ratio:16/9;background:#f2f4f7;overflow:hidden}
.clx22-preview::after{content:'';position:absolute;inset:auto 0 0 0;height:44%;background:linear-gradient(to top,rgba(4,8,16,.42),transparent);pointer-events:none}
.clx22-preview img,.clx22-preview video{width:100%;height:100%;display:block}
.clx22-preview--cover img,.clx22-preview--cover video{object-fit:cover}
.clx22-preview--contain img,.clx22-preview--contain video{object-fit:contain;background:#f2f4f7}
.clx22-preview--lowres img,.clx22-preview--lowres video{
  width:132px;
  height:74px;
  margin:0;
  object-fit:contain;
  border-radius:7px;
  background:#ffffff;
  border:1px solid #d7dde6;
  box-shadow:0 3px 10px rgba(16,24,40,.10);
}
.clx22-preview--lowres::after{
  display:none;
}
.clx22-preview--lowres{
  aspect-ratio:auto;
  height:86px;
  padding:6px 8px;
  background:transparent;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
}
.clx22-preview--empty{display:grid;place-items:center;padding:14px;text-align:center;color:#aab8cc}
.clx22-preview-icon{font-size:11px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px}
.clx22-play{position:absolute;right:10px;bottom:10px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:rgba(5,10,20,.58);color:#dce7f6}

.clx22-card-body{display:grid;gap:10px;padding:14px}
.clx22-meta-layer{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6a7d99}
.clx22-card h3{margin:0;font-size:16px;line-height:1.3;color:#0f1f35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.clx22-context{display:grid;gap:6px;padding-top:2px}
.clx22-context span{display:flex;gap:7px;align-items:baseline;font-size:12px;color:#5d708c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clx22-context b{flex:0 0 56px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8ea0b9}
.clx22-kpi-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:4px}
.clx22-kpi-inline span{display:grid;gap:2px;min-width:0;padding:8px 9px;border-radius:10px;background:#f7fafe;border:1px solid #e3ebf4}
.clx22-kpi-inline label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7b8ea8}
.clx22-kpi-inline strong{font-size:14px;color:#102038;font-variant-numeric:tabular-nums}
.clx22-kpi-inline small{font-size:10px;color:#8ea0b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.clx22-list{display:grid;gap:10px}
.clx22-list-row{display:grid;grid-template-columns:112px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr);gap:14px;align-items:center;padding:12px;border-radius:14px;background:#fff;border:1px solid #e3eaf2;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.clx22-list-row:hover{background:#fbfdff;border-color:#d3deeb;box-shadow:0 8px 20px rgba(16,32,56,.08)}
.clx22-list-thumb{width:112px;height:63px;border-radius:9px;overflow:hidden}
.clx22-list-thumb .clx22-preview{width:112px;height:63px;aspect-ratio:auto}
.clx22-list-main h3{margin:0;font-size:15px;line-height:1.3;color:#102038}
.clx22-list-main p{margin:5px 0 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7488a5}
.clx22-list-context{display:grid;gap:2px}
.clx22-list-context span{display:flex;gap:7px;font-size:12px;color:#5c708b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clx22-list-context b{flex:0 0 56px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8ea0b9}
.clx22-list-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.clx22-list-kpis span{display:grid;gap:1px;justify-self:end;text-align:right}
.clx22-list-kpis label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7f92ab}
.clx22-list-kpis strong{font-size:13px;color:#102038;font-variant-numeric:tabular-nums}

.clx22-drawer-backdrop{position:fixed;inset:0;background:rgba(8,14,26,.56);backdrop-filter:blur(2px);display:flex;justify-content:flex-end;z-index:90}
.clx22-drawer{position:relative;width:min(780px,100vw);height:100%;overflow:auto;padding:22px 22px 30px;background:#fff;border-left:1px solid #dce5ef;display:grid;gap:14px}
.clx22-drawer-close{position:absolute;top:10px;right:10px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#5f7290}
.clx22-drawer h3{margin:0;padding-right:28px;font-size:24px;line-height:1.18;color:#102038}
.clx22-drawer-meta{margin:0;font-size:12px;color:#607590}
.clx22-drawer-preview .clx22-preview{border-radius:12px}
.clx22-drawer-preview img,.clx22-drawer-preview video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:#f2f4f7;border:1px solid #dce5ef}
.clx22-drawer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.clx22-drawer-grid--flat>div{display:grid;gap:3px;padding:10px;border-radius:10px;background:#f7faff;border:1px solid #e2eaf3}
.clx22-drawer-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7d90aa}
.clx22-drawer-grid strong{font-size:13px;color:#102038;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.clx22-drawer-sec h4{margin:0 0 6px;font-size:14px;color:#102038}
.clx22-actions{display:flex;gap:16px;flex-wrap:wrap}
.clx22-actions--flat button{border:0;background:transparent;padding:0;color:#1e4c86;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

@media (max-width:1180px){
  .clx22-toolbar{grid-template-columns:1fr 1fr 1fr 1fr}
}
@media (max-width:940px){
  .clx22-hero{grid-template-columns:1fr}
  .clx22-trust.os-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clx22-toolbar{grid-template-columns:1fr}
  .clx22-list-row{grid-template-columns:96px minmax(0,1fr)}
  .clx22-list-thumb,.clx22-list-thumb .clx22-preview{width:96px;height:54px}
  .clx22-list-context,.clx22-list-kpis{grid-column:1/-1}
  .clx22-list-kpis span{justify-self:start}
  .clx22-kpi-inline{grid-template-columns:1fr}
  .clx22-drawer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .clx22-shell{padding-bottom:112px}
  .clx22-grid--comfort,.clx22-grid--balanced,.clx22-grid--dense,.clx22-grid--analyst{grid-template-columns:1fr}
  .clx22-trust.os-metrics{grid-template-columns:1fr}
  .clx22-drawer{width:100vw;padding:16px}
  .clx22-drawer-grid{grid-template-columns:1fr}
}


/* Sensei rebuild v6 */
.slx-shell{display:grid;gap:10px;padding-bottom:96px}
.slx-hero{padding:12px 14px;display:grid;gap:6px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2));border:1px solid var(--line-subtle)}
.slx-eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.slx-hero h1{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.16;letter-spacing:-.015em}
.slx-sub{margin:0;color:var(--text-secondary);font-size:13px}
.slx-micro{margin:2px 0 0;color:var(--text-muted);font-size:11px;opacity:.88}
.slx-scope{margin:2px 0 0;color:var(--text-muted);font-size:11px}
.slx-cta-row{display:flex;gap:8px;flex-wrap:wrap}

.slx-top-grid,.slx-mid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.slx-panel{padding:12px}
.slx-panel header h2{margin:0;font-size:17px}
.slx-panel header p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}
.slx-summary{margin:10px 0 8px;font-size:13px;color:var(--text-primary);line-height:1.5}

.slx-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.slx-summary-grid>div,.slx-unified>div,.slx-proj-card{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.slx-summary-grid span,.slx-unified span,.slx-proj-card span{font-size:11px;color:var(--text-muted)}
.slx-summary-grid strong,.slx-unified strong,.slx-proj-card strong{font-size:15px;color:var(--text-primary);font-variant-numeric:tabular-nums}
.slx-proj-card em{font-style:normal;font-size:11px;color:var(--text-secondary)}

.slx-diag-list,.slx-impact-list{display:grid;gap:8px;margin-top:10px}
.slx-diag-item,.slx-impact-item{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:4px}
.slx-diag-item strong,.slx-impact-item strong{font-size:13px;color:var(--text-primary)}
.slx-diag-item p,.slx-impact-item p{margin:0;font-size:12px;color:var(--text-secondary)}
.slx-impact-item .slx-sub{font-size:11px;color:var(--text-muted)}

.slx-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-subtle)}
.slx-pill.is-good{background:color-mix(in srgb,var(--success-soft) 70%, #fff 30%);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.slx-pill.is-warn{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.slx-pill.is-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}

.slx-nextpoint{margin:10px 0 0;font-size:12px;color:var(--text-secondary)}
.slx-proj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.slx-unified{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.slx-empty{margin:10px 0 0;font-size:12px;color:var(--text-muted)}

@media (max-width:1180px){
  .slx-summary-grid,.slx-unified{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .slx-top-grid,.slx-mid-grid{grid-template-columns:1fr}
  .slx-proj-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .slx-shell{padding-bottom:112px}
  .slx-summary-grid,.slx-unified{grid-template-columns:1fr}
  .slx-cta-row .btn{padding-inline:10px}
}

/* Reports rebuild v5 */
.rpx-shell{display:grid;gap:10px;padding-bottom:96px}
.rpx-hero{padding:12px 14px;display:grid;gap:6px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2));border:1px solid var(--line-subtle)}
.rpx-eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.rpx-hero h1{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.16;letter-spacing:-.015em}
.rpx-sub{margin:0;color:var(--text-secondary);font-size:13px}
.rpx-micro{margin:2px 0 0;color:var(--text-muted);font-size:11px;opacity:.88}
.rpx-cta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.rpx-readiness-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:8px 10px;background:var(--bg-surface-2)}
.rpx-readiness-strip>div{display:grid;gap:2px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--line-subtle) 85%, transparent);border-radius:9px;background:var(--bg-surface)}
.rpx-readiness-strip span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.rpx-readiness-strip strong{font-size:13px;color:var(--text-primary)}
.rpx-readiness-strip em{font-style:normal;font-size:10px;color:var(--text-muted)}

.rpx-grid-top,.rpx-grid-mid,.rpx-grid-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rpx-panel{padding:12px}
.rpx-panel header h2{margin:0;font-size:17px}
.rpx-panel header p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}
.rpx-summary{margin:10px 0 8px;font-size:13px;color:var(--text-primary);line-height:1.5}
.rpx-summary-sub{margin:6px 0 0;font-size:12px;color:var(--text-secondary)}

.rpx-kpi-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.rpx-kpi-card{border:1px solid var(--line-subtle);background:var(--bg-surface);border-radius:12px;padding:10px;display:grid;gap:3px;min-height:108px}
.rpx-kpi-card>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.rpx-kpi-card>strong{font-size:20px;line-height:1.08;color:var(--text-primary);font-variant-numeric:tabular-nums}
.rpx-kpi-card>em{font-style:normal;font-size:10px;color:var(--text-secondary)}
.rpx-kpi-card>p{margin:1px 0 0;font-size:10px;color:var(--text-muted)}
.rpx-kpi-card>small{font-size:10px;color:var(--accent)}

.rpx-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-subtle)}
.rpx-pill.is-good{background:color-mix(in srgb,var(--success-soft) 70%, #fff 30%);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.rpx-pill.is-warn{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.rpx-pill.is-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}

.rpx-timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.rpx-timeline-item,.rpx-heat-cell{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:3px}
.rpx-timeline-item span,.rpx-heat-cell span{font-size:11px;color:var(--text-muted)}
.rpx-timeline-item strong,.rpx-heat-cell strong{font-size:14px;color:var(--text-primary)}
.rpx-timeline-item p{margin:0;font-size:11px;color:var(--text-secondary)}

.rpx-heat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}

.rpx-table-wrap{padding:12px}
.rpx-table-scroll{overflow:auto;margin-top:10px}
.rpx-table{width:100%;border-collapse:separate;border-spacing:0}
.rpx-table thead th{position:sticky;top:0;background:var(--bg-surface-2);z-index:2;text-align:left;padding:10px;border-bottom:1px solid var(--line-subtle);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.rpx-table tbody td{padding:9px 10px;vertical-align:top;border-bottom:1px solid var(--line-subtle);font-size:12px;color:var(--text-secondary)}
.rpx-table tbody tr:hover td{background:color-mix(in srgb,var(--bg-surface-2) 72%, transparent)}

.rpx-risk-list,.rpx-next-list{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}
.rpx-risk-list li,.rpx-next-list li{font-size:12px;color:var(--text-secondary)}
.rpx-risk-list li:first-child,.rpx-next-list li:first-child{color:var(--text-primary)}

.rpx-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.rpx-export-grid>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:3px}
.rpx-export-grid span{font-size:11px;color:var(--text-muted)}
.rpx-export-grid strong{font-size:13px;color:var(--text-primary)}
.rpx-export-note{margin:10px 0 0;font-size:12px;color:var(--text-secondary)}
.rpx-export-tech{font-size:11px;color:var(--text-muted)}
.rpx-empty{margin:10px 0 0;font-size:12px;color:var(--text-muted)}

@media (max-width:1180px){
  .rpx-readiness-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rpx-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rpx-heat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .rpx-grid-top,.rpx-grid-mid,.rpx-grid-bottom{grid-template-columns:1fr}
  .rpx-timeline-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .rpx-shell{padding-bottom:112px}
  .rpx-readiness-strip{grid-template-columns:1fr}
  .rpx-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rpx-heat-grid,.rpx-export-grid{grid-template-columns:1fr}
  .rpx-table{min-width:980px}
  .rpx-cta-row .btn{padding-inline:10px}
}

/* Reports v7 */
.rpx2-shell{display:grid;gap:10px;padding-bottom:96px}
.rpx2-hero{
  display:grid;grid-template-columns:minmax(0,1.24fr) minmax(260px,.86fr);gap:16px;padding:16px;
  position:relative;overflow:hidden;
  border:1px solid rgba(16,185,129,.22);border-radius:14px;
  background:
    linear-gradient(160deg,rgba(16,185,129,.20) 0%,rgba(5,150,105,.10) 35%,transparent 65%),
    radial-gradient(ellipse 75% 150% at 0% 0%,rgba(16,185,129,.24) 0%,transparent 58%),
    radial-gradient(ellipse 40% 80% at 100% 100%,rgba(52,211,153,.08) 0%,transparent 55%),
    #0b1120;
  box-shadow:0 8px 26px rgba(16,185,129,.12);
  color:#f1f5f9;
}
.rpx2-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#10b981,#34d399 45%,transparent 80%);pointer-events:none}
.rpx2-eyebrow{margin:0;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#6ee7b7;font-weight:700}
.rpx2-hero h1{margin:3px 0 6px;font-size:clamp(24px,2.3vw,32px);line-height:1.14;letter-spacing:-.015em;color:#f1f5f9}
.rpx2-scope{margin:0;font-size:13px;color:#6ee7b7;font-weight:500}
.rpx2-sub{margin:6px 0 0;color:#a7c9b8;font-size:13px}
.rpx2-trust-line{
  margin-top:10px;padding-top:8px;border-top:1px solid rgba(16,185,129,.18);
  display:flex;flex-wrap:wrap;gap:8px 12px;font-size:11px;color:#86b9a6
}
.rpx2-trust-line span{display:inline-flex;gap:4px}
.rpx2-trust-line em{font-style:normal;color:#99c4b0}
.rpx2-trust-line strong{color:#d1fae5}
.rpx2-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}
.rpx2-hero-kpi{
  padding:9px 10px;border:1px solid rgba(16,185,129,.20);border-radius:10px;
  border-top:2px solid rgba(16,185,129,.45);
  background:rgba(255,255,255,.06);display:grid;gap:3px;min-height:62px
}
.rpx2-hero-kpi span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6ee7b7}
.rpx2-hero-kpi strong{font-size:16px;color:#f1f5f9;font-variant-numeric:tabular-nums;line-height:1.1}
.rpx2-hero-kpi em{font-style:normal;font-size:10px;color:#86c4ad}

.rpx2-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:9px;border-radius:12px}
.rpx2-tab{height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line-subtle);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;cursor:pointer;min-width:0}
.rpx2-tab:hover{border-color:color-mix(in srgb,var(--accent-line) 45%, var(--line-subtle));color:var(--text-primary)}
.rpx2-tab.is-active{background:color-mix(in srgb,var(--accent-soft) 50%, #fff 50%);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent-line) 58%, var(--line-subtle))}
.rpx2-tab:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-line) 58%, transparent);outline-offset:1px}

.rpx2-state{padding:12px;display:grid;gap:8px}
.rpx2-state h2{margin:0;font-size:16px}
.rpx2-state p{margin:0;font-size:13px;color:var(--text-secondary)}
.rpx2-state-actions{display:flex;gap:8px;flex-wrap:wrap}

.rpx2-tab-panel{display:grid;gap:10px}
.rpx2-panel{padding:12px}
.rpx2-panel header h2{margin:0;font-size:17px}
.rpx2-panel p{margin:8px 0 0;font-size:13px;color:var(--text-secondary)}

.rpx2-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.rpx2-kpi{padding:10px;display:grid;gap:3px}
.rpx2-kpi span{font-size:11px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}
.rpx2-kpi strong{font-size:19px;color:var(--text-primary);font-variant-numeric:tabular-nums}
.rpx2-kpi p{margin:1px 0 0;font-size:11px;color:var(--text-secondary)}

.rpx2-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.rpx2-mini-grid>div{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.rpx2-mini-grid span{font-size:11px;color:var(--text-muted)}
.rpx2-mini-grid strong{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}

.rpx2-table-scroll{overflow:auto;margin-top:10px}
.rpx2-table{width:100%;border-collapse:separate;border-spacing:0}
.rpx2-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-surface-2);text-align:left;padding:10px;border-bottom:1px solid var(--line-subtle);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.rpx2-table tbody td{padding:9px 10px;border-bottom:1px solid var(--line-subtle);font-size:12px;color:var(--text-secondary)}
.rpx2-table tbody tr:hover td{background:color-mix(in srgb,var(--bg-surface-2) 72%, transparent)}
.rpx2-empty-inline{margin:10px 0 0;color:var(--text-muted);font-size:12px}

.rpx2-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;border:1px solid var(--line-subtle);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.rpx2-pill.is-ok{background:color-mix(in srgb,var(--success-soft) 74%, #fff 26%);color:var(--success);border-color:color-mix(in srgb,var(--success) 20%, transparent)}
.rpx2-pill.is-low_signal{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 20%, transparent)}
.rpx2-pill.is-no_data,.rpx2-pill.is-error{background:var(--bg-surface-3);color:var(--text-secondary)}

.rpx2-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.rpx2-time-item,.rpx2-heat-cell{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:3px}
.rpx2-time-item span,.rpx2-heat-cell span{font-size:11px;color:var(--text-muted)}
.rpx2-time-item strong,.rpx2-heat-cell strong{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}
.rpx2-time-item em{font-style:normal;font-size:11px;color:var(--text-secondary)}
.rpx2-heat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}

.rpx2-export-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.rpx2-note{margin:10px 0 0;font-size:12px;color:var(--text-secondary)}
/* rpx2 table enhancements */
.rpx2-name{font-weight:600;color:var(--text-primary);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rpx2-num{text-align:right;font-variant-numeric:tabular-nums}
.rpx2-num--pos{color:#22c55e;font-weight:700}
.rpx2-num--neg{color:#ef4444}
.rpx2-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;border-radius:10px;background:rgba(255,255,255,.08);font-size:11px;font-weight:600;color:var(--text-muted);margin-left:6px}
.rpx2-status{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(255,255,255,.06);color:var(--text-muted)}
.rpx2-status--active{background:rgba(34,197,94,.12);color:#22c55e}
.rpx2-status--paused{background:rgba(100,116,139,.10);color:#64748b}
/* rpx2 export center enhancements */
.rpx2-export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:16px 0}
.rpx2-export-block{padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;display:flex;flex-direction:column;gap:7px}
.rpx2-export-block-title{font-size:13px;font-weight:700;color:var(--text-primary)}
.rpx2-export-block-count{font-size:11px;color:var(--text-muted)}
.rpx2-export-block-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.rpx2-export-desc{font-size:13px;color:var(--text-secondary);margin:0 0 14px;line-height:1.5}
.rpx2-export-hint{font-size:11px;color:var(--text-muted);margin:0}
.rpx2-export-hint code{font-family:'JetBrains Mono',monospace;font-size:10px;background:rgba(255,255,255,.05);padding:2px 6px;border-radius:4px}
.rpx2-export-status{margin-bottom:14px}
.rpx2-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600}
.rpx2-badge--ok{background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.25)}
.rpx2-badge--warn{background:rgba(245,158,11,.10);color:#f59e0b;border:1px solid rgba(245,158,11,.22)}
.rpx2-badge--off{background:rgba(255,255,255,.05);color:#64748b;border:1px solid rgba(255,255,255,.08)}

@media (max-width:1180px){
  .rpx2-hero{grid-template-columns:1fr}
  .rpx2-hero-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rpx2-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rpx2-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rpx2-heat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .rpx2-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rpx2-time-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .rpx2-shell{padding-bottom:112px}
  .rpx2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rpx2-mini-grid,.rpx2-heat-grid{grid-template-columns:1fr}
  .rpx2-table{min-width:920px}
}

/* Reports so-rptx-* interactive styles */
.so-rptx-content{padding:20px 0}
.so-rptx-topbar{gap:0;border-bottom:1px solid var(--line-subtle,rgba(255,255,255,.09))}
.so-rptx-filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.so-rptx-filter-pills{display:flex;gap:6px;flex-wrap:wrap}
.so-rptx-filter-pill{padding:4px 12px;border-radius:20px;border:1px solid var(--line-subtle);background:transparent;font-size:12px;cursor:pointer;color:var(--text-secondary)}
.so-rptx-filter-pill.is-active{background:#10b981;color:#fff;border-color:#10b981}
.so-rptx-search{padding:5px 10px;border-radius:6px;border:1px solid var(--line-subtle);background:var(--bg-surface);font-size:13px;width:220px;color:inherit}
.so-rptx-view{padding:0}
.so-rptx-table{width:100%}
.so-rptx-row:hover{background:var(--bg-surface-2,rgba(255,255,255,.03))}
.so-rptx-th-active{color:#10b981}
.so-rptx-pager{display:flex;align-items:center;gap:8px;justify-content:center;padding:12px 0 4px;font-size:13px}
.so-rptx-pg-btn{padding:4px 10px;border-radius:6px;border:1px solid var(--line-subtle);background:transparent;cursor:pointer;font-size:13px;color:inherit}
.so-rptx-pg-btn:disabled{background:var(--bg-surface-2);color:var(--text-muted);cursor:default}
.so-rptx-reset-btn{margin-top:12px;padding:8px 16px;border-radius:8px;border:1px solid var(--line-subtle);background:transparent;cursor:pointer;font-size:13px;color:inherit}
.so-rptx-metric-btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.so-rptx-metric-btn{padding:5px 14px;border-radius:20px;border:1px solid var(--line-subtle);background:transparent;font-size:12px;cursor:pointer;color:var(--text-secondary)}
.so-rptx-metric-btn.is-active{background:#10b981;color:#fff;border-color:#10b981}
.so-rptx-chart{overflow:hidden}
.so-rptx-chart-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px}
.so-rptx-bars{display:flex;align-items:flex-end;gap:4px;height:160px;overflow-x:auto;padding-bottom:4px}
.so-rptx-bar-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:32px;flex:1}
.so-rptx-bar-track{flex:1;width:100%;background:var(--line-subtle);border-radius:4px 4px 0 0;display:flex;align-items:flex-end;overflow:hidden}
.so-rptx-bar-fill{width:100%;background:#10b981;border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}
.so-rptx-bar-label{font-size:9px;color:var(--text-muted);text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:48px}
.so-rptx-stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.so-rptx-stat{padding:10px 14px;border-radius:8px;background:var(--bg-surface-2,rgba(255,255,255,.04))}
.so-rptx-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
.so-rptx-stat strong{display:block;font-size:18px;font-weight:700;margin:4px 0 2px}
.so-rptx-stat p{font-size:11px;color:var(--text-muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.so-rptx-hm-wrap{overflow-x:auto}
.so-rptx-hm-head{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px}
.so-rptx-hm-head span{font-size:10px;text-align:center;color:var(--text-muted)}
.so-rptx-hm-grid{display:flex;flex-direction:column;gap:3px}
.so-rptx-hm-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.so-rptx-hm-cell{height:20px;border-radius:3px}
.so-rptx-cell--empty{background:var(--line-subtle)}
.so-rptx-cell--poor{background:#ef4444}
.so-rptx-cell--fair{background:#f59e0b}
.so-rptx-cell--good{background:#10b981}
.so-rptx-cell--excellent{background:#10b981}
.so-rptx-hm-legend{display:flex;align-items:center;gap:6px;margin-top:10px;flex-wrap:wrap}
.so-rptx-hm-legend span{display:inline-block;width:12px;height:12px;border-radius:2px}
.so-rptx-hm-legend em{font-size:11px;font-style:normal;color:var(--text-muted);margin-right:8px}
.so-rptx-plat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.so-rptx-plat-cell{padding:14px 16px;border-radius:8px;border-left:3px solid transparent}
.so-rptx-plat-cell.so-rptx-cell--poor{border-left-color:#ef4444;background:rgba(239,68,68,.07)}
.so-rptx-plat-cell.so-rptx-cell--fair{border-left-color:#f59e0b;background:rgba(245,158,11,.07)}
.so-rptx-plat-cell.so-rptx-cell--good{border-left-color:#10b981;background:rgba(16,185,129,.07)}
.so-rptx-plat-cell.so-rptx-cell--excellent{border-left-color:#10b981;background:rgba(16,185,129,.12)}
.so-rptx-plat-cell.so-rptx-cell--empty{border-left-color:var(--line-subtle);background:var(--bg-surface-2,rgba(255,255,255,.04))}
.so-rptx-plat-cell strong{display:block;font-size:13px;font-weight:600;margin-bottom:4px}
.so-rptx-plat-cell span{display:block;font-size:16px;font-weight:700}
.so-rptx-plat-cell small{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}
.so-rptx-export-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:16px}
.so-rptx-export-block{padding:16px;border-radius:8px;background:var(--bg-surface-2,rgba(255,255,255,.04));border:1px solid var(--line-subtle)}
.so-rptx-export-block h3{font-size:14px;font-weight:600;margin:0 0 6px}
.so-rptx-export-block p{font-size:12px;color:var(--text-muted);margin:0 0 12px}
.so-rptx-export-btn{padding:8px 16px;border-radius:8px;border:1px solid #10b981;background:transparent;color:#10b981;font-size:13px;cursor:pointer;width:100%;font-weight:500}
.so-rptx-export-btn:hover:not(:disabled){background:#10b981;color:#fff}
.so-rptx-export-btn.is-disabled,.so-rptx-export-btn:disabled{background:var(--bg-surface-2);border-color:var(--line-subtle);color:var(--text-muted);cursor:not-allowed}
.so-rptx-export-hint{margin-top:16px;padding:10px 14px;border-radius:8px;background:var(--bg-surface-2,rgba(255,255,255,.04));font-size:12px;color:var(--text-muted);line-height:1.5}
@media(max-width:700px){.so-rptx-stat-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.so-rptx-export-grid{grid-template-columns:1fr}}

/* Testing rebuild v5 */
.tpx-shell{display:grid;gap:10px;padding-bottom:96px}
.tpx-hero{padding:12px 14px;display:grid;gap:6px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2));border:1px solid var(--line-subtle)}
.tpx-eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.tpx-hero h1{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.16;letter-spacing:-.015em}
.tpx-sub{margin:0;color:var(--text-secondary);font-size:13px}
.tpx-micro{margin:2px 0 0;color:var(--text-muted);font-size:11px;opacity:.88}
.tpx-scope{margin:2px 0 0;color:var(--text-muted);font-size:11px}
.tpx-cta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.tpx-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tpx-panel{padding:12px}
.tpx-head h2{margin:0;font-size:17px}
.tpx-head p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}

.tpx-snap-grid,.tpx-delta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.tpx-snap-grid>div,.tpx-delta-grid>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.tpx-snap-grid span,.tpx-delta-grid span{font-size:11px;color:var(--text-muted)}
.tpx-snap-grid strong,.tpx-delta-grid strong{font-size:15px;color:var(--text-primary);font-variant-numeric:tabular-nums}
.tpx-snap-grid em{font-style:normal;font-size:10px;color:var(--text-secondary)}

.tpx-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-subtle)}
.tpx-pill.is-good{background:color-mix(in srgb,var(--success-soft) 70%, #fff 30%);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.tpx-pill.is-warn{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.tpx-pill.is-danger{background:color-mix(in srgb,var(--danger-soft) 74%, #fff 26%);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 18%,transparent)}
.tpx-pill.is-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}

.tpx-table-wrap{padding:12px}
.tpx-table-scroll{overflow:auto;margin-top:10px}
.tpx-table{width:100%;border-collapse:separate;border-spacing:0}
.tpx-table thead th{position:sticky;top:0;background:var(--bg-surface-2);z-index:2;text-align:left;padding:10px;border-bottom:1px solid var(--line-subtle);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.tpx-table tbody td{padding:9px 10px;vertical-align:top;border-bottom:1px solid var(--line-subtle)}
.tpx-row:hover td{background:color-mix(in srgb,var(--bg-surface-2) 72%, transparent)}
.tpx-cell{display:grid;gap:3px}
.tpx-cell strong{font-size:13px;color:var(--text-primary);line-height:1.25}
.tpx-cell span{font-size:11px;color:var(--text-muted);line-height:1.35}
.tpx-next{display:grid;gap:6px;align-items:flex-start}
.tpx-details{background:none;border:none;padding:0;color:var(--accent);font-size:11px;cursor:pointer}
.tpx-row-detail td{background:color-mix(in srgb,var(--bg-surface-2) 75%, #fff 25%)}
.tpx-detail-box{display:grid;gap:7px}
.tpx-detail-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tpx-detail-head span{font-size:11px;color:var(--text-muted)}
.tpx-detail-box p{margin:0;font-size:12px;color:var(--text-secondary)}

.tpx-alerts{display:grid;gap:8px;margin-top:10px}
.tpx-alert{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:6px}
.tpx-alert strong{font-size:13px;color:var(--text-primary)}
.tpx-alert p{margin:0;font-size:12px;color:var(--text-secondary)}

.tpx-empty,.tpx-low{padding:12px}
.tpx-empty h2,.tpx-low h3{margin:0 0 8px}
.tpx-empty p,.tpx-low p{margin:0 0 8px;font-size:12px;color:var(--text-secondary)}
.tpx-empty ul{margin:0 0 10px;padding-left:18px;display:grid;gap:4px}
.tpx-empty li{font-size:12px;color:var(--text-secondary)}

@media (max-width:1180px){
  .tpx-top-grid{grid-template-columns:1fr}
}
@media (max-width:860px){
  .tpx-snap-grid,.tpx-delta-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .tpx-shell{padding-bottom:112px}
  .tpx-table{min-width:980px}
  .tpx-cta-row .btn{padding-inline:10px}
  .tpx-detail-head{flex-direction:column;align-items:flex-start}
}

/* Settings rebuild v5 */
.stx-shell{display:grid;gap:10px;padding-bottom:128px}
.stx-hero{padding:12px 14px;display:grid;gap:6px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2));border:1px solid var(--line-subtle)}
.stx-eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.stx-hero h1{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.16;letter-spacing:-.015em}
.stx-sub{margin:0;color:var(--text-secondary);font-size:13px}
.stx-micro{margin:2px 0 0;color:var(--text-muted);font-size:11px;opacity:.88}
.stx-scope{margin:2px 0 0;color:var(--text-muted);font-size:11px}
.stx-cta-row{display:flex;gap:8px;flex-wrap:wrap}

.stx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stx-panel{padding:12px}
.stx-head h2{margin:0;font-size:17px}
.stx-head p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}

.stx-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-subtle)}
.stx-pill.is-good{background:color-mix(in srgb,var(--success-soft) 70%, #fff 30%);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.stx-pill.is-warn{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.stx-pill.is-danger{background:color-mix(in srgb,var(--danger-soft) 74%, #fff 26%);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 18%,transparent)}
.stx-pill.is-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}

.stx-conn-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}
.stx-conn-card{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:4px}
.stx-conn-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.stx-conn-card strong{font-size:13px;color:var(--text-primary)}
.stx-conn-card p{margin:0;font-size:12px;color:var(--text-secondary)}
.stx-conn-card span,.stx-conn-card em{font-size:11px;color:var(--text-muted);font-style:normal}

.stx-ws-grid,.stx-billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.stx-ws-grid>div,.stx-billing-grid>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.stx-ws-grid span,.stx-billing-grid span{font-size:11px;color:var(--text-muted)}
.stx-ws-grid strong,.stx-billing-grid strong{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}
.stx-readonly,.stx-billing-status{margin:10px 0 0;font-size:12px;color:var(--text-secondary)}

.stx-note-list{display:grid;gap:8px;margin-top:10px}
.stx-note-item{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:5px}
.stx-note-item strong{font-size:13px;color:var(--text-primary)}
.stx-note-item p{margin:0;font-size:12px;color:var(--text-secondary)}

.stx-empty,.stx-low{padding:12px}
.stx-empty h2,.stx-low h3{margin:0 0 8px}
.stx-empty p,.stx-low p,.stx-empty-inline{margin:0 0 8px;font-size:12px;color:var(--text-secondary)}

.stx-legal{
  position:fixed;
  bottom:max(14px,env(safe-area-inset-bottom));
  left:50%;
  transform:translateX(-50%);
  z-index:120;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--line-subtle) 80%, transparent);
  background:color-mix(in srgb,var(--bg-surface) 72%, transparent);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:var(--sh-2);
  pointer-events:auto;
}
.stx-legal a{font-size:12px;color:var(--text-secondary);text-decoration:none}
.stx-legal a:hover{color:var(--accent)}
.stx-legal span{font-size:11px;color:var(--text-muted)}

@media (max-width:980px){
  .stx-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .stx-shell{padding-bottom:132px}
  .stx-ws-grid,.stx-billing-grid{grid-template-columns:1fr}
  .stx-cta-row .btn{padding-inline:10px}
  .stx-legal{max-width:calc(100vw - 18px);gap:8px;padding:8px 12px;flex-wrap:wrap;justify-content:center}
}

/* Academy rebuild v5 */
.acx-shell{display:grid;gap:10px;padding-bottom:112px}
.acx-hero{padding:12px 14px;display:grid;gap:6px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2));border:1px solid var(--line-subtle)}
.acx-eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.acx-hero h1{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.16;letter-spacing:-.015em}
.acx-sub{margin:0;color:var(--text-secondary);font-size:13px}
.acx-micro{margin:2px 0 0;color:var(--text-muted);font-size:11px;opacity:.88}
.acx-scope{margin:2px 0 0;color:var(--text-muted);font-size:11px}
.acx-cta-row{display:flex;gap:8px;flex-wrap:wrap}

.acx-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.acx-panel{padding:12px}
.acx-head h2{margin:0;font-size:17px}
.acx-head p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}

.acx-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.acx-stats>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.acx-stats span{font-size:11px;color:var(--text-muted)}
.acx-stats strong{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}

.acx-toolbar{margin-top:10px}
.acx-input{width:100%;height:36px;border:1px solid var(--line-subtle);border-radius:9px;background:var(--bg-surface);padding:0 10px;color:var(--text-primary);font-size:13px}

.acx-modules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.acx-module-card{border:1px solid var(--line-subtle);border-radius:12px;background:var(--bg-surface);overflow:hidden;display:grid;grid-template-rows:120px auto}
.acx-module-media{background:var(--bg-surface-2);display:flex;align-items:center;justify-content:center}
.acx-module-media img{width:100%;height:100%;object-fit:cover;display:block}
.acx-img-fallback{font-size:12px;color:var(--text-muted)}
.acx-module-body{padding:10px;display:grid;gap:6px}
.acx-module-body strong{font-size:13px;color:var(--text-primary);line-height:1.3}
.acx-module-body p{margin:0;font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.acx-module-body em{font-style:normal;font-size:11px;color:var(--text-muted)}

.acx-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-subtle)}
.acx-pill.is-good{background:color-mix(in srgb,var(--success-soft) 70%, #fff 30%);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.acx-pill.is-warn{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.acx-pill.is-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}

.acx-assets-list{display:grid;gap:8px;margin-top:10px}
.acx-asset-item{padding:9px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:6px}
.acx-asset-item strong{font-size:13px;color:var(--text-primary);line-height:1.3}

.acx-empty,.acx-low{padding:12px}
.acx-empty h2,.acx-low h3{margin:0 0 8px}
.acx-empty p,.acx-low p,.acx-empty-inline{margin:0;font-size:12px;color:var(--text-secondary)}

@media (max-width:1080px){
  .acx-top-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .acx-shell{padding-bottom:120px}
  .acx-stats{grid-template-columns:1fr 1fr}
  .acx-modules-grid{grid-template-columns:1fr}
  .acx-cta-row .btn{padding-inline:10px}
}

/* More Tools rebuild v5 */
.mtx-shell{display:grid;gap:10px;padding-bottom:112px}
.mtx-hero{padding:12px 14px;display:grid;gap:6px;background:linear-gradient(180deg,var(--bg-surface),var(--bg-surface-2));border:1px solid var(--line-subtle)}
.mtx-eyebrow{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.mtx-hero h1{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.16;letter-spacing:-.015em}
.mtx-sub{margin:0;color:var(--text-secondary);font-size:13px}
.mtx-micro{margin:2px 0 0;color:var(--text-muted);font-size:11px;opacity:.88}
.mtx-scope{margin:2px 0 0;color:var(--text-muted);font-size:11px}
.mtx-cta-row{display:flex;gap:8px;flex-wrap:wrap}

.mtx-empty,.mtx-low{padding:12px}
.mtx-empty h2,.mtx-low h3{margin:0 0 8px}
.mtx-empty p,.mtx-low p{margin:0;font-size:12px;color:var(--text-secondary)}

.mtx-grid-head{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}
.mtx-panel{padding:12px}
.mtx-panel h2{margin:0;font-size:17px}
.mtx-panel p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}

.mtx-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.mtx-stats>div{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:2px}
.mtx-stats span{font-size:11px;color:var(--text-muted)}
.mtx-stats strong{font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}

.mtx-toolbar{margin-top:10px}
.mtx-input{width:100%;height:36px;border:1px solid var(--line-subtle);border-radius:9px;background:var(--bg-surface);padding:0 10px;color:var(--text-primary);font-size:13px}

.mtx-assets{display:grid;gap:8px;margin-top:10px}
.mtx-asset-item{padding:8px;border:1px solid var(--line-subtle);border-radius:10px;background:var(--bg-surface-2);display:grid;gap:5px}
.mtx-asset-item strong{font-size:13px;color:var(--text-primary)}
.mtx-asset-item a{font-size:12px;color:var(--primary)}

.mtx-tools-panel{padding:12px}
.mtx-tools-panel h2{margin:0;font-size:17px}
.mtx-tools-panel p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}
.mtx-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}

.mtx-tool-card{border:1px solid var(--line-subtle);border-radius:12px;background:var(--bg-surface);overflow:hidden;display:grid;grid-template-columns:140px 1fr;min-height:132px}
.mtx-tool-media{background:var(--bg-surface-2)}
.mtx-tool-media img{width:100%;height:100%;object-fit:cover;display:block}
.mtx-tool-body{padding:10px;display:grid;gap:6px}
.mtx-tool-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.mtx-tool-top strong{font-size:13px;line-height:1.3;color:var(--text-primary)}
.mtx-tool-body p{margin:0;font-size:12px;color:var(--text-secondary)}
.mtx-tool-body small{font-size:11px;color:var(--text-muted)}
.mtx-tool-actions{display:flex;gap:6px;flex-wrap:wrap}

.mtx-pill{display:inline-flex;width:max-content;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-subtle)}
.mtx-pill.is-good{background:color-mix(in srgb,var(--success-soft) 70%, #fff 30%);color:var(--success);border-color:color-mix(in srgb,var(--success) 18%,transparent)}
.mtx-pill.is-warn{background:color-mix(in srgb,var(--warning-soft) 74%, #fff 26%);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 18%,transparent)}
.mtx-pill.is-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}

.mtx-no-match{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}

@media (max-width:1080px){
  .mtx-grid-head{grid-template-columns:1fr}
  .mtx-tools-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .mtx-shell{padding-bottom:120px}
  .mtx-stats{grid-template-columns:1fr 1fr}
  .mtx-tool-card{grid-template-columns:1fr;grid-template-rows:120px auto}
  .mtx-cta-row .btn{padding-inline:10px}
}

/* Mobile adaptation v1 - full platform */
@media (max-width:760px){
  .dashx-shell,.cmpx-shell,.clx-shell,.slx-shell,.rpx-shell,.tpx-shell,.stx-shell,.acx-shell,.mtx-shell{
    gap:9px;
    padding-bottom:calc(118px + env(safe-area-inset-bottom));
  }

  .dashx-hero,.cmpx-hero,.clx-hero,.slx-hero,.rpx-hero,.tpx-hero,.stx-hero,.acx-hero,.mtx-hero,
  .dashx-panel,.cmpx-panel,.clx-panel,.slx-panel,.rpx-panel,.tpx-panel,.stx-panel,.acx-panel,.mtx-panel{
    padding:11px;
  }

  .dashx-cta-row .btn,.cmpx-cta-row .btn,.clx-cta-row .btn,.slx-cta-row .btn,.rpx-cta-row .btn,.tpx-cta-row .btn,.stx-cta-row .btn,.acx-cta-row .btn,.mtx-cta-row .btn{
    min-height:36px;
  }

  .dashx-trust-strip,.cmpx-trust-strip,.clx-trust-strip,.rpx-readiness-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dashx-kpi-card,.cmpx-kpi-card,.clx-kpi-card,.rpx-kpi-card{
    min-height:96px;
  }

  .cmpx-pill,.clx-pill,.slx-pill,.rpx-pill,.tpx-pill,.stx-pill,.acx-pill,.mtx-pill,.dashx-sev{
    font-size:9px;
    padding:2px 7px;
  }

  .cmpx-table-scroll,.clx-table-scroll,.rpx-table-scroll,.tpx-table-scroll{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    padding-bottom:2px;
  }

  .cmpx-table thead th,.clx-table thead th,.rpx-table thead th,.tpx-table thead th{
    font-size:10px;
    padding:9px;
  }

  .cmpx-table tbody td,.clx-table tbody td,.rpx-table tbody td,.tpx-table tbody td{
    padding:8px 9px;
  }

  .slx-diag-list,.slx-impact-list,.rpx-risk-list,.rpx-next-list{
    gap:6px;
  }

  .acx-assets-list,.mtx-assets{
    max-height:280px;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }

  .stx-legal{
    bottom:max(10px, env(safe-area-inset-bottom));
    padding:8px 12px;
  }
}

@media (max-width:520px){
  .dashx-kpi-row,.cmpx-kpi-row,.clx-kpi-row,.rpx-kpi-row{
    grid-template-columns:1fr;
  }

  .dashx-trust-strip,.cmpx-trust-strip,.clx-trust-strip,.rpx-readiness-strip{
    grid-template-columns:1fr;
  }

  .cmpx-toolbar,.clx-toolbar{
    gap:7px;
    padding:8px;
  }

  .cmpx-input,.cmpx-select,.clx-input,.clx-select,.acx-input,.mtx-input{
    height:34px;
    font-size:12px;
  }

  .dashx-hero h1,.cmpx-hero h1,.clx-hero h1,.slx-hero h1,.rpx-hero h1,.tpx-hero h1,.stx-hero h1,.acx-hero h1,.mtx-hero h1{
    font-size:clamp(19px,6vw,23px);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SETTINGS V6 — stx2-* Command Center
   Dark hero + sticky dark tabs + light panel content
══════════════════════════════════════════════════════════════════════════ */

/* Shell */
.stx2-shell{display:flex;flex-direction:column;min-height:100%;padding-bottom:80px}

/* ── Hero ── */
.stx2-hero{
  background:linear-gradient(135deg,#1e1b4b 0%,#0f172a 60%,#1a1a2e 100%);
  border-bottom:1px solid rgba(99,102,241,.2);
  position:relative;overflow:hidden;
}
.stx2-hero::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none;opacity:.5;
}
.stx2-hero__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:24px 28px 16px;position:relative;
  flex-wrap:wrap;
}
.stx2-hero__left{display:flex;align-items:center;gap:12px}
.stx2-hero__icon{display:flex;flex-shrink:0}
.stx2-hero__title{font-size:22px;font-weight:700;letter-spacing:-.4px;color:#f1f5f9;margin:0 0 3px}
.stx2-hero__sub{font-size:12px;color:rgba(148,163,184,.8);margin:0}
.stx2-hero__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Platform pills in hero */
.stx2-plat-pills{display:flex;gap:6px;flex-wrap:wrap}
.stx2-plat-pill{
  display:flex;align-items:center;gap:5px;
  padding:4px 10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  font-size:11px;font-weight:500;
  color:rgba(148,163,184,.85);
  white-space:nowrap;
}
.stx2-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.stx2-dot.dot--green{background:#10b981;box-shadow:0 0 4px rgba(16,185,129,.6)}
.stx2-dot.dot--gray{background:rgba(100,116,139,.45)}
.stx2-dot.dot--yellow{background:#fbbf24;box-shadow:0 0 4px rgba(251,191,36,.5)}

.stx2-ws-badge{
  display:flex;align-items:center;gap:5px;
  font-size:11px;color:rgba(100,116,139,.7);
  padding:4px 0;
}

/* Meta bar */
.stx2-meta-bar{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  padding:8px 28px;
  background:rgba(15,23,42,.75);
  border-top:1px solid rgba(99,102,241,.07);
  position:relative;
}
.stx2-meta-item{font-size:11px;color:rgba(100,116,139,.7);display:flex;align-items:center;gap:4px}
.stx2-meta-item strong{color:rgba(148,163,184,.85);font-weight:600}
.stx2-meta-sep{color:rgba(100,116,139,.3);font-size:11px}

/* ── Tab Nav ── */
.stx2-tab-nav{
  display:flex;overflow-x:auto;
  background:rgba(15,23,42,.97);
  border-bottom:1px solid rgba(99,102,241,.12);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  position:sticky;top:52px;z-index:30;
  padding:0 20px;
  scrollbar-width:none;
}
.stx2-tab-nav::-webkit-scrollbar{display:none}
.stx2-tab{
  display:flex;align-items:center;gap:7px;
  padding:13px 18px;
  font-size:13px;font-weight:500;
  color:rgba(148,163,184,.65);
  background:transparent;border:none;cursor:pointer;
  white-space:nowrap;
  border-bottom:2px solid transparent;
  transition:color .15s,border-color .15s,background .15s;
  border-radius:0;
}
.stx2-tab:hover{color:#cbd5e1;background:rgba(99,102,241,.04)}
.stx2-tab.is-active{color:#a5b4fc;border-bottom-color:#6366f1;font-weight:600}
.stx2-tab__icon{display:flex;opacity:.7}
.stx2-tab.is-active .stx2-tab__icon{opacity:1}

/* ── Panel Content ── */
.stx2-content{padding:24px 28px;max-width:880px;width:100%}
.stx2-panel{display:none}
.stx2-panel.is-active{display:block}

/* Panel header */
.stx2-ph{margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(226,232,240,.6)}
.stx2-ph__title{font-size:17px;font-weight:700;color:var(--text-primary,#0f172a);letter-spacing:-.3px;margin:0 0 4px}
.stx2-ph__desc{font-size:13px;color:var(--text-secondary,#64748b);margin:0}

/* ── Integration Cards ── */
.stx2-icard-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.stx2-icard{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px 18px;
  background:#fff;
  border:1px solid rgba(226,232,240,.85);
  border-radius:12px;
  transition:box-shadow .15s,border-color .18s,transform .1s;
}
.stx2-icard:hover{
  box-shadow:0 4px 18px rgba(0,0,0,.07),0 1px 4px rgba(0,0,0,.04);
  border-color:rgba(99,102,241,.22);
  transform:translateY(-1px);
}
.stx2-icard--connected{
  border-color:rgba(16,185,129,.3);
  background:linear-gradient(to right,rgba(16,185,129,.025),#fff 35%);
}
.stx2-icard--pending{
  border-color:rgba(251,191,36,.3);
  background:linear-gradient(to right,rgba(251,191,36,.03),#fff 35%);
}
.stx2-icard__left{display:flex;align-items:center;gap:12px;min-width:0}
.stx2-icard__icon{display:flex;flex-shrink:0}
.stx2-icard__info{display:flex;flex-direction:column;gap:2px;min-width:0}
.stx2-icard__name{font-size:14px;font-weight:700;color:var(--text-primary,#0f172a)}
.stx2-icard__desc{font-size:12px;color:var(--text-secondary,#64748b)}
.stx2-icard__account{font-size:11px;color:var(--text-muted,#94a3b8)}
.stx2-icard__right{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}

/* Status pills */
.stx2-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px;border-radius:20px;
  font-size:10.5px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;
  white-space:nowrap;
}
.stx2-pill--green{background:rgba(16,185,129,.12);color:#059669;border:1px solid rgba(16,185,129,.25)}
.stx2-pill--red{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}
.stx2-pill--yellow{background:rgba(251,191,36,.1);color:#d97706;border:1px solid rgba(251,191,36,.25)}
.stx2-pill--gray{background:rgba(100,116,139,.08);color:#64748b;border:1px solid rgba(100,116,139,.2)}

/* Trust bar */
.stx2-trust{
  display:flex;align-items:flex-start;gap:7px;
  padding:10px 14px;
  background:rgba(99,102,241,.04);
  border:1px solid rgba(99,102,241,.1);
  border-radius:9px;
  font-size:12px;color:#6366f1;
  margin-top:4px;
}
.stx2-trust svg{flex-shrink:0;margin-top:1px}

/* Buttons in settings context */
.stx2-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;font-size:13px;font-weight:600;
  border-radius:8px;border:none;cursor:pointer;
  transition:all .15s;white-space:nowrap;
}
.stx2-shell .btn-primary{background:#6366f1;color:#fff;box-shadow:0 1px 3px rgba(99,102,241,.3)}
.stx2-shell .btn-primary:hover{background:#4f46e5;box-shadow:0 4px 12px rgba(99,102,241,.35);transform:translateY(-1px)}
.stx2-shell .btn-secondary{background:rgba(241,245,249,.9);color:#475569;border:1px solid rgba(226,232,240,.9)}
.stx2-shell .btn-secondary:hover{background:#fff;border-color:rgba(99,102,241,.25);color:#3730a3}

/* ── Plan Panel ── */
.stx2-plan-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  padding:20px;background:#fff;border:1px solid rgba(226,232,240,.85);border-radius:12px;
}
.stx2-plan-price{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}
.stx2-plan-amount{font-size:32px;font-weight:800;color:#0f172a;letter-spacing:-1px}
.stx2-plan-period{font-size:14px;color:#64748b}
.stx2-plan-hint{font-size:12px;color:#64748b;margin:6px 0 0}
.stx2-plan-hint a{color:#6366f1;text-decoration:none}
.stx2-plan-hint a:hover{text-decoration:underline}
.stx2-plan-features-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}
.stx2-plan-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.stx2-feature-item{display:flex;align-items:center;gap:7px;font-size:13px;color:#374151}
.stx2-feature-item svg{color:#10b981;flex-shrink:0}

/* ── Profil Panel ── */
.stx2-section{margin-bottom:22px;padding:18px;background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:12px}
.stx2-section--danger{background:rgba(254,242,242,.5);border-color:rgba(239,68,68,.15)}
.stx2-section__title{font-size:13px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px}
.stx2-section__title--danger{color:#dc2626}
.stx2-field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.stx2-field{display:flex;flex-direction:column;gap:3px}
.stx2-field__label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}
.stx2-field__val{font-size:13px;color:#0f172a;font-weight:500}
.stx2-field__val--mono{font-family:var(--font-mono,monospace);font-size:11.5px;color:#475569;word-break:break-all}
.stx2-danger-hint{font-size:13px;color:#dc2626;margin:0}
.stx2-danger-hint a{color:#dc2626;font-weight:600}

/* ── Notifications Panel ── */
.stx2-note-list{display:flex;flex-direction:column;gap:8px}
.stx2-note{
  padding:12px 14px;
  background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:10px;
  display:flex;flex-direction:column;gap:4px;
}
.stx2-note__title{font-size:13px;font-weight:600;color:#0f172a}
.stx2-note__msg{font-size:12px;color:#64748b;margin:0}
.stx2-empty-state{padding:32px 0;text-align:center;font-size:13px;color:#94a3b8}

/* ── Responsive ── */
@media(max-width:640px){
  .stx2-hero__inner{padding:18px 16px 12px;flex-direction:column;align-items:flex-start}
  .stx2-meta-bar{padding:8px 16px}
  .stx2-tab-nav{top:52px;padding:0 8px}
  .stx2-tab{padding:11px 12px;font-size:12px}
  .stx2-content{padding:16px}
  .stx2-icard{flex-direction:column;align-items:flex-start}
  .stx2-icard__right{justify-content:flex-start}
  .stx2-plan-grid{grid-template-columns:1fr}
  .stx2-field-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .stx2-icard,.stx2-shell .btn-primary,.stx2-shell .btn-secondary{transition:none;transform:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   DASHBOARD V10 — ccHero / dtCard / soSenseiHero / soWL / soLiveNoData
══════════════════════════════════════════════════════════════════════════ */

/* ── Command Hero (dark indigo) ── */
.soHero--controlCenter{
  background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 40%,#0f172a 100%);
  border-bottom:1px solid rgba(99,102,241,.18);
  position:relative;overflow:hidden;
  padding:28px 28px 24px;
}
.soHero--controlCenter::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 20% 50%,rgba(99,102,241,.08) 0%,transparent 60%),
             radial-gradient(ellipse at 80% 20%,rgba(139,92,246,.06) 0%,transparent 50%);
}
.ccHero__layout{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;position:relative}
.ccHero__left{flex:1;min-width:260px}
.ccHero__right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.ccHero__title{font-size:clamp(20px,2.8vw,26px);font-weight:800;color:#f1f5f9;letter-spacing:-.8px;line-height:1.15;margin:0 0 8px}
.ccHero__statement{font-size:13px;color:rgba(148,163,184,.75);margin:0 0 16px;letter-spacing:-.1px}

/* Status badge */
.ccHero__statusBadge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.ccHero__statusBadge--online{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);color:#34d399}
.ccHero__statusBadge--demo{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.2);color:#fbbf24}
.ccHero__statusBadge--offline{background:rgba(100,116,139,.1);border:1px solid rgba(100,116,139,.2);color:rgba(148,163,184,.6)}
.ccHero__statusDot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.ccHero__statusBadge--online .ccHero__statusDot{box-shadow:0 0 5px currentColor;animation:dash-pulse 2s infinite}
@keyframes dash-pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* Hero KPI cards */
.ccHero__kpis{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.ccHero__kpiCard{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  border-radius:10px;padding:10px 14px;min-width:90px;
  transition:background .15s,border-color .15s;
}
.ccHero__kpiCard:hover{background:rgba(255,255,255,.08);border-color:rgba(99,102,241,.3)}
.ccHero__kpiName{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:rgba(148,163,184,.7);display:block;margin-bottom:4px}
.ccHero__kpiVal{font-size:19px;font-weight:700;color:#f1f5f9;letter-spacing:-.5px;display:block}

/* Hero CTAs */
.ccHero__ctaRow{display:flex;flex-direction:column;gap:7px}
.ccHero__cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;
  background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.3);
  border-radius:8px;color:#a5b4fc;font-size:12px;font-weight:600;
  cursor:pointer;transition:all .15s;white-space:nowrap;text-decoration:none;
}
.ccHero__cta:hover{background:rgba(99,102,241,.25);border-color:rgba(99,102,241,.5);color:#c7d2fe;transform:translateY(-1px)}
.ccHero__cta--primary{background:#6366f1;border-color:#6366f1;color:#fff;box-shadow:0 2px 8px rgba(99,102,241,.35)}
.ccHero__cta--primary:hover{background:#4f46e5;border-color:#4f46e5;box-shadow:0 4px 14px rgba(99,102,241,.45)}

/* ── Section eyebrow ── */
.dash2-eyebrow{
  display:flex;align-items:center;gap:8px;margin-bottom:14px;
  font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  color:rgba(100,116,139,.5);
}
.dash2-eyebrow::after{content:'';flex:1;height:1px;background:rgba(226,232,240,.5)}

/* ── dtCard KPI Grid ── */
.dtGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}
@media(max-width:900px){.dtGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.dtGrid{grid-template-columns:1fr}}

.dtCard{
  background:#fff;border:1px solid rgba(226,232,240,.85);border-radius:12px;
  padding:14px 16px;position:relative;overflow:hidden;
  transition:box-shadow .15s,transform .1s;
}
.dtCard:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);transform:translateY(-1px)}
.dtCard::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%}
.dtCard--positive::before{background:#10b981}
.dtCard--warn::before{background:#f59e0b}
.dtCard--negative::before{background:#ef4444}
.dtCard--neutral::before{background:rgba(100,116,139,.2)}

.dtCard__header{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.dtCard__kpi{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#64748b}
.dtCard__interp{font-size:9.5px;font-weight:700;margin-left:auto;padding:2px 7px;border-radius:10px}
.dtCard__interp--positive{background:rgba(16,185,129,.1);color:#059669}
.dtCard__interp--warn{background:rgba(245,158,11,.1);color:#d97706}
.dtCard__interp--negative{background:rgba(239,68,68,.1);color:#dc2626}
.dtCard__interp--neutral{background:rgba(100,116,139,.07);color:#64748b}

.dtCard__def{font-size:11px;color:#64748b;line-height:1.5;margin:6px 0 8px}
.dtCard__action{display:flex;align-items:flex-start;gap:6px;padding-top:8px;border-top:1px solid rgba(226,232,240,.5)}
.dtCard__actionArrow{color:#6366f1;flex-shrink:0;margin-top:1px}
.dtCard__actionText{font-size:11px;color:#475569;line-height:1.4}

/* ── dtConcrete ── */
.dtConcrete{padding:14px 18px;border-radius:12px;border:1px solid}
.dtConcrete--positive{background:rgba(16,185,129,.04);border-color:rgba(16,185,129,.2)}
.dtConcrete--warn{background:rgba(245,158,11,.04);border-color:rgba(245,158,11,.2)}
.dtConcrete--negative{background:rgba(239,68,68,.04);border-color:rgba(239,68,68,.2)}
.dtConcrete--neutral{background:rgba(100,116,139,.03);border-color:rgba(226,232,240,.6)}
.dtConcrete__badge{font-size:9.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;display:block;margin-bottom:6px;color:#596579}
.dtConcrete__text{font-size:13px;color:#334155;line-height:1.6;margin:0 0 5px;font-weight:500}
.dtConcrete__hint{font-size:12px;color:#64748b;margin:0 0 8px;font-style:italic}
.dtConcrete__link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#6366f1;text-decoration:none;background:none;border:none;cursor:pointer;padding:0}
.dtConcrete__link:hover{color:#4f46e5;text-decoration:underline}

/* ── Sensei Strip ── */
.soSenseiHero{
  background:linear-gradient(135deg,rgba(251,146,60,.06) 0%,rgba(245,158,11,.03) 100%);
  border:1px solid rgba(251,146,60,.12);border-radius:16px;
  padding:22px 26px;position:relative;overflow:hidden;
  margin:0 0 16px;
}
.soSenseiHero::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,#f59e0b,#fb923c,transparent)}
.soSenseiHero__statusTitle{font-size:15px;font-weight:700;color:#1e293b;margin:0 0 5px}
.soSenseiHero__statusSub{font-size:12px;color:rgba(100,116,139,.85);line-height:1.5;max-width:360px;margin:0}
.soSenseiHero__metaCard{background:rgba(255,255,255,.7);border:1px solid rgba(226,232,240,.8);border-radius:10px;padding:10px 14px;text-align:center;min-width:80px}
.soSenseiHero__metaVal{font-size:18px;font-weight:700;color:#1e293b;display:block}
.soSenseiHero__metaLbl{font-size:10px;font-weight:600;letter-spacing:.5px;color:rgba(100,116,139,.7);text-transform:uppercase;display:block;margin-top:2px}
.soSenseiHero__cta{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;background:rgba(251,146,60,.1);border:1px solid rgba(251,146,60,.25);border-radius:8px;color:#d97706;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:all .15s;margin-top:14px}
.soSenseiHero__cta:hover{background:rgba(251,146,60,.18);border-color:rgba(251,146,60,.4);transform:translateY(-1px)}
.soSenseiHero__dataStatement{font-size:11px;color:rgba(100,116,139,.6);font-style:italic;margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(226,232,240,.5)}

/* ── Winners / Losers Cards ── */
.soWL__card{
  display:flex;flex-direction:column;gap:3px;
  padding:10px 12px;border-radius:9px;margin-bottom:7px;
  border:1px solid rgba(226,232,240,.7);background:#fff;
  transition:box-shadow .15s,border-color .15s;
}
.soWL__card:hover{box-shadow:0 3px 12px rgba(0,0,0,.06)}
.soWL__card--winner{border-left:3px solid #10b981}
.soWL__card--loser{border-left:3px solid #ef4444}
.soWL__card strong{font-size:13px;font-weight:700;color:#0f172a}
.soWL__card span{font-size:11px;color:#64748b}

/* ── No-Data Premium State ── */
.soLiveNoData{text-align:center;padding:60px 32px;max-width:480px;margin:0 auto}
.soLiveNoData__eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6366f1;margin-bottom:10px}
.soLiveNoData__title{font-size:20px;font-weight:700;color:#0f172a;letter-spacing:-.4px;margin:0 0 10px}
.soLiveNoData__text{font-size:14px;color:#64748b;line-height:1.6;margin:0 0 22px}
.soLiveNoData__btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:9px;border:1px solid rgba(226,232,240,.9);background:#fff;font-size:13px;font-weight:600;color:#334155;cursor:pointer;margin:4px;transition:all .15s}
.soLiveNoData__btn:hover{border-color:rgba(99,102,241,.3);color:#6366f1}
.soLiveNoData__btn--primary{background:#6366f1;border-color:#6366f1;color:#fff;box-shadow:0 2px 8px rgba(99,102,241,.3)}
.soLiveNoData__btn--primary:hover{background:#4f46e5;border-color:#4f46e5}
.soLiveNoData__tips{text-align:left;padding:14px 18px;background:rgba(241,245,249,.7);border-radius:10px;font-size:12px;color:#64748b;line-height:1.8;margin-top:18px;list-style:none;display:flex;flex-direction:column;gap:4px}

/* ── Truth Bar ── */
.so-truth-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:8px 28px;font-size:11px;border-bottom:1px solid rgba(226,232,240,.4)}
.so-truth-bar--no-data{background:rgba(251,191,36,.06);color:#d97706}
.so-truth-bar--error{background:rgba(239,68,68,.06);color:#dc2626}
.so-truth-bar--offline{background:rgba(100,116,139,.06);color:#64748b}
.so-truth-bar__label{font-weight:700;letter-spacing:.4px}

/* ── Skeleton shimmer ── */
.moduleSkeleton__block{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:dash-skeleton 1.6s ease-in-out infinite;border-radius:10px}
@keyframes dash-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── Reveal animation ── */
[data-reveal="true"]{animation:dash-reveal .4s ease forwards}
@keyframes dash-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ── Trial Banner ── */
.soSenseiHero__trialBanner{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;gap:14px;border-bottom:1px solid transparent}
.soSenseiHero__trialBanner.is-gentle{background:rgba(99,102,241,.06);border-color:rgba(99,102,241,.15);color:#6366f1}
.soSenseiHero__trialBanner.is-urgent{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.2);color:#d97706}
.soSenseiHero__trialBanner.is-last-day{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.2);color:#dc2626}
.soSenseiHero__trialBannerText{font-size:13px;font-weight:500}
.soSenseiHero__trialBannerActions{display:flex;gap:8px;flex-shrink:0}
.soSenseiHero__trialBannerCta{padding:6px 14px;font-size:12px;font-weight:700;border-radius:7px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;transition:all .15s}
.soSenseiHero__trialBannerCta.is-prominent,.soSenseiHero__trialBannerCta:hover{background:currentColor;color:#fff}
.soSenseiHero__trialBannerDismiss{padding:6px 10px;font-size:13px;border:none;background:transparent;color:rgba(148,163,184,.6);cursor:pointer;transition:color .15s}
.soSenseiHero__trialBannerDismiss:hover{color:#64748b}

/* ── Priority Stack upgrade ── */
.dashx-prio{display:flex;align-items:center;gap:12px;text-align:left;width:100%}
.dashx-prio__num{width:26px;height:26px;border-radius:50%;background:rgba(99,102,241,.1);color:#6366f1;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dashx-prio__body{flex:1;min-width:0}
.dashx-prio__timing{font-size:11px;font-weight:600;color:#6366f1;flex-shrink:0;padding:3px 9px;background:rgba(99,102,241,.08);border-radius:10px}

/* ── Responsive ── */
@media(max-width:640px){
  .soHero--controlCenter{padding:18px 16px 16px}
  .ccHero__layout{flex-direction:column}
  .ccHero__right{align-items:flex-start;width:100%}
  .ccHero__ctaRow{flex-direction:row;flex-wrap:wrap}
  .ccHero__kpis{gap:6px}
  .soSenseiHero{padding:16px}
  .so-truth-bar{padding:8px 16px}
}
@media(prefers-reduced-motion:reduce){
  .ccHero__statusDot,.moduleSkeleton__block,[data-reveal="true"]{animation:none}
  .ccHero__cta,.dtCard,.soSenseiHero__cta{transition:none;transform:none}
}

/* ============================================================
   REPORTS V6 — rpx__*
   ============================================================ */
.rpx__wrap { padding:0 0 48px; }
.rpx__hero { background:linear-gradient(135deg,#1e1b4b 0%,#0f172a 60%,#1a1a2e 100%); color:#fff; padding:32px 32px 0; position:relative; overflow:hidden; }
.rpx__hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 50% 80% at 100% 0%,rgba(34,197,94,.12) 0%,transparent 70%); pointer-events:none; }
.rpx__hero-inner { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; position:relative; }
.rpx__hero-left { flex:1; }
.rpx__hero-badge { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:.08em; padding:3px 10px; border-radius:20px; margin-bottom:12px; }
.rpx__hero-badge--green { background:rgba(34,197,94,.2); color:#4ade80; border:1px solid rgba(34,197,94,.3); }
.rpx__hero-badge--amber { background:rgba(245,158,11,.2); color:#fbbf24; border:1px solid rgba(245,158,11,.3); }
.rpx__hero-badge--offline { background:rgba(148,163,184,.15); color:#94a3b8; border:1px solid rgba(148,163,184,.2); }
.rpx__hero-pulse { width:6px; height:6px; border-radius:50%; background:#4ade80; animation:rpxPulse 2s infinite; display:inline-block; }
@keyframes rpxPulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.rpx__hero-title { font-size:clamp(1.6rem,3vw,2.4rem); font-weight:800; letter-spacing:-.02em; margin:0 0 6px; color:#f8fafc; }
.rpx__hero-sub { font-size:14px; color:#94a3b8; margin:0 0 12px; }
.rpx__hero-pills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:4px; }
.rpx__hero-pill { font-size:11px; background:rgba(255,255,255,.08); color:#cbd5e1; padding:2px 10px; border-radius:20px; border:1px solid rgba(255,255,255,.1); }
.rpx__hero-pill--dim { color:#64748b; }
.rpx__hero-actions { display:flex; flex-direction:column; gap:8px; padding-top:8px; min-width:160px; }
.rpx__export-btn { padding:9px 18px; border-radius:8px; background:#22c55e; color:#fff; border:none; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; }
.rpx__export-btn--sec { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); }
.rpx__export-btn--disabled { opacity:.4; cursor:not-allowed; }
.rpx__truth-bar { display:flex; gap:20px; flex-wrap:wrap; padding:10px 0; margin-top:20px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:#94a3b8; }
.rpx__truth-bar strong { color:#e2e8f0; }
.rpx__truth-bar--ok { border-top-color:rgba(34,197,94,.3); }
.rpx__truth-bar--low { border-top-color:rgba(245,158,11,.3); }
.rpx__truth-bar--no-data { border-top-color:rgba(148,163,184,.15); }
.rpx__eyebrow { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:12px; }
.rpx__summary-strip { padding:24px 32px 0; }
.rpx__summary-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.rpx__sum-card { background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:10px; padding:16px; text-align:center; }
.rpx__sum-val { font-size:1.3rem; font-weight:800; color:var(--text-primary); }
.rpx__sum-label { font-size:11px; color:var(--text-muted); margin-top:4px; }
.rpx__templates { padding:24px 32px 0; }
.rpx__tpl-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.rpx__tpl-card { background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:10px; padding:20px; display:flex; flex-direction:column; gap:8px; transition:transform .15s,box-shadow .15s; }
.rpx__tpl-card:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(0,0,0,.08); }
.rpx__tpl-card--locked { opacity:.6; }
.rpx__tpl-icon { font-size:24px; }
.rpx__tpl-label { font-size:14px; font-weight:700; color:var(--text-primary); }
.rpx__tpl-desc { font-size:12px; color:var(--text-muted); flex:1; }
.rpx__tpl-btn { padding:8px 14px; background:#22c55e; color:#fff; border:none; border-radius:7px; font-size:13px; font-weight:600; cursor:pointer; width:100%; }
.rpx__tpl-locked-label { font-size:12px; color:var(--text-muted); text-align:center; }
.rpx__report-list { padding:24px 32px 0; }
.rpx__report-row { display:grid; grid-template-columns:2fr 2fr 1fr 1fr; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border-subtle); }
.rpx__report-row:last-child { border-bottom:none; }
.rpx__report-name { font-weight:600; font-size:13px; }
.rpx__report-meta { font-size:12px; color:var(--text-muted); }
.rpx__report-status { font-size:12px; color:var(--text-secondary); }
.rpx__report-updated { font-size:12px; color:var(--text-muted); }
.rpx__empty { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:80px 32px; text-align:center; }
.rpx__empty-icon { font-size:40px; margin-bottom:16px; }
.rpx__empty-title { font-size:1.3rem; font-weight:700; color:var(--text-primary); margin:0 0 8px; }
.rpx__empty-desc { font-size:14px; color:var(--text-muted); max-width:400px; margin:0 0 24px; }
.rpx__empty-actions { display:flex; gap:10px; }
.rpx__empty-btn { padding:10px 20px; border-radius:8px; background:#22c55e; color:#fff; border:none; font-size:13px; font-weight:600; cursor:pointer; }
.rpx__empty-btn--sec { background:transparent; color:var(--text-secondary); border:1px solid var(--border-subtle); }
@media (max-width:1100px) {
  .rpx__tpl-grid { grid-template-columns:repeat(2,1fr); }
  .rpx__summary-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:900px) {
  .rpx__hero-inner { flex-direction:column; }
  .rpx__hero-actions { flex-direction:row; }
  .rpx__tpl-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .rpx__hero,.rpx__summary-strip,.rpx__templates,.rpx__report-list { padding-left:16px; padding-right:16px; }
  .rpx__summary-grid { grid-template-columns:repeat(2,1fr); }
  .rpx__tpl-grid { grid-template-columns:1fr; }
  .rpx__report-row { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   SENSAI MODULE V6 — EXECUTIVE INTELLIGENCE CENTER
   Prefix: sns-*  snsp-*
   Sections: Premium Hero → Situation Band → Analyse Start →
             Executive Decision → Signal Reasoning → Action Options → Archive
   ═══════════════════════════════════════════════════════════════ */

/* MODULE WRAPPER */
.sns-module { padding: 0; }

/* ── ZONE 1: HERO BANNER ────────────────────────────────────── */
.sns-hero {
  margin-bottom: 28px;
  position: relative;
}
.sns-hero--v2 {
  background: linear-gradient(135deg, #0d1117 0%, #161b27 45%, #1c2438 100%);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 4px 32px rgba(0,0,0,0.22), 0 1px 6px rgba(0,0,0,0.14);
}
.sns-hero-inner {
  display: grid;
  grid-template-columns: 1fr 240px 220px;
  gap: 40px;
  align-items: start;
  position: relative;
  z-index: 1;
}
.sns-hero-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: #c94e0d; margin-bottom: 12px;
  display: flex; align-items: center; gap: 6px;
}
.sns-hero-eyebrow::before {
  content: ''; display: inline-block; width: 6px; height: 6px;
  border-radius: 50%; background: #f97316;
}
.sns-hero-title {
  font-family: 'Bricolage Grotesque', 'Inter', sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800;
  color: #111827; line-height: 1.1; letter-spacing: -0.025em; margin-bottom: 10px;
}
.sns-hero-sub {
  font-size: 14px; color: #6b7280; line-height: 1.6;
  margin-bottom: 20px; max-width: 460px;
}
.sns-hero-next {
  background: white; border: 1px solid rgba(0,0,0,0.08);
  border-left: 3px solid #f97316; border-radius: 0 8px 8px 0;
  padding: 10px 16px; margin-bottom: 20px;
  display: flex; flex-direction: column; gap: 2px;
}
.sns-hero-next-label {
  font-size: 9px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #f97316;
}
.sns-hero-next-text { font-size: 13px; font-weight: 600; color: #111827; }
.sns-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sns-hero-intel {
  background: white; border: 1px solid rgba(0,0,0,0.07);
  border-radius: 12px; padding: 20px 22px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
.sns-intel-title {
  font-size: 9px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: #9ca3af; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid rgba(0,0,0,0.06);
}
.sns-intel-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 0; border-bottom: 1px solid rgba(0,0,0,0.04);
}
.sns-intel-row:last-child { border-bottom: none; }
.sns-intel-label { font-size: 10px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: #9ca3af; }
.sns-intel-value { font-size: 12px; font-weight: 700; color: #374151; text-align: right; }
.sns-hero-briefing {
  background: #111827; border-radius: 12px; padding: 20px 22px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}
.sns-briefing-title {
  font-size: 9px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.3); margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.sns-briefing-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,0.05);
}
.sns-briefing-row:last-child { border-bottom: none; }
.sns-briefing-label { font-size: 10px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.35); }
.sns-briefing-value { font-size: 12px; font-weight: 700; color: rgba(255,255,255,0.82); text-align: right; }
.sns-briefing-accent { color: #f97316; font-size: 14px; }

/* ═══════════════════════════════════════════════════════════════
   SENSAI-KI DESIGN SYSTEM — PHASE 2 VISUAL SYSTEM
   Intelligence Command Panel · Premium SaaS · No Template Look
   ═══════════════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ────────────────────────────────────────────── */
.sns-module {
  --sns-s0: #ffffff; --sns-s1: #f9fafb; --sns-s2: #f3f4f6;
  --sns-e1: 0 1px 3px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);
  --sns-e2: 0 4px 12px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.04);
  --sns-e3: 0 8px 24px rgba(0,0,0,.09),0 4px 8px rgba(0,0,0,.05);
  --sns-e4: 0 16px 40px rgba(0,0,0,.11),0 8px 16px rgba(0,0,0,.06);
  --sns-r1: 8px; --sns-r2: 12px; --sns-r3: 16px; --sns-r4: 20px;
  --sns-t-fast: 120ms cubic-bezier(0.4,0,0.2,1);
  --sns-t-std: 200ms cubic-bezier(0.4,0,0.2,1);
  --sns-t-slow: 350ms cubic-bezier(0.4,0,0.2,1);
  --sns-orange: #f97316; --sns-green: #22c55e;
  --sns-amber: #f59e0b; --sns-red: #ef4444; --sns-indigo: #6366f1;
}

/* ── HERO: AMBIENT GRADIENT LAYER ─────────────────────────────── */
.sns-hero__gradient {
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(135deg,#0a0f1a 0%,#0d1117 30%,#111827 60%,#0c1220 100%);
  background-size: 200% 200%;
  animation: sns-hero-drift 32s ease-in-out infinite;
}
@keyframes sns-hero-drift {
  0%,100% { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
}
.sns-hero--v2::after {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse at 26% 42%, rgba(249,115,22,0.055) 0%, transparent 54%),
    radial-gradient(ellipse at 78% 78%, rgba(99,102,241,0.035) 0%, transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,0.014) 0%, transparent 32%, rgba(0,0,0,0.14) 100%);
  pointer-events: none;
}

/* ── HERO BODY ────────────────────────────────────────────────── */
.sns-hero__body {
  position: relative; z-index: 1;
  padding: 40px 48px 32px;
  display: flex; flex-direction: column; gap: 0;
}

/* ── BRAND ROW ────────────────────────────────────────────────── */
.sns-hero__brand-row {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 28px;
}
.sns-hero__brand { display: flex; flex-direction: column; }
.sns-hero__eyebrow {
  font-size: 9px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase;
  color: rgba(255,255,255,0.28); margin-bottom: 10px;
}
.sns-hero__title {
  font-family: 'Bricolage Grotesque','Inter',sans-serif;
  font-size: clamp(1.95rem,3.1vw,2.8rem); font-weight: 800;
  color: #fff; line-height: 1.02; letter-spacing: -0.032em; margin: 0 0 12px;
}
.sns-hero__title-em {
  font-style: normal;
  background: linear-gradient(125deg,#f97316 0%,#fb923c 50%,#fbbf24 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.sns-hero__workspace { font-size: 12px; color: rgba(255,255,255,0.3); font-weight: 400; margin: 0; }

/* ── STATUS BLOCK ─────────────────────────────────────────────── */
.sns-hero__status-block {
  display: flex; align-items: center; gap: 12px;
  padding: 6px 0; flex-shrink: 0;
}
.sns-hero__signal-ring {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.sns-hero__status-block--ok    .sns-hero__signal-ring { background: rgba(34,197,94,0.08); box-shadow: 0 0 12px rgba(34,197,94,0.1); }
.sns-hero__status-block--warn  .sns-hero__signal-ring { background: rgba(245,158,11,0.08); box-shadow: 0 0 12px rgba(245,158,11,0.1); }
.sns-hero__status-block--error .sns-hero__signal-ring { background: rgba(239,68,68,0.08); box-shadow: 0 0 12px rgba(239,68,68,0.1); }
.sns-hero__signal-dot { width: 12px; height: 12px; border-radius: 50%; }
.sns-hero__status-block--ok    .sns-hero__signal-dot { background: #22c55e; box-shadow: 0 0 8px rgba(34,197,94,0.45); animation: sns-pulse-ok 3.8s ease-in-out infinite; }
.sns-hero__status-block--warn  .sns-hero__signal-dot { background: #f59e0b; box-shadow: 0 0 7px rgba(245,158,11,0.45); }
.sns-hero__status-block--error .sns-hero__signal-dot { background: #ef4444; box-shadow: 0 0 8px rgba(239,68,68,0.45); animation: sns-pulse-err 2.4s ease-in-out infinite; }
@keyframes sns-pulse-ok  { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.55;transform:scale(.9)} }
@keyframes sns-pulse-err { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.45;transform:scale(1.07)} }
.sns-hero__status-info { display: flex; flex-direction: column; gap: 2px; }
.sns-hero__status-text { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.7); white-space: nowrap; }
.sns-hero__status-block--ok    .sns-hero__status-text { color: #86efac; }
.sns-hero__status-block--warn  .sns-hero__status-text { color: #fcd34d; }
.sns-hero__status-block--error .sns-hero__status-text { color: #fca5a5; }
.sns-hero__status-code { font-size: 9px; color: rgba(255,255,255,0.25); letter-spacing: 0.08em; text-transform: uppercase; }

/* ── INSIGHT BAR ──────────────────────────────────────────────── */
.sns-hero__insight-bar {
  display: flex; align-items: center; gap: 14px;
  padding: 11px 0; margin-bottom: 22px;
  border-left: 2px solid rgba(249,115,22,0.25);
  padding-left: 16px;
}
.sns-hero__insight-eye {
  font-size: 8px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.25); flex-shrink: 0; white-space: nowrap;
}
.sns-hero__insight-text {
  flex: 1; font-size: 12px; color: rgba(255,255,255,0.52);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;
}
.sns-hero__insight-tag {
  font-size: 8px; font-weight: 800; padding: 2px 7px; border-radius: 99px; flex-shrink: 0; letter-spacing: 0.06em;
}
.sns-hero__insight-tag--critical,.sns-hero__insight-tag--high { background: rgba(239,68,68,0.14); color: #fca5a5; }
.sns-hero__insight-tag--medium   { background: rgba(245,158,11,0.14); color: #fcd34d; }
.sns-hero__insight-tag--low      { background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.35); }

/* ── SIGNAL STRIP ─────────────────────────────────────────────── */
.sns-hero__signal-strip {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 0;
  margin-bottom: 32px;
  background: rgba(255,255,255,0.018);
  border-radius: 10px; overflow: hidden;
}
.sns-hero__tile {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 16px 8px; background: transparent; text-align: center;
  border-right: 1px solid rgba(255,255,255,0.04);
  transition: background var(--sns-t-std);
}
.sns-hero__tile:last-child { border-right: none; }
.sns-hero__tile:hover { background: rgba(255,255,255,0.03); }
.sns-hero__tile-val {
  font-size: 18px; font-weight: 700; color: rgba(255,255,255,0.68);
  line-height: 1; margin-bottom: 6px; letter-spacing: -0.02em; font-variant-numeric: tabular-nums;
}
.sns-hero__tile-lbl {
  font-size: 7.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
  color: rgba(255,255,255,0.22);
}
.sns-hero__tile--active   .sns-hero__tile-val { color: #86efac; }
.sns-hero__tile--kpi      .sns-hero__tile-val { color: #fff; }
.sns-hero__tile--kpi-good .sns-hero__tile-val { color: #86efac; }
.sns-hero__tile--flagged  .sns-hero__tile-val { color: #fcd34d; }
.sns-hero__tile--info     .sns-hero__tile-val { color: rgba(255,255,255,0.38); font-size: 12px; font-weight: 600; }

/* ── HERO FOOTER ROW ──────────────────────────────────────────── */
.sns-hero__footer-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.sns-hero__cta-group { display: flex; gap: 10px; }
.sns-hero__btn-primary {
  height: 38px; padding: 0 22px;
  background: linear-gradient(135deg,#f97316,#ea580c); color: #fff;
  font-size: 12.5px; font-weight: 600; letter-spacing: 0.02em;
  border: none; border-radius: 9px; cursor: pointer;
  box-shadow: 0 2px 10px rgba(249,115,22,0.25), 0 1px 3px rgba(0,0,0,0.15);
  transition: box-shadow var(--sns-t-std);
}
.sns-hero__btn-primary:hover { box-shadow: 0 4px 18px rgba(249,115,22,0.38), 0 1px 6px rgba(0,0,0,0.15); }
.sns-hero__btn-ghost {
  height: 38px; padding: 0 18px;
  background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.6);
  font-size: 13px; font-weight: 600;
  border: 1px solid rgba(255,255,255,0.1); border-radius: 9px; cursor: pointer;
  transition: background var(--sns-t-fast), color var(--sns-t-fast);
}
.sns-hero__btn-ghost:hover { background: rgba(255,255,255,0.11); color: rgba(255,255,255,0.82); }
.sns-hero__score-bar-group { display: flex; align-items: center; gap: 9px; }
.sns-hero__score-label { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.25); }
.sns-hero__score-track { width: 110px; height: 2px; background: rgba(255,255,255,0.08); border-radius: 1px; overflow: hidden; }
.sns-hero__score-fill { height: 2px; background: linear-gradient(90deg,rgba(249,115,22,0.6),rgba(251,191,36,0.55)); border-radius: 1px; transition: width 1.6s cubic-bezier(0.4,0,0.2,1); }
.sns-hero__score-num { font-size: 11px; font-weight: 700; color: rgba(249,115,22,0.7); }

/* ── ZONE 2: INSIGHTS ────────────────────────────────────────── */
.sns-insights { margin-bottom: 0; }
.sns-insights-layout {
  display: grid;
  grid-template-columns: 1fr 0.54fr;
  gap: var(--sp-5);
  align-items: start;
}
.sns-insights-main { display: grid; gap: 0; }
.sns-insights-sidebar { display: grid; gap: 0; }

/* ── INTELLIGENCE SECTION ─────────────────────────────────────── */
.sns-intelligence { margin-bottom: 0; padding-top: 20px; }
.sns-intelligence-header {
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: 28px; padding: 0 2px;
}
.sns-intelligence-title {
  font-family: 'Bricolage Grotesque','Inter',sans-serif;
  font-size: clamp(1.15rem,1.65vw,1.42rem); font-weight: 800;
  color: #0f172a; margin: 0 0 3px; letter-spacing: -0.02em;
}
.sns-intelligence-sub { font-size: 11px; color: #94a3b8; margin: 0; }

/* Asymmetric intelligence grid */
.sns-intelligence-grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 36px; align-items: start;
}
.sns-intel-primary { display: flex; flex-direction: column; min-width: 0; }
.sns-intel-rail    { display: flex; flex-direction: column; position: sticky; top: 20px; }

/* ── CARD SYSTEM — BASE (PHASE 2) ─────────────────────────────── */
.sns-card {
  background: var(--sns-s0,#fff);
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: var(--sns-r2,12px);
  padding: 26px 30px;
  box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 4px 16px rgba(0,0,0,.045);
  margin-bottom: 24px;
  transition: box-shadow var(--sns-t-std,200ms ease);
}
.sns-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,.04), 0 8px 28px rgba(0,0,0,.065); }

/* Executive Card — prominent full-width summary */
.sns-card--executive {
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.04);
  padding: 32px 36px;
}
.sns-card--executive:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.09), 0 2px 6px rgba(0,0,0,0.04); }

/* Intelligence Card — standard data display */
.sns-card--intelligence { background: var(--sns-s0,#fff); }

/* Featured Card — highlighted top recommendation */
.sns-card--featured {
  background: #fafafa;
  border-color: rgba(0,0,0,0.055);
  border-top: 2px solid rgba(249,115,22,0.18);
}

/* Signal Card — alert/warning state */
.sns-card--signal { border-top: 2px solid rgba(229,231,235,0.7); }
.sns-card--signal[data-signal="error"] { border-top-color: rgba(239,68,68,0.55); }
.sns-card--signal[data-signal="warn"]  { border-top-color: rgba(245,158,11,0.55); }
.sns-card--signal[data-signal="ok"]    { border-top-color: rgba(34,197,94,0.55); }
.sns-card--signal[data-signal="idle"]  { border-top-color: rgba(209,213,219,0.5); }
.sns-guidance-box--dims { margin-top: 4px; }

/* Timeline Card — chronological logging */
.sns-card--timeline {
  border-left: 3px solid var(--sns-indigo,#6366f1);
  border-radius: 0 var(--sns-r2,12px) var(--sns-r2,12px) 0;
}

/* Action Card — CTA focused, quick access */
.sns-card--action {
  background: #f9fafb;
  border-color: rgba(0,0,0,0.055);
  padding: 22px 24px;
}
.sns-card--action .sns-card-eyebrow { margin-bottom: 12px; }
.sns-card--action .sns-btn-primary,
.sns-card--action .sns-btn-outline,
.sns-card--action .sns-btn-ghost { display: block; margin-bottom: 8px; }
.sns-card--action .sns-btn-ghost:last-child { margin-bottom: 0; }

/* ── ASYMMETRIC DUAL GRID ─────────────────────────────────────── */
.sns-dual-grid--asymmetric { grid-template-columns: 3fr 2fr; }

/* ── SECTION DIVIDER ──────────────────────────────────────────── */
.sns-section-divider {
  display: flex; align-items: center; justify-content: center;
  padding: 52px 0 42px; position: relative;
}
.sns-section-divider::before {
  content: ''; position: absolute; top: 50%; left: 0; right: 0;
  height: 1px; background: linear-gradient(90deg,transparent,rgba(0,0,0,0.07),rgba(0,0,0,0.07),transparent);
  transform: translateY(-50%);
}
.sns-divider-inner {
  background: #fff; padding: 10px 26px;
  border: 1px solid rgba(0,0,0,0.07); border-radius: 99px;
  position: relative; z-index: 1; text-align: center;
  box-shadow: 0 1px 8px rgba(0,0,0,0.04);
}
.sns-divider-title { font-size: 13px; font-weight: 700; color: #0f172a; margin: 0 0 1px; }
.sns-divider-sub   { font-size: 11px; color: #94a3b8; margin: 0; }

/* ── MOTION: PROGRESSIVE REVEAL ──────────────────────────────── */
@keyframes sns-reveal {
  from { opacity: 0; transform: translateY(5px); }
  to   { opacity: 1; transform: translateY(0); }
}
.sns-intelligence .sns-card { animation: sns-reveal 0.6s cubic-bezier(0.22,0.61,0.36,1) both; }
.sns-intel-primary > .sns-card:nth-child(1) { animation-delay: 0ms; }
.sns-intel-primary > .sns-card:nth-child(2),
.sns-intel-primary > .sns-dual-grid         { animation-delay: 90ms; }
.sns-intel-primary > .sns-card:nth-child(3) { animation-delay: 175ms; }
.sns-intel-rail    > .sns-card:nth-child(1) { animation-delay: 115ms; }
.sns-intel-rail    > .sns-card:nth-child(2) { animation-delay: 205ms; }

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .sns-intelligence .sns-card { animation: none; }
  .sns-hero__gradient { animation: none; }
  .sns-hero__signal-dot { animation: none !important; }
}

/* ── RESPONSIVE ───────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .sns-intelligence-grid { grid-template-columns: 1fr; }
  .sns-intel-rail { position: static; flex-direction: row; gap: 16px; }
  .sns-intel-rail .sns-card { flex: 1; }
  .sns-hero__signal-strip { grid-template-columns: repeat(4,1fr); }
}
@media (max-width: 780px) {
  .sns-hero__body { padding: 26px 22px 22px; }
  .sns-hero__brand-row { flex-direction: column; gap: 14px; align-items: flex-start; }
  .sns-hero__status-block { align-self: stretch; }
  .sns-hero__signal-strip { grid-template-columns: repeat(2,1fr); }
  .sns-hero__tile:nth-child(even) { border-right: none; }
  .sns-hero__tile:nth-child(odd):not(:last-child) { border-right: 1px solid rgba(255,255,255,0.04); }
  .sns-hero__tile:nth-child(1), .sns-hero__tile:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,0.04); }
  .sns-hero__footer-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .sns-dual-grid { grid-template-columns: 1fr; }
  .sns-dual-grid--asymmetric { grid-template-columns: 1fr; }
  .sns-intel-rail { flex-direction: column; }
  .sns-card--executive { padding: 20px 22px; }
}
.sns-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.sns-section-header-left { display: flex; align-items: center; gap: 12px; }
.sns-section-tag {
  font-size: 8.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: #94a3b8; background: transparent; padding: 0;
}
.sns-section-title { font-size: clamp(1.1rem, 1.6vw, 1.35rem); font-weight: 800; color: #0f172a; margin: 0; letter-spacing: -0.015em; }
.sns-section-sub { font-size: 13px; color: #9ca3af; margin: 4px 0 0; }
.sns-status-chip {
  font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 4px 12px; border-radius: 99px;
}
.sns-status-chip--ok { background: rgba(34,197,94,0.09); color: #16a34a; border: 1px solid rgba(34,197,94,0.2); }
.sns-status-chip--warn { background: rgba(245,158,11,0.09); color: #d97706; border: 1px solid rgba(245,158,11,0.2); }
.sns-status-chip--error { background: rgba(239,68,68,0.09); color: #dc2626; border: 1px solid rgba(239,68,68,0.2); }
.sns-status-chip--neutral { background: rgba(0,0,0,0.05); color: #6b7280; border: 1px solid rgba(0,0,0,0.1); }
.sns-card {
  background: #fff; border: 1px solid rgba(0,0,0,0.04); border-radius: 14px;
  padding: 26px 30px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03), 0 4px 16px rgba(0,0,0,0.045);
  margin-bottom: 24px;
}
.sns-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.04), 0 8px 28px rgba(0,0,0,0.065); }
.sns-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.sns-card-eyebrow {
  font-size: 9px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: #94a3b8; display: block; margin-bottom: 16px;
}
.sns-card-header .sns-card-eyebrow { margin-bottom: 0; }
.sns-card-meta { font-size: 11px; font-weight: 600; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.06em; }
.sns-card--summary { padding: 32px 36px; }
.sns-summary-body {
  display: grid; grid-template-columns: 1fr 280px; gap: 36px; align-items: start;
}
.sns-summary-desc { font-size: 14px; color: #374151; line-height: 1.7; margin-bottom: 20px; }
.sns-score-bar-wrap { display: flex; align-items: center; gap: 10px; }
.sns-score-bar-track { flex: 1; height: 4px; background: rgba(0,0,0,0.08); border-radius: 2px; overflow: hidden; }
.sns-score-bar-fill {
  height: 4px; background: linear-gradient(90deg, #f97316, #ea580c); border-radius: 2px;
  transition: width 0.8s cubic-bezier(0.4,0,0.2,1);
}
.sns-summary-stats {
  background: #f9fafb;
  border: 1px solid rgba(0,0,0,0.055);
  border-radius: 10px; padding: 18px 22px;
}
.sns-stat-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 0; border-bottom: 1px solid rgba(0,0,0,0.05);
}
.sns-stat-row:last-child { border-bottom: none; }
.sns-stat-label { font-size: 9px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #94a3b8; }
.sns-stat-value { font-size: 12px; font-weight: 700; color: #111827; }
.sns-dual-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.sns-card--today, .sns-card--toprec { margin-bottom: 0; }
.sns-priority-chip {
  display: inline-flex; align-items: center; font-size: 10px; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase; padding: 3px 10px; border-radius: 99px; margin-bottom: 10px;
}
.sns-priority-chip--high { background: rgba(245,158,11,0.1); color: #d97706; border: 1px solid rgba(245,158,11,0.25); }
.sns-priority-chip--critical { background: rgba(239,68,68,0.09); color: #dc2626; border: 1px solid rgba(239,68,68,0.22); }
.sns-priority-chip--medium { background: rgba(99,102,241,0.08); color: #4f46e5; border: 1px solid rgba(99,102,241,0.2); }
.sns-priority-chip--low { background: rgba(0,0,0,0.05); color: #6b7280; border: 1px solid rgba(0,0,0,0.1); }
.sns-rec-item { padding: 13px 0; border-bottom: 1px solid rgba(0,0,0,0.05); border-radius: 0; margin-bottom: 0; }
.sns-rec-item:last-child { border-bottom: none; padding-bottom: 0; }
.sns-rec-title { font-size: 13px; font-weight: 600; color: #0f172a; margin-bottom: 4px; line-height: 1.45; }
.sns-rec-desc { font-size: 12.5px; color: #64748b; line-height: 1.55; margin-bottom: 5px; }
.sns-rec-reliability { font-size: 11px; color: #9ca3af; }
.sns-guidance-box { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #64748b; line-height: 1.6; padding: 16px 0; }
.sns-guidance-icon { flex-shrink: 0; color: #22c55e; font-size: 16px; line-height: 1.4; }

/* ── KPI STRIP ───────────────────────────────────────────────── */
.sns-kpi-strip {
  display: flex; gap: 0; flex-wrap: wrap;
  margin: 18px 0;
  border-top: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}
.sns-kpi-chip { display: flex; flex-direction: column; align-items: center; flex: 1; min-width: 72px; padding: 14px 10px; border-right: 1px solid rgba(0,0,0,0.05); }
.sns-kpi-chip:last-child { border-right: none; }
.sns-kpi-val { font-size: 16px; font-weight: 700; color: #1e293b; letter-spacing: -0.02em; line-height: 1.2; }
.sns-kpi-lbl { font-size: 8.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.09em; color: #94a3b8; margin-top: 4px; }

/* ── SCORE BADGE ─────────────────────────────────────────────── */
.sns-score-badge { display: flex; align-items: baseline; gap: 2px; }
.sns-score-num { font-size: 28px; font-weight: 700; color: rgba(249,115,22,0.75); line-height: 1; }
.sns-score-max { font-size: 13px; color: #d1d5db; font-weight: 500; }

/* ── DIMENSION CARDS GRID ────────────────────────────────────── */
.sns-dim-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0 8px; }
.sns-dim-card {
  padding: 14px 16px; border-radius: 10px;
  border: 1px solid transparent; background: #f9fafb;
}
.sns-dim-card--success { background: rgba(34,197,94,0.04); border-color: rgba(34,197,94,0.18); }
.sns-dim-card--warning { background: rgba(245,158,11,0.04); border-color: rgba(245,158,11,0.18); }
.sns-dim-card--danger  { background: rgba(239,68,68,0.04); border-color: rgba(239,68,68,0.18); }
.sns-dim-card--neutral { background: #f9fafb; border-color: rgba(0,0,0,0.06); }
.sns-dim-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.sns-dim-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: #6b7280; }
.sns-dim-badge {
  font-size: 9px; font-weight: 700; letter-spacing: 0.06em; padding: 2px 7px; border-radius: 99px;
}
.sns-dim-badge--success { background: rgba(34,197,94,0.12); color: #15803d; }
.sns-dim-badge--warning { background: rgba(245,158,11,0.12); color: #d97706; }
.sns-dim-badge--danger  { background: rgba(239,68,68,0.1); color: #dc2626; }
.sns-dim-badge--neutral { background: rgba(0,0,0,0.07); color: #6b7280; }
.sns-dim-track {
  height: 4px; background: rgba(0,0,0,0.07); border-radius: 2px; overflow: hidden; margin-bottom: 8px;
}
.sns-dim-fill { height: 4px; border-radius: 2px; transition: width 0.7s ease; }
.sns-dim-fill--success { background: linear-gradient(90deg,#22c55e,#4ade80); }
.sns-dim-fill--warning { background: linear-gradient(90deg,#f59e0b,#fbbf24); }
.sns-dim-fill--danger  { background: linear-gradient(90deg,#ef4444,#f87171); }
.sns-dim-fill--neutral { background: #d1d5db; }
.sns-dim-detail { font-size: 11px; color: #6b7280; line-height: 1.4; margin: 0; }

/* ── WINNER / LOSER ─────────────────────────────────────────── */
.sns-wl-grid { margin-top: 14px; border-top: 1px solid rgba(0,0,0,0.05); padding-top: 12px; }
.sns-wl-row {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,0.04);
}
.sns-wl-row:last-child { border-bottom: none; }
.sns-wl-label { font-size: 10px; font-weight: 700; min-width: 130px; }
.sns-wl-label--win  { color: #16a34a; }
.sns-wl-label--lose { color: #dc2626; }
.sns-wl-name { flex: 1; font-size: 12px; color: #374151; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sns-wl-score { font-size: 11px; font-weight: 700; color: #6b7280; flex-shrink: 0; }

/* ── LITE HINT ───────────────────────────────────────────────── */
.sns-lite-hint {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 10px 14px; margin: 10px 0;
  background: rgba(99,102,241,0.025); border: 1px solid rgba(99,102,241,0.07);
  border-radius: 8px; font-size: 12px; color: #4f46e5; line-height: 1.5;
}
.sns-lite-icon { flex-shrink: 0; font-size: 15px; }

/* ── LOGGING CARD ────────────────────────────────────────────── */
.sns-card--logging {
  border-left: 2px solid rgba(99,102,241,0.22);
  background: #fff;
}
.sns-log-timeline { display: grid; gap: 0; }
.sns-log-entry {
  display: flex; gap: 12px; padding: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.sns-log-entry:last-child { border-bottom: none; }
.sns-log-dot {
  width: 10px; height: 10px; border-radius: 50%;
  flex-shrink: 0; margin-top: 4px;
}
.sns-log-dot--high     { background: #22c55e; box-shadow: 0 0 4px rgba(34,197,94,0.3); }
.sns-log-dot--medium   { background: #f59e0b; box-shadow: 0 0 4px rgba(245,158,11,0.3); }
.sns-log-dot--low      { background: #ef4444; box-shadow: 0 0 4px rgba(239,68,68,0.3); }
.sns-log-dot--no_signal { background: #d1d5db; }
.sns-log-body { flex: 1; min-width: 0; }
.sns-log-meta {
  display: flex; gap: 6px; align-items: center;
  flex-wrap: wrap; margin-bottom: 3px;
}
.sns-log-trigger {
  font-size: 10px; font-weight: 700;
  background: rgba(99,102,241,0.08); color: #4f46e5;
  padding: 2px 8px; border-radius: 99px;
}
.sns-log-type { font-size: 10px; font-weight: 600; color: #9ca3af; }
.sns-log-time { font-size: 10px; color: #d1d5db; margin-left: auto; }
.sns-log-summary { font-size: 12px; color: #6b7280; line-height: 1.4; }
.sns-log-empty { font-size: 12px; color: #d1d5db; padding: 12px 0; text-align: center; }
.sns-log-more-wrap{margin-top:10px;display:flex;justify-content:flex-start}

/* ── ALERT COUNTS + ACTION ───────────────────────────────────── */
.sns-alert-counts { display: flex; gap: 4px; }
.sns-alert-count {
  font-size: 10px; font-weight: 800; min-width: 20px; height: 20px;
  border-radius: 99px; display: inline-flex; align-items: center; justify-content: center; padding: 0 5px;
}
.sns-alert-count--red    { background: rgba(239,68,68,0.12); color: #dc2626; }
.sns-alert-count--yellow { background: rgba(245,158,11,0.12); color: #d97706; }
.sns-alert-action { font-size: 11px; color: #64748b; margin-top: 3px; font-weight: 500; }
.sns-alert-item--info { background: rgba(0,0,0,0.02); border-left: 3px solid #d1d5db; }

/* ── ELITE RESULT IMPROVEMENTS ───────────────────────────────── */
.sns-result-context {
  padding: 12px 16px; background: rgba(99,102,241,0.03);
  border: 1px solid rgba(99,102,241,0.08); border-radius: 8px; margin-bottom: 10px;
}
.sns-result-ctx-label {
  font-size: 9px; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: #6366f1; display: block; margin-bottom: 4px;
}
.sns-result-context p { font-size: 13px; color: #374151; margin: 0; line-height: 1.5; }
.sns-result-kpi-row { display: flex; gap: 18px; flex-wrap: wrap; margin: 8px 0 10px; }
.sns-result-kpi { font-size: 13px; color: #6b7280; }
.sns-result-kpi b { color: #111827; }
.sns-result-kpi--score b { color: rgba(249,115,22,0.75); }
.sns-result-dims { display: grid; gap: 8px; }
.sns-result-dim-row {
  display: grid; grid-template-columns: 100px 1fr auto; gap: 10px; align-items: center;
}
.sns-result-dim-name { font-size: 11px; font-weight: 600; color: #6b7280; }
.sns-result-dim-bar {
  height: 6px; background: rgba(0,0,0,0.07); border-radius: 3px; overflow: hidden;
}
.sns-result-dim-detail {
  font-size: 11px; color: #9ca3af; max-width: 200px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sns-result-summary-text { font-size: 13px; color: #374151; line-height: 1.55; margin: 8px 0 0; }
.sns-result-empty { font-size: 13px; color: #9ca3af; padding: 16px 0; text-align: center; display: flex; align-items: center; gap: 8px; justify-content: center; }
.sns-result-empty-icon { font-size: 18px; opacity: 0.5; }
.sns-next-arrow { color: #f97316; margin-right: 4px; font-weight: 700; }

/* ── ARCHIVE IMPROVEMENTS ───────────────────────────────────── */
.sns-arc-title {
  font-size: 12px; font-weight: 600; color: #374151; margin-bottom: 2px;
}
.sns-arc-actions { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }

/* ── RESPONSIVE BREAKPOINT ──────────────────────────────────── */
@media (max-width: 900px) {
  .sns-hero__inner { grid-template-columns: 1fr; gap: 20px; padding: 24px 24px; }
  .sns-hero__center,.sns-hero__right { justify-self: start; }
  .sns-hero__qs-grid { grid-template-columns: repeat(4,1fr); min-width: unset; }
  .sns-dim-grid { grid-template-columns: 1fr; }
  .sns-result-dim-row { grid-template-columns: 80px 1fr; }
  .sns-result-dim-detail { display: none; }
}
@media (max-width: 700px) {
  .sns-insights-layout { grid-template-columns: 1fr; }
  .sns-dual-grid { grid-template-columns: 1fr; }
  .sns-elite-grid { grid-template-columns: 1fr; }
  .sns-hero__qs-grid { grid-template-columns: 1fr 1fr; }
  .sns-hero--v2 { border-radius: 14px; margin: 8px 8px 0; }
  .sns-hero-title { font-size: clamp(1.5rem, 7vw, 2rem); }
  .sns-hero-actions { flex-direction: column; align-items: stretch; }
  .sns-hero-actions .sns-btn-primary,
  .sns-hero-actions .sns-btn-secondary { text-align: center; justify-content: center; }
  .sns-intelligence-grid { gap: 14px; }
  .sns-composer-fields { gap: 10px; }
  .sns-elite { padding: 16px; border-radius: 14px; }
  .sns-intel-rail { flex-direction: column; }
  .sns-card { padding: 16px 14px; }
}

.sns-card--alerts { margin-bottom: 20px; }
.sns-alerts-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.sns-alerts-header .sns-card-eyebrow { margin-bottom: 0; }
.sns-alert-list { display: grid; gap: 8px; }

/* ── HEUTE WICHTIG + TOP-EMPFEHLUNG ─────────────────────────── */
.sns-hc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.sns-hc{padding:20px 22px;border-radius:14px;background:var(--bg-surface);box-shadow:var(--sh-2,0 4px 12px rgba(12,18,28,.08));display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;cursor:default;border-left:3px solid var(--line-mid,#d6dee9)}
.sns-hc--problem{border-left-color:rgba(194,122,29,.6);background:linear-gradient(160deg,rgba(194,122,29,.04),var(--bg-surface))}
.sns-hc--action{border-left-color:rgba(28,156,99,.55);background:linear-gradient(160deg,rgba(28,156,99,.04),var(--bg-surface))}
.sns-hc--ok{border-left-color:var(--line-subtle,#e7ecf3)}
.sns-signal-clickable.sns-hc{cursor:pointer;transition:transform .15s,box-shadow .15s}
.sns-signal-clickable.sns-hc:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(12,18,28,.11)}
.sns-hc-eyebrow{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted,#708198)}
.sns-hc--problem .sns-hc-eyebrow{color:var(--warning,#c27a1d)}
.sns-hc--action .sns-hc-eyebrow{color:var(--success,#1c9c63)}
.sns-hc-title{margin:0;font-size:15px;font-weight:700;color:var(--text-primary,#111827);line-height:1.3}
.sns-hc-body{margin:0;font-size:13px;color:var(--text-secondary,#4c5c72);line-height:1.55}
.sns-hc-meta-grid{display:grid;gap:6px;margin-top:2px}
.sns-hc-meta-row{display:flex;gap:8px;font-size:12px}
.sns-hc-meta-label{color:var(--text-muted,#708198);font-weight:600;flex-shrink:0;min-width:80px}
.sns-hc-meta-val{color:var(--text-secondary,#4c5c72)}
.sns-hc-ok-mark{font-size:20px;color:var(--success,#1c9c63);font-weight:700}
.sns-hc-ok-text{margin:0;font-size:13px;color:var(--text-secondary,#4c5c72);line-height:1.5}
.sns-hc-cue{font-size:11px;color:var(--text-muted,#708198);margin-top:auto;transition:color .12s}
.sns-signal-clickable.sns-hc:hover .sns-hc-cue{color:var(--success,#1c9c63)}
@media(max-width:700px){.sns-hc-row{grid-template-columns:1fr}}
.sns-alert-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 16px; border-radius: 0 8px 8px 0;
}
.sns-alert-item--ok { background: rgba(34,197,94,0.025); border-left: 2px solid rgba(34,197,94,0.38); }
.sns-alert-item--warn,.sns-alert-item--warning { background: rgba(245,158,11,0.025); border-left: 2px solid rgba(245,158,11,0.38); }
.sns-alert-item--error { background: rgba(239,68,68,0.025); border-left: 2px solid rgba(239,68,68,0.38); }
.sns-alert-item--success { background: rgba(34,197,94,0.025); border-left: 2px solid rgba(34,197,94,0.38); }
.sns-alert-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; background: #d1d5db; }
.sns-alert-item--ok .sns-alert-dot,.sns-alert-item--success .sns-alert-dot { background: #22c55e; }
.sns-alert-item--warn .sns-alert-dot,.sns-alert-item--warning .sns-alert-dot { background: #f59e0b; }
.sns-alert-item--error .sns-alert-dot { background: #ef4444; }
.sns-alert-icon { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; background: #d1d5db; }
.sns-alert-item--success .sns-alert-icon { background: #22c55e; }
.sns-alert-item--warning .sns-alert-icon { background: #f59e0b; }
.sns-alert-title { font-size: 13px; font-weight: 600; color: #111827; margin-bottom: 2px; }
.sns-alert-body { font-size: 12px; color: #6b7280; line-height: 1.45; margin: 0; }
.sns-action-bar { display: flex; gap: 10px; flex-wrap: wrap; padding: 4px 0 40px; }

/* ── ZONE 3: TRANSITION ─────────────────────────────────────── */
.sns-transition { padding: 0 0 36px; }
.sns-transition-line {
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.1) 20%, rgba(0,0,0,0.1) 80%, transparent 100%);
  margin-bottom: 36px;
}

/* ── ZONE 4: ELITE WORKSPACE ────────────────────────────────── */
.sns-elite {
  background: transparent;
  border: none;
  border-top: 1px solid rgba(0,0,0,0.05);
  border-radius: 0;
  padding: 36px 0 40px;
  margin-bottom: 40px;
}
.sns-elite-meta { display: flex; justify-content: flex-end; margin-bottom: 20px; }
.sns-archive-counter {
  font-size: 11px; font-weight: 600; color: #6b7280;
  background: white; border: 1px solid rgba(0,0,0,0.08);
  border-radius: 99px; padding: 4px 12px; text-transform: uppercase; letter-spacing: 0.06em;
}
.sns-archive-counter strong { color: #374151; font-weight: 700; }
.sns-elite-grid { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
.sns-card--elite-form,.sns-card--archive { margin-bottom: 0; background: white; }
.sns-composer-desc { font-size: 12px; color: #6b7280; margin: 0 0 18px; line-height: 1.5; }
.sns-field-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: #9ca3af; display: block; margin-bottom: 6px; margin-top: 16px;
}
.sns-optional { font-size: 9px; color: #d1d5db; margin-left: 4px; }
.sns-select {
  width: 100%; padding: 9px 12px; border: 1px solid rgba(0,0,0,0.1);
  border-radius: 8px; font-size: 13px; background: #f9fafb; color: #374151;
  appearance: none; cursor: pointer;
}
.sns-select--sm { padding: 6px 10px; font-size: 12px; }
.sns-select:focus,.sns-input:focus,.sns-textarea:focus {
  outline: none; border-color: rgba(249,115,22,0.4);
  box-shadow: 0 0 0 3px rgba(249,115,22,0.08);
}
.sns-input {
  width: 100%; padding: 9px 12px; border: 1px solid rgba(0,0,0,0.1);
  border-radius: 8px; font-size: 13px; background: #f9fafb; color: #374151; box-sizing: border-box;
}
.sns-textarea {
  width: 100%; padding: 10px 12px; border: 1px solid rgba(0,0,0,0.1);
  border-radius: 8px; font-size: 13px; background: #f9fafb; color: #374151;
  min-height: 90px; resize: vertical; box-sizing: border-box; font-family: inherit; line-height: 1.5;
}
.sns-btn-fullwidth { width: 100%; margin-top: 16px; justify-content: center; }
.sns-elite-result-area { margin-top: 16px; min-height: 48px; }
.sns-result-placeholder {
  font-size: 13px; color: #9ca3af; display: block; padding: 14px 16px; text-align: center;
  background: rgba(249,115,22,0.03); border: 1px solid rgba(249,115,22,0.08); border-radius: 8px;
}
.sns-archive-title { font-size: 15px; font-weight: 600; color: #111827; margin-bottom: 16px; }
.sns-archive-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.sns-archive-list { display: grid; gap: 4px; max-height: 580px; overflow: auto; }
.sns-archive-empty { font-size: 13px; color: #9ca3af; padding: 16px 0; text-align: center; }
.sns-archive-entry {
  padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,0.05);
}
.sns-archive-entry:last-child { border-bottom: none; }
.sns-archive-entry-meta,.sns-archive-meta {
  display: flex; gap: 6px; align-items: center; margin-bottom: 4px; flex-wrap: wrap;
}
.sns-arc-type,.sns-archive-type {
  font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 99px;
  background: rgba(0,0,0,0.06); color: #4b5563;
}
.sns-arc-signal,.sns-archive-signal { font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 99px; }
.sns-arc-signal--high,.sns-signal--high { background: rgba(34,197,94,0.1); color: #16a34a; }
.sns-arc-signal--medium,.sns-signal--medium { background: rgba(245,158,11,0.1); color: #d97706; }
.sns-arc-signal--low,.sns-signal--low { background: rgba(239,68,68,0.09); color: #dc2626; }
.sns-arc-signal--no_signal,.sns-signal--no_signal { background: rgba(0,0,0,0.05); color: #9ca3af; }
.sns-arc-date,.sns-archive-date { font-size: 11px; color: #9ca3af; margin-left: auto; }
.sns-arc-summary,.sns-archive-summary {
  font-size: 12px; color: #6b7280; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sns-archive-detail { padding: 12px 14px; background: #f9fafb; border-radius: 8px; margin-bottom: 8px; }
.sns-archive-detail pre { max-height: 200px; overflow: auto; margin: 8px 0 0; padding: 10px; background: white; border-radius: 6px; font-size: 11px; white-space: pre-wrap; }
.sns-archive-more-wrap{padding-top:10px}
.sns-result-empty,.sns-result-loading { font-size: 13px; color: #9ca3af; padding: 12px 0; }
.sns-result-error { font-size: 13px; color: #dc2626; padding: 12px 0; }
.sns-result-stack { display: grid; gap: 12px; }
.sns-result-section { padding: 16px 18px; background: #f9fafb; border-radius: 8px; }
.sns-result-label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #9ca3af; margin-bottom: 8px; display: block; }
.sns-next-step { padding: 8px 12px; background: white; border-radius: 6px; border: 1px solid rgba(0,0,0,0.07); font-size: 13px; color: #374151; margin-bottom: 6px; }
.sns-result-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.sns-muted { font-size: 13px; color: #9ca3af; }

/* ── AKTUELLE LAGE ───────────────────────────────────────────── */
.sns-situation-bar{background:var(--bg-surface);border:none;border-radius:14px;padding:20px 24px;margin-bottom:20px;box-shadow:var(--sh-2,0 4px 12px rgba(12,18,28,.08))}
.sns-sit-header{margin-bottom:16px}
.sns-situation-zones{display:flex;gap:0}
.sns-sit-zone{flex:1;padding:0 24px;display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line-subtle,#e7ecf3);min-width:0}
.sns-sit-zone:first-child{padding-left:0}
.sns-sit-zone:last-child{border-right:0;padding-right:0}
.sns-sit-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted,#708198)}
.sns-sit-val{font-size:18px;font-weight:800;color:var(--text-primary,#111827);line-height:1.2;letter-spacing:-.01em}
.sns-sit-val--focus{font-size:14px;font-weight:600;color:var(--accent,#4f6ef7);letter-spacing:0;white-space:normal;overflow:visible;min-width:0;line-height:1.45}
.sns-sit-zone--ok .sns-sit-val{color:var(--success,#1c9c63)}
.sns-sit-zone--building .sns-sit-val{color:var(--warning,#c27a1d)}
.sns-sit-zone--idle .sns-sit-val{color:var(--text-muted,#708198)}
.sns-situation-text{font-size:13px;color:var(--text-secondary,#4c5c72);line-height:1.6;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line-subtle,#e7ecf3)}

/* ── OPERATIONS BOARD ────────────────────────────────────────── */
.sns-ops-board{margin-bottom:20px}
.sns-ops-board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.sns-ops-lite{font-size:10px;color:var(--text-muted,#708198)}
.sns-ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sns-ops-card{background:var(--bg-surface);border:none;border-left:3px solid var(--line-mid,#d6dee9);border-radius:12px;padding:16px 18px 14px;display:flex;flex-direction:column;gap:5px;cursor:pointer;box-shadow:var(--sh-1,0 1px 2px rgba(12,18,28,.06));transition:transform .15s,box-shadow .15s}
.sns-ops-card:hover{transform:translateY(-1px);box-shadow:var(--sh-2,0 4px 12px rgba(12,18,28,.08))}
.sns-ops-head{display:flex;align-items:center;justify-content:space-between;gap:6px}
.sns-ops-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted,#708198)}
.sns-ops-status{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:4px}
.sns-ops-status--ok{background:var(--success-soft,rgba(28,156,99,.14));color:var(--success,#1c9c63)}
.sns-ops-status--alarm{background:var(--danger-soft,rgba(210,79,79,.14));color:var(--danger,#d24f4f)}
.sns-ops-status--warn{background:var(--warning-soft,rgba(194,122,29,.14));color:var(--warning,#c27a1d)}
.sns-ops-status--idle{background:#f1f5f9;color:#94a3b8}
.sns-ops-primary{font-size:14px;font-weight:700;color:var(--text-primary,#111827);line-height:1.3}
.sns-ops-detail{font-size:11.5px;color:var(--text-secondary,#4c5c72);line-height:1.45;margin:0;flex:1}
.sns-ops-card--ok{border-left-color:rgba(28,156,99,.55)}
.sns-ops-card--alarm{border-left-color:rgba(210,79,79,.65)}
.sns-ops-card--warn{border-left-color:rgba(194,122,29,.55)}

/* ── ANALYSEVERLAUF ──────────────────────────────────────────── */
.sns-card--activity-feed{margin-bottom:20px}
.sns-af-list{display:flex;flex-direction:column}
.sns-af-entry{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-subtle,#e7ecf3);cursor:pointer;position:relative;transition:background .1s;border-radius:8px}
.sns-af-entry:last-child{border-bottom:0}
.sns-af-entry:hover{background:var(--bg-surface-2,#f5f7fa);border-radius:6px;padding-left:8px;padding-right:8px;margin:0 -8px}
.sns-af-dot{width:8px;height:8px;border-radius:50%;background:var(--line-mid,#d6dee9);flex-shrink:0;margin-top:5px}
.sns-af-dot--high,.sns-af-dot--evaluatable{background:var(--success,#1c9c63);opacity:.75}
.sns-af-dot--low,.sns-af-dot--early_signal,.sns-af-dot--low_signal{background:var(--warning,#c27a1d);opacity:.75}
.sns-af-dot--no_signal{background:var(--text-muted,#708198);opacity:.5}
.sns-af-body{flex:1;min-width:0}
.sns-af-label{display:inline-block;font-size:9.5px;font-weight:700;color:var(--accent,#4f6ef7);text-transform:uppercase;letter-spacing:.08em;background:rgba(79,110,247,.1);padding:2px 6px;border-radius:4px;margin-bottom:3px}
.sns-af-summary{font-size:13px;font-weight:600;color:var(--text-primary,#111827);line-height:1.4;margin:2px 0}
.sns-af-time{font-size:11px;color:var(--text-muted,#708198);font-family:var(--font-mono,'JetBrains Mono',monospace);display:block;margin-top:2px}
.sns-af-actions{display:none;gap:6px;flex-shrink:0;align-items:center}
.sns-af-entry:hover .sns-af-actions{display:flex}
.sns-af-btn{font-size:11px;font-weight:600;color:var(--success,#1c9c63);background:none;border:1px solid rgba(28,156,99,.2);border-radius:5px;padding:4px 8px;cursor:pointer;white-space:nowrap;transition:background .1s}
.sns-af-btn:hover{background:rgba(28,156,99,.06)}

/* ── ELITE COMPOSER ──────────────────────────────────────────── */
.sns-elite-v2{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:16px}
.sns-elite-composer{background:var(--bg-surface);border:none;border-radius:14px;padding:24px 28px 22px;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--sh-2,0 4px 12px rgba(12,18,28,.08))}
.sns-elite-composer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0f5a4b,rgba(28,156,99,.3));border-radius:14px 14px 0 0}
.sns-composer-heading{font-size:18px;font-weight:800;color:var(--text-primary,#111827);margin:12px 0 4px;line-height:1.25;letter-spacing:-.02em}
.sns-composer-subtext{font-size:11px;color:var(--text-muted,#708198);margin:0 0 18px;letter-spacing:.01em}
.sns-composer-fields{display:flex;flex-direction:column;gap:0}
.sns-composer-textarea{width:100%;padding:10px 12px;border:1px solid var(--line-subtle,#e7ecf3);border-radius:8px;font-size:13px;background:var(--bg-surface-2,#f5f7fa);color:var(--text-secondary,#4c5c72);resize:none;box-sizing:border-box;font-family:var(--font-body,-apple-system,sans-serif)}
.sns-composer-textarea--lg{width:100%;min-height:100px;resize:vertical;border:1px solid var(--line-subtle,#e7ecf3);border-radius:8px;padding:12px 14px;font-size:14px;color:var(--text-primary,#111827);background:var(--bg-surface-2,#f5f7fa);transition:border-color .15s,box-shadow .15s;box-sizing:border-box;font-family:var(--font-body,-apple-system,sans-serif)}
.sns-composer-textarea--lg:focus{outline:none;border-color:var(--accent,#4f6ef7);box-shadow:0 0 0 2px rgba(79,110,247,.12)}
.sns-composer-textarea--lg::placeholder{color:var(--text-muted,#708198)}
.sns-composer-btn--v2{margin-top:16px;padding:11px 22px;background:linear-gradient(135deg,#0f5a4b,#1a7a64);color:#fff;border:none;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;align-self:flex-start;transition:background .15s,box-shadow .15s,transform .12s;letter-spacing:.02em;box-shadow:0 4px 14px rgba(15,90,75,.25)}
.sns-composer-btn--v2:hover{background:linear-gradient(135deg,#0a4036,#156b57);box-shadow:0 6px 20px rgba(15,90,75,.35);transform:translateY(-1px)}
.sns-elite-archive{background:var(--bg-surface);border:none;border-radius:14px;padding:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sh-2,0 4px 12px rgba(12,18,28,.08))}
.sns-elite-archive>.sns-card-eyebrow{padding:16px 18px 0;margin-bottom:0;display:block}
.sns-archive-filters{display:flex;flex-direction:row;gap:6px;margin:10px 18px 0;flex-wrap:wrap}
.sns-archive-list{display:grid;gap:0;max-height:580px;overflow:auto}
.sns-archive-empty{font-size:13px;color:var(--text-muted,#708198);padding:16px 18px;text-align:center}
.sns-archive-entry{padding:12px 18px;border-bottom:1px solid var(--line-subtle,#e7ecf3);transition:background .12s}
.sns-archive-entry:hover{background:var(--bg-surface-2,#f5f7fa)}
.sns-archive-entry:last-child{border-bottom:none}
.sns-archive-entry-meta,.sns-archive-meta{display:flex;gap:6px;align-items:center;margin-bottom:4px;flex-wrap:wrap}
.sns-arc-type,.sns-archive-type{font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:4px;background:rgba(79,110,247,.1);color:var(--accent,#4f6ef7);letter-spacing:.04em;text-transform:uppercase}
.sns-arc-signal,.sns-archive-signal{font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}
.sns-arc-signal--high,.sns-signal--high{background:var(--success-soft,rgba(28,156,99,.14));color:var(--success,#1c9c63)}
.sns-arc-signal--medium,.sns-signal--medium{background:var(--warning-soft,rgba(194,122,29,.14));color:var(--warning,#c27a1d)}
.sns-arc-signal--low,.sns-signal--low{background:var(--danger-soft,rgba(210,79,79,.14));color:var(--danger,#d24f4f)}
.sns-arc-signal--no_signal,.sns-signal--no_signal{background:#f1f5f9;color:#94a3b8}
.sns-arc-date,.sns-archive-date{font-size:10.5px;color:var(--text-muted,#708198);margin-left:auto;font-family:var(--font-mono,'JetBrains Mono',monospace)}
.sns-arc-title{font-size:13px;font-weight:600;color:var(--text-primary,#111827);margin:4px 0 6px;line-height:1.35}
.sns-arc-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.sns-arc-actions .sns-archive-open,.sns-arc-actions .sns-print-btn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--line-subtle,#e7ecf3);transition:background .12s}
.sns-arc-actions .sns-archive-open{background:var(--bg-surface-2,#f5f7fa);color:var(--text-primary,#111827)}
.sns-arc-actions .sns-archive-open:hover{background:#edf0f4}
.sns-arc-actions .sns-print-btn{background:transparent;color:var(--text-secondary,#4c5c72)}
.sns-arc-actions .sns-print-btn:hover{background:var(--bg-surface-2,#f5f7fa)}
.sns-archive-more-wrap{padding:12px 18px;border-top:1px solid var(--line-subtle,#e7ecf3);text-align:center}

/* ── SELECT ──────────────────────────────────────────────────── */
.sns-select{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--line-subtle,#e7ecf3);border-radius:8px;font-size:14px;background:var(--bg-surface-2,#f5f7fa);color:var(--text-primary,#111827);appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23708198' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .15s,box-shadow .15s}
.sns-select:hover{border-color:var(--line-mid,#d6dee9)}
.sns-select--sm{padding:6px 30px 6px 10px;font-size:12px}
.sns-select:focus{outline:none;border-color:var(--accent,#4f6ef7);box-shadow:0 0 0 2px rgba(79,110,247,.12)}

/* ── INTELLIGENCE ENTRY (inline) ─────────────────────────────── */
.sns-intel-rows{display:flex;flex-direction:column;margin:14px 0 0}
.sns-intel-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-subtle,#e7ecf3)}
.sns-intel-row:last-child{border-bottom:0}
.sns-intel-row span{color:var(--text-muted,#708198);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.sns-intel-row strong{color:var(--text-primary,#111827);font-weight:700;font-size:13px}
.sns-intel-chip--ready{padding:4px 10px;border-radius:6px;background:var(--success-soft,rgba(28,156,99,.14));border:1px solid rgba(28,156,99,.25);color:var(--success,#1c9c63);font-size:10px;font-weight:800;letter-spacing:.04em}
.sns-intel-chip--building{padding:4px 10px;border-radius:6px;background:var(--warning-soft,rgba(194,122,29,.14));border:1px solid rgba(194,122,29,.2);color:var(--warning,#c27a1d);font-size:10px;font-weight:800;letter-spacing:.04em}
.sns-intel-deeplink{margin-top:20px;padding:12px 18px;background:linear-gradient(135deg,#0f5a4b,#1a7a64);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s,box-shadow .15s,transform .12s;letter-spacing:.02em;box-shadow:0 4px 14px rgba(15,90,75,.24)}
.sns-intel-deeplink:hover{background:linear-gradient(135deg,#0a4036,#156b57);box-shadow:0 6px 20px rgba(15,90,75,.34);transform:translateY(-1px)}

/* ── RESULT PANEL (Letzte Analyse) ──────────────────────────── */
.sns-card--latest-analysis{background:var(--bg-surface);border-radius:14px;box-shadow:var(--sh-2,0 4px 12px rgba(12,18,28,.08));border:none;overflow:hidden;position:relative}
.sns-card--latest-analysis::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--success,#1c9c63),rgba(28,156,99,.2));border-radius:14px 14px 0 0}
.sns-result-stack{display:grid;gap:0}
.sns-result-section{padding:14px 0;border-bottom:1px solid var(--line-subtle,#e7ecf3)}
.sns-result-section:last-of-type{border-bottom:0}
.sns-result-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted,#708198);margin-bottom:7px;display:block}
.sns-result-actions{display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-subtle,#e7ecf3)}
.sns-result-loading,.sns-result-empty{font-size:13px;color:var(--text-muted,#708198);padding:12px 0;display:flex;align-items:center;gap:8px;justify-content:center}
.sns-result-error{font-size:13px;color:var(--danger,#d24f4f);padding:12px 0}

/* ── BUTTONS (sns scope) ─────────────────────────────────────── */
.sns-btn-primary {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 20px;
  background: linear-gradient(135deg,#0f5a4b,#1a7a64); color: #fff; border: none; border-radius: 8px;
  font-size: 13px; font-weight: 700; cursor: pointer;
  box-shadow: 0 4px 12px rgba(15,90,75,.24);
  transition: background .15s, transform .12s, box-shadow .12s; white-space: nowrap;
}
.sns-btn-primary:hover { background: linear-gradient(135deg,#0a4036,#156b57); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(15,90,75,.32); }
.sns-btn-primary:active { transform: translateY(0); }
.sns-btn-ghost {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px;
  background: transparent; color: var(--text-secondary,#4c5c72); border: 1px solid var(--line-subtle,#e7ecf3); border-radius: 8px;
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: background .12s, color .12s, border-color .12s; white-space: nowrap;
}
.sns-btn-ghost:hover { background: var(--bg-surface-2,#f5f7fa); color: var(--text-primary,#111827); border-color: var(--line-mid,#d6dee9); }
.sns-btn-outline {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 18px;
  background: white; color: #374151; border: 1px solid rgba(0,0,0,0.12); border-radius: 8px;
  font-size: 13px; font-weight: 500; cursor: pointer;
  transition: border-color 0.12s, background 0.12s; white-space: nowrap;
}
.sns-btn-outline:hover { border-color: rgba(0,0,0,0.22); background: #f9fafb; }

/* ── SIGNAL DETAIL DRAWER ───────────────────────────────────── */
.sns-detail-overlay {
  position: fixed; inset: 0; z-index: 1400;
  background: rgba(15,23,42,0.22);
  backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
  opacity: 0; pointer-events: none;
  transition: opacity .22s ease;
}
.sns-detail-overlay.is-open { opacity: 1; pointer-events: auto; }
.sns-detail-drawer {
  position: fixed; right: 0; top: 0; bottom: 0; z-index: 1401;
  width: min(480px, 92vw);
  background: #fff;
  border-left: 1px solid rgba(0,0,0,0.07);
  box-shadow: -8px 0 40px rgba(15,23,42,0.09);
  overflow-y: auto; overflow-x: hidden;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(0.22,0.61,0.36,1);
}
.sns-detail-drawer.is-open { transform: translateX(0); }
.sns-detail-drawer-inner { display: flex; flex-direction: column; min-height: 100%; }
.sns-dd-header {
  padding: 24px 28px 20px;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  position: sticky; top: 0; background: #fff; z-index: 1;
}
.sns-dd-close {
  position: absolute; top: 18px; right: 20px;
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(0,0,0,0.05); border: none; cursor: pointer;
  font-size: 16px; color: #6b7280; display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.sns-dd-close:hover { background: rgba(0,0,0,0.1); color: #111827; }
.sns-dd-eyebrow {
  font-size: 9px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: #94a3b8; display: block; margin-bottom: 8px;
}
.sns-dd-title {
  font-size: 16px; font-weight: 700; color: #0f172a; margin: 0 0 6px;
  line-height: 1.3; padding-right: 36px;
}
.sns-dd-meta { font-size: 11px; color: #94a3b8; }
.sns-dd-priority {
  display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: 0.08em;
  padding: 2px 8px; border-radius: 99px; margin-left: 8px; vertical-align: middle;
}
.sns-dd-priority--critical,.sns-dd-priority--high { background: rgba(239,68,68,0.1); color: #dc2626; }
.sns-dd-priority--medium { background: rgba(245,158,11,0.1); color: #d97706; }
.sns-dd-priority--low { background: rgba(0,0,0,0.06); color: #6b7280; }
.sns-dd-section {
  padding: 18px 28px;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.sns-dd-section:last-child { border-bottom: none; }
.sns-dd-section--warn { background: rgba(245,158,11,0.03); }
.sns-dd-section--limits { background: rgba(0,0,0,0.015); }
.sns-dd-label {
  font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: #94a3b8; display: block; margin-bottom: 8px;
}
.sns-dd-text { font-size: 13px; color: #374151; line-height: 1.6; margin: 0 0 4px; }
.sns-dd-error { font-size: 13px; color: #dc2626; }
.sns-dd-loading {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 60px 20px; gap: 16px; color: #94a3b8; font-size: 13px;
}
.sns-dd-spinner {
  width: 22px; height: 22px; border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.08); border-top-color: #f97316;
  animation: sns-spin .7s linear infinite;
}
@keyframes sns-spin { to { transform: rotate(360deg); } }

/* ── SIGNAL CLICKABLE ───────────────────────────────────────── */
.sns-signal-clickable {
  cursor: pointer;
  transition: background .15s;
  position: relative;
}
.sns-signal-clickable:hover { background: rgba(249,115,22,0.03); }
.sns-signal-clickable:focus-visible { outline: 2px solid rgba(249,115,22,0.35); outline-offset: 2px; }
.sns-signal-detail-cue {
  display: block; font-size: 10px; color: rgba(249,115,22,0.6); margin-top: 6px;
  font-weight: 600; letter-spacing: 0.04em;
  opacity: 0; transition: opacity .15s;
}
.sns-signal-clickable:hover .sns-signal-detail-cue { opacity: 1; }

/* ── QUICK ACCESS GRID ──────────────────────────────────────── */
.sns-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
  align-items: stretch;
}
.sns-quick-btn {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  justify-items: start;
  gap: 8px;
  min-width: 0;
  min-height: 52px;
  height: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(15,23,42,0.08);
  box-shadow: 0 1px 2px rgba(15,23,42,0.03);
  font-size: 12px;
  font-weight: 650;
  color: #374151;
  cursor: pointer;
  transition: background .14s, border-color .14s, box-shadow .14s, transform .14s;
  white-space: normal;
  text-align: left;
  line-height: 1.22;
}
.sns-quick-btn:hover {
  background: #f4f7fb;
  border-color: rgba(249,115,22,0.24);
  box-shadow: 0 8px 18px rgba(15,23,42,0.07);
  transform: translateY(-1px);
}
.sns-quick-btn:active { transform: translateY(0); }
.sns-quick-btn--primary {
  background: linear-gradient(180deg, rgba(255,247,237,0.98), rgba(255,237,213,0.92));
  border-color: rgba(249,115,22,0.26);
  color: #9a3412;
}
.sns-quick-btn--primary:hover {
  background: linear-gradient(180deg, rgba(255,247,237,1), rgba(254,215,170,0.92));
  border-color: rgba(249,115,22,0.36);
}
.sns-quick-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  color: #9ca3af;
}
.sns-quick-btn--primary .sns-quick-icon { color: #c2410c; }
.sns-quick-label {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* ── INTELLIGENCE COMPOSER ──────────────────────────────────── */
.sns-composer-header { margin-bottom: 20px; }
.sns-composer-fields { display: flex; flex-direction: column; gap: 0; }
.sns-composer-row { display: flex; gap: 12px; }
.sns-composer-col { flex: 1; min-width: 0; }
.sns-composer-textarea {
  width: 100%; padding: 12px 14px;
  border: 1px solid rgba(0,0,0,0.09); border-radius: 10px;
  font-size: 13px; background: #fafafa; color: #374151;
  min-height: 100px; resize: vertical; box-sizing: border-box;
  font-family: inherit; line-height: 1.6;
  transition: border-color .15s, box-shadow .15s;
}
.sns-composer-textarea:focus {
  outline: none; border-color: rgba(249,115,22,0.35);
  box-shadow: 0 0 0 3px rgba(249,115,22,0.07); background: #fff;
}
.sns-composer-textarea::placeholder { color: #c4c9d4; }
.sns-composer-cta {
  display: flex; justify-content: flex-end; margin-top: 16px; padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,0.05);
}
.sns-composer-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 22px; border-radius: 10px;
  background: #111827; color: #fff; border: none;
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: background .15s, opacity .15s;
  letter-spacing: 0.01em;
}
.sns-composer-btn:hover { background: #1e293b; }
.sns-composer-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.sns-composer-btn-label { flex: 1; }

/* ── SIDEPANEL (snsp-*) ─────────────────────────────────────── */
.snsp-section{padding:var(--sp-3);border-radius:var(--r-md);background:var(--bg-surface);box-shadow:var(--sh-1)}
.snsp-section-title{margin:0 0 var(--sp-2);font-size:var(--fs-2xs);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--text-muted);font-weight:700}
.snsp-section--status{border-left:3px solid var(--line-mid)}
.snsp-section--decision{border-left:3px solid #f97316}
.snsp-section--today{border-left:3px solid #f59e0b}
.snsp-section--alerts{border-left:3px solid #ef4444}
.snsp-section--actions{border-left:3px solid var(--line-subtle)}
.snsp-section--help{border-left:3px solid var(--line-subtle)}
.snsp-help-input{width:100%;border:1px solid var(--line-subtle);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);padding:var(--sp-3)}
.snsp-help-results{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}
.snsp-help-item,.snsp-action-btn{padding:var(--sp-3);border-radius:var(--r-md);background:var(--bg-surface-2);color:var(--text-primary)}

/* ═══════════════════════════════════════════════════════════════
   SENSAI V6 — NEW PREMIUM CLASSES
   sns-ph-*   Premium Hero
   sns-sit-*  Situation Band
   sns-as-*   Analyse Start
   sns-exec-* Executive Decision
   sns-sr-*   Signal Reasoning
   sns-ao-*   Action Options
   sns-arc-*  Archive Section
   ═══════════════════════════════════════════════════════════════ */

/* ─── Premium Hero ─────────────────────────────────────────────── */
.sns-premium-hero {
  display: grid;
  grid-template-columns: 1fr min(320px, 38%);
  gap: 24px;
  align-items: start;
  background: linear-gradient(135deg, #0d1b2e 0%, #0a1628 55%, #0f2040 100%);
  border-radius: 16px;
  padding: 32px 36px;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
  color: #e8eef8;
  box-shadow: 0 8px 32px rgba(10,20,40,0.28);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.sns-premium-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 50% at 80% 30%, rgba(15,90,75,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.sns-ph-left { position: relative; z-index: 1; min-width: 0; }
.sns-ph-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(200,220,255,0.55);
  margin: 0 0 10px;
}
.sns-ph-badge-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.sns-ph-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 4px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
}
.sns-ph-badge--stable  { background: rgba(34,197,94,0.18);  color: #4ade80; border: 1px solid rgba(34,197,94,0.3); }
.sns-ph-badge--watch   { background: rgba(251,191,36,0.15);  color: #fbbf24; border: 1px solid rgba(251,191,36,0.28); }
.sns-ph-badge--act     { background: rgba(239,68,68,0.15);   color: #f87171; border: 1px solid rgba(239,68,68,0.28); }
.sns-ph-badge--uncertain { background: rgba(148,163,184,0.12); color: #94a3b8; border: 1px solid rgba(148,163,184,0.2); }
.sns-ph-plat {
  padding: 2px 8px; border-radius: 4px;
  font-size: 10px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
  background: rgba(255,255,255,0.07); color: rgba(200,220,255,0.65);
}
.sns-ph-title {
  font-size: clamp(18px, 2.2vw, 24px); font-weight: 800; color: #edf3ff;
  letter-spacing: -0.02em; line-height: 1.25; margin: 0 0 8px;
}
.sns-ph-sub { font-size: 13px; color: rgba(180,200,240,0.75); margin: 0 0 14px; line-height: 1.55; }
.sns-ph-insight {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; background: rgba(255,255,255,0.05);
  border-radius: 8px; border-left: 3px solid rgba(79,110,247,0.6);
  margin-bottom: 18px;
}
.sns-ph-insight-eye { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(150,175,230,0.7); white-space: nowrap; }
.sns-ph-insight-text { font-size: 12px; color: #c8d8f0; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sns-ph-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sns-ph-cta {
  padding: 9px 20px; background: linear-gradient(135deg,#0f5a4b,#1a7a64);
  color: #fff; border: none; border-radius: 8px;
  font-size: 13px; font-weight: 700; cursor: pointer; letter-spacing: 0.02em;
  transition: transform 0.12s, box-shadow 0.12s;
  box-shadow: 0 4px 14px rgba(15,90,75,0.3);
  max-width: 100%;
}
.sns-ph-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(15,90,75,0.4); }
.sns-ph-ghost {
  padding: 9px 16px; background: rgba(255,255,255,0.07); color: rgba(200,220,255,0.75);
  border: 1px solid rgba(255,255,255,0.12); border-radius: 8px;
  font-size: 13px; font-weight: 600; cursor: pointer; transition: background 0.12s;
  max-width: 100%;
}
.sns-ph-ghost:hover { background: rgba(255,255,255,0.12); }
.sns-ph-snapshot {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(200,220,255,0.1);
  border-radius: 12px; padding: 18px 20px; position: relative; z-index: 1;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.sns-ph-check-grid { display: grid; gap: 10px; margin-top: 10px; }
.sns-ph-check {
  display: flex; justify-content: space-between; align-items: baseline;
  gap: 8px; font-size: 11px;
  min-width: 0;
}
.sns-ph-check span { color: rgba(160,185,225,0.65); }
.sns-ph-check strong { color: #d8e8ff; font-weight: 600; min-width: 0; text-align: right; overflow-wrap: anywhere; }
.sns-ph-check--stable { color: #4ade80; }
.sns-ph-check--watch  { color: #fbbf24; }
.sns-ph-check--act    { color: #f87171; }
.sns-ph-check--uncertain { color: #94a3b8; }

/* ─── Situation Band ────────────────────────────────────────────── */
.sns-situation-band {
  display: flex; gap: 0; align-items: stretch;
  background: var(--bg-surface); border-radius: 12px;
  border: 1px solid var(--line-subtle); margin-bottom: 20px;
  overflow: hidden; box-shadow: 0 2px 8px rgba(12,18,28,0.06);
}
.sns-sit-item {
  flex: 1; padding: 14px 18px; display: flex; flex-direction: column; gap: 4px;
  border-right: 1px solid var(--line-subtle);
}
.sns-sit-item:last-child { border-right: none; }
.sns-sit-label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
.sns-sit-val { font-size: 13px; font-weight: 700; color: var(--text-primary); }
.sns-sit-val--ok   { color: var(--success, #16a34a); }
.sns-sit-val--warn { color: var(--warning, #d97706); }
.sns-sit-val--bad  { color: var(--danger,  #dc2626); }
.sns-sit-val--focus { color: var(--text-primary); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sns-sit-item--focus { flex: 2; min-width: 0; }
.sns-sit-item--ops { align-items: flex-end; justify-content: center; }
.sns-sit-ops-info{
  display:block;
  max-width:280px;
  text-align:right;
  font-size:11px;
  color:var(--text-secondary);
  line-height:1.45;
}
.sns-sit-ops-toggle {
  padding: 5px 12px; border-radius: 6px; font-size: 11px; font-weight: 600;
  border: 1px solid var(--line-subtle); background: transparent;
  color: var(--text-secondary); cursor: pointer; transition: background 0.12s;
}
.sns-sit-ops-toggle:hover { background: var(--bg-surface-2); }

/* ─── SNS Body ──────────────────────────────────────────────────── */
.sns-body { display: grid; gap: 20px; }

/* ─── Elite Section ─────────────────────────────────────────────── */
.sns-elite-section { display: grid; gap: 20px; }

/* ─── Analyse Start ─────────────────────────────────────────────── */
.sns-analyse-start {
  background: var(--bg-surface); border-radius: 16px;
  border: none; box-shadow: 0 4px 16px rgba(12,18,28,0.08);
  padding: 28px 32px; position: relative; overflow: hidden;
}
.sns-analyse-start::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg,#0f5a4b,rgba(28,156,99,0.3)); border-radius: 16px 16px 0 0;
}
.sns-as-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 6px; display: block; }
.sns-as-title { font-size: 20px; font-weight: 800; color: var(--text-primary); margin: 0 0 4px; letter-spacing: -0.02em; }
.sns-as-sub { font-size: 12px; color: var(--text-muted); margin: 0 0 22px; }
.sns-as-body { display: grid; grid-template-columns: 1fr min(280px,36%); gap: 24px; align-items: start; }
.sns-as-fields { display: flex; flex-direction: column; gap: 14px; }
.sns-as-field-group { display: flex; flex-direction: column; gap: 6px; }
.sns-as-textarea {
  width: 100%; padding: 11px 13px; border: 1px solid var(--line-subtle);
  border-radius: 8px; font-size: 13px; color: var(--text-primary);
  background: var(--bg-surface-2, #f5f7fa); resize: none; box-sizing: border-box;
  font-family: var(--font-body, -apple-system, sans-serif); line-height: 1.5;
  transition: border-color 0.15s, box-shadow 0.15s; min-height: 90px;
}
.sns-as-textarea:focus { outline: none; border-color: #0f5a4b; box-shadow: 0 0 0 2px rgba(15,90,75,0.12); }
.sns-as-textarea::placeholder { color: var(--text-muted); }
.sns-as-sidebar { display: flex; flex-direction: column; gap: 14px; }
.sns-as-datacheck {
  padding: 14px 16px; border-radius: 10px; border-left: 3px solid var(--line-subtle);
  background: var(--bg-surface-2);
}
.sns-as-datacheck--ok { border-left-color: #16a34a; background: rgba(22,163,74,0.04); }
.sns-as-datacheck--warn { border-left-color: #d97706; background: rgba(217,119,6,0.04); }
.sns-as-dc-label { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 5px; }
.sns-as-dc-text { font-size: 12px; color: var(--text-secondary); margin: 0; line-height: 1.5; }
.sns-as-cta {
  width: 100%; padding: 12px 20px; background: linear-gradient(135deg,#0f5a4b,#1a7a64);
  color: #fff; border: none; border-radius: 9px; font-size: 14px; font-weight: 700;
  cursor: pointer; letter-spacing: 0.02em; transition: transform 0.12s, box-shadow 0.12s;
  box-shadow: 0 4px 14px rgba(15,90,75,0.25); text-align: center;
}
.sns-as-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(15,90,75,0.35); }
.sns-as-cta:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }

/* ─── Executive Decision Section ────────────────────────────────── */
.sns-exec-section {
  background: var(--bg-surface); border-radius: 16px;
  box-shadow: 0 4px 16px rgba(12,18,28,0.08);
  overflow: hidden;
}
.sns-exec-eyebrow {
  font-size: 10px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--text-muted); display: block; padding: 20px 28px 0;
}
.sns-exec-panel { display: grid; gap: 0; }

/* Executive Decision Card */
.sns-exec-decision {
  padding: 20px 28px 24px; border-bottom: 1px solid var(--line-subtle);
}
.sns-exec-dec-header { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.sns-exec-status-badge {
  display: inline-flex; align-items: center; padding: 4px 12px;
  border-radius: 4px; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
}
.sns-exec-status-badge--is-scale   { background: rgba(34,197,94,0.14); color: #15803d; border: 1px solid rgba(34,197,94,0.3); }
.sns-exec-status-badge--is-hold    { background: rgba(79,110,247,0.12); color: #3b5bf7; border: 1px solid rgba(79,110,247,0.25); }
.sns-exec-status-badge--is-observe { background: rgba(251,191,36,0.14); color: #b45309; border: 1px solid rgba(251,191,36,0.3); }
.sns-exec-status-badge--is-reduce  { background: rgba(239,68,68,0.1);   color: #b91c1c; border: 1px solid rgba(239,68,68,0.25); }
.sns-exec-status-badge--is-stop    { background: rgba(239,68,68,0.14);  color: #b91c1c; border: 1px solid rgba(239,68,68,0.3); }
.sns-exec-status-badge--is-data    { background: rgba(148,163,184,0.1); color: #475569; border: 1px solid rgba(148,163,184,0.2); }
.sns-exec-meta { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--text-muted); flex-wrap: wrap; }
.sns-exec-title { font-size: 16px; font-weight: 800; color: var(--text-primary); margin: 0 0 8px; letter-spacing: -0.01em; line-height: 1.3; }
.sns-exec-summary { font-size: 14px; color: var(--text-secondary); margin: 0 0 16px; line-height: 1.6; }
.sns-exec-rec {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; background: rgba(15,90,75,0.05);
  border-radius: 8px; border-left: 3px solid #0f5a4b; margin-bottom: 14px;
}
.sns-exec-rec-label { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #0f5a4b; white-space: nowrap; margin-top: 1px; }
.sns-exec-rec-text { font-size: 13px; font-weight: 600; color: var(--text-primary); flex: 1; }
.sns-exec-footer { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.sns-exec-conf { display: flex; align-items: baseline; gap: 6px; }
.sns-exec-conf-label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
.sns-exec-conf strong { font-size: 13px; color: var(--text-primary); }
.sns-exec-basis { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.sns-exec-basis span { font-size: 11px; color: var(--text-muted); }
.sns-exec-basis-dot { color: var(--line-mid, #d0d7e2); }

/* Empty/loading states */
.sns-result-empty { font-size: 13px; color: var(--text-muted); padding: 28px 28px; display: flex; align-items: center; gap: 10px; justify-content: center; }
.sns-result-empty-icon { font-size: 20px; opacity: 0.45; }
.sns-result-loading { font-size: 13px; color: var(--text-muted); padding: 20px 28px; }
.sns-result-error { font-size: 13px; color: var(--danger, #dc2626); padding: 16px 28px; }
.sns-elite-result-area { min-height: 48px; }

/* ─── Signal Reasoning (Warum?) ─────────────────────────────────── */
.sns-signal-reasoning { padding: 22px 28px 24px; border-bottom: 1px solid var(--line-subtle); }
.sns-sr-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 14px; display: block; }
.sns-sr-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 14px; }
.sns-sr-col { background: var(--bg-surface-2,#f5f7fa); border-radius: 10px; padding: 14px 16px; }
.sns-sr-col--pos  { border-top: 2px solid rgba(34,197,94,0.5); }
.sns-sr-col--risk { border-top: 2px solid rgba(239,68,68,0.45); }
.sns-sr-col--unclear { border-top: 2px solid rgba(148,163,184,0.4); }
.sns-sr-col-head { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 10px; }
.sns-sr-item { display: flex; align-items: flex-start; gap: 7px; margin-bottom: 7px; font-size: 12px; color: var(--text-secondary); line-height: 1.5; }
.sns-sr-item:last-child { margin-bottom: 0; }
.sns-sr-dot { width: 6px; height: 6px; border-radius: 50%; margin-top: 4px; flex-shrink: 0; }
.sns-sr-dot--pos    { background: #16a34a; }
.sns-sr-dot--risk   { background: #dc2626; }
.sns-sr-dot--unclear { background: #94a3b8; }
.sns-sr-empty { font-size: 11px; color: var(--text-muted); font-style: italic; }
.sns-sr-next { padding: 12px 14px; background: rgba(79,110,247,0.05); border-radius: 8px; border-left: 3px solid rgba(79,110,247,0.45); }
.sns-sr-next-label { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #4f6ef7; display: block; margin-bottom: 4px; }
.sns-sr-next-text { font-size: 13px; color: var(--text-primary); font-weight: 600; }
.sns-sr-more-toggle { font-size: 11px; color: #4f6ef7; background: none; border: none; cursor: pointer; padding: 4px 0; display: block; margin-top: 4px; }
.sns-sr-more { padding-top: 8px; display: grid; gap: 4px; }
.sns-sr-more p { font-size: 12px; color: var(--text-secondary); margin: 0; }

/* ─── Action Options ─────────────────────────────────────────────── */
.sns-action-options { padding: 22px 28px 24px; border-bottom: 1px solid var(--line-subtle); }
.sns-ao-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 14px; display: block; }
.sns-ao-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 16px; }
.sns-ao-option {
  padding: 16px 18px; border-radius: 10px;
  background: var(--bg-surface-2,#f5f7fa); border: 1px solid var(--line-subtle);
  position: relative; transition: box-shadow 0.15s;
}
.sns-ao-option.is-recommended { border-color: rgba(15,90,75,0.4); background: rgba(15,90,75,0.04); }
.sns-ao-option--conservative.is-recommended::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: #0f5a4b; border-radius: 10px 10px 0 0;
}
.sns-ao-head { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; margin-bottom: 6px; }
.sns-ao-label { font-size: 13px; font-weight: 700; color: var(--text-primary); }
.sns-ao-risk { font-size: 10px; color: var(--text-muted); }
.sns-ao-body { font-size: 12px; color: var(--text-secondary); line-height: 1.55; margin: 0; }
.sns-ao-recommended {
  display: inline-block; margin-top: 8px;
  padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase;
  background: rgba(15,90,75,0.12); color: #0f5a4b;
}
.sns-ao-impact { font-size: 12px; color: var(--text-muted); margin: 0 0 14px; line-height: 1.5; }
.sns-ao-footer { display: flex; gap: 10px; flex-wrap: wrap; }
.sns-ao-footer .sns-ph-ghost{
  background:#f4f7fc;
  color:#1f2f47;
  border:1px solid #c9d5e4;
  font-weight:650;
}
.sns-ao-footer .sns-ph-ghost:hover{
  background:#eaf0f8;
  color:#11253f;
}
.sns-ao-footer .sns-ph-ghost:disabled{
  background:#edf2f7;
  color:#6b7f98;
  border-color:#d7e0eb;
  opacity:1;
  cursor:not-allowed;
}

/* ─── Archive Section ────────────────────────────────────────────── */
.sns-archive-section {
  background: var(--bg-surface); border-radius: 16px;
  box-shadow: 0 4px 16px rgba(12,18,28,0.08); overflow: hidden;
}
.sns-arc-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 18px 24px 14px; border-bottom: 1px solid var(--line-subtle);
  flex-wrap: wrap;
}
.sns-archive-filters { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sns-arc-search {
  padding: 6px 10px; border: 1px solid var(--line-subtle); border-radius: 6px;
  font-size: 12px; background: var(--bg-surface-2); color: var(--text-primary); outline: none;
}
.sns-arc-search:focus { border-color: #0f5a4b; }
.sns-archive-list { padding: 8px 0; }
.sns-archive-empty { padding: 20px 24px; font-size: 13px; color: var(--text-muted); }
.sns-archive-entry {
  padding: 14px 24px; border-bottom: 1px solid var(--line-subtle);
  transition: background 0.12s;
}
.sns-archive-entry:last-child { border-bottom: none; }
.sns-archive-entry:hover { background: var(--bg-surface-2); }
.sns-archive-entry-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.sns-arc-type { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted); padding: 2px 7px; background: var(--bg-surface-2); border-radius: 4px; }
.sns-arc-title { font-size: 13px; font-weight: 600; color: var(--text-primary); margin-bottom: 8px; }
.sns-arc-signal { font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 4px; letter-spacing: 0.05em; text-transform: uppercase; }
.sns-arc-signal--high    { background: rgba(22,163,74,0.1);  color: #15803d; }
.sns-arc-signal--medium  { background: rgba(217,119,6,0.1);  color: #b45309; }
.sns-arc-signal--low     { background: rgba(79,110,247,0.1); color: #4f6ef7; }
.sns-arc-signal--no_signal { background: rgba(148,163,184,0.1); color: #64748b; }
.sns-arc-date { font-size: 11px; color: var(--text-muted); margin-left: auto; }
.sns-archive-more-wrap { padding: 12px 24px; text-align: center; }
.sns-arc-actions { display: flex; gap: 8px; }

/* ─── Field helpers ─────────────────────────────────────────────── */
.sns-field-label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
.sns-optional { font-weight: 400; color: var(--text-muted); text-transform: none; font-size: 10px; letter-spacing: 0; }
.sns-select {
  width: 100%; padding: 9px 12px; border: 1px solid var(--line-subtle);
  border-radius: 8px; font-size: 13px; background: var(--bg-surface-2);
  color: var(--text-primary); outline: none; cursor: pointer;
  transition: border-color 0.15s;
}
.sns-select:focus { border-color: #0f5a4b; }
.sns-select--sm { width: auto; padding: 5px 8px; font-size: 11px; }
.sns-input { padding: 8px 11px; border: 1px solid var(--line-subtle); border-radius: 7px; font-size: 12px; background: var(--bg-surface-2); color: var(--text-primary); outline: none; }
.sns-input:focus { border-color: #0f5a4b; }

/* ─── Drawer / Overlay (keep for signal detail) ─────────────────── */
.sns-detail-overlay {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.35);
  z-index: 1000; backdrop-filter: blur(2px);
}
.sns-detail-overlay.is-open { display: block; }
.sns-detail-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(480px, 90vw);
  background: var(--bg-surface); z-index: 1001; overflow-y: auto;
  transform: translateX(100%); transition: transform 0.25s cubic-bezier(0.22,0.61,0.36,1);
  box-shadow: -8px 0 32px rgba(12,18,28,0.18);
}
.sns-detail-drawer.is-open { transform: translateX(0); }
.sns-detail-drawer-inner { padding: 24px; }

/* ─── Detail drawer content (legacy classes still referenced by JS) */
.sns-dd-section { padding: 14px 0; border-bottom: 1px solid var(--line-subtle); }
.sns-dd-section:last-child { border-bottom: none; }
.sns-dd-label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 7px; display: block; }
.sns-dd-text { font-size: 13px; color: var(--text-secondary); margin: 0 0 4px; line-height: 1.55; }
.sns-dd-section--warn { background: rgba(217,119,6,0.04); border-radius: 8px; padding: 10px 12px; }
.sns-dd-btn--primary { padding: 9px 18px; background: #0f5a4b; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; }
.sns-dd-btn--primary:hover { background: #0a4036; }

/* ─── Buttons used throughout ────────────────────────────────────── */
.sns-btn-primary { padding: 9px 18px; background: #0f5a4b; color: #fff; border: none; border-radius: 8px; font-size: 13px; font-weight: 700; cursor: pointer; transition: background 0.12s, transform 0.12s; }
.sns-btn-primary:hover { background: #0a4036; transform: translateY(-1px); }
.sns-btn-ghost { padding: 7px 14px; background: transparent; border: 1px solid var(--line-subtle); border-radius: 8px; font-size: 12px; font-weight: 600; color: var(--text-secondary); cursor: pointer; transition: background 0.12s; }
.sns-btn-ghost:hover { background: var(--bg-surface-2); }
.sns-btn-outline { padding: 7px 14px; background: transparent; border: 1px solid var(--line-mid,#c8d4e0); border-radius: 8px; font-size: 12px; font-weight: 600; color: var(--text-secondary); cursor: pointer; }

/* ─── Legacy classes still needed by unchanged JS paths ─────────── */
.sns-guidance-box { font-size: 13px; color: var(--text-muted); padding: 12px 16px; background: var(--bg-surface-2); border-radius: 8px; }
.sns-ops-board { margin-bottom: 20px; }
.sns-ops-board-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.sns-ops-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.sns-ops-card { padding: 14px 16px; border-radius: 10px; background: var(--bg-surface-2); border: 1px solid var(--line-subtle); border-left: 3px solid var(--line-subtle); cursor: pointer; transition: box-shadow 0.14s, transform 0.12s; }
.sns-ops-card--ok    { border-left-color: #16a34a; }
.sns-ops-card--alarm { border-left-color: #dc2626; }
.sns-ops-card--warn  { border-left-color: #d97706; }
.sns-ops-card:hover  { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(12,18,28,0.1); }
.sns-ops-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.sns-ops-label { font-size: 11px; font-weight: 700; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.06em; }
.sns-ops-status { font-size: 9px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 2px 6px; border-radius: 3px; }
.sns-ops-status--ok    { background: rgba(22,163,74,0.1);  color: #15803d; }
.sns-ops-status--alarm { background: rgba(220,38,38,0.1);  color: #b91c1c; }
.sns-ops-status--warn  { background: rgba(217,119,6,0.1);  color: #b45309; }
.sns-ops-status--idle  { background: rgba(148,163,184,0.1); color: #64748b; }
.sns-ops-primary { font-size: 13px; font-weight: 600; color: var(--text-primary); margin-bottom: 3px; }
.sns-ops-detail { font-size: 11px; color: var(--text-muted); margin: 0; line-height: 1.4; }
.sns-ops-lite { font-size: 11px; color: var(--text-muted); }
.sns-card-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); display: block; margin-bottom: 8px; }
.sns-card { background: var(--bg-surface); border-radius: 12px; padding: 16px 18px; box-shadow: 0 2px 8px rgba(12,18,28,0.06); }
.sns-hc-row { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-bottom: 16px; }
.sns-hc { padding: 16px; background: var(--bg-surface); border-radius: 10px; box-shadow: 0 2px 8px rgba(12,18,28,0.06); cursor: pointer; transition: box-shadow 0.14s; }
.sns-hc:hover { box-shadow: 0 4px 16px rgba(12,18,28,0.12); }
.sns-hc--problem { border-top: 3px solid #dc2626; }
.sns-hc--action  { border-top: 3px solid #0f5a4b; }
.sns-hc--ok      { border-top: 3px solid rgba(22,163,74,0.5); cursor: default; }
.sns-hc-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); display: block; margin-bottom: 6px; }
.sns-hc-title { font-size: 14px; font-weight: 700; color: var(--text-primary); margin: 0 0 8px; line-height: 1.3; }
.sns-hc-body { font-size: 12px; color: var(--text-secondary); margin: 0 0 8px; }
.sns-hc-meta-grid { display: grid; gap: 4px; margin-bottom: 8px; }
.sns-hc-meta-row { display: flex; gap: 8px; font-size: 11px; }
.sns-hc-meta-label { color: var(--text-muted); flex-shrink: 0; }
.sns-hc-meta-val { color: var(--text-secondary); }
.sns-hc-cue { font-size: 11px; color: #4f6ef7; font-weight: 600; }
.sns-hc-ok-mark { font-size: 22px; color: #16a34a; margin-bottom: 6px; }
.sns-hc-ok-text { font-size: 12px; color: var(--text-secondary); margin: 0; }
.sns-alert-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; border-radius: 6px; margin-bottom: 4px; }
.sns-alert-item--ok { background: rgba(22,163,74,0.04); border-left: 2px solid rgba(22,163,74,0.35); }
.sns-alert-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--text-muted); flex-shrink: 0; margin-top: 3px; }
.sns-alert-title { font-size: 12px; font-weight: 600; color: var(--text-primary); }
.sns-alert-body { font-size: 11px; color: var(--text-muted); }
.sns-alert-count { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; font-size: 10px; font-weight: 700; }
.sns-alert-count--red    { background: rgba(220,38,38,0.12); color: #b91c1c; }
.sns-alert-count--yellow { background: rgba(217,119,6,0.12); color: #b45309; }
.sns-alerts-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.sns-alert-counts { display: flex; gap: 4px; }
.sns-alert-list { display: grid; gap: 2px; }
.sns-quick-grid { display: grid; grid-template-columns: 1fr; gap: 6px; }
.sns-quick-btn { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 8px; background: var(--bg-surface-2); border: 1px solid var(--line-subtle); font-size: 12px; font-weight: 600; color: var(--text-secondary); cursor: pointer; transition: background 0.12s; width: 100%; text-align: left; }
.sns-quick-btn:hover { background: #e8f0ec; }
.sns-quick-icon { font-size: 14px; }
.sns-logging-section { margin-top: 16px; }
.sns-log-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); display: block; margin-bottom: 8px; }
.sns-log-list { display: grid; gap: 6px; }
.sns-log-entry { font-size: 12px; color: var(--text-secondary); padding: 8px 12px; background: var(--bg-surface-2); border-radius: 6px; }
.sns-log-entry-time { font-size: 10px; color: var(--text-muted); }
.sns-log-more { font-size: 11px; color: #4f6ef7; background: none; border: none; cursor: pointer; padding: 6px 0; }
.sns-signal-clickable { cursor: pointer; }
.sns-signal-clickable:hover { opacity: 0.87; }
.sns-int-row { display: grid; gap: 4px; padding: 10px 14px; border-radius: 8px; background: var(--bg-surface-2); }
.sns-int-label { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.sns-int-value { font-size: 13px; color: var(--text-primary); font-weight: 600; }
.sns-int-detail { font-size: 11px; color: var(--text-muted); }
.sns-today-grid { display: grid; gap: 10px; margin-bottom: 16px; }
.sns-today-label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 10px; }
.sns-today-rec { padding: 12px 14px; background: var(--bg-surface-2); border-radius: 8px; border-left: 3px solid var(--line-subtle); font-size: 12px; color: var(--text-secondary); }
.sns-today-rec--high { border-left-color: #dc2626; }
.sns-today-rec--medium { border-left-color: #d97706; }
.sns-print-surface { display: none; }
@media print {
  .sns-print-surface.is-printing { display: block; }
  .sns-module:not(.is-printing) { display: none; }
}

/* ─── Responsive ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .sns-premium-hero { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .sns-ph-snapshot { order: -1; }
  .sns-sr-grid { grid-template-columns: 1fr; }
  .sns-ao-grid { grid-template-columns: 1fr; }
  .sns-as-body { grid-template-columns: 1fr; }
  .sns-situation-band { flex-wrap: wrap; }
  .sns-sit-item { min-width: 45%; }
}
@media (max-width: 600px) {
  .sns-premium-hero { padding: 20px 16px; border-radius: 14px; }
  .sns-ph-title { font-size: clamp(18px, 6vw, 23px); overflow-wrap: anywhere; }
  .sns-ph-sub { overflow-wrap: break-word; }
  .sns-ph-actions { flex-direction: column; align-items: stretch; }
  .sns-ph-actions .sns-ph-cta,
  .sns-ph-actions .sns-ph-ghost { width: 100%; text-align: center; }
  .sns-ph-insight { flex-direction: column; align-items: flex-start; gap: 5px; }
  .sns-ph-insight-text { width: 100%; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
  .sns-ph-check { align-items: flex-start; }
  .sns-situation-band { flex-direction: column; }
  .sns-sit-item { min-width: 0; border-right: 0; border-bottom: 1px solid var(--line-subtle); }
  .sns-sit-item:last-child { border-bottom: 0; }
  .sns-sit-item--ops { align-items: flex-start; }
  .sns-sit-ops-info { max-width: 100%; text-align: left; }
  .sns-analyse-start { padding: 20px 18px; }
  .sns-exec-decision { padding: 16px 18px 18px; }
  .sns-signal-reasoning { padding: 16px 18px 18px; }
  .sns-action-options { padding: 16px 18px 18px; }
  .sns-arc-header { padding: 14px 18px 12px; }
  .sns-archive-entry { padding: 12px 18px; }
  .sns-hc-row { grid-template-columns: 1fr; }
  .sns-ops-grid { grid-template-columns: 1fr; }
  .sns-sr-grid { gap: 8px; }
  .sns-ao-grid { gap: 8px; }
}

/* ── DASHBOARD ACTIVITY CARD ────────────────────────────────── */
.dsh-activity-card{border-radius:var(--r-lg);background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-surface-2) 100%);box-shadow:var(--sh-2);padding:var(--sp-5)}
.dsh-activity-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}
.dsh-activity-title{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-primary)}
.dsh-activity-list{display:grid;gap:var(--sp-2)}
.dsh-activity-item{display:grid;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--bg-surface);border:1px solid rgba(0,0,0,0.05);border-left:3px solid #f97316}
.dsh-activity-item-meta{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap;color:var(--text-muted);font-size:var(--fs-xs)}
.dsh-act-type,.dsh-act-trigger{display:inline-flex;padding:2px 8px;border-radius:var(--r-pill);background:var(--bg-surface-3);font-weight:700;letter-spacing:var(--ls-wide);text-transform:uppercase;font-size:var(--fs-2xs)}
.dsh-act-manual{background:rgba(249,115,22,0.1);color:#ea6c0d}
.dsh-act-auto{background:var(--bg-surface-3);color:var(--text-muted)}
.dsh-act-time{margin-left:auto}
.dsh-activity-item-summary,.dsh-activity-empty{color:var(--text-secondary);font-size:var(--fs-sm);line-height:var(--lh-normal)}
.dsh-activity-empty{display:grid;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);background:var(--bg-surface)}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .sns-hero-inner { grid-template-columns: 1fr 200px 180px; gap: 28px; }
}
@media (max-width: 1024px) {
  .sns-hero { padding: 0 var(--sp-4); }
  .sns-hero-inner { grid-template-columns: 1fr; gap: 20px; }
  .sns-hero-briefing { display: none; }
  .sns-summary-body { grid-template-columns: 1fr; }
  .sns-dual-grid { grid-template-columns: 1fr; }
  .sns-insights-layout { grid-template-columns: 1fr; }
  .sns-elite-grid { grid-template-columns: 1fr; }
  .sns-elite { padding: 20px 16px; }
}
@media (max-width: 768px) {
  .sns-hero { padding: 20px 18px; border-radius: 12px; }
  .sns-hero-title { font-size: 1.6rem; }
  .sns-hero-intel { display: none; }
  .sns-card { padding: 18px 16px; }
  .sns-card--summary { padding: 18px 16px; }
  .sns-action-bar { gap: 8px; }
  .sns-action-bar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .sns-score-bar-fill, .sns-btn-primary { transition: none; }
}

/* ── PRINT ───────────────────────────────────────────────────── */
@media print {
  .sidebar, .topbar, .sns-hero__right, .sns-insights-sidebar,
  .sns-action-bar, .sns-elite, .sns-transition,
  .sns-hero-briefing, .sns-hero-actions { display: none !important; }
  .sns-insights-layout { display: block; }
  .sns-insights-main { width: 100%; }
  .sns-insights-layout::before {
    content: attr(data-print-meta);
    display: block;
    font-size: 11px;
    color: #666;
    margin-bottom: 16px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 8px;
  }
  .sns-hero { background: #f9fafb !important; border: 1px solid #e5e7eb !important; box-shadow: none !important; }
  .sns-card { box-shadow: none !important; border: 1px solid #e5e7eb !important; break-inside: avoid; margin-bottom: 16px; }
  .sns-dual-grid { break-inside: avoid; }
  body { background: #fff !important; }
}

/* ═══════════════════════════════════════════════════════════════
   END SENSAI MODULE V5
   ═══════════════════════════════════════════════════════════════ */

/* SENSEI MODULE V3 — Active Analysis Center (ssx3__) */
.ssx3-wrap{display:grid;gap:14px;padding-bottom:96px}
.ssx3-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:12px;padding:18px;border-radius:16px;background:linear-gradient(160deg,#0c1528,#0a1120 62%,#111d36);border:1px solid rgba(138,159,192,.25)}
.ssx3-eyebrow{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9ab0cf}
.ssx3-hero h1{margin:4px 0 0;font-size:clamp(24px,2vw,30px);line-height:1.13;color:#edf3ff}
.ssx3-subline{margin:7px 0 0;font-size:14px;color:#becee6}
.ssx3-trust{margin:8px 0 0;font-size:12px;color:#9db0cd}
.ssx3-hero-kpis{display:grid;gap:8px;align-content:start}
.ssx3-hero-kpis article{display:grid;gap:2px;padding:8px 10px;border-radius:10px;background:rgba(8,16,30,.58);border:1px solid rgba(142,163,193,.2)}
.ssx3-hero-kpis span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8fa4c3}
.ssx3-hero-kpis strong{font-size:14px;color:#ecf2ff}
.ssx3-delta{grid-column:1/-1;padding:10px 12px;border-radius:12px;background:rgba(8,16,30,.4);border:1px solid rgba(142,163,193,.2)}
.ssx3-delta h2{margin:0 0 6px;font-size:14px;color:#e7efff}
.ssx3-delta p{margin:0;color:#afc0d8;font-size:13px}
.ssx3-delta ul{margin:0;padding-left:18px;display:grid;gap:4px}
.ssx3-delta li{color:#d3e1f4;font-size:13px}
.ssx3-delta small{color:#94aac8;font-size:12px}
.ssx3-controls{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;gap:10px;align-items:end;padding:12px;border-radius:12px;background:#f8fafd;border:1px solid #e1e8f1}
.ssx3-mode{display:flex;gap:6px}
.ssx3-mode button{height:36px;padding:0 14px;border:1px solid #d6dfeb;border-radius:9px;background:#fff;color:#445873;cursor:pointer}
.ssx3-mode button.is-active{background:#0f1d35;color:#ecf2ff;border-color:#0f1d35}
.ssx3-field{display:grid;gap:6px}
.ssx3-field span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6f829e}
.ssx3-field select{height:38px;border:1px solid #d6dfeb;border-radius:9px;background:#fff;color:#12253f;padding:0 10px}
.ssx3-run{height:38px;padding:0 14px;border:0;border-radius:9px;background:#122744;color:#eef4ff;cursor:pointer}
.ssx3-panel,.ssx3-history{padding:14px;border-radius:12px;background:#fff;border:1px solid #e4ebf3}
.ssx3-panel h2,.ssx3-history h2{margin:0 0 10px;font-size:17px;color:#12253f}
.ssx3-panel article{padding:10px 0;border-top:1px solid #ecf1f6}
.ssx3-panel article:first-of-type{border-top:0;padding-top:0}
.ssx3-panel h3{margin:0 0 4px;font-size:13px;color:#223a59}
.ssx3-panel p{margin:0;font-size:13px;color:#4d6483;line-height:1.45}
.ssx3-panel ul{margin:0;padding-left:18px;display:grid;gap:4px}
.ssx3-panel li{font-size:13px;color:#4d6483}
.ssx3-history-list{display:grid;gap:9px}
.ssx3-history article{padding:10px;border:1px solid #e6edf5;border-radius:10px;background:#fbfdff}
.ssx3-history header{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ssx3-history strong{font-size:13px;color:#132a49}
.ssx3-history span{font-size:11px;color:#7085a3}
.ssx3-history p{margin:6px 0 0;font-size:13px;color:#314a69}
.ssx3-history small{display:block;margin-top:4px;font-size:12px;color:#607896}
@media (max-width:980px){.ssx3-hero{grid-template-columns:1fr}.ssx3-controls{grid-template-columns:1fr}}
@media (max-width:640px){.ssx3-wrap{padding-bottom:112px}.ssx3-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
.mtx__sensei-hint { padding:14px 16px; background:rgba(249,115,22,.05); border:1px solid rgba(249,115,22,.2); border-radius:10px; font-size:13px; margin-bottom:16px; }
.mtx__hint-label { font-weight:700; color:#f97316; margin-right:6px; }
.mtx__exec-actions { display:flex; gap:8px; flex-wrap:wrap; }
/* Buttons */
.mtx__btn-primary { padding:9px 18px; background:#8b5cf6; color:#fff; border:none; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; }
.mtx__btn-secondary { padding:9px 18px; background:transparent; color:var(--text-secondary); border:1px solid var(--border-subtle); border-radius:8px; font-size:13px; cursor:pointer; }
.mtx__btn-text { background:none; border:none; color:var(--text-muted); font-size:13px; cursor:pointer; padding:9px 6px; }
.mtx__btn-sm { padding:6px 12px; font-size:12px; }
/* Empty */
.mtx__empty-state { background:var(--bg-surface); border:1px solid rgba(0,0,0,.08); border-radius:14px; padding:64px 32px; text-align:center; margin-bottom:24px; }
.mtx__empty-state h2 { font-size:1.4rem; font-weight:700; margin:8px 0 12px; }
.mtx__empty-state p { font-size:14px; color:var(--text-muted); max-width:400px; margin:0 auto 24px; }
@media (max-width:900px) { .mtx__tool-grid,.mtx__workflows { grid-template-columns:repeat(2,1fr); } .mtx__history { grid-template-columns:1fr; } }
@media (max-width:600px) {
  .mtx__hero-inner,.mtx__content { padding-left:16px; padding-right:16px; }
  .mtx__hero-inner { flex-direction:column; }
  .mtx__tool-grid,.mtx__workflows { grid-template-columns:1fr; }
  .mtx__filter-bar { padding-left:16px; padding-right:16px; }
  .mtx__tool-execution { padding:20px; }
}
@media (prefers-reduced-motion:reduce) { .mtx__tool-card,.mtx__tool-favorite { transition:none; } }

/* ═══════════════════════════════════════════════════════════════════════════
   DASHBOARD V11 — dv11-* (2026-05-20)
   Hero Delta · Trust Strip Live · KPI Micro-Viz · Empty Chart · WL Logic
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero Layout ── */
.dv11-hero{padding:28px 32px 24px}
.dv11-hero__layout{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:flex-start}
.dv11-hero__left{min-width:0}
.dv11-hero__eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(99,102,241,.7);margin:0 0 10px}
.dv11-hero__signals{display:flex;flex-direction:column;gap:8px;min-width:160px}

/* ── Delta Ticker ── */
.dv11-delta-ticker{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.dv11-delta-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;animation:dv11FadeIn .4s ease both}
.dv11-delta-chip--ok{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#059669}
.dv11-delta-chip--warn{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);color:#d97706}
.dv11-delta-chip--neutral{background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.15);color:rgba(148,163,184,.8)}
@keyframes dv11FadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ── Signal Cards ── */
.dv11-signal-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:12px 16px;
  backdrop-filter:blur(8px);
  transition:background .15s,border-color .15s,box-shadow .15s;
}
.dv11-signal-card:hover{background:rgba(255,255,255,.1);border-color:rgba(99,102,241,.25);box-shadow:0 4px 16px rgba(0,0,0,.15)}
.dv11-signal-card__label{font-size:9.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:rgba(148,163,184,.55);display:block;margin-bottom:4px}
.dv11-signal-card__val{font-size:22px;font-weight:800;color:#f1f5f9;letter-spacing:-.5px;display:block;line-height:1}
.dv11-signal-card__val--sm{font-size:14px;font-weight:600;letter-spacing:0;margin-top:2px}
.dv11-signal-card__sub{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}

/* Platform chips inside signal card */
.dv11-plat-chip{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:rgba(148,163,184,.8);padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.07)}

/* ── Trust Strip Enhanced ── */
.dv11-trust-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 28px}
.dv11-strip-item{display:inline-flex;align-items:center;gap:5px;font-size:11px;cursor:default}
.dv11-strip-item:hover{opacity:.8}
.dv11-strip-sep{opacity:.25;font-size:10px;user-select:none}
.dv11-strip-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:10.5px;font-weight:600;letter-spacing:.3px}
.dv11-strip-pill--ok{background:rgba(16,185,129,.1);color:#059669}
.dv11-strip-pill--warn{background:rgba(245,158,11,.1);color:#d97706}
.dv11-strip-pill--critical{background:rgba(239,68,68,.08);color:#dc2626;animation:dv11Pulse 2.5s infinite}
.dv11-strip-nav{display:inline-flex;align-items:center;gap:3px;background:none;border:none;font-size:11px;font-weight:600;color:#6366f1;cursor:pointer;padding:0;transition:color .12s}
.dv11-strip-nav:hover{color:#4f46e5;text-decoration:underline}
@keyframes dv11Pulse{0%,100%{opacity:1}50%{opacity:.65}}

/* ── KPI Micro-Visualizations ── */
.dv11-kpi-val{font-size:22px;font-weight:800;color:#0f172a;letter-spacing:-.5px;display:block;margin:2px 0 4px}
.dv11-kpi-delta{font-size:11px;color:#64748b;display:block;margin-bottom:6px}
.dv11-kpi-viz{margin:8px 0 6px}
.dv11-kpi-nodata{font-size:11px;color:#94a3b8;font-style:italic;margin:4px 0 0}

/* Mini Bar */
.dv11-bar{display:block}
.dv11-bar__track{height:5px;background:rgba(226,232,240,.5);border-radius:4px;overflow:hidden}
.dv11-bar__fill{height:100%;border-radius:4px;transition:width .4s ease}
.dv11-bar--empty .dv11-bar__track{opacity:.35}

/* Mini Donut */
.dv11-donut{display:block}

/* ── Empty Performance Chart ── */
.dv11-chart-empty{margin-top:10px}
.dv11-chart-area{display:flex;gap:0;height:90px}
.dv11-chart-yaxis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:8px;font-size:9px;color:rgba(100,116,139,.5);min-width:40px}
.dv11-chart-grid{flex:1;position:relative;border-left:1px solid rgba(226,232,240,.4);border-bottom:1px solid rgba(226,232,240,.4)}
.dv11-chart-gridlines{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between}
.dv11-chart-gridline{width:100%;height:1px;background:rgba(226,232,240,.3)}
.dv11-chart-placeholder-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px 16px;gap:3px}
.dv11-chart-info-icon{font-size:14px;opacity:.4;margin-bottom:2px}
.dv11-chart-placeholder-text p{margin:0;font-size:11px;color:#94a3b8;line-height:1.5}
.dv11-chart-xaxis{display:flex;justify-content:space-between;padding:4px 0 0 48px;font-size:9px;color:rgba(100,116,139,.5)}

/* ── Budget Objective & Risk ── */
.dv11-budget-objective{display:flex;align-items:center;gap:6px;margin:8px 0 4px;padding:6px 10px;background:rgba(226,232,240,.2);border-radius:8px;font-size:12px}
.dv11-budget-objective__label{font-weight:700;color:#64748b}
.dv11-budget-objective__val{color:#334155}
.dv11-budget-risk{font-size:12px;color:#64748b;margin:6px 0 0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.dv11-inline-link{display:inline-flex;align-items:center;gap:3px;background:none;border:none;font-size:12px;font-weight:600;color:#6366f1;cursor:pointer;padding:0;transition:color .12s}
.dv11-inline-link:hover{color:#4f46e5;text-decoration:underline}

/* ── Reveal Animation ── */
.dv11-revealed{animation:dv11Reveal .35s ease both}
@keyframes dv11Reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── dtCard accent via CSS var ── */
.dtCard{--kpi-accent:#6366f1}
.dtCard::before{background:var(--kpi-accent)}

/* ── Responsive ── */
@media(max-width:900px){
  .dv11-hero__layout{grid-template-columns:1fr}
  .dv11-hero__signals{flex-direction:row;flex-wrap:wrap}
  .dv11-signal-card{flex:1;min-width:120px}
  .dv11-trust-strip{padding:8px 16px}
}
@media(max-width:480px){
  .dv11-hero{padding:20px 16px}
  .dv11-trust-strip{padding:6px 12px;font-size:10px}
}

/* ═══════════════════════════════════════════════════════════════════════════
   DASHBOARD V12 — dv12-* (2026-05-20)
   Hero flat signals · Trust strip text · KPI contextual viz · Chart axes
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Shell: 32px section gaps ── */
.dv12-shell{gap:32px}

/* ── Hero Layout ── */
.dv12-hero{padding:28px 32px 24px}
.dv12-hero__layout{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:flex-start}
.dv12-hero__left{min-width:0}
.dv12-hero__eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(99,102,241,.65);margin:0 0 10px}

/* ── Delta signal row (flat, no pills) ── */
.dv12-delta-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:18px;animation:dv12FadeIn .35s ease both}
.dv12-signal-item{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:400;color:#344054}
.dv12-signal-icon{font-size:12px;color:#0f5a4b;flex-shrink:0}
.dv12-signal-div{display:inline-block;width:1px;height:12px;background:rgba(255,255,255,.15);margin:0 6px;flex-shrink:0}
@keyframes dv12FadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ── Right signal panels (slim vertical cards) ── */
.dv12-hero__panels{display:flex;flex-direction:column;gap:8px;min-width:140px}
.dv12-panel{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  padding:11px 14px;
}
.dv12-panel__label{display:block;font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:rgba(148,163,184,.5);margin-bottom:4px}
.dv12-panel__val{display:block;font-size:26px;font-weight:800;color:#f1f5f9;letter-spacing:-.6px;line-height:1}
.dv12-panel__val--sm{font-size:15px;font-weight:600;letter-spacing:0;margin-top:2px}
.dv12-panel__sub{display:block;font-size:11px;color:rgba(148,163,184,.55);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── Trust strip (flat text, no badge wrappers) ── */
.dv12-trust-strip{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:4px 12px;padding:9px 28px;font-size:11.5px;
  background:rgba(0,0,0,.03);
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.dv12-strip-pair{display:inline-flex;align-items:center;gap:4px}
.dv12-strip-lbl{color:#94a3b8}
.dv12-strip-sep{color:rgba(0,0,0,.2);font-size:10px;user-select:none}
.dv12-strip-link{
  display:inline-flex;align-items:center;gap:3px;
  background:none;border:none;cursor:pointer;padding:0;
  font-size:11.5px;font-weight:600;color:#6366f1;
  transition:color .12s;
}
.dv12-strip-link:hover{color:#4f46e5;text-decoration:underline}

/* ── KPI Cards ── */
.dv12-kpi-card{cursor:default;transition:box-shadow .15s,border-color .15s}
.dv12-kpi-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.09);border-color:rgba(99,102,241,.18)}
.dv12-kpi-card::before{background:var(--kpi-accent,#6366f1)}
.dv12-kpi-val{font-size:22px;font-weight:800;color:#0f172a;letter-spacing:-.5px;display:block;margin:2px 0 4px}
.dv12-kpi-delta{font-size:11px;color:#64748b;display:block;margin-bottom:6px}
.dv12-kpi-viz{margin:8px 0 6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ── Mini bar ── */
.dv12-bar{display:block;width:100%}
.dv12-bar__track{height:5px;background:rgba(226,232,240,.5);border-radius:4px;overflow:hidden}
.dv12-bar__fill{height:100%;border-radius:4px;transition:width .4s ease}

/* ── Viz label (context text) ── */
.dv12-viz-label{font-size:11px;color:#64748b;margin:4px 0 0;font-style:italic}

/* ── Sensei pending state ── */
.dv12-sensei-pending{
  font-size:13px;color:rgba(100,116,139,.65);font-style:italic;
  padding:14px 18px;background:rgba(241,245,249,.5);border-radius:10px;
  border:1px dashed rgba(226,232,240,.8);text-align:center;
  margin-top:12px;flex-shrink:0;
}

/* ── Winners & Losers label ── */
.dv12-wl-label{font-size:12px;font-weight:700;color:#0f172a;margin:0 0 10px}

/* ── Panel cards: min 20px padding + hover ── */
.dv12-panel-card{padding:20px;transition:box-shadow .15s,border-color .15s}
.dv12-panel-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);border-color:rgba(226,232,240,.9)}

/* ── Budget objective ── */
.dv12-objective{display:flex;align-items:center;gap:6px;margin:10px 0 4px;font-size:12px;flex-wrap:wrap}
.dv12-objective--missing { color:#596579; }
.dv12-objective__icon{font-size:14px}
.dv12-objective__label{font-weight:700;color:#64748b}
.dv12-objective__val{color:#334155}
.dv12-risk-row{font-size:12px;color:#64748b;margin:6px 0 0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.dv12-inline-link{display:inline-flex;align-items:center;gap:3px;background:none;border:none;font-size:12px;font-weight:600;color:#6366f1;cursor:pointer;padding:0;transition:color .12s}
.dv12-inline-link:hover{color:#4f46e5;text-decoration:underline}

/* ── Empty chart with axes ── */
.dv12-chart{margin-top:10px}
.dv12-chart__area{display:flex;gap:0;height:88px}
.dv12-chart__ylabel{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-size:9px;color:rgba(100,116,139,.5);padding-right:6px;text-align:center;min-width:20px}
.dv12-chart__grid{flex:1;position:relative;border-left:1px solid rgba(226,232,240,.5);border-bottom:1px solid rgba(226,232,240,.5)}
.dv12-chart__lines{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.dv12-chart__line{width:100%;height:1px;background:rgba(226,232,240,.35)}
.dv12-chart__info{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;padding:8px 12px}
.dv12-chart__info p{margin:0;font-size:11px;color:#94a3b8;line-height:1.5}
.dv12-chart__xaxis{display:flex;justify-content:space-between;padding:4px 0 0 26px;font-size:9px;color:rgba(100,116,139,.5)}

/* ── Reveal animation ── */
.dv12-revealed{animation:dv12Reveal .35s ease both}
@keyframes dv12Reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ── Responsive ── */
@media(max-width:900px){
  .dv12-hero__layout{grid-template-columns:1fr}
  .dv12-hero__panels{flex-direction:row;flex-wrap:wrap}
  .dv12-panel{flex:1;min-width:100px}
  .dv12-trust-strip{padding:8px 16px}
}
@media(max-width:480px){
  .dv12-hero{padding:18px 16px}
  .dv12-panel__val{font-size:20px}
  .dv12-trust-strip{font-size:10.5px}
}

/* Dashboard Start Briefing V1 */
.ccHero__microcopy{margin:6px 0 0;color:rgba(255,255,255,.66);font-size:12px}
.ccHero__since-row{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.86)}
.ccHero__since-dot{width:8px;height:8px;border-radius:999px;background:#0f5a4b;box-shadow:0 0 0 3px rgba(15,90,75,.18)}
.ccHero__since-link{border:0;background:none;color:#0f5a4b;font-size:12px;font-weight:600;padding:0;cursor:pointer}
.ccHero__since-link:hover{text-decoration:underline;color:#0a4237}
.cc-briefing{padding:14px 16px;border:1px solid rgba(99,102,241,.28);background:linear-gradient(180deg,rgba(99,102,241,.08),rgba(255,255,255,.95));box-shadow:var(--sh-1)}
.cc-briefing__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.cc-briefing__eyebrow{margin:0 0 4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.cc-briefing__title{margin:0;font-size:20px}
.cc-briefing__intro{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}
.cc-briefing__meta{display:grid;gap:6px;justify-items:end;font-size:12px;color:var(--text-muted)}
.cc-briefing__toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}
.cc-briefing__toggle input{accent-color:var(--warning)}
.cc-briefing__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.cc-brief-step{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px;border:1px solid var(--line-subtle);border-radius:12px;background:rgba(255,255,255,.84);transition:border-color var(--tr-fast),box-shadow var(--tr-fast)}
.cc-brief-step:hover{border-color:var(--accent-line);box-shadow:var(--sh-1)}
.cc-brief-step.is-done{background:#f6fff9;border-color:#c8dfcf}
.cc-brief-step__check{position:relative;display:inline-flex;cursor:pointer}
.cc-brief-step__check input{position:absolute;inset:0;opacity:0}
.cc-brief-step__check span{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-mid);border-radius:999px;background:var(--bg-surface);color:var(--success)}
.cc-brief-step__check input:checked + span{border-color:color-mix(in srgb,var(--success) 50%, var(--line-mid));background:color-mix(in srgb,var(--success-soft) 55%, #fff 45%)}
.cc-brief-step__idx{margin:0 0 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.cc-brief-step__body h3{margin:0;font-size:14px;line-height:1.35}
.cc-brief-step__body p{margin:6px 0 8px;font-size:12px;color:var(--text-secondary);line-height:1.45}
.cc-brief-step__cta{border:0;background:none;padding:0;color:var(--primary);font-size:12px;font-weight:600;cursor:pointer}
.cc-briefing__hint{margin:8px 0 0;font-size:11px;color:var(--text-muted)}
.set-briefing-toggle{margin-top:14px;padding:12px;border:1px solid var(--line-subtle);border-radius:12px;background:var(--bg-surface-2);display:grid;gap:6px}
.set-briefing-toggle h3{margin:0;font-size:14px}
.set-briefing-toggle p{margin:0;font-size:12px;color:var(--text-secondary)}

@media(max-width:900px){
  .cc-briefing__grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .cc-brief-step{transition:none}
}

.dashx-shell{
  padding-bottom:calc(138px + env(safe-area-inset-bottom));
}

/* ═══════════════════════════════════════════════════════════════
   DASHBOARD HERO V13 — BOOT ANIMATION + DELTA BLOCK
   Prefix: dv13-*  |  Append-only, no overrides of existing classes
   ═══════════════════════════════════════════════════════════════ */

/* Hero shell */
.dv13-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #0f172a 100%);
  border-radius: 0 0 16px 16px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.dv13-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 80% 20%, rgba(99,102,241,.08) 0%, transparent 70%);
  pointer-events: none;
}

/* Hero inner layout */
.dv13-hero__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  padding: 48px 32px 24px;
  position: relative;
}
.dv13-hero__left { flex: 1; min-width: 0; }
.dv13-hero__right {
  flex-shrink: 0;
  width: 260px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

/* Bottom meta bar */
.dv13-hero__metabar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 32px;
  background: rgba(0, 0, 0, .15);
  font-size: 12px;
  color: rgba(255, 255, 255, .6);
  border-radius: 0 0 16px 16px;
}
.dv13-hero__metabar strong { color: rgba(255, 255, 255, .9); font-weight: 600; }
.dv13-meta-sep { opacity: .35; }
.dv13-sync-pill{color:#5eead4}

/* Delta block (left column, below signal row) */
.dv13-delta-block {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 14px;
}
.dv13-delta-item {
  display: flex;
  align-items: center;
  gap: 0;
  font-size: 12.5px;
  color: rgba(255, 255, 255, .72);
  border-left: 2px solid rgba(255, 255, 255, .18);
  padding: 3px 0 3px 10px;
  line-height: 1.4;
}
.dv13-delta-item--ok    { border-left-color: #10b981; }
.dv13-delta-item--warn  { border-left-color: #f59e0b; }
.dv13-delta-item--neutral { border-left-color: rgba(255, 255, 255, .25); }

/* ── Boot animation panel ───────────────────────────────────── */
.dv13-boot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
}
.dv13-boot__rings { display: block; flex-shrink: 0; }

/* Concentric rings */
.dv13-ring { fill: none; }
.dv13-ring--1 {
  stroke: rgba(251, 146, 60, .92);
  stroke-width: 1.9;
  animation: dv13RingSpin1 2.2s linear infinite;
}
.dv13-ring--2 {
  stroke: rgba(251, 146, 60, .48);
  stroke-width: 1.3;
  animation: dv13RingSpin2 3.1s linear infinite;
}
.dv13-ring--3 {
  stroke: rgba(251, 146, 60, .22);
  stroke-width: .75;
  animation: dv13RingSpin1 4.2s linear infinite reverse;
}
@keyframes dv13RingSpin1 {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: -220; }
}
@keyframes dv13RingSpin2 {
  from { stroke-dashoffset: 0; }
  to   { stroke-dashoffset: 280; }
}

/* Typewriter status lines */
.dv13-boot__lines {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: 100%;
}
.dv13-boot__line {
  font-size: 11px;
  color: rgba(255, 217, 179, .92);
  opacity: 0;
  animation: dv13LineIn .5s ease forwards;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@keyframes dv13LineIn {
  to { opacity: 1; }
}

/* ── Static status panel (shown after boot or on return) ─────── */
.dv13-static {
  display: none;
  flex-direction: column;
  gap: 18px;
  width: 100%;
}
.dv13-static.is-visible { display: flex; }
.dv13-static__item { display: flex; flex-direction: column; gap: 2px; }
.dv13-static__label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255, 255, 255, .4);
}
.dv13-static__val {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}
.dv13-static__val--sm { font-size: 16px; }
.dv13-static__sub { font-size: 11px; color: rgba(255, 255, 255, .45); }

/* Trust strip font-size tweak */
.dv12-trust-strip { font-size: 12px; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  .dv13-hero__inner { flex-direction: column; padding: 32px 20px 20px; gap: 24px; }
  .dv13-hero__right { width: 100%; justify-content: flex-start; }
  .dv13-boot { flex-direction: row; align-items: center; gap: 16px; }
  .dv13-boot__rings { width: 64px; height: 64px; }
  .dv13-hero__metabar { padding: 10px 20px; }
}

/* ── Reduced motion ──────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .dv13-ring--1,
  .dv13-ring--2,
  .dv13-ring--3   { animation: none; }
  .dv13-boot__line { opacity: 1; animation: none; }
}

/* ── dv13: Snapshot notice (snapshot-based sections) ──────────── */
.dv13-snapshot-notice {
  font-size: 11px;
  color: var(--text-muted, #94a3b8);
  opacity: .45;
  margin: 0 0 10px;
  line-height: 1.4;
}

/* ============================================================
   SETTINGS V7 — stx3-* (2026-05-20)
   ============================================================ */

.stx3-shell { display: flex; flex-direction: column; gap: 0; min-height: 100%; }

/* Hero */
.stx3-hero {
  background: linear-gradient(135deg, #0f3d2e 0%, #0d2b20 60%, #0a1f17 100%);
  border-radius: 0 0 14px 14px;
  padding: 24px 28px 0;
  color: #fff;
}
.stx3-hero__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.stx3-hero__left  { display: flex; align-items: center; gap: 14px; }
.stx3-hero__icon  { color: #10b981; opacity: 0.9; }
.stx3-hero__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(16,185,129,.7); margin-bottom: 2px; }
.stx3-hero__title   { font-size: 22px; font-weight: 700; color: #fff; margin: 0; line-height: 1.2; }
.stx3-hero__right   { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.stx3-platform-status { display: flex; align-items: center; gap: 7px; font-size: 12px; color: rgba(255,255,255,.7); }
.stx3-hero__meta    { display: flex; align-items: center; gap: 8px; font-size: 11px; color: rgba(255,255,255,.45); padding: 12px 0 14px; flex-wrap: wrap; }
.stx3-hero__meta-sep { opacity: 0.4; }

/* Dots */
.stx3-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.stx3-dot--green  { background: #10b981; }
.stx3-dot--yellow { background: #f59e0b; }
.stx3-dot--gray   { background: rgba(255,255,255,.25); }

/* Tab Nav */
.stx3-tab-nav {
  display: flex; align-items: center; gap: 2px;
  background: var(--bg-surface, #fff);
  border-bottom: 1px solid var(--border-subtle, #e5e7eb);
  padding: 0 20px;
  position: sticky; top: 0; z-index: 10;
}
.stx3-tab {
  display: flex; align-items: center; gap: 7px;
  padding: 13px 16px; font-size: 13px; font-weight: 500;
  color: var(--text-secondary, #6b7280);
  background: none; border: none; border-bottom: 2px solid transparent;
  cursor: pointer; transition: color .15s, border-color .15s;
  position: relative;
}
.stx3-tab:hover { color: var(--text-primary, #111); }
.stx3-tab.is-active { color: #10b981; border-bottom-color: #10b981; }
.stx3-tab__icon { opacity: 0.7; }
.stx3-tab.is-active .stx3-tab__icon { opacity: 1; }
.stx3-tab__dot {
  width: 7px; height: 7px; border-radius: 50%; background: #ef4444;
  position: absolute; top: 9px; right: 8px;
}

/* Content area */
.stx3-content { padding: 28px 28px 40px; }
.stx3-panel   { display: none; }
.stx3-panel.is-active { display: block; }

/* Panel header */
.stx3-ph { margin-bottom: 22px; }
.stx3-ph__title { font-size: 17px; font-weight: 700; margin: 0 0 4px; }
.stx3-ph__desc  { font-size: 13px; color: var(--text-secondary, #6b7280); margin: 0; }

/* Integration cards */
.stx3-icard-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.stx3-icard {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 18px; border-radius: 10px;
  border: 1px solid var(--border-subtle, #e5e7eb);
  background: var(--bg-surface, #fff);
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.stx3-icard:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,.07); border-color: #10b981; }
.stx3-icard--connected { border-left: 3px solid #10b981; }
.stx3-icard--pending   { border-left: 3px solid #f59e0b; }
.stx3-icard__left  { display: flex; align-items: center; gap: 14px; }
.stx3-icard__icon  { flex-shrink: 0; }
.stx3-icard__info  { display: flex; flex-direction: column; gap: 2px; }
.stx3-icard__name  { font-size: 14px; font-weight: 600; }
.stx3-icard__desc  { font-size: 12px; color: var(--text-secondary, #6b7280); }
.stx3-icard__ctx   { font-size: 11px; color: var(--text-muted, #9ca3af); }
.stx3-icard__right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

/* Trust bar */
.stx3-trust-bar {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 12px 14px; border-radius: 8px;
  background: rgba(16,185,129,.06); border: 1px solid rgba(16,185,129,.15);
  font-size: 12px; color: var(--text-secondary, #6b7280); line-height: 1.5;
}
.stx3-trust-bar svg { color: #10b981; flex-shrink: 0; margin-top: 1px; }

/* Pills */
.stx3-pill {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 20px;
}
.stx3-pill--green  { background: rgba(16,185,129,.12); color: #059669; }
.stx3-pill--amber  { background: rgba(245,158,11,.12);  color: #d97706; }
.stx3-pill--gray   { background: rgba(107,114,128,.1);  color: #6b7280; }
.stx3-pill--red    { background: rgba(239,68,68,.1);    color: #dc2626; }

/* Buttons */
.stx3-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: 7px;
  font-size: 13px; font-weight: 500; cursor: pointer;
  transition: background .15s, opacity .15s, transform .1s;
  border: none; white-space: nowrap;
}
.stx3-btn:active { transform: scale(0.98); }
.stx3-btn--primary { background: #10b981; color: #fff; }
.stx3-btn--primary:hover { background: #059669; }
.stx3-btn--ghost {
  background: transparent;
  color: var(--text-secondary, #6b7280);
  border: 1px solid var(--border-subtle, #e5e7eb);
}
.stx3-btn--ghost:hover { background: var(--bg-surface2, #f9fafb); color: var(--text-primary, #111); }
.stx3-btn--sm { padding: 5px 10px; font-size: 12px; }
.stx3-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Billing panel */
.stx3-billing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.stx3-billing-left {
  padding: 24px; border-radius: 12px;
  background: linear-gradient(160deg, #0f172a, #1e293b);
  color: #fff;
}
.stx3-billing-price { display: flex; align-items: baseline; gap: 4px; }
.stx3-billing-amount { font-size: 36px; font-weight: 800; }
.stx3-billing-period { font-size: 14px; color: rgba(255,255,255,.5); }
.stx3-billing-hint { font-size: 12px; color: rgba(255,255,255,.5); margin: 8px 0 0; line-height: 1.5; }
.stx3-billing-hint a { color: rgba(255,255,255,.7); }
.stx3-billing-right { padding: 24px 0; }
.stx3-billing-feat-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted, #9ca3af); margin: 0 0 10px; }
.stx3-billing-features { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.stx3-feat-item { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.stx3-feat-item svg { color: #10b981; flex-shrink: 0; }

/* Profile panel */
.stx3-section { margin-bottom: 28px; }
.stx3-section--danger { padding: 16px; border-radius: 8px; border: 1px solid rgba(239,68,68,.2); background: rgba(239,68,68,.04); }
.stx3-section__title { font-size: 13px; font-weight: 600; margin: 0 0 14px; color: var(--text-secondary, #6b7280); text-transform: uppercase; letter-spacing: .06em; }
.stx3-section__title--danger { font-size: 13px; font-weight: 600; margin: 0 0 8px; color: #dc2626; }
.stx3-danger-text { font-size: 13px; color: var(--text-secondary, #6b7280); margin: 0; }
.stx3-danger-text a { color: #dc2626; }
.stx3-field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.stx3-field { display: flex; flex-direction: column; gap: 5px; }
.stx3-field__label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted, #9ca3af); }
.stx3-field__val { font-size: 14px; color: var(--text-primary, #111); }
.stx3-field__val--mono { font-family: var(--font-mono, monospace); font-size: 12px; }
.stx3-field__editable { display: flex; align-items: center; gap: 8px; }
.stx3-input {
  flex: 1; padding: 7px 10px; border-radius: 7px; font-size: 13px;
  border: 1px solid var(--border-subtle, #e5e7eb);
  background: var(--bg-surface, #fff); color: var(--text-primary, #111);
  outline: none; transition: border-color .15s;
}
.stx3-input:focus { border-color: #10b981; }
.stx3-field__hint { font-size: 11px; margin: 0; min-height: 16px; }

/* Notifications */
.stx3-notif-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.stx3-notif {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 13px 15px; border-radius: 8px;
  border: 1px solid var(--border-subtle, #e5e7eb);
  background: var(--bg-surface, #fff);
}
.stx3-notif--error   { border-left: 3px solid #ef4444; }
.stx3-notif--warn    { border-left: 3px solid #f59e0b; }
.stx3-notif--success { border-left: 3px solid #10b981; }
.stx3-notif__body  { flex: 1; }
.stx3-notif__title { font-size: 13px; font-weight: 600; display: block; margin-bottom: 3px; }
.stx3-notif__msg   { font-size: 12px; color: var(--text-secondary, #6b7280); margin: 0; }
.stx3-notif__dismiss {
  flex-shrink: 0; padding: 4px; border-radius: 4px; background: none; border: none;
  color: var(--text-muted, #9ca3af); cursor: pointer; transition: color .15s;
}
.stx3-notif__dismiss:hover { color: var(--text-primary, #111); }
.stx3-notif-actions { display: flex; justify-content: flex-end; }
.stx3-empty { padding: 28px 0; text-align: center; font-size: 13px; color: var(--text-muted, #9ca3af); }

/* Misc */
.stx3-link { color: #10b981; text-decoration: none; }
.stx3-link:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 768px) {
  .stx3-hero__inner  { flex-direction: column; align-items: flex-start; }
  .stx3-hero__right  { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .stx3-billing-grid { grid-template-columns: 1fr; }
  .stx3-icard { flex-direction: column; align-items: flex-start; }
  .stx3-icard__right { flex-wrap: wrap; }
  .stx3-tab-nav { padding: 0 8px; overflow-x: auto; }
  .stx3-tab__label { display: none; }
  .stx3-content { padding: 18px 14px 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .stx3-icard, .stx3-btn { transition: none; }
}


/* ============================================================
   SETTINGS V8 — stx4-* (2026-05-21)
   ============================================================ */

.stx4-shell { display: flex; flex-direction: column; }

/* ── Hero ── */
.stx4-hero {
  background: linear-gradient(135deg, #0f3d2e 0%, #0d2b20 60%, #0a1f17 100%);
  border-radius: 0 0 14px 14px;
  padding: 22px 28px 0;
  color: #fff;
}
.stx4-hero__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.stx4-hero__left  { display: flex; align-items: center; gap: 14px; }
.stx4-hero__icon  { color: #10b981; opacity: .9; }
.stx4-hero__eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(16,185,129,.65); margin-bottom: 2px; }
.stx4-hero__title   { font-size: 22px; font-weight: 700; color: #fff; margin: 0; line-height: 1.2; }
.stx4-hero__right   { display: flex; flex-direction: column; gap: 5px; align-items: flex-end; }
.stx4-plat-status   { display: flex; align-items: center; gap: 7px; font-size: 12px; color: rgba(255,255,255,.65); }
.stx4-hero__meta    { display: flex; align-items: center; gap: 8px; font-size: 11px; color: rgba(255,255,255,.4); padding: 10px 0 13px; flex-wrap: wrap; }
.stx4-sep { opacity: .35; }

/* ── Dots ── */
.stx4-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.stx4-dot--green { background: #10b981; }
.stx4-dot--gray  { background: rgba(255,255,255,.22); }

/* ── Tab Nav ── */
.stx4-tab-nav {
  display: flex; align-items: center; gap: 2px;
  background: var(--bg-surface, #fff);
  border-bottom: 1px solid var(--border-subtle, #e5e7eb);
  padding: 0 20px;
  position: sticky; top: 0; z-index: 10;
  overflow-x: auto;
}
.stx4-tab {
  display: flex; align-items: center; gap: 7px; position: relative;
  padding: 13px 15px; font-size: 13px; font-weight: 500;
  color: var(--text-secondary, #6b7280);
  background: none; border: none; border-bottom: 2px solid transparent;
  cursor: pointer; transition: color .13s, border-color .13s; white-space: nowrap;
}
.stx4-tab:hover { color: var(--text-primary, #111); }
.stx4-tab.is-active { color: #10b981; border-bottom-color: #10b981; }
.stx4-tab__icon { opacity: .7; }
.stx4-tab.is-active .stx4-tab__icon { opacity: 1; }
.stx4-tab__dot { width: 7px; height: 7px; border-radius: 50%; background: #ef4444; position: absolute; top: 9px; right: 7px; }

/* ── Content ── */
.stx4-content { padding: 28px 28px 40px; }
.stx4-panel { display: none; }
.stx4-panel.is-active { display: block; }
.stx4-panel-inner { max-width: 900px; }

/* ── Integration Cards — 2-col grid ── */
.stx4-icard-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 16px; }
.stx4-icard {
  background: #fff; border-radius: 12px;
  border: 1px solid #e5e7eb;
  padding: 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
  display: flex; flex-direction: column; gap: 12px;
  transition: box-shadow .15s, transform .15s;
}
.stx4-icard:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); transform: translateY(-1px); }
.stx4-icard__top { display: flex; flex-direction: column; gap: 5px; }
.stx4-icard__brand { display: flex; align-items: center; gap: 10px; }
.stx4-icard__name { font-size: 14px; font-weight: 600; color: var(--text-primary, #111); }
.stx4-icard__desc { font-size: 11px; color: var(--text-muted, #9ca3af); margin: 0; line-height: 1.3; }
.stx4-icard__foot { display: flex; align-items: center; justify-content: space-between; }
.stx4-icard__status { font-size: 12px; font-weight: 500; }
.stx4-trust-line {
  display: flex; align-items: center; gap: 7px;
  font-size: 11px; color: var(--text-muted, #9ca3af); margin: 0;
}
.stx4-trust-line svg { flex-shrink: 0; }

/* ── Buttons ── */
.stx4-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px; border-radius: 7px;
  font-size: 13px; font-weight: 500; cursor: pointer;
  border: none; transition: background .13s, opacity .13s, transform .1s;
  text-decoration: none; white-space: nowrap;
}
.stx4-btn:active { transform: scale(.98); }
.stx4-btn--emerald { background: #10b981; color: #fff; }
.stx4-btn--emerald:hover { background: #059669; }
.stx4-btn--primary { background: #10b981; color: #fff; }
.stx4-btn--primary:hover { background: #059669; }
.stx4-btn--ghost { background: transparent; color: var(--text-secondary, #6b7280); border: 1px solid var(--border-subtle, #e5e7eb); }
.stx4-btn--ghost:hover { background: var(--bg-surface2, #f9fafb); color: var(--text-primary, #111); }
.stx4-btn--sm { padding: 5px 12px; font-size: 12px; }
.stx4-btn:disabled { opacity: .5; cursor: not-allowed; }
.stx4-icon-btn { background: none; border: none; cursor: pointer; color: var(--text-muted, #9ca3af); padding: 3px 5px; border-radius: 4px; transition: color .13s; }
.stx4-icon-btn:hover { color: var(--text-primary, #111); }
.stx4-link-btn { background: none; border: none; cursor: pointer; font-size: 12px; color: #10b981; padding: 0; }
.stx4-link-btn:hover { text-decoration: underline; }

/* ── Pills ── */
.stx4-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 3px 9px; border-radius: 20px; }
.stx4-pill--green { background: rgba(16,185,129,.1); color: #059669; }
.stx4-pill--amber { background: rgba(245,158,11,.1); color: #d97706; }
.stx4-pill--red   { background: rgba(239,68,68,.1);  color: #dc2626; }
.stx4-pill--gray  { background: rgba(107,114,128,.1);color: #6b7280; }

/* ── Billing Panel ── */
.stx4-billing-card {
  display: flex; align-items: center; gap: 0;
  background: linear-gradient(135deg, #0f2027 0%, #1a2f2a 100%);
  border-radius: 14px; padding: 28px 32px;
  margin-bottom: 20px; color: #fff;
}
.stx4-billing-left  { flex: 1; }
.stx4-billing-label { font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #10b981; margin-bottom: 6px; }
.stx4-billing-price { display: flex; align-items: baseline; gap: 4px; }
.stx4-billing-amount { font-size: 52px; font-weight: 800; line-height: 1; }
.stx4-billing-period { font-size: 14px; opacity: .5; }
.stx4-billing-div   { width: 1px; background: rgba(255,255,255,.1); align-self: stretch; margin: 0 32px; }
.stx4-billing-right { display: flex; flex-direction: column; align-items: flex-start; gap: 0; min-width: 200px; }
.stx4-billing-hint  { font-size: 12px; color: rgba(255,255,255,.45); margin: 8px 0 0; line-height: 1.5; }

.stx4-feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.stx4-feat-card {
  display: flex; align-items: center; gap: 8px;
  background: var(--bg-surface2, #f9fafb); border: 1px solid #f0f0f0;
  border-radius: 8px; padding: 12px 14px;
}
.stx4-feat-check { color: #10b981; flex-shrink: 0; }
.stx4-feat-label { font-size: 13px; color: #374151; }

.stx4-agency-hint {
  background: rgba(99,102,241,.04); border: 1px solid rgba(99,102,241,.12);
  border-radius: 8px; padding: 14px 18px;
  font-size: 12px; color: var(--text-secondary, #6b7280); line-height: 1.6;
}

/* ── Profile / Cards ── */
.stx4-card {
  background: var(--bg-surface, #fff); border-radius: 12px;
  border: 1px solid var(--border-subtle, #e5e7eb);
  box-shadow: 0 1px 4px rgba(0,0,0,.05);
  padding: 26px 28px; margin-bottom: 16px;
  max-width: 680px;
}
.stx4-profile-card { max-width: 680px; }
.stx4-card-header { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted, #9ca3af); margin-bottom: 18px; }
.stx4-card-header--danger { color: #ef4444; }
.stx4-card-foot { display: flex; justify-content: flex-end; margin-top: 16px; }

.stx4-danger-card {
  background: #fff5f5; border-radius: 12px;
  border: 1px solid #fecaca; padding: 18px 24px; max-width: 680px;
}
.stx4-danger-text { font-size: 13px; color: var(--text-secondary, #6b7280); margin: 0; }

.stx4-field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 18px; }
.stx4-field { display: flex; flex-direction: column; gap: 5px; }
.stx4-field__lbl { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted, #9ca3af); }
.stx4-field__val { font-size: 14px; color: var(--text-primary, #111); }
.stx4-field__sub { font-size: 10px; color: var(--text-muted, #9ca3af); margin: 0; }
.stx4-field__row { display: flex; align-items: center; gap: 7px; }
.stx4-field__row--mono { font-family: var(--font-mono, monospace); }
.stx4-field__hint { font-size: 11px; margin: 2px 0 0; min-height: 15px; }
.stx4-field__mono { font-size: 11px; color: var(--text-secondary, #6b7280); font-family: var(--font-mono, monospace); word-break: break-all; }
.stx4-bold { font-weight: 600; }
.stx4-mt8 { margin-top: 8px; }

.stx4-input {
  flex: 1; padding: 8px 11px; border-radius: 7px; font-size: 13px;
  border: 1px solid var(--border-subtle, #d1d5db);
  background: var(--bg-surface, #fff); color: var(--text-primary, #111);
  outline: none; transition: border-color .13s; min-width: 0;
}
.stx4-input:focus { border-color: #10b981; }

/* ── Notifications ── */
.stx4-notif-panel .stx4-panel-inner { max-width: 680px; }
.stx4-notif-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.stx4-section-lbl { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted, #9ca3af); }
.stx4-notif-list { display: flex; flex-direction: column; gap: 10px; }
.stx4-notif {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  background: var(--bg-surface, #fff); border-radius: 10px;
  border: 1px solid var(--border-subtle, #e5e7eb);
  padding: 14px 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: box-shadow .13s, opacity .2s;
}
.stx4-notif:hover { box-shadow: 0 3px 10px rgba(0,0,0,.08); }
.stx4-notif__body { flex: 1; }
.stx4-notif__title { font-size: 13px; font-weight: 600; display: block; margin-bottom: 3px; }
.stx4-notif__time  { font-size: 10px; color: var(--text-muted, #9ca3af); margin-left: 8px; }
.stx4-notif__msg   { font-size: 12px; color: var(--text-secondary, #6b7280); margin: 4px 0 0; }
.stx4-notif__dismiss { background: none; border: none; cursor: pointer; color: var(--text-muted, #9ca3af); padding: 3px; border-radius: 4px; flex-shrink: 0; transition: color .13s; }
.stx4-notif__dismiss:hover { color: var(--text-primary, #111); }
.stx4-empty-notif { text-align: center; padding: 40px 0; color: var(--text-muted, #9ca3af); }
.stx4-empty-notif__title { font-size: 14px; color: var(--text-secondary, #6b7280); margin: 12px 0 4px; }
.stx4-empty-notif__sub { font-size: 12px; margin: 0; }

/* ── Handbuch ── */
.stx4-doc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; max-width: 680px; margin-bottom: 18px; }
.stx4-doc-card {
  background: var(--bg-surface, #fff); border-radius: 12px;
  border: 1px solid var(--border-subtle, #e5e7eb);
  padding: 24px; display: flex; flex-direction: column; gap: 10px;
  transition: box-shadow .13s;
}
.stx4-doc-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.stx4-doc-card__top  { display: flex; align-items: center; gap: 12px; }
.stx4-doc-card__flag { font-size: 28px; line-height: 1; }
.stx4-doc-card__title { font-size: 15px; font-weight: 700; display: block; }
.stx4-doc-card__lang  { font-size: 11px; color: var(--text-muted, #9ca3af); }
.stx4-doc-card__sub   { font-size: 11px; color: var(--text-secondary, #6b7280); margin: 0; line-height: 1.5; }
.stx4-doc-card__soon  { font-size: 12px; color: var(--text-muted, #9ca3af); margin: 0; }
.stx4-doc-support { font-size: 12px; color: var(--text-secondary, #6b7280); }

/* ── Links ── */
.stx4-link { color: #10b981; text-decoration: none; }
.stx4-link:hover { text-decoration: underline; }
.stx4-link--danger { color: #ef4444; }

/* ── Responsive ── */
@media (max-width: 860px) {
  .stx4-icard-grid { grid-template-columns: 1fr; }
  .stx4-feat-grid { grid-template-columns: repeat(2, 1fr); }
  .stx4-billing-card { flex-direction: column; gap: 20px; }
  .stx4-billing-div { width: 100%; height: 1px; margin: 0; }
  .stx4-doc-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .stx4-content { padding: 16px 14px 40px; }
  .stx4-feat-grid { grid-template-columns: 1fr; }
  .stx4-hero__right { align-items: flex-start; flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .stx4-tab__label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .stx4-icard, .stx4-btn, .stx4-notif, .stx4-doc-card { transition: none; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   EINSTELLUNGEN V9 — ELITE VISUAL (stx5-*)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─ Panel inner ─────────────────────────────────────────────────────────── */
.stx5-panel-inner {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 780px;
}

/* ─ Section label ───────────────────────────────────────────────────────── */
.stx5-section-lbl {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--text-muted, #9ca3af);
  text-transform: uppercase;
  margin-bottom: 12px;
  display: block;
}

/* ─ Integration rows ────────────────────────────────────────────────────── */
.stx5-irow-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.stx5-irow {
  display: flex;
  align-items: center;
  gap: 18px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 22px 28px;
  transition: box-shadow 140ms ease, border-color 140ms ease;
}

.stx5-irow:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,0.07);
  border-color: #d1d5db;
}

.stx5-irow--connected {
  border-left: 3px solid #10b981;
  background: linear-gradient(to right, rgba(16,185,129,0.04) 0%, #ffffff 40%);
}

.stx5-irow__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.stx5-irow__info {
  flex: 1;
  min-width: 0;
}

.stx5-irow__name {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 3px;
}

.stx5-irow__desc {
  font-size: 13px;
  color: #6b7280;
}

.stx5-irow__right {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

/* ─ Status pills ────────────────────────────────────────────────────────── */
.stx5-status {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 3px 10px;
  border-radius: 999px;
  white-space: nowrap;
}
.stx5-status--connected {
  background: #d1fae5;
  color: #065f46;
}
.stx5-status--disconnected {
  background: #f3f4f6;
  color: #6b7280;
}

/* ─ Dots ────────────────────────────────────────────────────────────────── */
.stx5-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.stx5-dot--green  { background: #10b981; }
.stx5-dot--amber  { background: #f59e0b; }
.stx5-dot--red    { background: #ef4444; }
.stx5-dot--gray   { background: #9ca3af; }

/* ─ Buttons ─────────────────────────────────────────────────────────────── */
.stx5-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: background 130ms ease, box-shadow 130ms ease, transform 130ms ease;
  white-space: nowrap;
  text-decoration: none;
}
.stx5-btn:active { transform: scale(0.98); }

.stx5-btn--connect {
  background: #6366f1;
  color: #fff;
}
.stx5-btn--connect:hover { background: #4f46e5; box-shadow: 0 2px 8px rgba(99,102,241,0.35); }

.stx5-btn--ghost {
  background: transparent;
  color: #6b7280;
  border: 1px solid #e5e7eb;
}
.stx5-btn--ghost:hover { background: #f9fafb; color: #374151; }

/* Trial / Expired → emerald CTA */
.stx5-btn--billing-cta {
  display: inline-block;
  background: #10b981;
  color: #fff;
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 9px;
  margin-top: 4px;
  border: none;
  cursor: pointer;
  max-width: 220px;
  width: 100%;
  text-align: center;
}
.stx5-btn--billing-cta:hover { background: #059669; box-shadow: 0 2px 10px rgba(16,185,129,0.35); }

/* Active → neutral manage button */
.stx5-btn--billing-manage {
  display: inline-block;
  background: rgba(255,255,255,0.1);
  color: #e2e8f0;
  border: 1px solid rgba(255,255,255,0.2);
  padding: 10px 22px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 9px;
  margin-top: 4px;
  cursor: pointer;
  max-width: 220px;
  width: 100%;
  text-align: center;
  text-decoration: none;
}
.stx5-btn--billing-manage:hover { background: rgba(255,255,255,0.16); }

/* Legacy — keep for backward compat */
.stx5-btn--billing {
  background: #10b981;
  color: #fff;
  padding: 10px 22px;
  font-size: 13px;
  border-radius: 9px;
  margin-top: 4px;
}
.stx5-btn--billing:hover { background: #059669; box-shadow: 0 2px 10px rgba(16,185,129,0.35); }

.stx5-btn--save {
  background: #10b981;
  color: #fff;
  padding: 9px 20px;
  border-radius: 8px;
  font-size: 13px;
}
.stx5-btn--save:hover { background: #059669; }
.stx5-btn--save:disabled { background: #d1d5db; color: #9ca3af; cursor: default; }

.stx5-btn--download {
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #e5e7eb;
  padding: 9px 18px;
  border-radius: 8px;
  font-size: 13px;
}
.stx5-btn--download:hover { background: #e5e7eb; }

/* ─ Trust line ──────────────────────────────────────────────────────────── */
.stx5-trust-line {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: #6b7280;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 16px;
}

/* ─ Billing card ────────────────────────────────────────────────────────── */
.stx5-billing-card {
  display: flex;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #1e293b;
  min-height: 200px;
}

.stx5-billing-left {
  width: 55%;
  background: #0f172a;
  color: #fff;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.stx5-billing-eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #64748b;
  text-transform: uppercase;
}

.stx5-billing-price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin: 4px 0;
}
.stx5-billing-amount {
  font-size: 48px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #f1f5f9;
}
.stx5-billing-period {
  font-size: 16px;
  color: #64748b;
}

.stx5-billing-status {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: #94a3b8;
}
.stx5-billing-status-text { font-weight: 500; }

.stx5-billing-note {
  font-size: 11px;
  color: #94a3b8;
  margin-top: 6px;
  opacity: 0.85;
}

.stx5-billing-trial-hint {
  font-size: 11px;
  color: #94a3b8;
  margin: 2px 0 10px;
  opacity: 0.7;
  line-height: 1.5;
}

.stx5-billing-right {
  width: 45%;
  background: #f8fafc;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.stx5-billing-feat-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #9ca3af;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.stx5-feat-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.stx5-feat-item {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: #374151;
}

.stx5-feat-check {
  color: #10b981;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.stx5-value-statement {
  font-size: 13px;
  color: #4b5563;
  background: #f9fafb;
  border-left: 3px solid #6366f1;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  line-height: 1.6;
}

.stx5-agency-hint {
  font-size: 13px;
  color: #6b7280;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 14px 18px;
}

.stx5-link { color: #6366f1; text-decoration: underline; }
.stx5-link:hover { color: #4f46e5; }
.stx5-link--danger { color: #ef4444; }
.stx5-link--danger:hover { color: #dc2626; }

/* ─ Profile / Workspace cards ───────────────────────────────────────────── */
.stx5-profile-card,
.stx5-workspace-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
}

.stx5-card-header {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #9ca3af;
  text-transform: uppercase;
  padding: 16px 24px 12px;
  border-bottom: 1px solid #f3f4f6;
  background: #fafafa;
}

.stx5-card-header--danger {
  color: #ef4444;
  background: #fff5f5;
}

.stx5-field-group {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.stx5-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.stx5-field__lbl {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
}

.stx5-input {
  padding: 9px 13px;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  color: #111827;
  background: #fff;
  outline: none;
  transition: border-color 130ms ease, box-shadow 130ms ease;
  width: 100%;
  max-width: 380px;
  box-sizing: border-box;
}
.stx5-input:focus {
  border-color: #10b981;
  box-shadow: 0 0 0 3px rgba(16,185,129,0.18);
}

.stx5-field__readonly {
  font-size: 14px;
  color: #374151;
  padding: 9px 0;
}
.stx5-field__readonly--bold { font-weight: 600; }
.stx5-field__readonly--admin { color: #10b981; font-weight: 500; }

.stx5-field__hint {
  font-size: 12px;
  min-height: 16px;
}

.stx5-field__sub {
  font-size: 12px;
  color: #9ca3af;
}

.stx5-save-row {
  padding: 12px 24px 16px;
  border-top: 1px solid #f3f4f6;
  background: #fafafa;
}

/* ─ Workspace ID ────────────────────────────────────────────────────────── */
.stx5-ws-id-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.stx5-ws-badge {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 12px;
  background: #f3f4f6;
  color: #374151;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

.stx5-copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: #6366f1;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background 120ms;
}
.stx5-copy-btn:hover { background: #f0f0ff; }

/* ─ Danger zone ─────────────────────────────────────────────────────────── */
.stx5-danger-zone {
  background: #fff;
  border: 1px solid #fecaca;
  border-radius: 14px;
  overflow: hidden;
}

.stx5-danger-text {
  font-size: 13px;
  color: #6b7280;
  padding: 16px 24px;
  line-height: 1.6;
}

/* ─ Notifications ───────────────────────────────────────────────────────── */
.stx5-notif-panel { gap: 16px; }

.stx5-notif-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.stx5-link-btn {
  font-size: 12px;
  color: #6366f1;
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}
.stx5-link-btn:hover { color: #4f46e5; }

.stx5-notif-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.stx5-notif {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  transition: opacity 200ms ease;
}

.stx5-notif__body { flex: 1; min-width: 0; }
.stx5-notif__title { font-size: 14px; font-weight: 600; color: #111827; display: block; }
.stx5-notif__time { font-size: 11px; color: #9ca3af; margin-left: 8px; }
.stx5-notif__msg { font-size: 13px; color: #6b7280; margin-top: 4px; }
.stx5-notif__dismiss {
  background: none;
  border: none;
  cursor: pointer;
  color: #9ca3af;
  padding: 2px;
  border-radius: 4px;
  flex-shrink: 0;
  transition: color 120ms;
}
.stx5-notif__dismiss:hover { color: #374151; }

.stx5-notif-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 60px 32px;
  gap: 10px;
}
.stx5-notif-empty__title {
  font-size: 15px;
  font-weight: 600;
  color: #374151;
}
.stx5-notif-empty__sub {
  font-size: 13px;
  color: #6b7280;
}
.stx5-notif-empty__hint {
  font-size: 12px;
  color: #9ca3af;
  max-width: 340px;
}

/* ─ Handbuch ────────────────────────────────────────────────────────────── */
.stx5-doc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.stx5-doc-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow 140ms ease;
}
.stx5-doc-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.07); }

.stx5-doc-card__top {
  display: flex;
  align-items: center;
  gap: 14px;
}

.stx5-doc-flag {
  display: flex;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
  line-height: 0;
}

.stx5-doc-card__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.stx5-doc-card__title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
}
.stx5-doc-card__lang {
  font-size: 12px;
  color: #9ca3af;
}
.stx5-doc-card__sub {
  font-size: 13px;
  color: #6b7280;
  line-height: 1.55;
  flex: 1;
}

.stx5-doc-support {
  font-size: 13px;
  color: #6b7280;
  text-align: center;
  padding: 4px 0;
}

/* ─ Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 700px) {
  .stx5-billing-card { flex-direction: column; }
  .stx5-billing-left, .stx5-billing-right { width: 100%; }
  .stx5-doc-grid { grid-template-columns: 1fr; }
  .stx5-irow { flex-wrap: wrap; padding: 16px 18px; }
  .stx5-irow__right { width: 100%; justify-content: flex-end; }
  .stx5-panel-inner { padding: 20px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .stx5-irow, .stx5-doc-card, .stx5-btn, .stx5-input { transition: none !important; }
}

.topbar-scope-dropdown__item.is-disabled {
  cursor: default;
  opacity: 0.6;
  pointer-events: none;
}

.ccHero__scope-line {
  margin: 4px 0 0;
  font-size: 13px;
  color: #94a3b8;
}

.cc-hero-metrics {
  margin-top: 14px;
  display: grid;
  gap: 6px;
  max-width: 420px;
}

.cc-hero-metric-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding-left: 10px;
  border-left: 2px solid rgba(251, 146, 60, 0.35);
}

.cc-hero-metric-label {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
}

.cc-hero-metric-value {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  justify-self: start;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cc-hero-metric-note {
  margin: 8px 0 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 900px) {
  .cc-hero-metrics { max-width: 100%; }
  .cc-hero-metric-row { grid-template-columns: 104px minmax(0, 1fr); gap: 10px; }
}

.cc-hero-meta-label {
  color: #94a3b8;
  font-weight: 500;
}

.cc-hero-meta-value {
  color: #e5e7eb;
  font-weight: 700;
}

.cc-hero-meta-value--accent {
  color: var(--brand-orange, #f97316);
  font-weight: 800;
}

.set-accounts-list {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 170px;
  overflow: auto;
  padding-right: 4px;
}

.set-account-item {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 8px 10px;
  background: #ffffff;
}

.set-account-item__title {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
}

.set-account-item__meta {
  font-size: 12px;
  color: #6b7280;
  margin-top: 2px;
}

/* TESTING LOG V3 — Head to Head Analysis Center (ttx3__) */
.ttx3-wrap{display:grid;gap:14px;padding-bottom:96px}
.ttx3-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:12px;padding:18px;border-radius:16px;background:linear-gradient(160deg,#0e1729,#0b1220 62%,#142036);border:1px solid rgba(138,159,192,.24)}
.ttx3-eyebrow{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9ab0cf}
.ttx3-hero h1{margin:4px 0 0;font-size:clamp(24px,2vw,30px);line-height:1.13;color:#edf3ff}
.ttx3-subline{margin:7px 0 0;font-size:14px;color:#becee6}
.ttx3-trust{margin:8px 0 0;font-size:12px;color:#9db0cd}
.ttx3-hero-kpis{display:grid;gap:8px;align-content:start}
.ttx3-hero-kpis article{display:grid;gap:2px;padding:8px 10px;border-radius:10px;background:rgba(8,16,30,.58);border:1px solid rgba(142,163,193,.2)}
.ttx3-hero-kpis span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8fa4c3}
.ttx3-hero-kpis strong{font-size:14px;color:#ecf2ff}
.ttx3-delta{grid-column:1/-1;padding:10px 12px;border-radius:12px;background:rgba(8,16,30,.4);border:1px solid rgba(142,163,193,.2)}
.ttx3-delta h2{margin:0 0 6px;font-size:14px;color:#e7efff}
.ttx3-delta p{margin:0;color:#afc0d8;font-size:13px}
.ttx3-delta ul{margin:0;padding-left:18px;display:grid;gap:4px}
.ttx3-delta li{color:#d3e1f4;font-size:13px}

.ttx3-controls{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:10px;align-items:end;padding:12px;border-radius:12px;background:#f8fafd;border:1px solid #e1e8f1}
.ttx3-mode{display:flex;gap:6px}
.ttx3-mode button{height:36px;padding:0 14px;border:1px solid #d6dfeb;border-radius:9px;background:#fff;color:#445873;cursor:pointer}
.ttx3-mode button.is-active{background:#0f1d35;color:#ecf2ff;border-color:#0f1d35}
.ttx3-field{display:grid;gap:6px}
.ttx3-field span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6f829e}
.ttx3-field select{height:38px;border:1px solid #d6dfeb;border-radius:9px;background:#fff;color:#12253f;padding:0 10px}
.ttx3-run{height:38px;padding:0 14px;border:0;border-radius:9px;background:#122744;color:#eef4ff;cursor:pointer}

.ttx3-analysis,.ttx3-history{padding:14px;border-radius:12px;background:#fff;border:1px solid #e4ebf3}
.ttx3-analysis h2,.ttx3-history h2{margin:0 0 10px;font-size:17px;color:#12253f}
.ttx3-summary{margin:0 0 4px;font-size:14px;color:#1b3555}
.ttx3-reliability{margin:0 0 10px;font-size:13px;color:#4d6483}
.ttx3-headtohead{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}
.ttx3-headtohead article{padding:10px;border:1px solid #e5edf6;border-radius:10px;background:#fbfdff;display:grid;gap:5px}
.ttx3-headtohead h3{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a8ea9}
.ttx3-headtohead strong{font-size:13px;color:#132a49}
.ttx3-preview{aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#eff3f8;border:1px solid #dbe4ef}
.ttx3-preview img{width:100%;height:100%;object-fit:cover;display:block}
.ttx3-preview--empty{display:grid;place-items:center;font-size:12px;color:#7c8ea7}

.ttx3-diff h3{margin:0 0 8px;font-size:14px;color:#213857}
.ttx3-diff-list{display:grid;gap:6px}
.ttx3-diff-row{display:grid;grid-template-columns:1fr .9fr .9fr .9fr;gap:8px;padding:8px;border:1px solid #e7eef6;border-radius:9px;background:#fff}
.ttx3-diff-row span{font-size:12px;color:#48627f}
.ttx3-diff-row span:first-child{color:#1f3a58;font-weight:600}

.ttx3-analysis article{padding:10px 0;border-top:1px solid #ecf1f6}
.ttx3-analysis article h3{margin:0 0 4px;font-size:13px;color:#223a59}
.ttx3-analysis article p{margin:0;font-size:13px;color:#4d6483;line-height:1.45}
.ttx3-analysis article ul{margin:0;padding-left:18px;display:grid;gap:4px}
.ttx3-analysis article li{font-size:13px;color:#4d6483}

.ttx3-history-list{display:grid;gap:9px}
.ttx3-history article{padding:10px;border:1px solid #e6edf5;border-radius:10px;background:#fbfdff}
.ttx3-history header{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ttx3-history strong{font-size:13px;color:#132a49}
.ttx3-history span{font-size:11px;color:#7085a3}
.ttx3-history p{margin:6px 0 0;font-size:13px;color:#314a69}

@media (max-width:980px){
  .ttx3-hero{grid-template-columns:1fr}
  .ttx3-controls{grid-template-columns:1fr}
  .ttx3-headtohead{grid-template-columns:1fr}
  .ttx3-diff-row{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .ttx3-wrap{padding-bottom:112px}
  .ttx3-mode{display:grid;grid-template-columns:1fr 1fr}
}

/* ACADEMY V4 — Premium Knowledge Hub (acv4__) */
.acv4-wrap{display:grid;gap:14px;padding-bottom:96px}
.acv4-hero{padding:18px;border-radius:16px;background:linear-gradient(160deg,#0f182b,#0b1222 62%,#15243d);border:1px solid rgba(138,159,192,.24)}
.acv4-eyebrow{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9ab0cf}
.acv4-hero h1{margin:4px 0 0;font-size:clamp(24px,2vw,30px);line-height:1.13;color:#edf3ff}
.acv4-subline{margin:7px 0 0;font-size:14px;color:#becee6;max-width:78ch}
.acv4-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:#f8fafd;border:1px solid #e1e8f1}
.acv4-tabs button{height:34px;padding:0 12px;border:1px solid #d6dfeb;border-radius:8px;background:#fff;color:#4b607b;cursor:pointer}
.acv4-tabs button.is-active{background:#0f1d35;color:#ecf2ff;border-color:#0f1d35}
.acv4-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.acv4-card{border:1px solid #e4ebf3;border-radius:14px;background:#fff;overflow:hidden;display:grid;grid-template-rows:auto 1fr;cursor:pointer;transition:box-shadow .16s,border-color .16s,transform .16s}
.acv4-card:hover{transform:translateY(-1px);border-color:#cedaea;box-shadow:0 10px 24px rgba(17,30,50,.1)}
.acv4-preview{aspect-ratio:1/1;background:#0d1826;display:flex;align-items:center;justify-content:center}
.acv4-preview img{width:100%;height:100%;object-fit:contain;display:block}
.acv4-preview--empty{display:grid;place-items:center;color:#a8b7ca;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.acv4-body{display:grid;gap:8px;padding:12px}
.acv4-type{margin:0;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6f839f}
.acv4-card h3{margin:0;font-size:16px;line-height:1.3;color:#122742;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.acv4-desc{margin:0;font-size:13px;color:#526985;line-height:1.45}
.acv4-meta{margin:0;font-size:12px;color:#7a8fa8}
.acv4-open{height:36px;justify-self:start;padding:0 12px;border:0;border-radius:8px;background:#122744;color:#eef4ff;cursor:pointer}
.acv4-empty{padding:14px;border:1px dashed #d7e0eb;border-radius:12px;background:#f9fbff;color:#647a96}
/* HOWTO cards — icon-ring design, no image */
.acv4-card--howto{grid-template-rows:auto 1fr;align-items:start}
.acv4-icon-ring{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;margin:14px 14px 0;background:color-mix(in srgb,var(--ring-color,#6366f1) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--ring-color,#6366f1) 35%,transparent);color:var(--ring-color,#6366f1);flex-shrink:0}
.acv4-icon-ring svg{width:26px;height:26px;stroke:currentColor}
/* PROMPT cards — terminal preview, no image */
.acv4-card--prompt{grid-template-rows:auto 1fr}
.acv4-terminal{background:#0d1117;border-radius:10px 10px 0 0;overflow:hidden;flex-shrink:0}
.acv4-card--prompt .acv4-terminal{border-radius:10px 10px 0 0}
.acv4-terminal__bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#161b22;border-bottom:1px solid #30363d}
.acv4-terminal__dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.acv4-terminal__title{margin-left:auto;font-size:11px;color:#8b949e;font-family:'JetBrains Mono',monospace;letter-spacing:.05em}
.acv4-terminal__body{display:flex;align-items:center;gap:8px;padding:14px 14px 16px;min-height:54px}
.acv4-terminal__prompt{color:#10b981;font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;flex-shrink:0}
.acv4-terminal__cmd{color:#e6edf3;font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.4;word-break:break-word}
.acv4-terminal__cursor{color:#6366f1;font-size:14px;animation:acv4Blink 1.1s step-end infinite;flex-shrink:0}
@keyframes acv4Blink{0%,100%{opacity:1}50%{opacity:0}}
/* ebook cover — taller preview */
.acv4-preview--ebook{aspect-ratio:3/4;max-height:220px}
/* prompt action buttons */
.acv4-prompt-actions{display:flex;gap:8px;flex-wrap:wrap}
.acv4-btn-copy,.acv4-btn-download{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;text-decoration:none}
.acv4-btn-copy{border:1.5px solid #6366f1;background:rgba(99,102,241,.08);color:#6366f1}
.acv4-btn-copy svg{width:15px;height:15px;flex-shrink:0}
.acv4-btn-copy:hover:not(:disabled){background:rgba(99,102,241,.18)}
.acv4-btn-copy:disabled{opacity:.5;cursor:wait}
.acv4-btn-copy.is-copied{background:rgba(16,185,129,.1);border-color:#10b981;color:#10b981}
.acv4-btn-copy.is-error{background:rgba(239,68,68,.08);border-color:#ef4444;color:#ef4444}
.acv4-btn-download{border:1.5px solid #4b5563;background:rgba(75,85,99,.07);color:#4b5563}
.acv4-btn-download svg{width:15px;height:15px;flex-shrink:0}
.acv4-btn-download:hover{background:rgba(75,85,99,.15);border-color:#374151;color:#374151}

/* MORE TOOLS V4 — Operational Toolkit (mtv4__) */
.mtv4-wrap{display:grid;gap:14px;padding-bottom:96px}
.mtv4-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:20px 22px;
  border-radius:18px;
  border:1px solid #7a4bb8;
  background:
    radial-gradient(110% 170% at 100% 0%, rgba(255,138,0,.3) 0%, rgba(255,138,0,0) 46%),
    linear-gradient(160deg,#3a175f 0%,#4a1f73 56%,#5d2993 100%);
  box-shadow:0 16px 38px rgba(53,14,95,.32);
}
.mtv4-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:3px;
  background:linear-gradient(90deg,#ff8a00 0%,#ff6a00 55%,#ff9f2e 100%);
  z-index:-1;
}
.mtv4-eyebrow{margin:0;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#ffd6ab;font-weight:800}
.mtv4-hero h1{margin:5px 0 0;font-size:clamp(24px,2vw,30px);line-height:1.12;color:#fff4e4}
.mtv4-subline{margin:8px 0 0;font-size:14px;color:#ffe2c4;max-width:78ch}
.mtv4-toolbar{padding:10px 12px;border-radius:12px;background:#f8fafd;border:1px solid #e1e8f1}
.mtv4-toolbar label{display:grid;gap:6px}
.mtv4-toolbar span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6f829e}
.mtv4-toolbar input{height:38px;border:1px solid #d6dfeb;border-radius:9px;background:#fff;color:#12253f;padding:0 10px}
.mtv4-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.mtv4-tile{border:1px solid #e4ebf3;border-radius:14px;background:#fff;overflow:hidden;display:grid;grid-template-rows:auto 1fr;cursor:pointer;transition:box-shadow .16s,border-color .16s,transform .16s}
.mtv4-tile:hover{transform:translateY(-1px);border-color:#cedaea;box-shadow:0 10px 24px rgba(17,30,50,.1)}
.mtv4-visual{aspect-ratio:16/9;background:#e9eef5}
.mtv4-visual img{width:100%;height:100%;object-fit:cover;display:block}
.mtv4-body{display:grid;gap:8px;padding:12px}
.mtv4-body h3{margin:0;font-size:16px;color:#122742;line-height:1.3}
.mtv4-body p{margin:0;font-size:13px;color:#526985;line-height:1.45}
.mtv4-benefit{font-size:12px;color:#6f859f}
.mtv4-open{height:36px;justify-self:start;padding:0 12px;border:0;border-radius:8px;background:#122744;color:#eef4ff;cursor:pointer}
.mtv4-empty{padding:14px;border:1px dashed #d7e0eb;border-radius:12px;background:#f9fbff;color:#647a96}

@media (max-width:640px){
  .acv4-wrap,.mtv4-wrap{padding-bottom:112px}
  .acv4-grid,.mtv4-grid{grid-template-columns:1fr}
}

/* REPORTS V4 — EXPORT & EVIDENCE CENTER FINALIZATION */
.repv4-shell { display: grid; gap: 14px; padding-bottom: 36px; }
.repv4-hero {
  background: linear-gradient(140deg, #0f172a 0%, #111827 56%, #1f2937 100%);
  color: #e5e7eb;
  border: 1px solid rgba(148, 163, 184, 0.2);
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
  padding: 28px;
}
.repv4-eyebrow { margin: 0 0 10px; font-size: 11px; letter-spacing: 0.1em; font-weight: 700; color: #93c5fd; }
.repv4-hero h1 { margin: 0 0 8px; font-size: clamp(1.5rem, 2.4vw, 2.1rem); letter-spacing: -0.01em; color: #f8fafc; }
.repv4-sub { margin: 0 0 10px; color: #cbd5e1; font-size: 14px; }
.repv4-trust { margin: 0; color: #94a3b8; font-size: 12px; }
.repv4-hero-meta { display: grid; gap: 8px; align-content: start; }
.repv4-hero-meta div {
  background: rgba(15, 23, 42, 0.42);
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 10px;
  padding: 10px 12px;
}
.repv4-hero-meta span { display: block; color: #94a3b8; font-size: 11px; margin-bottom: 3px; }
.repv4-hero-meta strong { color: #f1f5f9; font-size: 13px; }
.repv4-tabs { display: flex; gap: 8px; flex-wrap: wrap; padding: 10px; }
.repv4-tab {
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--text-secondary);
  padding: 9px 13px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.repv4-tab:hover { background: rgba(15, 23, 42, 0.06); color: var(--text-primary); }
.repv4-tab.is-active { background: rgba(15, 23, 42, 0.1); color: var(--text-primary); }
.repv4-body { display: grid; gap: 12px; }
.repv4-panel { padding: 16px; }
.repv4-panel h2 { margin: 0 0 10px; font-size: 16px; }
.repv4-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.repv4-summary-grid div { background: rgba(148, 163, 184, 0.06); border-radius: 10px; padding: 10px; }
.repv4-summary-grid span { display: block; font-size: 11px; color: var(--text-muted); margin-bottom: 3px; }
.repv4-summary-grid strong { font-size: 15px; color: var(--text-primary); }
.repv4-note { margin: 12px 0 0; color: var(--text-secondary); font-size: 13px; }
.repv4-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}
.repv4-field span { display: block; margin-bottom: 6px; font-size: 11px; color: var(--text-muted); }
.repv4-field input,
.repv4-field select {
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-primary);
  padding: 8px 9px;
  font-size: 13px;
}
.repv4-table-wrap { overflow-x: auto; }
.repv4-table { width: 100%; border-collapse: collapse; min-width: 980px; }
.repv4-table th, .repv4-table td {
  text-align: left;
  padding: 10px 10px;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 12px;
  vertical-align: top;
}
.repv4-table th { font-size: 11px; letter-spacing: 0.03em; color: var(--text-muted); text-transform: uppercase; }
.repv4-empty { margin: 0; font-size: 14px; color: var(--text-secondary); }
.repv4-platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.repv4-platform { padding: 14px; }
.repv4-platform header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.repv4-platform h3 { margin: 0; font-size: 15px; }
.repv4-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid transparent;
}
.repv4-pill.is-on { color: #14532d; background: #dcfce7; border-color: #86efac; }
.repv4-pill.is-off { color: #334155; background: #e2e8f0; border-color: #cbd5e1; }
.repv4-platform dl { margin: 0 0 10px; display: grid; gap: 7px; }
.repv4-platform dl div { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.repv4-platform dt { color: var(--text-muted); }
.repv4-platform dd { margin: 0; color: var(--text-primary); font-weight: 600; }
.repv4-platform p { margin: 0; color: var(--text-secondary); font-size: 12px; line-height: 1.4; }
.repv4-export-grid { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 1100px) {
  .repv4-hero { grid-template-columns: 1fr; }
  .repv4-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .repv4-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .repv4-platform-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .repv4-hero { padding: 18px; }
  .repv4-tabs { gap: 6px; }
  .repv4-tab { flex: 1 1 calc(50% - 6px); text-align: center; }
  .repv4-filters { grid-template-columns: 1fr; }
  .repv4-summary-grid { grid-template-columns: 1fr; }
  .repv4-export-grid { grid-template-columns: 1fr; }
}

/* REPORTS V4.1 timeline + heatmap */
.repv4-inline-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.repv4-inline-select { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-secondary); }
.repv4-inline-select select { border:1px solid var(--border-subtle); border-radius:8px; background:var(--bg-surface); color:var(--text-primary); padding:6px 8px; }
.repv4-timeline-chart { height:240px; border:1px solid var(--border-subtle); border-radius:10px; background:linear-gradient(180deg, rgba(148,163,184,.08), rgba(148,163,184,.02)); overflow:hidden; margin-bottom:12px; }
.repv4-timeline-chart svg { width:100%; height:100%; }
.repv4-timeline-chart polyline { fill:none; stroke:#3b82f6; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.repv4-heat-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.repv4-heat-cell { border:1px solid var(--border-subtle); border-radius:8px; min-height:44px; padding:6px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.repv4-heat-cell span { font-size:11px; color:var(--text-secondary); line-height:1; }
.repv4-heat-cell em { font-size:11px; color:var(--text-primary); font-style:normal; line-height:1.2; margin-top:3px; }
.repv4-heat-cell.empty { background:rgba(148,163,184,.08); }
.repv4-heat-cell.poor { background:rgba(239,68,68,.12); border-color:rgba(239,68,68,.35); }
.repv4-heat-cell.fair { background:rgba(251,191,36,.14); border-color:rgba(251,191,36,.35); }
.repv4-heat-cell.good { background:rgba(34,197,94,.14); border-color:rgba(34,197,94,.35); }
.repv4-heat-cell.excellent { background:rgba(22,163,74,.25); border-color:rgba(22,163,74,.45); }

@media (max-width:760px) {
  .repv4-heat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* ── SETTINGS: INSTALL + COOKIE SECTION ─────────────────────────── */
.set-install-section { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line-subtle); }
.set-install-section h3 { font-size: var(--fs-base); font-weight: 600; color: var(--text-primary); margin: 0 0 6px; }
.set-install-section p { font-size: var(--fs-sm); color: var(--text-secondary); margin: 0 0 14px; }
.set-install-steps { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.set-install-step {
  font-size: var(--fs-sm); color: var(--text-secondary);
  background: var(--bg-surface-2); border-radius: var(--r-md);
  padding: 8px 12px;
}
.set-install-step strong { color: var(--text-primary); margin-right: 6px; }
.set-install-actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ── DASHBOARD: KPI ZONE HEADER ─────────────────────────────────── */
.so-kpi-zone-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px; padding: 0 2px;
}
.so-kpi-zone-header__left { display: flex; align-items: center; gap: 8px; }
.so-kpi-zone-header__label {
  font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-muted);
}
.so-kpi-zone-header__range {
  font-size: 11px; font-weight: 600; letter-spacing: .04em;
  color: rgba(99,102,241,.85); background: rgba(99,102,241,.10);
  border: 1px solid rgba(99,102,241,.22); border-radius: 20px;
  padding: 2px 8px; transition: background 200ms, color 200ms;
}
.so-range-indicator--flash {
  animation: soRangeFlash 500ms ease-out forwards;
}
@keyframes soRangeFlash {
  0%   { background: rgba(99,102,241,.40); color: #fff; }
  100% { background: rgba(99,102,241,.10); color: rgba(99,102,241,.85); }
}
.so-kpi-zone-status-dot {
  width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0;
  background: #6b7280;
}
.so-kpi-zone-status-dot.is-live { background: #10b981; box-shadow: 0 0 0 2px rgba(16,185,129,.25); }
.so-kpi-zone-status-dot.is-warn { background: #f59e0b; }
.so-kpi-zone-header__right { font-size: 11px; color: var(--text-muted); }

/* ── DASHBOARD: EMPTY KPI STATE ─────────────────────────────────── */
.so-kpi-empty-banner {
  background: rgba(0,0,0,.03); border: 1px solid rgba(0,0,0,.08); border-radius: 10px;
  padding: 12px 16px; margin-bottom: 16px;
  display: flex; align-items: flex-start; gap: 10px;
}
.so-kpi-empty-banner__icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.so-kpi-empty-banner__text { font-size: 13px; color: var(--text-secondary); line-height: 1.5; }
.so-kpi-empty-banner__text strong { color: var(--text-primary); font-weight: 600; display: block; margin-bottom: 2px; }
.so-kpi-card--empty .dtCard { pointer-events: none; }
.so-kpi-val--empty { color: #667085; }
.so-kpi-viz--empty { color: #667085; }
.so-kpi-badge--empty {
  font-size: 10px; font-weight: 600; letter-spacing: .04em;
  color: var(--text-muted); background: rgba(0,0,0,.06);
  border-radius: 20px; padding: 2px 7px;
}
.so-kpi-empty-sparkline { display: block; width: 100%; height: 40px; }

/* ── ELITE HERO NORMALIZATION (all modules) ─────────────────────────── */
.cmpx2-hero,.clx22-hero,.repv4-hero,.ssx3-hero,.ttx3-hero,.acv4-hero,.stx4-hero,.dv13-hero{
  border-radius:16px;
  border:1px solid rgba(148,163,184,.24);
  box-shadow:0 14px 36px rgba(2,6,23,.28);
  padding:14px 16px;
}

.cmpx2-hero,.clx22-hero,.repv4-hero,.ssx3-hero,.ttx3-hero{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr) minmax(230px,.72fr);
  gap:12px;
  align-items:start;
}

.cmpx2-hero-main h1,.clx22-hero-main h1,.repv4-hero-main h1,.ssx3-hero-main h1,.ttx3-hero-main h1,
.acv4-hero h1,.stx4-hero__title,.dv13-title{
  margin:2px 0 0;
  font-size:clamp(23px,2.15vw,32px);
  line-height:1.14;
  letter-spacing:-.015em;
}

.cmpx2-eyebrow,.clx22-eyebrow,.repv4-eyebrow,.ssx3-eyebrow,.ttx3-eyebrow,.acv4-eyebrow,.stx4-hero__eyebrow{
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  opacity:.8;
}

.cmpx2-scope,.clx22-subline,.clx22-scope,.repv4-sub,.repv4-trust,.ssx3-subline,.ssx3-trust,.ttx3-subline,.ttx3-trust,.acv4-subline{
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
  color:var(--text-secondary);
}

.cmpx2-hero-kpis,.clx22-hero-right,.repv4-hero-meta,.ssx3-hero-kpis,.ttx3-hero-kpis{
  border:1px solid rgba(148,163,184,.2);
  border-radius:12px;
  background:rgba(15,23,42,.35);
  padding:9px 10px;
}

.cmpx2-hero-kpis,.clx22-hero-right,.ssx3-hero-kpis,.ttx3-hero-kpis{
  display:grid;
  gap:7px;
  align-content:start;
}

.cmpx2-hero-kpi,.clx22-hero-right article,.ssx3-hero-kpis article,.ttx3-hero-kpis article{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(148,163,184,.12);
  padding-bottom:6px;
}
.cmpx2-hero-kpi:last-child,.clx22-hero-right article:last-child,.ssx3-hero-kpis article:last-child,.ttx3-hero-kpis article:last-child{border-bottom:0;padding-bottom:0;}
.cmpx2-hero-kpi span,.clx22-hero-right span,.ssx3-hero-kpis span,.ttx3-hero-kpis span{font-size:11px;color:var(--text-muted);}
.cmpx2-hero-kpi strong,.clx22-hero-right strong,.ssx3-hero-kpis strong,.ttx3-hero-kpis strong{font-size:12px;color:var(--text-primary);}

.cmpx2-hero-rail,.clx22-hero-rail{
  border:1px solid rgba(148,163,184,.2);
  border-radius:12px;
  background:rgba(15,23,42,.3);
  padding:9px 10px;
  display:grid;
  gap:6px;
}
.cmpx2-hero-rail p,.clx22-hero-rail p{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);}
.cmpx2-hero-rail div,.clx22-hero-rail div{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid rgba(148,163,184,.1);}
.cmpx2-hero-rail div:last-child,.clx22-hero-rail div:last-child{border-bottom:0;}
.cmpx2-hero-rail span,.clx22-hero-rail span{font-size:11px;color:var(--text-muted);}
.cmpx2-hero-rail strong,.clx22-hero-rail strong{font-size:12px;color:var(--text-primary);}

.repv4-hero-meta{display:grid;gap:6px;align-content:start;}
.repv4-hero-meta div{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1px solid rgba(148,163,184,.1);}
.repv4-hero-meta div:last-child{border-bottom:0;}

.ssx3-delta,.ttx3-delta{
  grid-column:1 / 3;
  border:1px solid rgba(148,163,184,.18);
  border-radius:12px;
  background:rgba(15,23,42,.22);
  padding:8px 10px;
}
.ssx3-delta h2,.ttx3-delta h2{margin:0 0 4px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);}
.ssx3-delta p,.ttx3-delta p,.ssx3-delta li,.ttx3-delta li{font-size:12px;color:var(--text-secondary);}

.acv4-hero,.stx4-hero{
  background:linear-gradient(160deg,#1a1f2b,#141924 62%,#202839);
}

@media (max-width:1100px){
  .cmpx2-hero,.clx22-hero,.repv4-hero,.ssx3-hero,.ttx3-hero{grid-template-columns:1fr;}
  .ssx3-delta,.ttx3-delta{grid-column:auto;}
}

/* ── TESTING LOG + SENSEI: API TRACE SECTION ─────────────────────────── */
.tl-trace-section { margin-top: 32px; border-top: 1px solid var(--border-subtle, rgba(0,0,0,.08)); padding-top: 24px; }
.tl-trace-section__eyebrow { display: block; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 4px; }
.tl-trace-section__title { font-size: 14px; font-weight: 600; color: var(--text-secondary); margin: 0 0 16px; }
.tl-trace-block { background: var(--bg-surface); border: 1px solid var(--border-subtle, rgba(0,0,0,.1)); border-radius: 10px; overflow: hidden; margin-bottom: 12px; }
.tl-trace-block__header { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--border-subtle, rgba(0,0,0,.08)); background: rgba(0,0,0,.02); flex-wrap: wrap; }
.tl-trace-tag { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 700; font-family: 'JetBrains Mono', monospace; }
.tl-trace-tag--ok  { background: rgba(34,197,94,.15); color: #16a34a; }
.tl-trace-tag--err { background: rgba(239,68,68,.15); color: #dc2626; }
.tl-trace-tag--neutral { background: rgba(148,163,184,.15); color: var(--text-secondary); }
.tl-trace-endpoint { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--text-primary); }
.tl-trace-time { font-size: 11px; color: var(--text-muted); margin-left: auto; }
.tl-trace-duration { font-size: 11px; color: var(--text-muted); margin-left: 6px; }
.tl-trace-panels { display: grid; grid-template-columns: 1fr 1fr; }
.tl-trace-panel { padding: 12px 14px; }
.tl-trace-panel:first-child { border-right: 1px solid var(--border-subtle, rgba(0,0,0,.08)); }
.tl-trace-panel__label { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
.tl-trace-code { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--text-secondary); white-space: pre-wrap; word-break: break-word; margin: 0; max-height: 200px; overflow-y: auto; line-height: 1.6; }
.tl-history-list { padding: 8px 14px 14px; }
.tl-history-row { display: flex; align-items: center; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--border-subtle, rgba(0,0,0,.06)); font-size: 12px; }
.tl-history-row:last-of-type { border-bottom: none; }
.tl-history-time { color: var(--text-muted); min-width: 70px; flex-shrink: 0; }
.tl-history-entities { color: var(--text-secondary); flex: 1; }
.tl-history-winner { color: var(--text-primary); font-weight: 600; }
.tl-history-more { font-size: 11px; color: var(--text-muted); padding: 6px 0 0; }
@media (max-width: 680px) {
  .tl-trace-panels { grid-template-columns: 1fr; }
  .tl-trace-panel:first-child { border-right: none; border-bottom: 1px solid var(--border-subtle, rgba(0,0,0,.08)); }
}

/* ── HERO RESTORE FROM OLD REFERENCES (Dashboard, Sensei, Reports) ── */
.dv13-hero,.ssx3-hero,.repv4-hero{
  border-radius:20px;
  border:1px solid rgba(125,150,205,.28);
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0, rgba(255,255,255,.04) 1px, transparent 1px, transparent 38px),
    linear-gradient(105deg,#0b1330 0%, #15244c 56%, #2d2b43 100%);
  box-shadow:0 16px 34px rgba(7,11,24,.32);
  padding:26px 26px 28px;
}
.dv13-hero__inner,.ssx3-hero,.repv4-hero{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(300px,.76fr);
  gap:18px;
  align-items:start;
}

.dv13-kicker,.ssx3-eyebrow,.repv4-eyebrow{
  margin:0 0 8px;
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#b9c7e6;
  font-weight:700;
}

.dv13-headline,.ssx3-hero-main h1,.repv4-hero-main h1{
  margin:0;
  font-size:clamp(36px,2.82vw,50px);
  line-height:1.06;
  letter-spacing:-.025em;
  color:#f3f6ff;
  max-width:15ch;
}

.dv13-copy,.ssx3-subline,.ssx3-trust,.repv4-sub{
  margin:8px 0 0;
  color:#d7e2fb;
  font-size:14px;
  line-height:1.45;
  max-width:56ch;
}

.dv13-hero__center,.ssx3-hero-kpis,.repv4-hero-scope{
  border:1px solid rgba(122,149,205,.35);
  border-radius:14px;
  background:linear-gradient(160deg, rgba(7,18,47,.8), rgba(11,20,43,.6));
  padding:14px 16px;
}
.dv13-center-kicker,.ssx3-feed-title,.repv4-hero-scope div span,.repv4-scope-title{
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#9cb4e2;
  font-weight:700;
}
.dv13-center-title,.ssx3-feed-main{margin:2px 0 2px;font-size:16px;color:#f0f5ff;font-weight:700;line-height:1.35;}
.dv13-center-line,.dv13-center-meaning,.ssx3-feed-line,.repv4-scope-line{margin:3px 0;color:#d8e4ff;font-size:14px;line-height:1.45;}
.dv13-center-meaning{color:#efca7a;}

.dv13-hero__right,.ssx3-status-rail,.repv4-hero-meta{
  border:1px solid rgba(122,149,205,.35);
  border-radius:14px;
  background:linear-gradient(165deg, rgba(9,21,53,.82), rgba(11,21,45,.72));
  padding:12px;
}
.dv13-status-title,.ssx3-status-title{margin:0 0 8px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#c2d2f3;font-weight:700;}
.dv13-status-row,.ssx3-status-rail div,.repv4-hero-meta div{
  display:flex;justify-content:space-between;gap:8px;
  border-bottom:1px solid rgba(125,150,205,.18);
  padding:5px 0;
}
.dv13-status-row:last-child,.ssx3-status-rail div:last-child,.repv4-hero-meta div:last-child{border-bottom:0;}
.dv13-status-row span,.ssx3-status-rail span,.repv4-hero-meta span{font-size:12px;color:#9db3df;}
.dv13-status-row strong,.ssx3-status-rail strong,.repv4-hero-meta strong{font-size:12px;color:#f1f6ff;font-weight:700;text-align:right;}

.repv4-hero-scope{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 10px;
}
.repv4-hero-scope div{
  border:1px solid rgba(122,149,205,.28);
  border-radius:10px;
  padding:7px 9px;
}
.repv4-hero-scope div strong{display:block;font-size:14px;color:#f2f6ff;line-height:1.28;font-weight:700;}
.repv4-scope-title{margin:0;grid-column:1 / -1;}
.repv4-scope-line{grid-column:1 / -1;margin:0;}

.dv13-hero__metabar{display:none;}

@media (max-width:1180px){
  .dv13-hero__inner,.ssx3-hero,.repv4-hero{grid-template-columns:1fr;}
  .dv13-headline,.ssx3-hero-main h1,.repv4-hero-main h1{max-width:100%;font-size:clamp(30px,8.2vw,40px);}
}

/* Dashboard hero rebuild (SignalOne OS) */
.soh-hero{
  --soh-accent:#fb923c;
  padding:34px;
  border-radius:20px;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(251,146,60,.16) 0%, transparent 58%),
    radial-gradient(90% 120% at 0% 100%, rgba(249,115,22,.12) 0%, transparent 62%),
    linear-gradient(165deg, #081022 0%, #0a1730 52%, #0b1b36 100%);
  border:1px solid rgba(251,146,60,.28);
  box-shadow:0 28px 70px rgba(2,6,23,.52), inset 0 1px 0 rgba(148,163,184,.16);
  display:grid;
  gap:24px;
  position:relative;
  overflow:hidden;
}
.soh-hero::before{
  content:'';
  position:absolute;
  left:0; right:0; top:0;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, var(--soh-accent) 35%, transparent 100%);
  opacity:.8;
}
.soh-top{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.85fr);
  gap:18px;
  align-items:start;
  position:relative;
  z-index:1;
}
.soh-context{
  display:grid;
  gap:14px;
  padding:6px 4px 6px 0;
}
.soh-since{
  padding:14px 14px 14px 14px;
  border-radius:14px;
  border:1px solid rgba(251,146,60,.32);
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(251,146,60,.05) 0px,
      rgba(251,146,60,.05) 1px,
      rgba(10,20,38,.9) 1px,
      rgba(10,20,38,.9) 26px
    );
  display:grid;
  gap:10px;
  box-shadow:inset 0 0 0 1px rgba(251,146,60,.12);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.soh-since-title{
  margin:0;
  color:#ffedd5;
  font-size:13px;
  line-height:1.5;
  font-weight:600;
}
.soh-since-line{
  display:grid;
  grid-template-columns:12px minmax(0,1fr);
  gap:8px;
  align-items:flex-start;
}
.soh-since-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  margin-top:5px;
  background:var(--soh-accent);
  box-shadow:0 0 0 4px rgba(251,146,60,.16);
}
.soh-prompt-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:10px;
  align-items:flex-start;
  padding:6px 0;
  border-top:1px solid rgba(251,146,60,.18);
}
.soh-prompt-key{
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fdba74;
  opacity:.95;
}
.soh-prompt-val{
  font-size:12px;
  line-height:1.45;
  color:#ffedd5;
}
.soh-eyebrow{
  margin:0;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fdba74;
  font-weight:700;
}
.soh-title{
  margin:0;
  font-size:clamp(1.7rem, 2.8vw, 2.5rem);
  line-height:1.14;
  letter-spacing:-.015em;
  color:#f4fbff;
}
.soh-description,.soh-guidance{
  margin:0;
  max-width:68ch;
  color:#c8dbf4;
  line-height:1.55;
  font-size:14px;
}
.soh-guidance{color:#fed7aa;font-weight:600}
.soh-since-meta{
  margin:0;
  font-size:11px;
  color:#fdba74;
  opacity:.95;
  letter-spacing:.03em;
}

.soh-status{
  padding:14px 14px 12px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(6,13,26,.84);
  backdrop-filter:blur(1px);
  display:grid;
  gap:8px;
  align-self:start;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.06);
}
.soh-status-section{display:grid;gap:8px}
.soh-status-heading{
  margin:0;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#fdba74;
  font-weight:700;
}
.soh-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  justify-content:space-between;
  gap:8px;
  font-size:12px;
  color:#9bb1cf;
  padding:4px 0;
  border-bottom:1px solid rgba(148,163,184,.12);
}
.soh-row:last-child{border-bottom:0}
.soh-row strong{color:#f0f6ff;font-weight:700;text-align:right}
.soh-quality{
  margin:0;
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.soh-quality--stable{color:#7dd3fc}
.soh-quality--low_signal{color:#facc15}
.soh-quality--no_data{color:#cbd5e1}
.soh-quality--blocked{color:#fca5a5}
.soh-text{
  margin:0;
  color:#fed7aa;
  font-size:12px;
  line-height:1.5;
}
.soh-action{
  width:100%;
  border:1px solid rgba(148,163,184,.34);
  background:rgba(15,23,42,.62);
  color:#deebff;
  border-radius:10px;
  padding:10px 12px;
  text-align:left;
  font-size:12px;
  line-height:1.4;
  cursor:pointer;
}
.soh-action:hover{border-color:rgba(125,211,252,.48);background:rgba(15,23,42,.8)}

@media (max-width:1080px){
  .soh-top{grid-template-columns:1fr}
}
@media (max-width:760px){
  .soh-hero{padding:20px}
  .soh-prompt-row{grid-template-columns:78px minmax(0,1fr)}
}

/* Campaigns Final V7 (cmpx3-*) */
.cmpx3-shell{
  --cmpx-ink:#0f172a;
  --cmpx-text:#2d3d52;
  --cmpx-muted:#5a6b80;
  --cmpx-surface:#f8fbff;
  --cmpx-border:#d4def0;
  --cmpx-line:#d8e2ef;
  --cmpx-forest:#0f5a4b;
  --cmpx-slate:#1a5c8a;
  gap:14px;
}

.cmpx3-hero{
  grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) minmax(0,.85fr);
  gap:14px;
  padding:16px;
  border-radius:16px;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(120,53,15,.32), transparent 45%),
    radial-gradient(100% 130% at 100% 100%, rgba(146,64,14,.24), transparent 55%),
    linear-gradient(162deg,#191007,#2a1a0e 58%,#3a2614);
  border:1px solid rgba(45,212,191,.28);
  box-shadow:0 18px 42px rgba(2,6,23,.34), inset 0 1px 0 rgba(255,255,255,.05);
}
.cmpx3-hero__left{display:grid;gap:8px}
.cmpx3-hero__mid,.cmpx3-hero__right{
  border:1px solid rgba(45,212,191,.24);
  border-radius:12px;
  background:rgba(22,14,8,.56);
  padding:12px;
}
.cmpx3-hero__mid{display:grid;gap:6px}
.cmpx3-hero__right{display:grid;gap:5px;align-content:start}
.cmpx3-hero__kicker{margin:0;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#5eead4;font-weight:700}
.cmpx3-hero__midline{margin:0;font-size:12px;color:#d7e3f7;line-height:1.45}
.cmpx3-hero__right div{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px solid rgba(148,163,184,.14)}
.cmpx3-hero__right div:last-child{border-bottom:0}
.cmpx3-hero__right span{font-size:11px;color:#9fb4d8}
.cmpx3-hero__right strong{font-size:12px;color:#f1f6ff}
.cmpx3-hero__note{margin:0;font-size:12px;color:#b9c9e3;line-height:1.45}

.cmpx3-term{
  position:relative;
  padding:10px 11px;
  border-radius:10px;
  border:1px solid rgba(45,212,191,.32);
  background:
    repeating-linear-gradient(180deg, rgba(45,212,191,.08) 0, rgba(45,212,191,.08) 1px, rgba(20,13,7,.78) 1px, rgba(20,13,7,.78) 4px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02), inset 0 -16px 28px rgba(0,0,0,.22);
}
.cmpx3-term__line{
  margin:0;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;
  font-size:11.5px;
  line-height:1.45;
  color:#d5fff8;
}
.cmpx3-term__line + .cmpx3-term__line{margin-top:3px}
.cmpx3-term__prompt{color:#5eead4}
.cmpx3-term__key{color:#2dd4bf;font-weight:700}

.cmpx3-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(150px,.9fr)) auto;
  gap:8px;
  padding:12px;
  border:1px solid #d4def0;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#f4f7fb);
  box-shadow:0 10px 28px rgba(8,18,34,.07), inset 0 1px 0 #fff;
}
.cmpx3-search-wrap{position:relative}
.cmpx3-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;color:#64748b}
.cmpx3-input{padding-left:28px}
.cmpx3-input,.cmpx3-select{
  height:38px;
  border:1px solid #d4def0;
  border-radius:10px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  color:var(--cmpx-ink,#0f172a);
}
.cmpx3-input:focus,.cmpx3-select:focus{outline:none;border-color:#9ec5d5;box-shadow:0 0 0 3px rgba(26,92,138,.1)}
.cmpx3-reset{
  height:38px;padding:0 14px;border-radius:10px;border:1px solid #d4def0;
  background:linear-gradient(180deg,#f4f7fb,#eef3f8);
  color:var(--cmpx-text,#2d3d52);font-size:12px;font-weight:650;cursor:pointer;
  box-shadow:0 2px 7px rgba(8,18,34,.05);
  transition:background .14s,box-shadow .14s,transform .1s;
}
.cmpx3-reset:hover{background:linear-gradient(180deg,#eef3f8,#e6edf5);box-shadow:0 5px 12px rgba(8,18,34,.08);transform:translateY(-1px)}

.cmpx3-table{min-width:1060px;border-collapse:separate;border-spacing:0}
.cmpx3-table thead th{
  position:sticky;top:0;z-index:5;
  background:linear-gradient(180deg,#f4f8fc,#edf2f7);
  box-shadow:inset 0 -1px 0 #d4def0;
  font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cmpx-muted,#5a6b80);font-weight:760;
}
.cmpx3-table tbody tr:nth-child(odd) td{background:#ffffff}
.cmpx3-table tbody tr:nth-child(even) td{background:#f8fbff}
.cmpx3-table .cmpx2-row td{transition:background-color .15s ease, box-shadow .15s ease}
.cmpx3-table .cmpx2-row:hover td{
  background:#edf4fb;
  box-shadow:inset 0 1px 0 rgba(26,92,138,.12), inset 0 -1px 0 rgba(26,92,138,.12);
}
.cmpx3-table .cmpx2-row.is-active td{background:#e8f0f8}
.cmpx3-subid{margin-top:2px;font-size:10px;color:var(--cmpx-muted,#5a6b80)}

.cmpx2-row{cursor:pointer}
.cmpx2-row strong{font-size:13px}
.cmpx3-shell .cmpx2-table-wrap{border:1px solid #d4def0;border-radius:16px;background:#f8fbff;overflow:hidden;box-shadow:0 14px 34px rgba(8,18,34,.07), inset 0 1px 0 #fff}
.cmpx3-shell .cmpx2-row strong{font-size:14px;font-weight:750;color:#0f172a;line-height:1.28}

.cmpx3-drawer{
  border-left:1px solid rgba(212,222,240,.9);
  background:
    radial-gradient(120% 110% at 100% 0, rgba(26,92,138,.04), transparent 55%),
    linear-gradient(180deg,#ffffff,#f7fbff);
  box-shadow:-20px 0 44px rgba(8,18,34,.16);
}
.cmpx3-drawer h3{
  padding:11px 13px;
  margin:0 0 8px;
  border-radius:13px;
  background:linear-gradient(135deg,#f4f8fc,#ffffff);
  border:1px solid #d4def0;
  box-shadow:0 10px 22px rgba(8,18,34,.07);
}
.cmpx3-drawer .cmpx2-drawer-meta{margin:0 0 12px;padding:0 3px}
.cmpx3-drawer .cmpx2-drawer-grid>div{
  padding:10px;
  border-color:#d4def0;
  background:linear-gradient(180deg,#ffffff,#f4f7fb);
  box-shadow:0 8px 18px rgba(8,18,34,.06);
}
.cmpx3-drawer .cmpx2-drawer-sec{
  margin-top:12px;
  padding:12px;
  border:1px solid #d4def0;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 12px 24px rgba(8,18,34,.07);
}
.cmpx3-drawer .cmpx2-drawer-sec h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--cmpx-forest,#0f5a4b)}
.cmpx3-drawer .cmpx2-drawer-actions button{
  border:1px solid #bdd7e8;
  background:linear-gradient(180deg,#f4fbf8,#e4f2ec);
  color:var(--cmpx-forest,#0f5a4b);
  font-weight:700;
  transition:transform .12s ease, box-shadow .12s ease;
}
.cmpx3-drawer .cmpx2-drawer-actions button:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 16px rgba(26,92,138,.14);
}
.cmpx3-creative-list{display:grid;gap:8px}
.cmpx3-creative-item{
  padding:10px;
  border:1px solid #d4def0;
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff,#f4f7fb);
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:10px;
  align-items:center;
  box-shadow:0 6px 14px rgba(8,18,34,.05);
  transition:border-color .14s,box-shadow .14s;
}
.cmpx3-creative-thumb{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:9px;
  border:1px solid #c9d5e4;
  background:#e4edf6;
}
.cmpx3-creative-thumb--empty{
  display:grid;
  place-items:center;
  color:var(--cmpx-slate,#1a5c8a);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  background:linear-gradient(135deg,#eef6fb,#e4edf6);
}
.cmpx3-creative-main{display:grid;gap:3px}
.cmpx3-creative-main strong{font-size:13px;color:#0f172a}
.cmpx3-creative-main span{font-size:11px;color:#64748b}
.cmpx3-creative-empty{margin:0;color:#64748b;font-size:12px}

.cmpx3-insights{border-color:rgba(203,213,225,.88);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.cmpx3-insights .cmpx2-insight-card{box-shadow:0 4px 12px rgba(15,23,42,.05)}

@media (max-width:1240px){
  .cmpx3-toolbar{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:1080px){
  .cmpx3-hero{grid-template-columns:1fr}
  .cmpx3-toolbar{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .cmpx3-toolbar{grid-template-columns:1fr}
}

/* Creative Library Final V9 (clx23-*) */
.clx23-shell{
  --clx-ink:#0f172a;
  --clx-text:#2d3d52;
  --clx-muted:#5a6b80;
  --clx-soft:#edf2f7;
  --clx-surface:#f8fbff;
  --clx-raised:#ffffff;
  --clx-border:#d4def0;
  --clx-line:#d8e2ef;
  --clx-forest:#0f5a4b;
  --clx-slate:#1a5c8a;
  --clx-blue:#236887;
  display:grid;
  gap:18px;
  padding-bottom:96px;
}

.clx23-hero{
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.92fr) minmax(260px,.72fr);
  gap:16px;
  padding:20px;
  border-radius:18px;
  background:
    radial-gradient(120% 150% at 0% 0%, rgba(15,90,75,.18), transparent 48%),
    radial-gradient(90% 110% at 100% 12%, rgba(26,92,138,.13), transparent 52%),
    linear-gradient(148deg,#0a1628 0%,#0d1e36 58%,#0f2240 100%);
  border:1px solid rgba(138,159,192,.26);
  box-shadow:0 24px 52px rgba(8,18,34,.28), inset 0 1px 0 rgba(255,255,255,.06);
}
.clx23-hero__left{display:grid;gap:10px;align-content:center}
.clx23-hero__left h1{max-width:760px}
.clx23-hero .clx22-eyebrow{color:#5eead4;font-weight:760}
.clx23-hero h1{color:#f1f6ff;letter-spacing:0}
.clx23-hero .clx22-subline{max-width:680px;color:#9fb4d8;line-height:1.55}
.clx23-hero__mid,.clx23-hero__right{
  border:1px solid rgba(138,159,192,.22);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(30,50,90,.36),rgba(18,32,68,.22));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  padding:14px;
}
.clx23-hero__mid{display:grid;gap:7px;align-content:start}
.clx23-hero__mid div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(138,163,200,.14)}
.clx23-hero__mid div:last-child{border-bottom:0}
.clx23-hero__mid span{font-size:11px;color:#a9bfdf}
.clx23-hero__mid strong{font-size:12px;color:#f1f6ff;text-align:right;font-weight:700}
.clx23-hero__right{display:grid;gap:7px;align-content:start}
.clx23-kicker{margin:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5eead4;font-weight:760}
.clx23-hero__right div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(138,163,200,.14)}
.clx23-hero__right div:last-child{border-bottom:0}
.clx23-hero__right span{font-size:11px;color:#9fb4d8}
.clx23-hero__right strong{font-size:12px;color:#f1f6ff;text-align:right}

.clx23-term{
  padding:13px 14px;border-radius:12px;
  border:1px solid rgba(138,159,192,.32);
  background:linear-gradient(180deg,rgba(248,251,255,.14),rgba(241,246,252,.09));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.clx23-term p{margin:0;font-size:12px;line-height:1.54;color:#c8d8f0}
.clx23-term p + p{margin-top:6px}
.clx23-term span{color:#5eead4;font-weight:760}
.clx23-term .clx23-pr{color:#a8c8e8;font-weight:700}

.clx23-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.clx23-hero-btn{
  height:38px;padding:0 18px;
  border:0;border-radius:10px;
  background:linear-gradient(180deg,#1e7060,#0f5a4b);
  color:#fff;font-size:13px;font-weight:700;
  cursor:pointer;white-space:nowrap;
  box-shadow:0 6px 16px rgba(15,90,75,.32);
  transition:transform .15s,box-shadow .15s;
}
.clx23-hero-btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(15,90,75,.38)}
.clx23-hero-btn--ghost{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
.clx23-hero-btn--ghost:hover{background:rgba(255,255,255,.16);box-shadow:none}

.clx23-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) minmax(128px,.66fr) minmax(146px,.72fr);
  gap:10px;
  padding:12px;
  border:1px solid var(--clx-border);
  border-radius:14px;
  background:linear-gradient(180deg,#f8fbff,#eef3f8);
  box-shadow:0 14px 34px rgba(8,18,34,.07), inset 0 1px 0 #fff;
}
.clx23-toolbar .clx22-field{min-width:0}
.clx23-toolbar .clx22-field:first-child{grid-column:auto}
.clx23-toolbar #clx22-campaign,.clx23-toolbar #clx22-sort{min-width:0}
.clx23-toolbar .clx22-field:has(#clx22-campaign),.clx23-toolbar .clx22-field:has(#clx22-sort){min-width:0}
.clx23-toolbar .clx22-field>span{color:var(--clx-slate);font-weight:760}
.clx23-toolbar .clx22-input,.clx23-toolbar .clx22-select{
  width:100%;
  max-width:100%;
  border-color:#d4def0;
  background:linear-gradient(180deg,#fff,#f4f7fb);
  color:var(--clx-ink);
}
.clx23-toolbar .clx22-input:focus,.clx23-toolbar .clx22-select:focus{
  outline:none;
  border-color:#9ec5d5;
  box-shadow:0 0 0 3px rgba(35,104,135,.14);
}
.clx23-toolbar .clx22-toggle{
  border-color:#d4def0;
  background:#eef3f8;
}
.clx23-toolbar .clx22-toggle button{font-weight:680;color:#5f6c7e}
.clx23-toolbar .clx22-toggle button.is-active{
  background:#f8fbff;
  color:var(--clx-blue);
  box-shadow:0 4px 10px rgba(8,18,34,.08);
}
.clx23-shell .clx22-empty-inline,.clx23-shell .clx22-state{
  border:1px solid #d4def0;
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff,#edf2f7);
  color:var(--clx-text);
  box-shadow:0 12px 30px rgba(8,18,34,.06), inset 3px 0 0 rgba(26,92,138,.38);
}
.clx23-shell .clx22-state h3{color:var(--clx-ink)}
.clx23-shell .clx22-state p{color:var(--clx-muted);line-height:1.5}
.clx23-card:focus-visible,.clx23-table tbody tr:focus-visible{
  outline:3px solid rgba(35,104,135,.2);
  outline-offset:3px;
}
.clx23-density-control{height:38px;border:1px solid #d4def0;border-radius:9px;background:linear-gradient(180deg,#fff,#f4f7fb);display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.clx23-density-control button{border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:var(--clx-forest)}
.clx23-density-control span{font-size:12px;font-weight:760;color:var(--clx-ink);min-width:30px;text-align:center}

.clx23-grid{display:grid;gap:14px}
.clx23-grid--micro{grid-template-columns:repeat(auto-fill,minmax(236px,1fr))}
.clx23-grid--tight{grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}
.clx23-grid--balanced{grid-template-columns:repeat(auto-fill,minmax(322px,1fr))}
.clx23-grid--wide{grid-template-columns:repeat(auto-fill,minmax(364px,1fr))}
.clx23-grid--cinema{grid-template-columns:repeat(auto-fill,minmax(410px,1fr))}

.clx23-card{
  display:grid;
  gap:13px;
  padding:14px;
  border-radius:16px;
  background:linear-gradient(180deg,var(--clx-surface),#f4f7fb);
  border:1px solid var(--clx-border);
  box-shadow:0 12px 28px rgba(8,18,34,.07), inset 0 1px 0 #fff;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.clx23-card--active-signal{background:linear-gradient(180deg,#f8fbff,#edf2f7);border-color:#c9d5e4;box-shadow:0 16px 34px rgba(8,18,34,.09), inset 3px 0 0 rgba(49,95,71,.72), inset 0 1px 0 #fff}
.clx23-card--low-signal{background:linear-gradient(180deg,#f4f7fb,#edf2f7);box-shadow:0 8px 20px rgba(8,18,34,.045), inset 3px 0 0 rgba(154,106,34,.42), inset 0 1px 0 #fff}
.clx23-card:hover{transform:translateY(-2px);border-color:#b5c9d8;box-shadow:0 20px 42px rgba(8,18,34,.12), inset 0 1px 0 #fff}
.clx23-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:start}
.clx23-card-title h3{margin:0;font-size:16px;line-height:1.25;color:var(--clx-ink);word-break:break-word}
.clx23-card-title p{margin:6px 0 0;font-size:11.5px;color:var(--clx-muted);word-break:break-word}
.clx23-badge{display:inline-flex;align-items:center;height:23px;padding:0 9px;border-radius:999px;background:#eef7f2;border:1px solid #c9dfd3;color:var(--clx-forest);font-size:10px;font-weight:760;letter-spacing:.06em;text-transform:uppercase}
.clx23-badge.is-status{height:21px}

.clx23-thumb{width:78px;height:78px;border-radius:13px;overflow:hidden;border:1px solid #c9d5e4;background:linear-gradient(145deg,#e4edf6,#f4f8fc);display:grid;place-items:center;flex:0 0 auto;box-shadow:inset 0 1px 0 #fff,0 8px 18px rgba(8,18,34,.08)}
.clx23-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.clx23-thumb--tiny{width:40px;height:40px;border-radius:9px}
.clx23-thumb--drawer{width:72px;height:72px;border-radius:12px}
.clx23-thumb-empty{font-size:11px;font-weight:800;color:#596273;letter-spacing:.08em}

.clx23-context{display:grid;gap:5px;padding:10px 11px;border-radius:12px;background:linear-gradient(180deg,#f4f8fc,#eef3f8);border:1px solid var(--clx-line)}
.clx23-context span{font-size:12.5px;color:var(--clx-text);word-break:break-word}
.clx23-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.clx23-metric-grid article{
  display:grid;gap:3px;min-width:0;
  padding:8px 9px;
  border:1px solid #dbe4f1;
  border-radius:10px;
  background:linear-gradient(180deg,#fff,#f6f9fe);
}
.clx23-metric-grid label{
  font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  color:#6f829a;font-weight:760;
}
.clx23-metric-grid strong{
  font-size:13px;color:#16293f;font-weight:700;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.clx23-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--clx-line);border-bottom:1px solid var(--clx-line)}
.clx23-kpis article{display:grid;gap:3px;padding:10px 9px;min-width:0;border-right:1px solid var(--clx-line)}
.clx23-kpis article:last-child{border-right:0}
.clx23-kpis label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--clx-muted);font-weight:760}
.clx23-kpis strong{font-size:14.5px;color:var(--clx-ink);font-variant-numeric:tabular-nums;word-break:break-word}

.clx23-table-wrap{border:1px solid var(--clx-border);border-radius:16px;background:var(--clx-surface);overflow:hidden;box-shadow:0 14px 34px rgba(8,18,34,.07), inset 0 1px 0 #fff}
.clx23-table-scroll{overflow:auto}
.clx23-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.clx23-table thead th{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,#f4f8fc,#edf2f7);box-shadow:inset 0 -1px 0 #d8e2ef;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--clx-muted);text-align:left;padding:11px;white-space:nowrap}
.clx23-table tbody td{padding:11px;border-bottom:1px solid var(--clx-line);vertical-align:top;font-size:13px;color:var(--clx-text);white-space:normal;word-break:break-word}
.clx23-table tbody tr:nth-child(odd) td{background:#f8fbff}
.clx23-table tbody tr:nth-child(even) td{background:#f1f5fb}
.clx23-table tbody tr:hover td{background:#eef7f4}
.clx23-table tbody tr{cursor:pointer}
.clx23-table-creative{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;min-width:220px}
.clx23-table-creative strong{display:block;font-size:13px;line-height:1.32;color:var(--clx-ink)}
.clx23-table-creative small{display:block;margin-top:3px;font-size:11px;color:var(--clx-muted);word-break:break-all}

.clx23-table-wrap--micro .clx23-table thead th{font-size:10px;padding:7px}
.clx23-table-wrap--micro .clx23-table tbody td{font-size:12px;padding:7px}
.clx23-table-wrap--tight .clx23-table tbody td{font-size:12.5px;padding:8px}
.clx23-table-wrap--wide .clx23-table thead th{font-size:11.5px;padding:11px}
.clx23-table-wrap--wide .clx23-table tbody td{font-size:13.5px;padding:11px}
.clx23-table-wrap--cinema .clx23-table thead th{font-size:12px;padding:12px}
.clx23-table-wrap--cinema .clx23-table tbody td{font-size:14px;padding:12px}

.clx23-drawer{border-left:1px solid #c9d5e4;background:radial-gradient(120% 110% at 100% 0,rgba(79,110,247,.04),transparent 55%),linear-gradient(180deg,#f8fbff,#eef3f8);box-shadow:-20px 0 44px rgba(8,18,34,.16)}
.clx23-drawer h3{padding:11px 13px;margin:0 0 8px;border-radius:13px;background:linear-gradient(135deg,#f4f8fc,#f8fbff);border:1px solid #d4def0;box-shadow:0 10px 22px rgba(8,18,34,.07)}
.clx23-drawer-ctx{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.clx23-drawer-ctx>div{
  display:grid;gap:2px;
  padding:8px 10px;
  border:1px solid #d7e1ef;border-radius:10px;
  background:linear-gradient(180deg,#fff,#f5f8fd);
}
.clx23-drawer-ctx span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6b819a}
.clx23-drawer-ctx strong{font-size:12.5px;color:#16293f;font-weight:700}
.clx23-perf-snapshot{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.clx23-perf-snapshot>div{
  display:grid;gap:3px;
  border:1px solid #d7e1ef;border-radius:10px;
  background:linear-gradient(180deg,#fff,#f5f8fd);
  padding:9px 10px;
}
.clx23-perf-snapshot span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6b819a}
.clx23-perf-snapshot strong{font-size:13px;color:#16293f;font-weight:700;font-variant-numeric:tabular-nums}
.clx23-drawer-preview{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:11px;border:1px solid var(--clx-border);border-radius:13px;background:linear-gradient(180deg,#fff,#f4f7fb)}
.clx23-drawer-preview span{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--clx-slate);font-weight:760}
.clx23-drawer-preview strong{display:block;margin:2px 0 7px;font-size:14px;color:var(--clx-ink);word-break:break-word}
.clx23-drawer .clx22-drawer-grid--flat>div{padding:10px;border-color:var(--clx-border);background:linear-gradient(180deg,#fff,#f4f7fb);box-shadow:0 8px 18px rgba(8,18,34,.06)}
.clx23-actions{display:flex;gap:8px;flex-wrap:wrap}
.clx23-actions button{padding:8px 12px;border-radius:9px;border:1px solid #bdd7df;background:linear-gradient(180deg,#f8fcff,#eaf6fa);color:var(--clx-blue);font-size:12px;font-weight:760;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}
.clx23-actions button:hover{transform:translateY(-1px);border-color:#9ec5d5;box-shadow:0 9px 18px rgba(35,104,135,.14)}

/* clx23 drawer V2 — detail panel complete styles */
.clx23-drawer-v2{display:grid;gap:14px;align-content:start}
.clx23-drawer-hdr{padding-right:32px}
.clx23-drawer-hdr h3{padding:0;margin:0 0 4px;border-radius:0;background:none;border:none;box-shadow:none;font-size:20px;line-height:1.25;color:#102038;word-break:break-word;overflow-wrap:anywhere}
.clx23-drawer-thumb-lg{border-radius:12px;overflow:hidden;background:#eef3f8;border:1px solid #d4def0;max-height:200px;display:flex;align-items:center;justify-content:center}
.clx23-drawer-thumb-lg img,.clx23-drawer-thumb-lg video{width:100%;max-height:200px;object-fit:cover;display:block}
.clx23-nav-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.clx23-nav-tile{display:grid;gap:2px;padding:10px 12px;border:1px solid #d4def0;border-radius:10px;background:linear-gradient(180deg,#fff,#f5f8fd);cursor:pointer;text-align:left;transition:border-color .12s,box-shadow .12s,transform .12s}
.clx23-nav-tile:hover{border-color:#b0c8d8;box-shadow:0 6px 14px rgba(8,18,34,.08);transform:translateY(-1px)}
.clx23-nav-tile__label{font-size:11px;font-weight:700;color:#102038;letter-spacing:.02em}
.clx23-nav-tile__hint{font-size:10px;color:#6b819a}
.clx23-relations{display:grid;gap:8px}
.clx23-relation-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 10px;border:1px solid #d7e1ef;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .12s,box-shadow .12s}
.clx23-relation-item:hover{border-color:#b0c8d8;box-shadow:0 4px 10px rgba(8,18,34,.07)}
.clx23-relation-thumb{width:44px;height:44px;border-radius:8px;overflow:hidden;background:#eef3f8;border:1px solid #d4def0;flex-shrink:0}
.clx23-relation-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.clx23-relation-info{display:grid;gap:2px;min-width:0}
.clx23-relation-info strong{font-size:12px;font-weight:700;color:#102038;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clx23-relation-info span{font-size:10px;color:#6b819a}
.clx23-low-signal-notice{padding:10px 12px;border-radius:8px;background:rgba(245,158,11,0.06);border:1px solid rgba(245,158,11,0.2);margin-top:8px}
.clx23-low-signal-notice strong{display:block;font-size:12px;font-weight:700;color:#92400e;margin-bottom:3px}
.clx23-low-signal-notice p{margin:0;font-size:11.5px;color:#78350f;line-height:1.5}
.clx23-einordnung-text{margin:0;font-size:13px;color:#334155;line-height:1.6}
@media (max-width:760px){
  .clx23-nav-tiles{grid-template-columns:1fr}
  .clx23-drawer-thumb-lg{max-height:140px}
}

@media (max-width:1280px){
  .clx23-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .clx23-toolbar .clx22-field:first-child{grid-column:1 / -1}
  .clx23-toolbar .clx22-field:has(#clx22-campaign),
  .clx23-toolbar .clx22-field:has(#clx22-sort){min-width:0}
}
@media (max-width:1080px){
  .clx23-hero{grid-template-columns:1fr}
  .clx23-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clx23-toolbar .clx22-field:first-child{grid-column:1 / -1}
  .clx23-toolbar .clx22-field:has(#clx22-campaign),
  .clx23-toolbar .clx22-field:has(#clx22-sort){min-width:0}
  .clx23-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clx23-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .clx23-perf-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .clx23-toolbar{grid-template-columns:1fr}
  .clx23-toolbar .clx22-field:first-child{grid-column:auto}
  .clx23-kpis{grid-template-columns:1fr}
  .clx23-metric-grid{grid-template-columns:1fr 1fr}
  .clx23-drawer-ctx,
  .clx23-perf-snapshot{grid-template-columns:1fr}
}

/* Campaigns + Creative Library Elite polish (sub-hero only) */
.cmpx3-shell{
  --elite-ink:#0f172a;
  --elite-sub:#334155;
  --elite-muted:#475569;
  --elite-gold:#9a6b1f;
  --elite-gold-soft:#fff5df;
  --elite-blue:#1f6f9f;
  --elite-blue-soft:#eef8ff;
  --elite-border:#d8e2ef;
  --elite-surface:#f8fbff;
}

.cmpx3-shell .cmpx3-toolbar,
.cmpx3-shell .cmpx2-state,
.cmpx3-shell .cmpx2-table-wrap,
.cmpx3-shell .cmpx3-insights,
.cmpx3-shell .cmpx2-insight-card{
  background:var(--elite-surface);
  border-color:var(--elite-border);
  box-shadow:0 10px 24px rgba(8,18,34,.05);
}

.cmpx3-shell .cmpx3-input,
.cmpx3-shell .cmpx3-select{
  background:#fff;
  border-color:#d4def0;
  color:var(--elite-ink);
}

.cmpx3-shell .cmpx3-input:focus,.cmpx3-shell .cmpx3-select:focus{
  border-color:#9fd8ff;
  box-shadow:0 0 0 3px rgba(159,216,255,.28);
}

.cmpx3-shell .cmpx2-state h3,
.cmpx3-shell .cmpx2-insights h2,
.cmpx3-shell .cmpx2-insight-card .cmpx2-insight-label,
.cmpx3-shell .cmpx3-drawer h3,
.cmpx3-shell .cmpx3-drawer .cmpx2-drawer-sec h4{
  color:var(--elite-ink);
}

.cmpx3-shell .cmpx2-state p,
.cmpx3-shell .cmpx2-table tbody td,
.cmpx3-shell .cmpx3-subid,
.cmpx3-shell .cmpx2-insight-meta,
.cmpx3-shell .cmpx3-creative-main span,
.cmpx3-shell .cmpx2-drawer-meta,
.cmpx3-shell .cmpx2-drawer-sec p{
  color:var(--elite-muted);
}

.cmpx3-shell .cmpx2-table thead th{
  color:var(--elite-gold);
  background:linear-gradient(180deg,#f4f8fc,#edf2f7);
  border-bottom-color:#d8e2ef;
}

.cmpx3-shell .cmpx3-table tbody tr:nth-child(odd) td,
.cmpx3-shell .cmpx3-table tbody tr:nth-child(even) td{
  background:#fff;
  background-image:none;
}
.cmpx3-shell .cmpx3-table .cmpx2-row:hover td{background:#edf8ff}
.cmpx3-shell .cmpx3-table .cmpx2-row.is-active td{background:#e3f4ff !important}

.cmpx3-shell .cmpx2-pill{
  border-color:#d4def0;
  background:#f4f8fc;
  color:#344054;
}
.cmpx3-shell .cmpx2-pill.is-evaluable,.cmpx3-shell .cmpx2-pill.is-evaluatable{
  background:#eef8ff;
  color:#1f6f9f;
  border-color:#cde5f7;
}
.cmpx3-shell .cmpx2-pill.is-risk,.cmpx3-shell .cmpx2-pill.is-low_signal{
  background:#fff8e8;
  color:#9a6b1f;
  border-color:#ead3a5;
}

.cmpx3-shell .cmpx2-insight-card.is-top{border-left-color:#1f6f9f;background:#f2f9ff}
.cmpx3-shell .cmpx2-insight-card.is-risk{border-left-color:#c99439;background:#fff9ef}
.cmpx3-shell .cmpx2-insight-card.is-next{border-left-color:#7aaad0;background:#f7fbff}

.cmpx3-shell .cmpx2-insight-link{
  color:var(--elite-blue);
  font-weight:700;
}

.cmpx3-shell .cmpx3-drawer{
  background:linear-gradient(180deg,#f8fbff,#eef3f8);
  border-left-color:#d4def0;
}
.cmpx3-shell .cmpx3-drawer h3{
  background:linear-gradient(135deg,#f4f8fc,#f8fbff);
  border-color:#d4def0;
}
.cmpx3-shell .cmpx3-drawer .cmpx2-drawer-grid>div,
.cmpx3-shell .cmpx3-drawer .cmpx2-drawer-sec,
.cmpx3-shell .cmpx3-creative-item{
  border-color:#d4def0;
  background:linear-gradient(180deg,#fff,#f4f7fb);
}
.cmpx3-shell .cmpx3-drawer .cmpx2-drawer-sec h4{color:var(--elite-gold)}
.cmpx3-shell .cmpx3-drawer .cmpx2-drawer-actions button{
  border-color:#cfe4f5;
  background:linear-gradient(180deg,#f8fcff,#eaf6ff);
  color:var(--elite-blue);
}

/* Campaigns ops renderer completion */
.ops-shell{
  --ops-ink:#101828;
  --ops-text:#344054;
  --ops-muted:#596579;
  --ops-line:#d8e2ef;
  --ops-line-strong:#c9d5e4;
  --ops-surface:#f8fbff;
  --ops-surface-2:#f4f7fb;
  --ops-forest:#0f5a4b;
  --ops-forest-soft:#e7f1ed;
  --ops-amber:#9a6b1f;
  --ops-amber-soft:#fff4dc;
  display:grid;
  gap:16px;
  padding-bottom:96px;
  color:var(--ops-ink);
}

.ops-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:
    radial-gradient(ellipse 58% 92% at 8% 48%, rgba(15,90,75,.26), transparent 62%),
    radial-gradient(ellipse 46% 72% at 96% 16%, rgba(154,107,31,.16), transparent 58%),
    linear-gradient(135deg,#111820 0%,#151d27 54%,#10151d 100%);
  box-shadow:0 28px 62px rgba(31,26,16,.2),0 1px 0 rgba(255,255,255,.08) inset;
}
.ops-hero-grid{display:grid;grid-template-columns:minmax(0,1.44fr) minmax(250px,.76fr) minmax(220px,.68fr);position:relative;z-index:1}
.ops-hero-left{padding:38px 32px 36px 38px;border-right:1px solid rgba(255,255,255,.075);display:grid;align-content:start;gap:0}
.ops-hero-eyebrow,.ops-console-eyebrow,.ops-sig-panel-eyebrow{
  font-size:9.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:850;
  color:#8ec7b6;
}
.ops-hero-title{margin:14px 0 13px;font-size:clamp(24px,2.7vw,34px);line-height:1.07;letter-spacing:-.02em;color:#f4efe7;font-weight:850}
.ops-hero-desc{max-width:64ch;margin:0;color:#d7d0c5;font-size:13.5px;line-height:1.62}
.ops-hero-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px;min-height:0}
.ops-plat-pill{
  display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;
  border:1px solid rgba(142,199,182,.22);background:rgba(255,255,255,.06);
  color:#dde8e2;font-size:11px;font-weight:750;
}
.ops-plat-pill--meta{border-color:rgba(96,165,250,.26)}
.ops-plat-pill--google{border-color:rgba(245,158,11,.3)}
.ops-plat-pill--tiktok{border-color:rgba(142,199,182,.28)}
.ops-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ops-btn-primary,.ops-btn-ghost,.ops-reset-btn,.cmpx2-insight-link{
  appearance:none;
  border-radius:10px;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-family:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1.15;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s,color .15s;
}
.ops-btn-primary{
  padding:10px 17px;border:1px solid rgba(142,199,182,.5);
  background:rgba(15,90,75,.32);color:#eefaf5;
  box-shadow:0 10px 22px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.12) inset;
}
.ops-btn-primary:hover{background:rgba(15,90,75,.42);border-color:rgba(142,199,182,.66);transform:translateY(-1px)}
.ops-btn-ghost{
  padding:10px 14px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.075);color:#ebe4da;
}
.ops-btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);color:#fffaf4}

.ops-overview-console,.ops-signal-panel{
  padding:28px 22px;
  background:rgba(255,255,255,.025);
}
.ops-overview-console{border-right:1px solid rgba(255,255,255,.075);display:grid;align-content:start;gap:0}
.ops-console-row,.ops-plat-signal-row{
  display:grid;
  align-items:center;
  gap:9px;
  padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.065);
}
.ops-console-row{grid-template-columns:92px minmax(0,1fr)}
.ops-console-row:last-child,.ops-plat-signal-row:last-child{border-bottom:0}
.ops-console-key{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#9f9689;font-weight:850}
.ops-console-val{font-size:12px;color:#e7dfd5;font-weight:750;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ops-signal-panel{display:grid;align-content:start;gap:10px}
.ops-sig-panel-eyebrow{margin:0}
.ops-plat-signal-row{grid-template-columns:auto minmax(0,1fr) auto}
.ops-plat-signal-dot,.ops-campaign-platform-dot,.ops-status-dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex:0 0 auto}
.ops-plat-signal-dot--ok,.ops-status-dot--active{background:#0f5a4b;box-shadow:0 0 0 4px rgba(142,199,182,.12)}
.ops-plat-signal-dot--warn,.ops-status-dot--paused{background:#9a6b1f;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
.ops-plat-signal-dot--off,.ops-status-dot--unknown{background:#8b938f;box-shadow:0 0 0 4px rgba(148,163,184,.1)}
.ops-status-dot--error{background:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.12)}
.ops-plat-signal-name{color:#efe8dc;font-size:12px;font-weight:750;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ops-plat-signal-meta{color:#a99f91;font-size:11.5px;white-space:nowrap}

.ops-signal-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.ops-sig-card{
  min-height:104px;
  display:grid;
  align-content:center;
  gap:5px;
  padding:15px 16px;
  border:1px solid var(--ops-line);
  border-radius:14px;
  background:linear-gradient(180deg,#f8fbff,#eef3f8);
  box-shadow:0 12px 28px rgba(8,18,34,.075),0 1px 0 rgba(255,255,255,.86) inset;
}
.ops-sig-label,.ops-col-label{
  font-size:9.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ops-forest);
  font-weight:850;
}
.ops-sig-val{font-size:24px;line-height:1.08;color:var(--ops-ink);font-weight:850;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.ops-sig-meta{font-size:12px;color:var(--ops-muted)}

.ops-control-bar{
  display:grid;
  grid-template-columns:minmax(240px,1.24fr) minmax(330px,1.35fr) minmax(150px,.48fr) auto;
  gap:10px;
  align-items:center;
  padding:12px;
  border:1px solid var(--ops-line);
  border-radius:15px;
  background:linear-gradient(180deg,#f8fbff,#f4f7fb);
  box-shadow:0 12px 28px rgba(8,18,34,.075),0 1px 0 rgba(255,255,255,.86) inset;
}
.ops-search-wrap{position:relative;min-width:0}
.ops-search,.ops-filter-select,.ops-sort-select{
  appearance:none;
  width:100%;
  min-width:0;
  height:42px;
  border:1px solid #d4def0;
  border-radius:11px;
  background:#f8fbff;
  color:var(--ops-ink);
  font-family:inherit;
  font-size:13px;
  font-weight:650;
  line-height:1.2;
  padding:0 12px;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.ops-search{padding-left:14px}
.ops-filter-select,.ops-sort-select{
  padding-right:32px;
  background-image:linear-gradient(45deg,transparent 50%,#596579 50%),linear-gradient(135deg,#596579 50%,transparent 50%);
  background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.ops-search::placeholder{color:#7a8491}
.ops-search:focus,.ops-filter-select:focus,.ops-sort-select:focus{
  outline:none;
  border-color:#aebfae;
  box-shadow:0 0 0 3px rgba(15,90,75,.1),0 1px 0 rgba(255,255,255,.9) inset;
}
.ops-filter-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.ops-sort-group{min-width:0}
.ops-reset-btn{
  padding:0 14px;border:1px solid #d4def0;background:#f8fbff;color:#344054;
  box-shadow:0 6px 14px rgba(8,18,34,.045);
  white-space:nowrap;
}
.ops-reset-btn:hover{background:#eef3f8;border-color:#b5c9d8;color:#101828}

.ops-state-notice{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--ops-line);
  border-radius:13px;
  background:linear-gradient(180deg,#f8fbff,#f4f7fb);
  color:#344054;
  font-size:13px;
  box-shadow:0 8px 20px rgba(8,18,34,.055);
}
.ops-state-notice__dot{width:8px;height:8px;border-radius:999px;background:var(--ops-forest);box-shadow:0 0 0 4px rgba(15,90,75,.08)}
.ops-state-notice--warn .ops-state-notice__dot{background:var(--ops-amber);box-shadow:0 0 0 4px rgba(245,158,11,.1)}
.ops-state-notice--error .ops-state-notice__dot{background:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.1)}

.ops-campaign-surface{
  padding:16px;
  border:1px solid var(--ops-line);
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff,#eef3f8);
  box-shadow:0 16px 38px rgba(8,18,34,.09),0 1px 0 rgba(255,255,255,.86) inset;
}
.ops-matrix-head,.ops-campaign-row{
  display:grid;
  grid-template-columns:minmax(240px,1.45fr) minmax(112px,.56fr) minmax(100px,.45fr) minmax(90px,.4fr) minmax(86px,.38fr) minmax(150px,.72fr);
  gap:12px;
  align-items:center;
}
.ops-matrix-head{
  padding:0 12px 10px;
  border-bottom:1px solid #d8e2ef;
}
.ops-campaign-list{display:grid;gap:8px;padding-top:10px}
.ops-campaign-row{
  min-height:76px;
  padding:13px 12px;
  border:1px solid #d4def0;
  border-radius:13px;
  background:linear-gradient(180deg,#f8fbff,#f4f7fb);
  cursor:pointer;
  box-shadow:0 6px 16px rgba(8,18,34,.046),0 1px 0 rgba(255,255,255,.9) inset;
  transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;
}
.ops-campaign-row:hover,.ops-campaign-row:focus-visible{
  outline:none;
  transform:translateY(-1px);
  border-color:#c9d5e4;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 12px 26px rgba(8,18,34,.075),0 1px 0 rgba(255,255,255,.92) inset;
}
.ops-campaign-row.is-active{border-color:#b9d2c8;background:linear-gradient(180deg,#edf6f2,#fbfdfb)}
.ops-campaign-identity{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}
.ops-platform-dot--meta{background:#2563eb}
.ops-platform-dot--google{background:#d97706}
.ops-platform-dot--tiktok{background:#111827}
.ops-platform-dot--default{background:#64748b}
.ops-campaign-name-block{min-width:0;display:grid;gap:3px}
.ops-campaign-name{font-size:14px;line-height:1.25;color:var(--ops-ink);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-campaign-id{font-size:11.5px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-col--status{display:flex;align-items:center;gap:8px}
.ops-status-label{font-size:12px;color:#344054;font-weight:750}
.ops-num{font-size:13px;color:var(--ops-ink);font-weight:800;font-variant-numeric:tabular-nums}
.ops-num--positive{color:#0f5a4b}
.ops-num--negative{color:#b42318}
.ops-num--neutral{color:#9a6b1f}
.ops-null-val{color:#667085;font-weight:750}
.ops-guidance-text{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid #d4def0;
  background:#f8fbff;
  color:#344054;
  font-size:11.5px;
  font-weight:800;
  white-space:nowrap;
}
.ops-guidance-text--action{background:var(--ops-amber-soft);border-color:#ead6a8;color:#8a5a15}

.ops-signal-state{
  min-height:260px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:10px;
  padding:38px 24px;
  text-align:center;
}
.ops-signal-eyebrow{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ops-forest);font-weight:850}
.ops-signal-title{margin:0;font-size:20px;color:var(--ops-ink);letter-spacing:-.01em}
.ops-signal-desc{margin:0;max-width:54ch;color:#566273;font-size:13px;line-height:1.55}
.ops-signal-steps{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.ops-signal-step{padding:6px 10px;border-radius:999px;border:1px solid #d4def0;background:#f8fbff;color:#344054;font-size:12px;font-weight:750}

.ops-shell .cmpx3-insights{
  padding:18px;
  border:1px solid var(--ops-line);
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff,#eef3f8);
  box-shadow:0 12px 28px rgba(8,18,34,.075),0 1px 0 rgba(255,255,255,.86) inset;
}
.ops-shell .cmpx3-insights h2{margin:0 0 13px;font-size:17px;color:var(--ops-ink);letter-spacing:-.01em}
.ops-shell .cmpx2-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ops-shell .cmpx2-insight-card{
  display:grid;
  gap:7px;
  min-height:112px;
  padding:15px;
  border:1px solid #d4def0;
  border-left:3px solid var(--ops-line-strong);
  border-radius:13px;
  background:#f8fbff;
  box-shadow:0 6px 16px rgba(8,18,34,.045);
}
.ops-shell .cmpx2-insight-card.is-top{border-left-color:#0f5a4b;background:#f2f9f6}
.ops-shell .cmpx2-insight-card.is-risk{border-left-color:#9a6b1f;background:#fff8ea}
.ops-shell .cmpx2-insight-card.is-next{border-left-color:#6b8fa7;background:#f7fbff}
.ops-shell .cmpx2-insight-label{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ops-forest);font-weight:850}
.ops-shell .cmpx2-insight-meta{font-size:12.5px;color:#344054;line-height:1.5}
.ops-shell .cmpx2-insight-link{
  justify-self:start;
  min-height:30px;
  padding:6px 10px;
  border:1px solid #cfe4f5;
  background:#f8fcff;
  color:#1f6f9f;
  box-shadow:0 6px 14px rgba(8,18,34,.04);
}
.ops-shell .cmpx2-insight-link:hover{background:#eaf6ff;border-color:#b8d8ee;transform:translateY(-1px)}

.ops-shell .cmpx2-drawer-backdrop{position:fixed;inset:0;z-index:140;background:rgba(15,23,42,.28);display:flex;justify-content:flex-end}
.ops-shell .cmpx3-drawer{
  width:min(560px,100%);
  height:100%;
  overflow:auto;
  padding:22px;
  border-left:1px solid #d4def0;
  background:linear-gradient(180deg,#f8fbff,#eef3f8);
  box-shadow:-20px 0 44px rgba(2,6,23,.22);
}
.ops-shell .cmpx2-drawer-close{
  appearance:none;
  float:right;
  width:34px;
  height:34px;
  border:1px solid #d4def0;
  border-radius:10px;
  background:#f8fbff;
  color:#344054;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.ops-shell .cmpx2-drawer-close:hover{background:#eef3f8;color:#101828}
.ops-shell .cmpx3-drawer h3{margin:0 40px 8px 0;color:var(--ops-ink);font-size:20px;line-height:1.2}
.ops-shell .cmpx2-drawer-meta{margin:0 0 14px;color:#667085;font-size:12px}
.ops-shell .cmpx2-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ops-shell .cmpx2-drawer-grid>div,.ops-shell .cmpx2-drawer-sec,.ops-shell .cmpx3-creative-item{
  border:1px solid #d4def0;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f4f7fb);
  box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.ops-shell .cmpx2-drawer-grid>div{display:grid;gap:3px;padding:10px}
.ops-shell .cmpx2-drawer-grid span,.ops-shell .cmpx2-drawer-sec h4{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ops-amber);font-weight:850}
.ops-shell .cmpx2-drawer-grid strong{font-size:14px;color:var(--ops-ink)}
.ops-shell .cmpx2-drawer-sec{margin-top:12px;padding:13px}
.ops-shell .cmpx2-drawer-sec h4{margin:0 0 8px}
.ops-shell .cmpx2-drawer-sec p{margin:0;color:#344054;font-size:13px;line-height:1.5}
.ops-shell .cmpx2-drawer-actions{display:flex;gap:8px;flex-wrap:wrap}
.ops-shell .cmpx2-drawer-actions button{
  appearance:none;
  min-height:36px;
  padding:8px 12px;
  border-radius:9px;
  border:1px solid #cfe4f5;
  background:linear-gradient(180deg,#f8fcff,#eaf6ff);
  color:#1f6f9f;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.ops-shell .cmpx2-drawer-actions button:hover{transform:translateY(-1px);box-shadow:0 8px 16px rgba(31,111,159,.14)}

@media (max-width:1180px){
  .ops-hero-grid{grid-template-columns:1fr 1fr}
  .ops-signal-panel{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.075)}
  .ops-control-bar{grid-template-columns:1fr 1fr}
  .ops-filter-group{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:880px){
  .ops-hero-grid,.ops-signal-strip,.ops-shell .cmpx2-insight-grid{grid-template-columns:1fr}
  .ops-hero-left,.ops-overview-console{border-right:0;border-bottom:1px solid rgba(255,255,255,.075)}
  .ops-control-bar,.ops-filter-group{grid-template-columns:1fr}
  .ops-matrix-head{display:none}
  .ops-campaign-row{grid-template-columns:1fr 1fr;gap:10px}
  .ops-col--identity{grid-column:1 / -1}
  .ops-col--guidance{grid-column:1 / -1}
}
@media (max-width:560px){
  .ops-hero-left,.ops-overview-console,.ops-signal-panel{padding:22px}
  .ops-campaign-row{grid-template-columns:1fr}
  .ops-col--status{justify-content:flex-start}
  .ops-shell .cmpx2-drawer-grid{grid-template-columns:1fr}
}

/* Reports Final V9 (repv5-*) */
.repv5-hero{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr) minmax(0,.85fr);
  gap:14px;
  padding:16px;
  border-radius:16px;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(180,83,9,.16), transparent 45%),
    radial-gradient(100% 130% at 100% 100%, rgba(217,119,6,.12), transparent 55%),
    linear-gradient(162deg,#e8d8c7,#e1c8ae 58%,#d9b896);
  border:1px solid rgba(59,130,246,.32);
  box-shadow:0 16px 36px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.6);
}
.repv5-hero__left{display:grid;gap:8px}
.repv5-hero .repv4-eyebrow{color:#1e40af}
.repv5-hero .repv4-sub{color:#334155}
.repv5-hero .repv4-hero-main h1{color:#0f172a}

.repv5-hero__mid,.repv5-hero__right{
  border:1px solid rgba(59,130,246,.26);
  border-radius:12px;
  background:rgba(255,255,255,.5);
  padding:12px;
}
.repv5-kicker{margin:0;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#1d4ed8;font-weight:700}
.repv5-term{padding:10px 11px;border-radius:10px;border:1px solid rgba(59,130,246,.3);background:repeating-linear-gradient(180deg,rgba(59,130,246,.08) 0,rgba(59,130,246,.08) 1px,rgba(248,250,252,.84) 1px,rgba(248,250,252,.84) 4px)}
.repv5-term p{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11.5px;line-height:1.45;color:#1e3a8a}
.repv5-term p + p{margin-top:3px}
.repv5-term span{color:#1d4ed8;font-weight:700}
.repv5-term .repv5-pr{color:#0f172a;font-weight:600}

.repv5-hero__right{display:grid;gap:5px;align-content:start}
.repv5-hero__right div{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px solid rgba(59,130,246,.14)}
.repv5-hero__right div:last-child{border-bottom:0}
.repv5-hero__right span{font-size:11px;color:#1e40af}
.repv5-hero__right strong{font-size:12px;color:#0f172a}

.repv5-table-panel{padding:0;overflow:hidden;border-color:rgba(191,219,254,.7);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.repv5-table-wrap{overflow:auto}
.repv5-table{min-width:1260px;border-collapse:separate;border-spacing:0}
.repv5-table thead th{
  position:sticky;
  top:0;
  z-index:5;
  background:linear-gradient(180deg,#eff6ff,#dbeafe);
  color:#1e3a8a;
  font-size:11px;
  letter-spacing:.07em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(148,163,184,.48);
}
.repv5-table tbody td{
  font-size:12.5px;
  color:#0f172a;
  border-bottom:1px solid rgba(226,232,240,.9);
  white-space:nowrap;
}
.repv5-table tbody tr:nth-child(odd) td{background:#fff}
.repv5-table tbody tr:nth-child(even) td{background:#f8fafc}
.repv5-table tbody tr:hover td{background:#eff6ff}

.repv5-table-footer{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border-top:1px solid rgba(191,219,254,.9);
  background:linear-gradient(180deg,#f8fbff,#eef4ff);
}
.repv5-table-footer div{display:grid;gap:2px;padding:8px;border:1px solid rgba(191,219,254,.72);border-radius:10px;background:#fff}
.repv5-table-footer span{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#64748b}
.repv5-table-footer strong{font-size:14px;color:#0f172a;font-variant-numeric:tabular-nums}

@media (max-width:1080px){
  .repv5-hero{grid-template-columns:1fr}
  .repv5-table-footer{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .repv5-table-footer{grid-template-columns:1fr}
}

/* Reports old-table structure reuse (from old/TableView.js), scoped */
.repv5-elite .table-scroll-container{overflow:auto;padding:0}
.repv5-elite .data-table{min-width:1280px}
.repv5-elite .table-header{
  display:grid;
  grid-template-columns:var(--reports-cols-template);
  position:sticky;
  top:0;
  z-index:5;
  background:linear-gradient(180deg,#eff6ff,#dbeafe);
  border-bottom:1px solid rgba(148,163,184,.55);
}
.repv5-elite .table-header-cell{
  padding:10px;
  font-size:11px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#1e3a8a;
  border-right:1px solid rgba(191,219,254,.65);
}
.repv5-elite .table-header-cell:last-child{border-right:0}
.repv5-elite .table-header-cell.align-right{text-align:right}

.repv5-elite .table-body{display:grid}
.repv5-elite .table-row{
  display:grid;
  grid-template-columns:var(--reports-cols-template);
  border-bottom:1px solid rgba(226,232,240,.9);
}
.repv5-elite .table-row:nth-child(odd){background:#fff}
.repv5-elite .table-row:nth-child(even){background:#f8fafc}
.repv5-elite .table-row:hover{background:#eff6ff}

.repv5-elite .table-cell{padding:9px 10px;border-right:1px solid rgba(226,232,240,.75);font-size:12.5px;color:#0f172a;white-space:nowrap}
.repv5-elite .table-cell:last-child{border-right:0}
.repv5-elite .date-cell{display:grid;gap:2px;white-space:normal}
.repv5-elite .date-value{font-weight:700;color:#0f172a;word-break:break-word}
.repv5-elite .date-meta{font-size:11px;color:#64748b;word-break:break-word}
.repv5-elite .numeric-cell{text-align:right}
.repv5-elite .cell-value{font-variant-numeric:tabular-nums}

.repv5-elite .table-empty{padding:18px 16px}
.repv5-elite .table-empty-title{margin:0;font-size:14px;color:#0f172a;font-weight:700}
.repv5-elite .table-empty-hint{margin:6px 0 0;font-size:12px;color:#64748b}

.repv5-elite .table-summary-footer{
  border-top:1px solid rgba(191,219,254,.9);
  background:linear-gradient(180deg,#f8fbff,#eef4ff);
  padding:10px;
}
.repv5-elite .summary-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.repv5-elite .summary-stat{display:grid;gap:2px;padding:8px;border:1px solid rgba(191,219,254,.72);border-radius:10px;background:#fff}
.repv5-elite .stat-label{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#64748b}
.repv5-elite .stat-value{font-size:14px;color:#0f172a;font-variant-numeric:tabular-nums;font-weight:700}

@media (max-width:1080px){
  .repv5-elite .summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .repv5-elite .summary-stats{grid-template-columns:1fr}
}

/* Reports heatmap/export completion */
.repv5-heatmap-panel{padding:12px}
.repv5-heatmap-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}
.repv5-heatmap-head h2{margin:0;font-size:18px;color:#0f172a}
.repv5-heatmap-head p{margin:4px 0 0;font-size:12px;color:#64748b}
.repv5-heatmap-metrics{display:flex;gap:6px;flex-wrap:wrap}
.repv5-heatmap-metrics button{border:1px solid rgba(148,163,184,.35);background:#fff;padding:6px 10px;border-radius:999px;font-size:11px;color:#334155;cursor:pointer}
.repv5-heatmap-metrics button.is-active{border-color:rgba(59,130,246,.45);background:#dbeafe;color:#1e3a8a;font-weight:700}

.repv5-heatmap-wrap{margin-top:10px;padding:10px;border:1px solid rgba(191,219,254,.75);border-radius:12px;background:#f8fbff}
.repv5-heatmap-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px}
.repv5-heatmap-week div{text-align:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.repv5-heatmap-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.repv5-heatmap-grid .heatmap-cell{min-height:56px;border-radius:10px;border:1px solid rgba(148,163,184,.32);padding:6px;display:grid;align-content:space-between}
.repv5-heatmap-grid .heatmap-cell .cell-date{font-size:10px;color:#334155}
.repv5-heatmap-grid .heatmap-cell .cell-value{font-size:11px;font-weight:700;color:#0f172a}
.repv5-heatmap-grid .heatmap-cell.poor{background:#fee2e2;border-color:#fecaca}
.repv5-heatmap-grid .heatmap-cell.fair{background:#fef3c7;border-color:#fde68a}
.repv5-heatmap-grid .heatmap-cell.good{background:#dbeafe;border-color:#bfdbfe}
.repv5-heatmap-grid .heatmap-cell.excellent{background:#dcfce7;border-color:#bbf7d0}
.repv5-heatmap-grid .heatmap-cell.empty{background:#f8fafc;border-color:#e2e8f0}

.repv5-heatmap-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:#475569}
.repv5-heatmap-legend span{display:inline-flex;align-items:center;gap:6px}
.repv5-heatmap-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}
.repv5-heatmap-legend i.poor{background:#fca5a5}
.repv5-heatmap-legend i.fair{background:#fcd34d}
.repv5-heatmap-legend i.good{background:#93c5fd}
.repv5-heatmap-legend i.excellent{background:#86efac}

.repv4-export-panel h2{margin:0 0 6px}
.repv4-export-panel .repv4-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.repv4-export-panel .btn{justify-content:center}

@media (max-width:980px){
  .repv5-heatmap-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .repv5-heatmap-week{display:none}
  .repv4-export-panel .repv4-export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .repv5-heatmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .repv4-export-panel .repv4-export-grid{grid-template-columns:1fr}
}
/* ============================================================================
   REPORTS MODULE — Elite Tier 1 v2
   Scope: #reportsView, .reports-*, .table-*, .timeline-*, .heatmap-*
   Owner: packages/reports/
   ============================================================================ */

/* ── LOCAL TOKENS ─────────────────────────────────────────────────────────── */
#reportsView {
  --rp-bg:            #0d1120;
  --rp-surface:       rgba(255,255,255,0.09);
  --rp-surface-2:     rgba(255,255,255,0.13);
  --rp-surface-3:     rgba(255,255,255,0.18);
  --rp-surface-inset: rgba(0,0,0,0.22);
  --rp-border:        rgba(255,255,255,0.13);
  --rp-border-2:      rgba(255,255,255,0.22);
  --rp-text:          #f1f5f9;
  --rp-text-2:        #adb8cc;
  --rp-text-3:        #7a8599;
  --rp-accent:        #5b8af5;
  --rp-accent-dim:    rgba(91,138,245,0.12);
  --rp-accent-glow:   rgba(91,138,245,0.22);
  --rp-green:         #22c55e;
  --rp-green-dim:     rgba(34,197,94,0.12);
  --rp-red:           #ef4444;
  --rp-red-dim:       rgba(239,68,68,0.12);
  --rp-amber:         #fbbf24;
  --rp-amber-dim:     rgba(251,191,36,0.12);
  --rp-r-sm:          8px;
  --rp-r-md:          12px;
  --rp-r-lg:          16px;
  --rp-r-xl:          20px;
  --rp-t-fast:        150ms ease;
  --rp-t-std:         240ms ease;
  --rp-shadow-sm:     0 2px 8px rgba(0,0,0,0.28);
  --rp-shadow-md:     0 6px 20px rgba(0,0,0,0.38);
  --rp-shadow-lg:     0 12px 40px rgba(0,0,0,0.5);
}

/* ── MODULE SHELL ────────────────────────────────────────────────────────── */
.reports-module {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  color: var(--rp-text);
}

/* ── TOP BAR ─────────────────────────────────────────────────────────────── */
.reports-top-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(10,15,26,0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--rp-border);
}

.top-bar-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 28px;
  height: 52px;
}

/* View tabs — pill style */
.reports-view-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
}

.view-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  background: none;
  border: 1px solid transparent;
  border-radius: var(--rp-r-md);
  font-size: 12px;
  font-weight: 700;
  color: var(--rp-text-3);
  cursor: pointer;
  transition: all var(--rp-t-fast);
  white-space: nowrap;
  letter-spacing: 0.01em;
}
.view-tab:hover {
  background: var(--rp-surface);
  color: var(--rp-text-2);
  border-color: var(--rp-border);
}
.view-tab.active {
  background: var(--rp-accent-dim);
  border-color: rgba(91,138,245,0.28);
  color: var(--rp-accent);
  box-shadow: 0 0 12px rgba(91,138,245,0.1);
}
.view-tab svg { width: 14px; height: 14px; flex-shrink: 0; }
.view-tab.active svg { color: var(--rp-accent); }

/* Quick actions */
.reports-quick-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.quick-export-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  background: var(--rp-accent-dim);
  border: 1px solid rgba(91,138,245,0.28);
  border-radius: var(--rp-r-md);
  font-size: 12px;
  font-weight: 700;
  color: var(--rp-accent);
  cursor: pointer;
  transition: all var(--rp-t-fast);
  white-space: nowrap;
}
.quick-export-btn:hover {
  background: rgba(91,138,245,0.2);
  border-color: rgba(91,138,245,0.4);
  box-shadow: 0 0 12px rgba(91,138,245,0.15);
}
.quick-export-btn svg { width: 14px; height: 14px; }

.refresh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  color: var(--rp-text-2);
  cursor: pointer;
  transition: all var(--rp-t-fast);
  padding: 0;
}
.refresh-btn:hover {
  background: var(--rp-surface-2);
  border-color: var(--rp-border-2);
  color: var(--rp-text);
}
.refresh-btn svg { width: 16px; height: 16px; }

/* Insights bar */
.reports-insights-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 28px;
  border-top: 1px solid var(--rp-border);
  overflow-x: auto;
  scrollbar-width: none;
  background: rgba(0,0,0,0.1);
}
.reports-insights-bar::-webkit-scrollbar { display: none; }

.insight-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 11px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  color: var(--rp-text-2);
  flex-shrink: 0;
}
.insight-item.trend-up {
  background: var(--rp-green-dim);
  border-color: rgba(34,197,94,0.25);
  color: var(--rp-green);
}
.insight-item.trend-down {
  background: var(--rp-red-dim);
  border-color: rgba(239,68,68,0.25);
  color: var(--rp-red);
}
.insight-item.trend-neutral {
  background: var(--rp-amber-dim);
  border-color: rgba(251,191,36,0.25);
  color: var(--rp-amber);
}
.insight-item svg { width: 12px; height: 12px; flex-shrink: 0; }
.insight-label { opacity: 0.75; }
.insight-value { font-weight: 800; }

/* ── REPORTS VIEW CONTAINER ──────────────────────────────────────────────── */
.reports-view {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* ── TABLE VIEW ──────────────────────────────────────────────────────────── */
.reports-table-view {
  padding-bottom: 40px;
}

/* Filters bar */
.table-filters-bar {
  display: flex;
  align-items: center;
  padding: 12px 28px;
  border-bottom: 1px solid var(--rp-border);
  gap: 12px;
  background: var(--rp-surface-inset);
}

.filters-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  gap: 12px;
  flex-wrap: wrap;
}

.filter-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.filter-select {
  appearance: none;
  -webkit-appearance: none;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  padding: 7px 30px 7px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--rp-text-2);
  cursor: pointer;
  outline: none;
  transition: all var(--rp-t-fast);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
.filter-select:hover {
  border-color: var(--rp-border-2);
  background-color: var(--rp-surface-2);
  color: var(--rp-text);
}
.filter-select:focus {
  border-color: var(--rp-accent);
  box-shadow: 0 0 0 2px var(--rp-accent-dim);
}

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.search-input-wrapper .icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: var(--rp-text-3);
  pointer-events: none;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.search-input-wrapper .icon svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.search-input-wrapper .search-input {
  padding-left: 32px;
  height: 34px;
  min-width: 220px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  font-size: 12px;
  color: var(--rp-text);
  outline: none;
  transition: border-color var(--rp-t-fast), background var(--rp-t-fast);
}
.search-input-wrapper .search-input::placeholder { color: var(--rp-text-3); }
.search-input-wrapper .search-input:focus {
  border-color: var(--rp-accent);
  background: var(--rp-surface-2);
}

.table-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.action-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  font-size: 12px;
  font-weight: 600;
  color: var(--rp-text-2);
  cursor: pointer;
  transition: all var(--rp-t-fast);
  white-space: nowrap;
}
.action-btn:hover {
  background: var(--rp-surface-2);
  border-color: var(--rp-border-2);
  color: var(--rp-text);
}
.action-btn svg { width: 14px; height: 14px; }

/* Scroll container + data table */
.table-scroll-container {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.data-table {
  min-width: 0;
  width: 100%;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--rp-border) transparent;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.table-header {
  display: grid;
  grid-template-columns: var(--reports-cols-template, 1fr 1fr 1fr 1fr 1fr 1fr);
  border-bottom: 1px solid var(--rp-border);
  background: linear-gradient(180deg, var(--rp-surface-2) 0%, var(--rp-surface) 100%);
  position: sticky;
  top: 0;
  z-index: 10;
  min-width: 600px;
}

.table-header-cell {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px 16px;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 800;
  color: var(--rp-text-3);
  cursor: pointer;
  transition: color var(--rp-t-fast);
  text-align: left;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.table-header-cell:hover { color: var(--rp-text-2); }
.table-header-cell.is-active { color: var(--rp-accent); }
.table-header-cell.align-right { justify-content: flex-end; text-align: right; }

.sort-indicator {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.45;
  flex-shrink: 0;
}
.table-header-cell.is-active .sort-indicator { opacity: 1; color: var(--rp-accent); }

.table-body { display: flex; flex-direction: column; }

.table-row {
  display: grid;
  grid-template-columns: var(--reports-cols-template, 1fr 1fr 1fr 1fr 1fr 1fr);
  border-bottom: 1px solid var(--rp-border);
  cursor: pointer;
  transition: background var(--rp-t-fast);
  outline: none;
  min-width: 600px;
}
.table-row:hover { background: var(--rp-surface); }
.table-row:nth-child(even) { background: rgba(255,255,255,0.015); }
.table-row:nth-child(even):hover { background: var(--rp-surface); }
.table-row:focus-visible {
  background: var(--rp-surface);
  outline: 2px solid rgba(91,138,245,0.3);
  outline-offset: -2px;
}
.table-row:active { background: rgba(91,138,245,0.08); }
.table-row.is-selected {
  background: rgba(91,138,245,0.1);
  border-left: 2px solid rgba(91,138,245,0.7);
}
.table-row.is-selected:hover { background: rgba(91,138,245,0.14); }

.table-cell {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 14px 16px;
}
.table-cell.numeric-cell { align-items: flex-end; text-align: right; }

.date-value {
  font-size: 15px;
  font-weight: 700;
  color: var(--rp-text);
  letter-spacing: -0.01em;
}
.date-meta {
  font-size: 13px;
  color: var(--rp-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}

.cell-value {
  font-size: 15px;
  font-weight: 700;
  color: var(--rp-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}

/* Table row quality badge */
.cell-trend {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  font-weight: 700;
}
.cell-trend--up   { color: var(--rp-green); }
.cell-trend--down { color: var(--rp-red); }

/* Table empty state */
.table-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 32px;
  text-align: center;
  gap: 10px;
}
.table-empty-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--rp-text-2);
  margin: 0;
}
.table-empty-hint {
  font-size: 13px;
  color: var(--rp-text-3);
  line-height: 1.6;
  margin: 0;
  max-width: 400px;
}

/* Pagination */
.table-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 16px 24px;
  border-top: 1px solid var(--rp-border);
}

.pagination-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 14px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  font-size: 12px;
  font-weight: 600;
  color: var(--rp-text-2);
  cursor: pointer;
  transition: all var(--rp-t-fast);
}
.pagination-btn:hover:not(:disabled) {
  background: var(--rp-surface-2);
  border-color: var(--rp-border-2);
  color: var(--rp-text);
}
.pagination-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.pagination-status {
  font-size: 12px;
  color: var(--rp-text-3);
  white-space: nowrap;
}

/* Table summary footer */
.table-summary-footer {
  padding: 14px 28px;
  border-top: 1px solid var(--rp-border);
  background: linear-gradient(180deg, var(--rp-surface-2) 0%, var(--rp-surface) 100%);
}

.summary-stats {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.summary-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.summary-stat .stat-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--rp-text-3);
}
.summary-stat .stat-value {
  font-size: 15px;
  font-weight: 800;
  color: var(--rp-text);
  font-variant-numeric: tabular-nums;
}

/* Table popover layer */
.table-popover-layer {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
}
.table-popover-layer.open { display: block; }

.popover-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}

.table-popover {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-width: 260px;
  background: #111827;
  border: 1px solid var(--rp-border-2);
  border-radius: var(--rp-r-xl);
  padding: 20px;
  z-index: 101;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.popover-title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rp-text-3);
}
.popover-title--spaced { margin-top: 4px; }

.popover-options {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.popover-option {
  display: flex;
  align-items: center;
}
.popover-option label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--rp-text-2);
  cursor: pointer;
  transition: color var(--rp-t-fast);
}
.popover-option label:hover { color: var(--rp-text); }
.popover-option input[type="checkbox"],
.popover-option input[type="radio"] {
  accent-color: var(--rp-accent);
  width: 14px;
  height: 14px;
  cursor: pointer;
}

.popover-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid var(--rp-border);
}

.popover-btn {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  font-size: 12px;
  font-weight: 600;
  color: var(--rp-text-2);
  cursor: pointer;
  transition: all var(--rp-t-fast);
}
.popover-btn:hover {
  background: var(--rp-surface-2);
  border-color: var(--rp-border-2);
  color: var(--rp-text);
}
.popover-btn.primary {
  background: rgba(79,124,255,0.1);
  border-color: rgba(79,124,255,0.25);
  color: var(--rp-accent);
}
.popover-btn.primary:hover {
  background: rgba(79,124,255,0.18);
  border-color: rgba(79,124,255,0.4);
}

/* ── TIMELINE VIEW ───────────────────────────────────────────────────────── */
.reports-timeline-view {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.timeline-chart-container {
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-xl);
  padding: 24px;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: var(--rp-shadow-sm);
  position: relative;
  overflow: hidden;
}
.timeline-chart-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(91,138,245,0.3), transparent);
  pointer-events: none;
}

.timeline-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.timeline-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--rp-text);
  letter-spacing: -0.015em;
}

.timeline-legend {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: var(--rp-text-2);
  letter-spacing: 0.01em;
}

.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  box-shadow: 0 0 6px currentColor;
}

.timeline-chart-area {
  flex: 1;
  min-height: 240px;
  position: relative;
}

/* Timeline stats grid below chart */
.timeline-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 4px;
}

.timeline-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  background: var(--rp-surface-inset);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-lg);
}
.timeline-stat-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rp-text-3);
}
.timeline-stat-value {
  font-size: 18px;
  font-weight: 800;
  color: var(--rp-text);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

/* ── HEATMAP VIEW ────────────────────────────────────────────────────────── */
.reports-heatmap-view {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.heatmap-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.heatmap-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--rp-text);
  margin: 0;
  letter-spacing: -0.015em;
}

.heatmap-subtitle {
  font-size: 12px;
  color: var(--rp-text-3);
  margin: 3px 0 0;
}

.heatmap-container {
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-xl);
  padding: 24px;
  overflow-x: auto;
  box-shadow: var(--rp-shadow-sm);
}

.heatmap-grid {
  display: grid;
  gap: 4px;
  min-width: 600px;
}

.heatmap-cell {
  border-radius: 5px;
  aspect-ratio: 1/1;
  transition: transform var(--rp-t-fast), box-shadow var(--rp-t-fast), opacity var(--rp-t-fast);
  cursor: pointer;
  position: relative;
}
.heatmap-cell:hover {
  transform: scale(1.08);
  box-shadow: 0 0 10px rgba(0,0,0,0.35);
  z-index: 2;
  opacity: 1 !important;
}

.heatmap-legend {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 11px;
  color: var(--rp-text-3);
  font-weight: 600;
}

.heatmap-legend-scale {
  display: flex;
  align-items: center;
  gap: 3px;
}

.heatmap-legend-cell {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}

/* ── EXPORT WIZARD ───────────────────────────────────────────────────────── */
.reports-export-view {
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 760px;
}

.export-wizard-header {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--rp-border);
}

.export-wizard-eyebrow {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rp-accent);
}

.export-wizard-title {
  font-size: 22px;
  font-weight: 900;
  color: var(--rp-text);
  margin: 0;
  letter-spacing: -0.025em;
}
.export-wizard-sub {
  font-size: 13px;
  color: var(--rp-text-3);
  margin: 0;
  line-height: 1.55;
}

/* Export section titles */
.export-section-title {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rp-text-3);
  margin: 0 0 10px;
}

.export-format-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 12px;
}

.export-format-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 20px 14px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-xl);
  cursor: pointer;
  transition: all var(--rp-t-std);
  text-align: center;
  box-shadow: var(--rp-shadow-sm);
}
.export-format-card:hover {
  background: var(--rp-surface-2);
  border-color: var(--rp-border-2);
  transform: translateY(-2px);
  box-shadow: var(--rp-shadow-md);
}
.export-format-card.selected {
  background: var(--rp-accent-dim);
  border-color: rgba(91,138,245,0.35);
  box-shadow: 0 0 20px rgba(91,138,245,0.12);
}

.export-format-icon {
  width: 42px;
  height: 42px;
  border-radius: var(--rp-r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rp-surface-2);
  color: var(--rp-text-2);
  transition: all var(--rp-t-fast);
}
.export-format-card.selected .export-format-icon {
  background: rgba(91,138,245,0.18);
  color: var(--rp-accent);
  box-shadow: 0 0 12px rgba(91,138,245,0.2);
}
.export-format-icon svg { width: 20px; height: 20px; }

.export-format-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--rp-text);
  letter-spacing: -0.01em;
}
.export-format-desc {
  font-size: 11px;
  color: var(--rp-text-3);
  line-height: 1.5;
}

/* Export options rows */
.export-options-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-xl);
  padding: 18px 22px;
}

.export-option-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid var(--rp-border);
}
.export-option-row:last-child { border-bottom: none; }

.export-option-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--rp-text);
}
.export-option-hint {
  font-size: 11px;
  color: var(--rp-text-3);
  margin-top: 2px;
}

/* Submit button — premium */
.export-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 11px 24px;
  background: linear-gradient(135deg, var(--rp-accent), #3d6aee);
  border: 1px solid rgba(91,138,245,0.5);
  border-radius: var(--rp-r-md);
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: all var(--rp-t-fast);
  align-self: flex-start;
  box-shadow: 0 4px 16px rgba(91,138,245,0.3);
}
.export-submit-btn:hover {
  background: linear-gradient(135deg, #6b9aff, #4a78ff);
  box-shadow: 0 6px 24px rgba(91,138,245,0.45);
}
.export-submit-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}
.export-submit-btn svg { width: 15px; height: 15px; }

/* PDF-specific: word-wrap for long data names */
@media print {
  .date-meta,
  .cell-value,
  .export-format-label,
  .export-wizard-title,
  .reports-hero-title,
  .reports-hero-kpiValue,
  .summary-stat .stat-value {
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: normal !important;
    text-overflow: clip !important;
    max-width: 100% !important;
  }
  .table-cell { word-break: break-word; overflow-wrap: anywhere; }
  .data-table { table-layout: fixed; width: 100%; }
  .table-row { page-break-inside: avoid; }
  .reports-module { color: #111; background: #fff !important; }
  .table-header-cell, .cell-value, .date-value { color: #111 !important; }
  .table-header { background: #f3f4f6 !important; }
}

/* ── REPORTS HERO ─────────────────────────────────────────────────────────────── */
.reports-hero {
  padding: 28px 28px 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.reports-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}

.reports-hero-main {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.reports-hero-title-group {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.reports-hero-icon-wrapper {
  width: 48px;
  height: 48px;
  border-radius: var(--rp-r-lg);
  background: var(--rp-accent-dim);
  border: 1px solid rgba(91,138,245,0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rp-accent);
  flex-shrink: 0;
  box-shadow: 0 0 20px var(--rp-accent-glow);
}
.reports-hero-icon-wrapper svg { width: 22px; height: 22px; }

.reports-hero-title-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.reports-hero-context {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rp-text-3);
  margin: 0;
}

.reports-hero-title {
  font-size: 30px;
  font-weight: 900;
  color: var(--rp-text);
  margin: 0;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.reports-hero-subtitle {
  font-size: 14px;
  color: var(--rp-text-2);
  margin: 0;
  line-height: 1.6;
  max-width: 640px;
}

.reports-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  font-size: 12px;
  font-weight: 700;
  color: var(--rp-text-2);
  cursor: pointer;
  transition: all var(--rp-t-fast);
  white-space: nowrap;
  min-height: 36px;
}
.hero-btn:hover {
  background: var(--rp-surface-2);
  border-color: var(--rp-border-2);
  color: var(--rp-text);
}
.hero-btn.primary {
  background: var(--rp-accent-dim);
  border-color: rgba(91,138,245,0.3);
  color: var(--rp-accent);
  box-shadow: 0 2px 8px rgba(91,138,245,0.2);
}
.hero-btn.primary:hover {
  background: rgba(91,138,245,0.2);
  border-color: rgba(91,138,245,0.5);
  box-shadow: 0 4px 16px rgba(91,138,245,0.3);
}
.hero-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  box-shadow: none;
}
.hero-btn svg { width: 14px; height: 14px; flex-shrink: 0; }

.reports-hero-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 16px;
  border-radius: var(--rp-r-md);
  background: rgba(251,191,36,0.07);
  border: 1px solid rgba(251,191,36,0.22);
  color: var(--rp-amber);
  font-size: 12px;
  margin-bottom: 12px;
}
.reports-hero-notice svg { flex-shrink: 0; width: 15px; height: 15px; margin-top: 1px; }
.notice-copy { display: flex; flex-direction: column; gap: 2px; }
.notice-copy strong { font-size: 12px; font-weight: 700; }
.notice-copy span { color: var(--rp-text-3); }

/* KPI cards in hero right column */
.reports-hero-kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.reports-hero-kpiCard {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 18px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-xl);
  cursor: pointer;
  transition: border-color var(--rp-t-fast), transform var(--rp-t-fast), box-shadow var(--rp-t-fast);
  outline: none;
  min-width: 0;
  box-shadow: var(--rp-shadow-sm);
  position: relative;
  overflow: hidden;
}
.reports-hero-kpiCard::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(91,138,245,0.3), transparent);
  opacity: 0;
  transition: opacity var(--rp-t-fast);
}
.reports-hero-kpiCard:hover {
  background: var(--rp-surface-2);
  border-color: rgba(91,138,245,0.25);
  transform: translateY(-2px);
  box-shadow: var(--rp-shadow-md);
}
.reports-hero-kpiCard:hover::before { opacity: 1; }
.reports-hero-kpiCard:focus-visible {
  outline: 2px solid rgba(91,138,245,0.4);
  outline-offset: 2px;
}

.reports-hero-kpiLabel {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--rp-text-3);
}

.reports-hero-kpiValue {
  font-size: 22px;
  font-weight: 900;
  color: var(--rp-text);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -0.025em;
  word-break: break-all;
  overflow-wrap: anywhere;
}

.reports-hero-kpiMeta {
  font-size: 10px;
  color: var(--rp-text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Performance summary bar */
.reports-perf-summary {
  display: flex;
  align-items: stretch;
  gap: 0;
  border-radius: var(--rp-r-lg);
  overflow: hidden;
  border: 1px solid var(--rp-border);
  margin: 16px 0 0;
  background: var(--rp-surface);
  box-shadow: var(--rp-shadow-sm);
}
.reports-perf-summary--positive { border-color: rgba(34,197,94,0.25); background: linear-gradient(160deg, rgba(34,197,94,0.03) 0%, var(--rp-surface) 60%); }
.reports-perf-summary--warning  { border-color: rgba(251,191,36,0.25); background: linear-gradient(160deg, rgba(251,191,36,0.03) 0%, var(--rp-surface) 60%); }
.reports-perf-summary--critical { border-color: rgba(239,68,68,0.25); background: linear-gradient(160deg, rgba(239,68,68,0.03) 0%, var(--rp-surface) 60%); }
.reports-perf-summary--neutral  { border-color: var(--rp-border); }

.reports-perf-summary__bar {
  width: 4px;
  flex-shrink: 0;
  background: var(--rp-border-2);
}
.reports-perf-summary--positive .reports-perf-summary__bar { background: var(--rp-green); }
.reports-perf-summary--warning  .reports-perf-summary__bar { background: var(--rp-amber); }
.reports-perf-summary--critical .reports-perf-summary__bar { background: var(--rp-red); }

.reports-perf-summary__content {
  flex: 1;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.reports-perf-summary__title {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--rp-text-3);
}
.reports-perf-summary__text {
  font-size: 13px;
  color: var(--rp-text-2);
  margin: 0;
  line-height: 1.55;
}
.reports-perf-summary__recommendation {
  font-size: 12px;
  color: var(--rp-text-3);
  margin: 0;
  line-height: 1.5;
}
.reports-perf-summary__recommendation strong { color: var(--rp-text-2); }

/* Empty explanation box */
.reports-empty-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 56px 32px;
  text-align: center;
  gap: 10px;
}
.reports-empty-box h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--rp-text-2);
  margin: 0;
}
.reports-empty-box p {
  font-size: 13px;
  color: var(--rp-text-3);
  margin: 0;
  max-width: 380px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .reports-hero-grid { grid-template-columns: 1fr; }
  .reports-hero-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .reports-hero { padding: 20px 20px 0; }
  .reports-hero-title { font-size: 24px; }
  .reports-hero-kpis { grid-template-columns: 1fr 1fr; gap: 8px; }
  .reports-hero-kpiValue { font-size: 18px; }
}

/* ── LOADING / ERROR STATES ──────────────────────────────────────────────────────────── */
.reports-loading,
.reports-error,
.reports-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  padding: 56px 32px;
  text-align: center;
  gap: 12px;
  color: var(--rp-text-3);
}

.reports-error { color: var(--rp-red); }

.reports-state-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: 50%;
  margin-bottom: 4px;
  box-shadow: var(--rp-shadow-sm);
}
.reports-state-icon svg { width: 24px; height: 24px; }

.reports-state-title {
  font-size: 16px;
  font-weight: 800;
  color: var(--rp-text);
  margin: 0;
  letter-spacing: -0.015em;
}
.reports-state-desc {
  font-size: 13px;
  color: var(--rp-text-3);
  line-height: 1.65;
  margin: 0;
  max-width: 420px;
}

/* ── TABLE: STICKY HEADER — sticks within data-table scroll context ─────── */
/* top:0 is correct since data-table is now the overflow/scroll ancestor      */
.table-header {
  top: 0;
}

/* ── TIMELINE: MISSING CLASSES ───────────────────────────────────────────── */
.timeline-header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
}
.header-left { display: flex; flex-direction: column; gap: 4px; }
.timeline-subtitle {
  font-size: 12px;
  color: var(--rp-text-3);
  margin: 0;
}

/* Metric selector buttons (Timeline + Heatmap) */
.metric-selector,
.heatmap-metric-selector {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}
.metric-btn {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  font-size: 11px;
  font-weight: 700;
  color: var(--rp-text-3);
  cursor: pointer;
  transition: all var(--rp-t-fast);
  white-space: nowrap;
}
.metric-btn:hover {
  background: var(--rp-surface-2);
  color: var(--rp-text-2);
  border-color: var(--rp-border-2);
}
.metric-btn.active {
  background: var(--rp-accent-dim);
  border-color: rgba(91,138,245,0.35);
  color: var(--rp-accent);
}

/* Chart canvas + bars */
.chart-canvas,
.chart-canvas-bars,
.so-rptx-chart-canvas,
.so-rptx-chart-canvas-bars {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 200px;
}
.chart-bars-row,
.so-rptx-chart-bars-row {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  flex: 1;
  height: 220px;
  min-height: 220px;
  padding: 8px 0 0;
}
.chart-bar-wrap,
.so-rptx-chart-bar-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  height: 100%;
  position: relative;
}
.chart-bar,
.so-rptx-chart-bar {
  width: 100%;
  border-radius: 3px 3px 0 0;
  transition: opacity var(--rp-t-fast);
  min-width: 2px;
}
.chart-bar:hover,
.so-rptx-chart-bar:hover { opacity: 0.75; }

/* metric color variants */
.chart-bar--spend,  .so-rptx-chart-bar--spend  { background: rgba(251,146,60,0.9) !important; }
.chart-bar--revenue,.so-rptx-chart-bar--revenue { background: rgba(34,197,94,0.9)  !important; }
.chart-bar--roas,   .so-rptx-chart-bar--roas    { background: rgba(59,130,246,0.9)  !important; }
.chart-bar--conversions,.so-rptx-chart-bar--conversions { background: rgba(6,182,212,0.9) !important; }

/* Axis row below bars */
.so-rptx-timeline-axis {
  display: flex;
  align-items: flex-start;
  gap: 2px;
  border-top: 1px solid var(--rp-border);
  margin-top: 2px;
  padding-top: 4px;
}
.so-rptx-axis-cell {
  flex: 1;
  min-width: 0;
  display: flex;
  justify-content: center;
}
.so-rptx-axis-tick {
  font-size: 9px;
  color: var(--rp-text-3);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* Chart legend */
.chart-legend,
.so-rptx-chart-legend {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.so-rptx-legend-item { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: var(--rp-text-2); }
.so-rptx-legend-dot,
.legend-dot {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.legend-dot--spend,   .so-rptx-legend-dot--spend   { background: rgba(251,146,60,0.9); box-shadow: 0 0 6px rgba(251,146,60,0.6); }
.legend-dot--revenue, .so-rptx-legend-dot--revenue  { background: rgba(34,197,94,0.9);  box-shadow: 0 0 6px rgba(34,197,94,0.6); }
.legend-dot--roas,    .so-rptx-legend-dot--roas     { background: rgba(59,130,246,0.9);  box-shadow: 0 0 6px rgba(59,130,246,0.6); }
.legend-dot--conversions,.so-rptx-legend-dot--conversions { background: rgba(6,182,212,0.9); box-shadow: 0 0 6px rgba(6,182,212,0.6); }

/* stat-card grid (timeline below chart) */
.stat-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-lg);
  position: relative;
  overflow: hidden;
}
.stat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
}
.stat-card--blue  { border-color: rgba(59,130,246,0.2); }
.stat-card--blue::before  { background: rgba(59,130,246,0.7); }
.stat-card--red   { border-color: rgba(239,68,68,0.2); }
.stat-card--red::before   { background: rgba(239,68,68,0.7); }
.stat-card--green { border-color: rgba(34,197,94,0.2); }
.stat-card--green::before { background: rgba(34,197,94,0.7); }
.stat-card--orange{ border-color: rgba(251,146,60,0.2); }
.stat-card--orange::before{ background: rgba(251,146,60,0.7); }

.stat-card-icon { display: flex; align-items: center; color: var(--rp-text-3); margin-bottom: 2px; }
.stat-card-icon svg { width: 18px; height: 18px; }
.stat-card-label {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.07em; color: var(--rp-text-3);
}
.stat-card-value {
  font-size: 20px; font-weight: 900; color: var(--rp-text);
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
  line-height: 1;
}
.stat-card-value.positive { color: var(--rp-green); }
.stat-card-value.negative { color: var(--rp-red); }
.stat-card-meta { font-size: 10px; color: var(--rp-text-3); margin-top: 2px; }

/* ── HEATMAP: MISSING CLASSES ────────────────────────────────────────────── */
.heatmap-weekdays,
.so-rptx-heatmap-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 6px;
}
.weekday-header,
.so-rptx-weekday-header {
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  color: var(--rp-text-3);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 0;
}
.heatmap-calendar,
.so-rptx-heatmap-calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}
.heatmap-cell,
.so-rptx-heatmap-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 4px;
  border-radius: 6px;
  cursor: pointer;
  transition: transform var(--rp-t-fast), box-shadow var(--rp-t-fast);
  min-height: 48px;
  border: 1px solid transparent;
}
.heatmap-cell:hover,
.so-rptx-heatmap-cell:hover {
  transform: scale(1.06);
  box-shadow: 0 0 10px rgba(0,0,0,0.35);
  z-index: 2;
}

/* quality colour variants */
.heatmap-cell.empty,
.so-rptx-heatmap-cell.empty { background: rgba(255,255,255,0.03); border-color: var(--rp-border); }
.heatmap-cell.poor,
.so-rptx-heatmap-cell.poor { background: rgba(239,68,68,0.15); border-color: rgba(239,68,68,0.3); }
.heatmap-cell.fair,
.so-rptx-heatmap-cell.fair { background: rgba(251,191,36,0.15); border-color: rgba(251,191,36,0.3); }
.heatmap-cell.good,
.so-rptx-heatmap-cell.good { background: rgba(34,197,94,0.15); border-color: rgba(34,197,94,0.3); }
.heatmap-cell.excellent,
.so-rptx-heatmap-cell.excellent { background: rgba(34,197,94,0.28); border-color: rgba(34,197,94,0.5); }

.cell-date,
.so-rptx-cell-date {
  font-size: 10px; font-weight: 700; color: var(--rp-text-2);
  line-height: 1;
}
.cell-value,
.so-rptx-cell-value {
  font-size: 9px; font-weight: 600; color: var(--rp-text-3);
  font-variant-numeric: tabular-nums;
}
.heatmap-cell.excellent .cell-date,
.so-rptx-heatmap-cell.excellent .so-rptx-cell-date { color: var(--rp-green); }
.heatmap-cell.poor .cell-date,
.so-rptx-heatmap-cell.poor .so-rptx-cell-date { color: var(--rp-red); }

/* heatmap legend squares */
.legend-square {
  display: inline-block;
  width: 14px; height: 14px;
  border-radius: 4px;
  flex-shrink: 0;
}
.legend-square.poor      { background: rgba(239,68,68,0.6); }
.legend-square.fair      { background: rgba(251,191,36,0.6); }
.legend-square.good      { background: rgba(34,197,94,0.5); }
.legend-square.excellent { background: rgba(34,197,94,0.85); }

.heatmap-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 48px 24px;
  font-size: 13px;
  color: var(--rp-text-3);
}

/* heatmap legend row (overrides old generic) */
.heatmap-legend,
.so-rptx-heatmap-legend {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.heatmap-legend .legend-item,
.so-rptx-heatmap-legend .so-rptx-legend-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 600; color: var(--rp-text-3);
}

/* ── EXPORT / REPORSTSTABLEELITE: MISSING CLASSES ────────────────────────── */
.reports-elite-module,
.reports-export-builder {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 28px;
  color: var(--rp-text);
  max-width: 860px;
}

.reports-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--rp-border);
}
.title-group {
  display: flex;
  align-items: center;
  gap: 14px;
}
.title-icon-wrapper {
  width: 48px; height: 48px;
  border-radius: var(--rp-r-lg);
  background: var(--rp-accent-dim);
  border: 1px solid rgba(91,138,245,0.3);
  display: flex; align-items: center; justify-content: center;
  color: var(--rp-accent);
  flex-shrink: 0;
  box-shadow: 0 0 18px var(--rp-accent-glow);
}
.title-icon-wrapper .icon { display: flex; align-items: center; }
.title-text { display: flex; flex-direction: column; gap: 4px; }
.page-title {
  font-size: 20px; font-weight: 900; color: var(--rp-text);
  margin: 0; letter-spacing: -0.025em;
}
.page-subtitle { font-size: 12px; color: var(--rp-text-3); margin: 0; }

/* definition box */
.export-definition-box {
  background: rgba(91,138,245,0.06);
  border: 1px solid rgba(91,138,245,0.18);
  border-radius: var(--rp-r-lg);
  padding: 18px 22px;
}
.export-definition-title {
  font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--rp-accent); margin: 0 0 10px;
}
.export-definition-list {
  display: flex; flex-direction: column; gap: 6px;
  padding-left: 20px; margin: 0;
}
.export-definition-list li { font-size: 12px; color: var(--rp-text-2); line-height: 1.6; }
.export-definition-list strong { color: var(--rp-text); }

/* cards */
.reportCard,
.export-builder-card {
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-xl);
  padding: 22px 26px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: var(--rp-shadow-sm);
}
.export-builder-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rp-border);
}
.export-builder-section:last-child { border-bottom: none; padding-bottom: 0; }

.export-label {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.09em; color: var(--rp-text-3);
}
.export-question {
  font-size: 14px; font-weight: 700; color: var(--rp-text); margin: 0;
}
.export-helper {
  font-size: 11px; color: var(--rp-text-3); margin: 4px 0 0; line-height: 1.5;
}
.export-row-count {
  font-size: 12px; color: var(--rp-text-2); margin: 0;
}
.export-row-count strong { color: var(--rp-text); }

/* radio options (source / format) */
.export-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.export-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: var(--rp-text-2);
  transition: all var(--rp-t-fast);
}
.export-option:hover { background: var(--rp-surface-2); border-color: var(--rp-border-2); color: var(--rp-text); }
.export-option.selected {
  background: var(--rp-accent-dim);
  border-color: rgba(91,138,245,0.35);
  color: var(--rp-accent);
}
.export-option input[type="radio"] { display: none; }

/* preset cards */
.export-presets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
}
.export-preset {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-lg);
  cursor: pointer;
  transition: all var(--rp-t-fast);
}
.export-preset:hover { background: var(--rp-surface-2); border-color: var(--rp-border-2); }
.export-preset.active {
  background: var(--rp-accent-dim);
  border-color: rgba(91,138,245,0.35);
}
.export-preset input[type="radio"] { display: none; }
.preset-title {
  font-size: 13px; font-weight: 700; color: var(--rp-text);
}
.preset-title em { font-style: normal; font-size: 11px; color: var(--rp-accent); }
.preset-desc { font-size: 11px; color: var(--rp-text-3); line-height: 1.4; }

/* action row */
.export-builder-actions-section .export-label { margin-bottom: 4px; }
.export-builder-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.export-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 20px;
  border-radius: var(--rp-r-md);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--rp-t-fast);
  border: 1px solid transparent;
  white-space: nowrap;
}
.export-btn.primary {
  background: linear-gradient(135deg, var(--rp-accent), #3d6aee);
  border-color: rgba(91,138,245,0.5);
  color: #fff;
  box-shadow: 0 4px 14px rgba(91,138,245,0.3);
}
.export-btn.primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #6b9aff, #4a78ff);
  box-shadow: 0 6px 20px rgba(91,138,245,0.45);
}
.export-btn.secondary {
  background: var(--rp-surface);
  border-color: var(--rp-border);
  color: var(--rp-text-2);
}
.export-btn.secondary:hover:not(:disabled) {
  background: var(--rp-surface-2);
  border-color: var(--rp-border-2);
  color: var(--rp-text);
}
.export-btn:disabled { opacity: 0.38; cursor: not-allowed; box-shadow: none; }

.export-status {
  font-size: 12px; font-weight: 600; color: var(--rp-text-3);
}
.export-status[data-status="creating"] { color: var(--rp-accent); }
.export-status[data-status="done"]     { color: var(--rp-green); }

/* download history */
.export-files-list-section,
.downloadHistory {
  background: var(--rp-surface);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-xl);
  padding: 20px 24px;
  box-shadow: var(--rp-shadow-sm);
}
.export-files-list-title {
  font-size: 13px; font-weight: 800; color: var(--rp-text);
  margin: 0 0 14px; letter-spacing: -0.01em;
}
.export-files-list-hint {
  font-size: 11px; font-weight: 400; color: var(--rp-text-3); letter-spacing: 0;
}
.export-file-expires {
  font-size: 10px; color: var(--rp-text-3); flex-shrink: 0; white-space: nowrap;
}
.export-files-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 6px;
}
.export-file-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: var(--rp-surface-inset);
  border: 1px solid var(--rp-border);
  border-radius: var(--rp-r-md);
  flex-wrap: wrap;
}
.export-file-name {
  flex: 1; min-width: 0;
  font-size: 12px; font-weight: 600; color: var(--rp-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.export-file-format {
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--rp-accent);
  background: var(--rp-accent-dim);
  border: 1px solid rgba(91,138,245,0.2);
  border-radius: 6px; padding: 2px 8px;
  flex-shrink: 0;
}
.export-file-date {
  font-size: 11px; color: var(--rp-text-3); flex-shrink: 0;
  white-space: nowrap;
}
.export-file-download-btn {
  display: inline-flex; align-items: center;
  padding: 5px 12px;
  background: var(--rp-surface-2);
  border: 1px solid var(--rp-border-2);
  border-radius: var(--rp-r-md);
  font-size: 11px; font-weight: 700; color: var(--rp-text-2);
  cursor: pointer; white-space: nowrap;
  transition: all var(--rp-t-fast);
  flex-shrink: 0;
}
.export-file-download-btn:hover:not(:disabled) {
  background: var(--rp-accent-dim);
  border-color: rgba(91,138,245,0.3);
  color: var(--rp-accent);
}
.export-file-download-btn:disabled { opacity: 0.35; cursor: not-allowed; }
.export-files-list-empty {
  font-size: 12px; color: var(--rp-text-3); margin: 0; line-height: 1.6;
}
.export-hint {
  font-size: 12px; color: var(--rp-text-3);
  padding: 10px 14px;
  background: var(--rp-amber-dim);
  border: 1px solid rgba(251,191,36,0.2);
  border-radius: var(--rp-r-md);
  margin: 0;
}

/* ── RESPONSIVE ─────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .top-bar-container { padding: 0 16px; height: 48px; gap: 8px; }
  .reports-view-tabs { gap: 0; overflow-x: auto; scrollbar-width: none; }
  .reports-view-tabs::-webkit-scrollbar { display: none; }
  .view-tab { padding: 7px 10px; font-size: 11px; }
  .reports-insights-bar { padding: 6px 16px; }
  .table-filters-bar { padding: 10px 16px; }
  .search-input-wrapper .search-input { min-width: 160px; }
  .reports-timeline-view,
  .reports-heatmap-view { padding: 16px; }
  .reports-export-view { padding: 20px 16px; }
  .table-summary-footer { padding: 10px 16px; }
  .summary-stats { gap: 16px; }
  .quick-export-btn span { display: none; }
  .timeline-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .export-format-grid { grid-template-columns: 1fr 1fr; }
  .filters-container { flex-direction: column; align-items: flex-start; }
  .reports-hero-kpiValue { font-size: 16px; }
}

/* ============================================================================
   REPORTS REDESIGN — visual hierarchy + pills + error + timeline
   ============================================================================ */

/* HERO — revenue dominant green, spend secondary */
.so-hero__stat[data-view="table"]:nth-child(1) .so-hero__statValue { color: #6b7280; font-size: 16px; }
.so-hero__stat[data-view="table"]:nth-child(2) .so-hero__statValue,
.reports-hero .so-hero__stat:nth-child(2) .so-hero__statValue { color: #22c55e; font-size: 26px; font-weight: 700; }

/* HERO STATUS PILLS */
.so-hero__pill { border-radius: 20px; padding: 3px 10px; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; display: inline-flex; align-items: center; gap: 5px; }
.so-hero__pill--live    { background: rgba(34,197,94,0.15);   color: #22c55e; border: 1px solid rgba(34,197,94,0.3);  }
.so-hero__pill--error   { background: rgba(239,68,68,0.15);   color: #ef4444; border: 1px solid rgba(239,68,68,0.3);  }
.so-hero__pill--pending { background: rgba(234,179,8,0.12);   color: #eab308; border: 1px solid rgba(234,179,8,0.25); }
.so-hero__pill--offline { background: rgba(107,114,128,0.10); color: #6b7280; border: 1px solid rgba(107,114,128,0.2); }

/* VIEW TABS — pill selector */
.view-tabs-bar, .reports-tabs-bar {
  display: inline-flex; gap: 3px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px; padding: 4px;
}
.view-tab {
  padding: 5px 14px; border-radius: 6px; font-size: 12px; font-weight: 600;
  color: #6b7280; cursor: pointer; border: none; background: transparent;
  transition: background 120ms, color 120ms; white-space: nowrap;
}
.view-tab:hover { background: rgba(255,255,255,0.06); color: #d1d5db; }
.view-tab.active, .view-tab.is-active { background: rgba(255,255,255,0.12); color: #f0f6fc; font-weight: 700; }

/* TABLE — profit colored, campaign name dominant */
.rpt-profitPos { color: #22c55e !important; font-weight: 700; }
.rpt-profitNeg { color: #ef4444 !important; font-weight: 700; }
.rpt-statusDot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.rpt-statusDot--green  { background: #22c55e; box-shadow: 0 0 5px rgba(34,197,94,0.5); }
.rpt-statusDot--yellow { background: #eab308; }
.rpt-statusDot--red    { background: #ef4444; }

/* ══════════════════════════════════════════════════════
   REPORTS STATE BLOCK — used for ERROR / NO_DATA / LOADING
   rendered inside doRender when data_status !== OK
   ══════════════════════════════════════════════════════ */
.reports-state-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 64px 32px;
  text-align: center;
}

.reports-state-block__icon {
  font-size: 36px;
  line-height: 1;
  margin-bottom: 4px;
}

.reports-state-block__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--rp-text, #f0f6fc);
  margin: 0;
  letter-spacing: -0.01em;
}

.reports-state-block--error .reports-state-block__title { color: #f87171; }

.reports-state-block__desc {
  font-size: 13px;
  color: var(--rp-text-3, #6b7280);
  line-height: 1.6;
  margin: 0;
  max-width: 380px;
}

.reports-state-block__btn {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 20px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  background: rgba(99,102,241,0.12);
  border: 1px solid rgba(99,102,241,0.28);
  color: #c7d2fe;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.reports-state-block__btn:hover {
  background: rgba(99,102,241,0.22);
  border-color: rgba(99,102,241,0.45);
}
.reports-state-block--error .reports-state-block__btn {
  background: rgba(239,68,68,0.10);
  border-color: rgba(239,68,68,0.28);
  color: #fca5a5;
}
.reports-state-block--error .reports-state-block__btn:hover {
  background: rgba(239,68,68,0.18);
  border-color: rgba(239,68,68,0.45);
}

/* ──────────────────────────────────────────────────────────
   MOBILE HOTFIX — Campaigns + Reports
   ────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .cmpx3-shell { gap: 12px; }
  .cmpx3-hero { grid-template-columns: 1fr; gap: 10px; padding: 12px; }
  .cmpx3-hero__mid,
  .cmpx3-hero__right { padding: 10px; }
  .cmpx3-toolbar {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px;
  }
  .cmpx3-search-wrap,
  .cmpx3-input,
  .cmpx3-select,
  .cmpx3-reset {
    width: 100%;
    min-width: 0;
  }
  .cmpx2-table-wrap,
  .cmpx2-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cmpx2-table-scroll { display: none; }
  .cmpx3-table { min-width: 880px; }
  .cmpx3-shell,
  .rptv6-shell-wrap,
  .rptv6-shell,
  .rptv6-main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .cmpx3-mobile-cards { display: grid; gap: 10px; margin-top: 10px; }
  .cmpx3-mobile-card {
    border: 1px solid #dbe8f7;
    border-radius: 12px;
    background: #fff;
    padding: 9px;
    display: grid;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .cmpx3-mobile-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .cmpx3-mobile-card header strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
  }
  .cmpx3-mobile-card p { margin: 0; font-size: 12px; color: #64748b; }
  .cmpx3-mobile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; min-width: 0; }
  .cmpx3-mobile-grid div {
    border: 1px solid #e5eef8;
    border-radius: 10px;
    padding: 7px;
    background: #f8fbff;
    display: grid;
    gap: 3px;
    min-width: 0;
  }
  .cmpx3-mobile-grid span { font-size: 10px; color: #64748b; text-transform: uppercase; letter-spacing: .04em; }
  .cmpx3-mobile-grid strong {
    font-size: 13px;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .rptv6-shell-wrap { gap: 10px; padding-bottom: 112px; }
  .rptv6-hero { grid-template-columns: 1fr; gap: 10px; padding: 12px; }
  .rptv6-shell { grid-template-columns: 1fr; gap: 10px; }
  .rptv6-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .rptv6-menu-btn { min-height: 64px; }

  .rptv6-main .so-rptx-filterbar {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .rptv6-main .so-rptx-filter-pills {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }
  .rptv6-main .so-rptx-search { width: 100%; min-width: 0; }
  .rptv6-export-scope { grid-template-columns: 1fr; }
  .rptv6-main .rpx2-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .rptv6-main .rpx2-table { min-width: 860px; }
  .rptv6-main .rpx2-table-scroll { display: none; }
  .rptv6-mobile-cards { display: grid; gap: 10px; margin-top: 10px; }
  .rptv6-mobile-card {
    border: 1px solid #dbe8f7;
    border-radius: 12px;
    background: #fff;
    padding: 9px;
    display: grid;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .rptv6-mobile-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .rptv6-mobile-card header strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
  }
  .rptv6-mobile-card p { margin: 0; font-size: 12px; color: #64748b; }
  .rptv6-mobile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; min-width: 0; }
  .rptv6-mobile-grid div {
    border: 1px solid #e5eef8;
    border-radius: 10px;
    padding: 7px;
    background: #f8fbff;
    display: grid;
    gap: 3px;
    min-width: 0;
  }
  .rptv6-mobile-grid span { font-size: 10px; color: #64748b; text-transform: uppercase; letter-spacing: .04em; }
  .rptv6-mobile-grid strong {
    font-size: 13px;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

@media (max-width: 560px) {
  .cmpx3-hero__kicker { font-size: 9px; }
  .cmpx3-term__line { font-size: 11px; }
  .rptv6-menu { grid-template-columns: 1fr; }
  .rptv6-menu-btn { min-height: 58px; }
  .rptv6-main .so-rptx-export-grid { grid-template-columns: 1fr; }
  .cmpx3-mobile-grid,
  .rptv6-mobile-grid { grid-template-columns: 1fr; }
}

@media (min-width: 1101px) {
  .cmpx3-mobile-cards,
  .rptv6-mobile-cards { display: none; }
}

/* ERROR BANNER */
.rpt-errorBanner {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 14px 20px; margin-bottom: 14px;
  background: rgba(239,68,68,0.07); border: 1px solid rgba(239,68,68,0.2);
  border-left: 3px solid #ef4444; border-radius: 0 6px 6px 0;
}
.rpt-errorBanner__title { font-size: 13px; font-weight: 700; color: #ef4444; margin-bottom: 3px; }
.rpt-errorBanner__text  { font-size: 12px; color: #9ca3af; }

/* TIMELINE — taller */
.so-rptx-chart-canvas { min-height: 260px !important; }
.soModule--reports .reports-view.reports-timeline-view.so-rptx-timeline .so-rptx-chart-canvas.so-rptx-chart-canvas-bars { height: 280px !important; min-height: 280px !important; }
.soModule--reports .reports-view.reports-timeline-view.so-rptx-timeline .so-rptx-chart-bars-row { height: 240px !important; min-height: 240px !important; }
.soModule--reports .reports-view.reports-timeline-view.so-rptx-timeline .so-rptx-chart-bar-wrap { height: 100% !important; }

/* ── DAY DETAIL MODAL ──────────────────────────────────────────────────────── */
.day-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  padding: 24px;
}
.day-detail-modal.is-hidden {
  display: none !important;
}
.day-detail-card {
  background: #131929;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 16px;
  padding: 28px 32px;
  width: 100%;
  max-width: 520px;
  box-shadow: 0 24px 64px rgba(0,0,0,0.55);
  outline: none;
}
.detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.detail-date {
  font-size: 15px;
  font-weight: 700;
  color: #f1f5f9;
  margin: 0;
}
.detail-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: #94a3b8;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease;
  padding: 0;
  flex-shrink: 0;
}
.detail-close:hover {
  background: rgba(239,68,68,0.15);
  border-color: rgba(239,68,68,0.35);
  color: #ef4444;
}
.detail-metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
.detail-metrics-grid .kpi-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 12px 14px;
}
.detail-metrics-grid .kpi-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  margin-bottom: 4px;
}
.detail-metrics-grid .kpi-value {
  font-size: 18px;
  font-weight: 800;
  color: #f1f5f9;
}
.detail-insight-card {
  background: rgba(91,138,245,0.07);
  border: 1px solid rgba(91,138,245,0.18);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 16px;
}
.detail-insight-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #5b8af5;
  margin-bottom: 6px;
}
.detail-insight-text {
  font-size: 13px;
  color: #94a3b8;
  line-height: 1.5;
}
.detail-quality { font-weight: 700; }
.detail-quality.is-excellent { color: #22c55e; }
.detail-quality.is-good { color: #86efac; }
.detail-quality.is-warn { color: #fbbf24; }
.detail-quality.is-poor { color: #ef4444; }
.detail-quality.is-muted { color: #64748b; }
.detail-recommendation { font-size: 12px; color: #64748b; }
.detail-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.detail-action-btn {
  padding: 8px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: #f1f5f9;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 150ms ease;
}
.detail-action-btn:hover { background: rgba(255,255,255,0.1); }
.detail-action-btn--primary {
  background: rgba(91,138,245,0.15);
  border-color: rgba(91,138,245,0.35);
  color: #5b8af5;
}
.detail-action-btn--primary:hover { background: rgba(91,138,245,0.25); }
.detail-empty-note { color: #64748b; font-size: 13px; }

/* Sensei v9 USP Final */
.ssx3-wrap{display:grid;gap:14px;padding-bottom:96px}
.ssx3-hero{display:grid;grid-template-columns:1.15fr 1fr .95fr;gap:14px;padding:18px;border-radius:16px;background:linear-gradient(145deg,#2a0709 0%,#3d0b10 60%,#5d1218 100%);border:1px solid rgba(245,214,133,.35);box-shadow:0 16px 38px rgba(56,8,10,.25);position:relative;overflow:hidden}
.ssx3-hero::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#f4d38c,#ffefc4,#f4d38c)}
.ssx3-eyebrow{margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f8dfae}
.ssx3-hero h1{margin:6px 0 0;font-size:clamp(29px,2.25vw,40px);line-height:1.08;color:#fff6e7}
.ssx3-subline{margin:10px 0 0;font-size:14px;color:#f5dcb3;line-height:1.55;max-width:56ch}
.ssx3-hero-mid,.ssx3-status-rail{background:rgba(18,4,5,.42);border:1px solid rgba(246,220,160,.22);border-radius:12px;padding:12px}
.ssx3-term-title{margin:0 0 8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#f8dfae}
.ssx3-hero-mid pre{margin:0;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#ffe7c2;white-space:pre-wrap}
.ssx3-status-title{margin:0 0 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#f8dfae;font-weight:700}
.ssx3-status-rail div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(245,214,133,.16)}
.ssx3-status-rail div:last-child{border-bottom:0}
.ssx3-status-rail span{font-size:12px;color:#f3d9ac}
.ssx3-status-rail strong{font-size:12px;color:#fff7e9;text-align:right}

.ssx3-grid,.ssx3-query,.ssx3-recs,.ssx3-history{padding:14px;border-radius:12px;background:#f8fbff;border:1px solid #d8e2ef;box-shadow:0 10px 24px rgba(8,18,34,.05)}
.ssx3-grid h2,.ssx3-query h2,.ssx3-recs h2,.ssx3-history h2{margin:0 0 10px;font-size:18px;color:#2d2020}
.ssx3-grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ssx3-grid-card{padding:11px;border-radius:10px;border:1px solid #d5e1ef;background:#fff}
.ssx3-grid-card h3{margin:0 0 4px;font-size:13px;color:#1e2d3d}
.ssx3-grid-card p{margin:0;font-size:13px;color:#445873;line-height:1.45}
.ssx3-grid-card.is-danger{border-color:#f1b7b7;background:#fff6f6}
.ssx3-grid-card.is-warn{border-color:#f1dfb2;background:#fffaf1}
.ssx3-grid-card.is-ok{border-color:#cae7cf;background:#f7fff8}
.ssx3-grid-card.is-muted{border-color:#dfe3ea;background:#fafbfd}

.ssx3-query-row{display:grid;grid-template-columns:auto minmax(280px,1fr) auto;gap:10px;align-items:end}
.ssx3-mode{display:flex;gap:6px}
.ssx3-mode button{height:36px;padding:0 14px;border:1px solid #d4def0;border-radius:9px;background:#fff;color:#344054;cursor:pointer}
.ssx3-mode button.is-active{background:#4f0f15;border-color:#4f0f15;color:#ffefcf}
.ssx3-field{display:grid;gap:6px}
.ssx3-field span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#7a5f4c}
.ssx3-field select{height:38px;border:1px solid #dfcfae;border-radius:9px;background:#fff;color:#372b25;padding:0 10px}
.ssx3-run{height:38px;padding:0 14px;border:0;border-radius:9px;background:#b98a31;color:#fff9ec;font-weight:700;cursor:pointer}
.ssx3-run:hover{filter:brightness(1.03)}
.ssx3-query-hint{margin:10px 0 0;font-size:13px;color:#7c6759}

.ssx3-panel{margin-top:11px;padding:10px;border:1px solid #ecdcbc;border-radius:10px;background:#fff}
.ssx3-panel article{padding:9px 0;border-top:1px solid #f2e7d2}
.ssx3-panel article:first-child{border-top:0;padding-top:0}
.ssx3-panel h3{margin:0 0 4px;font-size:13px;color:#3d2e28}
.ssx3-panel p,.ssx3-panel li{margin:0;font-size:13px;color:#5a483d;line-height:1.44}
.ssx3-panel ul{margin:0;padding-left:18px;display:grid;gap:4px}

.ssx3-rec-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ssx3-rec{padding:10px;border-radius:10px;border:1px solid #e5d7bf;background:#fff}
.ssx3-rec h3{margin:0 0 4px;font-size:13px;color:#392823}
.ssx3-rec p{margin:0;font-size:13px;color:#5e4c41;line-height:1.45}
.ssx3-rec.is-danger{background:#fff5f5;border-color:#f0b7b7}
.ssx3-rec.is-warn{background:#fffaf1;border-color:#f2dfb5}
.ssx3-rec.is-ok{background:#f4fff6;border-color:#c9e6ce}

.ssx3-archive-note{margin:0 0 10px;font-size:13px;color:#6e5a4b}
.ssx3-history-list{display:grid;gap:9px}
.ssx3-history article{padding:10px;border:1px solid #eadac2;border-radius:10px;background:#fff}
.ssx3-history header{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ssx3-history strong{font-size:13px;color:#2b1f1d}
.ssx3-history span{font-size:11px;color:#8b7462}
.ssx3-history p{margin:6px 0 8px;font-size:13px;color:#5a483d}
.ssx3-history label{font-size:12px;color:#6d5a4d;display:flex;gap:8px;align-items:center}

@media (max-width:1100px){.ssx3-hero{grid-template-columns:1fr}.ssx3-grid-cards,.ssx3-rec-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.ssx3-grid-cards,.ssx3-rec-list,.ssx3-query-row{grid-template-columns:1fr}.ssx3-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Testing Log — Elite Signature Pass V3 */
.ttx3-wrap{display:grid;gap:24px;padding:2px 0 110px}

/* ══ HERO — Signature Command Surface ══ */
.ttx3-hero{
  display:grid;
  grid-template-columns:1.52fr 0.82fr 0.66fr;
  gap:20px;
  padding:40px 36px 36px;
  border-radius:22px;
  background:
    radial-gradient(ellipse 72% 58% at 0% 100%, rgba(13,86,64,.22) 0%, transparent 52%),
    radial-gradient(ellipse 48% 65% at 100% 0%, rgba(8,20,48,.32) 0%, transparent 46%),
    radial-gradient(ellipse 36% 28% at 22% 28%, rgba(12,72,54,.1) 0%, transparent 58%),
    linear-gradient(152deg, #0b1610 0%, #081220 38%, #0d1b14 72%, #07100c 100%);
  border:1px solid rgba(58,118,88,.2);
  box-shadow:0 44px 96px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.045) inset, 0 -1px 0 rgba(0,0,0,.3) inset;
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.ttx3-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 52% 42% at 14% 24%, rgba(14,108,82,.09) 0%, transparent 52%),
    radial-gradient(ellipse 30% 22% at 88% 78%, rgba(10,50,80,.06) 0%, transparent 50%);
  pointer-events:none;
}
.ttx3-hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:44%;
  background:linear-gradient(to top, rgba(0,0,0,.22) 0%, transparent 100%);
  pointer-events:none;
}
.ttx3-hero-left{position:relative;z-index:1;display:flex;flex-direction:column;gap:0;justify-content:flex-start;min-width:0}
.ttx3-eyebrow{
  margin:0 0 18px;
  font-size:10px;font-weight:700;letter-spacing:.18em;
  color:rgba(130,188,158,.62);text-transform:uppercase;
}
.ttx3-hero h1{
  margin:0;
  font-size:clamp(28px,2.8vw,42px);
  line-height:1.03;
  color:#e6f2ea;
  letter-spacing:-.028em;
  font-weight:800;
}
.ttx3-subline{
  margin:18px 0 0;
  font-size:14px;color:rgba(178,210,194,.66);
  line-height:1.65;max-width:50ch;
}
.ttx3-hero-trust-row{
  display:flex;gap:7px;flex-wrap:wrap;
  margin-top:20px;
}
.ttx3-trust-pill{
  display:inline-flex;align-items:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(80,140,108,.22);
  background:rgba(255,255,255,.04);
  font-size:10.5px;font-weight:500;letter-spacing:.04em;
  color:rgba(146,196,168,.58);
}

/* Hero panels — ambient glass surfaces */
.ttx3-hero-mid,.ttx3-status-rail{
  position:relative;z-index:1;
  padding:18px;
  border:1px solid rgba(72,128,98,.18);
  border-radius:15px;
  background:linear-gradient(158deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  backdrop-filter:blur(3px);
  display:flex;flex-direction:column;gap:0;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.ttx3-intel-title{
  margin:0 0 13px;
  font-size:9.5px;letter-spacing:.15em;font-weight:700;
  color:rgba(130,188,158,.52);text-transform:uppercase;
}
.ttx3-hero-mid ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}
.ttx3-hero-mid li,.ttx3-status-rail div{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.045);
}
.ttx3-hero-mid li:last-child,.ttx3-status-rail div:last-child{border-bottom:0;padding-bottom:0}
.ttx3-hero-mid span,.ttx3-status-rail span{font-size:11.5px;color:rgba(154,190,170,.54)}
.ttx3-hero-mid strong,.ttx3-status-rail strong{font-size:12px;color:rgba(224,242,232,.84);text-align:right;max-width:55%;font-weight:500;min-width:0;overflow-wrap:anywhere}

/* ══ BLOCK — Tonal surface system ══ */
.ttx3-block{
  padding:24px;
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff 0%,#eef3f8 100%);
  border:1px solid #d4def0;
  box-shadow:0 14px 34px rgba(8,18,34,.08), 0 1px 0 rgba(255,255,255,.95) inset;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  min-width:0;
}
.ttx3-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;min-width:0}
.ttx3-head h2{margin:0;font-size:17px;color:#18221e;font-weight:800;letter-spacing:-.015em}
.ttx3-head-meta{font-size:10.5px;color:#5e7b73;letter-spacing:.07em;text-transform:uppercase;font-weight:700}
.ttx3-empty{margin:0;color:#6b8078;font-size:13px}

/* ══ SIGNAL GRID ══ */
.ttx3-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ttx3-signal{
  padding:16px;
  border:1px solid #d8e0d8;
  background:linear-gradient(175deg,#fffefb,#f4f8f5);
  border-radius:13px;
  text-align:left;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
  position:relative;overflow:hidden;
}
.ttx3-signal::after{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  border-radius:13px 13px 0 0;
  background:linear-gradient(90deg,rgba(15,90,75,.5),rgba(15,90,75,.1));
  opacity:0;transition:opacity .18s;
}
.ttx3-signal:hover{transform:translateY(-1px);border-color:#abcbbd;box-shadow:0 10px 26px rgba(18,50,40,.1)}
.ttx3-signal:hover::after{opacity:1}
.ttx3-signal.is-active{
  border-color:#86b8a5;
  background:linear-gradient(175deg,#eef9f4,#e3f1ea);
  box-shadow:0 10px 28px rgba(15,90,75,.14), inset 0 1px 0 rgba(15,90,75,.08);
}
.ttx3-signal.is-active::after{opacity:1}
.ttx3-signal-label{display:block;margin-bottom:6px;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#557a70;font-weight:800}
.ttx3-signal h3{margin:0 0 6px;font-size:14px;color:#18221e;font-weight:800}
.ttx3-signal p{margin:0 0 4px;font-size:12.5px;color:#405a55;line-height:1.52}
.tst-signal-card--interactive:focus-visible{
  outline:2px solid #0f5a4b;
  outline-offset:2px;
}

/* Signal preview — asymmetric intelligence grid */
.ttx3-preview-grid{display:grid;grid-template-columns:1.12fr 0.88fr;gap:13px;align-items:start}
.ttx3-preview-col{display:flex;flex-direction:column;gap:13px}
.ttx3-signal-preview{
  padding:19px 17px;
  border-radius:14px;
  border:1px solid #d9e2d9;
  background:linear-gradient(168deg,#fffefb 0%,#f3f8f5 100%);
  position:relative;overflow:hidden;
  box-shadow:0 8px 22px rgba(24,50,40,.055), 0 1px 0 rgba(255,255,255,.92) inset;
}
.ttx3-signal-preview::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:3.5px;
  border-radius:14px 0 0 14px;
}
.ttx3-signal-preview--winner::before{background:linear-gradient(180deg,#0f5a4b,#1a7a66)}
.ttx3-signal-preview--divergence::before{background:linear-gradient(180deg,#2a4a7a,#3d66a8)}
.ttx3-signal-preview--stability::before{background:linear-gradient(180deg,#5a4a20,#8a7030)}
.ttx3-signal-preview--followup::before{background:linear-gradient(180deg,#3a2a62,#5a4090)}
.ttx3-preview-header{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.ttx3-preview-icon{
  flex-shrink:0;width:28px;height:28px;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
}
.ttx3-preview-icon--winner{background:rgba(15,90,75,.1);color:rgba(15,90,75,.7)}
.ttx3-preview-icon--divergence{background:rgba(42,74,122,.1);color:rgba(42,74,122,.7)}
.ttx3-preview-icon--stability{background:rgba(90,74,32,.1);color:rgba(90,74,32,.7)}
.ttx3-preview-icon--followup{background:rgba(58,42,98,.1);color:rgba(58,42,98,.7)}
.ttx3-preview-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#607d75;font-weight:800}
.ttx3-signal-preview h3{margin:0 0 7px;font-size:14px;color:#18221e;font-weight:800;line-height:1.22}
.ttx3-signal-preview p{margin:0 0 5px;font-size:12.5px;color:#415f58;line-height:1.54}
.ttx3-preview-note{color:#5f7e76;font-size:11.5px;margin-top:2px}
.ttx3-preview-meta{
  display:block;margin-top:12px;
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:#6c8e84;font-weight:800;
}

.tst-detail-panel{
  position:fixed;right:0;top:74px;bottom:0;z-index:420;
  width:min(420px,92vw);overflow:auto;
  background:linear-gradient(180deg,#ffffff,#f7fbf9);
  border-left:1px solid #dbe7e2;
  box-shadow:-14px 0 30px rgba(8,18,34,.12);
}
.tst-detail-header{position:sticky;top:0;background:inherit;padding:18px 18px 12px;border-bottom:1px solid #e1ece7}
.tst-detail-eyebrow{margin:0 0 6px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#6f8f85;font-weight:700}
.tst-detail-header h3{margin:0;font-size:17px;color:#173029;font-weight:800;line-height:1.26;padding-right:36px}
.tst-detail-close{
  position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:8px;border:1px solid #d4e2dc;
  background:#fff;color:#557a70;cursor:pointer;font-size:18px;line-height:1;
}
.tst-detail-body{padding:14px 18px 24px;display:grid;gap:12px}
.tst-detail-section{padding:12px;border:1px solid #dbe8e2;border-radius:11px;background:linear-gradient(175deg,#fffefb,#f5faf7)}
.tst-detail-section h4{margin:0 0 6px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6a8880;font-weight:700}
.tst-detail-section p{margin:0;font-size:13px;color:#405a55;line-height:1.55}

/* ══ COMPARISON WORKSPACE ══ */
.ttx3-workspace-header{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  margin-bottom:18px;
}
.ttx3-workspace-title{margin:0 0 5px;font-size:17px;color:#18221e;font-weight:800;letter-spacing:-.015em}
.ttx3-workspace-sub{margin:0;font-size:13px;color:#4f6f66;line-height:1.45}
.ttx3-command-cluster{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ttx3-mode-bar{margin-bottom:14px}
.ttx3-segments{display:flex;gap:7px}
.ttx3-segments button{
  height:34px;padding:0 14px;
  border:1px solid #cfdaea;border-radius:9px;
  background:linear-gradient(180deg,#f9fbff,#f1f6fd);color:#2a3f56;font-size:13px;font-weight:700;
  cursor:pointer;transition:background .13s,border-color .13s,color .13s,box-shadow .13s;
}
.ttx3-segments button:hover{background:#edf4ff;border-color:#a9bfdf}
.ttx3-segments button.is-active{
  background:linear-gradient(180deg,#1f6f63,#135347);
  border-color:#135347;color:#fff;
  box-shadow:0 4px 12px rgba(19,83,71,.28);
}
.ttx3-counter{
  display:grid;gap:2px;min-width:68px;
  padding:7px 12px;
  border:1px solid #d5decf;border-radius:10px;
  background:linear-gradient(180deg,#f8fbff,#eef6f2);
}
.ttx3-counter span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#5f7e76;font-weight:800}
.ttx3-counter strong{font-size:18px;color:#18221e;font-weight:800;line-height:1.08}
.ttx3-counter-sep{font-size:13px;color:#aec4bc;font-weight:400}
.ttx3-run{
  height:38px;padding:0 18px;
  border:0;border-radius:10px;
  background:linear-gradient(180deg,#1e7668,#125446);
  color:#fff;font-size:13px;font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,60,90,.22);
  display:flex;align-items:center;gap:7px;
  transition:transform .15s ease,box-shadow .15s ease;
  white-space:nowrap;letter-spacing:.01em;
}
.ttx3-run:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 26px rgba(15,60,90,.3)}
.ttx3-run:disabled{
  background:linear-gradient(180deg,#e9eff7,#dde6f2);
  color:#6f7e93;cursor:not-allowed;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);transform:none;
}
.ttx3-run--ghost{
  background:linear-gradient(180deg,#f8fbff,#eef4fb);
  color:#2a4058;border:1px solid #cfdaea;box-shadow:none;
}
.ttx3-run--ghost:hover:not(:disabled){background:#eaf2ff;box-shadow:0 3px 10px rgba(13,31,53,.08);transform:none}
.ttx3-run--loading{background:linear-gradient(180deg,#174e3e,#0c3e30)}
.ttx3-run-arrow{font-size:9px;color:currentColor}
.ttx3-run-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.65);animation:ttx3pulse 1.2s ease-in-out infinite}
@keyframes ttx3pulse{0%,100%{opacity:.35}50%{opacity:1}}

/* Selection rows */
.ttx3-row-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:10px;min-width:0}
.ttx3-row{
  display:flex;align-items:center;gap:11px;
  min-height:52px;padding:13px 14px;
  border:1px solid #d6e0ef;
  border-radius:12px;
  color:#2a4058;
  background:linear-gradient(175deg,#fbfdff,#f1f6fd);
  cursor:pointer;
  transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;
  position:relative;overflow:hidden;
  min-width:0;
  max-width:100%;
}
.ttx3-row::after{
  content:'';position:absolute;
  inset:0;border-radius:inherit;
  background:radial-gradient(ellipse 70% 55% at 50% 0%, rgba(43,92,160,.08), transparent 62%);
  opacity:0;transition:opacity .15s;pointer-events:none;
}
.ttx3-row:hover{border-color:#b8cae4;box-shadow:0 10px 22px rgba(18,40,68,.11);transform:translateY(-1px)}
.ttx3-row:hover::after{opacity:1}
.ttx3-row.is-selected{
  border-color:#8fb0d9;
  background:linear-gradient(175deg,#eff5ff,#e7f0fb);
  box-shadow:0 8px 20px rgba(39,76,130,.14), inset 0 1px 0 rgba(255,255,255,.82);
  color:#1d324c;
  transform:none;
}
.ttx3-row input{position:absolute;opacity:0;width:0;height:0}
.ttx3-row-check{
  flex-shrink:0;width:19px;height:19px;
  border-radius:6px;
  border:1.5px solid rgba(50,72,98,.25);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  color:transparent;
  transition:border-color .15s,background .15s,color .15s,box-shadow .15s;
}
.ttx3-row.is-selected .ttx3-row-check{
  background:#255eac;border-color:#255eac;color:#fff;
  box-shadow:0 3px 8px rgba(32,78,140,.28);
}
.ttx3-row-name{font-size:13px;font-weight:700;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#14263d}
.ttx3-empty-rows{
  grid-column:1/-1;padding:28px 20px;text-align:center;
  border:1px dashed #c9d8cf;border-radius:12px;
  background:linear-gradient(175deg,#f8fbff,#f1f7f4);
}
.ttx3-empty-rows p{margin:0;font-size:13px;color:#55766d}

/* ══ RESULT SURFACE ══ */
.ttx3-result-surface{
  background:
    radial-gradient(ellipse 64% 50% at 50% 0%, rgba(40,86,146,.09), transparent 64%),
    linear-gradient(175deg,#f8fbff,#edf3fb);
  border-color:#d2ddec;
}
.ttx3-result-empty{
  display:grid;justify-items:center;text-align:center;
  padding:52px 34px;gap:17px;
}
.ttx3-result-emblem{
  width:66px;height:66px;
  border-radius:50%;
  border:1px solid #cfdbeb;
  background:linear-gradient(175deg,#f8fbff,#ecf3fc);
  display:flex;align-items:center;justify-content:center;
  color:#4f6e97;
  box-shadow:0 10px 26px rgba(24,52,88,.11), 0 1px 0 rgba(255,255,255,.95) inset;
  margin-bottom:4px;
}
.ttx3-result-headline{display:grid;gap:8px;max-width:56ch}
.ttx3-result-headline h3{margin:0;font-size:21px;color:#182742;font-weight:800;line-height:1.2;letter-spacing:-.01em}
.ttx3-result-headline p{margin:0;font-size:13.5px;color:#4b607d;line-height:1.58}
.ttx3-result-manifest{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  margin-top:4px;
}
.ttx3-manifest-item{
  display:flex;align-items:center;gap:7px;
  padding:8px 13px;
  border:1px solid #d5dfec;border-radius:999px;
  background:linear-gradient(180deg,#fff,#f3f7fd);
}
.ttx3-manifest-num{font-size:9.5px;font-weight:800;color:#4f6e97;letter-spacing:.04em}
.ttx3-manifest-label{font-size:12.5px;color:#2e4261;font-weight:700}

.ttx3-exec-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.ttx3-exec-grid article{
  padding:12px;border:1px solid rgba(0,0,0,.07);border-radius:11px;
  background:linear-gradient(175deg,#fff,#f4f8fe);
}
.ttx3-exec-grid h3{margin:0 0 5px;font-size:10.5px;color:#6a7f9d;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.ttx3-exec-grid p{margin:0;font-size:13px;color:#1b2f4a;font-weight:600}
.ttx3-matrix-wrap{margin-top:14px;overflow:auto;border:1px solid rgba(0,0,0,.07);border-radius:11px;background:#fdfefe}
.ttx3-matrix{width:100%;border-collapse:collapse;font-size:13px}
.ttx3-matrix th,.ttx3-matrix td{padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.05);text-align:left;white-space:nowrap}
.ttx3-matrix th{color:#6a8880;background:linear-gradient(175deg,#f5faf8,#eff6f3);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.ttx3-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.ttx3-cols article{padding:14px;border:1px solid rgba(0,0,0,.07);border-radius:11px;background:linear-gradient(175deg,#fbfdff,#f3f7fc)}
.ttx3-cols h3{margin:0 0 8px;font-size:14px;color:#1a2f4a;font-weight:700}
.ttx3-cols p,.ttx3-cols li{margin:0 0 5px;font-size:13px;color:#4f6077;line-height:1.5}
.ttx3-cols ul{margin:8px 0 0;padding-left:18px}

/* ══ ACTION QUEUE — Operational priority system ══ */
.ttx3-action-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ttx3-action-list article{
  padding:16px;
  border:1px solid rgba(0,0,0,.07);border-radius:13px;
  background:linear-gradient(175deg,#fffefb,#f6faf7);
  display:grid;gap:6px;align-content:start;
}
.ttx3-action-priority{margin:0;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#8aa09a;font-weight:700}
.ttx3-action-list h3{margin:0;font-size:14px;color:#18221e;font-weight:700;line-height:1.26}
.ttx3-action-list p{margin:0;font-size:12.5px;color:#506862;line-height:1.5}
.ttx3-action-meta{color:#5f7e76;font-size:12px}
.tst-action-row--interactive{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.tst-action-row--interactive:hover{transform:translateY(-1px);border-color:#abcbbd;box-shadow:0 8px 20px rgba(18,50,40,.09)}
.tst-action-row--interactive:focus-visible{outline:2px solid #0f5a4b;outline-offset:2px}

/* Queue preview — numbered sequential slots */
.ttx3-queue-preview{display:flex;flex-direction:column;gap:0}
.ttx3-queue-slot{
  display:flex;align-items:stretch;gap:0;
  border-bottom:1px solid rgba(0,0,0,.055);
  padding:14px 0;
}
.ttx3-queue-slot:last-of-type{border-bottom:0}
.ttx3-queue-seq{
  display:flex;flex-direction:column;align-items:center;
  gap:4px;padding-right:16px;flex-shrink:0;
}
.ttx3-queue-num{
  width:30px;height:30px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.09);
  background:linear-gradient(175deg,#f8faf9,#f0f6f3);
  display:flex;align-items:center;justify-content:center;
  font-size:10.5px;font-weight:800;color:#8aa09a;
  font-variant-numeric:tabular-nums;flex-shrink:0;
}
.ttx3-queue-line{
  flex:1;width:1px;
  background:linear-gradient(180deg,rgba(0,0,0,.08),transparent);
  border-radius:1px;margin-top:4px;
}
.ttx3-queue-body{flex:1;min-width:0;padding-top:4px}
.ttx3-queue-tag{display:block;margin-bottom:3px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8aa09a;font-weight:700}
.ttx3-queue-body p{margin:0;font-size:13px;color:#55766d;line-height:1.5}
.ttx3-queue-status{
  flex-shrink:0;padding-top:6px;padding-left:12px;
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:#7b9088;font-weight:700;
}
.ttx3-queue-note{margin:14px 0 0;padding-top:14px;border-top:1px solid #d8e0d8;font-size:12px;color:#5f7e76;font-style:italic;line-height:1.5}

/* ══ TESTING MEMORY — Intelligence archive ══ */
.ttx3-memory-guide{margin:0 0 16px;font-size:13px;color:#6a8880;line-height:1.54}
.ttx3-memory-list{display:flex;flex-direction:column;gap:0;position:relative;padding-left:34px}
.ttx3-memory-list::before{
  content:'';position:absolute;left:12px;top:18px;bottom:18px;width:1.5px;
  background:linear-gradient(180deg,rgba(15,90,75,.28),rgba(15,90,75,.1) 72%,transparent);
  border-radius:2px;
}
.ttx3-memory-card{
  display:flex;gap:16px;align-items:flex-start;
  padding:16px 0;
  border-bottom:1px solid rgba(0,0,0,.05);
  position:relative;
}
.ttx3-memory-card:last-child{border-bottom:0;padding-bottom:4px}
.ttx3-memory-node{
  flex-shrink:0;
  position:absolute;left:-28px;top:22px;
  width:16px;height:16px;
  border-radius:50%;
  background:linear-gradient(180deg,#1a7060,#0f5a4b);
  border:3px solid #fff;
  box-shadow:0 0 0 1.5px rgba(15,90,75,.28), 0 3px 8px rgba(15,90,75,.22);
}
.ttx3-memory-body{
  flex:1;min-width:0;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.07);border-radius:13px;
  background:linear-gradient(175deg,#fff,#fafcfb);
  box-shadow:0 4px 16px rgba(16,32,40,.045);
}
.ttx3-memory-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.ttx3-memory-type{display:block;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#8aa09a;font-weight:700;margin-bottom:4px}
.ttx3-memory-title{margin:0;font-size:14px;color:#18221e;font-weight:700;line-height:1.24}
.ttx3-memory-compact{margin:5px 0 0;font-size:12px;color:#58746d;line-height:1.4}
.tst-memory-group{display:grid;gap:8px}
.tst-memory-group-title{margin:6px 0 2px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6c8e84}
.ttx3-memory-time{flex-shrink:0;font-size:11.5px;color:#9ab8b0;white-space:nowrap;padding-top:2px}
.ttx3-memory-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.ttx3-memory-meta span{font-size:12px;color:#5a7870;line-height:1.4}
.ttx3-memory-meta strong{color:#38524c;font-weight:600}
.ttx3-memory-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.tst-memory-more-wrap{margin-top:10px;display:flex;justify-content:flex-start}

/* Context toggle pill */
.ttx3-context-toggle{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:500;color:#3e6058;
  background:linear-gradient(175deg,#f2faf6,#eaf4f0);
  border:1px solid rgba(15,90,75,.2);border-radius:999px;
  padding:6px 12px;cursor:pointer;
  transition:border-color .13s,background .13s,box-shadow .13s;
}
.ttx3-context-toggle:hover{background:#e4f0eb;border-color:rgba(15,90,75,.3);box-shadow:0 2px 8px rgba(15,90,75,.1)}
.ttx3-context-toggle input{position:absolute;opacity:0;width:0;height:0}
.ttx3-context-check{
  width:16px;height:16px;border-radius:5px;
  border:1.5px solid rgba(15,90,75,.28);background:#fff;
  flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;
  transition:background .13s,border-color .13s;
}
.ttx3-context-toggle input:checked ~ .ttx3-context-check{
  background:#0f5a4b;border-color:#0f5a4b;
}
.ttx3-context-toggle input:checked ~ .ttx3-context-check::after{
  content:'';display:block;width:7px;height:5px;
  border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
}

.ttx3-memory-empty{
  padding:40px 24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:11px;
}
.ttx3-memory-empty-kicker{margin:0;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#8aa09a;font-weight:700}
.ttx3-memory-empty h3{margin:0;font-size:18px;color:#1e2e28;line-height:1.24;font-weight:700}
.ttx3-memory-empty p{margin:0;font-size:13px;color:#5a7870;max-width:50ch;line-height:1.54}

/* ══ WORKSPACE HEAD ══ */
.ttx3-ws-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  margin-bottom:18px;
}

/* ══ VS STAGING — A vs B selection bar ══ */
.ttx3-vs-staging{
  display:grid;
  grid-template-columns:1fr auto 1fr auto;
  gap:14px;align-items:center;
  padding:18px;
  border:1px solid #cdd9ea;
  border-radius:14px;
  background:
    radial-gradient(130% 100% at 0% 0%, rgba(200,220,247,.32), transparent 52%),
    linear-gradient(175deg,#f6f9ff,#eef4fc);
  margin-bottom:16px;
  box-shadow:0 14px 34px rgba(12,30,54,.08), inset 0 1px 0 rgba(255,255,255,.8);
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.ttx3-vs-slot{
  padding:12px 14px;
  border-radius:11px;
  border:1px solid #d2deef;
  background:linear-gradient(175deg,#fcfdff,#f2f7fe);
  transition:border-color .15s,background .15s;
  min-width:0;
}
.ttx3-vs-slot.is-set{
  border-color:#9ab9de;
  background:linear-gradient(175deg,#eff5ff,#e7f1fb);
}
.ttx3-vs-label{
  display:block;
  font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:#617791;font-weight:800;margin-bottom:5px;
}
.ttx3-vs-name{
  margin:0;font-size:14px;color:#172a44;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-style:normal;
}
.ttx3-vs-name em{color:#7c91aa;font-style:normal;font-weight:500;font-size:13px}
.ttx3-vs-divider{
  display:flex;align-items:center;justify-content:center;
  width:40px;flex-shrink:0;
}
.ttx3-vs-divider span{
  width:36px;height:36px;
  border-radius:50%;border:1.5px solid #c9d6e8;
  background:linear-gradient(175deg,#f8fbff,#edf4fc);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#5d7694;letter-spacing:.03em;
}
.ttx3-vs-action{
  display:flex;flex-direction:column;gap:10px;align-items:flex-start;
  padding-left:6px;
}
.ttx3-vs-status{
  display:flex;flex-direction:column;gap:3px;
}
.ttx3-vs-status span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7a9a92;font-weight:700}
.ttx3-vs-status strong{font-size:12px;color:#1e3550;font-weight:600}

/* A/B selection buttons */
.ttx3-ab-btn{
  width:28px;height:28px;
  border-radius:8px;border:1.5px solid #c3d2e6;
  background:linear-gradient(175deg,#f8fbff,#edf4fc);
  color:#3a5575;font-size:11px;font-weight:800;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .13s,border-color .13s,color .13s,box-shadow .13s;
  flex-shrink:0;
}
.ttx3-ab-btn:hover{background:#e7f0ff;border-color:#92add0}
.ttx3-ab-btn.is-a{background:linear-gradient(175deg,#1f6d62,#125247);border-color:#125247;color:#fff;box-shadow:0 3px 8px rgba(19,79,70,.28)}
.ttx3-ab-btn.is-b{background:linear-gradient(175deg,#2a5e9c,#1c4477);border-color:#1c4477;color:#fff;box-shadow:0 3px 8px rgba(28,68,119,.3)}
.ttx3-ab-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:6px;
  font-size:10px;font-weight:800;letter-spacing:.02em;flex-shrink:0;
}
.ttx3-ab-badge--a{background:rgba(19,79,70,.1);color:#125247;border:1px solid rgba(19,79,70,.2)}
.ttx3-ab-badge--b{background:rgba(28,68,119,.1);color:#1c4477;border:1px solid rgba(28,68,119,.2)}
.ttx3-row--slot-a{border-left:3px solid #1a6e5a}
.ttx3-row--slot-b{border-left:3px solid #2a5e9c}
.ttx3-cockpit{padding-bottom:20px}

/* ══ SIGNAL NOTICE — Decision state banner ══ */
.ttx3-signal-notice{
  padding:14px 16px;
  border-radius:12px;
  margin-bottom:14px;
}
.ttx3-signal-notice--ok{
  background:linear-gradient(175deg,#f3f8ff,#eaf2fd);
  border:1px solid rgba(38,86,152,.2);
}
.ttx3-signal-notice--warn{
  background:linear-gradient(175deg,#fdf8ec,#f9f1de);
  border:1px solid rgba(172,121,33,.2);
}
.ttx3-sn-header{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:8px;
}
.ttx3-sn-header strong{font-size:14px;color:#18345c;font-weight:800}
.ttx3-sn-reliability{font-size:11.5px;color:#60779b;font-weight:600}
.ttx3-signal-notice p{margin:0 0 6px;font-size:13px;color:#4a5f7a;line-height:1.5}
.ttx3-signal-notice p:last-child{margin-bottom:0}
.ttx3-sn-mandatory{
  font-size:12.5px;color:#7a6014;font-style:italic;
  border-top:1px solid rgba(180,120,20,.15);padding-top:8px;margin-top:6px;
}

/* ══ ROADMAP BLOCK ══ */
.ttx3-roadmap-block{
  padding:14px;border-left:3px solid #2b5f9a;
  background:linear-gradient(175deg,#f5f9ff,#edf4fc);
}
.ttx3-roadmap-row{
  width:100%;text-align:left;background:none;border:0;cursor:pointer;
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding:0;
}
.ttx3-roadmap-cue{
  flex-shrink:0;font-size:12px;color:#6a8880;font-weight:600;
  padding-top:2px;white-space:nowrap;
}

/* ══ RESPONSIVE ══ */
@media(max-width:1200px){.ttx3-hero{grid-template-columns:1.4fr 0.85fr}}
@media(max-width:1100px){
  .ttx3-hero{grid-template-columns:1fr}
  .ttx3-vs-staging{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}
  .ttx3-vs-action{grid-column:1/-1;flex-direction:row;align-items:center;padding-left:0;padding-top:10px;border-top:1px solid #d3dfef}
  .ttx3-preview-grid,.ttx3-signal-grid,.ttx3-action-list,.ttx3-exec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ttx3-row-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ttx3-cols{grid-template-columns:1fr}
}
@media(max-width:720px){
  .ttx3-wrap{padding-bottom:122px}
  .ttx3-hero{padding:24px 16px 20px;border-radius:16px;margin:8px 0 0;grid-template-columns:minmax(0,1fr)}
  .ttx3-hero h1{font-size:clamp(22px,6vw,28px)}
  .ttx3-hero-mid li,.ttx3-status-rail div{align-items:flex-start}
  .ttx3-hero-mid strong,.ttx3-status-rail strong{max-width:58%;line-height:1.35}
  .ttx3-block{padding:18px 16px}
  .ttx3-head{flex-direction:column;align-items:flex-start}
  .ttx3-preview-grid,.ttx3-signal-grid,.ttx3-row-list,.ttx3-action-list,.ttx3-exec-grid{grid-template-columns:1fr}
  .ttx3-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .ttx3-segments button{min-width:0;padding:0 8px}
  .ttx3-command-cluster{width:100%;justify-content:space-between}
  .ttx3-workspace-header,.ttx3-ws-head{flex-direction:column;gap:12px}
  .ttx3-vs-staging{grid-template-columns:1fr;gap:10px}
  .ttx3-vs-divider{display:none}
  .ttx3-vs-action{padding-top:0;border-top:0;width:100%;align-items:stretch}
  .ttx3-vs-action .ttx3-run{width:100%;justify-content:center}
  .ttx3-vs-name{white-space:normal;overflow:visible;overflow-wrap:anywhere}
  .ttx3-row{min-height:50px}
  .ttx3-row-name{white-space:normal;overflow:visible;overflow-wrap:anywhere}
  .ttx3-run{max-width:100%;white-space:normal;text-align:center;justify-content:center}
  .ttx3-result-manifest{flex-direction:column;align-items:stretch}
  .ttx3-manifest-item{justify-content:center}
  .ttx3-memory-list{padding-left:28px}
  .ttx3-memory-node{left:-22px}
  .ttx3-memory-header{flex-direction:column;gap:6px}
  .ttx3-memory-time{white-space:normal}
  .ttx3-roadmap-row{flex-direction:column;gap:10px}
  .ttx3-roadmap-cue{white-space:normal}
  .ttx3-hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ttx3-headtohead{grid-template-columns:1fr}
  .ttx3-decision-record{padding:16px 14px}
  .ttx3-decision-content{padding:12px 14px 14px}
  .ttx3-rec-header,.ttx3-rec-field-row{flex-direction:column;gap:6px}
  .ttx3-rec-val{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .ttx3-run,.ttx3-row,.ttx3-signal,.ttx3-signal-preview{transition:none}
  .ttx3-run-dot{animation:none}
}

/* Settings Final V10 — Future SaaS */
.stx4-shell{
  --set-ink:#0f172a;
  --set-muted:#475569;
  --set-sky:#8fd4ff;
  --set-sky-strong:#2497db;
  --set-sky-soft:#eff8ff;
  --set-gold:#d8b774;
  --set-border:#d8e9f8;
}
.stx6-hero{
  padding:14px 18px;
  border-radius:20px;
  border:1px solid rgba(143,212,255,.4);
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(143,212,255,.22) 0%, rgba(143,212,255,0) 62%),
    linear-gradient(140deg,#102537 0%,#17364e 45%,#1f4764 100%);
  box-shadow:0 20px 40px rgba(13,50,76,.35);
}
.stx6-hero-grid{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(280px,1.15fr) minmax(220px,1fr);
  gap:12px;
  align-items:stretch;
}
.stx6-hero-col{
  border:1px solid rgba(143,212,255,.24);
  border-radius:14px;
  background:rgba(8,20,31,.36);
  padding:12px;
}
.stx6-hero__eyebrow{
  font-size:10px;
  letter-spacing:.13em;
  font-weight:800;
  color:#b8e3ff;
  text-transform:uppercase;
}
.stx6-hero__title{
  margin:6px 0 3px;
  font-size:26px;
  line-height:1.06;
  color:#f3fbff;
}
.stx6-hero__sub{
  margin:0;
  color:#d9efff;
  font-size:12px;
  line-height:1.45;
}
.stx6-term-head{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#b9e6ff;
  margin-bottom:7px;
}
.stx6-term-line{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(143,212,255,.2);
  border-radius:10px;
  padding:6px 8px;
  background:rgba(6,13,20,.54);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:11px;
  color:#f0f9ff;
}
.stx6-term-line + .stx6-term-line{margin-top:6px}
.stx6-term-prompt{color:#8fd4ff}
.stx6-term-key{color:#f7fdff}
.stx6-term-sep{color:#a9d8f5}
.stx6-term-value.is-on{color:#93f2bf}
.stx6-term-value.is-off{color:#ffb8b8}
.stx6-hero-col--status{display:grid;gap:6px}
.stx6-stat{
  display:flex;
  justify-content:space-between;
  gap:8px;
  border:1px solid rgba(143,212,255,.2);
  border-radius:10px;
  background:rgba(6,14,22,.42);
  padding:6px 8px;
}
.stx6-stat span{
  color:#b3ddf9;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.stx6-stat strong{
  color:#f2fbff;
  font-size:11px;
  font-weight:700;
}
.stx6-ops-note{
  margin:12px 2px 0;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #cbe8ff;
  background:linear-gradient(180deg,#f8fdff 0%,#eff8ff 100%);
  color:#28557a;
  font-size:12px;
}
.stx6-ops-note a{color:#1478b6;font-weight:700}

.stx4-tab-nav{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  padding:12px;
  border-radius:18px;
  border:1px solid #d7ecfc;
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(143,212,255,.35) 0%, rgba(143,212,255,0) 62%),
    linear-gradient(180deg,#fbfeff 0%,#f3faff 100%);
}
.stx4-tab{
  min-height:58px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid #d3e8fb;
  background:linear-gradient(180deg,#fff 0%,#f6fbff 100%);
  color:#244863;
  font-weight:800;
  font-size:12px;
  letter-spacing:.03em;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  box-shadow:0 10px 20px rgba(21,89,132,.08);
  transition:transform .16s ease,box-shadow .2s ease,border-color .2s ease;
}
.stx4-tab__icon{opacity:1; color:#2f7eb5}
.stx4-tab:hover{transform:translateY(-1px); border-color:#8fd4ff; box-shadow:0 14px 28px rgba(28,113,165,.14)}
.stx4-tab.is-active{
  color:#0f2b41;
  border-color:#6dc0f4;
  background:linear-gradient(180deg,#eef9ff 0%,#dff2ff 100%);
  box-shadow:0 16px 30px rgba(28,113,165,.2);
}
.stx4-tab__dot{top:8px;right:8px}

.stx4-content{
  padding:22px 2px 46px;
}
.stx4-panel.is-active{
  animation:stxPanelIn .28s ease;
}
@keyframes stxPanelIn{
  from{opacity:0; transform:translateY(6px)}
  to{opacity:1; transform:none}
}

.stx5-panel-inner{
  max-width:none;
  border:1px solid var(--set-border);
  border-radius:20px;
  padding:22px;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(143,212,255,.22) 0%, rgba(143,212,255,0) 58%),
    linear-gradient(180deg,#ffffff 0%,#f8fcff 100%);
  box-shadow:0 16px 32px rgba(20,97,145,.1);
}
.stx5-panel-inner,
.stx5-panel-inner p,
.stx5-panel-inner li,
.stx5-panel-inner span,
.stx5-panel-inner label,
.stx5-panel-inner h3{
  color:#1f3950;
}
.stx5-section-lbl,.stx5-card-header,.stx5-billing-eyebrow{
  color:#247ab3;
  letter-spacing:.13em;
}
.stx5-irow{
  border:1px solid #d2e8f9;
  background:linear-gradient(180deg,#fff 0%,#f5fbff 100%);
  border-radius:16px;
  box-shadow:0 8px 20px rgba(29,110,160,.08);
}
.stx5-irow:hover{border-color:#8ed1ff; transform:translateY(-1px)}

.stx5-billing-card{
  border:1px solid #87cbfa;
  border-radius:20px;
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(216,183,116,.28) 0%, rgba(216,183,116,0) 65%),
    linear-gradient(130deg,#123048 0%,#17486c 48%,#1f5f8a 100%);
  box-shadow:0 22px 45px rgba(18,78,120,.34);
}
.stx5-billing-left,.stx5-billing-right,.stx5-billing-status-text,.stx5-feat-item,.stx5-billing-note,.stx5-billing-trial-hint,.stx5-billing-period,.stx5-billing-feat-title,.stx5-feat-check{
  color:#eaf6ff;
}
.stx5-billing-price,.stx5-billing-left p,.stx5-billing-right p,.stx5-billing-right li,.stx5-billing-right div{color:#eaf6ff}
.stx5-billing-eyebrow{color:#ffe8b8}
.stx5-billing-amount{color:#fff; text-shadow:0 8px 24px rgba(0,0,0,.24)}
.stx5-btn--billing-cta{
  background:linear-gradient(180deg,#f8d494 0%,#ddb065 100%);
  color:#3e2800;
  box-shadow:0 14px 30px rgba(216,151,60,.42);
}
.stx5-btn--billing-cta:hover{background:linear-gradient(180deg,#ffe3b5 0%,#e7bb75 100%)}
.stx5-btn--billing-manage{
  border-color:rgba(255,255,255,.46);
  background:rgba(255,255,255,.14);
  color:#fff;
}

.stx5-profile-card,.stx5-workspace-card,.stx5-danger-zone,.stx5-doc-card,.stx5-notif,.set-mobile-card{
  border-radius:16px;
  border:1px solid #d3e9f9;
  background:linear-gradient(180deg,#fff 0%,#f4fbff 100%);
  box-shadow:0 10px 24px rgba(22,95,139,.09);
}
.stx5-input{
  border-color:#cfe6f8;
  background:#fcfeff;
}
.stx5-input:focus{
  border-color:#77c4f4;
  box-shadow:0 0 0 3px rgba(119,196,244,.2);
}
.stx5-danger-zone{border-color:#f4c6c2;background:linear-gradient(180deg,#fff 0%,#fff7f6 100%)}
.stx5-danger-zone{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  width:100%;
  padding:16px !important;
  box-sizing:border-box;
}
.stx5-btn--danger{
  margin-top:10px;
  background:linear-gradient(180deg,#f25555 0%,#c72626 100%);
  color:#fff;
  border:1px solid #a31717;
  box-shadow:0 12px 24px rgba(166,26,26,.28);
}
.stx5-btn--danger:hover{background:linear-gradient(180deg,#ff6a6a 0%,#d23232 100%)}
.stx5-danger-sub{margin:10px 0 0; font-size:12px; color:#9f4444}

.stx5-value-statement,.stx5-agency-hint{
  border:1px solid #cfe7fa;
  background:#f4fbff;
}
.set-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.set-mobile-status{border-color:#cfe7fa;background:#f6fbff}

/* Settings tab content redesign */
.setx-headline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.setx-title{margin:4px 0 0; font-size:24px; line-height:1.1; color:#112a3c}
.setx-health{
  padding:7px 12px;
  border-radius:999px;
  border:1px solid #b9e0fa;
  background:#edf8ff;
  color:#166ca2;
  font-weight:700;
  font-size:12px;
}
.setx-kpi-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.setx-kpi{
  border:1px solid #cae5f8;
  border-radius:13px;
  background:#f3faff;
  padding:10px 12px;
}
.setx-kpi span{display:block; font-size:11px; color:#4a7191}
.setx-kpi strong{display:block; margin-top:5px; font-size:16px; color:#102739}
.setx-conn-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.setx-conn-card{
  border:1px solid #cfe7fa;
  border-radius:16px;
  background:#fff;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  box-shadow:0 10px 22px rgba(24,101,147,.08);
}
.setx-conn-card.is-connected{border-color:#b4e5cf; background:linear-gradient(180deg,#fff 0%,#f4fff9 100%)}
.setx-conn-card__head{display:flex; align-items:center; gap:10px}
.setx-conn-card__meta{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:28px;
}
.setx-conn-card__cta{margin-top:auto}
.setx-conn-card .stx5-btn{width:100%; justify-content:center}

.setx-bill-board{
  display:grid;
  grid-template-columns:minmax(320px,1.1fr) 1fr;
  gap:14px;
  margin-bottom:14px;
}
.setx-bill-hero,.setx-bill-proof{
  border-radius:18px;
  padding:16px;
}
.setx-bill-hero{
  border:1px solid rgba(143,212,255,.5);
  background:
    radial-gradient(130% 170% at 100% 0%, rgba(216,183,116,.25) 0%, rgba(216,183,116,0) 60%),
    linear-gradient(145deg,#0c2b42 0%,#123f5f 46%,#1a5580 100%);
}
.setx-bill-chip{
  display:inline-flex;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#3d2a00;
  background:#f8dca8;
  border-radius:999px;
  padding:5px 9px;
}
.setx-bill-hero h3{margin:10px 0 4px; font-size:26px; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.35)}
.setx-bill-hero .stx5-billing-status{background:rgba(8,27,41,.38); border-radius:10px; padding:6px 8px; width:fit-content}
.setx-bill-hero .stx5-billing-note,
.setx-bill-hero .stx5-billing-trial-hint,
.setx-bill-hero .stx5-billing-status-text,
.setx-bill-hero .stx5-billing-period{
  color:#f2fbff !important;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
.setx-bill-cta-wrap{margin-top:10px}
.setx-bill-proof{
  border:1px solid #cbe6f8;
  background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%);
}
.setx-bill-proof__title{font-size:13px; font-weight:800; color:#18567e; margin-bottom:8px; text-transform:uppercase; letter-spacing:.09em}
.setx-bill-guarantee{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #cce6f8;
  border-radius:12px;
  background:#ecf8ff;
  color:#245d84;
  font-size:12px;
  font-weight:600;
}

.setx-briefing-control{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}

.setx-mobile-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
}
.setx-mobile-steps{
  display:grid;
  gap:8px;
  margin-bottom:12px;
}
.setx-mobile-step{
  border:1px solid #cce7f9;
  border-radius:12px;
  padding:10px 12px;
  background:#f4fbff;
  display:grid;
  gap:4px;
}
.setx-mobile-step strong{color:#174d72; font-size:12px}
.setx-mobile-step span{color:#355e7c; font-size:12px; line-height:1.4}
.setx-mobile-pill{
  padding:5px 10px;
  border-radius:999px;
  border:1px solid #cbe6f8;
  background:#f1faff;
  color:#235f87;
  font-size:11px;
  font-weight:700;
}
.setx-mobile-hints{
  display:grid;
  gap:8px;
}
.setx-mobile-hints div{
  border:1px solid #d8ebf9;
  border-radius:10px;
  padding:8px 10px;
  background:#f7fcff;
  color:#315a79;
  font-size:12px;
}

@media (max-width:1180px){
  .stx4-tab-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .setx-conn-grid{grid-template-columns:1fr}
  .setx-bill-board{grid-template-columns:1fr}
}
@media (max-width:980px){
  .stx6-hero-grid{grid-template-columns:1fr}
  .setx-kpi-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .stx4-tab-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}
  .stx4-tab{min-height:54px}
  .stx4-tab__label{display:inline}
  .set-mobile-grid{grid-template-columns:1fr}
  .stx5-panel-inner{padding:16px}
}

/* Settings V10 hotfix: visibility + contrast */
.setx-state-icon{display:inline-flex; width:13px; height:13px; margin-right:6px; vertical-align:-2px}
.setx-conn-card .stx5-status{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.06em;
}
.setx-conn-card .stx5-status--connected{
  color:#08304d;
  border:1px solid #83d4ff;
  background:linear-gradient(180deg,#e9f8ff 0%,#cfeeff 100%);
  box-shadow:0 0 0 2px rgba(113,194,245,.2), 0 0 16px rgba(88,176,232,.35);
}
.setx-conn-card .stx5-status--disconnected{
  color:#fff;
  border:1px solid #e25757;
  background:linear-gradient(180deg,#ff6b6b 0%,#d63838 100%);
  box-shadow:0 0 0 2px rgba(218,66,66,.18), 0 0 14px rgba(190,39,39,.34);
}

.setx-bill-hero .stx5-billing-amount{
  color:#ffffff !important;
  text-shadow:0 10px 24px rgba(0,0,0,.28), 0 2px 6px rgba(0,0,0,.22);
  -webkit-text-stroke:0 transparent;
}
.setx-bill-hero .stx5-btn--billing-cta{
  background:linear-gradient(180deg,#ffffff 0%,#edf8ff 100%) !important;
  color:#0f3f61 !important;
  border:1px solid #96d4ff !important;
  box-shadow:0 12px 26px rgba(31,123,182,.35) !important;
}
.setx-bill-hero .stx5-btn--billing-cta:hover{
  background:linear-gradient(180deg,#ffffff 0%,#dff2ff 100%) !important;
}
.setx-bill-hero .stx5-btn--billing-manage{
  background:linear-gradient(180deg,#ffffff 0%,#fff7eb 100%) !important;
  color:#4b3002 !important;
  border:1px solid #f0d39a !important;
  box-shadow:0 12px 26px rgba(199,145,59,.32) !important;
}
.setx-bill-hero .stx5-btn--billing-manage:hover{
  background:linear-gradient(180deg,#fffef9 0%,#ffefcc 100%) !important;
}

.stx5-danger-zone{
  width:100%;
  padding:16px !important;
  box-sizing:border-box;
}

.set-mobile-grid{grid-template-columns:1fr !important}
.set-mobile-card--full{
  max-width:860px;
  border:1px solid #a9d8f8;
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(143,212,255,.26) 0%, rgba(143,212,255,0) 64%),
    linear-gradient(180deg,#ffffff 0%,#eef8ff 100%);
  box-shadow:0 16px 34px rgba(27,106,155,.16);
}
.set-mobile-card--full h3{
  font-size:24px;
  line-height:1.1;
  color:#0f3856;
  margin-bottom:8px;
}
.set-mobile-card--full > p{
  color:#2f5d7b;
  font-size:14px;
}
.setx-mobile-steps{
  display:grid;
  gap:10px;
  margin-bottom:14px;
}
.setx-mobile-step{
  border:1px solid #bfe1f8;
  border-radius:16px;
  padding:14px 16px;
  background:linear-gradient(180deg,#fafdff 0%,#eaf6ff 100%);
  display:grid;
  gap:6px;
  box-shadow:0 10px 22px rgba(24,101,147,.12);
  position:relative;
}
.setx-mobile-step::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  border-radius:16px 0 0 16px;
  background:linear-gradient(180deg,#79c8f7 0%,#3aa5e8 100%);
}
.setx-mobile-step strong{color:#0f3d5c; font-size:14px; letter-spacing:.02em}
.setx-mobile-step span{color:#2b5572; font-size:13px; line-height:1.5}
.setx-mobile-hints div{
  background:#ffffff;
  border:1px solid #cde7fa;
  color:#2f607f;
}

/* Final state system: VERBUNDEN / TRENNEN */
.setx-conn-card .stx5-status{
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  border-radius:0;
}
.setx-dual{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  letter-spacing:.06em;
  font-weight:800;
}
.setx-dual__sep{color:#8da1b2; font-weight:900}
.setx-dual__on,
.setx-dual__off{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid transparent;
  line-height:1;
}
.setx-dual.is-connected .setx-dual__on{
  color:#052f17;
  background:linear-gradient(180deg,#8dffbc 0%,#4ce38f 100%);
  border-color:#31c574;
  box-shadow:0 0 0 2px rgba(80,220,140,.24), 0 0 16px rgba(80,220,140,.38);
}
.setx-dual.is-connected .setx-dual__off{
  color:#a45b5b;
  background:#fff2f2;
  border-color:#f0cfcf;
}
.setx-dual.is-disconnected .setx-dual__on{
  color:#5d8c6b;
  background:#f1fbf4;
  border-color:#d4ead9;
}
.setx-dual.is-disconnected .setx-dual__off{
  color:#ffffff;
  background:linear-gradient(180deg,#ff6767 0%,#d71f1f 100%);
  border-color:#b91616;
  box-shadow:0 0 0 2px rgba(230,78,78,.22), 0 0 16px rgba(220,52,52,.34);
}

/* Final requested label mode */
.setx-connected-label{
  color:#111111 !important;
  font-weight:700 !important;
  font-size:12px;
  letter-spacing:.08em;
  text-shadow:none !important;
  -webkit-text-fill-color:#111111;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.setx-disconnected-label{
  color:#111111;
  font-weight:700;
  font-size:12px;
  letter-spacing:.06em;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.setx-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  display:inline-block;
}
.setx-dot--green{
  background:#51c878;
  box-shadow:none;
}
.setx-dot--red{
  background:#e06a6a;
  box-shadow:none;
}

/* Action button polarity for connected/disconnected cards */
.setx-conn-card.is-connected .stx5-btn--ghost{
  border-color:#efb6b6;
  color:#a23b3b;
  background:linear-gradient(180deg,#fff7f7 0%,#ffecec 100%);
}
.setx-conn-card.is-connected .stx5-btn--ghost:hover{
  border-color:#e48f8f;
  color:#8f1f1f;
  background:linear-gradient(180deg,#fff0f0 0%,#ffe2e2 100%);
}
.setx-conn-card.is-disconnected .stx5-btn--connect{
  border-color:#59e88f;
  color:#055f2b;
  background:linear-gradient(180deg,#d4ffe6 0%,#a8f6c8 100%);
  box-shadow:0 0 0 2px rgba(110,240,161,.18), 0 10px 20px rgba(74,210,128,.28);
}
.setx-conn-card.is-disconnected .stx5-btn--connect:hover{
  background:linear-gradient(180deg,#bff8d8 0%,#90eeb8 100%);
}

/* Mobile full width + inner spacing */
.set-mobile-grid{
  width:100%;
  grid-template-columns:1fr !important;
}
.set-mobile-card--full{
  width:100%;
  max-width:none;
  padding:22px 22px 20px;
  box-sizing:border-box;
}
.set-mobile-card--full .setx-mobile-steps,
.set-mobile-card--full .setx-mobile-hints{
  width:100%;
}

/* Reports V6 Final */
.rptv6-shell-wrap{display:grid;gap:14px;padding-bottom:90px}
.rptv6-hero{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(300px,1.1fr) minmax(260px,1fr);
  gap:12px;
  border:1px solid #cdbda7;
  border-radius:20px;
  padding:14px;
  background:
    radial-gradient(120% 180% at 100% 0%, rgba(140,118,94,.18) 0%, rgba(140,118,94,0) 64%),
    linear-gradient(180deg,#f6ecdf 0%,#efe2d2 100%);
  box-shadow:0 14px 30px rgba(70,52,36,.12);
}
.rptv6-hero-col{border:1px solid #c9b7a1;border-radius:14px;background:#f9f2e8;padding:12px}
.rptv6-hero-col--left h1{color:#2f2419}
.rptv6-hero-col--left .rpx2-eyebrow{color:#735f49}
.rptv6-hero-col--left .rpx2-sub{color:#5f4b36}
.rptv6-hero-note{margin:8px 0 0;font-size:12px;color:#5f4b36}
.rptv6-hero-col--mid{background:#3a2f25;border-color:#5b4a3a}
.rptv6-terminal-head{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#dcc6aa;margin-bottom:8px}
.rptv6-terminal-line{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;border:1px solid rgba(220,198,170,.26);background:#2f251d;color:#f7efe5;font-size:12px}
.rptv6-terminal-line + .rptv6-terminal-line{margin-top:6px}
.rptv6-terminal-line span{color:#d9b88d}
.rptv6-terminal-line code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.rptv6-hero-col--right{background:#f7eee2}
.rptv6-quick-head{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#5f4b36;font-weight:800;margin-bottom:8px}
.rptv6-quick-btn{
  width:100%;
  border:1px solid #b59d82;
  border-radius:11px;
  background:linear-gradient(180deg,#fff9f2 0%,#f3e6d7 100%);
  color:#3d2f22;
  font-size:12px;
  font-weight:700;
  padding:10px 11px;
  cursor:pointer;
  text-align:left;
}
.rptv6-quick-btn + .rptv6-quick-btn{margin-top:8px}
.rptv6-quick-btn:hover{border-color:#8a7258;background:linear-gradient(180deg,#fffdf9 0%,#f1dfca 100%)}
.rptv6-quick-sub{margin:8px 0 0;font-size:11px;line-height:1.4;color:#715b45}

.rptv6-shell{display:grid;grid-template-columns:220px 1fr;gap:14px}
.rptv6-menu{
  border:1px solid #dbe8f7;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  padding:10px;display:grid;gap:8px;align-content:start;
}
.rptv6-menu-btn{
  border:1px solid #dbe8f7;border-radius:12px;background:#fff;padding:10px;text-align:left;display:grid;gap:4px;cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.rptv6-menu-btn:hover{border-color:#93c5fd;box-shadow:0 10px 20px rgba(30,64,175,.12);transform:translateY(-1px)}
.rptv6-menu-btn.is-active{border-color:#60a5fa;background:#eff6ff}
.rptv6-menu-btn__label{font-size:13px;font-weight:800;color:#0f172a}
.rptv6-menu-btn__hint{font-size:11px;color:#64748b}

.rptv6-main .rpx2-panel{
  border:1px solid #dbe8f7;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 12px 26px rgba(30,64,175,.08);padding:14px;
}
.rptv6-main .rpx2-table thead th{background:#eff6ff;color:#334155;border-bottom-color:#bfdbfe}
.rptv6-main .rpx2-table tbody td{color:#1e293b}
.rptv6-main .rpx2-table tbody tr:nth-child(even) td{background:#fcfdff}
.rptv6-main .rpx2-table tbody tr:hover td{background:#eef6ff}
.rptv6-main .so-rptx-filterbar{border:1px solid #dbe8f7;border-radius:14px;background:#fff;padding:10px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rptv6-main .so-rptx-filter-pill{border-color:#bfdbfe;background:#f8fbff;color:#1e3a8a}
.rptv6-main .so-rptx-filter-pill.is-active{background:#dbeafe;color:#1e40af;border-color:#60a5fa}
.rptv6-main .so-rptx-search{border:1px solid #bfdbfe;background:#fff}
.rptv6-main .so-rptx-search:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.2)}

.rptv6-export-scope{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.rptv6-export-scope label{display:grid;gap:5px;font-size:11px;font-weight:700;letter-spacing:.06em;color:#475569;text-transform:uppercase}
.rptv6-export-scope select{border:1px solid #bfdbfe;border-radius:10px;background:#fff;padding:9px 10px;font-size:12px;color:#0f172a}
.rptv6-export-scope select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.2)}
.rptv6-main .so-rptx-export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.rptv6-main .so-rptx-export-block{border:1px solid #dbe8f7;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(30,64,175,.08)}
.rptv6-main .so-rptx-export-btn{border-color:#60a5fa;color:#1d4ed8;background:#eff6ff;font-weight:700}
.rptv6-main .so-rptx-export-btn:hover:not(:disabled){background:#1d4ed8;color:#fff;border-color:#1d4ed8}

@media (max-width:1100px){
  .rptv6-hero{grid-template-columns:1fr}
  .rptv6-shell{grid-template-columns:1fr}
  .rptv6-menu{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  .rptv6-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rptv6-export-scope{grid-template-columns:1fr}
  .rptv6-main .so-rptx-export-grid{grid-template-columns:1fr}
}

/* Academy Hero V5 */
.acv5-hero{
  display:grid;
  grid-template-columns:minmax(280px,1.2fr) minmax(260px,1fr) minmax(220px,.9fr);
  gap:12px;
  border:1px solid #9ccff0;
  border-radius:18px;
  padding:14px;
  background:#bfe6ff;
}
.acv5-col{
  border:1px solid #87bddf;
  border-radius:13px;
  background:#d4efff;
  padding:12px;
}
.acv5-col--mid{
  background:
    radial-gradient(120% 160% at 100% 0%, rgba(255,245,228,.86) 0%, rgba(255,245,228,0) 58%),
    linear-gradient(145deg,#0d0d0d 0%,#181818 52%,#262626 100%);
  border-color:#2e2e2e;
}
.acv5-col--left h1{color:#16324b}
.acv5-col--left .acv4-eyebrow{color:#31516b}
.acv5-col--left .acv4-subline{color:#345c79}

.acv5-kicker{
  margin:0 0 8px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#111111;
  font-weight:800;
}
.acv5-col--mid .acv5-kicker{color:#ffe7c4}
.acv5-ad{
  display:grid;
  gap:10px;
}
.acv5-ad-label{
  width:max-content;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(252,235,208,.9);
  background:#fff7ea;
  color:#6b3f17;
  border-radius:999px;
  padding:3px 9px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.acv5-ad-title{
  margin:0;
  color:#fff8ea;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
}
.acv5-ad-points{
  margin:0;
  padding:0 0 0 18px;
  display:grid;
  gap:6px;
  color:#efe2cf;
  font-size:12px;
}
.acv5-ad-points li::marker{color:#ffd08a}
.acv5-sample-btn{
  width:100%;
  border:1px solid #f4d7ae;
  border-radius:11px;
  background:linear-gradient(180deg,#fffdf8 0%,#f7e6ce 100%);
  color:#2a180b;
  padding:12px 13px;
  text-align:left;
  cursor:pointer;
  display:grid;
  gap:2px;
  box-shadow:0 12px 24px rgba(0,0,0,.3);
}
.acv5-sample-btn strong{
  display:block;
  font-size:14px;
  font-weight:900;
  color:#211003;
  letter-spacing:.01em;
}
.acv5-sample-btn span{
  font-size:11px;
  color:#78481c;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}
.acv5-sample-btn:hover{
  border-color:#fff4df;
  background:linear-gradient(180deg,#ffffff 0%,#f8e9d2 100%);
  transform:translateY(-1px);
}
.acv5-sample-btn.is-disabled{opacity:.7;cursor:default}
.acv5-ad-foot{
  margin:2px 0 0;
  color:#ceb38d;
  font-size:10px;
  letter-spacing:.03em;
}

.acv5-metrics{
  display:grid;
  gap:7px;
}
.acv5-metrics div{
  display:flex;
  justify-content:space-between;
  gap:8px;
  border:1px solid #111111;
  border-radius:10px;
  background:#fff8ed;
  padding:7px 8px;
}
.acv5-metrics span{font-size:11px;color:#111111}
.acv5-metrics strong{font-size:12px;color:#111111}

@media (max-width:980px){
  .acv5-hero{grid-template-columns:1fr}
}

/* SensAI Sidepanel — Elite Signature System */
.sensei-sidepanel{
  --ssp-surface:#eef4f8;
  --ssp-surface-2:#e2ebf2;
  --ssp-surface-3:#fbfdff;
  --ssp-line:#bdcadd;
  --ssp-line-strong:#91a3bb;
  --ssp-ink:#111827;
  --ssp-text:#344054;
  --ssp-muted:#667085;
  --ssp-forest:#0f5a4b;
  --ssp-forest-deep:#0a3f36;
  --ssp-forest-soft:#e7f3ef;
  --ssp-blue:#2457d6;
  --ssp-blue-soft:#e9efff;
  --ssp-violet:#6d4aff;
  --ssp-violet-soft:#f0edff;
  --ssp-amber:#9a6b1f;
  --ssp-amber-soft:#fff2d4;
  --ssp-red:#b42318;
  --ssp-red-soft:#fff0ed;
  position:fixed;
  right:20px;
  top:84px;
  width:min(416px,calc(100vw - 28px));
  max-height:calc(100vh - 108px);
  overflow:auto;
  border-radius:20px;
  border:1px solid rgba(170,190,220,0.8);
  background:
    radial-gradient(420px 240px at 10% 0%, rgba(15,90,75,.10), transparent 70%),
    radial-gradient(ellipse 80% 42% at 100% 0%, rgba(36,87,214,0.08), transparent 62%),
    linear-gradient(180deg, rgba(251,253,255,0.98), rgba(229,237,246,0.99));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:-30px 0 84px rgba(8,18,34,0.26), 0 1px 0 rgba(255,255,255,0.96) inset, 0 0 0 1px rgba(255,255,255,0.82) inset;
  color:var(--ssp-text);
  z-index:1300;
  padding:0;
  transform:translateX(calc(100% + 26px));
  opacity:0;
  pointer-events:none;
  transition:transform .28s cubic-bezier(0.22,0.61,0.36,1),opacity .22s ease;
  scrollbar-width:thin;
  scrollbar-color:#c0cde0 transparent;
}
.sensei-sidepanel.is-open{transform:translateX(0);opacity:1;pointer-events:auto}

/* SensAI Hero */
.ssp-hero{
  padding:28px 22px 22px;
  background:
    radial-gradient(ellipse 80% 58% at 0% 0%, rgba(20,184,166,0.20), transparent 64%),
    radial-gradient(ellipse 55% 46% at 100% 0%, rgba(36,87,214,0.18), transparent 68%),
    linear-gradient(150deg,#081827 0%,#0d2435 58%,#12352f 100%);
  border-bottom:1px solid rgba(255,255,255,.14);
  position:relative;
  color:#e9f3f2;
}
.ssp-hero-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ssp-eyebrow{
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:#70e0c4;font-weight:850;margin:0;
  display:flex;align-items:center;gap:9px;
}
.ssp-eyebrow::before{
  content:'';display:block;width:18px;height:2px;
  background:#70e0c4;border-radius:999px;opacity:.8;flex-shrink:0;
}
.ssp-close{
  width:30px;height:30px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:rgba(232,244,242,.78);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;line-height:1;
  flex-shrink:0;
  box-shadow:0 2px 8px rgba(8,18,34,.06);
  transition:background .15s,color .15s,border-color .15s,box-shadow .15s;
}
.ssp-close:hover{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.28);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.ssp-hero-name{margin:0 0 6px;font-size:27px;font-weight:850;color:#fff;letter-spacing:-.028em;line-height:1.06}
.ssp-hero-sub{margin:0 0 14px;font-size:12px;color:rgba(232,244,242,.72);line-height:1.5}
.ssp-hero-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ssp-orb{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.ssp-orb--good{background:var(--ssp-forest);box-shadow:0 0 0 3px rgba(15,90,75,0.12)}
.ssp-orb--warn{background:#b7791f;box-shadow:0 0 0 3px rgba(183,121,31,0.13)}
.ssp-orb--risk{background:var(--ssp-red);box-shadow:0 0 0 3px rgba(180,35,24,0.12)}
.ssp-orb-label{font-size:11px;font-weight:800;color:#e9f3f2}
.ssp-meta-pill{
  font-size:9.5px;padding:3px 10px;border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(232,244,242,.78);font-weight:750;letter-spacing:.05em;
  box-shadow:0 1px 5px rgba(0,0,0,.12);
}
.ssp-pref-row{margin-top:14px;padding:12px;border-radius:13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13)}
.ssp-pref-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#ecfffb}
.ssp-pref-label input{accent-color:#14b8a6}
.ssp-pref-hint{margin:5px 0 0 22px;font-size:10.5px;color:rgba(232,244,242,.66);line-height:1.4}

/* SensAI Information blocks */
.ssp-content-blocks{display:block}
.ssp-content-blocks.is-hidden{display:none}
.ssp-block{padding:17px 22px;border-bottom:1px solid var(--ssp-line);background:rgba(251,253,255,.88)}
.ssp-block--decision{background:linear-gradient(180deg,#e8f8f3,rgba(251,253,255,0.88))}
.ssp-block--rec{background:linear-gradient(180deg,#eef4ff,rgba(251,253,255,.88))}
.ssp-block--alerts{background:linear-gradient(180deg,#fff8ea,rgba(251,253,255,.88))}
.ssp-block--clickable{cursor:pointer;transition:background 130ms,box-shadow 130ms}
.ssp-block--clickable:hover{background:rgba(15,90,75,.08);box-shadow:inset 4px 0 0 var(--ssp-forest),0 10px 26px rgba(8,18,34,.08)}
.ssp-block--clickable:focus-visible{outline:2px solid var(--ssp-forest);outline-offset:-2px}
.ssp-block-arrow{opacity:0;transition:opacity 120ms,transform 120ms;font-size:10px;margin-left:2px}
.ssp-block--clickable:hover .ssp-block-arrow{opacity:1;transform:translateX(2px)}
.ssp-block-label{
  margin:0 0 10px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ssp-forest);font-weight:850;
  display:flex;align-items:center;gap:10px;
}
.ssp-block-label::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,rgba(15,90,75,.22),transparent);
}
.ssp-block-headline{margin:0 0 6px;font-size:14px;font-weight:800;color:var(--ssp-ink);line-height:1.3}
.ssp-block-body{margin:0;font-size:12.5px;color:var(--ssp-text);line-height:1.58}

/* Alert signal cards */
.ssp-alert-rows{display:grid;gap:6px}
.ssp-alert-row{
  padding:10px 12px;border-radius:10px;
  background:linear-gradient(180deg,#ffffff,#f6f9fd);
  border:1px solid var(--ssp-line);
  border-left:3px solid var(--ssp-line-strong);
  font-size:12px;color:var(--ssp-text);line-height:1.44;
  box-shadow:0 2px 7px rgba(8,18,34,.04);
}
.ssp-alert-row--high,.ssp-alert-row--danger{background:var(--ssp-red-soft);border-color:#f0c7c1;border-left-color:var(--ssp-red);color:#8f1d14}
.ssp-alert-row--medium,.ssp-alert-row--warn{background:var(--ssp-amber-soft);border-color:#ead09a;border-left-color:var(--ssp-amber);color:#7a4f14}
.ssp-alert-row--info{background:var(--ssp-blue-soft);border-color:#cbd8ff;border-left-color:var(--ssp-blue);color:#1f4598}
.ssp-alert-row--empty{color:#346053;background:#edf8f4;border-color:#c8e6da;border-left-color:var(--ssp-forest)}

/* Command action rail */
.ssp-commands{
  padding:16px 22px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  border-bottom:1px solid var(--ssp-line);
  background:linear-gradient(180deg,#f9fbff 0%,#e9f0f8 100%);
}
.ssp-cmd{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:11px 8px;border-radius:12px;
  border:1px solid rgba(15,90,75,.24);
  background:linear-gradient(180deg,#0f5a4b,#0b453a);
  color:#f0fffb;
  font-size:10px;font-weight:750;letter-spacing:.03em;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(8,18,34,.05),0 1px 0 rgba(255,255,255,.9) inset;
  transition:background .14s,color .14s,border-color .14s,box-shadow .14s,transform .12s;
}
.ssp-cmd:nth-child(2){background:linear-gradient(180deg,#2457d6,#1d45ac);border-color:rgba(36,87,214,.34)}
.ssp-cmd:nth-child(3){background:linear-gradient(180deg,#6d4aff,#5636d6);border-color:rgba(109,74,255,.34)}
.ssp-cmd:nth-child(4){background:linear-gradient(180deg,#9a6b1f,#7a5318);border-color:rgba(154,107,31,.34)}
.ssp-cmd:hover{filter:saturate(1.1) brightness(1.05);box-shadow:0 10px 22px rgba(8,18,34,.18);transform:translateY(-1px)}
.ssp-cmd-icon{font-size:15px;line-height:1;color:currentColor}

/* Integrated search bar */
.ssp-help-row{
  display:grid;grid-template-columns:1fr auto;gap:0;
  margin-top:12px;
  border:1px solid var(--ssp-line);border-radius:11px;overflow:hidden;
  background:#ffffff;
  box-shadow:0 3px 12px rgba(8,18,34,.06),0 1px 0 rgba(255,255,255,.9) inset;
}
.ssp-help-input{
  height:38px;border-radius:0;
  border:none;
  background:transparent;
  color:var(--ssp-ink);padding:0 14px;font-size:12.5px;
  box-shadow:none;
}
.ssp-help-input:focus{outline:none;box-shadow:inset 0 0 0 2px rgba(15,90,75,.12)}
.ssp-help-input::placeholder{color:#8a97a7}
.ssp-help-submit{
  width:40px;height:38px;border-radius:0;
  border:none;border-left:1px solid var(--ssp-line);
  background:linear-gradient(180deg,#0f5a4b,#0b453a);
  color:#fff;font-size:15px;
  cursor:pointer;transition:background .14s;
}
.ssp-help-submit:hover{background:linear-gradient(180deg,#137060,#0f5a4b)}
.ssp-help-result{margin-top:10px;font-size:12px;color:var(--ssp-muted);line-height:1.54}
.snsp-help-item{
  padding:10px 12px;border-radius:11px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid var(--ssp-line);
  box-shadow:0 2px 8px rgba(8,18,34,.04);
  margin-bottom:7px;
}
.snsp-help-item strong{display:block;color:var(--ssp-ink);font-size:12.5px;margin-bottom:3px}
.snsp-help-item p{margin:0;font-size:12px;color:var(--ssp-text)}

/* Toggle button */
.sensei-sidepanel-toggle{
  position:fixed;right:0;top:40%;transform:translateY(-50%);
  height:120px;width:26px;
  border:1px solid rgba(170,190,220,0.8);border-right:0;
  border-radius:10px 0 0 10px;
  background:rgba(248,251,255,0.92);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  color:var(--ssp-forest);
  font-size:8px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  writing-mode:vertical-rl;cursor:pointer;z-index:1299;
  box-shadow:-6px 0 22px rgba(8,18,34,0.13);
  display:flex;align-items:center;justify-content:center;gap:6px;
  transition:background .18s,color .18s;
}
.sensei-sidepanel-toggle::before{
  content:"\25C0";display:block;font-size:8px;line-height:1;margin-bottom:8px;
  color:rgba(15,90,75,0.58);transition:color .18s;
}
.sensei-sidepanel-toggle.is-open::before{content:"\25B6"}
.sensei-sidepanel-toggle:hover{background:#eef3f8;color:#0a4036}
.sensei-sidepanel-toggle:hover::before{color:#0a4036}
.sensei-sidepanel-toggle.is-open{right:430px}

/* JIT panels — Premium (aligned with SensAI sidepanel) */
.jit-panel{
  --ssp-line:#d4def0;
  --ssp-line-strong:#c0cde0;
  --ssp-ink:#0f172a;
  --ssp-text:#2d3d52;
  --ssp-muted:#5a6b80;
  --jit-accent:#0f5a4b;
  --jit-accent-glow:#70e0c4;
  --jit-accent-soft:#e7f3ef;
  --jit-hero-mid:#0d2435;
  --jit-hero-end:#12352f;
  --ssp-forest:var(--jit-accent);
  --ssp-forest-soft:var(--jit-accent-soft);
  --ssp-amber:#9a6b1f;
  --ssp-amber-soft:#fff2d4;
  --ssp-red:#b42318;
  --ssp-red-soft:#fff0ed;
  width:min(312px,calc(100vw - 26px));
  max-height:calc(100vh - 360px);
  top:220px;padding:0;border-radius:18px;
  background:linear-gradient(180deg,#f8fbff 0%,#eef3f8 100%);
  border:1px solid rgba(170,190,220,0.8);
  box-shadow:-18px 0 52px rgba(8,18,34,0.16), 0 1px 0 rgba(255,255,255,0.9) inset;
  overflow:hidden;
}
.jit-panel--academy{
  --jit-accent:#2457d6;
  --jit-accent-glow:#8eb4ff;
  --jit-accent-soft:#e9efff;
  --jit-hero-mid:#152a5c;
  --jit-hero-end:#1a3568;
  --ssp-line:#c8d5f5;
  --ssp-line-strong:#9fb4ef;
}
.jit-panel--tools{
  --jit-accent:#9a6b1f;
  --jit-accent-glow:#e8c06a;
  --jit-accent-soft:#fff2d4;
  --jit-hero-mid:#3d2a12;
  --jit-hero-end:#4a3318;
  --ssp-line:#e5cf99;
  --ssp-line-strong:#d4b268;
}
.jit-panel--abc{
  --jit-accent:#6d4aff;
  --jit-accent-glow:#b9a6ff;
  --jit-accent-soft:#f0edff;
  --jit-hero-mid:#2a1f5c;
  --jit-hero-end:#352468;
  --ssp-line:#d0c8ff;
  --ssp-line-strong:#aa9af5;
}
.jit-hero{
  padding:22px 18px 18px;
  background:
    radial-gradient(ellipse 72% 56% at 0% 0%, color-mix(in srgb, var(--jit-accent-glow) 28%, transparent), transparent 64%),
    radial-gradient(ellipse 52% 44% at 100% 0%, color-mix(in srgb, var(--jit-accent) 22%, transparent), transparent 68%),
    linear-gradient(150deg,#081827 0%,var(--jit-hero-mid) 58%,var(--jit-hero-end) 100%);
  border-bottom:1px solid rgba(255,255,255,.14);
  color:#e9f3f2;
}
.jit-hero-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.jit-eyebrow{
  display:flex;align-items:center;gap:9px;
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--jit-accent-glow);font-weight:850;margin:0;
}
.jit-eyebrow::before{
  content:'';display:block;width:16px;height:2px;
  background:var(--jit-accent-glow);border-radius:999px;opacity:.82;flex-shrink:0;
}
.jit-hero .ssp-close{
  position:static;
  flex-shrink:0;
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:0 2px 10px rgba(8,18,34,.18);
}
.jit-hero .ssp-close:hover{
  background:rgba(255,255,255,.2);
  color:#fff;
  border-color:rgba(255,255,255,.34);
}
.jit-title{margin:0 0 6px;font-size:22px;font-weight:850;color:#fff;letter-spacing:-.024em;line-height:1.08}
.jit-hero-sub{margin:0;font-size:11.5px;color:rgba(232,244,242,.72);line-height:1.48}
.jit-block{padding:15px 18px;border-bottom:1px solid var(--ssp-line);background:rgba(251,253,255,.9)}
.jit-block--spotlight{background:linear-gradient(180deg,var(--jit-accent-soft),rgba(251,253,255,.92))}
.jit-block--list{background:linear-gradient(180deg,#f4f8fc,rgba(251,253,255,.9))}
.jit-block--last{border-bottom:0;padding-bottom:18px}
.jit-block-label{
  margin:0 0 10px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--jit-accent);font-weight:850;
  display:flex;align-items:center;gap:9px;
}
.jit-block-label::after{
  content:'';flex:1;height:1px;
  background:linear-gradient(90deg,color-mix(in srgb, var(--jit-accent) 28%, transparent),transparent);
}
.jit-toggle{
  height:32px;width:28px;
  writing-mode:horizontal-tb;border-radius:9px 0 0 9px;padding:0;
  background:linear-gradient(180deg,#ffffff,#eef3f8);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(170,190,220,0.8);border-right:0;
  box-shadow:-4px 0 16px rgba(8,18,34,0.12);
}
.jit-toggle--academy svg{color:#2457d6}
.jit-toggle--tools svg{color:#9a6b1f}
.jit-toggle--abc svg{color:#6d4aff}
.jit-toggle svg{
  width:15px;height:15px;stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  color:var(--ssp-forest);transition:color .14s;
}
.jit-toggle:hover svg{color:#0a4036}
.jit-toggle::before{display:none}
.jit-toggle--academy{top:calc(40% + 106px)}
.jit-toggle--abc{top:calc(40% + 148px)}
.jit-toggle--tools{top:calc(40% + 190px)}
.jit-toggle.is-open{right:332px}

/* JIT content elements */
.jit-links{display:grid;gap:7px}
.jit-scroll{
  max-height:200px;overflow:auto;padding-right:2px;
  scrollbar-width:thin;scrollbar-color:#c0cde0 transparent;
}
.jit-scroll::-webkit-scrollbar{width:4px}
.jit-scroll::-webkit-scrollbar-thumb{background:#c0cde0;border-radius:999px}
.jit-spotlight{
  display:block;text-decoration:none;
  border:1px solid color-mix(in srgb, var(--jit-accent) 28%, var(--ssp-line));
  border-radius:12px;padding:12px 14px;
  background:linear-gradient(150deg,var(--jit-accent-soft) 0%,#ffffff 100%);
  color:var(--jit-accent);font-size:12.5px;font-weight:800;
  box-shadow:0 4px 14px color-mix(in srgb, var(--jit-accent) 10%, transparent),0 1px 0 rgba(255,255,255,.9) inset;
  position:relative;overflow:hidden;
  transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;
}
.jit-spotlight-name{display:block;font-size:12.5px;font-weight:800;color:var(--jit-accent);line-height:1.3}
.jit-spotlight-hint{display:block;margin-top:4px;font-size:10.5px;font-weight:650;color:var(--ssp-muted);line-height:1.35}
.jit-spotlight::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,color-mix(in srgb, var(--jit-accent) 55%, transparent),color-mix(in srgb, var(--jit-accent) 12%, transparent));
}
.jit-spotlight:hover{
  background:linear-gradient(150deg,color-mix(in srgb, var(--jit-accent-soft) 86%, #fff 14%) 0%,#ffffff 100%);
  border-color:color-mix(in srgb, var(--jit-accent) 42%, var(--ssp-line));
  box-shadow:0 8px 20px color-mix(in srgb, var(--jit-accent) 14%, transparent),0 1px 0 rgba(255,255,255,.92) inset;
  transform:translateY(-1px);
}
.jit-actions-row{margin-top:9px}
.jit-reroll{
  height:30px;padding:0 13px;border-radius:9px;
  border:1px solid color-mix(in srgb, var(--jit-accent) 30%, var(--ssp-line));
  background:linear-gradient(180deg,var(--jit-accent),color-mix(in srgb, var(--jit-accent) 76%, #000 24%));
  color:#fff;font-size:11px;font-weight:750;
  cursor:pointer;
  box-shadow:0 2px 8px color-mix(in srgb, var(--jit-accent) 18%, transparent);
  transition:background .12s,color .12s,border-color .12s,box-shadow .12s,transform .1s;
  display:inline-flex;align-items:center;justify-content:center;
}
.jit-reroll:hover{filter:saturate(1.08) brightness(1.05);border-color:var(--ssp-line-strong);box-shadow:0 7px 16px color-mix(in srgb, var(--jit-accent) 22%, transparent);transform:translateY(-1px)}
.jit-link{
  display:block;text-decoration:none;
  border:1px solid var(--ssp-line);border-left:3px solid color-mix(in srgb, var(--jit-accent) 35%, var(--ssp-line));
  border-radius:11px;
  padding:10px 13px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  color:var(--ssp-text);font-size:12px;font-weight:650;
  box-shadow:0 2px 8px rgba(8,18,34,.04),0 1px 0 rgba(255,255,255,.9) inset;
  transition:background .12s,color .12s,border-color .12s,box-shadow .12s,transform .1s;
}
.jit-link:hover{
  background:linear-gradient(180deg,var(--jit-accent-soft) 0%,#ffffff 100%);
  color:var(--jit-accent);
  border-color:color-mix(in srgb, var(--jit-accent) 32%, var(--ssp-line));
  border-left-color:var(--jit-accent);
  box-shadow:0 6px 16px rgba(8,18,34,.07),0 1px 0 rgba(255,255,255,.92) inset;
  transform:translateY(-1px);
}
.jit-def{
  border:1px solid var(--ssp-line);border-radius:12px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  overflow:hidden;
  box-shadow:0 2px 8px rgba(8,18,34,.04);
  transition:border-color .14s,box-shadow .14s;
}
.jit-def:hover{border-color:var(--ssp-line-strong);box-shadow:0 5px 14px rgba(8,18,34,.07)}
.jit-def + .jit-def{margin-top:7px}
.jit-def__term{
  cursor:pointer;padding:11px 13px;
  font-size:12.5px;font-weight:750;color:var(--ssp-ink);
  list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  transition:color .12s,background .12s;
}
.jit-def__term::after{
  content:'›';font-size:18px;line-height:1;color:var(--ssp-muted);
  flex-shrink:0;transition:transform .14s,color .14s;
}
.jit-def__term::-webkit-details-marker{display:none}
.jit-def[open] .jit-def__term{
  color:var(--jit-accent);
  background:var(--jit-accent-soft);
  border-bottom:1px solid color-mix(in srgb, var(--jit-accent) 18%, var(--ssp-line));
}
.jit-def[open] .jit-def__term::after{transform:rotate(90deg);color:var(--jit-accent)}
.jit-def__text{
  margin:0;padding:11px 13px 13px;
  font-size:12.5px;line-height:1.56;
  color:var(--ssp-text);
  border-top:0;
  background:#f4f7fb;
}

@media (max-width:980px){
  .sensei-sidepanel{
    top:auto;bottom:14px;right:10px;left:10px;width:auto;
    max-height:72vh;z-index:calc(var(--z-topbar) + 3);
    transform:translateY(calc(100% + 20px));
  }
  .sensei-sidepanel.is-open{transform:translateY(0)}
  .sensei-sidepanel-toggle{
    top:auto;right:12px;bottom:calc(212px + env(safe-area-inset-bottom));
    transform:none;writing-mode:horizontal-tb;
    width:auto;min-width:84px;height:34px;
    border-right:1px solid rgba(201,185,158,0.86);
    border-radius:11px 0 0 11px;padding:0 10px 0 9px;
    justify-content:center;text-indent:0;white-space:nowrap;
    font-size:10px;letter-spacing:.06em;
  }
  .sensei-sidepanel-toggle::before{margin-bottom:0;margin-right:6px;display:inline-block}
  .sensei-sidepanel-toggle.is-open{right:12px}
  .jit-panel{
    left:10px;right:10px;width:auto;top:auto;
    max-height:52vh;z-index:calc(var(--z-topbar) + 3);
  }
  .jit-toggle{
    right:12px;width:34px;min-width:34px;height:30px;
    border-radius:10px 0 0 10px;padding:0;
    z-index:calc(var(--z-topbar) + 4);
  }
  .jit-toggle span{display:none}
  .jit-toggle--academy{bottom:calc(170px + env(safe-area-inset-bottom))}
  .jit-toggle--abc{bottom:calc(130px + env(safe-area-inset-bottom))}
  .jit-toggle--tools{bottom:calc(90px + env(safe-area-inset-bottom))}
  .jit-toggle.is-open{right:12px}
}

/* ─── Dashboard Executive Light System ──────────────────────────────────── */

.app-shell[data-route="dashboard"] .main-content,
#module-container.route--dashboard{
  background:
    radial-gradient(ellipse 70% 38% at 10% 0%, rgba(79,110,247,.04) 0%, transparent 60%),
    radial-gradient(ellipse 52% 30% at 94% 7%, rgba(79,110,247,.02) 0%, transparent 62%),
    linear-gradient(180deg, #eef3f8 0%, #f4f7fb 42%, #eaf0f8 100%);
}

.dashx-shell{
  --doss-bg:#eef3f8;
  --doss-surface:#f8fbff;
  --doss-surface-2:#f4f7fb;
  --doss-surface-3:#edf2f7;
  --doss-inner:#ffffff;
  --doss-line:#d8e2ef;
  --doss-line-strong:#c9d5e4;
  --doss-text:#101828;
  --doss-text-2:#344054;
  --doss-text-3:#566273;
  --doss-accent:#0f5a4b;
  --doss-accent-soft:#e7f1ed;
  --doss-amber:#9a6b1f;
  --doss-amber-soft:#fff4dc;
  --doss-danger:#b42318;
  --doss-danger-soft:#fff0ed;
  --doss-shadow-command:0 24px 60px rgba(8,18,34,.12),0 1px 0 rgba(255,255,255,.86) inset;
  --doss-shadow-decision:0 17px 40px rgba(8,18,34,.095),0 1px 0 rgba(255,255,255,.84) inset;
  --doss-shadow-monitor:0 10px 26px rgba(8,18,34,.065),0 1px 0 rgba(255,255,255,.82) inset;
  --doss-shadow-inner:0 7px 18px rgba(8,18,34,.052),0 1px 0 rgba(255,255,255,.9) inset;
  display:grid;
  gap:14px;
  padding:4px 18px 108px;
}


/* Remove floating sidebar collapse control on core journey modules */
.app-shell[data-route="dashboard"] .sidebar-collapse-btn,
.app-shell[data-route="sensei"] .sidebar-collapse-btn,
.app-shell[data-route="testing"] .sidebar-collapse-btn{
  display:none !important;
}

/* V13 attention architecture: visual weight via typography, not opacity */
.db8-coverage-wrap,
.db8-activity{
  opacity:1;
}
.ttx3-memory,
.tst-orch-bridge{
  opacity:.78;
}
.tst-orch-bridge--reduced{
  padding:12px 14px;
}
.tst-orch-bridge--reduced .ttx3-head h2{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7b8b99;
}
.tst-orch-bridge--reduced p{
  margin:0;
  font-size:12px;
  color:#708092;
}

/* SensAI hierarchy lock: keep briefing/readiness dominant, demote lower utility zones */
.sns-card--action,
.sns-card--logging,
.sns-card--archive,
.sns-card--latest-analysis{
  opacity:.78;
}

/* Hero remains the controlled dark accent. */
.doss-hero{
  position:relative;
  overflow:hidden;
  margin-bottom:0;
  border-radius:20px;
  background:
    radial-gradient(ellipse 58% 90% at 8% 50%, rgba(15,90,75,.24) 0%, transparent 62%),
    radial-gradient(ellipse 42% 62% at 92% 15%, rgba(42,50,77,.2) 0%, transparent 56%),
    linear-gradient(135deg, #111820 0%, #151d27 52%, #10151d 100%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 28px 62px rgba(8,18,34,.22),0 1px 0 rgba(255,255,255,.08) inset;
}
.doss-hero-grid{display:grid;grid-template-columns:1.46fr 1.02fr .72fr;position:relative;z-index:1}
.doss-brief{padding:40px 32px 38px 40px;border-right:1px solid rgba(255,255,255,.07)}
.doss-hero-eyebrow{font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:#8ec7b6;font-weight:850;margin:0 0 16px}
.doss-hero-title{font-size:clamp(22px,2.7vw,32px);font-weight:850;color:#f4efe7;letter-spacing:-.02em;line-height:1.07;margin:0 0 15px;max-width:17ch}
.doss-hero-desc{font-size:13.5px;color:#d8d0c5;line-height:1.62;margin:0 0 8px;max-width:62ch}
.doss-hero-guidance{font-size:12.5px;color:#b8ad9f;line-height:1.56;margin:0 0 24px;max-width:62ch}
.doss-hero-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.doss-hero-primary-btn,
.doss-hero-ghost-btn,
.doss-trust-cta,
.doss-risk-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:10px;font-size:12px;font-weight:800;line-height:1.15;cursor:pointer;text-decoration:none;
  transition:background .15s,border-color .15s,box-shadow .15s,transform .15s,color .15s;
}
.doss-hero-primary-btn{padding:10px 17px;border:1px solid rgba(142,199,182,.5);background:rgba(15,90,75,.3);color:#eefaf5;box-shadow:0 10px 22px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.12) inset}
.doss-hero-primary-btn:hover{background:rgba(15,90,75,.4);border-color:rgba(142,199,182,.66)}
.doss-hero-ghost-btn{padding:10px 14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.075);color:#ebe4da}
.doss-hero-ghost-btn:hover{background:rgba(255,255,255,.1);color:#f3eee7}
.doss-intel-panel{padding:30px 24px;border-right:1px solid rgba(255,255,255,.07)}
.doss-intel-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.doss-intel-eyebrow,.doss-status-eyebrow{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#8ec7b6;font-weight:800}
.doss-intel-sig-badge{font-size:8.5px;padding:3px 8px;border-radius:999px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.doss-intel-sig-badge--stable{background:rgba(16,185,129,.14);color:#9ce5cb;border:1px solid rgba(16,185,129,.28)}
.doss-intel-sig-badge--low_signal{background:rgba(245,158,11,.14);color:#f7ca72;border:1px solid rgba(245,158,11,.28)}
.doss-intel-sig-badge--no_data{background:rgba(148,163,184,.16);color:#cbd5e1;border:1px solid rgba(148,163,184,.28)}
.doss-intel-sig-badge--blocked{background:rgba(239,68,68,.14);color:#fecaca;border:1px solid rgba(239,68,68,.28)}
.doss-intel-rows{display:flex;flex-direction:column;gap:0}
.doss-intel-row{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:baseline;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.doss-intel-row:last-child{border-bottom:0}
.doss-intel-key,.doss-status-key{font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:#9f9689;font-weight:800}
.doss-intel-val,.doss-status-val{font-size:12px;color:#e7dfd5;line-height:1.46}
.doss-intel-row--warn .doss-intel-val{color:#f7ca72}
.doss-intel-row--risk .doss-intel-val{color:#fecaca}
.doss-intel-row--ok .doss-intel-val{color:#9ce5cb}
.doss-status-panel{padding:28px 22px 28px 20px}
.doss-status-list{display:flex;flex-direction:column;gap:11px}
.doss-status-item{display:flex;flex-direction:column;gap:2px}

.dashx-shell .dashx-main-grid{gap:22px}
.dashx-shell .dashx-left-col,
.dashx-shell .dashx-right-col{gap:20px}
.dashx-shell .dashx-lower-grid{gap:18px}
.dashx-shell .doss-decision-level,
.dashx-shell .doss-monitoring-level{position:relative}
.dashx-shell .dashx-panel,
.dashx-shell .dv12-panel-card,
.dashx-shell .dtConcrete,
.dashx-shell .cc-briefing,
.dashx-shell .soLiveNoData{color:var(--doss-text)}
.dashx-shell .dtConcrete{background:linear-gradient(180deg,#f8fbff,#f4f7fb);border-color:#d4def0;box-shadow:var(--doss-shadow-inner)}
.dashx-shell .dtConcrete__badge{color:#0f5a4b;font-weight:850}
.dashx-shell .dtConcrete__text{color:#263342;font-weight:650}
.dashx-shell .dtConcrete__hint{color:#566273;font-style:normal}
.dashx-shell .dtConcrete__link{min-height:30px;padding:6px 10px;border:1px solid #d0dcea;border-radius:9px;background:#f8fbff;color:#0f5a4b;font-weight:800;text-decoration:none}
.dashx-shell .dtConcrete__link:hover{background:#e7f1ed;border-color:#c7dbd4;color:#0a4237;text-decoration:none}

/* Executive protocol strip */
.doss-trust-strip{
  display:grid;
  grid-template-columns:minmax(190px,.7fr) minmax(0,2.8fr);
  align-items:center;
  gap:18px;
  padding:18px 20px;
  margin:0;
  border:1px solid #d0dcea;
  border-radius:16px;
  background:
    linear-gradient(90deg, rgba(15,90,75,.04), transparent 36%),
    linear-gradient(180deg, #fafcff, #eef3f8);
  box-shadow:var(--doss-shadow-command);
}
.doss-trust-title{margin:0;padding-right:18px;border-right:1px solid #d4def0}
.doss-trust-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}
.doss-trust-item{
  display:grid;grid-template-columns:auto auto;align-items:center;gap:7px;
  min-height:38px;padding:7px 10px;border:1px solid #d4def0;border-radius:10px;
  background:linear-gradient(180deg,#f8fbff,#f4f7fb);
  box-shadow:var(--doss-shadow-inner);
}
.doss-trust-lbl{color:#566273;font-size:9.5px;letter-spacing:.095em;text-transform:uppercase;font-weight:850}
.doss-trust-val{font-weight:850;color:#243244;font-size:12px;white-space:nowrap}
.doss-trust-val--ok{color:#0f5a4b}
.doss-trust-val--critical{color:#b42318}
.doss-trust-val--warn{color:#9a6b1f}
.doss-trust-sep{width:1px;height:28px;background:#d8e2ef;display:inline-block}
.doss-trust-spacer{flex:1}
.doss-trust-cta{min-height:40px;padding:8px 15px;border:1px solid rgba(15,90,75,.36);background:linear-gradient(180deg,#f2faf6,#dcebe6);color:#0a4237;box-shadow:0 10px 20px rgba(15,90,75,.12),0 1px 0 rgba(255,255,255,.75) inset;white-space:nowrap}
.doss-trust-cta:hover{background:#dcebe6;border-color:rgba(15,90,75,.48);transform:translateY(-1px)}

/* SensAI decision intelligence band */
.doss-intel-band{
  position:relative;overflow:hidden;margin:0;border:1px solid #c9d5e4;border-radius:18px;
  background:
    radial-gradient(ellipse 60% 120% at 4% 48%, rgba(79,110,247,.04) 0%, transparent 58%),
    linear-gradient(180deg,#fafcff,#eef3f8);
  box-shadow:var(--doss-shadow-command);
}
.doss-intel-band::before{content:'';position:absolute;inset:16px;border:1px solid rgba(180,210,240,.5);border-radius:14px;pointer-events:none}
.doss-intel-band-ambient{position:absolute;inset:0;background:linear-gradient(90deg, rgba(15,90,75,.045), transparent 42%);pointer-events:none}
.doss-intel-band-content{display:grid;grid-template-columns:minmax(0,1.36fr) minmax(310px,.78fr);align-items:stretch;gap:30px;padding:34px 36px;position:relative;z-index:1}
.doss-intel-band-main{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:760px}
.doss-intel-band-eyebrow,.doss-section-eyebrow{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#0f5a4b;font-weight:850}
.doss-intel-band-title{font-size:23px;font-weight:850;color:var(--doss-text);margin:7px 0 10px;letter-spacing:-.015em;line-height:1.13}
.doss-intel-band-sub{font-size:13.5px;color:var(--doss-text-2);line-height:1.64;margin:0 0 22px;max-width:62ch}
.doss-intel-band .doss-hero-primary-btn{
  align-self:flex-start;min-height:42px;padding:10px 17px;
  border-color:rgba(15,90,75,.46);background:linear-gradient(180deg,#12624f,#0d4f42);
  color:#f0faf6;box-shadow:0 12px 24px rgba(15,90,75,.18),0 1px 0 rgba(255,255,255,.18) inset;
}
.doss-intel-band .doss-hero-primary-btn:hover{background:linear-gradient(180deg,#16715c,#0f5a4b);border-color:rgba(15,90,75,.62);box-shadow:0 14px 28px rgba(15,90,75,.22),0 1px 0 rgba(255,255,255,.2) inset}
.doss-intel-band-trust{font-size:12px;color:#566273;margin:11px 0 0}
.doss-intel-band-meta{display:flex;align-items:stretch;min-width:0}
.doss-intel-band-pending{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:148px;padding:18px;
  border-radius:14px;border:1px solid #d4def0;background:linear-gradient(180deg,#f8fbff,#eef3f8);
  font-size:13px;color:var(--doss-text-2);line-height:1.45;text-align:center;box-shadow:var(--doss-shadow-inner);
}
.doss-intel-band-metrics{
  display:grid;grid-template-columns:1.2fr repeat(2,minmax(0,.9fr));gap:0;align-items:stretch;
  width:100%;border:1px solid #d4def0;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,#f8fbff,#f4f7fb);box-shadow:var(--doss-shadow-inner);
}
.doss-intel-metric{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;min-height:152px;padding:18px 16px;border-right:1px solid #d8e2ef;background:transparent}
.doss-intel-metric:last-child{border-right:0}
.doss-intel-metric:first-child{background:linear-gradient(180deg,rgba(15,90,75,.065),rgba(255,255,255,.18))}
.doss-intel-metric:first-child .doss-intel-metric-val{font-size:32px;color:#0f5a4b}
.doss-intel-metric-val{font-size:25px;font-weight:850;color:var(--doss-text);letter-spacing:-.02em}
.doss-intel-metric-lbl{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#566273;font-weight:850}

/* KPI system state */
.doss-kpi-surface{
  padding:24px;border:1px solid #d0dcea;border-radius:18px;
  background:
    linear-gradient(180deg,rgba(248,251,255,.96),rgba(241,246,252,.9)),
    var(--doss-surface);
  box-shadow:var(--doss-shadow-command);
}
.doss-kpi-surface .so-kpi-zone-header{margin:0 0 18px;padding:0 0 16px;background:transparent;border:0;border-bottom:1px solid #d8e2ef;box-shadow:none}
.doss-kpi-surface .so-kpi-zone-header__label{color:#0f5a4b;letter-spacing:.14em;font-weight:850}
.doss-kpi-surface .so-kpi-zone-header__range,
.doss-kpi-surface .so-kpi-zone-header__status{color:#566273;font-weight:700}
.doss-kpi-surface .dtGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:0}
.doss-kpi-card{
  display:flex;flex-direction:column;min-height:196px;padding:18px 16px 15px;background:linear-gradient(180deg,#f8fbff,#f4f7fb);
  border:1px solid #d8e2ef;border-radius:12px;box-shadow:0 5px 14px rgba(8,18,34,.042),0 1px 0 rgba(255,255,255,.9) inset;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.doss-kpi-card::before{background:var(--kpi-accent,#0f5a4b);width:2px}
.doss-kpi-card:hover{transform:translateY(-1px);background:linear-gradient(180deg,#ffffff,#f8fbff);border-color:#c9d5e4;box-shadow:0 12px 26px rgba(8,18,34,.075),0 1px 0 rgba(255,255,255,.9) inset}
.doss-kpi-card .dtCard__header{min-height:26px;margin-bottom:8px;align-items:flex-start}
.doss-kpi-card .doss-kpi-name,.doss-kpi-card .dtCard__kpi{color:#0d4f42;font-size:10.5px;letter-spacing:.1em;font-weight:850;line-height:1.25}
.doss-kpi-card .doss-kpi-value,.doss-kpi-card .dv12-kpi-val{color:var(--doss-text);font-size:clamp(25px,2.35vw,31px);font-weight:850;letter-spacing:-.018em;margin:4px 0 8px}
.doss-kpi-card .dtCard__interp{background:#edf2f7;border:1px solid #c9d5e4;color:#4f5d70;font-weight:850}
.doss-kpi-card .dtCard__interp--positive{background:#e7f1ed;color:#0f5a4b;border-color:#cadbd5}
.doss-kpi-card .dtCard__interp--warn{background:rgba(245,158,11,.09);color:#b45309;border-color:rgba(245,158,11,.26)}
.doss-kpi-card .dv12-kpi-viz{min-height:42px;margin:7px 0 8px}
.doss-kpi-card .dtCard__def,.doss-kpi-card .dtCard__actionText{font-size:12px;line-height:1.5;color:#4f5d70}
.doss-kpi-card .dtCard__action{margin-top:auto;padding-top:9px;border-top-color:#d8e2ef}
.doss-kpi-card .dtCard__actionArrow{color:#0f5a4b}
.doss-kpi-card .dv12-bar.is-dimmed .dv12-bar__track{background:#edf2f7}
.doss-kpi-card .dv12-bar.is-dimmed .dv12-bar__fill{background:#b8c9de}
.doss-kpi-card .dv12-donut{display:block}
.doss-kpi-card .dv12-donut.is-dimmed circle:first-child{stroke:#d8e2ef}
.doss-kpi-card .dv12-donut.is-dimmed circle:last-child{stroke:#b8c9de}
.dashx-shell .so-kpi-empty-banner{margin:0 0 14px;border:1px solid #d4def0;border-radius:13px;background:linear-gradient(180deg,#f8fbff,#f4f7fb);color:var(--doss-text-2);box-shadow:var(--doss-shadow-inner)}
.dashx-shell .so-kpi-empty-banner strong{color:var(--doss-text)}
.dashx-shell .so-kpi-empty-banner p{color:var(--doss-text-2)}
.dashx-shell .so-kpi-empty-sparkline line{stroke:#c9d5e4}
.dashx-shell .so-kpi-empty-sparkline circle{fill:#b8c9de}
.doss-kpi-focus-list{display:flex;flex-direction:column;gap:10px}

/* Decision and monitoring surfaces */
.doss-decision-surface,.doss-monitor-surface{min-height:100%}
.doss-priority-section,.doss-risk-surface,.doss-wl-section,.doss-activity-card{
  padding:20px 22px;margin-bottom:0;border:1px solid var(--doss-line);border-radius:16px;
  background:linear-gradient(180deg,#f8fbff,#f4f7fb);box-shadow:var(--doss-shadow-decision);
}
.doss-wl-section,.doss-activity-card,.dashx-shell .doss-monitoring-level .dashx-panel{
  background:linear-gradient(180deg,#f4f7fb,#edf2f7);box-shadow:var(--doss-shadow-monitor);
}
.doss-priority-section,.doss-risk-surface{border-left:3px solid rgba(15,90,75,.22)}
.doss-priority-header,.doss-risk-header,.doss-wl-header,.doss-activity-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;flex-wrap:wrap;gap:8px}
.doss-decision-flow,.doss-risk-items,.doss-activity-timeline{display:flex;flex-direction:column;gap:10px}
.doss-decision-step{display:flex;align-items:stretch;gap:15px}
.doss-decision-seq{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:30px;padding:11px 0 0}
.doss-decision-num{width:28px;height:28px;border-radius:50%;background:#edf2f7;border:1px solid #c9d5e4;color:#4f5d70;font-size:10.5px;font-weight:850;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doss-decision-line{flex:1;width:2px;background:#d8e2ef;margin:6px 0;min-height:14px;border-radius:999px}
.doss-decision-body,.doss-risk-item,.doss-act-item{border:1px solid #d4def0;background:#fafcff;border-radius:12px;box-shadow:var(--doss-shadow-inner)}
.doss-decision-body{flex:1;display:block;text-align:left;padding:13px 15px;cursor:pointer;margin:4px 0;transition:background .13s,border-color .13s,transform .13s,box-shadow .13s}
.doss-decision-step.is-primary .doss-decision-body{background:linear-gradient(180deg,#edf6f2,#f8fcfa);border-color:#b9d2c8;box-shadow:0 9px 22px rgba(15,90,75,.085),0 1px 0 rgba(255,255,255,.9) inset}
.doss-decision-step.is-primary .doss-decision-num{background:#0f5a4b;border-color:#0f5a4b;color:#f0faf6}
.doss-decision-step.is-primary .doss-decision-line{background:#c7dbd4}
.doss-decision-body:hover,.doss-act-item:hover{background:#ffffff;border-color:#c9d5e4;transform:translateY(-1px);box-shadow:0 10px 22px rgba(8,18,34,.065)}
.doss-decision-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.doss-decision-title,.doss-risk-title,.doss-act-label{font-size:13.5px;font-weight:850;color:var(--doss-text)}
.doss-decision-why,.doss-risk-why,.doss-act-summary,.doss-act-detail,.doss-act-time{font-size:12px;color:#566273;line-height:1.48;margin:0}
.doss-decision-timing{font-size:10.5px;padding:4px 9px;border-radius:999px;font-weight:850;letter-spacing:.04em;white-space:nowrap;border:1px solid #d0dcea;background:#edf2f7;color:#344054}
.doss-decision-timing--now{background:#e7f1ed;color:#0f5a4b;border-color:#c7dbd4}
.doss-decision-timing--next{background:#eef4fb;color:#244d74;border-color:#d3e0ec}
.doss-decision-timing--later{background:#edf2f7;color:#667085;border-color:#d4def0}
.doss-risk-item{padding:14px}
.doss-risk-item--high{background:rgba(180,35,24,.04);border-color:rgba(180,35,24,.22)}
.doss-risk-item--medium{background:rgba(245,158,11,.052);border-color:rgba(245,158,11,.28)}
.doss-risk-item-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.doss-risk-sev{font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:850;flex-shrink:0;color:#b45309}
.doss-risk-item--high .doss-risk-sev{color:#b42318}
.doss-risk-cta{padding:8px 13px;border:1px solid #d0dcea;background:#f8fbff;color:#263342;font-size:11.5px;margin-top:11px;box-shadow:0 6px 14px rgba(8,18,34,.048)}
.doss-risk-cta:hover{background:#eef3f8;border-color:#b5c9d8;color:#101828}

.doss-wl-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.doss-wl-entity{padding:16px 14px;border-radius:12px;border:1px solid #d4def0;background:#fafcff;box-shadow:var(--doss-shadow-inner)}
.doss-wl-entity--leader{background:#edf6f2;border-color:#c7dbd4}
.doss-wl-entity--focus{background:#eef4fb;border-color:#c3d6e8}
.doss-wl-entity--empty{background:#fafcff;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--doss-text-3);font-size:12.5px}
.doss-wl-role{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#596579;font-weight:850;margin-bottom:7px}
.doss-wl-entity--leader .doss-wl-role{color:#0f5a4b}
.doss-wl-entity--focus .doss-wl-role{color:#244d74}
.doss-wl-name{font-size:15px;font-weight:800;color:var(--doss-text);margin:0 0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doss-wl-metrics{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.doss-wl-metrics span,.doss-wl-context,.doss-wl-empty,.doss-activity-empty span{font-size:12px;color:var(--doss-text-3);line-height:1.45}
.doss-wl-context{margin:0}
.doss-wl-empty{text-align:center;padding:16px 0}

.doss-activity-card{padding:20px}
.doss-act-all-btn{font-size:11.5px;color:#0f5a4b;font-weight:850;cursor:pointer;background:none;border:none;padding:3px 0;transition:color .13s}
.doss-act-all-btn:hover{color:#0a4237;text-decoration:underline;text-underline-offset:3px}
.doss-activity-card .doss-hero-ghost-btn{
  padding:8px 13px;border-color:#d0dcea;background:#f8fbff;color:#243244;
  box-shadow:0 7px 16px rgba(8,18,34,.055);
}
.doss-activity-card .doss-hero-ghost-btn:hover{background:#eef3f8;border-color:#b5c9d8;color:#101828}
.doss-activity-empty{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:12px 0}
.doss-act-item{display:flex;align-items:flex-start;gap:12px;padding:11px 10px;cursor:pointer;border-bottom:1px solid #d8e2ef;transition:background .13s,box-shadow .13s}
.doss-act-item:last-child{border-bottom:1px solid #d4def0}
.doss-act-node{width:8px;height:8px;border-radius:50%;background:#0f5a4b;border:1px solid rgba(15,90,75,.26);box-shadow:0 0 0 4px rgba(15,90,75,.08);flex-shrink:0;margin-top:5px}
.doss-act-body{flex:1;min-width:0}
.doss-act-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:3px}
.doss-act-type{font-size:10.5px;font-weight:800;color:#0f5a4b;letter-spacing:.04em}
.doss-act-trigger{font-size:10px;padding:2px 7px;border-radius:999px;font-weight:800;background:#edf2f7;border:1px solid #d4def0;color:#596579}
.doss-act-summary,.doss-act-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.dashx-shell .dashx-panel{
  border:1px solid var(--doss-line);border-radius:15px;
  background:linear-gradient(180deg,#f4f7fb,#edf2f7);
  box-shadow:var(--doss-shadow-monitor);
}
.dashx-shell .dashx-budget-metrics > div,
.dashx-shell .dashx-score-grid > div,
.dashx-shell .dashx-trend-grid > div,
.dashx-shell .dashx-spark,
.dashx-shell .dashx-rank-list div{background:#f8fbff;border:1px solid #d8e2ef;border-radius:11px;box-shadow:var(--doss-shadow-inner)}
.dashx-shell .dashx-budget-metrics span,
.dashx-shell .dashx-score-grid span,
.dashx-shell .dashx-channel__legend span{color:#596579;font-weight:750}
.dashx-shell .dashx-budget-metrics strong,
.dashx-shell .dashx-score-grid strong,
.dashx-shell .dashx-rank-list strong,
.dashx-shell .dashx-rank-list em,
.dashx-shell .dashx-channel__legend strong,
.dashx-shell .dashx-channel__pie span{color:var(--doss-text)}
.dashx-shell .dashx-panel header h2,.dashx-shell .dashx-panel header h3{color:var(--doss-text);font-weight:850}
.dashx-shell .dashx-panel header p,.dashx-shell .dashx-empty,.dashx-shell .dv12-chart__info p,.dashx-shell .dashx-budget-risk{color:#566273}
.dashx-shell .dashx-channel__pie::after{background:#f8fbff;border-color:#d4def0}
.dashx-shell .dv12-chart__grid{border-left-color:#d4def0;border-bottom-color:#d4def0}
.dashx-shell .dv12-chart__line{background:#d8e2ef}
.dashx-shell .dv12-chart__ylabel,.dashx-shell .dv12-chart__xaxis{color:#667085}
.dashx-shell .soLiveNoData{max-width:none;padding:38px 32px;text-align:left;border:1px solid #d0dcea;border-radius:17px;background:linear-gradient(180deg,#fafcff,#eef3f8);box-shadow:var(--doss-shadow-decision)}
.dashx-shell .soLiveNoData__title{color:var(--doss-text)}
.dashx-shell .soLiveNoData__text{color:var(--doss-text-2)}
.dashx-shell .soLiveNoData__actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
.dashx-shell .soLiveNoData__tips{background:#fafcff;border:1px solid #d4def0;color:var(--doss-text-3)}

/* ── Dashboard layout grids ── */
.dashx-main-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);align-items:start}
.dashx-left-col,.dashx-right-col{display:flex;flex-direction:column}
.dashx-lower-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.dashx-intel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.dashx-activity-grid{display:grid;grid-template-columns:1fr 1fr;align-items:start}
.dashx-empty{font-size:12.5px;color:#566273;padding:16px 0;text-align:center}
.dashx-panel header{padding:0 0 12px;border-bottom:1px solid #d8e2ef;margin-bottom:14px}
.dashx-panel header h2{margin:0 0 3px;font-size:16px;font-weight:850;letter-spacing:-.01em}
.dashx-panel header p{margin:0;font-size:12px;color:#566273;line-height:1.5}
.dashx-shell .dash2-eyebrow{color:#0f5a4b;letter-spacing:.14em;font-weight:850;font-size:9.5px}

/* ── KPI Zone Header ── */
.so-kpi-zone-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px}
.so-kpi-zone-header__left{display:flex;align-items:baseline;gap:10px}
.so-kpi-zone-header__range{font-size:12.5px;font-weight:750;padding:2px 7px;border-radius:7px;transition:background .3s,color .3s}
.so-kpi-zone-header__right{display:flex;align-items:center;gap:7px}
.so-kpi-zone-status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}
.so-kpi-zone-header__status{font-size:11px;font-weight:700}
@keyframes soRangeFlash{0%{background:rgba(15,90,75,.16);color:#0f5a4b}to{background:transparent;color:inherit}}
.so-range-indicator--flash{animation:soRangeFlash .75s ease both}

/* ── KPI first-card elevation ── */
.doss-kpi-surface .dtGrid > .doss-kpi-card:first-child{background:linear-gradient(180deg,#ffffff,#f6faff);border-color:#c5d4e8;box-shadow:0 8px 22px rgba(8,18,34,.068),0 1px 0 rgba(255,255,255,.95) inset}

/* ── Channel Performance pie + legend ── */
.dashx-channel{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:10px}
.dashx-channel__pie{width:82px;height:82px;border-radius:50%;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}
.dashx-channel__pie::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%}
.dashx-channel__pie span{position:relative;z-index:1;font-size:11px;font-weight:850}
.dashx-channel__legend{display:flex;flex-direction:column;gap:7px;flex:1}
.dashx-channel__legend div{display:flex;align-items:center;gap:7px;font-size:12px}
.dashx-channel__legend i{width:10px;height:10px;border-radius:2px;flex-shrink:0;display:inline-block}

/* ── Rank lists (Top Campaigns / Creatives) ── */
.dashx-rank-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.dashx-rank-list div{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:9px}
.dashx-rank-list div span{font-size:10.5px;font-weight:850;font-variant-numeric:tabular-nums}
.dashx-rank-list div strong{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.dashx-rank-list div em{font-size:12px;font-weight:850;color:#0f5a4b;font-style:normal;white-space:nowrap}

/* ── Trend sparks ── */
.dashx-trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.dashx-trend-grid div{display:flex;flex-direction:column;gap:6px;padding:10px}
.dashx-trend-grid h3{margin:0;font-size:10.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.dashx-spark{display:flex;align-items:flex-end;gap:2px;height:44px;padding:4px 0}
.dashx-spark i{flex:1;min-width:3px;max-width:9px;border-radius:2px 2px 0 0;min-height:4px;opacity:.78}
.dashx-spark.is-spend i{background:#14b8a6}
.dashx-spark.is-roas i{background:#6366f1}
.dashx-spark.is-conv i{background:#f59e0b}

/* ── Budget metrics ── */
.dashx-budget-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.dashx-budget-metrics div{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px}

/* ── KPI empty sparkline banner ── */
.so-kpi-empty-banner{padding:16px 18px;border-radius:12px;display:flex;align-items:flex-start;gap:12px}
.so-kpi-empty-banner__body strong{display:block;font-size:13.5px;font-weight:850;margin-bottom:5px}
.so-kpi-empty-banner__body p{margin:0;font-size:12.5px;line-height:1.5}

/* ── SensAI Activity timeline (dsh-act-*) ── */
.dsh-activity-list{display:flex;flex-direction:column}
.dsh-activity-item{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-bottom:1px solid #d8e2ef;cursor:pointer;transition:background .13s}
.dsh-activity-item:last-child{border-bottom:none}
.dsh-activity-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dsh-activity-item-summary{font-size:12px;color:#566273;line-height:1.45}
.dsh-act-type{font-size:10px;font-weight:850;color:#0f5a4b;letter-spacing:.05em}
.dsh-act-trigger{font-size:9.5px;padding:2px 6px;border-radius:999px;font-weight:800;background:#edf2f7;border:1px solid #d4def0;color:#596579}
.dsh-act-auto{background:#edf6f2;border-color:#c7dbd4;color:#0f5a4b}
.dsh-act-manual{background:#edf2f7;border-color:#d4def0;color:#596579}
.dsh-act-time{font-size:10px;color:#8896a6;margin-left:auto}

/* ── Signal quality arc badges ── */
.sns-arc-signal{font-size:9px;padding:2px 7px;border-radius:999px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center}
.sns-arc-signal--ok,.sns-arc-signal--high{background:rgba(15,90,75,.1);color:#0f5a4b;border:1px solid rgba(15,90,75,.2)}
.sns-arc-signal--low_signal,.sns-arc-signal--low{background:rgba(245,158,11,.09);color:#b45309;border:1px solid rgba(245,158,11,.22)}
.sns-arc-signal--no_signal{background:#edf2f7;color:#566273;border:1px solid #c9d5e4}
.sns-arc-signal--blocked{background:rgba(180,35,24,.07);color:#b42318;border:1px solid rgba(180,35,24,.18)}

/* ── Responsive: dashboard grids ── */
@media (max-width:1180px){
  .dashx-main-grid{grid-template-columns:1fr}
  .dashx-intel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .dashx-lower-grid,.dashx-activity-grid{grid-template-columns:1fr}
  .dashx-intel-grid{grid-template-columns:1fr}
  .dashx-trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:540px){
  .dashx-trend-grid{grid-template-columns:1fr}
  .dashx-channel{flex-direction:column;align-items:flex-start}
}

@media (max-width:1180px){
  .doss-hero-grid{grid-template-columns:1.35fr 1.1fr}
  .doss-status-panel{display:none}
}
@media (max-width:980px){
  .doss-kpi-surface .dtGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doss-intel-band-content{grid-template-columns:1fr}
}
@media (max-width:820px){
  .doss-hero-grid{grid-template-columns:1fr}
  .doss-hero-title{max-width:none}
  .doss-brief{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .doss-intel-panel{border-right:0;border-top:1px solid rgba(255,255,255,.07)}
  .doss-wl-grid{grid-template-columns:1fr}
  .doss-intel-band-metrics{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .doss-intel-metric{min-height:110px}
  .doss-trust-strip{grid-template-columns:1fr}
  .doss-trust-title{border-right:0;border-bottom:1px solid #d4def0;padding:0 0 12px}
}
@media (max-width:680px){
  .dashx-shell{padding:12px 12px 112px;gap:16px}
  .doss-kpi-surface .dtGrid{grid-template-columns:1fr}
  .doss-trust-inner{display:grid;grid-template-columns:1fr}
  .doss-trust-item{grid-template-columns:1fr}
  .doss-trust-sep{display:none}
  .doss-trust-spacer{display:none}
  .doss-trust-cta{width:100%}
  .doss-intel-band-content{padding:22px}
  .doss-intel-band-metrics{grid-template-columns:1fr}
  .doss-intel-metric{min-height:86px;border-right:0;border-bottom:1px solid #d8e2ef}
  .doss-intel-metric:last-child{border-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  .doss-hero-primary-btn,.doss-hero-ghost-btn,.doss-decision-body,.doss-risk-cta,.doss-trust-cta,.doss-act-all-btn,.doss-kpi-card{transition:none}
}

/* ── SETTINGS — ELITE CONTROL CENTER (ctl-*) ────────────────────────────── */

.ctl-shell {
  --ctl-bg: #eef3f8;
  --ctl-surface: #f8fbff;
  --ctl-surface-soft: #f4f7fb;
  --ctl-line: #d8e2ef;
  --ctl-line-strong: #c9d5e4;
  --ctl-ink: #111827;
  --ctl-text: #334155;
  --ctl-muted: #667085;
  --ctl-faint: #7a8494;
  --ctl-forest: #0f5a4b;
  --ctl-forest-soft: #e7f3ef;
  --ctl-amber: #9a6b1f;
  --ctl-amber-soft: #fff3d8;
  --ctl-red: #b42318;
  --ctl-red-soft: #fff0ed;
  --ctl-shadow: 0 20px 52px rgba(8, 18, 34, 0.1), 0 1px 0 rgba(255,255,255,0.9) inset;
  --ctl-shadow-soft: 0 10px 26px rgba(8, 18, 34, 0.08);
  display: flex;
  flex-direction: column;
  color: var(--ctl-text);
}

/* Hero */
.ctl-hero {
  background: radial-gradient(ellipse 50% 80% at 5% 50%, rgba(6,182,212,0.12) 0%, transparent 55%),
              radial-gradient(ellipse 35% 50% at 95% 20%, rgba(15,90,75,0.15) 0%, transparent 50%),
              linear-gradient(180deg, #171b22 0%, #11151b 100%);
  border-radius: 14px;
  margin: 16px 16px 0;
  overflow: hidden;
  box-shadow: 0 20px 46px rgba(17,21,27,0.14);
}
.ctl-hero-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.7fr;
  gap: 32px;
  align-items: start;
  padding: 40px 44px;
}
.ctl-brief { display: flex; flex-direction: column; gap: 12px; }
.ctl-hero-eyebrow {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(6,182,212,0.75);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
}
.ctl-hero-title {
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 700;
  color: rgba(240,237,232,0.95);
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0;
}
.ctl-hero-desc {
  font-size: 13px;
  color: rgba(226,222,214,0.72);
  line-height: 1.55;
  margin: 0;
  max-width: 44ch;
}
.ctl-hero-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.ctl-hero-pill {
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(226,222,214,0.76);
}
.ctl-hero-pill--live { background: rgba(15,90,75,0.2); border-color: rgba(90,170,148,0.3); color: rgba(90,170,148,0.9); }
.ctl-hero-pill--demo { background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.25); color: rgba(245,158,11,0.8); }

/* Infra Console */
.ctl-infra-console {
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 20px;
}
.ctl-infra-label {
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(226,222,214,0.58);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
  margin-bottom: 12px;
}
.ctl-infra-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
}
.ctl-infra-row--last { border-bottom: none; }
.ctl-infra-key {
  font-size: 10px;
  letter-spacing: 0.08em;
  color: rgba(226,222,214,0.58);
  text-transform: uppercase;
}
.ctl-infra-val { font-size: 12px; color: rgba(245,240,230,0.9); font-weight: 650; }
.ctl-infra-val--live { color: rgba(90,170,148,0.9); }
.ctl-infra-val--demo { color: rgba(245,158,11,0.8); }

/* Status Panel (right column) */
.ctl-status-panel {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ctl-conn-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.ctl-conn-row:last-child { border-bottom: none; }
.ctl-conn-label { font-size: 12px; color: rgba(245,240,230,0.82); flex: 1; }
.ctl-conn-state { font-size: 11px; color: rgba(226,222,214,0.62); }

/* Platform dots */
.ctl-plat-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.ctl-plat-dot--connected { background: rgba(90,170,148,0.85); box-shadow: 0 0 6px rgba(90,170,148,0.4); }
.ctl-plat-dot--warning   { background: rgba(245,158,11,0.75); }
.ctl-plat-dot--offline   { background: #9ca3af; box-shadow: 0 0 0 3px rgba(156,163,175,0.12); }

/* Ops note */
.ctl-ops-note {
  font-size: 12px;
  color: var(--ctl-muted);
  padding: 10px 32px;
  border-bottom: 1px solid var(--ctl-line);
}
.ctl-ops-note a { color: var(--ctl-forest); text-decoration: none; font-weight: 700; }
.ctl-ops-note a:hover { color: #0a4036; }

/* Operative State bar */
.ctl-op-state {
  padding: 10px 18px 12px;
  border-top: 1px solid var(--ctl-line, rgba(255,255,255,0.1));
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ctl-op-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(245,240,230,0.45);
  margin: 0 0 2px;
}
.ctl-op-body { display: flex; flex-direction: column; gap: 2px; }
.ctl-op-status {
  font-size: 13px;
  font-weight: 700;
  color: rgba(245,240,230,0.95);
  line-height: 1.25;
}
.ctl-op-desc {
  font-size: 11px;
  color: rgba(245,240,230,0.58);
  line-height: 1.5;
}
.ctl-op-state--ok .ctl-op-status { color: rgba(90,170,148,0.95); }
.ctl-op-state--partial .ctl-op-status { color: rgba(245,158,11,0.9); }
.ctl-op-state--idle .ctl-op-status { color: rgba(245,240,230,0.7); }

/* Tab Navigation */
.ctl-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--ctl-line);
  background: linear-gradient(180deg, #f8fbff, #eef3f8);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 18px;
}
.ctl-tabs::-webkit-scrollbar { display: none; }
.ctl-tab {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 48px;
  padding: 12px 18px;
  color: var(--ctl-muted);
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border: none;
  background: transparent;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 140ms, background 140ms, border-color 140ms;
  white-space: nowrap;
  position: relative;
  font-weight: 700;
}
.ctl-tab:hover:not(.active) {
  color: var(--ctl-text);
  background: #eef3f8;
}
.ctl-tab.active {
  color: var(--ctl-forest);
  border-bottom-color: var(--ctl-forest);
  background: linear-gradient(180deg, #f3fbf7, #e7f3ef);
}
.ctl-tab-icon { color: currentColor; display: flex; align-items: center; }
.ctl-tab.active .ctl-tab-icon { color: currentColor; }
.ctl-tab-label { font-size: 11px; }
.ctl-tab-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #ef4444;
  position: absolute;
  top: 8px; right: 8px;
}

/* Panel */
.ctl-content {
  padding: 30px 32px 42px;
  background: linear-gradient(180deg, rgba(248,251,255,0.96), rgba(241,246,252,0.98));
}
.ctl-panel { display: none; }
.ctl-panel.is-active { display: block; }

.ctl-panel-inner { max-width: 980px; display: flex; flex-direction: column; gap: 20px; }
.ctl-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}
.ctl-panel-eyebrow {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ctl-forest);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
  margin-bottom: 4px;
}
.ctl-panel-title {
  font-size: 20px;
  font-weight: 800;
  margin: 0;
  color: var(--text-primary, #111);
}

/* Platform Grid */
.ctl-plat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.ctl-platform-card {
  background: linear-gradient(180deg, var(--ctl-surface), var(--ctl-surface-soft));
  border: 1px solid var(--ctl-line);
  border-radius: 16px;
  padding: 20px 20px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 260px;
  box-shadow: var(--ctl-shadow-soft);
  transition: border-color 160ms, box-shadow 160ms, transform 160ms, background 160ms;
}
.ctl-platform-card--connected {
  border-color: #bfd8cf;
  background: linear-gradient(180deg, #f8fbff, #f4faf7);
}
.ctl-platform-card:hover {
  border-color: var(--ctl-line-strong);
  box-shadow: var(--ctl-shadow);
  transform: translateY(-1px);
}
.ctl-plat-head { display: flex; align-items: center; gap: 10px; }
.ctl-plat-icon {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 12px;
  background: #f8fbff;
  border: 1px solid var(--ctl-line);
}
.ctl-plat-info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.ctl-plat-name { font-size: 15px; font-weight: 800; color: var(--ctl-ink); }
.ctl-plat-desc { font-size: 12px; color: var(--ctl-muted); line-height: 1.4; }
.ctl-plat-status-label { font-size: 12.5px; color: var(--ctl-text); font-weight: 700; }
.ctl-plat-meta { font-size: 11.5px; color: var(--ctl-muted); }
.ctl-plat-meta-item { display: inline; }
.ctl-plat-accounts { display: flex; flex-direction: column; gap: 7px; margin-top: 2px; }
.ctl-plat-account-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: #f8fbff;
  border-radius: 9px;
  border: 1px solid #d8e2ef;
}
.ctl-plat-account-name { font-size: 12px; font-weight: 700; color: var(--ctl-ink); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ctl-plat-account-id { font-size: 11px; color: var(--ctl-muted); font-family: ui-monospace, monospace; flex-shrink: 0; }
.ctl-plat-action { margin-top: auto; padding-top: 4px; }

/* ── Platform Status Badges (set-*) ───────────────────────────────────────── */
.ctl-plat-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.set-platform-badge {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 2px 7px;
  border-radius: 4px;
  line-height: 1.4;
  flex-shrink: 0;
}
.set-platform-badge--beta {
  background: rgba(99, 102, 241, 0.10);
  border: 1px solid rgba(99, 102, 241, 0.22);
  color: #4f46e5;
}
.set-platform-badge--planned {
  background: rgba(156, 163, 175, 0.14);
  border: 1px solid rgba(156, 163, 175, 0.28);
  color: #6b7280;
}
.set-platform-note {
  font-size: 12px;
  line-height: 1.55;
  color: var(--ctl-muted);
  margin: 0;
  padding: 8px 10px;
  background: rgba(99, 102, 241, 0.04);
  border-left: 2px solid rgba(99, 102, 241, 0.22);
  border-radius: 0 6px 6px 0;
}
.set-platform-note--planned {
  background: rgba(156, 163, 175, 0.06);
  border-left-color: rgba(156, 163, 175, 0.26);
}

/* ── Planned platform card state ── */
.set-platform-card--planned {
  background: linear-gradient(180deg, #f9fafb, #f3f4f6);
  border-color: #e5e7eb;
  opacity: 0.78;
  pointer-events: none;
  user-select: none;
}
.set-platform-card--planned:hover {
  transform: none;
  box-shadow: var(--ctl-shadow-soft);
}
.set-plat-icon--planned {
  opacity: 0.5;
  filter: grayscale(0.6);
}
.set-plat-name--planned {
  color: #9ca3af;
}
.set-plat-status--planned {
  color: #9ca3af;
  font-style: italic;
}
.set-plat-btn--disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── Hero status panel — planned dot + badge ── */
.set-plat-dot--planned {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #d1d5db;
  border: 1px dashed #9ca3af;
}
.set-conn-state--planned { color: #9ca3af; font-style: italic; }
.set-conn-badge { display: inline-flex; align-items: center; font-size: 9.5px; font-weight: 800; letter-spacing: 0.04em; padding: 1px 5px; border-radius: 3px; vertical-align: middle; }
.set-conn-badge--beta { background: rgba(99,102,241,0.10); border: 1px solid rgba(99,102,241,0.20); color: #4f46e5; }

/* ── Platform grid — 4-card 2×2 layout ── */
.set-plat-grid--four {
  grid-template-columns: repeat(2, 1fr);
}

/* ── Static notification rows ── */
.set-notif-row--static {
  background: rgba(99,102,241,0.03);
  border-radius: 8px;
}

/* Health badge */
.ctl-health-badge {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f8fbff;
  border: 1px solid var(--ctl-line);
  color: var(--ctl-muted);
  white-space: nowrap;
  font-weight: 700;
}
.ctl-health-badge--full { background: var(--ctl-forest-soft); border-color: #bfd8cf; color: var(--ctl-forest); }
.ctl-health-badge--partial { background: var(--ctl-amber-soft); border-color: #e8ca8c; color: #7a4f14; }

/* ── Dashboard Elite — Operating System (2026-06-01) ─────────────────────── */

/* ── Shared surface base ── */
.db8-operating-header,
.db8-observability,
.db8-coverage,
.db8-coverage-wrap > .db8-coverage,
.db8-activity-card,
.db8-decision-queue,
.db8-sensei-summary {
  border:1px solid var(--exec-line-strong);
  border-radius:16px;
  background:var(--bg-surface);
  box-shadow:0 2px 8px rgba(10,20,40,.06),0 1px 0 rgba(255,255,255,.72) inset;
}

/* ── Layout shell ── */
.app-shell[data-route="dashboard"] .dashx-shell.dv12-shell{gap:12px}

/* ── Operating Status Hero ── */
.db8-operating-header{
  padding:26px 28px 22px;
  background:linear-gradient(140deg,#08111f 0%,#0c1b33 48%,#0f2444 100%);
  border-color:rgba(60,110,200,.2);
  box-shadow:0 10px 30px rgba(4,10,24,.22);
  color:#ddeeff;
}
.db8-operating-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:20px;align-items:start}
.db8-eyebrow{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#6a9ac4}
.db8-title{margin:8px 0 9px;font-size:clamp(17px,2vw,24px);line-height:1.15;color:#e8f2ff;font-weight:700;letter-spacing:-.02em}
.db8-meta{margin:0 0 14px;font-size:12.5px;color:#93aec8;line-height:1.6;overflow:hidden;text-overflow:ellipsis}
.db8-hero-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:9px;
  background:linear-gradient(135deg,var(--exec-accent),#0a9e82);
  border:1px solid rgba(15,160,130,.4);
  color:#fff;font-size:12px;font-weight:700;
  cursor:pointer;letter-spacing:.03em;
  transition:background 130ms,box-shadow 130ms,transform 130ms;
  box-shadow:0 2px 10px rgba(15,140,110,.3);
}
.db8-hero-cta:hover{background:linear-gradient(135deg,#0f8672,#09927a);transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,140,110,.4)}

/* Status badge row */
.db8-status-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.db8-status-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:6px;
  font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
}
.db8-status-badge--stable{background:rgba(28,156,99,.18);border:1px solid rgba(28,156,99,.3);color:#3cc880}
.db8-status-badge--act   {background:rgba(220,60,60,.18); border:1px solid rgba(220,60,60,.3); color:#f87171}
.db8-status-badge--watch {background:rgba(200,140,30,.18);border:1px solid rgba(200,140,30,.3);color:#fbbf24}
.db8-status-badge--uncertain{background:rgba(90,120,180,.18);border:1px solid rgba(90,120,180,.3);color:#93b4d8}
.db8-plat-chip{padding:2px 8px;border-radius:4px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#b0d4ee;font-size:10px;font-weight:600;letter-spacing:.04em}
.db8-plat-chip--empty{color:#556f8f;border-color:rgba(90,120,180,.2)}

/* Decision Snapshot sidebar */
.db8-decision-snapshot{
  padding:14px 16px;border-radius:12px;
  background:rgba(5,14,30,.36);
  border:1px solid rgba(90,140,200,.18);
}
.db8-decision-snapshot .db8-eyebrow{margin-bottom:10px;display:block}
.db8-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.db8-snapshot-item{
  padding:9px 10px;border:1px solid rgba(90,140,200,.12);
  border-right:0;border-bottom:0;
}
.db8-snapshot-item:nth-child(2n){border-right:0}
.db8-snapshot-item:nth-child(3),.db8-snapshot-item:nth-child(4){border-bottom:1px solid rgba(90,140,200,.12)}
.db8-snapshot-item > span{display:block;font-size:9.5px;color:#6a8fb0;text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}
.db8-snapshot-item strong{display:block;font-size:13px;color:#d4ecff;font-weight:700}
.db8-snapshot-item strong.db8-snap-stable  {color:#3cc880}
.db8-snapshot-item strong.db8-snap-act     {color:#f87171}
.db8-snapshot-item strong.db8-snap-watch   {color:#fbbf24}
.db8-snapshot-item strong.db8-snap-uncertain{color:#93b4d8}
.db8-snapshot-footer{
  display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;
  gap:4px 6px;align-items:center;
  margin-top:10px;padding-top:8px;border-top:1px solid rgba(90,140,200,.14);
  font-size:10px;
}
.db8-snapshot-footer span{color:#5a7e9c;text-transform:uppercase;letter-spacing:.07em}
.db8-snapshot-footer strong,.db8-snapshot-footer time{color:#b8d4ec;font-weight:600}

/* ── Decision Queue ── */
.db8-decision-queue{padding:20px 22px}
.db8-surface-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.db8-period{font-size:10px;font-weight:600;color:var(--exec-text-3);background:var(--exec-bg);border:1px solid var(--exec-line-strong);padding:3px 10px;border-radius:999px;letter-spacing:.04em}
.db8-dq-list{display:grid;gap:8px}
.db8-dq-item{
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:12px;
  padding:14px 16px;border-radius:12px;
  border:1px solid var(--exec-line-strong);
  border-left:3px solid var(--exec-line-strong);
  background:var(--exec-bg-2);
  transition:border-color 120ms,box-shadow 120ms,background 120ms;
}
.db8-dq-item:hover{background:var(--exec-bg-3);box-shadow:0 2px 8px rgba(10,20,40,.07)}
.db8-dq-item.is-act    {border-left-color:var(--danger)}
.db8-dq-item.is-observe{border-left-color:var(--warning)}
.db8-dq-item.is-chance {border-left-color:var(--success)}
.db8-dq-item.is-stable {border-left-color:var(--exec-accent)}
.db8-dq-item.is-uncertain{border-left-color:rgba(90,120,180,.5)}
.db8-dq-status{display:flex;align-items:center}
.db8-dq-badge{
  padding:3px 9px;border-radius:5px;font-size:9.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;
  background:var(--exec-bg);border:1px solid var(--exec-line-strong);color:var(--exec-text-3);
}
.is-act .db8-dq-badge   {background:rgba(220,60,60,.1); border-color:rgba(220,60,60,.3); color:var(--danger)}
.is-observe .db8-dq-badge{background:rgba(200,140,30,.1);border-color:rgba(200,140,30,.3);color:var(--warning)}
.is-chance .db8-dq-badge {background:rgba(28,156,99,.1); border-color:rgba(28,156,99,.3); color:var(--success)}
.is-stable .db8-dq-badge {background:rgba(15,140,110,.1);border-color:rgba(15,140,110,.3);color:var(--exec-accent)}
.db8-dq-body{min-width:0}
.db8-dq-body strong{display:block;font-size:13px;color:var(--exec-text);font-weight:700;line-height:1.25}
.db8-dq-body p{margin:4px 0 0;font-size:11.5px;color:var(--exec-text-2);line-height:1.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.db8-dq-cta{
  flex-shrink:0;padding:7px 13px;border-radius:8px;font-size:11.5px;font-weight:600;
  border:1px solid var(--exec-line-strong);background:var(--exec-bg);color:var(--exec-text);
  cursor:pointer;white-space:nowrap;
  transition:background 120ms,border-color 120ms,color 120ms;
}
.db8-dq-cta:hover{background:var(--exec-accent);border-color:var(--exec-accent);color:#fff}

/* ── Business Pulse (KPI) ── */
.db8-observability{padding:20px 22px}
.db8-kpi-pulse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) repeat(3,minmax(0,1fr));gap:8px}
.db8-kpi-pulse-card{
  padding:14px 16px;border-radius:12px;
  background:var(--exec-bg);border:1px solid var(--exec-line-strong);
  display:grid;gap:4px;
  transition:border-color 130ms,box-shadow 130ms,background 130ms;
}
.db8-kpi-pulse-card--primary{border-top:3px solid var(--exec-accent)}
.db8-kpi-pulse-card:hover{border-color:rgba(50,90,200,.22);box-shadow:0 2px 10px rgba(10,20,50,.1);background:var(--exec-bg-2)}
.db8-kpi-pulse-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--exec-text-3);font-weight:700}
.db8-kpi-pulse-val{font-size:22px;line-height:1.1;color:var(--exec-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:700}
.db8-kpi-pulse-val.is-empty{font-size:16px;color:var(--exec-text-3)}
.db8-kpi-pulse-ctx{font-size:11px;color:var(--exec-text-2)}

/* Readiness Protocol Track */
.db8-maturity-track{margin-top:16px;padding-top:14px;border-top:1px solid var(--exec-line)}
.db8-maturity-head{margin-bottom:10px}
.db8-maturity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:readiness-step}
.db8-maturity-grid span{
  counter-increment:readiness-step;
  padding:10px 12px;
  background:var(--exec-bg);border:1px solid var(--exec-line-strong);border-right:0;
  font-size:11px;color:var(--exec-text-2);display:grid;gap:3px;
}
.db8-maturity-grid span b{font-size:11px;color:var(--exec-text);font-weight:600;display:block}
.db8-maturity-grid span::before{content:counter(readiness-step);font-size:9px;font-weight:700;color:var(--exec-accent);letter-spacing:.08em;display:block}
.db8-maturity-grid span:first-child{border-radius:8px 0 0 8px}
.db8-maturity-grid span:last-child{border-right:1px solid var(--exec-line-strong);border-radius:0 8px 8px 0}
.db8-maturity-grid strong{font-size:13px;color:var(--exec-accent);font-weight:700}
.db8-maturity-empty{margin:4px 0 0;font-size:12px;color:var(--exec-text-3)}

/* ── Platform Health ── */
.db8-coverage-wrap{margin-top:0}
.db8-coverage{padding:20px 22px}
.db8-plat-health-list{display:grid;gap:0}
.db8-plat-health-row{
  display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr) auto auto;
  align-items:center;gap:10px;
  padding:10px 2px;
  border-bottom:1px solid var(--exec-line);
}
.db8-plat-health-row:last-child{border-bottom:0;padding-bottom:0}
.db8-plat-health-name{font-size:13px;font-weight:700;color:var(--exec-text)}
.db8-plat-health-detail{font-size:11.5px;color:var(--exec-text-2)}
.db8-plat-health-sync{font-size:10.5px;color:var(--exec-text-3);white-space:nowrap}
.db8-plat-health-sync.is-ok{color:var(--success)}
.db8-plat-health-sig{font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}
.db8-plat-health-sig.is-strong{background:rgba(28,156,99,.12);border:1px solid rgba(28,156,99,.25);color:var(--success)}
.db8-plat-health-sig.is-medium{background:rgba(200,140,30,.12);border:1px solid rgba(200,140,30,.25);color:var(--warning)}
.db8-plat-health-sig.is-none  {background:var(--exec-bg);border:1px solid var(--exec-line-strong);color:var(--exec-text-3)}

.db8-health-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--exec-line)}
.db8-health-summary-item{padding:10px 12px;background:var(--exec-bg);border:1px solid var(--exec-line-strong);border-radius:10px;display:grid;gap:3px;min-width:0}
.db8-health-summary-item span{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--exec-text-3);font-weight:700;word-break:break-word;overflow-wrap:break-word;hyphens:auto}
.db8-health-summary-item strong{font-size:13px;font-weight:700;color:var(--exec-text)}
.db8-health-summary-item strong.is-ok  {color:var(--success)}
.db8-health-summary-item strong.is-warn{color:var(--warning)}
.db8-health-summary-item strong.is-bad {color:var(--danger)}

/* ── SensAI Summary ── */
.db8-sensei-summary{padding:20px 22px}
.db8-sensei-last{margin-bottom:16px}
.db8-sensei-last-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.db8-sensei-last-title{margin:0;font-size:15px;font-weight:700;color:var(--exec-text);letter-spacing:-.01em}
.db8-sensei-last-time{font-size:11px;color:var(--exec-text-3);white-space:nowrap;flex-shrink:0}
.db8-sensei-last-body{margin:0;font-size:12.5px;color:var(--exec-text-2);line-height:1.6}
.db8-sensei-empty{margin:0;font-size:12px;color:var(--exec-text-3);font-style:italic}
.db8-sensei-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.db8-sa-primary{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:9px;
  background:linear-gradient(135deg,var(--exec-accent),#0a9e82);
  border:1px solid rgba(15,160,130,.35);
  color:#fff;font-size:12px;font-weight:700;
  cursor:pointer;transition:background 130ms,transform 130ms,box-shadow 130ms;
  box-shadow:0 2px 8px rgba(15,130,100,.25);
}
.db8-sa-primary:hover{background:linear-gradient(135deg,#0f8672,#09927a);transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,130,100,.35)}
.db8-sa-secondary{
  display:inline-flex;align-items:center;gap:4px;
  padding:7px 13px;border-radius:8px;
  border:1px solid var(--exec-line-strong);
  background:var(--exec-bg);color:var(--exec-text-2);
  font-size:11.5px;font-weight:600;cursor:pointer;
  transition:background 120ms,border-color 120ms,color 120ms;
}
.db8-sa-secondary:hover{background:var(--exec-bg-2);border-color:rgba(50,90,180,.2);color:var(--exec-text)}

/* ── Activity Hub ── */
.db8-activity{margin-top:0}
.db8-activity-card{padding:20px 22px}
.db8-activity-list{display:grid;gap:0}
.db8-activity-item{padding:11px 0;border:none;border-bottom:1px solid var(--line-subtle);background:transparent;display:grid;gap:3px;border-radius:0}
.db8-activity-item:last-child{border-bottom:0;padding-bottom:0}
.db8-activity-item strong{font-size:12.5px;color:var(--text-primary);font-weight:600}
.db8-activity-item p{margin:0;font-size:11.5px;color:var(--text-secondary)}
.db8-activity-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--text-muted);font-size:11px;margin-top:4px}
.db8-activity-badge{padding:2px 7px;border-radius:4px;background:var(--exec-bg);border:1px solid var(--exec-line-strong);color:var(--exec-text-3);font-weight:700;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.db8-activity-empty{padding:16px 12px;border-radius:10px;border:1px dashed var(--exec-line-strong);color:var(--exec-text-3);background:var(--exec-bg);font-size:12px}
.db8-activity-more-wrap{margin-top:10px;display:flex;justify-content:flex-start}

/* Quick-Access Tiles */
.db8-quicklinks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--exec-line)}
.db8-quicklink-tile{
  display:grid;gap:3px;padding:10px 12px;border-radius:10px;
  border:1px solid var(--exec-line-strong);background:var(--exec-bg);
  text-align:left;cursor:pointer;
  transition:background 120ms,border-color 120ms,box-shadow 120ms,transform 120ms;
}
.db8-quicklink-tile:hover{background:var(--exec-bg-2);border-color:rgba(50,90,180,.2);box-shadow:0 2px 8px rgba(10,20,50,.08);transform:translateY(-1px)}
.db8-quicklink-label{font-size:11.5px;font-weight:700;color:var(--exec-text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db8-quicklink-sub{font-size:10.5px;color:var(--exec-text-3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Shared structures */
.db8-intelligence-entry{padding:20px 22px;display:grid;gap:10px;align-content:start;border:1px solid var(--exec-line-strong);border-radius:16px;background:var(--bg-surface)}
.db8-intel-title{margin:0;font-size:15px;color:var(--exec-text);font-weight:700}
.db8-intel-sub{margin:0;font-size:12px;color:var(--exec-text-2);line-height:1.5}
.db8-intel-chip{display:inline-flex;justify-self:start;padding:4px 10px;border-radius:999px;background:rgba(28,156,99,.12);border:1px solid rgba(28,156,99,.22);color:var(--success);font-size:10px;font-weight:700;letter-spacing:.05em}

/* Orch bridges */
.sns-orch-bridge{margin:0 0 12px;padding:14px 18px;border-radius:12px;border:1px solid var(--exec-line-strong);border-left:3px solid var(--exec-accent);background:var(--exec-bg-2);display:grid;gap:8px}
.sns-orch-bridge h3{margin:0;font-size:15px;color:var(--exec-text);font-weight:700}
.sns-orch-bridge p{margin:0;font-size:12px;color:var(--exec-text-2);line-height:1.5}
.tst-orch-bridge h3{margin:0;font-size:18px;color:#0f172a}
.tst-orch-bridge p{margin:6px 0 0;font-size:13px;color:#5b6775}

/* Journey bridge (legacy sensei / testing) */
.db8-journey-bridge{margin-top:0;padding:16px 20px;border-radius:14px;border:1px solid var(--exec-line-strong);border-left:3px solid var(--exec-accent);background:var(--exec-bg-2);display:grid;gap:8px}
.db8-journey-bridge h2{margin:0;font-size:15px;color:var(--exec-text);font-weight:700;letter-spacing:-.01em}
.db8-journey-bridge p{margin:0;font-size:12px;color:var(--exec-text-2);line-height:1.55}
.db8-journey-bridge .doss-hero-primary-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--exec-line-strong);background:var(--exec-accent);color:#fff;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:background 120ms,box-shadow 120ms}
.db8-journey-bridge .doss-hero-primary-btn:hover{background:#0a4a3c;box-shadow:0 2px 8px rgba(15,90,75,.3)}

/* ── Responsive ── */
@media (max-width: 1100px){
  .db8-operating-grid{grid-template-columns:1fr}
  .db8-kpi-pulse-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .db8-maturity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db8-health-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db8-quicklinks{grid-template-columns:repeat(3,minmax(0,1fr))}
  .db8-plat-health-row{grid-template-columns:minmax(80px,.8fr) minmax(0,1.5fr) auto}
  .db8-plat-health-sig{display:none}
}
@media (max-width: 680px){
  .db8-operating-header,.db8-observability,.db8-coverage,.db8-activity-card,.db8-decision-queue,.db8-sensei-summary{padding:14px 16px}
  .db8-title{font-size:18px}
  .db8-kpi-pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db8-kpi-pulse-val{font-size:18px}
  .db8-maturity-grid{grid-template-columns:1fr}
  .db8-health-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db8-quicklinks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .db8-plat-health-row{grid-template-columns:1fr auto}
  .db8-plat-health-detail,.db8-plat-health-sig,.db8-plat-health-sync{display:none}
  .db8-snapshot-grid{grid-template-columns:1fr 1fr}
  .db8-dq-item{grid-template-columns:auto 1fr;grid-template-rows:auto auto}
  .db8-dq-cta{grid-column:1/-1}
  .db8-sensei-actions{flex-direction:column;align-items:stretch}
  .db8-sa-primary,.db8-sa-secondary{justify-content:center}
}

/* Trust line */
.ctl-trust-line {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ctl-muted);
  padding: 10px 14px;
  background: #f8fbff;
  border: 1px solid var(--ctl-line);
  border-radius: 10px;
}

/* Buttons */
.ctl-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(180deg, #eaf6f1, #d6ebe3);
  border: 1px solid #93bfb1;
  color: var(--ctl-forest);
  border-radius: 9px;
  padding: 9px 18px;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  transition: background 140ms, border-color 140ms, box-shadow 140ms, transform 140ms;
  text-decoration: none;
  box-shadow: 0 7px 16px rgba(15,90,75,0.12), 0 1px 0 #fff inset;
}
.ctl-action-btn:hover { background: linear-gradient(180deg, #def1ea, #c9e4da); border-color: #6fa997; transform: translateY(-1px); }
.ctl-action-btn:disabled {
  background: #e8eef6;
  border-color: #cfd8e8;
  color: #7f8896;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}
.ctl-action-btn--billing {
  width: 100%;
  justify-content: center;
  background: linear-gradient(180deg, #145c4c 0%, #0f4a3c 100%);
  border-color: #0a3d31;
  color: #e8f5f1;
  font-size: 13px;
  font-weight: 750;
  box-shadow: 0 8px 20px rgba(15,90,75,0.22), 0 1px 0 rgba(255,255,255,0.1) inset;
}
.ctl-action-btn--billing:hover {
  background: linear-gradient(180deg, #176856 0%, #124a3e 100%);
  border-color: #0c4235;
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(15,90,75,0.28), 0 1px 0 rgba(255,255,255,0.12) inset;
}

.ctl-ghost-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #f8fbff;
  border: 1px solid var(--ctl-line);
  color: var(--ctl-text);
  border-radius: 9px;
  padding: 9px 18px;
  font-size: 12px;
  cursor: pointer;
  transition: border-color 140ms, color 140ms, background 140ms, transform 140ms, box-shadow 140ms;
  font-weight: 700;
}
.ctl-ghost-btn:hover { border-color: var(--ctl-line-strong); color: var(--ctl-ink); background: #eef3f8; transform: translateY(-1px); box-shadow: var(--ctl-shadow-soft); }
.ctl-ghost-btn--sm { padding: 5px 10px; font-size: 11px; }

.ctl-danger-btn {
  display: inline-flex;
  align-items: center;
  background: rgba(239,68,68,0.08);
  border: 1px solid rgba(239,68,68,0.25);
  color: #ef4444;
  border-radius: 7px;
  padding: 9px 18px;
  font-size: 12px;
  cursor: pointer;
  transition: background 140ms;
}
.ctl-danger-btn:hover { background: rgba(239,68,68,0.15); }

/* Links */
.ctl-link { color: rgba(90,170,148,0.8); text-decoration: underline; }
.ctl-link:hover { color: rgba(90,170,148,1); }
.ctl-link--danger { color: #ef4444; }
.ctl-link--danger:hover { color: #dc2626; }

/* Console inputs */
.ctl-console-input {
  width: 100%;
  background: #f8fbff;
  border: 1px solid var(--ctl-line);
  border-radius: 9px;
  color: var(--ctl-ink);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
  font-size: 13px;
  padding: 10px 14px;
  transition: border-color 140ms, background 140ms;
  box-sizing: border-box;
}
.ctl-console-input:focus {
  outline: none;
  border-color: #93bfb1;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(15,90,75,0.1);
}

/* Fields */
.ctl-workspace-surface {
  background: linear-gradient(180deg, var(--ctl-surface), var(--ctl-surface-soft));
  border: 1px solid var(--ctl-line);
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: var(--ctl-shadow-soft);
}
.ctl-ws-section-label {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted, #9ca3af);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
}
.ctl-field-group { display: flex; flex-direction: column; gap: 14px; }
.ctl-field { display: flex; flex-direction: column; gap: 5px; }
.ctl-field-lbl { font-size: 12px; font-weight: 750; color: var(--ctl-text); letter-spacing: 0.03em; }
.ctl-field-readonly {
  font-size: 13px;
  color: var(--ctl-ink);
  padding: 9px 0;
  border-bottom: 1px solid var(--line-subtle, #e5e7eb);
}
.ctl-field-readonly--bold { font-weight: 750; }
.ctl-field-hint { font-size: 11px; margin: 2px 0 0; min-height: 16px; }
.ctl-field-sub { font-size: 11px; color: var(--text-muted, #9ca3af); margin: 0; }
.ctl-save-row { padding-top: 8px; }
.ctl-ws-id-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ctl-ws-id {
  font-family: ui-monospace, 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--text-secondary, #6b7280);
  background: var(--bg-surface-2, #f9fafb);
  padding: 4px 10px;
  border-radius: 5px;
  border: 1px solid var(--line-subtle, #e5e7eb);
  word-break: break-all;
}

/* Danger Zone */
.ctl-danger-zone {
  background: rgba(239,68,68,0.03);
  border: 1px solid rgba(239,68,68,0.15);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ctl-danger-label {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(239,68,68,0.6);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
}
.ctl-danger-desc { font-size: 13px; color: var(--text-secondary, #6b7280); margin: 0; }

/* Plan Surface */
.ctl-plan-surface {
  background: linear-gradient(160deg, #f8fbff 0%, #f0f6fd 55%, #eaf4f0 100%);
  border: 1px solid var(--ctl-line);
  border-left: 3px solid #0f5a4b;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  box-shadow: var(--ctl-shadow-soft), 0 1px 0 #fff inset;
}
.ctl-plan-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ctl-plan-tier {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 6px;
}
.ctl-plan-tier--trial { background: rgba(245,158,11,0.12); color: #d97706; }
.ctl-plan-tier--active { background: rgba(15,90,75,0.12); color: #0f5a4b; box-shadow: 0 0 0 1px rgba(15,90,75,0.2); }
.ctl-plan-tier--expired { background: rgba(239,68,68,0.1); color: #dc2626; }
.ctl-plan-name { font-size: 18px; font-weight: 700; color: var(--text-primary, #111); }
.ctl-plan-price { text-align: right; }
.ctl-plan-amount { font-size: clamp(1.6rem, 2.5vw, 2rem); font-weight: 800; color: #0f172a; letter-spacing: -0.02em; }
.ctl-plan-period { font-size: 13px; color: var(--text-muted, #9ca3af); }
.ctl-plan-status-row { display: flex; align-items: center; gap: 8px; }
.ctl-plan-status-dot { display: inline-block; }
.ctl-plan-status-text { font-size: 13px; color: var(--text-secondary, #6b7280); }
.ctl-plan-features { display: flex; flex-direction: column; gap: 10px; }
.ctl-feat-row { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-secondary, #6b7280); }
.ctl-feat-check { color: #0f5a4b; display: flex; align-items: center; flex-shrink: 0; }
.ctl-plan-actions { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }

.ctl-value-note {
  font-size: 12px;
  color: var(--text-muted, #9ca3af);
  padding: 12px 16px;
  background: var(--bg-surface-2, #f9fafb);
  border-radius: 8px;
  border: 1px solid var(--line-subtle, #e5e7eb);
}
.ctl-agency-note {
  font-size: 12px;
  color: var(--text-secondary, #6b7280);
  padding: 10px 14px;
  background: var(--bg-surface-2, #f9fafb);
  border-radius: 8px;
}

/* ═══════════════════════════════════════════════════════════════════
   SETTINGS — BILLING PANEL PREMIUM (stb-*)
   ═══════════════════════════════════════════════════════════════════ */

/* Plan Hero — dark command surface */
.stb-plan-hero {
  background: linear-gradient(140deg, #08111f 0%, #0c1b33 50%, #0f2444 100%);
  border: 1px solid rgba(60, 110, 200, 0.22);
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 10px 28px rgba(4, 10, 24, 0.22);
  color: #ddeeff;
}
.stb-plan-hero-grid {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.stb-plan-hero-left {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.stb-plan-name {
  margin: 4px 0 2px;
  font-size: 22px;
  font-weight: 800;
  color: #e8f2ff;
  letter-spacing: -0.02em;
}
.stb-plan-tagline {
  margin: 0;
  font-size: 13px;
  color: #7a9bc0;
  line-height: 1.5;
}

/* Status badge inside hero */
.stb-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 999px;
  width: fit-content;
  margin-top: 4px;
}
.stb-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.stb-status-badge--ok {
  background: rgba(15, 90, 75, 0.22);
  border: 1px solid rgba(15, 180, 130, 0.3);
  color: #5dceaa;
}
.stb-status-badge--ok .stb-status-dot {
  background: #5dceaa;
  box-shadow: 0 0 6px rgba(93, 206, 170, 0.7);
}
.stb-status-badge--warn {
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.28);
  color: #f5bb5a;
}
.stb-status-badge--warn .stb-status-dot { background: #f5bb5a; }
.stb-status-badge--danger {
  background: rgba(239, 68, 68, 0.14);
  border: 1px solid rgba(239, 68, 68, 0.26);
  color: #f87171;
}
.stb-status-badge--danger .stb-status-dot { background: #f87171; }

/* Price display (right column) */
.stb-plan-hero-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
}
.stb-price-block {
  display: flex;
  align-items: flex-start;
  gap: 3px;
}
.stb-price-amount {
  font-size: 52px;
  font-weight: 800;
  color: #e8f2ff;
  line-height: 1;
  letter-spacing: -0.04em;
}
.stb-price-meta {
  display: flex;
  flex-direction: column;
  padding-top: 7px;
  gap: 2px;
}
.stb-price-unit {
  font-size: 18px;
  font-weight: 700;
  color: #a0bcd8;
  line-height: 1;
}
.stb-price-cycle {
  font-size: 11px;
  color: #6a8aaa;
  white-space: nowrap;
  font-weight: 600;
}
.stb-price-label {
  margin: 0;
  font-size: 11px;
  color: #5a7a96;
  text-align: right;
}

/* Trial progress track */
.stb-trial-track { margin-top: 10px; }
.stb-trial-track-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11.5px;
  margin-bottom: 6px;
}
.stb-trial-track-head span { color: #7a9bc0; }
.stb-trial-track-head strong { color: #e0efff; font-weight: 700; }
.stb-trial-bar {
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
.stb-trial-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #1a6e5a, #22c994);
}

/* Shared section label */
.stb-section-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ctl-forest, #2a6a58);
  font-family: ui-monospace, 'JetBrains Mono', monospace;
  margin-bottom: 12px;
}

/* Features card */
.stb-features-card {
  background: linear-gradient(175deg, #f8fbff, #f2f7fe);
  border: 1px solid var(--ctl-line, #d8e2ef);
  border-radius: 14px;
  padding: 18px 20px;
}
.stb-features-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 20px;
}
.stb-feature-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-secondary, #374151);
}
.stb-feature-check {
  color: #0f5a4b;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

/* Subscription status card */
.stb-sub-card {
  background: linear-gradient(175deg, #f8fbff, #f2f7fe);
  border: 1px solid var(--ctl-line, #d8e2ef);
  border-radius: 14px;
  padding: 18px 20px;
}
.stb-sub-rows { display: flex; flex-direction: column; }
.stb-sub-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--ctl-line, #e8eef6);
}
.stb-sub-row:last-child { border-bottom: 0; padding-bottom: 0; }
.stb-sub-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ctl-muted, #8ea3b8);
  font-family: ui-monospace, monospace;
}
.stb-sub-val { font-weight: 700; color: var(--text-primary, #111); font-size: 13px; }
.stb-sub-val--ok     { color: #0f5a4b; }
.stb-sub-val--warn   { color: #92620a; }
.stb-sub-val--danger { color: #dc2626; }

/* Agency note */
.stb-agency-card {
  font-size: 12.5px;
  color: var(--text-secondary, #6b7280);
  padding: 14px 16px;
  background: var(--bg-surface-2, #f8fbff);
  border-radius: 10px;
  border: 1px solid var(--ctl-line, #d8e2ef);
  line-height: 1.65;
}

/* Mobile */
@media (max-width: 540px) {
  .stb-plan-hero-grid  { flex-direction: column; }
  .stb-plan-hero-right { align-items: flex-start; }
  .stb-features-grid   { grid-template-columns: 1fr; }
}

/* Notifications */
.ctl-notif-list { display: flex; flex-direction: column; gap: 8px; }
.ctl-notif-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--ctl-surface);
  border: 1px solid var(--ctl-line);
  border-radius: 11px;
  transition: background 160ms, border-color 160ms, box-shadow 160ms;
}
.ctl-notif-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.ctl-notif-dot--error { background: #ef4444; }
.ctl-notif-dot--warn  { background: #f59e0b; }
.ctl-notif-dot--info  { background: #6366f1; }
.ctl-notif-body { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.ctl-notif-title { font-size: 13px; font-weight: 600; color: var(--text-primary, #111); }
.ctl-notif-time { font-size: 11px; color: var(--text-muted, #9ca3af); }
.ctl-notif-msg { font-size: 12px; color: var(--text-secondary, #6b7280); margin: 0; }

/* Empty state */
.ctl-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 40px 20px;
  text-align: center;
}
.ctl-empty-icon { color: var(--ctl-muted); }
.ctl-empty-title { font-size: 14px; font-weight: 750; color: var(--ctl-text); margin: 0; }
.ctl-empty-desc { font-size: 12px; color: var(--ctl-muted); margin: 0; }

/* Handbook */
.ctl-handbook-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.ctl-handbook-card {
  background: linear-gradient(180deg, var(--ctl-surface), var(--ctl-surface-soft));
  border: 1px solid var(--ctl-line);
  border-radius: 14px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: var(--ctl-shadow-soft);
}
.ctl-handbook-head { display: flex; align-items: center; gap: 12px; }
.ctl-handbook-flag { display: flex; border-radius: 3px; overflow: hidden; flex-shrink: 0; }
.ctl-handbook-title { font-size: 14px; font-weight: 600; color: var(--text-primary, #111); display: block; }
.ctl-handbook-lang { font-size: 11px; color: var(--text-muted, #9ca3af); }
.ctl-handbook-desc { font-size: 12px; color: var(--text-secondary, #6b7280); margin: 0; flex: 1; }

.ctl-briefing-toggle {
  padding: 14px 16px;
  border: 1px solid var(--ctl-line);
  border-radius: 12px;
  background: var(--ctl-surface-soft);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ctl-briefing-toggle-title { font-size: 13px; font-weight: 600; color: var(--text-primary, #111); }
.ctl-briefing-toggle-desc { font-size: 12px; color: var(--text-secondary, #6b7280); margin: 0; }
.ctl-briefing-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }

/* Mobile */
.ctl-mobile-surface {
  background: linear-gradient(180deg, var(--ctl-surface), var(--ctl-surface-soft));
  border: 1px solid var(--ctl-line);
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: var(--ctl-shadow-soft);
}
.ctl-mobile-desc { font-size: 13px; color: var(--text-secondary, #6b7280); margin: 0; }
.ctl-mobile-steps { display: flex; flex-direction: column; gap: 10px; }
.ctl-mobile-step {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 14px;
  background: var(--bg-surface-2, #f9fafb);
  border-radius: 8px;
  border: 1px solid var(--line-subtle, #e5e7eb);
}
.ctl-mobile-step-label { font-size: 12px; font-weight: 600; color: var(--text-primary, #111); }
.ctl-mobile-step-desc { font-size: 12px; color: var(--text-secondary, #6b7280); }
.ctl-mobile-hints { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--text-muted, #9ca3af); }

/* Misc */
.ctl-muted-note { font-size: 12px; color: var(--text-muted, #9ca3af); margin: 0; }

/* Responsive */
@media (max-width: 1180px) {
  .ctl-status-panel { display: none; }
  .ctl-hero-grid { grid-template-columns: 1.4fr 1fr; }
}
@media (max-width: 820px) {
  .ctl-hero-grid { grid-template-columns: 1fr; }
  .ctl-hero { margin: 8px 8px 0; }
  .ctl-hero-grid { padding: 24px 20px; gap: 20px; }
  .ctl-content { padding: 16px 16px 32px; }
  .ctl-plat-grid { grid-template-columns: 1fr; }
  .ctl-handbook-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ctl-tab-label { display: none; }
  .ctl-tab { padding: 12px 14px; }
  .ctl-tab-icon { color: currentColor; }
}
@media (prefers-reduced-motion: reduce) {
  .ctl-platform-card,
  .ctl-action-btn,
  .ctl-ghost-btn { transition: none; }
}

/* ============================================================
   REPORTS — EXECUTIVE INTELLIGENCE SYSTEM (rpt-*)
   Active reports renderer styles. Light reporting surfaces.
   Legacy reports variants remain untouched unless shared helpers apply.
   ============================================================ */

/* Shell */
.rpt-shell {
  --rpt-bg: #eef3f8;
  --rpt-surface: #f8fbff;
  --rpt-surface-soft: #f4f7fb;
  --rpt-surface-warm: #edf2f7;
  --rpt-line: #d8e2ef;
  --rpt-line-strong: #c9d5e4;
  --rpt-ink: #111827;
  --rpt-text: #334155;
  --rpt-muted: #647084;
  --rpt-faint: #7a8494;
  --rpt-amber: #9a6b1f;
  --rpt-amber-soft: #fff3d8;
  --rpt-forest: #0f5a4b;
  --rpt-forest-soft: #e6f3ee;
  --rpt-red: #b42318;
  --rpt-red-soft: #fff0ed;
  --rpt-indigo: #315f8c;
  --rpt-shadow: 0 22px 56px rgba(8, 18, 34, 0.11), 0 1px 0 rgba(255,255,255,0.9) inset;
  --rpt-shadow-soft: 0 12px 30px rgba(8, 18, 34, 0.08);
  color: var(--rpt-text);
  display: grid;
  gap: 0;
}

/* ── Hero ────────────────────────────────────────────────── */
.rpt-hero {
  background:
    radial-gradient(ellipse 55% 80% at 6% 50%, rgba(180,100,40,0.14) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 94% 15%, rgba(38,43,52,0.72) 0%, transparent 50%),
    linear-gradient(180deg, #171b22 0%, #11151b 100%);
  border-bottom: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 20px 46px rgba(17, 21, 27, 0.16);
  padding: 40px 36px 32px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.rpt-hero-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 0.7fr;
  gap: 40px;
  align-items: start;
  min-width: 0;
}

.rpt-brief { display: flex; flex-direction: column; gap: 10px; min-width: 0; }

.rpt-hero-eyebrow {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(210,140,60,0.7);
  font-family: monospace;
  margin: 0;
}

.rpt-hero-title {
  font-size: clamp(1.8rem, 2.8vw, 2.6rem);
  font-weight: 700;
  color: rgba(240,236,228,0.97);
  margin: 0;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.rpt-hero-desc {
  font-size: 13px;
  color: rgba(226,222,214,0.72);
  line-height: 1.6;
  margin: 0;
  max-width: 52ch;
  overflow-wrap: break-word;
}

.rpt-hero-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 99px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: monospace;
  width: max-content;
}
.rpt-badge--ok    { background: rgba(15,90,75,0.25); color: rgba(90,170,148,0.9); border: 1px solid rgba(90,170,148,0.2); }
.rpt-badge--low   { background: rgba(180,100,40,0.2); color: rgba(210,140,60,0.85); border: 1px solid rgba(210,140,60,0.18); }
.rpt-badge--error { background: rgba(180,40,40,0.2); color: rgba(240,100,100,0.85); border: 1px solid rgba(240,100,100,0.18); }
.rpt-badge--none  { background: rgba(255,255,255,0.08); color: rgba(226,222,214,0.7); border: 1px solid rgba(255,255,255,0.14); }

.rpt-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }

.rpt-hero-cta {
  padding: 9px 18px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: background 140ms, border-color 140ms, color 140ms, transform 140ms, box-shadow 140ms;
  border: 1px solid rgba(210,140,60,0.3);
  background: rgba(226,160,70,0.2);
  color: #ffd89a;
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  max-width: 100%;
  white-space: normal;
}
.rpt-hero-cta:hover {
  background: rgba(180,100,40,0.32);
  border-color: rgba(210,140,60,0.45);
  transform: translateY(-1px);
}
.rpt-hero-cta--sec {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.1);
  color: rgba(226,222,214,0.78);
  box-shadow: none;
}
.rpt-hero-cta--sec:hover {
  background: rgba(255,255,255,0.08);
  color: rgba(200,196,188,0.85);
  border-color: rgba(255,255,255,0.16);
  transform: translateY(-1px);
}

/* ── Reporting Console (center panel) ──────────────────────── */
.rpt-reporting-console {
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 18px 20px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.rpt-console-label {
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(226,222,214,0.56);
  font-family: monospace;
  margin: 0 0 14px;
}

.rpt-console-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 5px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  gap: 12px;
}
.rpt-console-row:last-child { border-bottom: none; }

.rpt-console-k {
  font-size: 10px;
  letter-spacing: 0.08em;
  color: rgba(226,222,214,0.56);
  font-family: monospace;
  flex-shrink: 0;
}
.rpt-console-v {
  font-size: 11px;
  color: rgba(245,240,230,0.88);
  font-family: monospace;
  text-align: right;
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpt-console-v--ok  { color: rgba(90,170,148,0.85); }
.rpt-console-v--err { color: rgba(240,100,100,0.8); }
.rpt-console-v--dim { color: rgba(200,196,188,0.35); font-style: italic; }

/* ── Signal Panel (right panel) ────────────────────────────── */
.rpt-signal-panel {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.rpt-signal-panel-hint {
  font-size: 11px;
  color: rgba(226,222,214,0.56);
  margin: 4px 0 0;
  line-height: 1.5;
}

.rpt-signal-panel-footer {
  margin-top: auto;
  padding-top: 12px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  color: rgba(226,222,214,0.6);
  font-family: monospace;
}

.rpt-signal-panel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.rpt-signal-panel-dot--ok  { background: rgba(90,170,148,0.8); box-shadow: 0 0 4px rgba(90,170,148,0.4); }
.rpt-signal-panel-dot--dim { background: rgba(226,222,214,0.42); }

/* ── View Shell / Mode nav ──────────────────────────────────── */
.rpt-view-shell {
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(180deg, rgba(248,251,255,0.96), rgba(241,246,252,0.98));
  border-top: 1px solid #d8e2ef;
  min-width: 0;
  max-width: 100%;
}

.rpt-modes {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--rpt-line);
  background: linear-gradient(180deg, #f8fbff, #eef3f8);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 20px;
}
.rpt-modes::-webkit-scrollbar { display: none; }

.rpt-mode {
  padding: 13px 20px;
  color: var(--rpt-muted);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  border-bottom: 2px solid transparent;
  background: transparent;
  transition: background 140ms, border-color 140ms, color 140ms;
  cursor: pointer;
  white-space: nowrap;
  font-family: inherit;
  font-weight: 750;
}
.rpt-mode:hover:not(.active) {
  color: var(--rpt-text);
  background: #eef3f8;
}
.rpt-mode.active {
  color: var(--rpt-forest);
  border-bottom-color: var(--rpt-forest);
  background: linear-gradient(180deg, #f3fbf7, #e8f3ef);
}

.rpt-view-body { padding: 26px 28px 34px; }
.rpt-view-section { display: flex; flex-direction: column; gap: 18px; }

/* ── Control Bar (filter) ───────────────────────────────────── */
.rpt-control-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 13px;
  border: 1px solid var(--rpt-line);
  border-radius: 14px;
  background: linear-gradient(180deg, #f8fbff, #f4f7fb);
  box-shadow: var(--rpt-shadow-soft);
}

.rpt-filter-pills { display: flex; gap: 6px; flex-wrap: wrap; max-width: 100%; }

.rpt-filter-pill {
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.03em;
  border: 1px solid #d4def0;
  background: #f4f8fc;
  color: var(--rpt-text);
  cursor: pointer;
  transition: background 140ms, border-color 140ms, color 140ms, box-shadow 140ms;
  font-family: inherit;
  font-weight: 700;
}
.rpt-filter-pill:hover { background: #eef3f8; border-color: var(--rpt-line-strong); color: var(--rpt-ink); }
.rpt-filter-pill.active { background: #e8f3ef; border-color: #c7dbd4; color: #0f5a4b; box-shadow: 0 1px 0 rgba(255,255,255,.9) inset; }

.rpt-search {
  margin-left: auto;
  background: #f8fbff;
  border: 1px solid #d4def0;
  border-radius: 10px;
  color: var(--rpt-ink);
  font-family: monospace;
  font-size: 12px;
  padding: 8px 14px;
  outline: none;
  transition: border-color 140ms, box-shadow 140ms, background 140ms;
  min-width: 180px;
  max-width: 100%;
}
.rpt-search::placeholder { color: #8a97a6; }
.rpt-search:focus { border-color: #7da2c4; box-shadow: 0 0 0 3px rgba(99,102,241,.09); background: #fff; }

.rpt-filter-select {
  appearance: none;
  background:
    linear-gradient(45deg, transparent 50%, #6b7280 50%) calc(100% - 16px) 50% / 6px 6px no-repeat,
    linear-gradient(135deg, #6b7280 50%, transparent 50%) calc(100% - 12px) 50% / 6px 6px no-repeat,
    #f8fbff;
  border: 1px solid #d4def0;
  border-radius: 10px;
  color: var(--rpt-ink);
  padding: 8px 32px 8px 12px;
  font-size: 12px;
  font-family: inherit;
  outline: none;
  cursor: pointer;
  transition: border-color 140ms, box-shadow 140ms, background-color 140ms;
}
.rpt-filter-select:focus { border-color: #7da2c4; box-shadow: 0 0 0 3px rgba(99,102,241,.09); }

/* ── Table ──────────────────────────────────────────────────── */
.rpt-table-surface {
  background: linear-gradient(180deg, var(--rpt-surface), #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 16px;
  box-shadow: var(--rpt-shadow);
  overflow: hidden;
  max-width: 100%;
}

.rpt-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 10px 12px 12px; }

.rpt-matrix {
  width: 100%;
  min-width: 920px;
  border-collapse: separate;
  border-spacing: 0 7px;
}

.rpt-matrix thead th {
  padding: 10px 14px 7px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rpt-muted);
  font-weight: 750;
  text-align: right;
  border-bottom: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  background: transparent;
}
.rpt-matrix-th--left { text-align: left; }
.rpt-matrix-th--active { color: var(--rpt-forest); }

.rpt-matrix tbody td {
  padding: 14px;
  font-size: 12.5px;
  color: var(--rpt-text);
  background: var(--rpt-surface);
  border-top: 1px solid #d8e2ef;
  border-bottom: 1px solid #d8e2ef;
  font-family: monospace;
  text-align: right;
  vertical-align: middle;
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset;
}
.rpt-matrix tbody td:first-child {
  border-left: 1px solid #d8e2ef;
  border-radius: 12px 0 0 12px;
}
.rpt-matrix tbody td:last-child {
  border-right: 1px solid #d8e2ef;
  border-radius: 0 12px 12px 0;
}
.rpt-matrix tbody tr:hover td {
  background: #eef3f8;
  border-color: #c9d5e4;
  box-shadow: 0 8px 20px rgba(8, 18, 34, 0.08);
}

.rpt-matrix-name {
  font-family: inherit;
  text-align: left;
  color: var(--rpt-ink);
  font-size: 13px;
  font-weight: 700;
  max-width: 280px;
}
.rpt-matrix-plat {
  text-align: left;
  font-size: 11px;
  color: var(--rpt-muted);
  font-weight: 650;
  white-space: nowrap;
}
.rpt-matrix-status {
  text-align: left;
  font-size: 11px;
  color: var(--rpt-text);
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 650;
}

.rpt-matrix tfoot .rpt-matrix-foot td {
  font-weight: 750;
  border-top: 1px solid var(--rpt-line-strong);
  border-bottom: 1px solid var(--rpt-line-strong);
  color: var(--rpt-ink);
  background: linear-gradient(180deg, #f4f7fb, #eef3f8);
  padding-top: 14px;
  padding-bottom: 14px;
}
.rpt-matrix-foot td:first-child {
  text-align: left;
  font-family: inherit;
}
.rpt-foot-count { font-weight: 500; color: var(--rpt-muted); font-size: 11px; }

.rpt-cell--pos { color: var(--rpt-forest); font-weight: 750; }
.rpt-cell--neg { color: var(--rpt-red); font-weight: 750; }
.rpt-cell--empty { color: var(--rpt-faint); font-style: italic; }
.rpt-cell--low  { color: var(--rpt-muted); }

/* KPI column visual hierarchy — Spend(4), ROAS(5), Conv(6) primary; CTR/CPA/Impr secondary */
.rpt-matrix tbody td:nth-child(4) { font-weight: 800; color: var(--rpt-ink); font-size: 13.5px; }
.rpt-matrix tbody td:nth-child(5) { font-weight: 750; font-size: 13.5px; }
.rpt-matrix tbody td:nth-child(6) { font-weight: 700; }
.rpt-matrix tbody td:nth-child(n+7) { color: var(--rpt-muted); font-size: 12px; }

/* Status dots */
.rpt-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.rpt-dot--ok  { background: var(--rpt-forest); box-shadow: 0 0 0 3px rgba(15,90,75,0.12); }
.rpt-dot--low { background: #64748b; box-shadow: 0 0 0 3px rgba(100,116,139,0.12); }
.rpt-dot--dim { background: #9ca3af; }

/* Pager */
.so-rptx-pager {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  border-top: 1px solid var(--rpt-line);
  font-size: 12px;
  color: var(--rpt-muted);
  font-family: monospace;
  background: #f4f7fb;
}
.so-rptx-pg-btn {
  padding: 5px 12px;
  border-radius: 8px;
  border: 1px solid #d4def0;
  background: #f8fbff;
  color: var(--rpt-text);
  cursor: pointer;
  transition: background 140ms, border-color 140ms, color 140ms;
  font-size: 14px;
}
.so-rptx-pg-btn:hover:not([disabled]) { background: #eef3f8; border-color: var(--rpt-line-strong); color: var(--rpt-ink); }
.so-rptx-pg-btn[disabled] { background: #edf2f7; color: #8a93a2; border-color: #d4def0; cursor: default; }

/* Mobile cards (hidden on desktop) */
.rpt-mobile-cards { display: none; }

.rpt-mobile-card {
  background: var(--rpt-surface);
  border: 1px solid var(--rpt-line);
  border-radius: 12px;
  box-shadow: var(--rpt-shadow-soft);
  padding: 16px;
  margin-bottom: 8px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.rpt-mobile-card header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.rpt-mobile-card header strong { font-size: 13px; color: var(--rpt-ink); min-width: 0; overflow-wrap: anywhere; }
.rpt-mobile-status { font-size: 11px; color: var(--rpt-muted); }
.rpt-mobile-plat { font-size: 11px; color: var(--rpt-muted); margin: 0 0 10px; }
.rpt-mobile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.rpt-mobile-grid > div { display: flex; flex-direction: column; gap: 2px; }
.rpt-mobile-grid span { font-size: 9px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--rpt-muted); }
.rpt-mobile-grid strong { font-size: 12px; color: var(--rpt-ink); font-family: monospace; min-width: 0; overflow-wrap: anywhere; }

/* ── Timeline Surface ───────────────────────────────────────── */
.rpt-timeline-surface {
  background: linear-gradient(180deg, var(--rpt-surface), #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 16px;
  box-shadow: var(--rpt-shadow);
  padding: 24px 28px;
  max-width: 100%;
  box-sizing: border-box;
}

.rpt-timeline-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  gap: 16px;
  flex-wrap: wrap;
}

.rpt-timeline-title {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rpt-forest);
  font-family: monospace;
  font-weight: 750;
}

.rpt-metric-btns { display: flex; gap: 4px; flex-wrap: wrap; max-width: 100%; }
.rpt-metric-btn {
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid #d4def0;
  background: #f4f8fc;
  color: var(--rpt-text);
  cursor: pointer;
  transition: background 140ms, border-color 140ms, color 140ms;
  font-family: inherit;
  font-weight: 650;
}
.rpt-metric-btn:hover { background: #eef3f8; border-color: var(--rpt-line-strong); color: var(--rpt-ink); }
.rpt-metric-btn.active { background: #e8f3ef; border-color: #c7dbd4; color: #0f5a4b; }

/* Bar fill color override for reports */
.rpt-bar-fill { background: linear-gradient(180deg, #1a7a5e, #0f5a4b); }

/* Stat cards */
.rpt-stat-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 20px;
}
.rpt-stat-card {
  background: linear-gradient(180deg, #f8fbff, #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.rpt-stat-label { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rpt-muted); font-weight: 750; }
.rpt-stat-val { font-size: 17px; font-weight: 750; color: var(--rpt-ink); font-family: monospace; overflow-wrap: anywhere; }
.rpt-stat-ctx { font-size: 11px; color: var(--rpt-muted); margin: 0; }

/* ── Heatmap Surface ────────────────────────────────────────── */
.rpt-heatmap-surface {
  background: linear-gradient(180deg, var(--rpt-surface), #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 16px;
  box-shadow: var(--rpt-shadow);
  padding: 24px 28px;
  max-width: 100%;
  box-sizing: border-box;
}
.rpt-heatmap-note { font-size: 11px; color: var(--rpt-muted); margin: 0 0 14px; }

/* Override heatmap cell colors to green-intensity scale */
.so-rptx-cell--excellent { background: #14735e; }
.so-rptx-cell--good      { background: #8ac9b7; }
.so-rptx-cell--fair      { background: #f5d187; }
.so-rptx-cell--poor      { background: #f1e8dc; }

/* ── Export Surface ─────────────────────────────────────────── */
.rpt-export-surface {
  background: linear-gradient(180deg, var(--rpt-surface), #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 16px;
  box-shadow: var(--rpt-shadow);
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 100%;
  box-sizing: border-box;
}

.rpt-export-desc-top { font-size: 12px; color: var(--rpt-text); margin: 0; }
.rpt-export-hint { font-size: 11px; color: var(--rpt-muted); font-family: monospace; margin: 0; }

.rpt-export-scope-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.rpt-export-label-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11px;
  color: var(--rpt-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 750;
}

.rpt-export-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.rpt-export-card {
  background: linear-gradient(180deg, #f8fbff, #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 12px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: border-color 140ms, box-shadow 140ms, transform 140ms;
  min-width: 0;
}
.rpt-export-card:hover { border-color: var(--rpt-line-strong); box-shadow: var(--rpt-shadow-soft); transform: translateY(-1px); }

.rpt-export-card-label { font-size: 13px; color: var(--rpt-ink); font-weight: 750; margin: 0 0 3px; }
.rpt-export-card-desc { font-size: 11px; color: var(--rpt-muted); margin: 0; }

.rpt-export-btn {
  background: linear-gradient(180deg, #edf6f2, #d5e9e3);
  border: 1px solid #b0cfca;
  color: #0f5a4b;
  border-radius: 9px;
  padding: 8px 16px;
  font-size: 12px;
  cursor: pointer;
  transition: background 140ms, border-color 140ms, color 140ms, transform 140ms, box-shadow 140ms;
  white-space: nowrap;
  font-family: inherit;
  font-weight: 750;
  box-shadow: 0 8px 18px rgba(15,90,75,0.12), 0 1px 0 #fff inset;
}
.rpt-export-btn:hover:not([disabled]) {
  background: linear-gradient(180deg, #d5e9e3, #c5e0d8);
  border-color: #97c0b8;
  transform: translateY(-1px);
}
.rpt-export-btn[disabled] {
  background: #e8eef6;
  border-color: #cfd8e8;
  color: #7f8896;
  box-shadow: none;
  cursor: default;
}

/* ── Archive ────────────────────────────────────────────────── */
.rpt-archive-list { display: flex; flex-direction: column; gap: 10px; }
.rpt-archive-entry {
  background: linear-gradient(180deg, #f8fbff, #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.rpt-archive-entry-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; min-width: 0; }
.rpt-archive-entry-title { font-size: 13px; color: var(--rpt-ink); }
.rpt-archive-entry-time { font-size: 11px; color: var(--rpt-muted); white-space: nowrap; font-family: monospace; }
.rpt-archive-entry-summary { font-size: 12px; color: var(--rpt-text); margin: 0; line-height: 1.55; }
.rpt-archive-entry-source { font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rpt-indigo); margin: 0; font-weight: 750; }
.rpt-archive-entry-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rpt-archive-check { font-size: 11px; color: var(--rpt-text); display: flex; align-items: center; gap: 6px; cursor: pointer; }

/* ── Signal / Empty States ──────────────────────────────────── */
.rpt-signal-state {
  padding: 44px 38px;
  text-align: center;
  max-width: 480px;
  margin: 0 auto;
  background: linear-gradient(180deg, #f8fbff, #f4f7fb);
  border: 1px solid var(--rpt-line);
  border-radius: 16px;
  box-shadow: var(--rpt-shadow-soft);
  width: 100%;
  box-sizing: border-box;
}
.rpt-signal-state--spaced { margin-bottom: 20px; }
.rpt-signal-eyebrow {
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rpt-forest);
  font-family: monospace;
  margin-bottom: 14px;
  font-weight: 750;
}
.rpt-signal-title {
  font-size: 1.25rem;
  font-weight: 750;
  color: var(--rpt-ink);
  margin-bottom: 10px;
}
.rpt-signal-desc {
  font-size: 13px;
  color: var(--rpt-text);
  line-height: 1.65;
}
.rpt-signal-cta {
  margin-top: 18px;
  display: inline-block;
  padding: 8px 18px;
  border-radius: 9px;
  border: 1px solid #c7dbd4;
  background: linear-gradient(180deg, #edf6f2, #e0efea);
  color: #0f5a4b;
  font-size: 12px;
  cursor: pointer;
  transition: background 140ms, border-color 140ms, transform 140ms, box-shadow 140ms;
  font-family: inherit;
  font-weight: 750;
  box-shadow: 0 8px 18px rgba(15,90,75,.1), 0 1px 0 #fff inset;
}
.rpt-signal-cta:hover { background: linear-gradient(180deg, #e0efea, #d5e9e3); border-color: #b0cfca; transform: translateY(-1px); }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1180px) {
  .rpt-signal-panel { display: none; }
  .rpt-hero-grid { grid-template-columns: 1.4fr 1fr; }
}

@media (max-width: 820px) {
  .rpt-hero { padding: 28px 20px 24px; }
  .rpt-hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .rpt-reporting-console { display: none; }
  .rpt-view-body { padding: 16px; }
  .rpt-export-grid { grid-template-columns: 1fr; }
  .rpt-stat-cards { grid-template-columns: repeat(2, 1fr); }
  .rpt-export-card { flex-direction: column; align-items: flex-start; gap: 12px; }
}

@media (max-width: 600px) {
  .rpt-table-surface { display: none; }
  .rpt-mobile-cards { display: block; }
  .rpt-stat-cards { grid-template-columns: 1fr; }
  .rpt-control-bar { flex-direction: column; align-items: flex-start; gap: 10px; }
  .rpt-search { margin-left: 0; width: 100%; box-sizing: border-box; }
  .rpt-timeline-head { flex-direction: column; align-items: flex-start; }
  .rpt-export-scope-row { flex-direction: column; }
  .rpt-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; padding: 8px; gap: 6px; }
  .rpt-modes::-webkit-scrollbar { display: none; }
  .rpt-mode { white-space: normal; min-width: 0; padding: 11px 8px; text-align: center; }
  .rpt-filter-pills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; width: 100%; }
  .rpt-filter-pills::-webkit-scrollbar { display: none; }
  .rpt-filter-pill { min-width: 0; text-align: center; padding: 7px 9px; }
  .rpt-hero { padding: 20px 16px 18px; border-radius: 12px; margin: 8px 0 0; }
  .rpt-hero-title { font-size: clamp(1.5rem, 7vw, 2.1rem); }
  .rpt-hero-actions { flex-direction: column; align-items: stretch; }
  .rpt-hero-cta { text-align: center; }
  .rpt-view-body { padding: 12px 12px 32px; }
  .rpt-timeline-bar { min-width: 0; }
  .rpt-timeline-surface,
  .rpt-heatmap-surface,
  .rpt-export-surface { padding: 18px 16px; }
  .rpt-mobile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rpt-export-grid { grid-template-columns: 1fr; }
  .rpt-export-card { align-items: stretch; }
  .rpt-export-btn { width: 100%; text-align: center; }
  .rpt-archive-entry-head { flex-direction: column; gap: 6px; }
  .rpt-archive-entry-time { white-space: normal; }
  .rpt-signal-state { padding: 28px 18px; }
}

@media (max-width: 480px) {
  .rpx2-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; padding: 6px; }
  .rpx2-tabs::-webkit-scrollbar { display: none; }
  .rpx2-tab { width: 100%; white-space: normal; }
  .rpt-mobile-grid,
  .rpt-filter-pills { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .rpt-hero-cta,
  .rpt-filter-pill,
  .rpt-mode,
  .rpt-export-btn,
  .rpt-metric-btn,
  .rpt-export-card,
  .rpt-archive-entry { transition: none; }
}

/* ── END REPORTS EXECUTIVE INTELLIGENCE SYSTEM ─────────────── */
