/* Professional dashboard styling for the AI trading engine. */
:root {
  --bg: #eef3f8;
  --panel: rgba(255, 255, 255, 0.96);
  --panel-strong: #ffffff;
  --panel-soft: #f8fafc;
  --border: #dbe4ee;
  --border-strong: #cbd7e4;
  --ink: #0f172a;
  --muted: #64748b;
  --muted-soft: #94a3b8;
  --accent: #2563eb;
  --accent-deep: #1d4ed8;
  --emerald: #0f766e;
  --crimson: #b91c1c;
  --amber: #b45309;
  --shadow: 0 18px 42px rgba(15, 23, 42, 0.08);
  --shadow-soft: 0 10px 24px rgba(15, 23, 42, 0.05);
  --radius: 22px;
  --font-display: "Aptos Display", "Segoe UI Variable Display", "Trebuchet MS", sans-serif;
  --font-body: "Aptos", "Segoe UI Variable Text", "Verdana", sans-serif;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body[data-auth-state="logged-out"] [data-auth-private] {
  display: none !important;
}

body[data-auth-state="authenticated"] [data-auth-public] {
  display: none !important;
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  font-family: var(--font-body);
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 26%),
    radial-gradient(circle at 92% 8%, rgba(15, 118, 110, 0.06), transparent 18%),
    linear-gradient(180deg, #f7f9fc 0%, #eef3f8 100%);
}

html.modal-open,
body.modal-open {
  overflow: hidden;
}

body[data-auth-state="logged-out"] {
  background:
    radial-gradient(circle at 18% 18%, rgba(37, 99, 235, 0.26), transparent 28%),
    radial-gradient(circle at 76% 58%, rgba(20, 184, 166, 0.2), transparent 24%),
    radial-gradient(circle at 48% 100%, rgba(15, 23, 42, 0.9), transparent 42%),
    linear-gradient(135deg, #06101d 0%, #0b1728 44%, #10243a 100%);
  overflow: hidden;
}

body.has-login-market-theme[data-auth-state="logged-out"] {
  background:
    radial-gradient(circle at 16% 22%, rgba(37, 99, 235, 0.2), transparent 30%),
    radial-gradient(circle at 82% 62%, rgba(56, 189, 248, 0.13), transparent 28%),
    linear-gradient(135deg, #020617 0%, #07152c 46%, #030712 100%);
}

body[data-auth-state="logged-out"] .page-shell {
  height: 100vh;
  padding: clamp(18px, 2vw, 30px);
  display: grid;
  overflow: hidden;
}

.page-shell {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 28px 34px 48px;
  overflow-x: clip;
}

/* Text-free animated market scene used by every logged-out view. */
.login-market-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: none;
  overflow: hidden;
  pointer-events: none;
  isolation: isolate;
  background:
    linear-gradient(115deg, rgba(2, 6, 23, 0.97) 0%, rgba(7, 21, 44, 0.94) 46%, rgba(3, 7, 18, 0.98) 100%),
    #020617;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-market-background {
  display: block;
}

body.has-login-market-theme[data-auth-state="logged-out"] .background-orb,
body.has-login-market-theme[data-auth-state="logged-out"] .background-grid {
  display: none;
}

.login-market-background::before,
.login-market-background::after {
  content: "";
  position: absolute;
  inset: 0;
}

.login-market-background::before {
  z-index: 1;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(96, 165, 250, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(96, 165, 250, 0.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, transparent 2%, #000 35%, #000 76%, transparent 100%);
  transform: perspective(700px) rotateX(62deg) scale(1.45) translateY(16%);
  transform-origin: center bottom;
  animation: login-market-grid-drift 16s linear infinite;
}

.login-market-background::after {
  z-index: 9;
  background:
    repeating-linear-gradient(180deg, transparent 0 3px, rgba(255, 255, 255, 0.012) 4px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.44), transparent 18%, transparent 82%, rgba(0, 0, 0, 0.5));
  mix-blend-mode: screen;
  opacity: 0.38;
}

.login-market-aurora {
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  filter: blur(54px);
  opacity: 0.42;
  will-change: transform;
}

.login-market-aurora-a {
  width: 62vw;
  height: 44vw;
  left: -20vw;
  top: 28%;
  background: radial-gradient(circle, rgba(37, 99, 235, 0.42), rgba(30, 64, 175, 0.14) 46%, transparent 72%);
  animation: login-market-aurora-a 13s ease-in-out infinite alternate;
}

.login-market-aurora-b {
  width: 54vw;
  height: 44vw;
  right: -20vw;
  top: -16vw;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.3), rgba(14, 116, 144, 0.1) 48%, transparent 74%);
  animation: login-market-aurora-b 17s ease-in-out infinite alternate;
}

.login-market-dot-field {
  position: absolute;
  z-index: 2;
  width: 56%;
  height: 44%;
  opacity: 0.43;
  background-image: radial-gradient(circle, rgba(96, 165, 250, 0.76) 0 1.5px, transparent 1.8px);
  background-size: 21px 21px;
  mask-image: radial-gradient(ellipse, #000 8%, transparent 72%);
  animation: login-market-dots 12s ease-in-out infinite alternate;
}

.login-market-dot-field-a {
  left: 2%;
  top: 1%;
  transform: perspective(520px) rotateY(12deg) rotateZ(1deg);
}

.login-market-dot-field-b {
  right: -3%;
  top: 7%;
  transform: perspective(520px) rotateY(-14deg) rotateZ(-2deg);
  animation-delay: -5s;
}

.login-market-beams {
  position: absolute;
  inset: 0;
  z-index: 3;
  overflow: hidden;
}

.login-market-beams i {
  position: absolute;
  top: -18%;
  width: clamp(56px, 8vw, 136px);
  height: 138%;
  border: 1px solid rgba(147, 197, 253, 0.07);
  background: linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.08), transparent);
  filter: blur(1px);
  transform: skewX(-4deg);
  animation: login-market-beam 10s ease-in-out infinite alternate;
}

.login-market-beams i:nth-child(1) { left: 8%; animation-delay: -1s; }
.login-market-beams i:nth-child(2) { left: 34%; animation-delay: -6s; opacity: 0.55; }
.login-market-beams i:nth-child(3) { right: 24%; animation-delay: -3s; opacity: 0.7; }
.login-market-beams i:nth-child(4) { right: 4%; animation-delay: -8s; opacity: 0.48; }

.login-market-chart {
  position: absolute;
  z-index: 4;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.login-market-chart path {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.login-market-chart-glow {
  stroke: rgba(56, 189, 248, 0.34);
  stroke-width: 22;
  filter: blur(11px);
}

.login-market-chart-line {
  stroke: #6366f1;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 8px rgba(56, 189, 248, 0.78));
  stroke-dasharray: 2100;
  stroke-dashoffset: 2100;
  animation: login-market-line-draw 8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.login-market-chart-back {
  opacity: 0.34;
  transform: translateY(7%) scale(1.06);
  filter: blur(1px);
}

.login-market-chart-back .login-market-chart-line {
  stroke: #2563eb;
  animation-duration: 11s;
  animation-delay: -4s;
}

.login-market-chart-front {
  opacity: 0.7;
  animation: login-market-chart-float 7s ease-in-out infinite alternate;
}

.login-market-nodes circle {
  fill: #071426;
  stroke: #60a5fa;
  stroke-width: 5;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 10px rgba(96, 165, 250, 0.94));
  transform-box: fill-box;
  transform-origin: center;
  animation: login-market-node-pulse 2.8s ease-in-out infinite;
}

.login-market-nodes circle:nth-child(2) { animation-delay: -0.7s; }
.login-market-nodes circle:nth-child(3) { animation-delay: -1.4s; }
.login-market-nodes circle:nth-child(4) { animation-delay: -2.1s; }

.login-market-network {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  opacity: 0.38;
  animation: login-market-network-float 14s ease-in-out infinite alternate;
}

.login-market-network path {
  fill: none;
  stroke: rgba(125, 211, 252, 0.34);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

.login-market-network circle {
  fill: rgba(96, 165, 250, 0.74);
  filter: drop-shadow(0 0 7px rgba(96, 165, 250, 0.88));
}

.login-market-scan {
  position: absolute;
  z-index: 6;
  left: -20%;
  top: 0;
  width: 38%;
  height: 100%;
  opacity: 0.38;
  background: linear-gradient(100deg, transparent 0%, rgba(125, 211, 252, 0.02) 42%, rgba(125, 211, 252, 0.15) 50%, rgba(125, 211, 252, 0.02) 58%, transparent 100%);
  transform: skewX(-12deg);
  animation: login-market-scan 9s linear infinite;
}

.login-market-vignette {
  position: absolute;
  inset: 0;
  z-index: 8;
  background:
    radial-gradient(ellipse at center, transparent 24%, rgba(2, 6, 23, 0.22) 62%, rgba(1, 4, 15, 0.86) 100%),
    linear-gradient(180deg, rgba(2, 6, 23, 0.1), transparent 40%, rgba(2, 6, 23, 0.48));
}

@keyframes login-market-grid-drift {
  from { background-position: 0 0, 0 0; }
  to { background-position: 0 72px, 72px 0; }
}

@keyframes login-market-aurora-a {
  from { transform: translate3d(-4%, -2%, 0) scale(0.94); }
  to { transform: translate3d(18%, 5%, 0) scale(1.14); }
}

@keyframes login-market-aurora-b {
  from { transform: translate3d(6%, -4%, 0) scale(1.04); }
  to { transform: translate3d(-16%, 10%, 0) scale(0.9); }
}

@keyframes login-market-dots {
  from { opacity: 0.22; background-position: 0 0; }
  to { opacity: 0.52; background-position: 38px 20px; }
}

@keyframes login-market-beam {
  from { transform: translate3d(-18px, -2%, 0) skewX(-4deg); opacity: 0.18; }
  to { transform: translate3d(28px, 4%, 0) skewX(-4deg); opacity: 0.76; }
}

@keyframes login-market-line-draw {
  0% { stroke-dashoffset: 2100; opacity: 0.14; }
  35%, 72% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: -2100; opacity: 0.16; }
}

@keyframes login-market-chart-float {
  from { transform: translate3d(0, 8px, 0) scale(1.01); }
  to { transform: translate3d(0, -12px, 0) scale(1.025); }
}

@keyframes login-market-node-pulse {
  0%, 100% { transform: scale(0.75); opacity: 0.48; }
  50% { transform: scale(1.28); opacity: 1; }
}

@keyframes login-market-network-float {
  from { transform: translate3d(-10px, 4px, 0); opacity: 0.22; }
  to { transform: translate3d(16px, -9px, 0); opacity: 0.48; }
}

@keyframes login-market-scan {
  from { transform: translateX(-30vw) skewX(-12deg); }
  to { transform: translateX(150vw) skewX(-12deg); }
}

/* Strategies & Trades History */
.strategy-history-page {
  gap: 18px;
}

.strategy-history-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  background:
    radial-gradient(circle at 88% 14%, rgba(20, 184, 166, 0.14), transparent 28%),
    linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.98) 48%, rgba(240, 253, 250, 0.94));
}

.strategy-history-hero h1 {
  margin: 4px 0 8px;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.7rem);
}

.strategy-history-hero p {
  max-width: 850px;
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.strategy-history-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
  flex: 0 0 auto;
}

.strategy-history-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: #475569;
  background: rgba(255, 255, 255, 0.84);
  font-size: 0.76rem;
  font-weight: 850;
}

.strategy-history-legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #64748b;
}

.strategy-history-legend i.is-refined { background: #2563eb; }
.strategy-history-legend i.is-merged { background: #7c3aed; }
.strategy-history-legend i.is-current { background: #0f766e; }

.strategy-history-controls {
  padding: 18px 20px;
}

.strategy-history-filter-form {
  display: grid;
  grid-template-columns: minmax(210px, 1.3fr) repeat(2, minmax(140px, 0.65fr)) repeat(2, minmax(175px, 0.78fr)) auto;
  gap: 12px;
  align-items: end;
}

.strategy-history-filter-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.strategy-history-filter-form label span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 850;
}

.strategy-history-filter-actions {
  display: inline-flex;
  gap: 8px;
}

.strategy-history-controls .form-message {
  margin: 12px 0 0;
}

.strategy-history-overview {
  grid-column: span 12;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}

.strategy-history-overview-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-soft);
}

.strategy-history-overview-card span,
.strategy-history-overview-card strong {
  display: block;
}

.strategy-history-overview-card span {
  min-height: 30px;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.strategy-history-overview-card strong {
  margin-top: 5px;
  overflow-wrap: anywhere;
  font-family: var(--font-display);
  font-size: 1.22rem;
}

.strategy-history-ml {
  grid-column: span 12;
  display: grid;
  gap: 12px;
  padding: 16px 18px;
  border-color: rgba(59, 130, 246, 0.22);
  border-radius: 8px;
  background: rgba(239, 246, 255, 0.92);
}

.strategy-history-ml-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.strategy-history-ml-head h2,
.strategy-history-ml-head p {
  margin: 0;
}

.strategy-history-ml-head h2 {
  margin-top: 3px;
  font-size: 1.1rem;
}

.strategy-history-ml-head p,
.strategy-history-ml-note {
  color: #475569;
  font-size: 0.82rem;
  line-height: 1.5;
}

.strategy-history-ml-status {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.strategy-history-ml-status.is-positive { color: #047857; }
.strategy-history-ml-status.is-negative { color: #be123c; }
.strategy-history-ml-status.is-warning { color: #92400e; }
.strategy-history-ml-status.is-muted { color: #64748b; }

.strategy-history-ml-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.strategy-history-ml-grid article {
  background: rgba(255, 255, 255, 0.76);
}

.strategy-history-ml-note {
  margin: 0;
  padding: 9px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.65);
}

.strategy-history-quality {
  grid-column: span 12;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 15px 18px;
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-radius: 16px;
  background: rgba(255, 251, 235, 0.92);
}

.strategy-history-quality strong,
.strategy-history-quality p {
  display: block;
  margin: 0;
}

.strategy-history-quality p {
  margin-top: 4px;
  color: #7c5b24;
  font-size: 0.84rem;
}

.strategy-history-quality-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.strategy-history-quality-pills span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #92400e;
  background: rgba(255, 255, 255, 0.74);
  font-size: 0.74rem;
  font-weight: 850;
}

.strategy-history-list {
  grid-column: span 12;
  display: grid;
  gap: 16px;
}

.strategy-history-family {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-soft);
}

.strategy-history-family > summary {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(400px, 0.76fr) 36px;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.98), rgba(239, 246, 255, 0.72));
}

.strategy-history-family > summary::-webkit-details-marker,
.strategy-history-node-section > summary::-webkit-details-marker,
.strategy-history-daily > summary::-webkit-details-marker {
  display: none;
}

.strategy-history-family[open] > summary {
  border-bottom: 1px solid var(--border);
  background: linear-gradient(135deg, rgba(219, 234, 254, 0.58), rgba(240, 253, 250, 0.62));
}

.strategy-history-family-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 13px;
}

.strategy-history-family-number {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 14px;
  color: #ffffff;
  background: #0f172a;
  font-size: 0.82rem;
  font-weight: 900;
}

.strategy-history-family-title small,
.strategy-history-family-title p,
.strategy-history-family-title h2 {
  display: block;
  margin: 0;
}

.strategy-history-family-title small {
  color: #2563eb;
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-history-family-title h2 {
  margin-top: 3px;
  overflow-wrap: anywhere;
  font-size: 1.05rem;
}

.strategy-history-family-title p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.75rem;
}

.strategy-history-family-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.strategy-history-family-metrics > span {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
}

.strategy-history-family-metrics small,
.strategy-history-family-metrics strong {
  display: block;
}

.strategy-history-family-metrics small {
  color: var(--muted-soft);
  font-size: 0.6rem;
  font-weight: 900;
  text-transform: uppercase;
}

.strategy-history-family-metrics strong {
  margin-top: 2px;
  overflow-wrap: anywhere;
  font-size: 0.88rem;
}

.strategy-history-family-toggle {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  color: #2563eb;
  background: #ffffff;
  border: 1px solid rgba(37, 99, 235, 0.2);
  font-size: 1.1rem;
  font-weight: 800;
  transition: transform 160ms ease;
}

.strategy-history-family[open] .strategy-history-family-toggle {
  transform: rotate(45deg);
}

.strategy-history-family-body {
  padding: 18px;
}

.strategy-history-family-context {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.strategy-history-family-context span,
.strategy-history-family-context button {
  padding: 8px 11px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 850;
}

.strategy-history-family-context span {
  color: #475569;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
}

.strategy-history-family-context button,
.strategy-history-view-button,
.strategy-history-revisions button {
  border: 1px solid rgba(37, 99, 235, 0.22);
  color: #1d4ed8;
  background: #ffffff;
  cursor: pointer;
}

.strategy-history-flow {
  display: grid;
}

.strategy-history-node {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  min-width: 0;
}

.strategy-history-node-rail {
  position: relative;
  display: flex;
  justify-content: center;
}

.strategy-history-node-rail::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: #dbe4ee;
}

.strategy-history-node:first-child .strategy-history-node-rail::before { top: 22px; }
.strategy-history-node:last-child .strategy-history-node-rail::before { bottom: calc(100% - 23px); }

.strategy-history-node-rail span {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-top: 18px;
  border: 4px solid #ffffff;
  border-radius: 999px;
  color: #ffffff;
  background: #64748b;
  box-shadow: 0 0 0 1px #cbd5e1;
  font-size: 0.66rem;
  font-weight: 900;
}

.strategy-history-node.is-refined .strategy-history-node-rail span { background: #2563eb; }
.strategy-history-node.is-merged .strategy-history-node-rail span { background: #7c3aed; }
.strategy-history-node.is-current .strategy-history-node-rail span { background: #0f766e; }

.strategy-history-node-card {
  min-width: 0;
  margin-bottom: 14px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-left: 5px solid #64748b;
  border-radius: 15px;
  background: #ffffff;
}

.strategy-history-node.is-refined .strategy-history-node-card { border-left-color: #2563eb; }
.strategy-history-node.is-merged .strategy-history-node-card { border-left-color: #7c3aed; }
.strategy-history-node.is-current .strategy-history-node-card {
  border-left-color: #0f766e;
  background: linear-gradient(135deg, #ffffff, rgba(240, 253, 250, 0.72));
}
.strategy-history-node.has-no-own-trades .strategy-history-node-card { border-style: dashed; }

.strategy-history-node-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.strategy-history-node-card h3,
.strategy-history-node-card p,
.strategy-history-node-card small {
  margin: 0;
}

.strategy-history-node-card h3 {
  margin-top: 7px;
  font-size: 1.05rem;
}

.strategy-history-node-card header p {
  margin-top: 5px;
  color: #475569;
  font-size: 0.82rem;
}

.strategy-history-node-card header small {
  display: block;
  margin-top: 5px;
  color: var(--muted-soft);
  font-size: 0.68rem;
}

.strategy-history-node-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.strategy-history-node-badges span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #475569;
  background: #f1f5f9;
  font-size: 0.64rem;
  font-weight: 900;
  text-transform: uppercase;
}

.strategy-history-node-badges .is-kind { color: #1d4ed8; background: #eff6ff; }
.strategy-history-node-badges .is-warning { color: #92400e; background: #fffbeb; }
.strategy-history-node-badges .is-positive { color: #047857; background: #ecfdf5; }
.strategy-history-node-badges .is-negative { color: #be123c; background: #fff1f2; }
.strategy-history-node-badges .is-muted { color: #64748b; background: #f8fafc; }

.strategy-history-view-button {
  flex: 0 0 auto;
  padding: 8px 11px;
  border-radius: 9px;
  font-size: 0.72rem;
  font-weight: 850;
}

.strategy-history-node-metrics,
.strategy-history-drawer-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.strategy-history-node-metrics article,
.strategy-history-drawer-metrics article {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: #f8fafc;
}

.strategy-history-node-metrics small,
.strategy-history-node-metrics strong,
.strategy-history-drawer-metrics small,
.strategy-history-drawer-metrics strong {
  display: block;
}

.strategy-history-node-metrics small,
.strategy-history-drawer-metrics small {
  color: var(--muted-soft);
  font-size: 0.62rem;
  font-weight: 900;
  text-transform: uppercase;
}

.strategy-history-node-metrics strong,
.strategy-history-drawer-metrics strong {
  margin-top: 3px;
  overflow-wrap: anywhere;
  font-size: 0.91rem;
}

.strategy-history-attribution-note {
  margin: 10px 0 0 !important;
  padding: 8px 10px;
  border-radius: 9px;
  color: #1e40af !important;
  background: #eff6ff;
  font-size: 0.72rem !important;
}

.strategy-history-config-chips,
.strategy-history-node-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.strategy-history-config-chips span,
.strategy-history-node-actions a {
  padding: 7px 9px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  color: #475569;
  background: #f8fafc;
  font-size: 0.68rem;
  font-weight: 850;
  text-decoration: none;
}

.strategy-history-node-actions {
  justify-content: flex-end;
}

.strategy-history-node-actions a {
  color: #5b21b6;
  border-color: rgba(124, 58, 237, 0.24);
  background: #f5f3ff;
}

.strategy-history-entry-rules {
  display: grid;
  grid-template-columns: minmax(120px, 0.42fr) repeat(5, minmax(0, 1fr));
  gap: 7px;
  align-items: stretch;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(59, 130, 246, 0.18);
  border-radius: 8px;
  background: #eff6ff;
}

.strategy-history-entry-rules strong,
.strategy-history-entry-rules span,
.strategy-history-entry-rules small,
.strategy-history-entry-rules b {
  display: block;
}

.strategy-history-entry-rules > strong {
  align-self: center;
  color: #1d4ed8;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.strategy-history-entry-rules span {
  padding: 7px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.7);
}

.strategy-history-entry-rules small {
  color: #64748b;
  font-size: 0.58rem;
  font-weight: 900;
  text-transform: uppercase;
}

.strategy-history-entry-rules b {
  margin-top: 2px;
  color: #0f172a;
  font-size: 0.78rem;
}

.strategy-history-cleanup {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.strategy-history-cleanup article {
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 8px;
  background: #f8fafc;
}

.strategy-history-cleanup article.is-positive { border-color: rgba(16, 185, 129, 0.28); background: #ecfdf5; }
.strategy-history-cleanup article.is-negative { border-color: rgba(244, 63, 94, 0.32); background: #fff1f2; }
.strategy-history-cleanup article.is-warning { border-color: rgba(245, 158, 11, 0.34); background: #fffbeb; }

.strategy-history-cleanup strong,
.strategy-history-cleanup p {
  display: block;
  margin: 0;
}

.strategy-history-cleanup strong {
  color: #0f172a;
  font-size: 0.76rem;
}

.strategy-history-cleanup p {
  margin-top: 3px;
  color: #475569;
  font-size: 0.7rem;
  line-height: 1.4;
}

.strategy-history-ml-estimate {
  display: grid;
  grid-template-columns: minmax(220px, 0.82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.9);
}

.strategy-history-ml-estimate.is-positive { border-color: rgba(16, 185, 129, 0.3); background: rgba(236, 253, 245, 0.78); }
.strategy-history-ml-estimate.is-negative { border-color: rgba(244, 63, 94, 0.32); background: rgba(255, 241, 242, 0.78); }
.strategy-history-ml-estimate.is-warning { border-color: rgba(245, 158, 11, 0.34); background: rgba(255, 251, 235, 0.86); }
.strategy-history-ml-estimate.is-muted { border-color: rgba(148, 163, 184, 0.22); }

.strategy-history-ml-estimate span,
.strategy-history-ml-estimate strong,
.strategy-history-ml-estimate small {
  display: block;
}

.strategy-history-ml-estimate > div > span {
  color: var(--muted-soft);
  font-size: 0.64rem;
  font-weight: 900;
  text-transform: uppercase;
}

.strategy-history-ml-estimate > div > strong {
  margin-top: 3px;
  color: #0f172a;
}

.strategy-history-ml-estimate > div > small {
  margin-top: 4px;
  color: #475569;
  line-height: 1.45;
}

.strategy-history-ml-estimate-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}

.strategy-history-ml-estimate-grid span {
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.strategy-history-ml-estimate-grid small {
  color: var(--muted-soft);
  font-size: 0.58rem;
  font-weight: 900;
  text-transform: uppercase;
}

.strategy-history-ml-estimate-grid strong {
  margin-top: 2px;
  overflow-wrap: anywhere;
  color: #0f172a;
  font-size: 0.82rem;
}

.strategy-history-inherited {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  margin-top: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(124, 58, 237, 0.17);
  border-radius: 10px;
  background: rgba(245, 243, 255, 0.7);
}

.strategy-history-inherited span,
.strategy-history-inherited small { display: block; }
.strategy-history-inherited span { color: #6d28d9; font-size: 0.75rem; font-weight: 900; }
.strategy-history-inherited small { margin-top: 2px; color: var(--muted); font-size: 0.68rem; }

.strategy-history-node-section,
.strategy-history-daily {
  margin-top: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
}

.strategy-history-node-section > summary,
.strategy-history-daily > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
  color: #334155;
  font-size: 0.75rem;
  font-weight: 900;
}

.strategy-history-node-section > summary span,
.strategy-history-daily > summary span {
  padding: 4px 7px;
  border-radius: 999px;
  color: #475569;
  background: #f1f5f9;
  font-size: 0.66rem;
}

.strategy-history-revisions,
.strategy-history-events,
.strategy-history-daily > div {
  display: grid;
  gap: 7px;
  padding: 0 10px 10px;
}

.strategy-history-revisions article {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) repeat(3, auto) auto;
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 8px;
  background: #f8fafc;
  font-size: 0.72rem;
}

.strategy-history-revisions strong,
.strategy-history-revisions small { display: block; }
.strategy-history-revisions small { color: var(--muted); margin-top: 2px; }
.strategy-history-revisions button { padding: 6px 9px; border-radius: 7px; font-size: 0.68rem; font-weight: 850; }

.strategy-history-events article {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 9px;
  padding: 9px 10px;
  border-radius: 8px;
  background: #f8fafc;
}

.strategy-history-events i {
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border-radius: 999px;
  background: #0f766e;
}

.strategy-history-events i.is-reconstructed { background: #0d9488; }
.strategy-history-events strong,
.strategy-history-events small { display: block; }
.strategy-history-events strong { font-size: 0.75rem; }
.strategy-history-events small { margin-top: 2px; color: var(--muted); font-size: 0.66rem; }
.strategy-history-events p { margin-top: 5px !important; color: #475569 !important; font-size: 0.72rem !important; }

.strategy-history-change-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.strategy-history-change-list span {
  padding: 5px 7px;
  border-radius: 7px;
  color: #475569;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  font-size: 0.63rem;
}

.strategy-history-end-marker {
  display: grid;
  grid-template-columns: minmax(30px, 1fr) auto minmax(30px, 1fr);
  align-items: center;
  gap: 12px;
  margin: 6px 0 0 44px;
  color: #64748b;
}

.strategy-history-end-marker span {
  height: 1px;
  background: linear-gradient(90deg, transparent, #cbd5e1);
}
.strategy-history-end-marker span:last-child { background: linear-gradient(90deg, #cbd5e1, transparent); }
.strategy-history-end-marker strong { font-size: 0.68rem; text-align: center; text-transform: uppercase; letter-spacing: 0.06em; }

.strategy-history-empty {
  grid-column: span 12;
  padding: 54px 24px;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  text-align: center;
  background: rgba(255, 255, 255, 0.86);
}

.strategy-history-empty-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  border-radius: 17px;
  color: #2563eb;
  background: #eff6ff;
  font-size: 1.4rem;
  font-weight: 900;
}

.strategy-history-empty h2,
.strategy-history-empty p,
.strategy-history-empty small { display: block; margin: 0; }
.strategy-history-empty p { margin-top: 7px; color: #475569; }
.strategy-history-empty small { margin-top: 7px; color: var(--muted); }

.strategy-history-drawer-shell {
  position: fixed;
  inset: 0;
  z-index: 10020;
}

.strategy-history-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(3px);
}

.strategy-history-drawer {
  position: absolute;
  inset: 0 0 0 auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1120px, 94vw);
  background: #f8fafc;
  box-shadow: -30px 0 70px rgba(15, 23, 42, 0.24);
}

.strategy-history-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--border);
  background: #ffffff;
}

.strategy-history-drawer-head h2,
.strategy-history-drawer-head p { margin: 0; }
.strategy-history-drawer-head h2 { margin-top: 3px; }
.strategy-history-drawer-head > div > p:last-child { margin-top: 5px; color: var(--muted); }

.strategy-history-drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 18px 20px 30px;
}

.strategy-history-drawer-metrics {
  margin: 0 0 14px;
}

.strategy-history-daily {
  margin-bottom: 14px;
}

.strategy-history-daily > div article {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) repeat(4, minmax(80px, auto));
  align-items: center;
  gap: 12px;
  padding: 9px 10px;
  border-radius: 8px;
  background: #f8fafc;
  font-size: 0.75rem;
}

.strategy-history-trade-table-wrap {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #ffffff;
}

.strategy-history-trade-table {
  width: 100%;
  min-width: 940px;
  border-collapse: collapse;
}

.strategy-history-trade-table th,
.strategy-history-trade-table td {
  padding: 11px 12px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: top;
  font-size: 0.75rem;
}

.strategy-history-trade-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #475569;
  background: #f1f5f9;
  font-size: 0.68rem;
  text-transform: uppercase;
}

.strategy-history-trade-table td small,
.strategy-history-trade-table td strong { display: block; }
.strategy-history-trade-table td small { margin-top: 3px; color: var(--muted); }
.strategy-history-trade-table td small.strategy-history-evidence-flag {
  display: inline-block;
  margin-top: 6px;
  padding: 3px 7px;
  color: #92400e;
  border: 1px solid rgba(245, 158, 11, 0.36);
  border-radius: 999px;
  background: #fef3c7;
  font-weight: 900;
}
.strategy-history-limit-note { color: var(--muted); font-size: 0.76rem; }

@media (max-width: 1180px) {
  .strategy-history-overview { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .strategy-history-ml-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .strategy-history-family > summary { grid-template-columns: minmax(240px, 1fr) minmax(350px, 0.85fr) 34px; }
  .strategy-history-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .strategy-history-filter-actions { align-self: end; }
}

@media (max-width: 800px) {
  .strategy-history-hero,
  .strategy-history-ml-head,
  .strategy-history-quality { align-items: flex-start; flex-direction: column; }
  .strategy-history-legend { justify-content: flex-start; }
  .strategy-history-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .strategy-history-family > summary { grid-template-columns: minmax(0, 1fr) 34px; }
  .strategy-history-family-metrics { grid-column: 1 / -1; grid-row: 2; }
  .strategy-history-family-toggle { grid-column: 2; grid-row: 1; }
  .strategy-history-node-card > header { flex-direction: column; }
  .strategy-history-node-metrics,
  .strategy-history-drawer-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .strategy-history-ml-estimate { grid-template-columns: 1fr; }
  .strategy-history-entry-rules { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .strategy-history-entry-rules > strong { grid-column: 1 / -1; }
  .strategy-history-revisions article { grid-template-columns: minmax(140px, 1fr) repeat(2, auto); }
  .strategy-history-revisions article > :nth-child(4) { grid-column: 2; }
  .strategy-history-inherited { grid-template-columns: minmax(0, 1fr) auto; }
  .strategy-history-inherited > strong:last-child { grid-column: 2; }
  .strategy-history-daily > div article { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .strategy-history-filter-form { grid-template-columns: 1fr; }
  .strategy-history-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .strategy-history-family-body { padding: 12px; }
  .strategy-history-family > summary { padding: 14px; }
  .strategy-history-family-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .strategy-history-node { grid-template-columns: 32px minmax(0, 1fr); }
  .strategy-history-node-rail span { width: 26px; height: 26px; }
  .strategy-history-node-metrics,
  .strategy-history-drawer-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .strategy-history-ml-grid,
  .strategy-history-ml-estimate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .strategy-history-entry-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .strategy-history-node-actions { justify-content: stretch; }
  .strategy-history-node-actions a { flex: 1 1 120px; text-align: center; }
  .strategy-history-revisions article { grid-template-columns: 1fr 1fr; }
  .strategy-history-drawer { width: 100vw; }
  .strategy-history-end-marker { margin-left: 32px; }
}

.app-footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  margin-top: 28px;
  padding: 18px 22px;
  overflow: hidden;
  border: 1px solid rgba(203, 213, 225, 0.74);
  border-radius: 18px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.94), rgba(240, 253, 250, 0.72)),
    #ffffff;
  box-shadow: var(--shadow-soft);
}

.app-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: linear-gradient(180deg, #2563eb, #14b8a6, #0d9488);
}

.app-footer-brand,
.app-footer-copy {
  position: relative;
  z-index: 1;
}

.app-footer-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 12px;
}

.app-footer-brand strong,
.app-footer-brand small,
.app-footer-copy span {
  display: block;
}

.app-footer-brand strong {
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1rem;
}

.app-footer-brand small,
.app-footer-copy span {
  color: var(--muted);
  line-height: 1.45;
}

.app-footer-brand small {
  font-weight: 700;
}

.app-footer-copy {
  flex: 0 1 auto;
  min-width: 240px;
  text-align: right;
}

.app-footer-copy span {
  font-size: 0.9rem;
  font-weight: 800;
}

.app-footer-mark {
  display: inline-grid;
  grid-template-columns: repeat(3, 8px);
  align-items: end;
  gap: 4px;
  width: 42px;
  height: 42px;
  padding: 8px;
  flex: 0 0 auto;
  border-radius: 14px;
  background: #0f172a;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.app-footer-mark span {
  display: block;
  width: 8px;
  border-radius: 999px 999px 4px 4px;
}

.app-footer-mark span:nth-child(1) {
  height: 16px;
  background: #14b8a6;
}

.app-footer-mark span:nth-child(2) {
  height: 25px;
  background: #22c55e;
}

.app-footer-mark span:nth-child(3) {
  height: 32px;
  background: #6366f1;
}

.background-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(28px);
  opacity: 0.22;
  pointer-events: none;
}

.orb-a {
  width: 220px;
  height: 220px;
  background: rgba(37, 99, 235, 0.16);
  top: -60px;
  right: -40px;
}

.orb-b {
  width: 180px;
  height: 180px;
  background: rgba(15, 118, 110, 0.12);
  left: -40px;
  bottom: 18%;
}

.background-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(148, 163, 184, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 85%);
  pointer-events: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hero,
.dashboard {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
  min-height: 66px;
}

.hero h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1;
  letter-spacing: -0.03em;
}

.hero-left {
  display: flex;
  align-items: center;
  min-width: 0;
}

.brand-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  flex: 0 0 auto;
  border-radius: 0;
  text-decoration: none;
  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;
  transition: transform 160ms ease, opacity 160ms ease, filter 160ms ease;
}

.brand-logo:hover {
  transform: translateY(-2px);
  opacity: 0.94;
  filter: brightness(1.08);
}

.brand-logo.has-selected-logo {
  width: 78px;
  height: 78px;
  padding: 8px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 24% 18%, rgba(236, 72, 153, .22), transparent 46%),
    radial-gradient(circle at 76% 82%, rgba(34, 211, 238, .14), transparent 48%),
    linear-gradient(145deg, rgba(30, 22, 48, .92), rgba(12, 9, 22, .96));
  border: 1px solid rgba(167, 139, 250, .34);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.brand-logo.has-selected-logo .brand-logo-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 16px;
  filter:
    saturate(1.18)
    brightness(1.18)
    drop-shadow(0 4px 10px rgba(236, 72, 153, .24));
}

.brand-symbol {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 46px;
  overflow: hidden;
  border-radius: 17px;
  background:
    radial-gradient(circle at 74% 24%, rgba(255, 255, 255, 0.92) 0 7%, transparent 8%),
    radial-gradient(circle at 28% 76%, rgba(253, 186, 116, 0.72), transparent 30%),
    conic-gradient(from 210deg, #22c55e, #14b8a6, #2563eb, #7c3aed, #0d9488, #22c55e);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 12px 24px rgba(15, 23, 42, 0.14);
}

.brand-symbol::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-left-color: rgba(255, 255, 255, 0.18);
  border-bottom-color: rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  transform: rotate(-26deg);
}

.brand-symbol::after {
  content: "";
  position: absolute;
  width: 22px;
  height: 3px;
  left: 12px;
  top: 23px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  transform: rotate(-34deg);
  box-shadow: 8px -8px 0 -1px rgba(255, 255, 255, 0.58);
}

.brand-bar {
  position: absolute;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.05);
}

.brand-bar-a {
  left: 14px;
  height: 13px;
}

.brand-bar-b {
  left: 21px;
  height: 21px;
}

.brand-bar-c {
  left: 28px;
  height: 16px;
}

.brand-symbol-large {
  width: 72px;
  height: 72px;
  border-radius: 24px;
}

.brand-symbol-large::before {
  inset: 13px;
  border-width: 3px;
}

.brand-symbol-large::after {
  width: 34px;
  height: 5px;
  left: 19px;
  top: 36px;
  box-shadow: 12px -12px 0 -1px rgba(255, 255, 255, 0.56);
}

.brand-symbol-large .brand-bar {
  bottom: 15px;
  width: 6px;
}

.brand-symbol-large .brand-bar-a {
  left: 23px;
  height: 20px;
}

.brand-symbol-large .brand-bar-b {
  left: 34px;
  height: 33px;
}

.brand-symbol-large .brand-bar-c {
  left: 45px;
  height: 25px;
}

.brand-symbol-mini {
  width: 40px;
  height: 40px;
  border-radius: 15px;
  flex: 0 0 40px;
}

.brand-symbol-mini::before {
  inset: 8px;
}

.brand-symbol-mini::after {
  width: 18px;
  left: 11px;
  top: 20px;
  box-shadow: 7px -7px 0 -1px rgba(255, 255, 255, 0.54);
}

.brand-symbol-mini .brand-bar {
  bottom: 8px;
  width: 4px;
}

.brand-symbol-mini .brand-bar-a {
  left: 12px;
  height: 11px;
}

.brand-symbol-mini .brand-bar-b {
  left: 18px;
  height: 18px;
}

.brand-symbol-mini .brand-bar-c {
  left: 24px;
  height: 14px;
}

.login-brand-lockup {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 10px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(191, 219, 254, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 22px 44px rgba(3, 7, 18, 0.2);
}

.login-brand-lockup .login-live-dot {
  position: absolute;
  right: 7px;
  bottom: 8px;
}

.hero-right {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.hero-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  border-radius: 999px;
  text-decoration: none;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid var(--border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  transition: transform 160ms ease, color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.nav-link:hover {
  transform: translateY(-1px);
  color: var(--ink);
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.05);
}

.nav-link.is-active {
  color: #ffffff;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
  border-color: transparent;
}

.dashboard {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  min-width: 0;
}

body[data-auth-state="logged-out"] .dashboard {
  min-height: 100%;
  align-content: center;
}

.panel {
  position: relative;
  grid-column: span 12;
  min-width: 0;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px;
  overflow: hidden;
  backdrop-filter: blur(10px);
}

.panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), transparent 28%);
  pointer-events: none;
}

.workflow-note {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid var(--research-info-border, rgba(129, 140, 248, 0.38));
  border-radius: 8px;
  color: var(--research-contrast-text, #f8f7fc);
  background: var(--research-info-bg, rgba(49, 46, 129, 0.34));
  box-shadow: inset 3px 0 0 var(--research-info-text, #c7d2fe);
}

.panel.workflow-note {
  grid-column: span 12;
  margin-top: 0;
}

.workflow-note h2 {
  margin: 2px 0 0;
  color: var(--research-contrast-text, #ffffff);
  font-family: var(--font-display);
  font-size: clamp(1.02rem, 1.35vw, 1.3rem);
  line-height: 1.22;
}

.workflow-note .section-kicker {
  margin: 0;
  color: var(--research-info-text, #c7d2fe);
}

.workflow-note-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.workflow-note-grid div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--research-contrast-border, rgba(129, 140, 248, 0.26));
  border-radius: 8px;
  background: var(--research-contrast-surface, rgba(15, 11, 24, 0.62));
}

.workflow-note-grid strong {
  color: var(--research-contrast-text, #ffffff);
  font-size: 0.88rem;
  line-height: 1.3;
}

.workflow-note-grid span {
  color: var(--research-contrast-muted, #d8d0e7);
  font-size: 0.8rem;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .workflow-note-grid {
    grid-template-columns: 1fr;
  }
}

.panel-login {
  max-width: 500px;
}

body[data-auth-state="logged-out"] .panel-login[data-auth-public] {
  margin: 0 auto;
}

.panel-head {
  position: relative;
  z-index: 1;
  margin-bottom: 16px;
}

.panel-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.7rem);
}

.table-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.table-panel-head .ghost-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.table-panel-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 10px;
}

.table-panel-head .table-panel-actions .ghost-button {
  flex: 0 0 auto;
  white-space: nowrap;
}

.section-kicker {
  margin: 0 0 8px;
  font-size: 0.74rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.overview-header {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-bottom: 18px;
}

.overview-highlight {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.02rem;
  line-height: 1.35;
  color: var(--ink);
}

.overview-actions,
.market-actions,
.broker-actions,
.filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.metric-grid {
  display: grid;
  gap: 14px;
}

.metric-grid-wide {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-status-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-performance-grid {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  margin-top: 14px;
}

.dashboard-summary-grid .metric-card {
  display: grid;
  align-content: center;
  min-height: 124px;
  overflow: hidden;
}

.dashboard-summary-grid .dashboard-control-card {
  align-content: space-between;
  gap: 14px;
  padding: 16px;
  background:
    radial-gradient(circle at top left, rgba(20, 184, 166, 0.16), transparent 46%),
    linear-gradient(135deg, #eff6ff 0%, #ffffff 78%);
}

.dashboard-engine-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
}

.dashboard-engine-actions .action-button {
  min-width: 0;
  min-height: 42px;
  justify-content: center;
  padding: 10px 11px;
  border-radius: 14px;
  font-size: 0.82rem;
  line-height: 1.15;
}

.dashboard-engine-actions .button-icon {
  flex: 0 0 auto;
}

.dashboard-performance-grid .metric-card {
  min-height: 108px;
  padding: 18px;
}

.dashboard-summary-grid .metric-value {
  min-width: 0;
  overflow-wrap: anywhere;
}

.dashboard-summary-grid .metric-note {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-feed-card .dashboard-feed-status {
  display: none;
}

.dashboard-trade-actions {
  flex-wrap: wrap;
}

.dashboard-trade-actions .action-button {
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 14px;
  font-size: 0.84rem;
  white-space: nowrap;
}

.dashboard-market-card {
  position: relative;
  border-color: rgba(145, 173, 214, 0.28);
  background:
    linear-gradient(135deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.94));
}

.dashboard-market-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #64748b, #94a3b8);
}

.dashboard-market-card.is-live {
  border-color: rgba(5, 150, 105, 0.28);
  background:
    linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(255, 255, 255, 0.94));
}

.dashboard-market-card.is-live::before {
  background: linear-gradient(90deg, #059669, #14b8a6);
}

.dashboard-market-card.is-paused {
  border-color: rgba(245, 158, 11, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.94));
}

.dashboard-market-card.is-paused::before {
  background: linear-gradient(90deg, #d97706, #0d9488);
}

.dashboard-market-card.is-closed {
  border-color: rgba(225, 29, 72, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 241, 242, 0.96), rgba(255, 255, 255, 0.94));
}

.dashboard-market-card.is-closed::before {
  background: linear-gradient(90deg, #e11d48, #f97316);
}

.dashboard-market-card .metric-note {
  white-space: normal;
}

.dashboard-compact-summary {
  padding: clamp(20px, 1.8vw, 28px);
  border-color: rgba(168, 85, 247, .30);
  border-radius: 30px;
  background:
    radial-gradient(circle at 12% -18%, rgba(139, 92, 246, .28), transparent 34%),
    radial-gradient(circle at 88% -22%, rgba(236, 72, 153, .22), transparent 34%),
    linear-gradient(135deg, rgba(13, 10, 26, .94), rgba(24, 14, 39, .88) 58%, rgba(11, 18, 32, .92));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .07),
    0 28px 60px rgba(2, 6, 23, .34);
}

.dashboard-compact-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 1.7vw, 26px);
  align-items: stretch;
}

.dashboard-compact-grid .dashboard-compact-tile {
  --tile-edge-a: #8b5cf6;
  --tile-edge-b: #ec4899;
  --tile-glow: rgba(168, 85, 247, .24);
  position: relative;
  display: grid;
  align-content: flex-start;
  gap: 12px;
  min-height: 252px;
  padding: clamp(20px, 1.8vw, 28px);
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 36px 9px 36px 9px;
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--tile-edge-a) 24%, transparent), transparent 42%) padding-box,
    radial-gradient(circle at 96% 8%, color-mix(in srgb, var(--tile-edge-b) 18%, transparent), transparent 34%) padding-box,
    linear-gradient(145deg, rgba(31, 24, 48, .96), rgba(21, 16, 36, .94) 54%, rgba(14, 20, 34, .94)) padding-box,
    linear-gradient(135deg, var(--tile-edge-a), rgba(255, 255, 255, .22) 42%, var(--tile-edge-b)) border-box;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, .035),
    inset 0 1px 0 rgba(255, 255, 255, .10),
    inset 0 -28px 58px rgba(2, 6, 23, .20),
    0 22px 46px rgba(2, 6, 23, .34),
    0 0 42px var(--tile-glow);
}

.dashboard-compact-grid .dashboard-compact-tile::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--tile-edge-a), var(--tile-edge-b));
  box-shadow: 0 0 24px color-mix(in srgb, var(--tile-edge-b) 46%, transparent);
}

.dashboard-compact-grid .dashboard-compact-tile::after {
  content: "";
  position: absolute;
  inset: 8px 10px auto auto;
  width: 82px;
  height: 82px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, .10), transparent 64%);
  opacity: .72;
  pointer-events: none;
}

.dashboard-compact-grid .dashboard-market-card,
.dashboard-compact-grid .dashboard-control-card {
  --tile-edge-a: #8b5cf6;
  --tile-edge-b: #38bdf8;
  --tile-glow: rgba(59, 130, 246, .18);
}

.dashboard-compact-grid .dashboard-market-card.is-live {
  --tile-edge-a: #22c55e;
  --tile-edge-b: #06b6d4;
  --tile-glow: rgba(34, 197, 94, .18);
}

.dashboard-compact-grid .dashboard-market-card.is-paused {
  --tile-edge-a: #f59e0b;
  --tile-edge-b: #06b6d4;
  --tile-glow: rgba(245, 158, 11, .17);
}

.dashboard-compact-grid .dashboard-market-card.is-closed {
  --tile-edge-a: #fb7185;
  --tile-edge-b: #f97316;
  --tile-glow: rgba(251, 113, 133, .17);
}

.dashboard-compact-grid .dashboard-market-card.is-live::before {
  background: linear-gradient(90deg, #22c55e, #06b6d4);
}

.dashboard-compact-grid .dashboard-market-card.is-paused::before {
  background: linear-gradient(90deg, #f59e0b, #06b6d4);
}

.dashboard-compact-grid .dashboard-market-card.is-closed::before {
  background: linear-gradient(90deg, #fb7185, #f97316);
}

.dashboard-compact-grid .dashboard-paper-tile {
  --tile-edge-a: #22c55e;
  --tile-edge-b: #14b8a6;
  --tile-glow: rgba(34, 197, 94, .18);
}

.dashboard-compact-grid .dashboard-paper-tile::before {
  background: linear-gradient(90deg, #22c55e, #14b8a6);
}

.dashboard-compact-grid .dashboard-live-tile {
  --tile-edge-a: #3b82f6;
  --tile-edge-b: #8b5cf6;
  --tile-glow: rgba(59, 130, 246, .20);
}

.dashboard-compact-grid .dashboard-live-tile::before {
  background: linear-gradient(90deg, #3b82f6, #8b5cf6);
}

.dashboard-compact-grid .dashboard-control-card {
  --tile-edge-a: #14b8a6;
  --tile-edge-b: #22c55e;
  --tile-glow: rgba(20, 184, 166, .18);
}

.dashboard-compact-grid .dashboard-control-card::before {
  background: linear-gradient(90deg, #14b8a6, #22c55e);
}

.dashboard-compact-primary,
.dashboard-compact-stat-line,
.dashboard-engine-status-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.dashboard-compact-primary .metric-value {
  margin: 0;
}

.dashboard-compact-grid .metric-label {
  position: relative;
  z-index: 1;
  margin: 0 0 2px;
  color: #c8d1f7;
  font-size: .82rem;
  font-weight: 950;
  letter-spacing: .12em;
}

.dashboard-compact-divider {
  width: 1px;
  height: 20px;
  background: rgba(148, 163, 184, .34);
}

.dashboard-broker-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  padding: 8px 14px;
  border: 1px solid rgba(168, 85, 247, .42);
  border-radius: 999px;
  color: #f8fafc;
  font-weight: 950;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .10), rgba(255, 255, 255, .045));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .13),
    0 12px 24px rgba(2, 6, 23, .18);
}

.dashboard-broker-pill span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-broker-pill.is-upstox {
  border-color: rgba(168, 85, 247, .46);
  color: #bbf7d0;
}

.dashboard-broker-pill.is-zerodha {
  border-color: rgba(249, 115, 22, .46);
  color: #fed7aa;
}

.dashboard-broker-pill.is-simulator {
  border-color: rgba(148, 163, 184, .36);
  color: #cbd5e1;
}

.dashboard-engine-status-line {
  justify-content: space-between;
}

.dashboard-engine-dot {
  width: 13px;
  height: 13px;
  border-radius: 999px;
  background: #94a3b8;
  box-shadow: 0 0 14px rgba(148, 163, 184, .45);
}

.dashboard-engine-dot.is-running {
  background: #22c55e;
  box-shadow: 0 0 18px rgba(34, 197, 94, .72);
}

.dashboard-engine-dot.is-stopped {
  background: #fb7185;
  box-shadow: 0 0 18px rgba(251, 113, 133, .62);
}

.dashboard-compact-grid .metric-value {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #f8fafc;
  font-size: clamp(1.45rem, 1.85vw, 2rem);
  font-weight: 1000;
  letter-spacing: -.02em;
  line-height: 1.08;
}

.dashboard-compact-grid .metric-note {
  position: relative;
  z-index: 1;
  margin-top: 0;
  color: #b8c0d9;
  font-size: .88rem;
  font-weight: 900;
  line-height: 1.36;
}

.dashboard-compact-stat-line {
  color: #e0e7ff;
  font-weight: 950;
}

.dashboard-compact-grid .dashboard-engine-actions {
  position: relative;
  z-index: 1;
  margin-top: 2px;
  gap: 10px;
}

.dashboard-compact-grid .dashboard-engine-actions .action-button {
  min-height: 52px;
  border-radius: 18px;
  font-size: .9rem;
  font-weight: 1000;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .16),
    0 16px 32px rgba(2, 6, 23, .24);
}

.dashboard-compact-grid .positive-text {
  color: #16f2a3 !important;
  text-shadow: 0 0 18px rgba(22, 242, 163, .18);
}

.dashboard-compact-grid .negative-text {
  color: #ff5c8a !important;
  text-shadow: 0 0 18px rgba(255, 92, 138, .16);
}

.dashboard-compact-grid .muted-text {
  color: #cbd5e1 !important;
}

@media (max-width: 1260px) {
  .dashboard-compact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Premium pill summary layout: Dashboard-only, no shared/header polling. */
body[data-auth-state="authenticated"] .dashboard-compact-summary {
  padding: clamp(18px, 1.8vw, 26px) clamp(4px, .8vw, 12px);
  border-color: transparent;
  border-radius: 0;
  background:
    radial-gradient(circle at 18% 50%, rgba(14, 165, 233, .10), transparent 32%),
    radial-gradient(circle at 84% 40%, rgba(168, 85, 247, .10), transparent 36%),
    linear-gradient(180deg, rgba(9, 18, 34, .92), rgba(10, 15, 29, .86));
  box-shadow: none;
}

.dashboard-compact-summary .dashboard-compact-grid {
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: clamp(18px, 2vw, 26px);
}

.dashboard-compact-summary .dashboard-compact-tile {
  min-height: 118px;
  padding: 18px clamp(22px, 2vw, 34px);
  align-content: center;
  justify-items: center;
  gap: 7px;
  text-align: center;
  border-width: 3px;
  border-radius: 999px;
  background:
    linear-gradient(145deg, rgba(13, 27, 49, .98), rgba(11, 20, 38, .96)) padding-box,
    linear-gradient(135deg, var(--tile-edge-a), var(--tile-edge-b)) border-box;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .10),
    0 18px 38px rgba(2, 6, 23, .34),
    0 0 38px var(--tile-glow);
}

.dashboard-compact-summary .dashboard-compact-tile::before,
.dashboard-compact-summary .dashboard-compact-tile::after {
  display: none;
}

.dashboard-compact-summary .dashboard-market-card {
  --tile-edge-a: #10b981;
  --tile-edge-b: #14b8a6;
  --tile-glow: rgba(16, 185, 129, .28);
}

.dashboard-compact-summary .dashboard-live-tile {
  --tile-edge-a: #10b981;
  --tile-edge-b: #14b8a6;
  --tile-glow: rgba(16, 185, 129, .24);
}

.dashboard-compact-summary .dashboard-paper-tile {
  --tile-edge-a: #f59e0b;
  --tile-edge-b: #f97316;
  --tile-glow: rgba(245, 158, 11, .28);
}

.dashboard-compact-summary .dashboard-control-card {
  --tile-edge-a: #8b5cf6;
  --tile-edge-b: #ec4899;
  --tile-glow: rgba(168, 85, 247, .24);
}

.dashboard-compact-summary .metric-label {
  margin: 0;
  color: #a9badb;
  font-size: .83rem;
  font-weight: 1000;
  letter-spacing: .12em;
}

.dashboard-compact-summary .metric-value {
  color: #1ff4a3;
  font-size: clamp(1.16rem, 1.45vw, 1.55rem);
  font-weight: 1000;
  line-height: 1.05;
  text-shadow: 0 0 22px rgba(31, 244, 163, .24);
}

.dashboard-compact-summary .dashboard-market-card .metric-value {
  color: #fbbf24;
  text-shadow: 0 0 20px rgba(251, 191, 36, .22);
}

.dashboard-compact-summary .dashboard-market-card.is-live .metric-value {
  color: #1ff4a3;
}

.dashboard-compact-summary .dashboard-market-card.is-closed .metric-value {
  color: #ff5c8a;
}

.dashboard-compact-summary .metric-note {
  color: #b7c3dd;
  font-size: .83rem;
  font-weight: 900;
  line-height: 1.22;
}

.dashboard-compact-summary .dashboard-compact-primary,
.dashboard-compact-summary .dashboard-compact-stat-line,
.dashboard-compact-summary .dashboard-engine-status-line {
  justify-content: center;
}

.dashboard-compact-summary .dashboard-broker-pill {
  padding: 7px 13px;
  color: #bff7d5;
  border-color: rgba(20, 184, 166, .50);
  background: rgba(15, 23, 42, .72);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 8px 18px rgba(2, 6, 23, .20);
}

.dashboard-compact-summary #marketSessionTimeText,
.dashboard-compact-summary #brokerFeedSourceText,
.dashboard-compact-summary #brokerLiveStatusText {
  display: none;
}

.dashboard-compact-summary .dashboard-engine-status-line {
  gap: 10px;
}

.dashboard-compact-summary .dashboard-engine-actions {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 210px;
}

.dashboard-compact-summary .dashboard-engine-actions .action-button {
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: .84rem;
}

@media (max-width: 1260px) {
  .dashboard-compact-summary .dashboard-compact-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 760px) {
  .dashboard-compact-summary .dashboard-compact-grid {
    grid-template-columns: 1fr;
  }
}

.metric-note {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.35;
}

.metric-note-muted {
  color: var(--muted-soft);
}

.metric-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metric-grid-seven {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.performance-watch-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.performance-watch-grid .metric-card {
  padding: 14px;
}

.performance-watch-grid .metric-card-wide {
  grid-column: span 2;
}

.watcher-mode {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 130px;
  padding: 9px 14px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(20, 184, 166, 0.12);
  border: 1px solid rgba(15, 118, 110, 0.16);
  font-weight: 900;
}

.watcher-mode.is-busy {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
}

.watcher-mode.is-throttled,
.watcher-mode.is-critical {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.12);
}

.watcher-recommendations {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.watcher-explanation {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.watcher-pressure-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding: 11px 13px;
  border-radius: 18px;
  color: #0f172a;
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.12), rgba(59, 130, 246, 0.08));
  border: 1px solid rgba(20, 184, 166, 0.18);
}

.watcher-pressure-note strong {
  font-size: 0.9rem;
}

.watcher-pressure-note span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.watcher-limit-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.watcher-limit-grid span {
  padding: 9px 10px;
  border-radius: 16px;
  color: var(--muted);
  background: rgba(248, 250, 252, 0.86);
  border: 1px solid rgba(148, 163, 184, 0.2);
  font-size: 0.78rem;
  font-weight: 800;
}

.watcher-limit-grid b {
  color: #0f172a;
}

.watcher-recommendations span {
  display: inline-flex;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--muted);
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.2);
  font-size: 0.82rem;
  font-weight: 800;
}

.metric-card,
.strategy-card,
.broker-summary-card,
.broker-form-card,
.flow-step,
.flow-lane-card,
.chart-card {
  position: relative;
  z-index: 1;
  background: var(--panel-strong);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow-soft);
}

.broker-summary-card {
  display: grid;
  align-content: start;
  gap: 16px;
}

.metric-focus {
  background: linear-gradient(135deg, #eff6ff 0%, #ffffff 82%);
  border-color: rgba(37, 99, 235, 0.16);
}

.metric-label,
.subtle-label {
  margin: 0;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.metric-value {
  margin: 10px 0 0;
  font-family: var(--font-display);
  font-size: 1.75rem;
  letter-spacing: -0.03em;
}

.metric-small {
  font-size: 1.16rem;
}

.login-form,
.broker-form,
.filter-form {
  display: grid;
  gap: 14px;
}

.login-form label,
.broker-form label,
.filter-form label {
  display: grid;
  gap: 8px;
}

.login-form span,
.broker-form span,
.filter-form span {
  font-size: 0.9rem;
  color: var(--muted);
}

input,
select {
  width: 100%;
  border: 1px solid var(--border-strong);
  background: #ffffff;
  border-radius: 14px;
  padding: 13px 14px;
  color: var(--ink);
  font: inherit;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

select {
  appearance: none;
  padding-right: 42px;
  background-image:
    linear-gradient(45deg, transparent 50%, #64748b 50%),
    linear-gradient(135deg, #64748b 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
  font-weight: 800;
}

select:hover {
  border-color: rgba(124, 58, 237, 0.36);
}

select:disabled {
  cursor: not-allowed;
  opacity: 0.68;
}

input:focus,
select:focus {
  outline: none;
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

button {
  font: inherit;
  cursor: pointer;
  border: none;
  border-radius: 999px;
  padding: 11px 16px;
  transition: transform 160ms ease, opacity 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

button:hover {
  transform: translateY(-1px);
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
}

.primary-button,
.success-button,
.danger-button,
.secondary-button,
.ghost-button,
.toggle-button,
.action-button {
  font-weight: 700;
}

.primary-button {
  color: #ffffff;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
}

.success-button {
  color: #ffffff;
  background: linear-gradient(135deg, #0f766e 0%, #115e59 100%);
}

.danger-button {
  color: #ffffff;
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

.secondary-button {
  color: #0f172a;
  background: #e2e8f0;
  border: 1px solid rgba(148, 163, 184, 0.36);
}

.ghost-button {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--border);
}

.action-button {
  color: #ffffff;
  border-radius: 14px;
  padding: 12px 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.action-start {
  background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%);
}

.action-stop {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

.action-pause {
  background: linear-gradient(135deg, #475569 0%, #334155 100%);
}

.action-clear {
  background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
}

.action-broker {
  background: linear-gradient(135deg, #2563eb 0%, #0f766e 100%);
}

.form-message {
  margin: 14px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.form-message:empty {
  display: none;
}

.form-message.is-success {
  color: var(--emerald);
}

.form-message.is-error {
  color: var(--crimson);
}

.form-message.is-warning {
  color: #ca8a04;
}

body[data-auth-state="authenticated"] .form-message.is-warning {
  color: #14b8a6;
}

.login-shell {
  grid-column: span 12;
  position: relative;
  min-height: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.login-shell::before,
.login-shell::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  pointer-events: none;
}

.login-shell::before {
  width: 320px;
  height: 320px;
  top: 6%;
  left: 10%;
  background: rgba(37, 99, 235, 0.24);
}

.login-shell::after {
  width: 280px;
  height: 280px;
  right: 12%;
  bottom: 8%;
  background: rgba(16, 185, 129, 0.16);
}

.login-stage {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(380px, 0.68fr);
  grid-template-areas:
    "brand card"
    "preview card"
    "support card";
  gap: 16px 34px;
  align-items: center;
  text-align: left;
}

.login-brand {
  grid-area: brand;
  display: grid;
  gap: 14px;
  max-width: 680px;
}

.login-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin: 0;
  padding: 8px 12px;
  border-radius: 999px;
  color: rgba(219, 234, 254, 0.94);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(191, 219, 254, 0.14);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.login-live-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #14b8a6;
  box-shadow: 0 0 0 6px rgba(20, 184, 166, 0.14), 0 0 18px rgba(20, 184, 166, 0.8);
}

.login-brand h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4.35vw, 4.45rem);
  line-height: 0.94;
  letter-spacing: -0.04em;
  color: #f8fbff;
  text-wrap: balance;
}

.login-copy {
  margin: 0;
  max-width: 610px;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(226, 232, 240, 0.86);
}

.login-pill-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
}

.login-chip {
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(191, 219, 254, 0.18);
  color: #e2e8f0;
  backdrop-filter: blur(10px);
  font-weight: 700;
  font-size: 0.88rem;
}

.login-card {
  grid-area: card;
  width: min(420px, 100%);
  justify-self: end;
  padding: 24px;
  background:
    radial-gradient(circle at 14% 12%, rgba(37, 99, 235, 0.1), transparent 24%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(248, 250, 252, 0.98) 100%);
  border: 1px solid rgba(219, 228, 238, 0.96);
  border-radius: 30px;
  box-shadow: 0 30px 80px rgba(3, 7, 18, 0.34);
}

.login-card-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
  padding: 12px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.login-card-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  color: #ffffff;
  font-weight: 900;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, #0f766e 0%, #2563eb 100%);
  box-shadow: 0 14px 24px rgba(37, 99, 235, 0.18);
}

.login-card-brand strong,
.login-card-brand span {
  display: block;
}

.login-card-brand strong {
  color: var(--ink);
  font-size: 1rem;
}

.login-card-brand span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.86rem;
}

.login-card .panel-head {
  margin-bottom: 16px;
  text-align: left;
}

.login-card .panel-head h2 {
  font-size: 1.8rem;
}

.login-card .login-form {
  text-align: left;
  gap: 16px;
}

.login-card input {
  min-height: 50px;
  border-radius: 17px;
  background: #eef5ff;
}

.login-card .primary-button {
  min-height: 50px;
  border-radius: 17px;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
}

.login-card .form-message {
  text-align: left;
}

.login-support-grid {
  grid-area: support;
  width: 100%;
  max-width: 690px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.login-support-card {
  padding: 14px 15px;
  border-radius: 20px;
  background: rgba(10, 18, 32, 0.58);
  border: 1px solid rgba(191, 219, 254, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  text-align: left;
}

.login-support-card .subtle-label {
  color: rgba(148, 163, 184, 0.88);
}

.login-support-card strong {
  display: block;
  margin-top: 8px;
  color: #f8fafc;
  line-height: 1.45;
  font-size: 0.94rem;
}

.login-preview {
  grid-area: preview;
  display: grid;
  gap: 12px;
  max-width: 690px;
  padding: 16px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 84% 18%, rgba(20, 184, 166, 0.16), transparent 26%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.76), rgba(15, 118, 110, 0.18)),
    rgba(15, 23, 42, 0.56);
  border: 1px solid rgba(191, 219, 254, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 24px 60px rgba(2, 6, 23, 0.18);
}

.login-preview-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.login-preview-head strong {
  display: block;
  margin-top: 7px;
  color: #f8fafc;
  font-size: 1.1rem;
}

.login-preview-price,
.login-preview-badge {
  font-family: var(--font-display);
  font-weight: 800;
}

.login-preview-badge {
  display: inline-flex;
  align-items: center;
  height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  color: #ccfbf1;
  background: rgba(20, 184, 166, 0.14);
  border: 1px solid rgba(94, 234, 212, 0.18);
  font-size: 0.82rem;
}

.login-preview-price {
  font-size: 1.4rem;
}

.login-preview-ribbon {
  display: grid;
  grid-template-columns: repeat(3, auto) 1fr;
  gap: 8px;
  align-items: center;
}

.login-preview-ribbon span {
  display: inline-flex;
  justify-content: center;
  min-width: 42px;
  padding: 7px 10px;
  border-radius: 999px;
  color: rgba(226, 232, 240, 0.76);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(191, 219, 254, 0.12);
  font-size: 0.78rem;
  font-weight: 800;
}

.login-preview-ribbon span:first-child {
  color: #f8fafc;
  background: #0f172a;
}

.login-preview-ribbon strong {
  justify-self: end;
  font-family: var(--font-display);
  font-size: 1.28rem;
}

.login-preview-chart {
  position: relative;
  height: 152px;
  display: flex;
  align-items: end;
  gap: 11px;
  padding: 18px 18px 12px;
  border-radius: 20px;
  background:
    linear-gradient(rgba(148, 163, 184, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, 0.08) 1px, transparent 1px),
    rgba(2, 6, 23, 0.28);
  background-size: 100% 33%, 12.5% 100%, auto;
  border: 1px solid rgba(148, 163, 184, 0.12);
  overflow: hidden;
}

.login-preview-chart::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 48%;
  border-top: 1px dashed rgba(20, 184, 166, 0.48);
}

.login-preview-chart::after {
  content: "Live premium flow";
  position: absolute;
  right: 14px;
  top: 12px;
  color: rgba(226, 232, 240, 0.58);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.preview-bar {
  position: relative;
  width: 18px;
  min-height: 26px;
  border-radius: 999px 999px 5px 5px;
  box-shadow: 0 10px 20px rgba(2, 6, 23, 0.22);
}

.preview-bar::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -12px;
  width: 2px;
  height: calc(100% + 22px);
  transform: translateX(-50%);
  border-radius: 999px;
  background: currentColor;
  opacity: 0.42;
}

.preview-bar.is-green {
  color: #089981;
  background: #089981;
}

.preview-bar.is-red {
  color: #f23645;
  background: #f23645;
}

.login-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.login-preview-grid span {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border-radius: 16px;
  color: rgba(226, 232, 240, 0.82);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(191, 219, 254, 0.10);
  font-size: 0.86rem;
}

.login-preview-grid strong {
  color: #f8fafc;
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.76rem;
  background: #eff4fa;
  color: var(--muted);
  border: 1px solid rgba(148, 163, 184, 0.12);
}

.pill.is-positive {
  background: rgba(15, 118, 110, 0.12);
  color: var(--emerald);
}

.pill.is-negative {
  background: rgba(220, 38, 38, 0.12);
  color: var(--crimson);
}

.pill.is-neutral {
  background: rgba(100, 116, 139, 0.14);
  color: var(--muted);
}

.pill.is-warning {
  background: rgba(217, 119, 6, 0.12);
  color: var(--amber);
}

.modal-open {
  overflow: hidden;
}

.broker-status-bar {
  display: grid;
  grid-template-columns: minmax(150px, 0.85fr) repeat(3, minmax(220px, 1fr));
  gap: 10px;
  align-items: stretch;
  margin: 14px 0 18px;
  padding: 10px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.06)),
    #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.24);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.05);
}

.broker-status-pill {
  display: grid;
  gap: 4px;
  min-height: 78px;
  align-content: center;
  padding: 12px 14px;
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.broker-status-pill span,
.broker-status-pill small {
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.broker-status-pill strong {
  color: var(--ink);
  font-size: 0.98rem;
  line-height: 1.3;
}

.broker-status-wide strong,
.broker-status-wide small {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.broker-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: stretch;
  padding: 16px;
  overflow: hidden;
}

.broker-modal[hidden] {
  display: none;
}

.broker-modal-static {
  position: static;
  inset: auto;
  z-index: 1;
  display: block;
  padding: 0;
}

.broker-modal-static .broker-modal-backdrop {
  display: none;
}

.broker-modal-static .broker-modal-card {
  width: 100%;
  max-width: none;
  height: auto;
  max-height: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.broker-modal-static .broker-modal-scroll {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.broker-modal-static .broker-modal-shell,
.broker-modal-static .broker-modal-rail,
.broker-modal-static .broker-modal-workspace {
  height: auto;
  max-height: none;
  overflow: visible;
}

.broker-modal-static .broker-modal-shell {
  grid-template-columns: minmax(260px, 0.32fr) minmax(0, 1fr);
}

.admin-page-copy {
  margin: -2px 0 18px;
  max-width: 860px;
}

.admin-reference-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.admin-reference-links a {
  position: relative;
  min-width: 0;
  padding: 15px 46px 15px 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  color: var(--ink);
  background: linear-gradient(135deg, var(--panel-soft), var(--panel-strong));
  text-decoration: none;
  transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.admin-reference-links a::after {
  content: "\2192";
  position: absolute;
  top: 50%;
  right: 17px;
  color: var(--accent);
  font-size: 1.25rem;
  transform: translateY(-50%);
}

.admin-reference-links a:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--accent) 52%, var(--border));
  box-shadow: var(--shadow-soft);
}

.admin-reference-links :is(span, strong, small) {
  display: block;
}

.admin-reference-links span {
  color: var(--accent);
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.admin-reference-links strong {
  margin-top: 4px;
  font-size: 0.98rem;
}

.admin-reference-links small {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.4;
}

@media (max-width: 760px) {
  .admin-reference-links {
    grid-template-columns: 1fr;
  }
}

.admin-live-feed-panel {
  margin-top: 14px;
}

.admin-safety-copy {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.4;
}

.broker-field-grid-safety {
  grid-template-columns:
    minmax(230px, 1.15fr)
    minmax(150px, 0.7fr)
    minmax(120px, 0.45fr)
    minmax(140px, 0.52fr)
    minmax(220px, 0.95fr);
}

.broker-safety-section .broker-field-grid-safety {
  align-items: stretch;
}

.broker-safety-section .zerodha-execution-status-card {
  min-height: 70px;
}

.broker-safety-section .live-order-toggle {
  justify-items: start;
}

.broker-safety-section .live-order-toggle span {
  font-weight: 800;
}

.broker-safety-section .zerodha-execution-save-cell {
  align-content: center;
}

.broker-safety-section .zerodha-execution-save-cell button {
  width: 100%;
}

.broker-modal-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 12%, rgba(45, 212, 191, 0.34), transparent 28%),
    radial-gradient(circle at 82% 14%, rgba(245, 158, 11, 0.2), transparent 26%),
    radial-gradient(circle at 70% 86%, rgba(37, 99, 235, 0.28), transparent 34%),
    linear-gradient(135deg, rgba(2, 6, 23, 0.86), rgba(15, 23, 42, 0.72));
  backdrop-filter: blur(14px) saturate(1.12);
}

.broker-modal-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 14px;
  width: min(1540px, 100%);
  max-width: calc(100vw - 32px);
  height: calc(100vh - 32px);
  max-height: none;
  justify-self: center;
  overflow: hidden;
  padding: 16px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(20, 184, 166, 0.12), transparent 34%),
    radial-gradient(circle at top right, rgba(245, 158, 11, 0.1), transparent 32%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(245, 250, 255, 0.98)),
    #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.78);
  box-shadow:
    0 34px 90px rgba(2, 6, 23, 0.46),
    0 0 0 1px rgba(148, 163, 184, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  animation: modalRise 220ms ease both;
}

.broker-modal-scroll {
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 14px;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, 0.55) transparent;
}

.broker-modal-scroll::-webkit-scrollbar {
  width: 8px;
}

.broker-modal-scroll::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.4);
}

.broker-modal-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 8px 10px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.14), rgba(37, 99, 235, 0.08) 58%, rgba(245, 158, 11, 0.1)),
    rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.broker-modal-head h2 {
  margin: 2px 0 0;
  font-size: clamp(1.22rem, 1.65vw, 1.58rem);
  letter-spacing: -0.04em;
}

.broker-modal-title-block {
  display: grid;
  gap: 0;
  max-width: 760px;
}

.broker-modal-title-block p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}

.broker-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 15px;
  color: #0f172a;
  background:
    linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid rgba(148, 163, 184, 0.24);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.broker-modal-close:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  box-shadow: 0 16px 28px rgba(185, 28, 28, 0.22);
}

.broker-modal-close span {
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1;
}

.broker-modal-shell {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  min-height: 0;
  height: auto;
}

.broker-modal-rail,
.broker-modal-workspace {
  display: grid;
  gap: 14px;
  align-content: start;
  min-height: auto;
  overflow: visible;
  padding-right: 0;
}

.broker-modal-workspace {
  min-width: 0;
  grid-template-rows: minmax(0, auto) auto auto minmax(0, auto);
}

.broker-rail-card,
.broker-action-panel,
.broker-fieldset {
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 252, 255, 0.92)),
    #ffffff;
  box-shadow:
    0 18px 38px rgba(15, 23, 42, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.broker-rail-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  background:
    radial-gradient(circle at top left, rgba(45, 212, 191, 0.18), transparent 48%),
    linear-gradient(145deg, rgba(15, 118, 110, 0.12), rgba(37, 99, 235, 0.08)),
    rgba(255, 255, 255, 0.86);
}

.broker-rail-heading {
  display: grid;
  gap: 4px;
}

.broker-rail-heading span,
.broker-action-copy span {
  color: var(--muted-soft);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.broker-rail-heading strong,
.broker-action-copy strong {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.35;
}

.broker-modal-summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.broker-modal .broker-dock {
  min-height: 0;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

@keyframes modalRise {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.broker-dock {
  display: grid;
  gap: 14px;
  margin: 16px 0 18px;
  padding: 16px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(37, 99, 235, 0.06)),
    #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.24);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

.broker-dock-main {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}

.broker-dock-main h2 {
  margin: 2px 0 0;
  font-size: clamp(1.2rem, 1.8vw, 1.65rem);
}

.broker-provider-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.broker-modal .broker-provider-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  justify-content: stretch;
}

.provider-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 92px;
  padding: 10px 14px;
  border-radius: 999px;
  color: #475569;
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.34);
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.03);
}

.broker-modal .provider-chip {
  justify-content: flex-start;
  min-width: 0;
  min-height: 44px;
  padding: 10px 13px;
  border-radius: 16px;
  color: #334155;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.94));
  border-color: rgba(148, 163, 184, 0.22);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045);
}

.broker-modal .provider-chip:hover {
  color: #0f172a;
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow: 0 12px 24px rgba(15, 118, 110, 0.08);
}

.provider-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: 0 0 0 4px rgba(148, 163, 184, 0.12);
}

.provider-chip.is-active {
  color: #ffffff;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.28), transparent 38%),
    linear-gradient(135deg, #0f766e 0%, #2563eb 72%, #7c3aed 100%);
  border-color: transparent;
  box-shadow: 0 16px 30px rgba(37, 99, 235, 0.22);
}

.provider-chip.is-active .provider-dot {
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2), 0 0 18px rgba(255, 255, 255, 0.8);
}

.broker-dock-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.broker-mini-card {
  display: grid;
  gap: 6px;
  min-height: 94px;
  padding: 13px 14px;
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.86);
  border: 1px solid rgba(148, 163, 184, 0.22);
}

.broker-modal .broker-mini-card {
  min-height: 86px;
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.08), transparent 48%),
    linear-gradient(180deg, rgba(248, 250, 252, 0.9), rgba(255, 255, 255, 0.96)),
    #ffffff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

.broker-mini-card strong {
  color: var(--ink);
  font-size: 0.98rem;
  line-height: 1.3;
}

.broker-mini-card small {
  color: var(--muted);
  line-height: 1.35;
  word-break: break-word;
}

.broker-dock-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding-top: 2px;
}

.broker-modal .broker-form.broker-dock-form {
  grid-template-columns: 1fr;
  grid-auto-rows: max-content;
  align-content: start;
  gap: 12px;
  padding-top: 0;
  min-height: 0;
}

.broker-dock-form .form-wide {
  grid-column: span 2;
}

.broker-fieldset {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 12px;
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 255, 0.94)),
    #ffffff;
  box-shadow:
    0 16px 34px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.broker-fieldset::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #0f766e, #2563eb, #0d9488);
  opacity: 0.74;
}

.broker-field-title {
  margin: 0 0 4px;
  padding: 0;
  color: var(--ink);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.broker-fieldset p {
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.38;
}

.broker-role-strip {
  display: grid;
  grid-template-columns:
    minmax(260px, 1.25fr)
    minmax(165px, 0.62fr)
    minmax(180px, 0.72fr)
    minmax(280px, 1fr);
  gap: 10px;
  margin: 10px 0 12px;
  align-items: stretch;
}

.broker-role-strip-message {
  grid-column: 1 / -1;
}

.broker-connection-status-card {
  min-height: 76px;
}

.broker-fieldset-execution {
  background:
    radial-gradient(circle at top left, rgba(20, 184, 166, 0.14), transparent 38%),
    linear-gradient(135deg, rgba(15, 118, 110, 0.08), rgba(255, 255, 255, 0.92)),
    #ffffff;
}

.broker-global-execution {
  grid-column: 1 / -1;
  gap: 10px;
  padding: 12px;
  width: 100%;
  min-width: 0;
  background:
    radial-gradient(circle at 8% 14%, rgba(20, 184, 166, 0.18), transparent 34%),
    radial-gradient(circle at 92% 16%, rgba(245, 158, 11, 0.12), transparent 30%),
    linear-gradient(135deg, rgba(236, 253, 245, 0.84), rgba(248, 250, 252, 0.96)),
    #ffffff;
}

.zerodha-execution-status-card {
  display: grid;
  gap: 5px;
  min-height: 62px;
  align-content: center;
  padding: 10px 12px;
  border-radius: 15px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 250, 252, 0.94)),
    #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.zerodha-execution-status-card.is-neutral {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 250, 252, 0.94)),
    #ffffff;
  border-color: rgba(148, 163, 184, 0.18);
}

.zerodha-execution-status-card.is-ready {
  background:
    radial-gradient(circle at top right, rgba(20, 184, 166, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(240, 253, 250, 0.96), rgba(255, 255, 255, 0.94));
  border-color: rgba(15, 118, 110, 0.2);
}

.zerodha-execution-status-card.is-warning {
  background:
    radial-gradient(circle at top right, rgba(245, 158, 11, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 251, 235, 0.94), rgba(255, 255, 255, 0.94));
  border-color: rgba(217, 119, 6, 0.18);
}

.zerodha-execution-status-card.is-negative {
  background:
    radial-gradient(circle at top right, rgba(244, 63, 94, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 241, 242, 0.94), rgba(255, 255, 255, 0.94));
  border-color: rgba(225, 29, 72, 0.2);
}

.zerodha-execution-status-card span {
  color: var(--muted-soft);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.zerodha-execution-status-card strong {
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.24;
}

.zerodha-execution-status-card small {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.32;
}

.broker-execution-heading {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}

.broker-execution-heading span {
  display: block;
  margin-bottom: 4px;
  color: var(--emerald);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.broker-execution-heading strong {
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(20, 184, 166, 0.12);
  border: 1px solid rgba(15, 118, 110, 0.16);
}

.broker-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.broker-field-grid .form-wide {
  grid-column: 1 / -1;
}

.broker-field-grid-execution {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.broker-field-grid.broker-field-grid-safety {
  grid-template-columns:
    minmax(230px, 1.15fr)
    minmax(150px, 0.7fr)
    minmax(120px, 0.45fr)
    minmax(140px, 0.52fr)
    minmax(220px, 0.95fr);
}

.broker-field-grid.broker-field-grid-runtime {
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  align-items: stretch;
}

.broker-field-grid.broker-field-grid-paper {
  grid-template-columns:
    minmax(220px, 1fr)
    minmax(260px, 1.2fr)
    minmax(170px, 0.7fr)
    minmax(150px, 0.58fr)
    minmax(230px, 0.9fr);
}

.backtest-command-panel,
.backtest-progress-panel,
.backtest-broker-panel,
.backtest-result-panel,
.backtest-candidate-panel,
.backtest-sweep-panel {
  grid-column: span 12;
}

.backtest-command-panel h1,
.backtest-result-panel h2,
.backtest-candidate-panel h2,
.backtest-sweep-panel h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.backtest-run-form {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns:
    minmax(150px, 180px)
    minmax(300px, 1fr)
    minmax(160px, 180px)
    minmax(160px, 180px)
    minmax(500px, 520px);
  gap: 16px;
  align-items: end;
  margin-top: 18px;
}

.backtest-run-form label {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.backtest-run-form label span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-run-form select,
.backtest-run-form input {
  width: 100%;
}

.backtest-run-form .primary-button {
  min-height: 50px;
  white-space: nowrap;
}

.backtest-run-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
  min-width: 0;
}

.backtest-run-actions button {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding-inline: 18px;
  white-space: nowrap;
}

.backtest-policy-row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.backtest-policy-row span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(241, 245, 249, 0.95);
  border: 1px solid rgba(203, 213, 225, 0.72);
  color: #334155;
  font-size: 0.82rem;
  font-weight: 800;
}

.backtest-library-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 14px;
  padding: 15px;
  border: 1px solid rgba(124, 58, 237, 0.28);
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.42);
}

.backtest-library-panel h2,
.backtest-library-panel p {
  margin: 0;
}

.backtest-library-panel h2 {
  margin-top: 3px;
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.5vw, 1.28rem);
}

.backtest-library-panel p:not(.section-kicker) {
  margin-top: 6px;
  color: var(--muted);
  line-height: 1.45;
}

.backtest-library-actions {
  display: grid;
  grid-template-columns: minmax(150px, 180px) minmax(250px, 288px);
  gap: 16px;
  align-items: end;
  min-width: min(100%, 484px);
}

.backtest-library-symbol-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.backtest-library-symbol-field span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-library-symbol-field select {
  width: 100%;
  min-height: 46px;
}

.backtest-library-actions button {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding-inline: 16px;
  white-space: nowrap;
}

.backtest-library-result {
  grid-column: 1 / -1;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.48);
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.45;
}

.backtest-library-result.is-success {
  color: #d1fae5;
  border-color: rgba(20, 184, 166, 0.34);
  background: rgba(13, 78, 76, 0.46);
}

.backtest-library-result.is-error {
  color: #fee2e2;
  border-color: rgba(239, 68, 68, 0.38);
  background: rgba(88, 28, 36, 0.48);
}

.backtest-data-status {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(203, 213, 225, 0.7);
}

.backtest-status-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(203, 213, 225, 0.72);
  background: rgba(248, 250, 252, 0.92);
}

.backtest-status-head.is-ready {
  border-color: rgba(20, 184, 166, 0.26);
  background: rgba(240, 253, 250, 0.86);
}

.backtest-status-head.is-error {
  border-color: rgba(239, 68, 68, 0.28);
  background: rgba(254, 242, 242, 0.88);
}

.backtest-status-head strong,
.backtest-status-head span {
  display: block;
}

.backtest-status-head span {
  color: var(--muted);
  font-size: 0.86rem;
}

.backtest-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.backtest-status-tile {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(203, 213, 225, 0.72);
  background: rgba(255, 255, 255, 0.9);
}

.backtest-status-tile small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-status-tile strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.98rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.backtest-status-tile.is-ok strong {
  color: var(--emerald);
}

.backtest-status-tile.is-warning strong {
  color: #b45309;
}

.backtest-provider-status-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.backtest-provider-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(203, 213, 225, 0.72);
  background: rgba(248, 250, 252, 0.9);
}

.backtest-provider-status.is-ready {
  border-color: rgba(37, 99, 235, 0.2);
  background: rgba(239, 246, 255, 0.78);
}

.backtest-provider-status.is-missing {
  border-color: rgba(245, 158, 11, 0.24);
  background: rgba(255, 251, 235, 0.8);
}

.backtest-provider-status strong,
.backtest-provider-status span,
.backtest-provider-status small {
  display: block;
}

.backtest-provider-status span,
.backtest-provider-status small {
  color: var(--muted);
  line-height: 1.4;
}

.backtest-provider-status b {
  white-space: nowrap;
}

.backtest-provider-notes {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(203, 213, 225, 0.7);
}

.backtest-strategy-evidence {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(203, 213, 225, 0.7);
}

.backtest-evidence-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(248, 250, 252, 0.92);
}

.backtest-evidence-head.is-proven {
  border-color: rgba(20, 184, 166, 0.24);
  background: rgba(240, 253, 250, 0.86);
}

.backtest-evidence-head.is-empty {
  border-color: rgba(245, 158, 11, 0.24);
  background: rgba(255, 251, 235, 0.9);
}

.backtest-evidence-head.is-loading {
  border-color: rgba(37, 99, 235, 0.18);
  background: rgba(239, 246, 255, 0.88);
}

.backtest-evidence-head strong,
.backtest-evidence-head span {
  display: block;
}

.backtest-evidence-head strong {
  font-size: 0.94rem;
}

.backtest-evidence-head span {
  color: var(--muted);
  font-size: 0.84rem;
}

.backtest-evidence-head b {
  white-space: nowrap;
}

.backtest-evidence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.backtest-evidence-tile {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(203, 213, 225, 0.7);
}

.backtest-evidence-tile small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-evidence-tile strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.98rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.backtest-evidence-tile.is-positive strong {
  color: var(--emerald);
}

.backtest-evidence-tile.is-negative strong {
  color: var(--crimson);
}

.backtest-strategy-evidence p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.backtest-progress-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.backtest-progress-head h2,
.backtest-progress-head p {
  margin: 0;
}

.backtest-progress-head h2 {
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
}

.backtest-progress-head p:not(.section-kicker) {
  margin-top: 6px;
  color: var(--muted);
  line-height: 1.45;
}

.backtest-progress-head > strong {
  flex: 0 0 auto;
  color: var(--accent-deep);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 3vw, 2.25rem);
}

.backtest-progress-bar {
  position: relative;
  z-index: 1;
  height: 12px;
  margin-top: 16px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
  border: 1px solid rgba(203, 213, 225, 0.75);
}

.backtest-progress-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #14b8a6);
  transition: width 220ms ease;
}

.backtest-progress-meta {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.backtest-progress-meta span {
  min-width: 0;
  padding: 10px 12px;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.92);
  color: #334155;
  font-size: 0.85rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.backtest-attempt-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.backtest-attempt {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(248, 250, 252, 0.86);
}

.backtest-attempt.is-success {
  border-color: rgba(20, 184, 166, 0.28);
  background: rgba(240, 253, 250, 0.82);
}

.backtest-attempt.is-danger {
  border-color: rgba(239, 68, 68, 0.24);
  background: rgba(254, 242, 242, 0.74);
}

.backtest-attempt strong,
.backtest-attempt span,
.backtest-attempt small {
  display: block;
}

.backtest-attempt strong {
  font-size: 0.96rem;
}

.backtest-attempt span,
.backtest-attempt small {
  color: var(--muted);
  line-height: 1.4;
}

.backtest-attempt b {
  color: var(--ink);
  white-space: nowrap;
}

.backtest-attempt-notes {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(203, 213, 225, 0.7);
}

.backtest-result-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eef6ff;
  color: #1d4ed8;
  border: 1px solid rgba(37, 99, 235, 0.18);
  font-weight: 800;
}

.backtest-quality-grid,
.backtest-summary-grid {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.backtest-quality-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.backtest-summary-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.backtest-workflow-grid,
.backtest-breakdown-grid {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.backtest-workflow-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.backtest-quality-tile,
.backtest-summary-card,
.backtest-candidate-status,
.backtest-change-row,
.backtest-workflow-card,
.backtest-breakdown-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
}

.backtest-quality-tile {
  display: grid;
  gap: 6px;
  padding: 13px;
}

.backtest-quality-tile small,
.backtest-metric small {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-quality-tile strong {
  font-size: 1rem;
}

.backtest-summary-card {
  display: grid;
  gap: 14px;
  padding: 16px;
}

.backtest-workflow-card,
.backtest-breakdown-card {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.backtest-workflow-card small,
.backtest-breakdown-head small {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-workflow-card strong,
.backtest-breakdown-head h3 {
  margin: 0;
  font-size: 1rem;
}

.backtest-workflow-card span,
.backtest-workflow-card li {
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.backtest-workflow-card ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.backtest-breakdown-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.backtest-breakdown-card.is-success {
  border-color: rgba(20, 184, 166, 0.28);
  background: rgba(240, 253, 250, 0.92);
}

.backtest-breakdown-card.is-warning {
  border-color: rgba(245, 158, 11, 0.24);
  background: rgba(255, 251, 235, 0.9);
}

.backtest-breakdown-card.is-danger {
  border-color: rgba(244, 63, 94, 0.28);
  background: rgba(255, 241, 242, 0.92);
}

.backtest-breakdown-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.backtest-reconciliation-card {
  border-left: 4px solid rgba(124, 58, 237, 0.55);
}

.backtest-reconciliation-card.is-success {
  border-left-color: rgba(20, 184, 166, 0.74);
}

.backtest-reconciliation-card.is-warning {
  border-left-color: rgba(245, 158, 11, 0.8);
}

.backtest-reconciliation-card.is-danger {
  border-left-color: rgba(244, 63, 94, 0.86);
}

.backtest-reconciliation-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 700;
}

.backtest-reconciliation-list.is-action {
  color: var(--ink);
}

.backtest-reconciliation-table {
  min-width: 640px;
}

.backtest-diagnostic-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 4px;
}

.backtest-diagnostic-head strong {
  color: var(--ink);
  font-size: 0.94rem;
}

.backtest-diagnostic-head span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.backtest-diagnostic-table {
  min-width: 1120px;
}

.backtest-diagnostic-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0 4px;
}

.backtest-diagnostic-summary span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(167, 139, 250, 0.28);
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.14);
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 900;
}

.backtest-diagnostic-summary b {
  color: var(--pink);
}

.backtest-diagnostic-table td {
  vertical-align: top;
  white-space: normal;
}

.backtest-diagnostic-cell {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.backtest-diagnostic-cell strong,
.backtest-diagnostic-cell small {
  overflow-wrap: anywhere;
}

.backtest-diagnostic-cell small,
.backtest-diagnostic-features {
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.35;
}

.backtest-diagnostic-cell .backtest-diagnostic-contract {
  color: var(--ink);
  opacity: 0.82;
}

.backtest-diagnostic-verdict {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.backtest-diagnostic-verdict.is-data,
.backtest-diagnostic-verdict.is-contract,
.backtest-diagnostic-verdict.is-engine {
  color: var(--crimson);
  border-color: rgba(244, 63, 94, 0.28);
  background: rgba(255, 241, 242, 0.78);
}

.backtest-diagnostic-verdict.is-gate,
.backtest-diagnostic-verdict.is-version {
  color: var(--amber);
  border-color: rgba(245, 158, 11, 0.3);
  background: rgba(255, 251, 235, 0.78);
}

.backtest-breakdown-table-wrap {
  overflow-x: auto;
}

.backtest-breakdown-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.backtest-breakdown-table th,
.backtest-breakdown-table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  white-space: nowrap;
}

.backtest-breakdown-table th {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-breakdown-table td.is-positive {
  color: var(--emerald);
  font-weight: 900;
}

.backtest-breakdown-table td.is-negative {
  color: var(--crimson);
  font-weight: 900;
}

.backtest-summary-card h3 {
  margin: 0;
  font-size: 1rem;
}

.backtest-summary-card.is-empty p {
  margin: 0;
  color: var(--muted);
}

.backtest-metric-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.backtest-metric {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.92);
}

.backtest-metric strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.backtest-metric.is-positive strong {
  color: var(--emerald);
}

.backtest-metric.is-negative strong {
  color: var(--crimson);
}

.backtest-exit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.backtest-exit-row span {
  padding: 7px 10px;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: 0.82rem;
  font-weight: 800;
}

.backtest-candidate-body {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.backtest-candidate-status {
  display: grid;
  gap: 4px;
  padding: 14px;
}

.backtest-candidate-status.is-success {
  border-color: rgba(20, 184, 166, 0.28);
  background: rgba(240, 253, 250, 0.92);
}

.backtest-candidate-status.is-warning {
  border-color: rgba(245, 158, 11, 0.24);
  background: rgba(255, 251, 235, 0.9);
}

.backtest-candidate-status span {
  color: var(--muted);
  font-size: 0.86rem;
}

.backtest-blocker-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.backtest-blocker-list li {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(254, 242, 242, 0.86);
  color: #991b1b;
  font-weight: 700;
}

.backtest-blocker-list.is-insight li {
  background: rgba(240, 253, 250, 0.9);
  color: #0f766e;
}

.backtest-change-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.backtest-change-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
}

.backtest-change-row.is-up {
  background: rgba(239, 246, 255, 0.92);
  border-color: rgba(37, 99, 235, 0.18);
}

.backtest-change-row.is-down {
  background: rgba(240, 253, 250, 0.92);
  border-color: rgba(20, 184, 166, 0.2);
}

.backtest-sweep-summary,
.backtest-sweep-body {
  position: relative;
  z-index: 1;
}

.backtest-sweep-summary {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.backtest-sweep-stat {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
}

.backtest-sweep-stat small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-sweep-stat strong {
  color: var(--ink);
  font-size: 1.05rem;
}

.backtest-sweep-body {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.backtest-sweep-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
}

.backtest-sweep-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.backtest-sweep-section-head h3 {
  margin: 0;
  font-size: 1rem;
}

.backtest-sweep-section-head span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.backtest-sweep-table-wrap {
  overflow-x: auto;
}

.backtest-sweep-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.backtest-sweep-table th,
.backtest-sweep-table td {
  padding: 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.backtest-sweep-table th {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.backtest-sweep-table strong,
.backtest-sweep-table small {
  display: block;
}

.backtest-sweep-table small,
.backtest-sweep-muted {
  color: var(--muted);
}

.backtest-sweep-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.backtest-sweep-metrics span,
.backtest-sweep-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(203, 213, 225, 0.7);
  background: rgba(248, 250, 252, 0.92);
  color: #334155;
  font-weight: 800;
  white-space: nowrap;
}

.backtest-sweep-metrics span.is-positive {
  color: var(--emerald);
}

.backtest-sweep-metrics span.is-negative {
  color: var(--crimson);
}

.backtest-sweep-status.is-success {
  color: #0f766e;
  border-color: rgba(20, 184, 166, 0.28);
  background: rgba(240, 253, 250, 0.92);
}

.backtest-sweep-status.is-warning {
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(255, 251, 235, 0.92);
}

.backtest-sweep-status.is-danger {
  color: #b91c1c;
  border-color: rgba(239, 68, 68, 0.28);
  background: rgba(254, 242, 242, 0.92);
}

.backtest-sweep-notes {
  display: grid;
  gap: 4px;
  margin-top: 6px;
}

.backtest-sweep-table .success-button.is-compact {
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.78rem;
  white-space: nowrap;
}

.backtest-change-row strong {
  font-size: 0.9rem;
}

.backtest-change-row div {
  display: grid;
  gap: 3px;
}

.backtest-change-row small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.backtest-change-row span {
  color: var(--muted);
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 1120px) {
  .backtest-run-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .backtest-library-panel {
    grid-template-columns: 1fr;
  }

  .backtest-strategy-field {
    grid-column: span 2;
  }

  .backtest-run-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .backtest-library-actions {
    grid-template-columns: minmax(150px, 0.8fr) minmax(210px, 1fr);
    min-width: 0;
  }

  .backtest-quality-grid,
  .backtest-evidence-grid,
  .backtest-status-grid,
  .backtest-provider-status-list,
  .backtest-progress-meta,
  .backtest-summary-grid,
  .backtest-change-list,
  .backtest-workflow-grid,
  .backtest-breakdown-metrics,
  .backtest-sweep-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .backtest-run-form {
    grid-template-columns: 1fr;
  }

  .backtest-strategy-field,
  .backtest-run-actions {
    grid-column: span 1;
  }

  .backtest-run-actions,
  .backtest-library-actions {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .backtest-attempt,
  .backtest-status-head,
  .backtest-provider-status,
  .backtest-metric-row {
    grid-template-columns: 1fr;
  }

  .backtest-change-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

.broker-trading-rules-section {
  background:
    radial-gradient(circle at 10% 0%, rgba(37, 99, 235, 0.12), transparent 34%),
    radial-gradient(circle at 95% 10%, rgba(34, 197, 94, 0.12), transparent 32%),
    linear-gradient(135deg, rgba(239, 246, 255, 0.88), rgba(255, 255, 255, 0.95)),
    #ffffff;
}

.trading-rules-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(230px, 1fr));
  gap: 10px;
  min-width: 0;
}

.trading-rule-card {
  display: grid;
  gap: 6px;
  min-width: 0;
  min-height: 132px;
  align-content: start;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.trading-rule-card span {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  color: #475569;
  background: rgba(100, 116, 139, 0.1);
  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.trading-rule-card strong {
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.2;
}

.trading-rule-card b {
  color: #1e293b;
  font-size: 0.84rem;
  line-height: 1.25;
}

.trading-rule-card small {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 750;
  line-height: 1.38;
}

.trading-rule-card.is-info {
  background: rgba(219, 234, 254, 0.68);
  border-color: rgba(37, 99, 235, 0.16);
}

.trading-rule-card.is-info span {
  color: #1d4ed8;
  background: rgba(191, 219, 254, 0.78);
}

.trading-rule-card.is-positive {
  background: rgba(220, 252, 231, 0.66);
  border-color: rgba(22, 163, 74, 0.16);
}

.trading-rule-card.is-positive span {
  color: #15803d;
  background: rgba(187, 247, 208, 0.82);
}

.trading-rule-card.is-warning {
  background: rgba(254, 243, 199, 0.74);
  border-color: rgba(217, 119, 6, 0.18);
}

.trading-rule-card.is-warning span {
  color: #b45309;
  background: rgba(253, 230, 138, 0.78);
}

.trading-rule-card.is-neutral {
  background: rgba(248, 250, 252, 0.9);
}

.broker-global-execution .broker-field-grid-execution {
  grid-template-columns:
    minmax(180px, 0.9fr)
    repeat(3, minmax(170px, 1fr))
    minmax(150px, 0.72fr)
    minmax(220px, 1.1fr);
}

.broker-modal .broker-form label,
.broker-modal .broker-fieldset-execution label,
.broker-modal .zerodha-execution-status-card,
.broker-modal .zerodha-execution-save-cell {
  display: grid;
  gap: 8px;
  padding: 9px;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.9), rgba(255, 255, 255, 0.94));
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.broker-modal .broker-fieldset-execution label > span {
  color: var(--muted);
  font-size: 0.9rem;
}

.broker-modal .broker-form input,
.broker-modal .broker-form select,
.broker-modal .broker-fieldset-execution input,
.broker-modal .broker-fieldset-execution select,
.broker-modal .broker-fieldset-execution textarea {
  min-height: 40px;
  padding: 10px 12px;
  background:
    linear-gradient(180deg, #ffffff, #fbfdff);
  border-color: rgba(148, 163, 184, 0.32);
  border-radius: 12px;
}

.broker-modal .broker-fieldset-execution textarea {
  min-height: 86px;
  resize: vertical;
}

.broker-modal .broker-fieldset-execution label small {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

.broker-modal .broker-form label:focus-within,
.broker-modal .broker-fieldset-execution label:focus-within {
  border-color: rgba(37, 99, 235, 0.26);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}

.live-order-toggle {
  align-content: end;
}

.broker-modal .live-order-toggle {
  align-content: stretch;
  justify-items: start;
}

.live-order-toggle input {
  width: 22px;
  height: 22px;
  min-height: 22px;
  accent-color: var(--emerald);
}

.broker-modal .live-order-toggle input {
  position: relative;
  appearance: none;
  width: 48px;
  height: 26px;
  min-height: 26px;
  padding: 0;
  border-radius: 999px;
  background: #cbd5e1;
  border: 1px solid rgba(148, 163, 184, 0.5);
  transition: background 160ms ease, border-color 160ms ease;
}

.broker-modal .live-order-toggle input::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.18);
  transition: transform 160ms ease;
}

.broker-modal .live-order-toggle input:checked {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  border-color: rgba(15, 118, 110, 0.4);
}

.broker-modal .live-order-toggle input:checked::before {
  transform: translateX(22px);
}

.zerodha-execution-save-cell {
  align-content: center;
}

.zerodha-execution-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-content: center;
}

.zerodha-execution-actions button {
  min-height: 42px;
  border-radius: 15px;
}

.zerodha-execution-actions .secondary-button.is-compact {
  min-height: 36px;
  padding: 8px 12px;
  font-size: 0.8rem;
  font-weight: 700;
  background: rgba(226, 232, 240, 0.62);
  color: #475569;
  border-color: rgba(148, 163, 184, 0.28);
}

.zerodha-live-safety-section .zerodha-safety-metrics {
  align-items: stretch;
}

.zerodha-safety-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
}

.zerodha-safety-actions .form-message {
  margin: 0;
}

.zerodha-safety-checklist {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.zerodha-safety-check {
  display: grid;
  gap: 7px;
  padding: 11px 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-left-width: 4px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.zerodha-safety-check > div:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}

.zerodha-safety-check strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.zerodha-safety-check p {
  margin: 0;
  color: var(--ink);
  font-size: 0.84rem;
  line-height: 1.42;
}

.zerodha-safety-check > small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.36;
}

.zerodha-safety-check.is-positive {
  border-left-color: var(--emerald);
  background: rgba(240, 253, 250, 0.7);
}

.zerodha-safety-check.is-warning {
  border-left-color: var(--amber);
  background: rgba(255, 251, 235, 0.72);
}

.zerodha-safety-check.is-negative {
  border-left-color: var(--crimson);
  background: rgba(255, 241, 242, 0.72);
}

.zerodha-safety-evidence {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.zerodha-safety-evidence span {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.zerodha-safety-evidence b,
.zerodha-safety-evidence small {
  display: block;
}

.zerodha-safety-evidence b {
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: 0.78rem;
}

.zerodha-safety-evidence small {
  margin-top: 2px;
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 0.72rem;
}

.broker-inline-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.79rem;
  line-height: 1.35;
}

.broker-inline-note code {
  padding: 2px 6px;
  border-radius: 8px;
  background: rgba(226, 232, 240, 0.64);
  color: var(--ink);
  font-size: 0.75rem;
}

.zerodha-execution-save-cell .form-message {
  margin: 0;
  padding: 0;
  min-height: 0;
  font-size: 0.82rem;
  line-height: 1.25;
}

.broker-role-strip .zerodha-execution-actions {
  align-content: stretch;
}

.broker-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 1.05fr);
  gap: 18px;
}

.broker-toggle-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.toggle-button {
  color: var(--muted);
  border-radius: 14px;
  padding: 13px 14px;
  background: #f8fafc;
  border: 1px solid var(--border);
}

.toggle-button.is-active {
  color: #ffffff;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
  border-color: transparent;
}

.broker-state-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.broker-state-box {
  padding: 14px 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, #fafcff 0%, #f8fafc 100%);
  border: 1px solid var(--border);
}

.broker-state-box strong {
  display: block;
  margin-top: 8px;
  font-size: 0.98rem;
  line-height: 1.4;
}

.broker-uri {
  word-break: break-word;
}

.broker-form-card {
  display: grid;
  align-content: start;
  gap: 18px;
}

.broker-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 16px;
}

.broker-form .form-wide {
  grid-column: 1 / -1;
}

.broker-form.broker-dock-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.broker-form.broker-dock-form .form-wide {
  grid-column: span 2;
}

.broker-modal .broker-form.broker-dock-form .form-wide {
  grid-column: 1 / -1;
}

.broker-action-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(190px, 0.45fr) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  background:
    radial-gradient(circle at left, rgba(20, 184, 166, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.98)),
    #ffffff;
}

.broker-action-copy {
  display: grid;
  gap: 5px;
}

.broker-actions {
  gap: 14px;
  align-items: center;
  display: grid;
  grid-template-columns: minmax(150px, 0.9fr) repeat(2, minmax(0, 1fr));
}

.broker-modal .broker-actions {
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.broker-actions button {
  min-width: 0;
}

.broker-modal .broker-actions button {
  min-height: 44px;
  border-radius: 15px;
}

.broker-modal .broker-actions .primary-button {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.24), transparent 40%),
    linear-gradient(135deg, #2563eb 0%, #0f766e 100%);
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
}

.broker-modal .broker-actions .secondary-button {
  background: linear-gradient(180deg, #eef4fb, #dde7f2);
  color: #172033;
  border-color: rgba(148, 163, 184, 0.34);
}

.broker-modal .broker-actions .danger-button {
  box-shadow: 0 14px 28px rgba(185, 28, 28, 0.2);
}

.broker-diagnostics {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.broker-modal .broker-diagnostics {
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 250, 252, 0.96)),
    #ffffff;
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.06);
}

.broker-modal .form-message {
  grid-column: 1 / -1;
  margin: 0;
  min-height: 24px;
  padding: 0 4px;
}

.broker-diagnostics[hidden] {
  display: none;
}

.diagnostics-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.diagnostics-head strong {
  display: block;
  margin-top: 6px;
  line-height: 1.45;
}

.diagnostic-grid,
.diagnostic-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.diagnostic-status,
.diagnostic-detail-grid div,
.diagnostic-action {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.78);
}

.diagnostic-status span,
.diagnostic-detail-grid span,
.diagnostic-action span {
  color: var(--muted-soft);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.diagnostic-status.is-ok strong {
  color: var(--emerald);
}

.diagnostic-status.is-failed strong {
  color: var(--crimson);
}

.diagnostic-action {
  background: rgba(239, 246, 255, 0.78);
  border-color: rgba(37, 99, 235, 0.16);
}

.diagnostic-action strong {
  line-height: 1.45;
}

.broker-diagnostics pre {
  margin: 0;
  max-height: 180px;
  overflow: auto;
  padding: 12px;
  border-radius: 12px;
  background: #0f172a;
  color: #dbeafe;
  white-space: pre-wrap;
  font-size: 0.82rem;
  line-height: 1.5;
}

.market-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.live-feed-strip {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  background:
    radial-gradient(circle at 8% 18%, rgba(37, 99, 235, 0.1), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: var(--shadow-soft);
}

.live-feed-strip-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.live-feed-strip-head strong {
  display: block;
  margin-top: 7px;
  line-height: 1.45;
}

.live-feed-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.live-feed-metric {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(148, 163, 184, 0.16);
}

.live-feed-metric span {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.live-feed-metric strong {
  color: var(--ink);
  line-height: 1.35;
  word-break: break-word;
}

.live-feed-note {
  margin: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(217, 119, 6, 0.1);
  color: #92400e;
  font-size: 0.86rem;
  line-height: 1.45;
}

.live-feed-wide {
  grid-column: span 1;
}

.market-card-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(245px, 0.38fr) minmax(0, 1.62fr);
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid var(--border-strong);
  background: var(--panel-strong);
  box-shadow: var(--shadow-soft);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.market-card-row:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(15, 23, 42, 0.07);
}

.market-card-row.is-disabled {
  opacity: 0.7;
}

.market-card-row.is-best {
  border-color: rgba(37, 99, 235, 0.26);
  box-shadow: 0 18px 36px rgba(37, 99, 235, 0.1);
}

.market-side-panel,
.market-chart-panel,
.market-option-panel {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 15px;
  border-radius: 18px;
  border: 1px solid var(--border);
  height: 100%;
}

.market-side-panel {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.market-chart-panel {
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
}

.market-option-panel {
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  min-width: 0;
}

.paired-option-panel {
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  align-content: stretch;
  padding: 10px;
}

.market-option-panel.is-focus {
  border-color: rgba(37, 99, 235, 0.28);
  box-shadow: 0 18px 34px rgba(37, 99, 235, 0.1);
}

.market-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.market-card-header h3,
.strategy-card h3,
.flow-step h3,
.flow-lane-card h3,
.chart-card h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.12rem;
  letter-spacing: -0.02em;
}

.market-trade-symbol {
  margin: 6px 0 0;
  color: var(--muted-soft);
  font-size: 0.92rem;
}

.market-primary-metric {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.market-price {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.7rem;
  letter-spacing: -0.04em;
}

.info-stack {
  display: grid;
  gap: 8px;
}

.info-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-size: 0.86rem;
}

.info-row strong {
  color: var(--ink);
  text-align: right;
}

.market-chart-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.chart-label-block {
  display: grid;
  gap: 4px;
}

.chart-label-block.align-right {
  text-align: right;
}

.chart-label {
  font-size: 0.74rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.market-chart-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.timeframe-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(226, 232, 240, 0.76);
  border: 1px solid rgba(148, 163, 184, 0.24);
}

.timeframe-tab {
  border: none;
  background: transparent;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.timeframe-tab:hover {
  background: rgba(255, 255, 255, 0.9);
  color: var(--ink);
}

.timeframe-tab.is-active {
  background: #0f172a;
  color: #f8fafc;
  box-shadow: 0 10px 18px rgba(15, 23, 42, 0.16);
}

.market-option-toolbar-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(148, 163, 184, 0.18);
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.market-option-toolbar-note.is-focus {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.22);
  background: rgba(239, 246, 255, 0.9);
}

.market-option-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.market-option-meta-compact {
  gap: 8px;
}

.market-option-stat {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.market-option-stat span {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.market-option-stat strong {
  color: var(--ink);
  font-size: 0.96rem;
}

.market-option-meta-compact .market-option-stat {
  padding: 8px 10px;
  min-height: 48px;
}

.market-option-meta-compact .market-option-stat span {
  font-size: 0.66rem;
}

.market-option-meta-compact .market-option-stat strong {
  font-size: 0.88rem;
}

.market-trend-chart {
  width: 100%;
  height: 390px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.option-chart-stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 12px;
  height: 100%;
  min-height: 0;
}

.option-chart-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 7px;
  align-content: stretch;
  min-width: 0;
  min-height: 0;
  padding: 9px 10px 11px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(148, 163, 184, 0.16);
}

.option-chart-card.is-focus {
  border-color: rgba(37, 99, 235, 0.28);
  background: #ffffff;
}

.option-chart-card-head {
  display: grid;
  grid-template-columns: minmax(135px, max-content) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.option-chart-symbol {
  min-width: 0;
}

.option-chart-symbol strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.95rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.option-card-inline-metrics {
  display: grid;
  grid-template-columns: minmax(72px, 0.72fr) minmax(118px, 1fr) minmax(112px, 1fr) minmax(82px, 0.78fr);
  gap: 6px;
  min-width: 0;
}

.option-card-inline-metrics .market-option-stat {
  min-height: 36px;
  padding: 5px 8px;
  border-radius: 11px;
}

.option-card-inline-metrics .market-option-stat span {
  font-size: 0.58rem;
  line-height: 1;
}

.option-card-inline-metrics .market-option-stat strong {
  overflow: hidden;
  font-size: 0.74rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.option-timeframe-tabs {
  padding: 3px;
  gap: 4px;
  background: rgba(226, 232, 240, 0.78);
}

.option-timeframe-tabs .timeframe-tab {
  padding: 7px 10px;
  font-size: 0.76rem;
}

.option-card-meta-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.option-card-meta-grid .market-option-stat {
  padding: 6px 8px;
  min-height: 40px;
  border-radius: 11px;
}

.option-card-meta-grid .market-option-stat span {
  font-size: 0.62rem;
}

.option-card-meta-grid .market-option-stat strong {
  font-size: 0.8rem;
}

.option-pair-chart {
  display: block;
  height: 100%;
  min-height: 250px;
  border-radius: 14px;
  box-shadow: none;
}

.market-rationale {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(148, 163, 184, 0.16);
}

.market-rationale span {
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.market-rationale p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.market-rationale-compact {
  padding: 10px 12px;
}

.market-rationale-compact p {
  font-size: 0.92rem;
}

.market-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.market-side-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.option-side-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.option-side-card {
  display: grid;
  gap: 6px;
  padding: 11px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(148, 163, 184, 0.16);
}

.option-side-card.is-selected {
  border-color: rgba(37, 99, 235, 0.30);
  background: #eff6ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.option-side-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.option-side-card strong {
  font-size: 1.05rem;
}

.option-side-card span,
.option-side-card small {
  color: var(--muted);
  line-height: 1.35;
}

.option-side-card span {
  font-size: 0.78rem;
}

.option-side-card small {
  font-size: 0.72rem;
}

.detail-tile {
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid var(--border);
  display: grid;
  gap: 6px;
}

.detail-tile span {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.market-option-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.option-chip-row {
  justify-content: flex-start;
  gap: 6px;
}

.option-chip-row .pill,
.option-chip-row .market-option-inline {
  padding: 5px 8px;
  font-size: 0.72rem;
}

.market-option-inline {
  display: inline-flex;
  align-items: center;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(148, 163, 184, 0.14);
  color: var(--muted);
  font-size: 0.8rem;
}

.market-option-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.icon-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 40px;
  padding: 10px 12px;
  border-radius: 14px;
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 10px 18px rgba(15, 23, 42, 0.08);
}

.icon-action-button.is-start {
  background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%);
}

.icon-action-button.is-stop {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

.button-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
}

.button-icon svg {
  width: 18px;
  height: 18px;
}

.market-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
}

.market-actions .icon-action-button {
  width: 100%;
  min-height: 46px;
}

.action-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.market-option-footnote {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.strategy-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.strategy-section {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.strategy-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px;
}

.strategy-section-head span {
  color: var(--muted-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.strategy-section-head h3 {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 1.05rem;
}

.strategy-section.is-ai-group .strategy-section-head h3 {
  color: #0f766e;
}

.strategy-section-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.strategy-card {
  --strategy-accent: #2563eb;
  --strategy-accent-soft: rgba(37, 99, 235, 0.12);
  --strategy-accent-faint: rgba(37, 99, 235, 0.06);
  display: grid;
  gap: 16px;
  overflow: hidden;
  min-height: 238px;
  background:
    radial-gradient(circle at 96% 0%, var(--strategy-accent-soft), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-color: rgba(148, 163, 184, 0.26);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.strategy-card.lane-high {
  --strategy-accent: #d97706;
  --strategy-accent-soft: rgba(217, 119, 6, 0.16);
  --strategy-accent-faint: rgba(217, 119, 6, 0.08);
}

.strategy-card.lane-normal {
  --strategy-accent: #0f766e;
  --strategy-accent-soft: rgba(15, 118, 110, 0.15);
  --strategy-accent-faint: rgba(15, 118, 110, 0.08);
}

.strategy-card.lane-sideways {
  --strategy-accent: #6366f1;
  --strategy-accent-soft: rgba(99, 102, 241, 0.15);
  --strategy-accent-faint: rgba(99, 102, 241, 0.08);
}

.strategy-card.is-disabled {
  opacity: 0.86;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.strategy-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--strategy-accent) 32%, transparent);
  box-shadow: 0 18px 34px rgba(15, 23, 42, 0.09);
}

.strategy-accent {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--strategy-accent), color-mix(in srgb, var(--strategy-accent) 46%, #ffffff));
  box-shadow: 0 0 28px var(--strategy-accent-soft);
}

.strategy-topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.strategy-title-stack {
  display: grid;
  gap: 8px;
}

.strategy-lane-chip,
.strategy-state-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-lane-chip {
  padding: 7px 10px;
  color: var(--strategy-accent);
  background: var(--strategy-accent-faint);
  border: 1px solid var(--strategy-accent-soft);
}

.strategy-state-badge {
  gap: 7px;
  padding: 8px 10px;
  white-space: nowrap;
  background: rgba(100, 116, 139, 0.1);
  color: var(--muted);
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.strategy-state-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}

.strategy-state-badge.is-enabled {
  color: var(--emerald);
  background: rgba(15, 118, 110, 0.1);
  border-color: rgba(15, 118, 110, 0.18);
}

.strategy-execution-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: 0.76rem;
  line-height: 1.3;
  font-weight: 900;
  white-space: nowrap;
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.strategy-execution-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
}

.strategy-execution-badge.is-paper {
  color: #0f766e;
  background: rgba(204, 251, 241, 0.72);
  border-color: rgba(20, 184, 166, 0.26);
}

.strategy-execution-badge.is-live {
  color: #1d4ed8;
  background: rgba(219, 234, 254, 0.84);
  border-color: rgba(37, 99, 235, 0.24);
}

.strategy-config {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: flex-start;
  min-height: 74px;
}

.config-chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(241, 245, 249, 0.82);
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.3;
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.config-chip.is-warning {
  background: rgba(255, 247, 237, 0.9);
  border-color: rgba(245, 158, 11, 0.34);
  color: #92400e;
  font-weight: 800;
}

.config-chip.is-info {
  background: rgba(239, 246, 255, 0.9);
  border-color: rgba(37, 99, 235, 0.22);
  color: #1d4ed8;
  font-weight: 800;
}

.config-chip.is-success {
  background: rgba(236, 253, 245, 0.9);
  border-color: rgba(16, 185, 129, 0.28);
  color: #047857;
  font-weight: 800;
}

.config-chip.is-danger {
  background: rgba(254, 242, 242, 0.94);
  border-color: rgba(220, 38, 38, 0.28);
  color: #b91c1c;
  font-weight: 900;
}

.strategy-command-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 10px;
  margin-top: auto;
  padding: 8px;
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.18);
}

.strategy-command {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 13px;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #ffffff;
  transition: transform 140ms ease, opacity 140ms ease, filter 140ms ease;
}

.strategy-command:not(:disabled):hover {
  transform: translateY(-1px);
  filter: saturate(1.08);
}

.strategy-command.is-enable {
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
}

.strategy-command.is-disable {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

.strategy-command.is-delete {
  background: linear-gradient(135deg, #334155 0%, #0f172a 100%);
}

.strategy-command:disabled {
  opacity: 0.36;
  cursor: not-allowed;
  filter: grayscale(0.2);
}

.strategy-page-head,
.strategy-library-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.strategy-page-copy {
  max-width: 920px;
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.65;
}

.strategy-summary-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.strategy-filter-form {
  grid-template-columns:
    minmax(240px, 1.4fr)
    repeat(5, minmax(135px, 0.75fr))
    minmax(56px, auto);
}

.strategy-filter-actions {
  grid-template-columns: 52px;
}

.strategy-library-summary {
  display: grid;
  gap: 16px;
}

.strategy-library-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.strategy-library-summary-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.08), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.strategy-library-summary-card span,
.strategy-library-preview-row span,
.strategy-library-group-head span {
  color: var(--muted-soft);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.strategy-library-summary-card strong {
  font-size: 1.85rem;
  font-family: var(--font-display);
  letter-spacing: -0.04em;
}

.strategy-library-summary-card small {
  color: var(--muted);
  font-size: 0.86rem;
}

.strategy-library-preview {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    radial-gradient(circle at 0% 0%, rgba(15, 118, 110, 0.08), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.strategy-library-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.strategy-library-preview-head strong {
  display: block;
  margin-top: 4px;
  font-size: 1rem;
}

.strategy-library-preview-list {
  display: grid;
  gap: 10px;
}

.strategy-library-preview-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(248, 250, 252, 0.88);
}

.strategy-library-preview-row strong {
  display: block;
  margin-top: 4px;
  font-size: 1rem;
  color: var(--ink);
}

.strategy-library-preview-empty,
.strategy-empty-state {
  padding: 28px 18px;
  text-align: center;
  color: var(--muted);
  border-radius: 18px;
  border: 1px dashed rgba(148, 163, 184, 0.26);
  background: rgba(248, 250, 252, 0.62);
}

.strategy-library-groups {
  display: grid;
  gap: 18px;
}

.strategy-library-group {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.09), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: var(--shadow-soft);
}

.strategy-library-group-head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  text-align: left;
  background: transparent;
}

.strategy-library-group-head h3 {
  margin: 5px 0 0;
  font-size: 1.15rem;
}

.strategy-library-group-head p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.92rem;
}

.strategy-library-group-head-side {
  display: grid;
  gap: 4px;
  justify-items: end;
}

.strategy-library-group-head-side strong {
  font-size: 1.3rem;
}

.strategy-library-group-arrow {
  color: var(--muted);
  font-size: 1.5rem;
  line-height: 1;
}

.strategy-library-group-body {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.strategy-library-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 255, 255, 0.9), transparent 30%),
    rgba(255, 255, 255, 0.96);
}

.strategy-library-row.lane-high {
  border-left: 4px solid rgba(217, 119, 6, 0.72);
}

.strategy-library-row.lane-normal {
  border-left: 4px solid rgba(15, 118, 110, 0.72);
}

.strategy-library-row.lane-sideways {
  border-left: 4px solid rgba(99, 102, 241, 0.72);
}

.strategy-library-row.is-disabled {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  opacity: 0.92;
}

.strategy-library-row-main {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.strategy-library-row-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.strategy-library-row-top h3 {
  margin: 0;
  font-size: 1.08rem;
}

.strategy-library-title-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}

.strategy-node-role {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 999px;
  color: #475569;
  background: #f8fafc;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-node-role.is-primary {
  color: #065f46;
  border-color: rgba(20, 184, 166, 0.28);
  background: #ccfbf1;
}

.strategy-node-role.is-source {
  color: #7c2d12;
  border-color: rgba(245, 158, 11, 0.32);
  background: #ffedd5;
}

.strategy-node-role.is-ref,
.strategy-node-role.is-bt {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.28);
  background: #dbeafe;
}

.strategy-node-role.is-standalone,
.strategy-node-role.is-sub {
  color: #581c87;
  border-color: rgba(168, 85, 247, 0.24);
  background: #f3e8ff;
}

.strategy-library-row-id {
  margin: 6px 0 0;
  color: var(--muted-soft);
  font-size: 0.82rem;
  word-break: break-word;
}

.strategy-library-row-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.strategy-library-row-summary {
  margin: 0;
  color: var(--muted);
  line-height: 1.58;
}

.strategy-library-relation-note {
  margin: 0;
  padding: 8px 10px;
  border-left: 3px solid rgba(37, 99, 235, 0.35);
  border-radius: 10px;
  color: #334155;
  background: rgba(248, 250, 252, 0.92);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.45;
}

.strategy-library-row.is-primary-node {
  border-color: rgba(20, 184, 166, 0.34);
  background:
    radial-gradient(circle at 100% 0%, rgba(20, 184, 166, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f0fdfa 100%);
  box-shadow: 0 14px 26px rgba(15, 118, 110, 0.08);
}

.strategy-library-row.is-sub-node {
  position: relative;
  border-color: rgba(148, 163, 184, 0.24);
  background:
    linear-gradient(90deg, rgba(248, 250, 252, 0.86), #ffffff 26%),
    #ffffff;
}

.strategy-entry-rules {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid rgba(37, 99, 235, 0.12);
  background:
    radial-gradient(circle at 0% 0%, rgba(37, 99, 235, 0.08), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(244, 249, 255, 0.96) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.strategy-entry-rules-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.strategy-entry-rules-label,
.strategy-entry-rules-note {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.strategy-entry-rules-label {
  color: var(--accent-deep);
}

.strategy-entry-rules-note {
  color: var(--muted-soft);
}

.strategy-entry-rules-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.strategy-entry-rule-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
  color: var(--ink);
}

.strategy-entry-rule-pill strong {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.strategy-entry-rule-pill span {
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--ink);
}

.strategy-library-row-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.strategy-library-trade-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
  gap: 8px;
}

.strategy-library-trade-strip span {
  min-width: 0;
  padding: 9px 10px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(248, 250, 252, 0.86);
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 850;
}

.strategy-library-trade-strip b {
  display: block;
  margin-bottom: 2px;
  color: var(--muted-soft);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-library-trade-strip .is-positive {
  color: #047857;
}

.strategy-library-trade-strip .is-negative {
  color: #b91c1c;
}

.strategy-library-trade-context {
  margin: 8px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(34, 197, 94, 0.22);
  border-radius: 14px;
  background: rgba(16, 185, 129, 0.10);
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 800;
}

.strategy-library-row-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 132px;
  align-self: center;
}

.strategy-row-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 14px;
  color: #ffffff;
  font-weight: 800;
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 10px 18px rgba(15, 23, 42, 0.08);
  transition: transform 160ms ease, filter 160ms ease;
}

.strategy-row-action:hover {
  transform: translateY(-1px);
  filter: saturate(1.06);
}

.strategy-row-action.is-success {
  background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);
}

.strategy-row-action.is-danger {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}

.strategy-row-action.is-warning {
  color: #78350f;
  background: linear-gradient(135deg, #fde68a 0%, #0d9488 100%);
}

.strategy-row-action.is-live {
  background: linear-gradient(135deg, #2563eb 0%, #14b8a6 100%);
}

.strategy-row-action.is-dark {
  background: linear-gradient(135deg, #334155 0%, #0f172a 100%);
}

.strategy-editor-modal {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: grid;
  place-items: center;
  padding: 24px;
}

.strategy-editor-modal[hidden] {
  display: none !important;
}

.strategy-editor-card {
  position: relative;
  z-index: 1;
  width: min(1040px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow: auto;
  background: var(--panel-strong);
  border-radius: 28px;
  border: 1px solid var(--border);
  box-shadow: 0 28px 64px rgba(15, 23, 42, 0.24);
  padding: 24px;
}

.strategy-editor-form {
  display: grid;
  gap: 18px;
}

.strategy-editor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 16px;
}

.strategy-editor-grid label {
  display: grid;
  gap: 8px;
}

.strategy-editor-grid label span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.strategy-editor-grid input,
.strategy-editor-grid select,
.strategy-editor-grid textarea {
  width: 100%;
}

.strategy-editor-span-2 {
  grid-column: span 2;
}

.strategy-editor-toggle {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(248, 250, 252, 0.82);
}

.strategy-editor-toggle input {
  width: 20px;
  height: 20px;
}

.strategy-editor-note {
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(37, 99, 235, 0.14);
  background: rgba(239, 246, 255, 0.78);
  color: var(--muted);
  line-height: 1.55;
}

.strategy-editor-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.filter-form {
  grid-template-columns:
    minmax(140px, 0.85fr)
    minmax(210px, 1.25fr)
    minmax(160px, 0.95fr)
    minmax(150px, 0.85fr)
    minmax(190px, 1.12fr)
    minmax(160px, 0.95fr)
    minmax(160px, 0.95fr)
    minmax(112px, auto);
  align-items: end;
}

.filter-actions {
  align-self: end;
  flex-wrap: nowrap;
  display: grid;
  grid-template-columns: repeat(2, 52px);
  gap: 8px;
  justify-content: end;
}

.report-filter-form {
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
  align-items: end;
}

.report-filter-form > *,
.trade-table-filter-form > * {
  min-width: 0;
}

.report-filter-form .filter-actions {
  min-width: 112px;
}

.trade-table-filter-form {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr));
  gap: 12px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(239, 246, 255, 0.82));
}

.trade-table-filter-form label {
  display: grid;
  align-content: end;
  gap: 7px;
}

.trade-table-filter-form label > span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.02em;
}

.trade-table-filter-form :is(input, select) {
  width: 100%;
  min-width: 0;
}

.trade-table-filter-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: end;
  gap: 8px;
}

.trade-table-filter-actions button {
  min-width: 0;
  min-height: 48px;
  padding-inline: 12px;
}

.filter-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border-radius: 18px;
}

.filter-icon-button svg {
  width: 21px;
  height: 21px;
}

.compact-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.lab-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 18px;
  align-items: stretch;
  background:
    radial-gradient(circle at top left, rgba(15, 118, 110, 0.12), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(37, 99, 235, 0.11), transparent 28%),
    rgba(255, 255, 255, 0.96);
}

.lab-hero-copy {
  position: relative;
  z-index: 1;
}

.lab-hero-copy h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.6vw, 2.35rem);
  letter-spacing: -0.03em;
}

.lab-hero-copy p:last-child {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.65;
}

.lab-window-card {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 18px;
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.12), rgba(37, 99, 235, 0.1)),
    #ffffff;
  border: 1px solid rgba(37, 99, 235, 0.14);
}

.lab-window-card strong {
  font-size: 1.45rem;
}

.lab-window-card small {
  color: var(--muted);
  margin-bottom: 4px;
}

.lab-status-pill,
.lab-badge,
.lab-grade {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
}

.lab-status-pill.is-recording {
  color: #0f766e;
  background: rgba(20, 184, 166, 0.13);
  border: 1px solid rgba(15, 118, 110, 0.18);
}

.lab-status-pill.is-paused {
  color: #b45309;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(180, 83, 9, 0.16);
}

.lab-filter-form {
  grid-template-columns:
    minmax(160px, 1fr)
    minmax(145px, 0.9fr)
    minmax(145px, 0.9fr)
    minmax(145px, 0.9fr)
    minmax(145px, 0.9fr)
    minmax(112px, auto);
}

.lab-filter-wide {
  min-width: 210px;
}

.lab-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.lab-status-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.lab-training-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.lab-help-text {
  max-width: 520px;
  margin: 0;
  text-align: right;
  line-height: 1.5;
}

.lab-help-text-wide {
  max-width: none;
  text-align: left;
}

.lab-filter-summary-grid {
  margin-top: 18px;
}

.lab-results-wrap {
  margin-top: 18px;
}

.lab-candidate-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.lab-candidate-card,
.lab-empty-card {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.9)),
    #ffffff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}

.lab-empty-card {
  grid-column: 1 / -1;
  min-height: 130px;
  align-content: center;
  border-style: dashed;
}

.lab-empty-card h3,
.lab-empty-card p,
.lab-candidate-card h3,
.lab-candidate-card p {
  margin: 0;
}

.lab-candidate-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.lab-candidate-head h3 {
  margin-top: 8px;
  font-size: 1.05rem;
}

.lab-candidate-head strong {
  color: var(--emerald);
  font-size: 1.15rem;
}

.lab-badge {
  color: #0f766e;
  background: rgba(20, 184, 166, 0.12);
}

.lab-rule-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.lab-rule-chip {
  display: inline-grid;
  gap: 2px;
  min-width: 92px;
  padding: 9px 10px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.2);
  color: var(--ink);
  font-size: 0.82rem;
}

.lab-rule-chip strong {
  color: var(--muted-soft);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.lab-note {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.lab-source-line {
  display: inline-flex;
  width: fit-content;
  margin: 0;
  padding: 8px 11px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(20, 184, 166, 0.1);
  border: 1px solid rgba(15, 118, 110, 0.14);
  font-size: 0.78rem;
  font-weight: 800;
}

.lab-grade {
  color: #1d4ed8;
  background: rgba(37, 99, 235, 0.1);
}

.lab-grade.is-strong {
  color: #0f766e;
  background: rgba(20, 184, 166, 0.13);
}

.lab-grade.is-medium {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
}

.lab-grade.is-weak {
  color: #991b1b;
  background: rgba(239, 68, 68, 0.12);
}

.lab-outcome {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
}

.lab-outcome.is-win {
  color: #0f766e;
  background: rgba(20, 184, 166, 0.13);
}

.lab-outcome.is-loss {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.12);
}

.lab-outcome.is-neutral {
  color: #475569;
  background: rgba(148, 163, 184, 0.16);
}

.lab-table {
  min-width: 1180px;
}

.lab-training-table {
  min-width: 1240px;
}

.lab-table-scroll {
  max-height: min(560px, 62vh);
  overflow: auto;
}

.table-wrap {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 16px;
  background: var(--panel-strong);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}

.table-wrap-paginated {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.table-wrap-infinite {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.table-scroll {
  position: relative;
  isolation: isolate;
  overflow: auto;
  background: var(--panel-strong);
}

.table-scroll-medium {
  max-height: min(360px, 48vh);
}

.table-scroll-large {
  max-height: min(560px, 62vh);
}

.table-scroll-trades {
  max-height: min(680px, 76vh);
}

.table-pagination {
  border-top: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(255, 255, 255, 0.96));
  padding: 12px 14px;
}

.table-pagination-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.table-pagination-status {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 600;
}

.table-pagination-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.table-pagination-page {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 700;
}

.table-pagination-input {
  width: 66px;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.36);
  background: #ffffff;
  color: var(--ink);
  font: inherit;
  font-weight: 800;
  text-align: center;
}

.table-pagination-input:focus {
  border-color: rgba(37, 99, 235, 0.55);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
  outline: none;
}

.table-pagination-button {
  min-width: 92px;
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 700;
  padding: 8px 14px;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.table-pagination-button:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, 0.28);
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08);
}

.table-pagination-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  box-shadow: none;
}

.table-infinite-status {
  min-height: 48px;
  padding: 13px 16px;
  border-top: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.94), rgba(255, 255, 255, 0.98));
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.45;
}

.table-infinite-status.is-loading::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 9px;
  vertical-align: -2px;
  border: 2px solid rgba(37, 99, 235, 0.18);
  border-top-color: #2563eb;
  border-radius: 999px;
  animation: table-spin 0.8s linear infinite;
}

.table-loading-cell {
  padding: 22px 18px;
  text-align: center;
  color: var(--muted);
  font-weight: 800;
  letter-spacing: 0.01em;
}

.table-loading-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  vertical-align: -3px;
  border: 2px solid rgba(37, 99, 235, 0.18);
  border-top-color: #2563eb;
  border-radius: 999px;
  animation: table-spin 0.8s linear infinite;
}

@keyframes table-spin {
  to {
    transform: rotate(360deg);
  }
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  min-width: 1120px;
  table-layout: auto;
}

thead {
  background: transparent;
}

th,
td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
  line-height: 1.3;
}

th {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted-soft);
  position: sticky;
  top: 0;
  z-index: 3;
  vertical-align: bottom;
  background: #f8fafc;
  background-clip: padding-box;
  box-shadow: inset 0 -1px 0 var(--border), 0 1px 0 rgba(255, 255, 255, 0.92);
}

.row-number-cell {
  width: 64px;
  color: var(--muted);
  font-weight: 800;
  white-space: nowrap;
}

.table-header-label,
.table-sort-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 26px;
  color: inherit;
  font: inherit;
  font-weight: 900;
  letter-spacing: inherit;
  text-transform: inherit;
}

.table-sort-button {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.table-sort-button:hover {
  transform: none;
  color: #2563eb;
}

.table-sort-button::after {
  content: "\2195";
  color: rgba(100, 116, 139, 0.62);
  font-size: 0.72rem;
  line-height: 1;
}

.table-sort-button.is-active::after {
  content: "\2191";
  color: #2563eb;
}

.table-sort-button.is-active[data-sort-direction="desc"]::after {
  content: "\2193";
}

.recent-closed-trades-table {
  min-width: 1620px;
  table-layout: fixed;
}

.recent-closed-trades-table th,
.recent-closed-trades-table td {
  padding: 10px 9px;
  font-size: 0.88rem;
}

.recent-closed-trades-table th {
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

.recent-closed-trades-table th:nth-child(1) {
  width: 52px;
}

.recent-closed-trades-table th:nth-child(2) {
  width: 132px;
}

.recent-closed-trades-table th:nth-child(3) {
  width: 74px;
}

.recent-closed-trades-table th:nth-child(4) {
  width: 150px;
}

.recent-closed-trades-table th:nth-child(5) {
  width: 108px;
}

.recent-closed-trades-table th:nth-child(6) {
  width: 80px;
}

.recent-closed-trades-table th:nth-child(7),
.recent-closed-trades-table th:nth-child(8) {
  width: 124px;
}

.recent-closed-trades-table th:nth-child(7) {
  width: 66px;
}

.recent-closed-trades-table th:nth-child(9) {
  width: 104px;
}

.recent-closed-trades-table th:nth-child(10) {
  width: 96px;
}

.recent-closed-trades-table th:nth-child(11) {
  width: 100px;
}

.recent-closed-trades-table th:nth-child(12) {
  width: 112px;
}

.recent-closed-trades-table th:nth-child(13) {
  width: 112px;
}

.recent-closed-trades-table th:nth-child(14) {
  width: 120px;
}

.recent-closed-trades-table th:nth-child(15) {
  width: 142px;
}

.recent-closed-trades-table th:nth-child(16) {
  width: 62px;
}

/* Dashboard closed-trade actions scroll with the table like normal columns. */
.dashboard-closed-trades-table {
  min-width: 1550px;
}

.dashboard-closed-trades-table th:nth-child(1) { width: 96px; }
.dashboard-closed-trades-table th:nth-child(2) { width: 52px; }
.dashboard-closed-trades-table th:nth-child(3) { width: 132px; }
.dashboard-closed-trades-table th:nth-child(4) { width: 74px; }
.dashboard-closed-trades-table th:nth-child(5) { width: 150px; }
.dashboard-closed-trades-table th:nth-child(6) { width: 80px; }
.dashboard-closed-trades-table th:nth-child(7) { width: 66px; }
.dashboard-closed-trades-table th:nth-child(8) { width: 124px; }
.dashboard-closed-trades-table th:nth-child(9) { width: 104px; }
.dashboard-closed-trades-table th:nth-child(10) { width: 96px; }
.dashboard-closed-trades-table th:nth-child(11) { width: 100px; }
.dashboard-closed-trades-table th:nth-child(12) { width: 112px; }
.dashboard-closed-trades-table th:nth-child(13) { width: 112px; }
.dashboard-closed-trades-table th:nth-child(14) { width: 120px; }
.dashboard-closed-trades-table th:nth-child(15) { width: 142px; }

.dashboard-closed-trades-table .table-action-group {
  min-width: 78px;
}

.open-trades-table .table-action-group,
.dashboard-closed-trades-table .table-action-group {
  gap: 8px;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.open-trades-table .table-action-group .table-icon-button,
.dashboard-closed-trades-table .table-action-group .table-icon-button {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  border-radius: 10px;
  border-color: rgba(168, 143, 197, 0.28);
  background: rgba(38, 29, 51, 0.92);
  color: #ddd3e7;
  box-shadow: none !important;
}

.open-trades-table .table-action-group .table-icon-button:hover,
.dashboard-closed-trades-table .table-action-group .table-icon-button:hover {
  transform: translateY(-1px);
  border-color: rgba(210, 181, 247, 0.46);
  background: rgba(52, 39, 69, 0.98);
  color: #ffffff;
  box-shadow: none !important;
}

.recent-closed-trades-table .row-number-cell,
.recent-closed-trades-table .table-date-stack,
.recent-closed-trades-table .table-price-time,
.recent-closed-trades-table .table-instrument-stack,
.recent-closed-trades-table .table-mode-stack,
.recent-closed-trades-table .table-target-stack,
.recent-closed-trades-table .signal-label-chip {
  min-width: 0;
  max-width: 100%;
}

.recent-closed-trades-table .row-number-cell {
  text-align: center;
}

.recent-closed-trades-table:not(.open-trades-table) :is(th, td):nth-child(3),
.recent-closed-trades-table:not(.open-trades-table):not(.dashboard-closed-trades-table) :is(th, td):nth-child(7),
.dashboard-closed-trades-table :is(th, td):nth-child(6),
.open-trades-table :is(th, td):nth-child(4),
.open-trades-table :is(th, td):nth-child(7) {
  padding-inline: 5px;
  text-align: center;
}

.recent-closed-trades-table .table-date-stack,
.recent-closed-trades-table .table-price-time {
  gap: 1px;
}

.recent-closed-trades-table .table-date-stack span:first-child,
.recent-closed-trades-table .table-price-time > strong {
  font-size: 0.83rem;
}

.recent-closed-trades-table .table-date-stack span:last-child {
  font-size: 0.72rem;
}

.recent-closed-trades-table .table-regime-cell,
.recent-closed-trades-table .trade-contract-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
}

.dashboard-closed-trades-table .table-instrument-stack {
  min-width: 112px;
}

.recent-closed-trades-table .signal-label-chip {
  padding: 7px 9px;
  font-size: 0.65rem;
  border-radius: 12px;
}

.recent-closed-trades-table .strategy-lineage-badge {
  min-width: 0;
  max-width: 100%;
  border-radius: 12px;
  white-space: normal;
  text-align: center;
  overflow-wrap: normal;
}

.recent-closed-trades-table .table-sort-button,
.recent-closed-trades-table .table-header-label {
  gap: 4px;
  min-height: 22px;
}

.recent-closed-trades-table td,
.recent-closed-trades-table th {
  overflow-wrap: anywhere;
}

.recent-closed-trades-table th,
.recent-closed-trades-table .table-sort-button,
.recent-closed-trades-table .table-header-label {
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: normal;
}

.recent-closed-trades-table .table-money {
  font-weight: 900;
  white-space: nowrap;
}

.target-recovery-cell {
  vertical-align: middle;
}

.target-recovery-empty {
  display: block;
  color: #94a3b8;
  font-weight: 800;
  text-align: center;
}

.target-recovery-card {
  display: flex;
  min-width: 0;
  max-width: 100%;
  flex-direction: column;
  gap: 2px;
  padding: 5px 6px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #f8fafc;
  box-shadow: inset 3px 0 0 #64748b;
  color: #334155;
  line-height: 1.12;
  white-space: normal;
}

.target-recovery-card.is-achieved,
.target-recovery-card.is-recovered {
  border-color: #a7f3d0;
  background: #ecfdf5;
  box-shadow: inset 3px 0 0 #10b981;
  color: #065f46;
}

.target-recovery-card.is-inferred {
  border-color: #bae6fd;
  background: #f0f9ff;
  box-shadow: inset 3px 0 0 #4f46e5;
  color: #075985;
}

.target-recovery-card.is-missed {
  border-color: #fecdd3;
  background: #fff1f2;
  box-shadow: inset 3px 0 0 #e11d48;
  color: #9f1239;
}

.target-recovery-card.is-pending {
  border-color: #fde68a;
  background: #fffbeb;
  box-shadow: inset 3px 0 0 #0d9488;
  color: #92400e;
}

.target-recovery-badge {
  font-size: 0.58rem;
  font-weight: 950;
  text-transform: uppercase;
}

.target-recovery-detail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1px;
  font-size: 0.64rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.target-recovery-time {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
}

.target-recovery-time > span:first-child {
  color: inherit;
  font-size: 0.56rem;
  font-weight: 950;
  text-transform: uppercase;
}

.target-recovery-time .table-date-stack {
  gap: 0;
  min-width: 0;
  line-height: 1.08;
}

.target-recovery-card.is-compact-high {
  gap: 3px;
  align-items: flex-start;
}

.target-recovery-high-price {
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1.1;
}

.target-recovery-card.is-compact-high .table-date-stack {
  gap: 1px;
  min-width: 0;
  line-height: 1.1;
}

.target-recovery-card .table-date-stack span:first-child,
.target-recovery-card .table-date-stack span:last-child,
.target-recovery-card span {
  color: inherit;
}

.target-recovery-card .table-date-stack span:first-child,
.target-recovery-card .table-date-stack span:last-child {
  font-size: 0.62rem;
  font-weight: 850;
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row .target-recovery-card,
body[data-auth-state="authenticated"] tbody tr.is-clicked-row .target-recovery-card span:not(.pill):not(.exit-reason-pill),
body[data-auth-state="authenticated"] tbody tr.is-clicked-row .target-recovery-card .table-date-stack span:first-child,
body[data-auth-state="authenticated"] tbody tr.is-clicked-row .target-recovery-card .table-date-stack span:last-child {
  color: inherit;
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row .target-recovery-card {
  box-shadow: inset 3px 0 0 currentColor, 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.open-trades-table {
  min-width: 1212px;
}

.open-trades-table th:nth-child(1) {
  width: 52px;
}

.open-trades-table th:nth-child(2) {
  width: 104px;
}

.open-trades-table th:nth-child(3) {
  width: 62px;
}

.open-trades-table th:nth-child(4) {
  width: 64px;
}

.open-trades-table th:nth-child(5) {
  width: 150px;
}

.open-trades-table th:nth-child(6) {
  width: 80px;
}

.open-trades-table th:nth-child(7) {
  width: 60px;
}

.open-trades-table th:nth-child(8) {
  width: 124px;
}

.open-trades-table th:nth-child(9) {
  width: 104px;
}

.open-trades-table th:nth-child(10) {
  width: 96px;
}

.open-trades-table th:nth-child(11) {
  width: 78px;
}

.open-trades-table th:nth-child(12) {
  width: 108px;
}

.open-trades-table .table-action-group {
  min-width: 100px;
}

.open-trades-table .compact-signal {
  min-width: 0;
  max-width: 100%;
}

.open-trades-table .open-live-price > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
}

.exit-reason-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 12px;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.1;
  text-align: center;
  white-space: normal;
}

.open-trades-table .open-live-price .open-ltp-change {
  font-size: 0.7rem;
  font-weight: 900;
}

.trade-mode-label {
  display: inline-block;
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
}

.trade-mode-label.is-live {
  color: #059669;
}

.trade-mode-label.is-paper {
  color: #2563eb;
}

.exit-reason-pill.is-positive {
  color: #047857;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.22);
}

.exit-reason-pill.is-negative {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.2);
}

.exit-reason-pill.is-warning {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
  border: 1px solid rgba(245, 158, 11, 0.24);
}

.exit-reason-pill.is-info {
  color: #1d4ed8;
  background: rgba(37, 99, 235, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.22);
}

.exit-reason-pill.is-neutral {
  color: #475569;
  background: rgba(100, 116, 139, 0.12);
  border: 1px solid rgba(100, 116, 139, 0.18);
}

tbody tr:nth-child(even) {
  background: rgba(248, 250, 252, 0.52);
}

tbody tr:hover {
  background: rgba(239, 246, 255, 0.68);
}

tbody tr {
  cursor: pointer;
  transition: background 120ms ease, box-shadow 120ms ease;
}

tbody tr.is-clicked-row {
  background: linear-gradient(90deg, rgba(20, 184, 166, 0.18), rgba(239, 246, 255, 0.94)) !important;
  box-shadow:
    inset 4px 0 0 #0f766e,
    inset 0 1px 0 rgba(20, 184, 166, 0.2),
    inset 0 -1px 0 rgba(20, 184, 166, 0.22);
}

tbody tr.is-clicked-row td {
  background: transparent;
  border-bottom-color: rgba(20, 184, 166, 0.28);
}

tbody tr.is-clicked-row .row-number-cell {
  color: #0f766e;
}

tbody tr:last-child td {
  border-bottom: none;
}

.table-signal {
  display: grid;
  gap: 3px;
  align-content: start;
}

.compact-signal {
  min-width: 160px;
  max-width: 220px;
}

.table-signal strong {
  font-size: 0.88rem;
}

.table-signal span {
  font-size: 0.78rem;
  line-height: 1.35;
}

.signal-label-chip {
  display: inline-grid;
  justify-items: start;
  min-width: 128px;
  max-width: 180px;
  padding: 7px 10px;
  border-radius: 14px;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.32), transparent 46%),
    linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(15, 118, 110, 0.14));
  border: 1px solid rgba(37, 99, 235, 0.16);
  color: #163166;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.2;
}

.signal-line {
  display: block;
  width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  white-space: normal;
}

.strategy-name-chip {
  min-width: 170px;
  max-width: 240px;
}

.strategy-ref-line {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.strategy-lineage-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(100, 116, 139, 0.2);
  background: rgba(241, 245, 249, 0.88);
  color: #334155;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
}

.strategy-lineage-badge.is-greek {
  border-color: rgba(15, 118, 110, 0.22);
  background: rgba(204, 251, 241, 0.72);
  color: #0f766e;
}

.strategy-lineage-badge.is-no-greek {
  border-color: rgba(217, 119, 6, 0.24);
  background: rgba(254, 243, 199, 0.78);
  color: #92400e;
}

.strategy-lineage-badge.is-core {
  border-color: rgba(37, 99, 235, 0.2);
  background: rgba(219, 234, 254, 0.72);
  color: #1d4ed8;
}

.table-date-stack {
  display: inline-grid;
  gap: 2px;
  min-width: 110px;
  line-height: 1.15;
}

.table-date-stack span:first-child {
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 800;
}

.table-date-stack span:last-child {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.table-instrument-stack,
.table-mode-stack,
.table-target-stack {
  min-width: 104px;
}

.table-instrument-stack span,
.table-mode-stack span,
.table-target-stack span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.table-instrument-stack span:first-child,
.table-mode-stack span:first-child,
.table-target-stack span:first-child {
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 900;
}

.table-instrument-stack span:nth-child(2),
.table-mode-stack span:nth-child(2) {
  color: #334155;
}

.table-instrument-stack span.trade-contract-line {
  color: var(--theme-ink, var(--ink));
  font-size: 0.8rem;
  font-weight: 950;
  letter-spacing: 0.01em;
}

.table-target-stack span:nth-child(2) {
  color: var(--muted);
}

.table-detail-button {
  min-width: 84px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.28), transparent 44%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.04), rgba(37, 99, 235, 0.08));
  color: #172554;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.table-icon-button {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  padding: 0;
  line-height: 1;
  border-radius: 999px;
  border: 1px solid rgba(100, 116, 139, 0.18);
  background: #ffffff;
  color: #475569;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.table-icon-button svg {
  width: 18px;
  height: 18px;
  display: block;
  overflow: visible;
}

.table-icon-button svg * {
  stroke-width: 2.35;
}

.table-icon-button:hover {
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, 0.26);
  background: #f8fbff;
  color: #1d4ed8;
  box-shadow: 0 9px 18px rgba(15, 23, 42, 0.10);
}

.table-icon-button.is-exit {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.22);
  background: #eff6ff;
}

.table-icon-button.is-detail {
  color: #334155;
  border-color: rgba(71, 85, 105, 0.22);
  background: #f1f5f9;
}

.table-icon-button.is-detail svg {
  width: 20px;
  height: 20px;
}

.table-icon-button.is-detail:hover {
  color: #ffffff;
  background: #475569;
  border-color: #475569;
}

.table-icon-button.is-insight {
  color: #4f46e5;
  border-color: rgba(79, 70, 229, 0.22);
  background: #eef2ff;
}

.table-icon-button.is-insight:hover {
  color: #ffffff;
  border-color: #4f46e5;
  background: #4f46e5;
}

.table-icon-button.is-exit:hover {
  color: #ffffff;
  background: #2563eb;
  border-color: #2563eb;
}

.table-icon-button.is-danger {
  color: #b91c1c;
  background: #fff7f7;
  border-color: rgba(220, 38, 38, 0.18);
}

.table-icon-button.is-danger:hover {
  border-color: rgba(220, 38, 38, 0.34);
  background: #dc2626;
  color: #ffffff;
  box-shadow: 0 9px 18px rgba(127, 29, 29, 0.14);
}

.table-icon-button.is-disabled,
.table-icon-button:disabled {
  color: #94a3b8;
  background: #f8fafc;
  border-color: rgba(148, 163, 184, 0.16);
  cursor: not-allowed;
  box-shadow: none;
}

.table-icon-button.is-disabled:hover,
.table-icon-button:disabled:hover {
  transform: none;
  color: #94a3b8;
  background: #f8fafc;
  border-color: rgba(148, 163, 184, 0.16);
  box-shadow: none;
}

.table-detail-button:hover {
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, 0.24);
  box-shadow: 0 12px 22px rgba(15, 23, 42, 0.08);
}

.table-detail-button.is-danger {
  color: #991b1b;
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.24), transparent 44%),
    linear-gradient(135deg, rgba(220, 38, 38, 0.08), rgba(248, 113, 113, 0.12));
  border-color: rgba(220, 38, 38, 0.18);
}

.table-detail-button.is-danger:hover {
  border-color: rgba(220, 38, 38, 0.28);
  box-shadow: 0 12px 22px rgba(127, 29, 29, 0.12);
}

.table-action-stack,
.table-action-group {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
}

.table-action-group {
  width: max-content;
  padding: 0;
  border: 0;
  background: transparent;
}

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

.table-price-time,
.table-checkpoints {
  display: grid;
  gap: 3px;
  min-width: 90px;
}

.table-price-time > strong {
  color: var(--text);
  font-weight: 900;
}

.table-checkpoints span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  white-space: nowrap;
}

.execution-badge {
  display: grid;
  gap: 2px;
  min-width: 92px;
}

.execution-badge strong {
  width: max-content;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.execution-badge span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
}

.execution-badge.is-paper strong {
  color: #475569;
  background: rgba(148, 163, 184, 0.14);
  border: 1px solid rgba(148, 163, 184, 0.24);
}

.execution-badge.is-live strong {
  color: #065f46;
  background: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(16, 185, 129, 0.26);
}

.trade-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 10010;
  display: grid;
  place-items: center;
  padding: 18px;
}

.trade-detail-modal[hidden] {
  display: none;
}

.ai-strategy-run-modal {
  position: fixed;
  inset: 0;
  z-index: 10012;
  display: grid;
  place-items: center;
  padding: 18px;
}

.ai-strategy-run-modal[hidden] {
  display: none;
}

.ai-strategy-run-card {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  max-height: min(90vh, 980px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 16px;
  padding: 20px;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background:
    linear-gradient(135deg, rgba(240, 249, 255, 0.98), rgba(255, 255, 255, 0.98) 48%, rgba(240, 253, 250, 0.98));
  box-shadow: 0 36px 78px rgba(15, 23, 42, 0.26);
}

.ai-strategy-run-close {
  width: 46px;
  min-width: 46px;
  height: 46px;
  padding: 0;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 900;
}

.ai-strategy-run-scroll {
  min-height: 0;
  display: block;
  overflow: auto;
  padding: 2px 4px 4px;
}

.ai-strategy-update-review {
  display: grid;
  gap: 14px;
}

.ai-strategy-update-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 14px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  background:
    linear-gradient(135deg, rgba(219, 234, 254, 0.68), rgba(255, 255, 255, 0.96) 48%, rgba(236, 253, 245, 0.9));
}

.ai-strategy-update-hero strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 1.08rem;
}

.ai-strategy-update-hero p {
  margin: 7px 0 0;
  color: #475569;
  line-height: 1.45;
}

.ai-strategy-update-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.ai-strategy-update-stats article {
  display: grid;
  align-content: center;
  min-height: 78px;
  padding: 11px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.74);
}

.ai-strategy-update-stats span {
  color: var(--muted-soft);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.ai-strategy-update-stats strong {
  margin-top: 2px;
  font-size: 1.35rem;
}

.ai-strategy-update-summary {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.98) 48%, rgba(236, 253, 245, 0.94));
  box-shadow: 0 18px 38px rgba(30, 64, 175, 0.1);
}

.ai-strategy-update-summary[hidden] {
  display: none;
}

.ai-strategy-run-entry {
  display: block;
  overflow: visible;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.9);
}

.ai-strategy-run-entry + .ai-strategy-run-entry {
  margin-top: 12px;
}

.ai-strategy-update-head,
.ai-strategy-run-entry > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(219, 234, 254, 0.56), rgba(240, 253, 250, 0.68));
  cursor: pointer;
  list-style: none;
}

.ai-strategy-run-entry summary::-webkit-details-marker,
.ai-strategy-change-card summary::-webkit-details-marker {
  display: none;
}

.ai-strategy-update-head::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid rgba(20, 184, 166, 0.2);
  font-weight: 900;
}

.ai-strategy-run-entry[open] > .ai-strategy-update-head::after {
  content: "-";
}

.ai-strategy-update-head > div,
.ai-strategy-run-entry > summary span,
.ai-strategy-run-entry > summary em {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ai-strategy-update-head strong,
.ai-strategy-run-entry > summary strong {
  color: var(--ink);
  font-style: normal;
}

.ai-strategy-update-head em,
.ai-strategy-run-entry > summary em {
  color: var(--muted);
  font-size: 0.86rem;
  font-style: normal;
  font-weight: 800;
}

.ai-strategy-run-body {
  display: none;
  gap: 12px;
  padding: 14px;
}

.ai-strategy-run-body > p {
  margin: 0;
  color: #334155;
  line-height: 1.5;
}

.ai-strategy-run-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.ai-strategy-run-metrics article,
.ai-strategy-change-card {
  display: grid;
  gap: 5px;
  padding: 13px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background:
    linear-gradient(180deg, rgba(248, 250, 252, 0.92), rgba(255, 255, 255, 0.96));
}

.ai-strategy-run-metrics span,
.ai-strategy-near-misses > span {
  color: var(--muted-soft);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.ai-strategy-run-metrics strong {
  color: var(--ink);
  font-size: 1.12rem;
}

.ai-strategy-run-metrics small,
.ai-strategy-change-card small {
  color: var(--muted);
  line-height: 1.35;
}

.ai-strategy-change-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}

.ai-strategy-change-card {
  display: block;
  overflow: hidden;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.78);
}

.ai-strategy-change-summary {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr) 28px;
  gap: 12px;
  align-items: center;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.ai-strategy-change-summary::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #1d4ed8;
  background: rgba(219, 234, 254, 0.7);
  font-weight: 900;
}

.ai-strategy-change-card[open] > .ai-strategy-change-summary::after {
  content: "-";
}

.ai-strategy-change-title {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.ai-strategy-change-title > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ai-strategy-change-title strong {
  color: var(--ink);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.ai-strategy-change-title small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.ai-strategy-change-quick {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.ai-strategy-change-quick span {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 8px;
  color: #0f172a;
  background: rgba(248, 250, 252, 0.95);
  border: 1px solid rgba(226, 232, 240, 0.78);
  font-size: 0.78rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.ai-strategy-change-quick b {
  display: block;
  margin-bottom: 2px;
  color: var(--muted-soft);
  font-size: 0.6rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ai-strategy-change-details {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
}

.ai-strategy-criteria-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.ai-strategy-criteria-strip div {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.96);
  border: 1px solid rgba(226, 232, 240, 0.84);
}

.ai-strategy-criteria-strip dt {
  color: var(--muted-soft);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ai-strategy-criteria-strip dd {
  margin: 3px 0 0;
  color: #0f172a;
  font-size: 0.86rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.ai-strategy-diff-list {
  display: grid;
  gap: 7px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(20, 184, 166, 0.18);
  background: rgba(240, 253, 250, 0.74);
}

.ai-strategy-diff-list > span,
.ai-strategy-diff-note {
  color: var(--muted-soft);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ai-strategy-diff-list div {
  display: grid;
  grid-template-columns: minmax(120px, 0.55fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}

.ai-strategy-diff-list strong {
  color: var(--ink);
  font-size: 0.78rem;
}

.ai-strategy-diff-list em,
.ai-strategy-diff-list b {
  min-width: 0;
  padding: 7px 8px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-style: normal;
  overflow-wrap: anywhere;
}

.ai-strategy-diff-list em {
  color: #64748b;
  background: rgba(226, 232, 240, 0.72);
  text-decoration: line-through;
}

.ai-strategy-diff-list b {
  color: #0f766e;
  background: rgba(204, 251, 241, 0.62);
}

.ai-strategy-diff-note {
  margin: 0;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(248, 250, 252, 0.92);
  line-height: 1.4;
  text-transform: none;
  letter-spacing: 0;
}

.ai-strategy-skip-note,
.ai-strategy-near-misses {
  padding: 13px;
  border-radius: 16px;
  border: 1px solid rgba(245, 158, 11, 0.22);
  background: rgba(255, 251, 235, 0.78);
}

.ai-strategy-near-misses {
  display: grid;
  gap: 8px;
}

.ai-strategy-near-misses ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 18px;
}

.ai-strategy-near-misses li {
  color: #475569;
  line-height: 1.4;
}

.ai-strategy-near-misses li strong {
  color: var(--ink);
  margin-right: 6px;
}

.ai-strategy-run-card {
  width: min(1240px, 100%);
  gap: 14px;
  padding: 24px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(248, 250, 252, 0.99), rgba(255, 255, 255, 0.99) 46%, rgba(236, 253, 245, 0.96));
}

.ai-strategy-run-card > header p {
  max-width: 760px;
}

.ai-strategy-run-scroll {
  display: block;
  padding: 2px 2px 8px;
}

.ai-strategy-run-entry {
  display: block;
  overflow: visible;
  border-radius: 16px;
  border-color: rgba(203, 213, 225, 0.7);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.055);
}

.ai-strategy-run-entry[open],
.ai-strategy-run-entry.is-open {
  border-color: rgba(20, 184, 166, 0.34);
  box-shadow: 0 20px 44px rgba(15, 118, 110, 0.11);
}

.ai-strategy-update-head,
.ai-strategy-run-entry > summary {
  min-height: 66px;
  padding: 14px 16px;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(219, 234, 254, 0.78), rgba(240, 253, 250, 0.86)),
    radial-gradient(circle at 8% 0%, rgba(59, 130, 246, 0.12), transparent 32%);
}

.ai-strategy-run-entry.is-open > .ai-strategy-update-head,
.ai-strategy-run-entry[open] > .ai-strategy-update-head,
.ai-strategy-run-entry[open] > summary {
  background:
    linear-gradient(90deg, rgba(219, 234, 254, 0.92), rgba(204, 251, 241, 0.78)),
    radial-gradient(circle at 90% 20%, rgba(20, 184, 166, 0.16), transparent 32%);
}

.ai-strategy-run-title {
  display: grid !important;
  gap: 0 !important;
  min-width: 0;
  flex: 1 1 auto;
}

.ai-strategy-run-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.ai-strategy-update-head::after {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 8px 18px rgba(15, 118, 110, 0.08);
}

.ai-strategy-run-entry.is-open > .ai-strategy-update-head::after {
  content: "-";
}

.ai-strategy-update-head strong {
  font-size: 1.03rem;
}

.ai-strategy-update-head em {
  color: #334155;
  padding: 8px 11px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.ai-strategy-run-body {
  display: none;
  gap: 10px;
  padding: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(248, 250, 252, 0.9));
}

.ai-strategy-run-entry.is-open > .ai-strategy-run-body,
.ai-strategy-run-entry[open] > .ai-strategy-run-body {
  display: block !important;
  height: auto;
  min-height: 0;
  overflow: visible;
  border-top: 1px solid rgba(203, 213, 225, 0.5);
}

.ai-strategy-run-mini-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.ai-strategy-run-mini-metrics span,
.ai-strategy-current-criteria span {
  min-width: 0;
  padding: 9px 10px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.84);
  color: #0f172a;
  font-size: 0.84rem;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.ai-strategy-run-mini-metrics span:nth-child(1) {
  background: linear-gradient(135deg, rgba(219, 234, 254, 0.92), rgba(255, 255, 255, 0.82));
}

.ai-strategy-run-mini-metrics span:nth-child(2) {
  background: linear-gradient(135deg, rgba(220, 252, 231, 0.9), rgba(255, 255, 255, 0.82));
}

.ai-strategy-run-mini-metrics span:nth-child(3) {
  background: linear-gradient(135deg, rgba(254, 243, 199, 0.86), rgba(255, 255, 255, 0.82));
}

.ai-strategy-run-mini-metrics b,
.ai-strategy-current-criteria b {
  display: block;
  margin-bottom: 2px;
  color: #64748b;
  font-size: 0.62rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.ai-strategy-change-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.ai-strategy-change-card {
  border-radius: 14px;
  border-color: rgba(203, 213, 225, 0.74);
  background: rgba(255, 255, 255, 0.88);
}

.ai-strategy-change-card-created {
  border-color: rgba(34, 197, 94, 0.28);
}

.ai-strategy-change-card-updated {
  border-color: rgba(37, 99, 235, 0.24);
}

.ai-strategy-change-card-archived {
  border-color: rgba(245, 158, 11, 0.34);
}

.ai-strategy-change-summary {
  grid-template-columns: minmax(300px, 0.56fr) minmax(0, 1.44fr) 34px;
  gap: 10px;
  padding: 11px;
}

.ai-strategy-change-summary::after {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  color: #0f766e;
  background: rgba(204, 251, 241, 0.68);
  border: 1px solid rgba(20, 184, 166, 0.18);
}

.ai-strategy-change-title strong {
  font-size: 0.94rem;
}

.ai-strategy-change-title small {
  color: #64748b;
}

.ai-strategy-change-quick {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 5px;
}

.ai-strategy-change-quick span,
.ai-strategy-criteria-strip div {
  border-radius: 10px;
  border-color: rgba(203, 213, 225, 0.72);
  background: rgba(248, 250, 252, 0.96);
  min-height: 54px;
  padding: 8px 9px;
}

.ai-strategy-change-quick span:nth-child(1),
.ai-strategy-change-quick span:nth-child(2),
.ai-strategy-change-quick span:nth-child(3) {
  background: linear-gradient(135deg, rgba(239, 246, 255, 0.98), rgba(255, 255, 255, 0.88));
}

.ai-strategy-change-details {
  padding: 0 11px 11px;
}

.ai-strategy-criteria-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ai-strategy-current-criteria {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
}

.ai-strategy-run-body .ai-strategy-criteria-strip,
.ai-strategy-run-body .ai-strategy-current-criteria {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.ai-strategy-diff-list {
  gap: 8px;
  padding: 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.92), rgba(255, 255, 255, 0.86));
}

.ai-strategy-diff-list div {
  grid-template-columns: minmax(96px, 0.45fr) minmax(0, 1fr) minmax(0, 1fr);
  border: 1px solid rgba(204, 251, 241, 0.74);
}

.ai-strategy-diff-list em::after {
  content: " ->";
  color: #94a3b8;
  text-decoration: none;
}

.ai-strategy-skip-note {
  margin: 0;
  padding: 12px;
  border-radius: 12px;
  color: #92400e;
  font-weight: 850;
}

.action-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 22px;
}

.action-confirm-modal[hidden] {
  display: none;
}

.action-confirm-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 16%, rgba(37, 99, 235, 0.2), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(20, 184, 166, 0.16), transparent 24%),
    rgba(15, 23, 42, 0.56);
  backdrop-filter: blur(12px);
}

.action-confirm-card {
  position: relative;
  width: min(680px, 100%);
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(219, 228, 238, 0.98);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.97));
  box-shadow: 0 38px 90px rgba(15, 23, 42, 0.24);
  animation: modalRise 220ms ease both;
}

.action-confirm-shell {
  position: relative;
  z-index: 1;
  padding: 28px;
}

.action-confirm-glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(34px);
  opacity: 0.72;
  pointer-events: none;
}

.action-confirm-glow-a {
  top: -44px;
  left: -36px;
  width: 170px;
  height: 170px;
  background: rgba(37, 99, 235, 0.18);
}

.action-confirm-glow-b {
  right: -40px;
  bottom: -54px;
  width: 160px;
  height: 160px;
  background: rgba(20, 184, 166, 0.16);
}

.action-confirm-head {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}

.action-confirm-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.16), rgba(14, 165, 233, 0.12));
  border: 1px solid rgba(59, 130, 246, 0.18);
  color: #1d4ed8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 900;
}

.action-confirm-modal[data-tone="danger"] .action-confirm-icon {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.16), rgba(249, 115, 22, 0.12));
  border-color: rgba(239, 68, 68, 0.18);
  color: #b91c1c;
}

.action-confirm-modal[data-tone="success"] .action-confirm-icon {
  background: linear-gradient(135deg, rgba(20, 184, 166, 0.16), rgba(34, 197, 94, 0.12));
  border-color: rgba(20, 184, 166, 0.18);
  color: #0f766e;
}

.action-confirm-title-block h2 {
  margin: 2px 0 8px;
  font-family: var(--font-display);
  font-size: clamp(1.34rem, 2vw, 2rem);
  letter-spacing: -0.03em;
}

.action-confirm-title-block p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}

.action-confirm-detail {
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: linear-gradient(135deg, rgba(248, 250, 252, 0.96), rgba(239, 246, 255, 0.92));
}

.action-confirm-detail p {
  margin: 0;
  color: #334155;
  line-height: 1.58;
}

.action-confirm-detail p + p {
  margin-top: 8px;
}

.action-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
}

.action-confirm-actions .ghost-button,
.action-confirm-actions .primary-button,
.action-confirm-actions .danger-button,
.action-confirm-actions .success-button {
  min-width: 132px;
}

.trade-detail-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 12%, rgba(45, 212, 191, 0.2), transparent 28%),
    radial-gradient(circle at 82% 16%, rgba(37, 99, 235, 0.18), transparent 32%),
    rgba(15, 23, 42, 0.58);
  backdrop-filter: blur(10px);
}

.trade-detail-card {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  max-height: min(88vh, 900px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 14px;
  padding: 18px;
  overflow: auto;
  border-radius: 24px;
  border: 1px solid rgba(191, 219, 254, 0.58);
  background:
    radial-gradient(circle at top right, rgba(245, 158, 11, 0.12), transparent 28%),
    radial-gradient(circle at top left, rgba(45, 212, 191, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
  box-shadow: 0 34px 70px rgba(15, 23, 42, 0.24);
}

.trade-detail-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 4px 4px 0;
}

.trade-detail-title-block {
  display: grid;
  gap: 3px;
}

.trade-detail-title-block h2 {
  margin: 0;
  font-size: clamp(1.16rem, 1.55vw, 1.5rem);
  letter-spacing: -0.04em;
}

.trade-detail-title-block p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.ai-strategy-history-button {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
}

.ai-strategy-progress {
  background:
    radial-gradient(circle at 92% 4%, rgba(255, 196, 92, 0.22), transparent 28%),
    linear-gradient(135deg, rgba(227, 242, 255, 0.98), rgba(236, 252, 246, 0.96) 54%, rgba(255, 250, 236, 0.96));
  border: 1px solid rgba(37, 99, 235, 0.2);
  border-radius: 8px;
  display: grid;
  gap: 16px;
  margin-top: 13px;
  overflow: hidden;
  padding: 18px;
  position: relative;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.88),
    0 22px 48px rgba(31, 71, 103, 0.12);
}

.ai-strategy-progress::before {
  background: linear-gradient(90deg, #2563eb, #0f766e, #16a34a, #0d9488);
  content: "";
  height: 4px;
  inset: 0 0 auto;
  position: absolute;
}

.ai-strategy-progress-head {
  align-items: start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.ai-strategy-progress-title {
  display: grid;
  gap: 5px;
}

.ai-strategy-progress-kicker {
  align-items: center;
  color: #1d4ed8;
  display: inline-flex;
  gap: 8px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ai-strategy-progress-kicker::before {
  animation: ai-strategy-pulse 1.35s ease-in-out infinite;
  background: #2563eb;
  border-radius: 999px;
  box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12);
  content: "";
  height: 9px;
  width: 9px;
}

.ai-strategy-progress-title strong {
  color: var(--ink);
  font-size: clamp(1.06rem, 1.2vw, 1.28rem);
  line-height: 1.2;
}

.ai-strategy-progress-title p {
  color: #46627a;
  font-size: 0.9rem;
  line-height: 1.42;
  margin: 0;
  max-width: 52ch;
}

.ai-strategy-progress-orb {
  align-items: center;
  aspect-ratio: 1;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    conic-gradient(#2563eb, #0f766e, #16a34a, #0d9488, #2563eb) border-box;
  border: 3px solid transparent;
  border-radius: 999px;
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.14);
  display: grid;
  flex: 0 0 auto;
  height: 94px;
  justify-items: center;
  padding: 10px;
  place-content: center;
  text-align: center;
  width: 94px;
}

.ai-strategy-progress-orb em {
  color: #0f766e;
  font-size: 1.32rem;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
}

.ai-strategy-progress-orb small {
  color: #64748b;
  font-size: 0.66rem;
  font-weight: 900;
  margin-top: 4px;
  text-transform: uppercase;
}

.ai-strategy-progress-track {
  background: rgba(148, 183, 219, 0.3);
  border-radius: 999px;
  box-shadow: inset 0 1px 3px rgba(15, 23, 42, 0.12);
  height: 16px;
  overflow: hidden;
  padding: 3px;
}

.ai-strategy-progress-track span {
  animation: ai-strategy-flow 1.2s linear infinite;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.18), transparent 22%, rgba(255, 255, 255, 0.2) 42%, transparent 62%),
    linear-gradient(90deg, #2563eb, #0f766e, #16a34a);
  background-size: 160px 100%, 100% 100%;
  border-radius: inherit;
  display: block;
  height: 100%;
  min-width: 0;
  transition: width 240ms ease;
  width: 0;
}

.ai-strategy-progress-steps {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ai-strategy-progress-steps article {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 8px;
  color: #64748b;
  display: grid;
  gap: 5px;
  min-height: 94px;
  padding: 12px;
  position: relative;
}

.ai-strategy-progress-steps article > span {
  align-items: center;
  background: rgba(226, 232, 240, 0.84);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 950;
  height: 28px;
  justify-content: center;
  width: 28px;
}

.ai-strategy-progress-steps strong {
  color: var(--ink);
  font-size: 0.87rem;
  line-height: 1.18;
}

.ai-strategy-progress-steps small {
  color: #64748b;
  font-size: 0.73rem;
  font-weight: 800;
  line-height: 1.25;
}

.ai-strategy-progress-steps article.is-active {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(219, 234, 254, 0.96));
  border-color: rgba(37, 99, 235, 0.34);
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.14);
  transform: translateY(-2px);
}

.ai-strategy-progress-steps article.is-active > span {
  animation: ai-strategy-pulse 1.35s ease-in-out infinite;
  background: #2563eb;
  color: #ffffff;
}

.ai-strategy-progress-steps article.is-done {
  background: linear-gradient(145deg, rgba(240, 253, 250, 0.98), rgba(220, 252, 231, 0.94));
  border-color: rgba(16, 185, 129, 0.24);
}

.ai-strategy-progress-steps article.is-done > span {
  background: #059669;
  color: #ffffff;
}

.ai-strategy-progress-steps article.is-done > span::before {
  content: "\2713";
}

.ai-strategy-progress-steps article.is-done > span {
  font-size: 0;
}

.ai-strategy-progress.is-failed {
  background: linear-gradient(135deg, rgba(254, 242, 242, 0.96), rgba(255, 247, 237, 0.94));
  border-color: rgba(220, 38, 38, 0.2);
}

.ai-strategy-progress.is-failed .ai-strategy-progress-kicker::before,
.ai-strategy-progress.is-failed .ai-strategy-progress-track span,
.ai-strategy-progress.is-failed .ai-strategy-progress-steps article.is-active > span {
  animation: none;
}

@keyframes ai-strategy-flow {
  from {
    background-position: -160px 0, 0 0;
  }

  to {
    background-position: 160px 0, 0 0;
  }
}

@keyframes ai-strategy-pulse {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }
}

.trade-detail-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.92);
  color: #0f172a;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.trade-detail-close:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #ffffff;
  box-shadow: 0 14px 26px rgba(185, 28, 28, 0.24);
}

.trade-detail-close span {
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.trade-detail-body {
  display: grid;
  gap: 14px;
}

.trade-insight-shell { display: grid; gap: 12px; }
.trade-insight-refresh-warning {
  padding: 10px 12px;
  border: 1px solid rgba(245, 158, 11, 0.45);
  border-radius: 10px;
  background: rgba(245, 158, 11, 0.12);
  color: #92400e;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.4;
}
.trade-insight-summary,
.trade-insight-detail-grid,
.trade-insight-algorithm {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.trade-insight-metric {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, 0.23);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.05);
}
.trade-insight-metric span {
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.trade-insight-metric strong { overflow-wrap: anywhere; color: #172033; font-size: 1rem; }
.trade-insight-metric.is-positive strong,
.trade-insight-metric.positive-text strong { color: #16a34a; }
.trade-insight-metric.is-negative strong,
.trade-insight-metric.negative-text strong { color: #ef4444; }
.trade-insight-metric.is-warning strong { color: #ca8a04; }
.trade-insight-metric.is-primary strong { color: #4f46e5; }
.trade-insight-panel {
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
}
.trade-insight-panel > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 15px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(248, 250, 252, 0.86);
}
.trade-insight-panel > header h3 { margin: 0; color: #172033; font-size: 0.96rem; }
.trade-insight-panel > header span { color: #64748b; font-size: 0.78rem; font-weight: 800; }
.trade-insight-detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.trade-insight-detail-grid .trade-insight-metric {
  border: 0;
  border-right: 1px solid rgba(148, 163, 184, 0.16);
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 0;
  box-shadow: none;
}
.trade-insight-leg {
  display: grid;
  grid-template-columns: auto minmax(150px, 1.4fr) repeat(5, minmax(80px, 0.7fr));
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  color: #64748b;
  font-size: 0.78rem;
}
.trade-insight-leg > strong, .trade-insight-leg b { color: #172033; }
.trade-insight-buy {
  padding: 5px 8px;
  border-radius: 5px;
  background: #22c55e;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 900;
}
.trade-insight-panel.is-trailing,
.trade-insight-panel.is-algorithm {
  border-color: rgba(99, 102, 241, 0.2);
  background: rgba(238, 242, 255, 0.6);
}
.trade-insight-trail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 66px 20px 18px;
}
.trade-insight-trail.is-simple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.trade-insight-trail-line {
  position: absolute;
  top: 74px;
  right: 10%;
  left: 10%;
  height: 3px;
  border-radius: 999px;
  background: #cbd5e1;
}
.trade-insight-price-pin {
  position: absolute;
  top: 7px;
  z-index: 3;
  display: grid;
  justify-items: center;
  transform: translateX(-50%);
  color: #c4b5fd;
  pointer-events: none;
}
.trade-insight-price-pin > span {
  padding: 4px 7px;
  border-radius: 5px;
  background: #4f46e5;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.trade-insight-price-pin i {
  width: 2px;
  height: 31px;
  background: currentColor;
}
.trade-insight-price-pin small {
  position: absolute;
  top: 52px;
  color: #94a3b8;
  font-size: 0.56rem;
  font-style: normal;
  white-space: nowrap;
}
.trade-insight-price-pin.is-live { color: #22d3ee; }
.trade-insight-price-pin.is-live > span { background: #0891b2; }
.trade-insight-price-pin.is-high { top: 2px; color: #facc15; }
.trade-insight-price-pin.is-high > span { background: #a16207; }
.trade-insight-price-pin.is-exit { top: 27px; color: #fb7185; }
.trade-insight-price-pin.is-exit > span { background: #be123c; }
.trade-insight-price-pin.is-exit i { height: 6px; }
.trade-insight-price-pin.is-exit small { top: 27px; }
.trade-insight-trail-node {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 5px;
  color: #94a3b8;
  text-align: center;
}
.trade-insight-trail-dot {
  width: 14px;
  height: 14px;
  border: 3px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
}
.trade-insight-trail-node.is-done { color: #4f46e5; }
.trade-insight-trail-node.is-done .trade-insight-trail-dot {
  border-color: #4f46e5;
  background: #4f46e5;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12);
}
.trade-insight-trail-node.is-hit {
  color: #ef4444;
}
.trade-insight-trail-node.is-hit .trade-insight-trail-dot {
  border-color: #ef4444;
  background: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.12);
}
.trade-insight-trail-node strong { font-size: 0.72rem; }
.trade-insight-trail-node small { color: currentColor; font-size: 0.68rem; font-weight: 800; }
.trade-insight-trail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 0 16px 14px;
  color: #64748b;
  font-size: 0.75rem;
}
.trade-insight-trail-meta b { color: #4338ca; }
.trade-insight-algorithm { grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 13px; }
.trade-insight-algorithm .trade-insight-metric {
  border-color: rgba(99, 102, 241, 0.12);
  background: transparent;
  box-shadow: none;
}

.trade-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.trade-detail-metric {
  display: grid;
  gap: 7px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(191, 219, 254, 0.56);
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.06), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.05);
}

.trade-detail-metric span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.trade-detail-metric strong {
  color: var(--ink);
  font-size: 0.95rem;
  line-height: 1.4;
}

.trade-detail-note {
  display: grid;
  gap: 9px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(191, 219, 254, 0.5);
  background:
    radial-gradient(circle at top left, rgba(45, 212, 191, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
}

.trade-detail-path {
  display: grid;
  gap: 11px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(45, 212, 191, 0.3);
  background:
    linear-gradient(135deg, rgba(236, 254, 255, 0.92), rgba(239, 246, 255, 0.94)),
    #ffffff;
}

.trade-detail-path-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.trade-detail-path-head span,
.trade-detail-path-point span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
}

.trade-detail-path-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
}

.trade-detail-path-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 9px;
}

.trade-detail-path-point {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px 11px;
  border-radius: 12px;
  border: 1px solid rgba(191, 219, 254, 0.62);
  background: rgba(255, 255, 255, 0.88);
}

.trade-detail-path-point strong {
  color: var(--ink);
  font-size: 1rem;
}

.trade-detail-path-point small {
  color: var(--muted);
  line-height: 1.35;
}

.trade-detail-note span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.trade-detail-note p {
  margin: 0;
  color: var(--ink);
  font-size: 0.95rem;
  line-height: 1.65;
}

.trade-detail-guard-rules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.trade-detail-guard-rule {
  display: grid;
  gap: 4px;
  padding: 10px 11px;
  border-radius: 13px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.84);
}

.trade-detail-guard-rule.is-block {
  border-color: rgba(239, 68, 68, 0.24);
  background: rgba(254, 242, 242, 0.88);
}

.trade-detail-guard-rule.is-warn {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(255, 251, 235, 0.9);
}

.trade-detail-guard-rule.is-allow {
  border-color: rgba(20, 184, 166, 0.24);
  background: rgba(240, 253, 250, 0.86);
}

.trade-detail-guard-rule strong {
  color: var(--ink);
  font-size: 0.88rem;
}

.trade-detail-guard-rule span,
.trade-detail-guard-rule small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.panel-head-actions {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 768px) {
  .trade-detail-modal {
    padding: 10px;
  }

  .trade-detail-card {
    max-height: calc(100vh - 20px);
    padding: 14px;
    border-radius: 20px;
  }

  .trade-detail-grid {
    grid-template-columns: 1fr;
  }

  .trade-insight-summary,
  .trade-insight-detail-grid,
  .trade-insight-algorithm {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trade-insight-leg {
    grid-template-columns: auto minmax(140px, 1fr);
  }

  .trade-insight-trail {
    min-width: 560px;
  }

  .trade-insight-panel.is-trailing {
    overflow-x: auto;
  }
}

.positive-text {
  color: var(--emerald);
}

.negative-text {
  color: var(--crimson);
}

.muted-text {
  color: var(--muted);
}

.empty-state {
  position: relative;
  z-index: 1;
  padding: 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 1px dashed var(--border);
  color: var(--muted);
}

.loss-control-page {
  display: grid;
  gap: 18px;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.loss-control-filter-form {
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: end;
}

.loss-guard-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}

.loss-guard-form label {
  display: grid;
  gap: 8px;
}

.loss-guard-form label span {
  font-size: 0.9rem;
  color: var(--muted);
}

.loss-toggle-field {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  min-height: 74px;
  padding: 13px;
  border-radius: 16px;
  border: 1px solid rgba(203, 213, 225, 0.72);
  background: #ffffff;
}

.loss-toggle-field input {
  width: 18px;
  height: 18px;
  margin: 3px 0 0;
  accent-color: var(--accent);
}

.loss-toggle-field span {
  display: grid;
  gap: 3px;
}

.loss-toggle-field strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.loss-toggle-field small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.loss-guard-actions {
  align-self: end;
}

.loss-impact-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.loss-impact-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.3fr);
  gap: 14px;
  margin-top: 14px;
}

.loss-impact-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.loss-impact-card-head,
.loss-impact-rule,
.loss-impact-example {
  display: grid;
  gap: 10px;
  align-items: center;
}

.loss-impact-card-head {
  grid-template-columns: minmax(0, 1fr) auto;
}

.loss-impact-card-head strong {
  color: var(--ink);
}

.loss-impact-card-head span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.loss-impact-rule-list,
.loss-impact-example-list {
  display: grid;
  gap: 8px;
}

.loss-impact-rule {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid rgba(203, 213, 225, 0.72);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.86);
}

.loss-impact-rule span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 850;
}

.loss-impact-rule strong {
  color: var(--ink);
  font-size: 1rem;
}

.loss-impact-example {
  grid-template-columns: minmax(130px, 0.75fr) minmax(0, 1.35fr) minmax(88px, auto);
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid rgba(203, 213, 225, 0.72);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.86);
}

.loss-impact-example div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.loss-impact-example span,
.loss-impact-example small {
  overflow: hidden;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.loss-impact-example strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.94rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.loss-impact-example b {
  justify-self: end;
  white-space: nowrap;
}

.loss-impact-note {
  margin: 13px 0 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 750;
}

.loss-research-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.loss-entry-path-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.loss-timing-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.loss-research-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.loss-research-card-list {
  display: grid;
  gap: 9px;
}

.loss-research-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(203, 213, 225, 0.72);
  border-radius: 14px;
  background: rgba(248, 250, 252, 0.86);
}

.loss-research-card.is-danger {
  border-color: rgba(185, 28, 28, 0.22);
  background: rgba(254, 242, 242, 0.9);
}

.loss-research-card.is-warning {
  border-color: rgba(180, 83, 9, 0.22);
  background: rgba(255, 251, 235, 0.9);
}

.loss-research-card.is-success {
  border-color: rgba(15, 118, 110, 0.2);
  background: rgba(240, 253, 250, 0.9);
}

.loss-research-card div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.loss-research-card strong,
.loss-research-card small,
.loss-research-card p {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.loss-research-card strong {
  color: var(--ink);
  font-size: 0.94rem;
}

.loss-research-card small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
}

.loss-research-card p {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.42;
}

.loss-health-card.is-stable {
  background: linear-gradient(135deg, rgba(15, 118, 110, 0.1), #ffffff 82%);
  border-color: rgba(15, 118, 110, 0.2);
}

.loss-health-card.is-warning {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.14), #ffffff 82%);
  border-color: rgba(180, 83, 9, 0.24);
}

.loss-health-card.is-danger {
  background: linear-gradient(135deg, rgba(220, 38, 38, 0.12), #ffffff 82%);
  border-color: rgba(185, 28, 28, 0.24);
}

.loss-recommendation-list,
.loss-phase-grid {
  display: grid;
  gap: 12px;
}

.loss-recommendation-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.loss-recommendation-card,
.loss-phase-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
}

.loss-recommendation-card {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
}

.loss-recommendation-card h3,
.loss-recommendation-card p {
  margin: 0;
}

.loss-recommendation-card h3 {
  font-size: 1rem;
}

.loss-recommendation-card p {
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.45;
}

.loss-recommendation-card.is-danger,
.loss-phase-card.is-danger {
  border-color: rgba(185, 28, 28, 0.24);
  background: linear-gradient(135deg, rgba(254, 242, 242, 0.94), #ffffff 78%);
}

.loss-recommendation-card.is-warning,
.loss-phase-card.is-warning {
  border-color: rgba(180, 83, 9, 0.24);
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.94), #ffffff 78%);
}

.loss-recommendation-card.is-success,
.loss-phase-card.is-stable {
  border-color: rgba(15, 118, 110, 0.22);
  background: linear-gradient(135deg, rgba(240, 253, 250, 0.94), #ffffff 78%);
}

.loss-risk-pill,
.loss-action-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.loss-risk-pill.is-danger {
  background: #fee2e2;
  color: #991b1b;
}

.loss-risk-pill.is-warning {
  background: #fef3c7;
  color: #92400e;
}

.loss-risk-pill.is-stable,
.loss-risk-pill.is-success {
  background: #ccfbf1;
  color: #115e59;
}

.loss-risk-pill.is-info,
.loss-risk-pill.is-empty {
  background: #e2e8f0;
  color: #475569;
}

.loss-action-label {
  background: #eff6ff;
  color: var(--accent-deep);
}

.loss-phase-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.loss-phase-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.loss-phase-head strong {
  font-size: 1.35rem;
  line-height: 1;
}

.loss-phase-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.loss-mini-metric {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border-radius: 12px;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(203, 213, 225, 0.72);
}

.loss-mini-metric small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.loss-mini-metric strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.loss-control-table {
  min-width: 760px;
}

.loss-daily-table {
  min-width: 980px;
}

.loss-control-table th,
.loss-control-table td {
  vertical-align: top;
}

.loss-control-table .signal-label-chip {
  min-width: 118px;
}

.loss-risk-row.is-danger td:first-child {
  border-left: 4px solid #dc2626;
}

.loss-risk-row.is-warning td:first-child {
  border-left: 4px solid #0d9488;
}

.loss-risk-row.is-stable td:first-child {
  border-left: 4px solid #0f766e;
}

.loss-control-bottom-grid {
  align-items: start;
}

.empty-row {
  color: var(--muted);
  text-align: center;
  padding: 18px;
}

@media (max-width: 980px) {
  .loss-control-filter-form,
  .loss-guard-form,
  .loss-impact-grid,
  .loss-impact-layout,
  .loss-research-summary-grid,
  .loss-timing-grid,
  .loss-entry-path-grid,
  .loss-research-grid,
  .loss-recommendation-list,
  .loss-phase-grid,
  .loss-control-bottom-grid {
    grid-template-columns: 1fr;
  }

  .loss-recommendation-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .loss-phase-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .loss-phase-head {
    display: grid;
  }

  .loss-impact-example {
    grid-template-columns: 1fr;
  }

  .loss-research-card {
    grid-template-columns: 1fr;
  }

  .loss-impact-example b {
    justify-self: start;
  }
}

.flow-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.flow-step,
.flow-lane-card {
  display: grid;
  gap: 10px;
}

.flow-step p,
.flow-lane-card p {
  margin: 0;
  line-height: 1.6;
  color: var(--muted);
}

code {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eff6ff;
  border: 1px solid rgba(37, 99, 235, 0.14);
  color: var(--accent-deep);
  font-family: "Cascadia Code", "Consolas", monospace;
  font-size: 0.88em;
}

.flow-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
  color: #ffffff;
  font-weight: 700;
}

.flow-lane-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.guide-page .panel {
  overflow: hidden;
}

.guide-hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: 18px;
  align-items: stretch;
  background:
    radial-gradient(circle at top left, rgba(20, 184, 166, 0.14), transparent 30%),
    radial-gradient(circle at 85% 12%, rgba(245, 158, 11, 0.12), transparent 26%),
    rgba(255, 255, 255, 0.96);
}

.guide-hero-copy,
.guide-note-card,
.guide-card,
.guide-timeline article,
.guide-action-list article,
.guide-example-box {
  position: relative;
  z-index: 1;
}

.guide-hero-copy h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  letter-spacing: -0.04em;
}

.guide-hero-copy p:last-child {
  max-width: 840px;
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.7;
}

.guide-note-card {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 20px;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(15, 118, 110, 0.12), rgba(37, 99, 235, 0.08)),
    #ffffff;
  border: 1px solid rgba(15, 118, 110, 0.16);
  box-shadow: var(--shadow-soft);
}

.guide-note-card strong {
  font-family: var(--font-display);
  font-size: 1.45rem;
}

.guide-note-card span,
.guide-card p,
.guide-timeline p,
.guide-action-list p,
.guide-example-box p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.guide-timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.guide-timeline article,
.guide-card,
.guide-action-list article,
.guide-example-box {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.92)),
    #ffffff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}

.guide-timeline article span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #2563eb, #0f766e);
  font-weight: 900;
}

.guide-timeline h3,
.guide-card h3,
.guide-action-list h3,
.guide-example-box h3 {
  margin: 0;
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

.guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.guide-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.guide-action-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.guide-flow-strip {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}

.guide-flow-strip span {
  display: inline-flex;
  align-items: center;
  padding: 10px 13px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(20, 184, 166, 0.1);
  border: 1px solid rgba(15, 118, 110, 0.14);
  font-weight: 900;
}

.guide-table-wrap {
  position: relative;
  z-index: 1;
  overflow-x: auto;
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}

.guide-table {
  min-width: 1180px;
}

.guide-table td:first-child {
  font-weight: 900;
  color: var(--ink);
}

.reveal {
  animation: revealUp 420ms ease both;
}

@keyframes revealUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1480px) {
  .metric-grid-seven,
  .performance-watch-grid,
  .lab-status-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .watcher-limit-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lab-training-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lab-candidate-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guide-timeline,
  .guide-grid-four {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .strategy-section-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .live-feed-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

}

@media (max-width: 1280px) {
  .dashboard-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-performance-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .market-card-row {
    grid-template-columns: 1fr 1fr;
  }

  .market-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .market-side-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .dashboard-status-grid,
  .dashboard-performance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1120px) {
  body[data-auth-state="logged-out"] {
    overflow: auto;
  }

  body[data-auth-state="logged-out"] .page-shell {
    height: auto;
    min-height: 100vh;
  }

  .hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero-right {
    width: 100%;
    justify-content: space-between;
  }

  .broker-layout,
  .broker-modal-shell,
  .lab-hero-panel,
  .guide-hero-panel,
  .flow-board,
  .flow-lane-grid {
    grid-template-columns: 1fr;
  }

  .broker-modal-rail,
  .broker-modal-workspace {
    width: 100%;
  }

  .broker-modal-static .broker-modal-card,
  .broker-modal-static .broker-modal-scroll,
  .broker-modal-static .broker-modal-shell,
  .broker-modal-static .broker-modal-rail,
  .broker-modal-static .broker-modal-workspace {
    overflow: visible;
    height: auto;
    max-height: none;
  }

  .broker-modal-card {
    overflow: hidden;
  }

  .broker-modal .broker-dock,
  .broker-modal-shell,
  .broker-modal-rail,
  .broker-modal-workspace {
    height: auto;
    overflow: visible;
  }

  .metric-grid-wide,
  .dashboard-summary-grid,
  .metric-grid-four,
  .metric-grid-seven,
  .performance-watch-grid,
  .strategy-section-grid,
  .broker-status-bar,
  .broker-dock-grid,
  .broker-form,
  .broker-form.broker-dock-form,
  .broker-state-stack,
  .diagnostic-grid,
  .diagnostic-detail-grid,
  .filter-form,
  .lab-filter-form,
  .lab-candidate-grid,
  .lab-training-grid,
  .guide-timeline,
  .guide-grid,
  .guide-grid-four,
  .guide-action-list,
  .login-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lab-help-text {
    max-width: none;
    text-align: left;
  }

  .live-feed-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .watcher-limit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .broker-modal-summary {
    grid-column: 1 / -1;
  }

  .broker-modal-summary {
    grid-template-columns: 1fr;
  }

  .broker-field-grid-execution,
  .broker-field-grid-safety,
  .broker-field-grid-runtime,
  .trading-rules-summary,
  .broker-action-panel,
  .zerodha-execution-status-grid,
  .zerodha-execution-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .broker-actions button {
    min-width: 0;
  }

  .login-shell {
    min-height: auto;
    padding: 24px 0;
  }

  .login-stage {
    grid-template-columns: 1fr;
    grid-template-areas:
      "brand"
      "card"
      "preview"
      "support";
    justify-items: center;
    text-align: center;
  }

  .login-brand {
    justify-items: center;
    text-align: center;
  }

  .login-copy {
    max-width: 720px;
  }

  .login-pill-row {
    justify-content: center;
  }

  .login-card {
    justify-self: center;
  }

  .login-preview,
  .login-support-grid {
    width: min(760px, 100%);
    max-width: 760px;
  }

}

@media (max-width: 760px) {
  .page-shell {
    padding: 18px 14px 30px;
  }

  .app-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 16px 18px;
  }

  .app-footer-copy {
    min-width: 0;
    text-align: left;
  }

  .broker-modal {
    padding: 8px;
  }

  .broker-modal-card {
    height: calc(100vh - 16px);
    max-height: none;
    padding: 10px;
    border-radius: 20px;
  }

  .broker-modal-head {
    gap: 12px;
  }

  .broker-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
  }

  .hero-right,
  .hero-nav,
  .overview-header,
  .broker-modal-head,
  .overview-actions,
  .table-panel-head,
  .dashboard-trade-actions,
  .market-actions,
  .broker-actions,
  .filter-actions,
  .strategy-topline,
  .market-card-header,
  .market-chart-head {
    flex-direction: column;
    align-items: stretch;
  }

  .market-chart-toolbar,
  .market-option-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .market-option-meta-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .metric-grid-wide,
  .metric-grid-four,
  .metric-grid-seven,
  .performance-watch-grid,
  .lab-status-grid,
  .strategy-list,
  .broker-status-bar,
  .broker-dock-grid,
  .broker-modal-shell,
  .broker-field-grid,
  .broker-field-grid-execution,
  .broker-field-grid-safety,
  .broker-field-grid-runtime,
  .trading-rules-summary,
  .broker-action-panel,
  .zerodha-execution-status-grid,
  .zerodha-execution-actions,
  .broker-state-stack,
  .diagnostic-grid,
  .diagnostic-detail-grid,
  .filter-form,
  .lab-filter-form,
  .lab-candidate-grid,
  .lab-training-grid,
  .guide-hero-panel,
  .guide-timeline,
  .guide-grid,
  .guide-grid-four,
  .guide-action-list,
  .login-support-grid,
  .market-detail-grid,
  .market-side-detail-grid,
  .broker-form,
  .broker-form.broker-dock-form,
  .strategy-actions,
  .broker-toggle-row,
  .watcher-limit-grid,
  .live-feed-metrics {
    grid-template-columns: 1fr;
  }

  .dashboard-engine-actions {
    grid-template-columns: 1fr;
  }

  .compact-panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  .broker-dock-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .broker-provider-row {
    justify-content: flex-start;
  }

  .broker-modal .broker-provider-row,
  .broker-modal .broker-actions {
    grid-template-columns: 1fr;
  }

  .performance-watch-grid .metric-card-wide {
    grid-column: auto;
  }

  .broker-form.broker-dock-form .form-wide {
    grid-column: 1;
  }

  .market-primary-metric,
  .info-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .chart-label-block.align-right {
    text-align: left;
  }

  .market-option-stats {
    justify-content: flex-start;
  }

  .option-chart-card-head {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .option-card-inline-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .option-timeframe-tabs {
    width: fit-content;
  }

  .live-feed-strip-head {
    flex-direction: column;
  }

  .login-shell {
    min-height: auto;
    padding: 24px 0 8px;
  }

  .login-stage {
    gap: 14px;
  }

  .login-brand h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .login-preview-chart {
    height: 126px;
    gap: 8px;
  }

  .login-preview-grid,
  .login-preview-ribbon {
    grid-template-columns: 1fr;
  }

  .login-preview-ribbon strong {
    justify-self: center;
  }
}

@media (max-width: 1240px) {
  .broker-role-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .strategy-library-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-family-head {
    grid-template-columns: 1fr;
  }

  .strategy-family-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-editor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .strategy-filter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-library-preview-head,
  .strategy-page-head,
  .strategy-library-head,
  .strategy-library-row,
  .strategy-library-row-top {
    align-items: stretch;
    flex-direction: column;
  }

  .strategy-library-row {
    grid-template-columns: 1fr;
  }

  .strategy-library-row-actions {
    flex-direction: row;
    min-width: 0;
  }

  .strategy-family-primary-node {
    grid-template-columns: 1fr;
  }

  .strategy-family-primary-pin {
    min-height: auto;
    justify-self: start;
    writing-mode: initial;
    transform: none;
  }

  .strategy-family-branch-row {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px;
  }

  .strategy-family-branch-row::before {
    left: 21px;
  }

  .strategy-family-branch-row::after {
    left: 21px;
    width: 23px;
  }
}

@media (max-width: 720px) {
  .broker-role-strip {
    grid-template-columns: 1fr;
  }

  .strategy-summary-grid,
  .strategy-library-summary-grid,
  .strategy-filter-form,
  .strategy-editor-grid {
    grid-template-columns: 1fr;
  }

  .strategy-editor-span-2 {
    grid-column: span 1;
  }

  .strategy-library-row-badges,
  .strategy-library-preview-head,
  .strategy-editor-footer {
    justify-content: flex-start;
  }

  .strategy-library-row-actions {
    flex-direction: column;
  }

  .strategy-family-metrics {
    grid-template-columns: 1fr;
  }

  .strategy-family-card {
    padding: 12px;
  }

  .strategy-family-head,
  .strategy-family-children > summary {
    padding: 12px;
  }
}

.market-option-inline.is-positive {
  border-color: rgba(5, 150, 105, 0.2);
  background: rgba(5, 150, 105, 0.08);
  color: #047857;
}

.market-option-inline.is-warning {
  border-color: rgba(217, 119, 6, 0.24);
  background: rgba(217, 119, 6, 0.1);
  color: #9a4f0d;
}

.market-option-inline.is-neutral {
  border-color: rgba(100, 116, 139, 0.18);
  background: rgba(248, 250, 252, 0.9);
  color: #475569;
}

/* Lighter authenticated refinement and contrast corrections. */
body[data-auth-state="authenticated"] {
  --bg: #1b1326;
  --panel: #2b1f38;
  --panel-strong: #372848;
  --panel-soft: #402f52;
  --border: #5a456f;
  --border-strong: #705789;
  --ink: #fffaff;
  --muted: #c7bfd1;
  --muted-soft: #a89db5;
  background: #1b1326;
}

body[data-auth-state="authenticated"] .page-shell {
  background:
    radial-gradient(circle at 86% 4%, rgba(192, 132, 252, 0.16), transparent 25%),
    radial-gradient(circle at 8% 42%, rgba(236, 72, 153, 0.075), transparent 28%),
    linear-gradient(180deg, #1b1326 0%, #22172d 100%);
}

body[data-auth-state="authenticated"] .hero {
  background: #110b19;
  border-bottom-color: #382746;
}

body[data-auth-state="authenticated"] .hero-nav {
  border-color: #49375b;
  background: #251832;
}

body[data-auth-state="authenticated"] .nav-link {
  color: #d0c6d8;
  background: #342542;
}

body[data-auth-state="authenticated"] .nav-link:hover {
  border-color: #75528f;
  background: #423052;
}

body[data-auth-state="authenticated"] .panel {
  background: #2b1f38;
  border-color: #5a456f;
}

body[data-auth-state="authenticated"] :is(
  .metric-card,
  .strategy-card,
  .broker-summary-card,
  .broker-form-card,
  .flow-step,
  .flow-lane-card,
  .chart-card,
  .guide-card,
  .guide-timeline article,
  .guide-action-list article,
  .guide-example-box,
  .detail-tile,
  .strategy-history-overview-card,
  .daily-report-overview article,
  .daily-report-streaks article
) {
  background: #372848;
  border-color: #644d7a;
}

body[data-auth-state="authenticated"] :is(input, select, textarea) {
  color: #fffaff;
  border-color: #5a456f;
  background: #2f223d;
}

body[data-auth-state="authenticated"] :is(input, select, textarea):focus {
  background: #382748;
}

body[data-auth-state="authenticated"] .trade-table-filter-form {
  border-color: #342a43;
  background: linear-gradient(135deg, rgba(38, 29, 51, 0.96), rgba(27, 21, 37, 0.96));
}

body[data-auth-state="authenticated"] table {
  background: #2b1f38;
}

body[data-auth-state="authenticated"] table th {
  color: #d5ccdd;
  border-color: #554269;
  background: #3d2d4e;
}

body[data-auth-state="authenticated"] table td {
  color: #f3edf7;
  border-color: #443453;
}

body[data-auth-state="authenticated"] table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.032);
}

body[data-auth-state="authenticated"] table tbody tr:hover {
  background: rgba(192, 132, 252, 0.12);
}

body[data-auth-state="authenticated"] .app-footer {
  display: grid;
  gap: 0;
  margin-top: 34px;
  padding: 0;
  overflow: hidden;
  color: #d7cedf;
  border: 1px solid #513d65;
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 20%, rgba(168, 85, 247, 0.16), transparent 25%),
    linear-gradient(135deg, #24172f, #1c1426 56%, #291735);
  box-shadow: none;
}

body[data-auth-state="authenticated"] .daily-report-overview {
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 9px;
}

body[data-auth-state="authenticated"] .daily-report-overview article {
  position: relative;
  min-height: 112px;
  overflow: hidden;
  padding: 14px 15px;
  border-color: var(--theme-border, #392e48);
  background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 9%, var(--theme-card, #211a2c)), var(--theme-card, #211a2c));
  box-shadow: inset 3px 0 0 var(--theme-accent, #8b5cf6);
}

body[data-auth-state="authenticated"] .daily-report-overview article.positive-text,
body[data-auth-state="authenticated"] .daily-report-overview article.is-strong {
  box-shadow: inset 3px 0 0 var(--emerald);
}

body[data-auth-state="authenticated"] .daily-report-overview article.negative-text,
body[data-auth-state="authenticated"] .daily-report-overview article.is-weak {
  box-shadow: inset 3px 0 0 var(--crimson);
}

body[data-auth-state="authenticated"] .daily-report-overview article.is-balanced {
  box-shadow: inset 3px 0 0 var(--amber);
}

body[data-auth-state="authenticated"] .daily-report-overview article > span {
  min-height: 0;
  color: var(--theme-muted, var(--muted));
  letter-spacing: .055em;
}

body[data-auth-state="authenticated"] .daily-report-overview article > strong {
  display: block;
  width: auto;
  margin-top: 11px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 1.02rem;
  line-height: 1.15;
}

body[data-auth-state="authenticated"] .daily-report-overview article > small {
  margin-top: 8px;
  color: var(--theme-muted, var(--muted));
  font-size: .7rem;
}

body[data-auth-state="authenticated"] .daily-report-streaks article {
  min-height: 102px;
  padding: 15px 17px;
  background: linear-gradient(110deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 9%, var(--theme-card, #211a2c)), var(--theme-card, #211a2c));
}

body[data-auth-state="authenticated"] .daily-report-streaks article.is-green { border-left-color: var(--emerald); }
body[data-auth-state="authenticated"] .daily-report-streaks article.is-red { border-left-color: var(--crimson); }
body[data-auth-state="authenticated"] .daily-report-streaks article.is-flat { border-left-color: var(--theme-accent, var(--accent)); }

body[data-auth-state="authenticated"] .daily-report-chart-panel {
  overflow: hidden;
  border-top: 2px solid var(--theme-accent, var(--accent));
}

body[data-auth-state="authenticated"] .daily-report-chart-panel > .panel-head {
  margin: -20px -20px 12px;
  padding: 18px 20px 15px;
  border-bottom: 1px solid var(--theme-border, var(--border));
  background: linear-gradient(100deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 13%, var(--theme-panel, var(--panel))), var(--theme-panel, var(--panel)) 58%);
}

body[data-auth-state="authenticated"] .daily-report-chart-panel.is-negative { border-top-color: var(--crimson); }
body[data-auth-state="authenticated"] .daily-report-chart-panel.is-positive { border-top-color: var(--emerald); }
body[data-auth-state="authenticated"] .daily-report-chart-panel.is-negative .daily-chart-legend i { background: var(--crimson); }
body[data-auth-state="authenticated"] .daily-report-chart-panel.is-positive .daily-chart-legend i { background: var(--emerald); }

body[data-auth-state="authenticated"] .app-footer::before {
  inset: 0 0 auto;
  width: auto;
  height: 3px;
  background: linear-gradient(90deg, #7c3aed, #c026d3 48%, #ec4899);
}

.app-footer-main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 1.15fr) minmax(340px, 1.4fr) minmax(220px, 0.75fr);
  align-items: center;
  gap: 28px;
  padding: 28px 30px 24px;
}

.app-footer-identity {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 14px;
}

.app-footer-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 128px;
  height: 58px;
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 15px;
  background: #ffffff;
  text-decoration: none;
}

.app-footer-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.app-footer-brand-copy strong,
.app-footer-brand-copy small {
  display: block;
}

.app-footer-brand-copy strong {
  color: #fffaff;
  font-size: 1.02rem;
}

.app-footer-brand-copy small {
  max-width: 290px;
  margin-top: 5px;
  color: #bdb3c8;
  line-height: 1.45;
}

.app-footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
}

.app-footer-links a,
.app-footer-bottom a {
  color: #d8cee1;
  text-decoration: none;
}

.app-footer-links a {
  padding: 9px 12px;
  border: 1px solid #543d68;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.045);
  font-size: 0.8rem;
  font-weight: 800;
}

.app-footer-links a:hover,
.app-footer-bottom a:hover {
  color: #ffffff;
  border-color: #a855f7;
}

.app-footer-status {
  display: grid;
  justify-items: end;
  gap: 7px;
  text-align: right;
}

.app-footer-status span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid rgba(52, 211, 153, 0.24);
  border-radius: 999px;
  color: #a7f3d0;
  background: rgba(6, 78, 59, 0.22);
  font-size: 0.76rem;
  font-weight: 850;
}

.app-footer-status i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #34d399;
}

.app-footer-status small {
  color: #a99db5;
}

.app-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 30px;
  color: #a99db5;
  border-top: 1px solid #463554;
  background: rgba(8, 5, 12, 0.22);
  font-size: 0.8rem;
  font-weight: 750;
}

.app-footer-bottom > div {
  display: flex;
  gap: 18px;
}

/* High-contrast fixes for legacy components that used light-theme text. */
body[data-auth-state="authenticated"] .signal-label-chip {
  color: #e0e7ff;
  border-color: rgba(129, 140, 248, 0.38);
  background:
    radial-gradient(circle at top left, rgba(129, 140, 248, 0.18), transparent 48%),
    #26314d;
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row {
  color: #fffaff;
  background: linear-gradient(90deg, rgba(126, 34, 206, 0.42), rgba(76, 29, 149, 0.3)) !important;
  box-shadow:
    inset 4px 0 0 #c084fc,
    inset 0 1px 0 rgba(192, 132, 252, 0.3),
    inset 0 -1px 0 rgba(192, 132, 252, 0.3);
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row td {
  color: #fffaff;
  background: transparent;
  border-bottom-color: rgba(192, 132, 252, 0.34);
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row :is(small, span:not(.pill):not(.exit-reason-pill)) {
  color: #ddd3e7;
}

body[data-auth-state="authenticated"] .exit-reason-pill.is-positive {
  color: #6ee7b7;
  border-color: rgba(52, 211, 153, 0.42);
  background: rgba(6, 95, 70, 0.3);
}

body[data-auth-state="authenticated"] .exit-reason-pill.is-negative {
  color: #fda4af;
  border-color: rgba(251, 113, 133, 0.42);
  background: rgba(136, 19, 55, 0.34);
}

body[data-auth-state="authenticated"] .exit-reason-pill.is-warning {
  color: #fde68a;
  border-color: rgba(251, 191, 36, 0.42);
  background: rgba(120, 53, 15, 0.34);
}

body[data-auth-state="authenticated"] .exit-reason-pill.is-info {
  color: #bfdbfe;
  border-color: rgba(96, 165, 250, 0.42);
  background: rgba(30, 64, 175, 0.32);
}

body[data-auth-state="authenticated"] .loss-control-bottom-grid {
  grid-column: 1 / -1;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-auth-state="authenticated"] .strategy-history-node.is-current .strategy-history-node-card,
body[data-auth-state="authenticated"] .strategy-history-node-card {
  color: #fffaff;
  border-color: #58416d;
  background:
    radial-gradient(circle at 96% 4%, rgba(52, 211, 153, 0.08), transparent 25%),
    #2a2037;
}

body[data-auth-state="authenticated"] .strategy-history-node-card header p,
body[data-auth-state="authenticated"] .strategy-history-node-card header small {
  color: #c7bfd1;
}

body[data-auth-state="authenticated"] .strategy-history-inherited {
  color: #efe7f5;
  border-color: rgba(192, 132, 252, 0.42);
  background: #342642;
}

body[data-auth-state="authenticated"] .strategy-history-inherited span {
  color: #d8b4fe;
}

body[data-auth-state="authenticated"] .strategy-history-inherited small {
  color: #bfb4c9;
}

body[data-auth-state="authenticated"] .strategy-history-node-section > summary,
body[data-auth-state="authenticated"] .strategy-history-daily > summary {
  color: #e9e1ef;
}

body[data-auth-state="authenticated"] .strategy-history-node-section > summary span,
body[data-auth-state="authenticated"] .strategy-history-daily > summary span {
  color: #e9d5ff;
  background: #3b2a4a;
}

body[data-auth-state="authenticated"] .note-paper {
  color: #1f2937;
  border-color: #c4b5fd;
  background: linear-gradient(135deg, #faf8ff 0%, #eef2ff 52%, #fdf4ff 100%);
  box-shadow: none;
}

body[data-auth-state="authenticated"] .note-editor {
  color: #111827;
}

body[data-auth-state="authenticated"] .note-editor :where(
  p,
  div,
  span,
  li,
  strong,
  b,
  em,
  i,
  u
) {
  color: #111827 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body[data-auth-state="authenticated"] .note-editor a {
  color: #1d4ed8 !important;
  opacity: 1 !important;
}

body[data-auth-state="authenticated"] .note-editor:empty::before {
  color: #64748b;
}

body[data-auth-state="authenticated"] .note-inline-check {
  color: #fffaff;
  border-color: #6d4f87;
  background: #3a2a4a;
}

body[data-auth-state="authenticated"] .config-chip {
  color: #eadff2;
  border-color: #5f4775;
  background: #3a2a49;
}

body[data-auth-state="authenticated"] .strategy-family-children {
  color: #f7f1fb;
  border-color: #5b4670;
  background: transparent;
}

body[data-auth-state="authenticated"] .strategy-family-head,
body[data-auth-state="authenticated"] .strategy-family-children > summary,
body[data-auth-state="authenticated"] .strategy-family-metric,
body[data-auth-state="authenticated"] .strategy-library-relation-note {
  color: #fffaff;
  border-color: #5b4670;
  background: #31243f;
}

body[data-auth-state="authenticated"] .strategy-family-title small,
body[data-auth-state="authenticated"] .strategy-family-metric small,
body[data-auth-state="authenticated"] .strategy-library-relation-note {
  color: #d8cde3;
}

body[data-auth-state="authenticated"] .strategy-family-metric strong,
body[data-auth-state="authenticated"] .strategy-family-title strong {
  color: #ffffff;
}

body[data-auth-state="authenticated"] .strategy-library-row.is-primary-node {
  border-color: rgba(45, 212, 191, 0.38);
  background:
    radial-gradient(circle at 100% 0%, rgba(45, 212, 191, 0.12), transparent 34%),
    #263641;
}

body[data-auth-state="authenticated"] .strategy-library-row.is-sub-node {
  border-color: #5b4670;
  background: #261d32;
}

body[data-auth-state="authenticated"] .strategy-node-role,
body[data-auth-state="authenticated"] .strategy-family-title > span,
body[data-auth-state="authenticated"] .strategy-family-primary-pin {
  color: #f4eaff;
  border-color: #775b93;
  background: #4b315e;
}

body[data-auth-state="authenticated"] .strategy-node-role.is-primary,
body[data-auth-state="authenticated"] .strategy-family-title > span,
body[data-auth-state="authenticated"] .strategy-family-primary-pin {
  color: #ccfbf1;
  border-color: rgba(45, 212, 191, 0.44);
  background: rgba(15, 118, 110, 0.34);
}

body[data-auth-state="authenticated"] .strategy-node-role.is-source {
  color: #fed7aa;
  border-color: rgba(251, 146, 60, 0.42);
  background: rgba(154, 52, 18, 0.34);
}

body[data-auth-state="authenticated"] .strategy-node-role.is-ref,
body[data-auth-state="authenticated"] .strategy-node-role.is-bt {
  color: #dbeafe;
  border-color: rgba(96, 165, 250, 0.42);
  background: rgba(30, 64, 175, 0.34);
}

body[data-auth-state="authenticated"] .strategy-family-branch-row::before,
body[data-auth-state="authenticated"] .strategy-family-branch-row::after {
  background: rgba(216, 180, 254, 0.34);
}

body[data-auth-state="authenticated"] .strategy-family-branch-rail span {
  color: #ccfbf1;
  border-color: #211a2c;
  background: #0f766e;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .strategy-family-branch-row.is-source .strategy-family-branch-rail span {
  color: #ffedd5;
  background: #9a3412;
}

body[data-auth-state="authenticated"] .strategy-family-branch-row.is-ref .strategy-family-branch-rail span,
body[data-auth-state="authenticated"] .strategy-family-branch-row.is-bt .strategy-family-branch-rail span {
  color: #dbeafe;
  background: #1d4ed8;
}

body[data-auth-state="authenticated"] .strategy-family-children > summary::after {
  color: #e9d5ff;
  background: #4b315e;
}

body[data-auth-state="authenticated"] .strategy-entry-rule-pill {
  color: #f3edf7;
  border-color: #5f4775;
  background: #3a2a49;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .strategy-entry-rule-pill :is(strong, span) {
  color: #e5dbea;
}

body[data-auth-state="authenticated"] .strategy-library-group {
  border-color: #523f65;
  background:
    radial-gradient(circle at top right, rgba(168, 85, 247, 0.1), transparent 28%),
    #281d35;
}

body[data-auth-state="authenticated"] .strategy-library-row {
  color: #fffaff;
  background: #2d223a;
  border-color: #533f67;
}

body[data-auth-state="authenticated"] .strategy-library-row.is-disabled {
  background: #251b30;
}

body[data-auth-state="authenticated"] .strategy-library-row-summary,
body[data-auth-state="authenticated"] .strategy-library-row-id {
  color: #c7bfd1;
}

@media (max-width: 1100px) {
  .app-footer-main {
    grid-template-columns: minmax(260px, 1fr) minmax(280px, 1fr);
  }

  .app-footer-status {
    grid-column: 1 / -1;
    justify-items: start;
    text-align: left;
  }
}

/* Guided Strategy Research: criterion-first refinement workspace. */
.guided-mode-switch { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid rgba(168, 132, 224, .3); border-radius: 14px; background: rgba(14, 10, 24, .68); }
.guided-mode-switch button { min-width: 94px; padding: 9px 15px; border: 0; border-radius: 10px; color: #bdb1d1; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.guided-mode-switch button.is-active { color: #fff; background: linear-gradient(135deg, #7c48e8, #d83f9d); box-shadow: 0 8px 22px rgba(135, 66, 224, .24); }
.guided-workflow-strip { display: flex; align-items: center; gap: 10px; margin: 16px 0; overflow-x: auto; }
.guided-workflow-strip span { display: inline-flex; align-items: center; gap: 8px; min-width: max-content; padding: 8px 13px; border: 1px solid rgba(163, 125, 214, .24); border-radius: 999px; color: #bdb1d1; font-size: 12px; font-weight: 700; }
.guided-workflow-strip span b { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: #d5c5f5; background: rgba(128, 76, 211, .25); }
.guided-workflow-strip span.is-current { color: #fff; border-color: rgba(184, 107, 255, .55); background: rgba(110, 55, 169, .18); }
.guided-local-ranges { display: flex; align-items: center; gap: 7px; margin-top: 10px; }
.guided-local-ranges > span { margin-right: 3px; color: #9f90b2; font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.guided-local-ranges button { padding: 6px 11px; border: 1px solid rgba(159, 119, 207, .3); border-radius: 999px; color: #cbbdde; background: #171020; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.guided-local-ranges button.is-active { color: #fff; border-color: #9d58e5; background: #4e2d70; }
.guided-local-ranges small { margin-left: auto; color: #8f819e; }
.guided-research-panel { padding: 24px; border-color: rgba(143, 85, 223, .44); background: linear-gradient(150deg, rgba(31, 21, 48, .98), rgba(16, 12, 27, .99)); }
.guided-title-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid rgba(154, 122, 194, .2); }
.guided-title-row h2 { margin: 5px 0; color: #f8f4ff; font-size: 27px; }
.guided-title-row p { margin: 0; color: #ad9fbe; }
.guided-evidence-badges { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.guided-evidence-badges span { padding: 7px 11px; border: 1px solid rgba(161, 120, 219, .28); border-radius: 999px; color: #e8def5; background: #171120; font-size: 12px; font-weight: 800; }
.guided-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(520px, 1.6fr); gap: 16px; margin-top: 18px; }
.guided-rank-panel,.guided-focus-panel,.guided-trade-section,.guided-draft-panel { border: 1px solid rgba(159, 125, 201, .25); border-radius: 16px; background: rgba(29, 22, 42, .76); overflow: hidden; }
.guided-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 10px 14px; border-bottom: 1px solid rgba(159, 125, 201, .22); background: linear-gradient(90deg, rgba(82, 51, 125, .32), rgba(31, 23, 45, .65)); }
.guided-section-head > div:first-child { display: flex; align-items: center; gap: 10px; }
.guided-section-head > div:first-child > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #fff; background: linear-gradient(135deg, #6940ca, #c53e9e); font-size: 11px; font-weight: 900; }
.guided-section-head h3 { margin: 0; color: #f6f0ff; font-size: 15px; }
.guided-section-head small { color: #a99ab9; font-size: 11px; }
.guided-criterion-list { display: grid; gap: 7px; padding: 10px; max-height: 420px; overflow-y: auto; }
.guided-criterion-card { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; width: 100%; padding: 11px; border: 1px solid transparent; border-radius: 12px; color: #f5effc; text-align: left; background: rgba(15, 11, 24, .65); cursor: pointer; }
.guided-criterion-card:hover,.guided-criterion-card.is-selected { border-color: rgba(181, 105, 247, .67); background: rgba(89, 49, 132, .3); }
.guided-criterion-card.is-selected { box-shadow: inset 3px 0 #c84daf; }
.guided-rank { grid-row: span 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #c9a9ff; background: #2b1e3d; font-size: 11px; font-weight: 900; }
.guided-criterion-card strong,.guided-criterion-card small,.guided-change-mini { display: block; }
.guided-criterion-card strong { font-size: 13px; }.guided-criterion-card small { margin-top: 3px; color: #9f90b2; font-size: 10px; }
.guided-change-mini { grid-column: 2; margin-top: 3px; }.guided-change-mini b { color: #dfc9ff; font-size: 11px; }
.guided-focus-panel { min-height: 310px; }
.guided-explanation { margin: 14px; padding: 14px; border-left: 3px solid #a65bed; border-radius: 0 12px 12px 0; background: rgba(61, 39, 86, .3); }
.guided-explanation strong { color: #d8baff; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }.guided-explanation p { margin: 7px 0; color: #ede5f6; line-height: 1.55; }.guided-explanation small { color: #9f90b0; }
.guided-threshold-row { display: grid; grid-template-columns: 1fr auto 1.25fr auto; gap: 10px; align-items: end; margin: 14px; }
.guided-threshold-row > div,.guided-threshold-row label { display: grid; gap: 4px; }.guided-threshold-row span { color: #9c8cae; font-size: 10px; font-weight: 800; text-transform: uppercase; }.guided-threshold-row strong { color: #fff; font-size: 18px; }
.guided-threshold-row input { width: 100%; min-height: 39px; padding: 8px 10px; border: 1px solid rgba(174, 120, 225, .43); border-radius: 9px; color: #fff; background: #120d1d; font: inherit; font-weight: 800; }
.guided-threshold-row > i { align-self: center; color: #9d5ae8; font-style: normal; }
.guided-impact-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; padding: 0 14px 14px; }
.guided-impact { min-width: 0; padding: 8px 9px; border: 1px solid rgba(158, 120, 200, .2); border-radius: 10px; background: rgba(12, 9, 19, .55); }.guided-impact small,.guided-impact strong { display: block; }.guided-impact small { color: #9485a5; font-size: 9px; text-transform: uppercase; }.guided-impact strong { margin-top: 4px; color: #f7f1ff; font-size: 12px; }.guided-impact.is-positive strong { color: #32dfa3; }.guided-impact.is-negative strong { color: #ff6680; }.guided-impact.is-warning strong { color: #ffbf4d; }
.guided-trade-section,.guided-draft-panel { margin-top: 16px; }
.guided-section-head.is-trades { align-items: flex-start; }
.guided-trade-filters { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }.guided-trade-filters button { padding: 6px 9px; border: 1px solid rgba(159, 119, 207, .27); border-radius: 999px; color: #bfb1ce; background: #171020; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }.guided-trade-filters button.is-active { color: #fff; border-color: #9d58e5; background: #4e2d70; }.guided-trade-filters b { margin-left: 4px; }
.guided-trade-table-wrap { max-height: 510px; overflow: auto; }.guided-trade-table { width: 100%; border-collapse: collapse; white-space: nowrap; }.guided-trade-table th { position: sticky; top: 0; z-index: 2; padding: 9px 10px; color: #9e8db2; background: #171020; font-size: 9px; letter-spacing: .08em; text-align: left; text-transform: uppercase; }.guided-trade-table td { padding: 8px 10px; border-top: 1px solid rgba(151, 116, 185, .16); color: #e8dfef; font-size: 11px; }.guided-trade-table td small { display: block; margin-top: 2px; color: #8f7fa1; }.guided-trade-table tr.is-rejected { background: rgba(113, 37, 66, .13); }.guided-trade-table tr.is-unknown { background: rgba(119, 90, 31, .1); }
.guided-outcome,.guided-side,.guided-active-value { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-weight: 900; }.guided-outcome.is-win { color: #37e3a9; background: rgba(20, 123, 89, .19); }.guided-outcome.is-loss { color: #ff6d85; background: rgba(155, 49, 74, .19); }.guided-outcome.is-be { color: #e9bd58; background: rgba(150, 112, 29, .18); }.guided-side { color: #dcbcff; background: #2c1d40; }.guided-active-value { color: #f1e9fa; border: 1px solid rgba(155, 116, 202, .26); }.guided-active-value.is-rejected { color: #ff7188; border-color: rgba(255, 93, 120, .36); }.guided-active-value.is-unknown { color: #e7b85a; }
.guided-view-button { padding: 5px 9px; border: 1px solid #7550a7; border-radius: 8px; color: #dcbfff; background: transparent; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.guided-draft-tray { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 13px; }.guided-draft-tray article { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid rgba(170, 115, 224, .35); border-radius: 12px; background: rgba(77, 42, 109, .22); }.guided-draft-tray article > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 8px; color: #fff; background: #703cc6; font-size: 10px; font-weight: 900; }.guided-draft-tray small,.guided-draft-tray strong { display: block; }.guided-draft-tray small { color: #ac9abb; }.guided-draft-tray strong { margin-top: 2px; color: #f6edff; }.guided-draft-tray button { border: 0; color: #ff8094; background: transparent; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; }
.guided-empty-draft { grid-column: 1/-1; padding: 13px; border: 1px dashed rgba(159, 121, 201, .25); border-radius: 11px; text-align: center; }.guided-empty-draft strong,.guided-empty-draft span { display: block; }.guided-empty-draft strong { color: #d8cae6; }.guided-empty-draft span { margin-top: 3px; color: #8f819e; font-size: 11px; }
.guided-draft-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 0 13px 13px; }.guided-draft-actions > div { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }.guided-draft-actions .form-message { margin: 0; }
.guided-validation-card { margin: 0 13px 13px; padding: 13px; border: 1px solid rgba(156, 118, 202, .29); border-radius: 12px; background: rgba(13, 10, 21, .55); }.guided-validation-card header { display: flex; justify-content: space-between; gap: 12px; }.guided-validation-card header strong,.guided-validation-card header span { display: block; }.guided-validation-card header strong { color: #f7f1ff; }.guided-validation-card header span,.guided-validation-card p { color: #9e90ad; font-size: 11px; }.guided-validation-card header b { color: #c9a7f2; font-size: 11px; }.guided-validation-metrics { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; margin: 12px 0; }.guided-progress { height: 7px; margin: 12px 0; border-radius: 999px; background: #23182f; overflow: hidden; }.guided-progress i { display: block; height: 100%; background: linear-gradient(90deg,#7648e1,#da42a2); }
.guided-draft-actions :is(.primary-button,.secondary-button):disabled { cursor: not-allowed; filter: grayscale(.8); opacity: .38 !important; box-shadow: none; }
.guided-validation-card.is-invalid { border-color: rgba(255, 86, 116, .58); background: rgba(93, 20, 40, .2); box-shadow: inset 3px 0 #ff5674; }
.guided-validation-card.is-invalid header b,.guided-validation-card.is-invalid header span { color: #ff7890; }
.guided-trade-dialog { width: min(1180px,94vw); max-height: 90vh; padding: 0; border: 1px solid rgba(161, 117, 211, .45); border-radius: 18px; color: #fff; background: #181121; overflow: auto; }.guided-trade-dialog::backdrop { background: rgba(4,2,8,.8); backdrop-filter: blur(5px); }.guided-dialog-close { position: sticky; top: 12px; z-index: 8; float: right; margin: 12px; width: 38px; height: 38px; border: 1px solid #5f416e; border-radius: 11px; color: #fff; background: #21172c; font-size: 23px; cursor: pointer; }.guided-trade-dialog #guidedTradeInsight { clear: both; padding: 0 16px 18px; }

@media (max-width: 1150px) { .guided-layout { grid-template-columns: 1fr; }.guided-impact-grid,.guided-validation-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }.guided-title-row,.guided-draft-actions { align-items: flex-start; flex-direction: column; }.guided-draft-actions > div { justify-content: flex-start; } }
@media (max-width: 720px) { .guided-research-panel { padding: 14px; }.guided-local-ranges { flex-wrap: wrap; }.guided-local-ranges small { width: 100%; margin-left: 0; }.guided-threshold-row { grid-template-columns: 1fr; }.guided-threshold-row > i { display: none; }.guided-impact-grid,.guided-validation-metrics,.guided-draft-tray { grid-template-columns: 1fr 1fr; }.guided-section-head.is-trades { display: block; }.guided-trade-filters { margin-top: 9px; justify-content: flex-start; }.guided-title-row h2 { font-size: 22px; } }

/* Keep the execution-insight surface readable under every authenticated theme. */
body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-metric,
body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-panel {
  color: #e8edf7;
  border-color: #40344f;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-panel > header {
  color: #eef2ff;
  border-color: #40344f;
  background: #2b2237;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view :is(
  .trade-insight-panel > header h3,
  .trade-insight-leg > strong,
  .trade-insight-leg b,
  .trade-insight-metric strong
) {
  color: #f8fafc;
  opacity: 1;
  text-shadow: none;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view :is(
  .trade-insight-panel > header span,
  .trade-insight-metric span,
  .trade-insight-leg,
  .trade-insight-trail-meta
) {
  color: #b8c2d6;
  opacity: 1;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-detail-grid .trade-insight-metric {
  border-color: #40344f;
  background: #211a2c;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-panel:is(.is-trailing, .is-algorithm) {
  border-color: #50426a;
  background: #251d33;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-algorithm .trade-insight-metric {
  border-color: #50426a;
  background: #2b2237;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-trail-line {
  background: #665a78;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-trail-node {
  color: #a9b3c7;
  opacity: 1;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-trail-node.is-done {
  color: #a5b4fc;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-trail-meta b {
  color: #c4b5fd;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-metric.is-positive strong,
body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-metric.positive-text strong {
  color: #4ade80;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-metric.is-negative strong,
body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-metric.negative-text strong {
  color: #fb7185;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-metric.is-warning strong {
  color: #facc15;
}

body[data-auth-state="authenticated"] .trade-detail-body.is-insight-view .trade-insight-metric.is-primary strong {
  color: #a5b4fc;
}

@media (max-width: 980px) {
  body[data-auth-state="authenticated"] .loss-control-bottom-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .app-footer-main {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 24px 20px 20px;
  }

  .app-footer-identity {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-footer-links {
    justify-content: flex-start;
  }

  .app-footer-status {
    grid-column: auto;
  }

  .app-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    padding: 14px 20px 18px;
  }
}

.entry-context-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(145, 173, 214, 0.28);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(248, 251, 255, 0.96), rgba(255, 255, 255, 0.94)),
    #ffffff;
}

.entry-context-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.entry-context-head > div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.entry-context-head span,
.entry-context-metric span,
.entry-context-diagnosis span {
  color: var(--muted-soft);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.entry-context-head strong {
  color: var(--ink);
  font-size: 0.98rem;
}

.entry-context-head small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.entry-context-tabs {
  flex: 0 0 auto;
}

.entry-context-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
}

.entry-context-metric {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid rgba(203, 213, 225, 0.76);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
}

.entry-context-metric strong {
  color: var(--ink);
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}

.entry-context-chart-surface {
  border: 1px solid rgba(203, 213, 225, 0.82);
  border-radius: 16px;
  background: #ffffff;
  overflow: hidden;
}

.entry-context-chart-svg {
  display: block;
  width: 100%;
  min-height: 210px;
}

.entry-context-placeholder {
  min-height: 210px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(203, 213, 225, 0.82);
  border-radius: 16px;
  background: #ffffff;
  color: var(--muted);
  font-weight: 800;
}

.entry-context-diagnosis {
  display: grid;
  gap: 5px;
  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: rgba(241, 245, 249, 0.72);
}

.entry-context-diagnosis strong {
  color: var(--ink);
  line-height: 1.35;
}

.entry-context-diagnosis.is-warning {
  border-color: rgba(217, 119, 6, 0.24);
  background: rgba(254, 243, 199, 0.54);
}

.entry-context-diagnosis.is-positive {
  border-color: rgba(5, 150, 105, 0.22);
  background: rgba(236, 253, 245, 0.72);
}

@media (max-width: 1180px) {
  .entry-context-metrics {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }
}

@media (max-width: 860px) {
  .entry-context-head {
    align-items: stretch;
    flex-direction: column;
  }

  .entry-context-tabs {
    width: fit-content;
  }

  .entry-context-metrics {
    grid-template-columns: 1fr;
  }
}

.market-option-inline.is-entry {
  border-color: rgba(37, 99, 235, 0.2);
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
}

.market-option-inline.is-target {
  border-color: rgba(5, 150, 105, 0.2);
  background: rgba(5, 150, 105, 0.08);
  color: #047857;
}

.market-option-inline.is-stop {
  border-color: rgba(220, 38, 38, 0.2);
  background: rgba(220, 38, 38, 0.08);
  color: #b91c1c;
}

.chart-symbol-card {
  display: grid;
  gap: 14px;
  padding: 22px 24px;
  border-radius: 28px;
  border: 1px solid rgba(140, 171, 216, 0.24);
  background:
    linear-gradient(140deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 255, 0.95)),
    var(--panel);
  box-shadow: 0 18px 48px rgba(29, 47, 84, 0.08);
}

.chart-symbol-card.is-selected {
  border-color: rgba(73, 120, 255, 0.26);
  box-shadow: 0 22px 58px rgba(36, 66, 132, 0.12);
}

.chart-symbol-summary {
  display: grid;
  gap: 14px;
}

.chart-symbol-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.chart-symbol-main h3 {
  margin: 0;
  font-size: 1.35rem;
  color: var(--ink);
}

.chart-symbol-primary-price {
  display: grid;
  justify-items: end;
  gap: 6px;
  text-align: right;
}

.chart-symbol-primary-price strong {
  font-size: clamp(1.8rem, 2vw, 2.35rem);
  color: var(--ink);
}

.chart-symbol-summary-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.chart-option-mini-strip {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.chart-option-mini {
  display: grid;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 20px;
  border: 1px solid rgba(145, 173, 214, 0.22);
  background: rgba(248, 251, 255, 0.9);
}

.chart-option-mini.is-focus {
  border-color: rgba(79, 125, 255, 0.28);
  background: linear-gradient(180deg, rgba(238, 245, 255, 0.98), rgba(245, 249, 255, 0.94));
}

.chart-option-mini strong {
  font-size: 1.35rem;
  color: var(--ink);
}

.chart-option-mini small {
  color: var(--ink-subtle);
  line-height: 1.4;
}

.chart-option-mini-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.chart-row-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.chart-expand-button {
  min-width: 148px;
}

.chart-symbol-footnote {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--ink-subtle);
  font-size: 0.98rem;
  line-height: 1.5;
}

.chart-symbol-footnote strong {
  flex-shrink: 0;
}

.chart-market-card.is-best {
  border-color: rgba(82, 128, 255, 0.24);
}

@media (max-width: 980px) {
  .chart-symbol-main,
  .chart-symbol-footnote,
  .chart-page-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .chart-symbol-primary-price {
    justify-items: start;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .chart-page-meta,
  .dashboard-chart-callout,
  .chart-symbol-summary-grid,
  .chart-option-mini-strip {
    grid-template-columns: 1fr;
  }

  .chart-row-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .chart-expand-button {
    width: 100%;
  }
}

.strategy-lab-shell {
  gap: 22px;
}

.strategy-lab-shell > [data-auth-private],
.strategy-lab-shell > .lab-grid,
.strategy-lab-shell > .lab-split,
.strategy-lab-shell > .panel,
.strategy-lab-shell > .form-message {
  grid-column: 1 / -1;
}

.lab-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(140px, 1fr));
  gap: 16px;
}

.insight-stat-card,
.insight-feature-card,
.recommendation-card,
.rank-row,
.strategy-insight-card,
.strategy-research-card,
.insight-trade-card,
.empty-insight {
  border: 1px solid rgba(145, 173, 214, 0.26);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 44px rgba(28, 45, 84, 0.08);
}

.insight-stat-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 20px;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}

.insight-stat-card::after {
  content: "";
  position: absolute;
  width: 84px;
  height: 84px;
  right: -24px;
  top: -28px;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.12;
}

.insight-stat-card span,
.insight-stat-card small,
.recommendation-card span,
.rank-row small,
.strategy-insight-card small,
.insight-trade-card small,
.insight-trade-card span {
  color: var(--ink-subtle);
}

.rank-row small,
.strategy-insight-card small,
.insight-trade-card small {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.insight-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 900;
  line-height: 1;
  border: 1px solid rgba(145, 173, 214, 0.22);
  background: rgba(248, 251, 255, 0.9);
  color: var(--ink-subtle);
}

.insight-pill.is-blue {
  color: #1d4ed8;
  background: rgba(219, 234, 254, 0.8);
  border-color: rgba(37, 99, 235, 0.18);
}

.insight-pill.is-teal {
  color: #0f766e;
  background: rgba(204, 251, 241, 0.72);
  border-color: rgba(15, 118, 110, 0.18);
}

.insight-pill.is-amber {
  color: #b45309;
  background: rgba(254, 243, 199, 0.78);
  border-color: rgba(217, 119, 6, 0.18);
}

.insight-pill.is-slate {
  color: #475569;
  background: rgba(241, 245, 249, 0.88);
  border-color: rgba(100, 116, 139, 0.16);
}

.insight-pill.is-info {
  color: #1d4ed8;
  background: rgba(219, 234, 254, 0.78);
  border-color: rgba(37, 99, 235, 0.18);
}

.insight-pill.is-success {
  color: #047857;
  background: rgba(209, 250, 229, 0.78);
  border-color: rgba(16, 185, 129, 0.22);
}

.insight-pill.is-warning {
  color: #b45309;
  background: rgba(254, 243, 199, 0.78);
  border-color: rgba(217, 119, 6, 0.18);
}

.insight-pill.is-danger {
  color: #b91c1c;
  background: rgba(254, 226, 226, 0.78);
  border-color: rgba(220, 38, 38, 0.2);
}

.insight-stat-card strong {
  color: var(--ink);
  font-size: 1.65rem;
  line-height: 1;
}

.insight-stat-card.is-blue {
  color: #1d4ed8;
  border-color: rgba(37, 99, 235, 0.24);
  background: linear-gradient(180deg, rgba(235, 243, 255, 0.98), rgba(255, 255, 255, 0.92));
}

.insight-stat-card.is-indigo {
  color: #4338ca;
  border-color: rgba(79, 70, 229, 0.24);
  background: linear-gradient(180deg, rgba(239, 240, 255, 0.98), rgba(255, 255, 255, 0.92));
}

.insight-stat-card.is-teal {
  color: #0f766e;
  border-color: rgba(15, 118, 110, 0.24);
  background: linear-gradient(180deg, rgba(230, 255, 250, 0.98), rgba(255, 255, 255, 0.92));
}

.insight-stat-card.is-positive {
  color: #047857;
  border-color: rgba(0, 137, 111, 0.26);
  background: linear-gradient(180deg, rgba(235, 255, 249, 0.96), rgba(255, 255, 255, 0.9));
}

.insight-stat-card.is-negative {
  color: #be123c;
  border-color: rgba(220, 59, 59, 0.24);
  background: linear-gradient(180deg, rgba(255, 241, 241, 0.96), rgba(255, 255, 255, 0.9));
}

.insight-stat-card.is-emerald {
  color: #059669;
  border-color: rgba(5, 150, 105, 0.24);
  background: linear-gradient(180deg, rgba(236, 253, 245, 0.98), rgba(255, 255, 255, 0.92));
}

.insight-stat-card.is-rose {
  color: #e11d48;
  border-color: rgba(225, 29, 72, 0.22);
  background: linear-gradient(180deg, rgba(255, 241, 242, 0.98), rgba(255, 255, 255, 0.92));
}

.insight-stat-card.is-amber {
  color: #b45309;
  border-color: rgba(245, 158, 11, 0.26);
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.92));
}

.lab-split {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 22px;
}

.insight-feature-card {
  display: grid;
  gap: 18px;
  padding: 24px;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 253, 248, 0.94)),
    radial-gradient(circle at 96% 4%, rgba(14, 165, 139, 0.2), transparent 28%);
  border-color: rgba(14, 165, 139, 0.24);
}

.insight-feature-main {
  display: grid;
  gap: 8px;
}

.insight-feature-main h3,
.recommendation-card h3 {
  margin: 0;
  color: var(--ink);
}

.insight-feature-main strong {
  font-size: 2.15rem;
}

.insight-badge {
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  color: #075c52;
  background: rgba(14, 165, 139, 0.13);
  border: 1px solid rgba(14, 165, 139, 0.22);
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.insight-mini-grid,
.insight-settings-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 12px;
}

.mini-metric {
  display: grid;
  gap: 4px;
  padding: 13px 14px;
  border: 1px solid rgba(145, 173, 214, 0.22);
  border-radius: 14px;
  background: rgba(247, 251, 255, 0.88);
}

.mini-metric small {
  color: var(--ink-subtle);
  font-weight: 800;
}

.mini-metric strong {
  color: var(--ink);
}

.recommendation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.recommendation-card {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px;
  border-radius: 18px;
  min-height: 190px;
  position: relative;
  overflow: hidden;
}

.recommendation-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: #2563eb;
}

.recommendation-card p {
  margin: 0;
  color: var(--ink-muted);
  line-height: 1.5;
}

.recommendation-card pre {
  overflow: auto;
  margin: 4px 0 0;
  padding: 12px;
  border-radius: 12px;
  background: rgba(13, 24, 45, 0.06);
  color: var(--ink);
  font-size: 0.82rem;
}

.recommendation-card.is-danger {
  border-color: rgba(220, 59, 59, 0.28);
  background: linear-gradient(180deg, rgba(255, 241, 241, 0.96), rgba(255, 255, 255, 0.92));
}

.recommendation-card.is-danger::before {
  background: #dc2626;
}

.recommendation-card.is-warning {
  border-color: rgba(226, 160, 44, 0.34);
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.98), rgba(255, 255, 255, 0.92));
}

.recommendation-card.is-warning::before {
  background: #d97706;
}

.recommendation-card.is-success {
  border-color: rgba(0, 137, 111, 0.28);
  background: linear-gradient(180deg, rgba(236, 253, 245, 0.98), rgba(255, 255, 255, 0.92));
}

.recommendation-card.is-success::before {
  background: #059669;
}

.recommendation-card.is-info::before {
  background: #2563eb;
}

.ranking-list,
.strategy-insight-list,
.trade-card-list {
  display: grid;
  gap: 12px;
}

.rank-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background:
    linear-gradient(90deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.92));
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.rank-row:hover,
.strategy-insight-card:hover,
.strategy-research-card:hover,
.insight-trade-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 52px rgba(28, 45, 84, 0.12);
}

.rank-index {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(30, 102, 255, 0.1);
  color: #174cbf;
  font-weight: 900;
}

.strategy-insight-card {
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.92);
}

.strategy-insight-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 17px 18px;
  cursor: pointer;
}

.strategy-insight-body {
  display: grid;
  gap: 18px;
  padding: 0 18px 18px;
}

.criteria-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.criteria-grid h4 {
  margin: 0 0 10px;
}

.criteria-list {
  display: grid;
  grid-template-columns: minmax(130px, 0.7fr) minmax(0, 1fr);
  gap: 8px 12px;
  margin: 0;
}

.criteria-list dt {
  color: var(--ink-subtle);
  font-weight: 800;
}

.criteria-list dd {
  margin: 0;
  color: var(--ink);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.insight-trade-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  padding: 15px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.92));
}

.insight-trade-card p,
.insight-trade-card span {
  grid-column: 1 / -1;
  margin: 0;
}

.empty-insight {
  padding: 18px;
  border-radius: 16px;
  color: var(--ink-subtle);
}

.strategy-research-page {
  align-items: start;
}

.strategy-lab-page {
  position: relative;
  isolation: isolate;
}

.strategy-lab-page > * {
  position: relative;
  z-index: 1;
}

.strategy-lab-live-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(37, 99, 235, 0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(15, 118, 110, 0.045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(180deg, transparent, #000 12%, #000 78%, transparent);
  opacity: 0.75;
}

.strategy-lab-live-bg span {
  position: absolute;
  left: -12%;
  width: 124%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(14, 165, 233, 0.5), rgba(20, 184, 166, 0.42), transparent);
  box-shadow: 0 0 26px rgba(20, 184, 166, 0.2);
  animation: strategy-lab-scan 14s linear infinite;
}

.strategy-lab-live-bg span:nth-child(1) {
  top: 24%;
}

.strategy-lab-live-bg span:nth-child(2) {
  top: 52%;
  animation-duration: 18s;
  animation-delay: -6s;
  opacity: 0.72;
}

.strategy-lab-live-bg span:nth-child(3) {
  top: 76%;
  animation-duration: 22s;
  animation-delay: -11s;
  opacity: 0.55;
}

@keyframes strategy-lab-scan {
  0% {
    transform: translateY(-90px) skewY(-4deg);
    opacity: 0;
  }
  14%,
  74% {
    opacity: 1;
  }
  100% {
    transform: translateY(120px) skewY(-4deg);
    opacity: 0;
  }
}

.strategy-lab-auto-pill {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(204, 251, 241, 0.76);
  border: 1px solid rgba(20, 184, 166, 0.22);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-lab-section {
  display: grid;
  grid-column: 1 / -1;
  gap: 18px;
}

.strategy-lab-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 6px 2px 2px;
}

.strategy-lab-section-head h2,
.strategy-lab-section-head p {
  margin: 0;
}

.strategy-lab-section-head h2 {
  color: var(--ink);
  font-size: clamp(1.55rem, 2.3vw, 2.15rem);
}

.strategy-lab-chip {
  flex: 0 0 auto;
  border-color: rgba(37, 99, 235, 0.18);
  color: #1d4ed8;
  background: linear-gradient(135deg, rgba(219, 234, 254, 0.82), rgba(240, 253, 250, 0.9));
}

.strategy-lab-chip.is-warm {
  border-color: rgba(245, 158, 11, 0.24);
  color: #b45309;
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.92), rgba(236, 253, 245, 0.86));
}

.strategy-lab-feature-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.strategy-lab-panel {
  border-color: rgba(20, 184, 166, 0.2);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 253, 250, 0.9)),
    linear-gradient(90deg, rgba(219, 234, 254, 0.52), transparent);
}

.strategy-lab-tabs {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(145, 173, 214, 0.26);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(239, 246, 255, 0.86)),
    linear-gradient(90deg, rgba(204, 251, 241, 0.34), transparent 56%, rgba(254, 243, 199, 0.28));
  box-shadow: 0 16px 38px rgba(28, 45, 84, 0.075);
}

.strategy-lab-tab {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 64px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: var(--ink-subtle);
  background: transparent;
  text-align: left;
  cursor: pointer;
  font: inherit;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.strategy-lab-tab:hover,
.strategy-lab-tab:focus-visible {
  color: var(--ink);
  border-color: rgba(37, 99, 235, 0.18);
  background: rgba(255, 255, 255, 0.72);
  outline: none;
}

.strategy-lab-tab.is-active {
  color: #0f172a;
  border-color: rgba(37, 99, 235, 0.24);
  background:
    linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.94));
  box-shadow: 0 10px 26px rgba(37, 99, 235, 0.1);
}

.strategy-lab-tab span,
.strategy-lab-tab small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-lab-tab span {
  font-size: 0.92rem;
  font-weight: 950;
}

.strategy-lab-tab small {
  color: var(--ink-muted);
  font-size: 0.72rem;
  font-weight: 800;
}

.strategy-lab-accordion {
  grid-column: 1 / -1;
  overflow: hidden;
  border: 1px solid rgba(145, 173, 214, 0.28);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 42px rgba(28, 45, 84, 0.08);
}

.strategy-lab-accordion + .strategy-lab-accordion,
.strategy-lab-accordion + .strategy-lab-status-panel,
.strategy-lab-status-panel + .strategy-lab-accordion {
  margin-top: 2px;
}

.strategy-lab-accordion summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  min-height: 76px;
  padding: 15px 18px;
  cursor: pointer;
  list-style: none;
  background:
    linear-gradient(90deg, rgba(239, 246, 255, 0.9), rgba(240, 253, 250, 0.8)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88));
}

.strategy-lab-accordion summary::-webkit-details-marker {
  display: none;
}

.strategy-lab-accordion > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #0f766e;
  background: rgba(204, 251, 241, 0.68);
  border: 1px solid rgba(20, 184, 166, 0.2);
  font-size: 1.35rem;
  font-weight: 950;
}

.strategy-lab-accordion[open] > summary::after {
  content: "-";
}

.strategy-lab-accordion-main {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 13px;
}

.strategy-lab-accordion-main small {
  display: block;
  color: var(--ink-subtle);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.strategy-lab-accordion-main strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 1.02rem;
  overflow-wrap: anywhere;
}

.strategy-lab-accordion-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #1d4ed8;
  background: linear-gradient(135deg, rgba(219, 234, 254, 0.95), rgba(255, 255, 255, 0.86));
  border: 1px solid rgba(37, 99, 235, 0.18);
  font-weight: 950;
}

.strategy-lab-accordion-meta {
  justify-self: end;
  min-width: max-content;
  padding: 8px 11px;
  border-radius: 999px;
  color: #475569;
  background: rgba(248, 251, 255, 0.92);
  border: 1px solid rgba(145, 173, 214, 0.24);
  font-size: 0.78rem;
  font-weight: 950;
}

.strategy-lab-accordion-body {
  display: grid;
  gap: 16px;
  padding: 16px;
  border-top: 1px solid rgba(145, 173, 214, 0.18);
}

.strategy-lab-accordion-body.lab-split {
  display: grid;
}

.strategy-lab-accordion.is-actions {
  border-color: rgba(37, 99, 235, 0.2);
}

.strategy-lab-accordion.is-merge {
  border-color: rgba(37, 99, 235, 0.2);
}

.strategy-lab-accordion.is-workbench {
  border-color: rgba(20, 184, 166, 0.22);
}

.strategy-lab-accordion.is-summary {
  border-color: rgba(245, 158, 11, 0.24);
}

.strategy-lab-accordion.is-review {
  border-color: rgba(99, 102, 241, 0.22);
}

.strategy-lab-accordion.is-evidence {
  border-color: rgba(225, 29, 72, 0.16);
}

.strategy-lab-accordion.is-no-greek {
  border-color: rgba(245, 158, 11, 0.24);
}

.strategy-lab-subaccordion {
  overflow: hidden;
  border: 1px solid rgba(145, 173, 214, 0.24);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
}

.strategy-lab-subaccordion + .strategy-lab-subaccordion {
  margin-top: 2px;
}

.strategy-lab-subaccordion summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(90deg, rgba(248, 251, 255, 0.96), rgba(240, 253, 250, 0.78));
}

.strategy-lab-subaccordion summary::-webkit-details-marker {
  display: none;
}

.strategy-lab-subaccordion > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  color: #1d4ed8;
  background: rgba(219, 234, 254, 0.82);
  border: 1px solid rgba(37, 99, 235, 0.18);
  font-size: 1.1rem;
  font-weight: 950;
}

.strategy-lab-subaccordion[open] > summary::after {
  content: "-";
}

.strategy-lab-subaccordion summary span {
  color: var(--ink);
  font-weight: 950;
  overflow-wrap: anywhere;
}

.strategy-lab-subaccordion summary small {
  color: var(--ink-subtle);
  font-weight: 850;
}

.strategy-lab-subaccordion-body {
  display: grid;
  gap: 14px;
  padding: 14px;
  border-top: 1px solid rgba(145, 173, 214, 0.18);
}

.strategy-lab-subaccordion-body.lab-split {
  display: grid;
}

.strategy-lab-command-center {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.strategy-lab-action-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 12px 14px;
  min-height: 150px;
  padding: 17px;
  border: 1px solid rgba(145, 173, 214, 0.28);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.93);
  box-shadow: 0 14px 34px rgba(28, 45, 84, 0.08);
  position: relative;
  overflow: hidden;
}

.strategy-lab-action-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 8px;
  background: #2563eb;
}

.strategy-lab-action-card.is-review::before {
  background: linear-gradient(90deg, #2563eb, #06b6d4);
}

.strategy-lab-action-card.is-mining::before {
  background: linear-gradient(90deg, #0f766e, #84cc16);
}

.strategy-lab-action-card.is-refine::before {
  background: linear-gradient(90deg, #d97706, #e11d48);
}

.strategy-lab-action-card.is-unified {
  grid-template-columns: auto minmax(0, 1fr) minmax(260px, auto);
  min-height: 132px;
  align-items: center;
  background:
    linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(240, 253, 250, 0.92)),
    linear-gradient(90deg, rgba(37, 99, 235, 0.12), transparent 48%, rgba(20, 184, 166, 0.14));
}

.strategy-lab-action-card.is-unified::before {
  background: linear-gradient(90deg, #2563eb, #14b8a6, #0d9488, #e11d48);
}

.strategy-lab-action-card.is-no-greek::before {
  background: linear-gradient(90deg, #0d9488, #0f766e);
}

.strategy-lab-action-card.is-unified .strategy-lab-step {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.strategy-lab-action-card.is-unified .strategy-lab-action-copy {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}

.strategy-lab-action-card.is-unified .strategy-lab-action-tags {
  grid-column: 2;
  grid-row: 2;
}

.strategy-lab-action-card h3,
.strategy-lab-action-card p {
  margin: 0;
}

.strategy-lab-action-card h3 {
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 1.05rem;
}

.strategy-lab-action-card p:not(.section-kicker) {
  color: var(--ink-muted);
  line-height: 1.45;
  font-size: 0.88rem;
}

.strategy-lab-step {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: #0f172a;
  background: linear-gradient(135deg, rgba(219, 234, 254, 0.92), rgba(204, 251, 241, 0.88));
  border: 1px solid rgba(37, 99, 235, 0.16);
  font-weight: 950;
}

.strategy-lab-action-row {
  display: flex;
  align-items: center;
  gap: 10px;
  grid-column: 1 / -1;
}

.strategy-lab-action-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  grid-column: 2 / -1;
}

.strategy-lab-action-tags span {
  padding: 7px 11px;
  border-radius: 999px;
  color: #0f766e;
  border: 1px solid rgba(20, 184, 166, 0.24);
  background: rgba(204, 251, 241, 0.52);
  font-weight: 900;
  font-size: 0.76rem;
}

.strategy-lab-action-row.is-unified {
  grid-column: 3;
  grid-row: 1 / span 2;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-content: center;
}

.strategy-lab-action-row .success-button,
.strategy-lab-action-card > .primary-button,
.strategy-lab-action-card > .secondary-button {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 48px;
}

.strategy-lab-action-row.is-unified .primary-button {
  min-width: 210px;
}

.strategy-lab-action-row.is-unified .secondary-button {
  min-width: 220px;
}

.strategy-lab-action-row .strategy-refinement-detail-button {
  flex: 0 0 auto;
}

.strategy-lab-status-panel {
  display: grid;
  grid-column: 1 / -1;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(248, 251, 255, 0.96), rgba(240, 253, 250, 0.92));
  box-shadow: 0 18px 44px rgba(28, 45, 84, 0.08);
}

.strategy-lab-status-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.strategy-lab-status-main h3,
.strategy-lab-status-main p {
  margin: 0;
}

.strategy-lab-status-main p:not(.section-kicker) {
  margin-top: 6px;
  color: var(--ink-muted);
}

.strategy-lab-status-main strong {
  font-size: 1.7rem;
  color: #0f766e;
}

.strategy-lab-status-main.is-danger strong {
  color: #dc2626;
}

.strategy-lab-progress {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(145, 173, 214, 0.18);
}

.strategy-lab-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #14b8a6, #0d9488);
  transition: width 260ms ease;
}

.strategy-lab-status-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
}

.strategy-lab-workbench {
  border-color: rgba(37, 99, 235, 0.18);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 246, 255, 0.86)),
    linear-gradient(90deg, rgba(204, 251, 241, 0.42), transparent);
}

.strategy-lab-workbench .strategy-research-toolbar {
  grid-template-columns: minmax(240px, 360px) 170px;
}

.strategy-research-filter {
  grid-template-columns: repeat(4, minmax(120px, 1fr));
}

.inline-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.12);
}

.inline-check input {
  width: 18px;
  height: 18px;
}

.strategy-research-split {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}

.ai-advisor-card {
  display: grid;
  gap: 16px;
}

.ai-advisor-main {
  display: grid;
  gap: 10px;
  min-height: 210px;
  padding: 24px;
  border-radius: 22px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  background:
    linear-gradient(135deg, rgba(239, 246, 255, 0.96), rgba(255, 255, 255, 0.92));
}

.ai-advisor-main.is-ready {
  border-color: rgba(5, 150, 105, 0.24);
  background:
    linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(255, 255, 255, 0.92));
}

.ai-advisor-main h3,
.ai-advisor-main p {
  margin: 0;
}

.strategy-list-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}

.strategy-research-toolbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 320px) 170px;
  gap: 10px;
  align-items: center;
}

.strategy-refinement-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.strategy-refinement-detail-button {
  flex: 0 0 auto;
}

.strategy-research-list {
  display: grid;
  gap: 16px;
}

.strategy-workbench-organizer {
  display: grid;
  gap: 18px;
}

.strategy-workbench-section {
  display: grid;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid rgba(145, 173, 214, 0.22);
  background: rgba(248, 251, 255, 0.72);
}

.strategy-workbench-section.is-families {
  border-color: rgba(20, 184, 166, 0.22);
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.88), rgba(255, 255, 255, 0.82));
}

.strategy-workbench-section.is-review {
  border-color: rgba(245, 158, 11, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.84), rgba(255, 255, 255, 0.82));
}

.strategy-workbench-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.strategy-workbench-section-head strong {
  color: var(--ink);
  font-size: 0.96rem;
}

.strategy-workbench-section-head span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.strategy-workbench-section-body {
  display: grid;
  gap: 12px;
}

.strategy-family-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 22px;
  border: 1px solid rgba(20, 184, 166, 0.26);
  background:
    radial-gradient(circle at top left, rgba(20, 184, 166, 0.1), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(240, 253, 250, 0.58) 100%);
}

.strategy-library-family-card {
  border-radius: 22px;
}

.strategy-family-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(20, 184, 166, 0.18);
  background: rgba(255, 255, 255, 0.78);
}

.strategy-family-title {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.strategy-family-title > span,
.strategy-family-primary-pin {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(204, 251, 241, 0.78);
  border: 1px solid rgba(20, 184, 166, 0.2);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-family-title strong {
  color: var(--ink);
  font-size: 1.08rem;
  overflow-wrap: anywhere;
}

.strategy-family-title small {
  color: var(--muted);
  font-weight: 800;
}

.strategy-family-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.strategy-family-metric {
  min-width: 0;
  padding: 9px 10px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: #f8fafc;
}

.strategy-family-metric small {
  display: block;
  color: var(--muted-soft);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-family-metric strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.strategy-family-metric.is-positive strong { color: #047857; }
.strategy-family-metric.is-negative strong { color: #b91c1c; }

.strategy-family-primary-node {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

.strategy-family-primary-pin {
  display: grid;
  place-items: center;
  width: auto;
  min-height: 100%;
  border-radius: 14px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.strategy-family-children {
  display: grid;
  gap: 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.strategy-family-children > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed rgba(15, 118, 110, 0.26);
  background: rgba(240, 253, 250, 0.68);
  cursor: pointer;
  list-style: none;
  color: var(--ink);
  font-weight: 900;
}

.strategy-family-children > summary::-webkit-details-marker {
  display: none;
}

.strategy-family-children > summary::after {
  content: "-";
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  color: #0f766e;
  background: rgba(204, 251, 241, 0.78);
}

.strategy-family-children:not([open]) > summary::after {
  content: "+";
}

.strategy-family-children > summary small {
  color: var(--muted);
  font-size: 0.78rem;
}

.strategy-family-branch-list {
  display: grid;
  gap: 12px;
}

.strategy-family-branch-row {
  position: relative;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 12px;
}

.strategy-family-branch-row::before {
  content: "";
  position: absolute;
  left: 29px;
  top: -12px;
  bottom: -12px;
  width: 2px;
  background: rgba(15, 118, 110, 0.22);
}

.strategy-family-branch-row:last-child::before {
  bottom: calc(100% - 31px);
}

.strategy-family-branch-row::after {
  content: "";
  position: absolute;
  left: 29px;
  top: 31px;
  width: 31px;
  height: 2px;
  background: rgba(15, 118, 110, 0.22);
}

.strategy-family-branch-rail {
  position: relative;
  display: grid;
  justify-items: center;
  padding-top: 16px;
  z-index: 1;
}

.strategy-family-branch-rail span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 2px solid #ffffff;
  color: #0f766e;
  background: #ccfbf1;
  font-size: 0.76rem;
  font-weight: 950;
  box-shadow: 0 8px 16px rgba(15, 118, 110, 0.14);
}

.strategy-family-branch-row.is-source .strategy-family-branch-rail span {
  color: #9a3412;
  background: #ffedd5;
}

.strategy-family-branch-row.is-ref .strategy-family-branch-rail span,
.strategy-family-branch-row.is-bt .strategy-family-branch-rail span {
  color: #1d4ed8;
  background: #dbeafe;
}

.strategy-family-primary-placeholder {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-radius: 14px;
  border: 1px dashed rgba(148, 163, 184, 0.32);
  background: rgba(248, 250, 252, 0.82);
}

.strategy-family-primary-placeholder strong {
  color: var(--ink);
}

.strategy-family-primary-placeholder span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.strategy-cleanup-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(245, 158, 11, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.88), rgba(255, 255, 255, 0.9));
}

.strategy-cleanup-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.strategy-cleanup-head span {
  color: #b45309;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.strategy-cleanup-head strong {
  color: var(--ink);
  font-size: 0.9rem;
}

.strategy-cleanup-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}

.strategy-cleanup-card {
  min-width: 0;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(255, 255, 255, 0.82);
}

.strategy-cleanup-card strong {
  display: block;
  color: var(--ink);
  font-size: 0.86rem;
}

.strategy-cleanup-card p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.42;
}

.strategy-cleanup-card.is-info {
  border-color: rgba(37, 99, 235, 0.2);
}

.strategy-ml-panel {
  margin-top: 1rem;
}

.strategy-ml-report {
  display: grid;
  gap: 1rem;
}

.strategy-ml-status {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 12px;
  padding: 1rem;
  background: rgba(248, 250, 252, 0.86);
}

.strategy-ml-status h3 {
  margin: 0.45rem 0 0.25rem;
}

.strategy-ml-status p {
  margin: 0;
  color: var(--muted);
}

.strategy-ml-status.is-success {
  border-color: rgba(20, 184, 166, 0.3);
  background: rgba(240, 253, 250, 0.9);
}

.strategy-ml-status.is-warning,
.strategy-ml-status.is-collecting {
  border-color: rgba(245, 158, 11, 0.3);
  background: rgba(255, 251, 235, 0.9);
}

.strategy-ml-status.is-danger {
  border-color: rgba(239, 68, 68, 0.28);
  background: rgba(254, 242, 242, 0.9);
}

.strategy-ml-rollout {
  display: grid;
  gap: 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 12px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.92);
}

.strategy-ml-rollout.is-active {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(255, 251, 235, 0.72);
}

.strategy-ml-rollout.is-ready {
  border-color: rgba(20, 184, 166, 0.3);
  background: rgba(240, 253, 250, 0.84);
}

.strategy-ml-rollout-head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.strategy-ml-rollout-head > div {
  display: grid;
  gap: 0.25rem;
}

.strategy-ml-rollout-head strong,
.strategy-ml-rollout-list strong,
.strategy-ml-rollout-later strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.strategy-ml-rollout-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.strategy-ml-rollout-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 0.75rem;
}

.strategy-ml-rollout-list {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.72);
}

.strategy-ml-rollout-list ul {
  display: grid;
  gap: 0.45rem;
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
}

.strategy-ml-rollout-list li {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.38;
}

.strategy-ml-rollout-later {
  display: grid;
  gap: 0.4rem;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  padding-top: 0.75rem;
}

.strategy-ml-rollout-later span {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.38;
}

.strategy-ml-strategy-panel {
  border-style: dashed;
}

.strategy-cleanup-card.is-success {
  border-color: rgba(16, 185, 129, 0.26);
}

.strategy-cleanup-card.is-warning {
  border-color: rgba(245, 158, 11, 0.3);
}

.strategy-cleanup-card.is-danger {
  border-color: rgba(220, 38, 38, 0.28);
  background: rgba(254, 242, 242, 0.76);
}

.strategy-research-card {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.9));
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.strategy-research-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: #2563eb;
}

.strategy-research-card.is-outstanding::before {
  background: #059669;
}

.notes-shell {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  grid-column: 1 / -1;
  width: 100%;
}

.notes-page {
  align-items: start;
}

.notes-page > .form-message {
  grid-column: 1 / -1;
  margin: 0;
}

.notes-list-panel,
.note-workbench {
  min-width: 0;
}

.notes-list-panel::before,
.note-workbench::before {
  z-index: 0;
}

.notes-list-panel > *,
.note-workbench > * {
  position: relative;
  z-index: 1;
}

.note-workbench {
  display: grid;
  align-self: stretch;
  gap: 0.9rem;
}

.notes-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}

.note-command-row {
  display: grid;
  grid-template-columns: minmax(180px, 0.72fr) minmax(360px, auto) auto;
  gap: 0.62rem;
  align-items: center;
}

.notes-list-head h1 {
  margin: 0;
  color: var(--ink);
  font-size: 1.6rem;
}

.notes-filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(105px, 0.36fr);
  gap: 0.55rem;
  margin-top: 1rem;
}

.notes-list {
  display: grid;
  gap: 0.72rem;
  margin-top: 1rem;
  max-height: calc(100vh - 290px);
  overflow: auto;
  padding-right: 0.15rem;
}

.note-list-item {
  display: grid;
  gap: 0.5rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 12px;
  padding: 0.72rem 0.78rem;
  background: rgba(255, 255, 255, 0.84);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.note-list-item.is-due,
.note-list-item.is-overdue {
  border-color: rgba(245, 158, 11, 0.42);
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.96), rgba(255, 255, 255, 0.9));
}

.note-list-item.is-overdue {
  border-color: rgba(220, 38, 38, 0.34);
}

.note-list-item.is-done {
  opacity: 0.72;
}

.note-list-item.is-ignored {
  opacity: 0.64;
  border-color: rgba(148, 163, 184, 0.34);
  background: linear-gradient(135deg, rgba(241, 245, 249, 0.92), rgba(226, 232, 240, 0.82));
}

.note-list-item.is-active,
.note-list-item.is-active.is-due,
.note-list-item.is-active.is-overdue,
.note-list-item.is-active.is-done,
.note-list-item.is-active.is-ignored {
  border-color: rgba(168, 85, 247, 0.76);
  background: linear-gradient(135deg, rgba(88, 28, 135, 0.98), rgba(124, 58, 237, 0.82));
  box-shadow:
    inset 4px 0 0 #22d3ee,
    0 18px 38px rgba(88, 28, 135, 0.26);
  opacity: 1;
}

.note-list-item.is-active .note-list-title strong,
.note-list-item.is-active .note-list-title span {
  color: #ffffff;
}

.note-list-item.is-active .note-list-meta {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.note-list-top {
  display: block;
}

.note-list-title {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

.note-list-title:hover {
  transform: none;
}

.note-list-title strong {
  color: var(--ink);
  font-size: 0.92rem;
  line-height: 1.2;
}

.note-list-title span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.note-list-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(190px, 1fr));
  align-items: center;
  gap: 0.48rem;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-top: 0.48rem;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  scrollbar-width: thin;
}

.note-list-meta-item {
  display: flex;
  align-items: baseline;
  gap: 0.28rem;
  min-width: 0;
  border-radius: 999px;
  padding: 0.34rem 0.56rem;
  background: rgba(100, 116, 139, 0.1);
  color: #475569;
  font-size: 0.74rem;
  font-weight: 850;
}

.note-list-meta-item b {
  flex: 0 0 auto;
  color: #64748b;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.note-list-meta-item span {
  min-width: 0;
  overflow: hidden;
  color: #1e293b;
  font-size: 0.78rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.note-list-meta-item.is-entry {
  background: rgba(219, 234, 254, 0.82);
}

.note-list-meta-item.is-entry b {
  color: #1d4ed8;
}

.note-list-meta-item.is-entry span {
  color: #172554;
}

.note-list-meta-item.is-updated {
  background: rgba(220, 252, 231, 0.82);
}

.note-list-meta-item.is-updated b {
  color: #16a34a;
}

.note-list-meta-item.is-updated span {
  color: #14532d;
}

.note-list-meta-item.is-executed {
  background: rgba(255, 237, 213, 0.86);
}

.note-list-meta-item.is-executed b {
  color: #c2410c;
}

.note-list-meta-item.is-executed span {
  color: #7c2d12;
}

.note-list-meta-item.is-complete {
  background: rgba(220, 252, 231, 0.88);
}

.note-list-meta-item.is-complete b {
  color: #15803d;
}

.note-list-meta-item.is-complete span {
  color: #166534;
}

.note-list-meta-item.is-open {
  background: rgba(254, 243, 199, 0.92);
}

.note-list-meta-item.is-open b {
  color: #b45309;
}

.note-list-meta-item.is-open span {
  color: #92400e;
}

.note-list-meta-item.is-ignored {
  background: rgba(226, 232, 240, 0.92);
}

.note-list-meta-item.is-ignored b {
  color: #475569;
}

.note-list-meta-item.is-ignored span {
  color: #334155;
}

.note-form {
  display: grid;
  gap: 0.9rem;
}

.note-title-input {
  flex: 1 1 auto;
  min-width: 180px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 12px;
  padding: 0.62rem 0.78rem;
  background: rgba(15, 23, 42, 0.04);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 850;
}

.note-title-input:focus {
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.18);
}

.note-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: end;
  gap: 0.45rem;
}

.note-inline-controls {
  display: flex;
  align-items: end;
  justify-content: end;
  gap: 0.42rem;
}

.note-inline-field,
.note-inline-check {
  display: grid;
  gap: 0.22rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
}

.note-inline-field input {
  min-width: 142px;
  border-radius: 10px;
  padding: 0.58rem 0.64rem;
}

.note-inline-check {
  grid-template-columns: auto minmax(0, max-content);
  align-items: center;
  align-self: end;
  min-height: 41px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 10px;
  padding: 0.48rem 0.58rem;
  background: rgba(248, 250, 252, 0.86);
  color: var(--ink);
}

.note-inline-check-ignore {
  border-color: rgba(100, 116, 139, 0.36);
  background: rgba(226, 232, 240, 0.88);
}

.note-inline-check input {
  width: 18px;
  height: 18px;
}

.note-actions button {
  border-radius: 10px;
}

.note-paper {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  padding: clamp(1rem, 2.4vw, 1.6rem);
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), 0 22px 48px rgba(15, 23, 42, 0.1);
}

.note-paper::before,
.note-paper::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.note-paper::before {
  inset: 18px auto auto 18px;
  width: 130px;
  height: 130px;
  border-radius: 32px 90px 42px 80px;
  opacity: 0.2;
  transform: rotate(-12deg);
}

.note-paper::after {
  right: 20px;
  bottom: 20px;
  width: 170px;
  height: 80px;
  border-radius: 999px 30px 999px 30px;
  opacity: 0.18;
  transform: rotate(-8deg);
}

.note-editor {
  position: relative;
  z-index: 1;
  min-height: 500px;
  outline: none;
  color: #111827;
  line-height: 1.58;
}

.note-editor:empty::before {
  content: attr(data-placeholder);
  color: rgba(100, 116, 139, 0.72);
}

.note-editor img {
  display: block;
  max-width: min(100%, 920px);
  max-height: 540px;
  margin: 0.8rem 0;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.note-editor ul,
.note-editor ol {
  padding-left: 1.35rem;
}

.theme-aurora {
  background: linear-gradient(135deg, #f8fbff 0%, #ecfeff 46%, #fff7ed 100%);
}

.theme-aurora::before,
.theme-aurora::after {
  background: #22d3ee;
}

.theme-ink {
  background: linear-gradient(135deg, #f8fafc 0%, #e5e7eb 100%);
}

.theme-ink::before,
.theme-ink::after {
  background: #111827;
}

.theme-lotus {
  background: linear-gradient(135deg, #fff1f2 0%, #fff7ed 48%, #fdf2f8 100%);
}

.theme-lotus::before,
.theme-lotus::after {
  background: #db2777;
}

.theme-ember {
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 45%, #fef2f2 100%);
}

.theme-ember::before,
.theme-ember::after {
  background: #ea580c;
}

.theme-mint {
  background: linear-gradient(135deg, #f0fdf4 0%, #f7fee7 45%, #eff6ff 100%);
}

.theme-mint::before,
.theme-mint::after {
  background: #10b981;
}

.theme-royal {
  background: linear-gradient(135deg, #eef2ff 0%, #f5f3ff 48%, #faf5ff 100%);
}

.theme-royal::before,
.theme-royal::after {
  background: #4f46e5;
}

.layout-ribbon {
  border-left: 10px solid rgba(37, 99, 235, 0.42);
}

.layout-ribbon::after {
  top: 24px;
  right: -24px;
  bottom: auto;
  width: 220px;
  height: 48px;
  border-radius: 0;
  transform: rotate(28deg);
}

.layout-folio {
  border-radius: 8px 28px 8px 28px;
}

.layout-folio::before {
  inset: 0 0 auto auto;
  width: 92px;
  height: 92px;
  border-radius: 0 18px 0 92px;
  transform: none;
}

.layout-constellation {
  background-image:
    radial-gradient(circle at 18% 18%, rgba(37, 99, 235, 0.12) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 28%, rgba(245, 158, 11, 0.14) 0 2px, transparent 3px),
    radial-gradient(circle at 64% 78%, rgba(20, 184, 166, 0.14) 0 2px, transparent 3px);
}

.layout-ledger .note-editor {
  background-image: linear-gradient(rgba(100, 116, 139, 0.14) 1px, transparent 1px);
  background-size: 100% 34px;
}

.layout-canvas {
  border-radius: 30px 10px 30px 10px;
}

.layout-canvas::before {
  width: 72px;
  height: 260px;
  border-radius: 999px;
}

@media (max-width: 1100px) {
  .notes-shell {
    grid-template-columns: 1fr;
  }

  .notes-list {
    max-height: none;
  }
}

@media (max-width: 720px) {
  .notes-list-head,
  .note-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .note-command-row {
    grid-template-columns: 1fr;
  }

  .note-inline-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .note-inline-field input,
  .note-inline-check {
    width: 100%;
  }

  .notes-filter-row {
    grid-template-columns: 1fr;
  }

  .note-title-input {
    min-width: 0;
    width: 100%;
  }

  .note-actions button {
    width: 100%;
  }

  .note-paper {
    min-height: 460px;
  }

  .note-editor {
    min-height: 400px;
  }
}

/* Strategy Control Center: compact guided-refinement result workspace. */
.idle-result-modal.is-refinement-result {
  z-index: 10050;
}

.idle-result-modal.is-refinement-result .idle-result-card {
  width: min(1120px, calc(100vw - 28px));
  max-width: none;
  max-height: min(92vh, 980px);
  gap: 10px;
  padding: 14px;
  overflow: hidden;
  border-color: rgba(124, 58, 237, .42);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% -10%, rgba(34, 211, 238, .14), transparent 29%),
    radial-gradient(circle at 92% 0%, rgba(236, 72, 153, .13), transparent 28%),
    #120d1a;
}

.idle-result-modal.is-refinement-result .trade-detail-head {
  position: relative;
  margin: 0;
  padding: 10px 12px 11px;
  overflow: hidden;
  border: 1px solid rgba(139, 92, 246, .25);
  border-radius: 15px;
  background:
    linear-gradient(120deg, rgba(30, 64, 175, .28), rgba(109, 40, 217, .24) 45%, rgba(190, 24, 93, .2));
}

.idle-result-modal.is-refinement-result .trade-detail-head::after {
  position: absolute;
  right: 78px;
  bottom: -55px;
  width: 160px;
  height: 105px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  content: "";
}

.idle-result-modal.is-refinement-result .trade-detail-title-block {
  gap: 2px;
}

.idle-result-modal.is-refinement-result .trade-detail-title-block .section-kicker {
  color: #c4b5fd;
  font-size: .61rem;
  letter-spacing: .13em;
}

.idle-result-modal.is-refinement-result .trade-detail-title-block h2 {
  color: #fff;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  letter-spacing: -.025em;
}

.idle-result-modal.is-refinement-result .trade-detail-title-block p {
  max-width: 860px;
  color: #d9d2e4;
  font-size: .75rem;
  line-height: 1.4;
}

.idle-result-modal.is-refinement-result .idle-result-body {
  min-height: 0;
  gap: 10px;
  padding: 0 2px 2px;
  overflow: auto;
  scrollbar-color: rgba(139, 92, 246, .65) transparent;
}

.idle-refinement-phase-rail {
  position: sticky;
  top: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(139, 92, 246, .22);
  border-radius: 14px;
  background: rgba(18, 13, 26, .94);
  backdrop-filter: blur(12px);
}

.idle-refinement-phase {
  position: relative;
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  min-width: 0;
  gap: 0 7px;
  padding: 7px 8px;
  border: 1px solid rgba(148, 163, 184, .13);
  border-radius: 10px;
  background: rgba(255, 255, 255, .025);
}

.idle-refinement-phase i {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 9px;
  color: #a9a0b7;
  background: rgba(15, 23, 42, .45);
  font-size: .7rem;
  font-style: normal;
  font-weight: 950;
}

.idle-refinement-phase b,
.idle-refinement-phase small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-refinement-phase b {
  color: #dcd5e5;
  font-size: .69rem;
}

.idle-refinement-phase small {
  color: #857b92;
  font-size: .55rem;
  font-weight: 800;
  text-transform: uppercase;
}

.idle-refinement-phase.is-complete {
  border-color: rgba(16, 185, 129, .22);
  background: linear-gradient(135deg, rgba(16, 185, 129, .1), rgba(255, 255, 255, .02));
}

.idle-refinement-phase.is-complete i {
  border-color: rgba(16, 185, 129, .48);
  color: #bbf7d0;
  background: rgba(6, 95, 70, .4);
}

.idle-refinement-phase.is-current {
  border-color: rgba(167, 139, 250, .48);
  background: linear-gradient(135deg, rgba(37, 99, 235, .2), rgba(124, 58, 237, .24), rgba(219, 39, 119, .12));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
}

.idle-refinement-phase.is-current i {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #8b5cf6, #ec4899);
}

.idle-refinement-phase.is-current b { color: #fff; }
.idle-refinement-phase.is-current small { color: #d8b4fe; }
.idle-refinement-phase.is-locked { opacity: .58; }

.idle-result-grid.is-refinement {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.idle-result-grid.is-refinement article {
  position: relative;
  min-height: 62px;
  padding: 9px 10px 8px 13px;
  overflow: hidden;
  border-color: rgba(148, 163, 184, .16);
  border-radius: 10px;
  background: rgba(255, 255, 255, .035);
}

.idle-result-grid.is-refinement article::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #22d3ee;
  content: "";
}

.idle-result-grid.is-refinement article.is-violet::before { background: #a78bfa; }
.idle-result-grid.is-refinement article.is-emerald::before { background: #34d399; }
.idle-result-grid.is-refinement article.is-amber::before { background: #14b8a6; }
.idle-result-grid.is-refinement article.is-rose::before { background: #fb7185; }

.idle-result-grid.is-refinement article span {
  color: #9f96ad;
  font-size: .56rem;
  letter-spacing: .075em;
}

.idle-result-grid.is-refinement article strong {
  margin-top: 3px;
  overflow: hidden;
  color: #fff;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-intelligence-section {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 14px;
  background: rgba(255, 255, 255, .025);
}

.idle-intelligence-section.is-criteria {
  border-color: rgba(139, 92, 246, .25);
  background: linear-gradient(145deg, rgba(109, 40, 217, .1), rgba(255, 255, 255, .018) 55%);
}

.idle-intelligence-section.is-hold {
  border-color: rgba(34, 211, 238, .24);
  background: linear-gradient(145deg, rgba(8, 145, 178, .09), rgba(255, 255, 255, .018) 55%);
}

.idle-intelligence-section.is-target {
  border-color: rgba(245, 158, 11, .25);
  background: linear-gradient(145deg, rgba(180, 83, 9, .09), rgba(255, 255, 255, .018) 55%);
}

.idle-intelligence-section-head {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
}

.idle-intelligence-section-head > i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(167, 139, 250, .38);
  border-radius: 9px;
  color: #ddd6fe;
  background: rgba(91, 33, 182, .28);
  font-size: .64rem;
  font-style: normal;
  font-weight: 950;
}

.is-hold .idle-intelligence-section-head > i {
  border-color: rgba(34, 211, 238, .34);
  color: #cffafe;
  background: rgba(14, 116, 144, .28);
}

.is-target .idle-intelligence-section-head > i {
  border-color: rgba(251, 191, 36, .34);
  color: #fef3c7;
  background: rgba(180, 83, 9, .28);
}

.idle-intelligence-section-head div { min-width: 0; }

.idle-intelligence-section-head h3 {
  margin: 0;
  color: #fff;
  font-size: .81rem;
}

.idle-intelligence-section-head p {
  margin: 2px 0 0;
  overflow: hidden;
  color: #a9a0b7;
  font-size: .64rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-intelligence-section-head > span {
  padding: 4px 8px;
  border: 1px solid rgba(167, 139, 250, .26);
  border-radius: 999px;
  color: #ddd6fe;
  background: rgba(124, 58, 237, .14);
  font-size: .58rem;
  font-weight: 900;
  white-space: nowrap;
}

.idle-criterion-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.idle-criterion-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 11px;
  background: rgba(7, 4, 12, .32);
}

.idle-criterion-card.is-selected {
  border-color: rgba(167, 139, 250, .34);
  background: linear-gradient(145deg, rgba(91, 33, 182, .16), rgba(7, 4, 12, .34));
}

.idle-criterion-card > header {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
}

.idle-criterion-card > header > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  color: #c4b5fd;
  background: rgba(124, 58, 237, .2);
  font-size: .6rem;
  font-weight: 950;
}

.idle-criterion-card > header div {
  display: grid;
  min-width: 0;
}

.idle-criterion-card > header strong,
.idle-criterion-card > header small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-criterion-card > header strong { color: #fff; font-size: .72rem; }
.idle-criterion-card > header small { color: #8f859c; font-size: .55rem; }

.idle-criterion-card > header > b {
  padding: 3px 6px;
  border: 1px solid rgba(52, 211, 153, .28);
  border-radius: 999px;
  color: #a7f3d0;
  background: rgba(5, 150, 105, .14);
  font-size: .52rem;
  text-transform: uppercase;
}

.idle-criterion-score {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

.idle-criterion-score span,
.idle-target-summary > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 5px 6px;
  border-radius: 7px;
  background: rgba(255, 255, 255, .035);
}

.idle-criterion-score small,
.idle-target-summary small,
.idle-criterion-range small {
  color: #8f859c;
  font-size: .49rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.idle-criterion-score strong,
.idle-target-summary strong {
  overflow: hidden;
  color: #eee9f5;
  font-size: .66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-criterion-cohorts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.idle-criterion-cohorts > span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1px 6px;
  padding: 6px 7px;
  border-left: 2px solid #34d399;
  border-radius: 7px;
  background: rgba(16, 185, 129, .07);
}

.idle-criterion-cohorts > span.is-loser {
  border-left-color: #fb7185;
  background: rgba(244, 63, 94, .07);
}

.idle-criterion-cohorts small { color: #aaa1b6; font-size: .52rem; font-weight: 850; }
.idle-criterion-cohorts strong { color: #fff; font-size: .69rem; }
.idle-criterion-cohorts em,
.idle-criterion-cohorts i { color: #8f859c; font-size: .5rem; font-style: normal; }
.idle-criterion-cohorts i { text-align: right; }

.idle-criterion-categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.idle-criterion-categories > span {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1px 4px;
  min-width: 0;
  padding: 5px 6px;
  border-radius: 7px;
  background: rgba(255, 255, 255, .03);
}

.idle-criterion-categories small {
  grid-column: 1 / -1;
  overflow: hidden;
  color: #aaa1b6;
  font-size: .5rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-criterion-categories b,
.idle-criterion-categories em {
  color: #6ee7b7;
  font-size: .5rem;
  font-style: normal;
}

.idle-criterion-categories em { color: #fda4af; }

.idle-criterion-range {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.25fr);
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border: 1px dashed rgba(167, 139, 250, .24);
  border-radius: 8px;
  background: rgba(124, 58, 237, .06);
}

.idle-criterion-range span { display: grid; min-width: 0; gap: 1px; }
.idle-criterion-range b,
.idle-criterion-range strong { overflow: hidden; color: #fff; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.idle-criterion-range strong { color: #c4b5fd; }
.idle-criterion-range > i { color: #8b5cf6; font-size: .72rem; font-style: normal; }

.idle-hold-layout,
.idle-target-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, .7fr);
  gap: 7px;
}

.idle-hold-cohorts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.idle-hold-cohorts article {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px;
  border: 1px solid rgba(34, 211, 238, .13);
  border-radius: 8px;
  background: rgba(8, 145, 178, .07);
}

.idle-hold-cohorts span,
.idle-candidate-card > span { color: #8f9eac; font-size: .51rem; font-weight: 850; text-transform: uppercase; }
.idle-hold-cohorts strong { color: #cffafe; font-size: .72rem; }
.idle-hold-cohorts small,
.idle-hold-cohorts b { overflow: hidden; color: #9da6b2; font-size: .51rem; text-overflow: ellipsis; white-space: nowrap; }

.idle-candidate-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.idle-intelligence-verdict {
  grid-column: 1 / -1;
  display: grid;
  gap: 1px;
  padding: 7px 8px;
  border-left: 3px solid #14b8a6;
  border-radius: 8px;
  background: rgba(180, 83, 9, .1);
}

.idle-intelligence-verdict.is-supported {
  border-left-color: #34d399;
  background: rgba(5, 150, 105, .09);
}

.idle-intelligence-verdict small { color: #9e94aa; font-size: .51rem; text-transform: uppercase; }
.idle-intelligence-verdict strong { color: #fff; font-size: .65rem; }

.idle-candidate-card {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px;
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 8px;
  background: rgba(255, 255, 255, .025);
}

.idle-candidate-card.is-hold { border-color: rgba(34, 211, 238, .18); }
.idle-candidate-card.is-target { border-color: rgba(251, 191, 36, .2); }
.idle-candidate-card.is-blocked { opacity: .6; }
.idle-candidate-card > strong { color: #fff; font-size: .78rem; }
.idle-candidate-card > b { color: #c4b5fd; font-size: .51rem; }
.idle-candidate-card > small,
.idle-candidate-card > em,
.idle-candidate-card div small { color: #9f96aa; font-size: .5rem; font-style: normal; }
.idle-candidate-card div { display: flex; flex-wrap: wrap; gap: 5px; }

.idle-target-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.idle-target-candidates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.idle-target-evidence {
  display: grid;
  align-content: start;
  gap: 4px;
  max-height: 190px;
  overflow: auto;
}

.idle-target-evidence > span {
  padding: 5px 7px;
  border-left: 2px solid #14b8a6;
  border-radius: 6px;
  color: #cfc6d8;
  background: rgba(180, 83, 9, .07);
  font-size: .56rem;
  line-height: 1.35;
}

.idle-intelligence-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 9px;
  border: 1px dashed rgba(148, 163, 184, .2);
  border-radius: 8px;
  color: #9f96aa;
  background: rgba(255, 255, 255, .02);
  font-size: .63rem;
}

.idle-result-modal.is-refinement-result .idle-result-section {
  gap: 6px;
  padding: 9px 10px;
  border-color: rgba(148, 163, 184, .15);
  border-radius: 11px;
  background: rgba(255, 255, 255, .025);
}

.idle-result-modal.is-refinement-result .idle-result-section.is-candidate { border-left: 3px solid #a78bfa; }
.idle-result-modal.is-refinement-result .idle-result-section.is-limitation { border-left: 3px solid #14b8a6; }
.idle-result-modal.is-refinement-result .idle-result-section.is-policy { border-left: 3px solid #22d3ee; }
.idle-result-modal.is-refinement-result .idle-result-section.is-evidence { border-left: 3px solid #60a5fa; }
.idle-result-modal.is-refinement-result .idle-result-section.is-safeguard { border-left: 3px solid #34d399; }

.idle-result-modal.is-refinement-result .idle-result-section h3 {
  color: #b8afc2;
  font-size: .58rem;
}

.idle-result-modal.is-refinement-result .idle-result-section ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 16px;
  padding-left: 15px;
}

.idle-result-modal.is-refinement-result .idle-result-section li {
  color: #d4ccdc;
  font-size: .62rem;
  line-height: 1.35;
}

.idle-result-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 24px;
  cursor: pointer;
  list-style: none;
}

.idle-result-disclosure > summary::-webkit-details-marker { display: none; }

.idle-result-disclosure > summary::after {
  color: #a78bfa;
  content: "+";
  font-size: .8rem;
  font-weight: 950;
}

.idle-result-disclosure[open] > summary::after { content: "-"; }

.idle-result-disclosure > summary h3 { margin: 0; }

.idle-result-disclosure > summary span {
  margin-left: auto;
  color: #8f859c;
  font-size: .54rem;
  font-weight: 850;
}

.idle-result-disclosure > summary:focus-visible {
  border-radius: 5px;
  outline: 2px solid #67e8f9;
  outline-offset: 3px;
}

.idle-optimization-section {
  border-color: rgba(96, 165, 250, .22);
  background: linear-gradient(145deg, rgba(30, 64, 175, .09), rgba(109, 40, 217, .055) 50%, rgba(255, 255, 255, .018));
}

.idle-optimization-section.is-comparison {
  border-color: rgba(52, 211, 153, .24);
  background: linear-gradient(145deg, rgba(5, 150, 105, .085), rgba(37, 99, 235, .07) 58%, rgba(255, 255, 255, .018));
}

.idle-optimization-section.is-target-attempts { border-color: rgba(251, 191, 36, .22); }
.idle-optimization-section.is-hold-attempts { border-color: rgba(34, 211, 238, .22); }
.idle-optimization-section.is-decisions { border-color: rgba(167, 139, 250, .24); }

.idle-optimization-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
  align-items: stretch;
  gap: 7px;
}

.idle-optimization-comparison-arrow {
  display: grid;
  place-items: center;
  color: #6ee7b7;
  font-size: 1rem;
  font-weight: 950;
}

.idle-optimization-metric-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 11px;
  background: rgba(7, 4, 12, .3);
}

.idle-optimization-metric-card.is-baseline { border-left: 3px solid #60a5fa; }
.idle-optimization-metric-card.is-best { border-left: 3px solid #34d399; }

.idle-optimization-metric-card > header {
  display: grid;
  gap: 1px;
}

.idle-optimization-metric-card > header span { color: #fff; font-size: .7rem; font-weight: 900; }
.idle-optimization-metric-card > header small { color: #8f96a7; font-size: .52rem; }

.idle-optimization-metric-card > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}

.idle-optimization-metric-card > div > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 5px 6px;
  border-radius: 7px;
  background: rgba(255, 255, 255, .035);
}

.idle-optimization-metric-card > div > span small,
.idle-optimization-trace-values small,
.idle-optimization-attempt-value small {
  color: #8f96a7;
  font-size: .48rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.idle-optimization-metric-card > div > span strong {
  overflow: hidden;
  color: #edfdf7;
  font-size: .63rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-optimization-decision-note {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border-left: 3px solid #34d399;
  border-radius: 8px;
  background: rgba(5, 150, 105, .075);
}

.idle-optimization-decision-note small { color: #6ee7b7; font-size: .5rem; font-weight: 900; text-transform: uppercase; }
.idle-optimization-decision-note strong { color: #fff; font-size: .62rem; }
.idle-optimization-decision-note span { overflow: hidden; color: #a9b2bb; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }

.idle-optimization-trace-grid,
.idle-optimization-attempt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.idle-optimization-attempt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.idle-optimization-trace-card,
.idle-optimization-attempt-card {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 10px;
  background: rgba(7, 4, 12, .3);
}

.idle-optimization-trace-card.is-accepted,
.idle-optimization-attempt-card.is-accepted { border-color: rgba(52, 211, 153, .3); }
.idle-optimization-trace-card.is-rejected,
.idle-optimization-attempt-card.is-rejected { border-color: rgba(251, 113, 133, .26); }

.idle-optimization-trace-card > header {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
}

.idle-optimization-trace-card > header > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  color: #bfdbfe;
  background: rgba(37, 99, 235, .2);
  font-size: .56rem;
  font-weight: 950;
}

.idle-optimization-trace-card > header div { display: grid; min-width: 0; }
.idle-optimization-trace-card > header strong { overflow: hidden; color: #fff; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.idle-optimization-trace-card > header small { color: #8f96a7; font-size: .49rem; }
.idle-optimization-trace-card > header b,
.idle-optimization-attempt-card > header b {
  padding: 3px 6px;
  border: 1px solid rgba(148, 163, 184, .2);
  border-radius: 999px;
  color: #cbd5e1;
  background: rgba(148, 163, 184, .08);
  font-size: .48rem;
  text-transform: uppercase;
}

.idle-optimization-trace-card.is-accepted > header b,
.idle-optimization-attempt-card.is-accepted > header b { border-color: rgba(52, 211, 153, .25); color: #a7f3d0; background: rgba(5, 150, 105, .12); }
.idle-optimization-trace-card.is-rejected > header b,
.idle-optimization-attempt-card.is-rejected > header b { border-color: rgba(251, 113, 133, .24); color: #fecdd3; background: rgba(190, 18, 60, .11); }

.idle-optimization-trace-values,
.idle-optimization-attempt-value {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 5px;
}

.idle-optimization-trace-values > span,
.idle-optimization-attempt-value > span { display: grid; min-width: 0; gap: 1px; padding: 5px 6px; border-radius: 7px; background: rgba(255, 255, 255, .03); }
.idle-optimization-trace-values strong,
.idle-optimization-attempt-value strong { overflow: hidden; color: #fff; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.idle-optimization-trace-values > i,
.idle-optimization-attempt-value > i { color: #818cf8; font-size: .66rem; font-style: normal; }

.idle-optimization-metric-chips,
.idle-optimization-attempt-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.idle-optimization-metric-chips > span,
.idle-optimization-attempt-strip > span {
  display: grid;
  gap: 1px;
  padding: 4px 5px;
  border-radius: 6px;
  background: rgba(255, 255, 255, .035);
}

.idle-optimization-metric-chips small,
.idle-optimization-attempt-strip small { color: #8f96a7; font-size: .45rem; }
.idle-optimization-metric-chips strong,
.idle-optimization-attempt-strip b { color: #e2e8f0; font-size: .52rem; }
.idle-optimization-attempt-strip > span.is-accepted { background: rgba(5, 150, 105, .1); }
.idle-optimization-attempt-strip > span.is-rejected { background: rgba(190, 18, 60, .1); }

.idle-optimization-trace-card > p,
.idle-optimization-attempt-card > p {
  margin: 0;
  color: #9ca3af;
  font-size: .53rem;
  line-height: 1.35;
}

.idle-optimization-attempt-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.idle-optimization-attempt-card > header > span { overflow: hidden; color: #fff; font-size: .64rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }

.idle-optimization-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.idle-optimization-decision-column {
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(148, 163, 184, .14);
  border-radius: 9px;
  background: rgba(255, 255, 255, .02);
}

.idle-optimization-decision-column.is-accepted { border-left: 3px solid #34d399; }
.idle-optimization-decision-column.is-rejected { border-left: 3px solid #fb7185; }
.idle-optimization-decision-column > header { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.idle-optimization-decision-column > header strong { color: #fff; font-size: .62rem; }
.idle-optimization-decision-column > header span { color: #94a3b8; font-size: .54rem; font-weight: 900; }
.idle-optimization-decision-column > div { display: grid; gap: 4px; max-height: 170px; overflow: auto; }
.idle-optimization-decision-column > div > span { display: grid; gap: 1px; padding: 5px 6px; border-radius: 6px; background: rgba(255, 255, 255, .028); }
.idle-optimization-decision-column > div b { color: #dce4ec; font-size: .54rem; }
.idle-optimization-decision-column > div small { color: #9099a5; font-size: .49rem; line-height: 1.3; }

.idle-optimization-stop-reasons {
  display: grid;
  gap: 3px;
  padding: 7px 8px;
  border-left: 3px solid #14b8a6;
  border-radius: 8px;
  background: rgba(180, 83, 9, .075);
}

.idle-optimization-stop-reasons strong { color: #fde68a; font-size: .54rem; text-transform: uppercase; }
.idle-optimization-stop-reasons span { color: #b9b1a7; font-size: .52rem; }

.idle-refinement-next-step {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 10px;
  border: 1px solid rgba(52, 211, 153, .3);
  border-radius: 12px;
  background:
    linear-gradient(110deg, rgba(6, 78, 59, .94), rgba(30, 41, 59, .96) 54%, rgba(76, 29, 149, .94));
  box-shadow: 0 -8px 28px rgba(5, 3, 9, .34);
  backdrop-filter: blur(12px);
}

.idle-refinement-next-step > div {
  display: grid;
  min-width: 0;
  gap: 1px;
}

.idle-refinement-next-step span { color: #6ee7b7; font-size: .53rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.idle-refinement-next-step strong { color: #fff; font-size: .74rem; }
.idle-refinement-next-step small { overflow: hidden; color: #c9c1d3; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.idle-refinement-next-button { flex: 0 0 auto; min-height: 36px; padding: 8px 12px; font-size: .65rem; white-space: nowrap; }
.idle-refinement-next-button b { margin-left: 4px; }

.idle-validation-next-step > div:first-child { flex: 1 1 340px; }

.idle-refinement-next-step > .idle-validation-next-actions {
  display: flex;
  flex: 1 1 420px;
  flex-wrap: wrap;
  align-content: center;
  justify-content: flex-end;
  gap: 6px;
}

.idle-validation-next-actions .idle-refinement-next-button {
  min-width: min(100%, 210px);
  white-space: normal;
}

.idle-validation-progress-section {
  border-color: rgba(167, 139, 250, .3);
  background: linear-gradient(145deg, rgba(76, 29, 149, .16), rgba(255, 255, 255, .018) 58%);
}

.idle-validation-progress-summary {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(120px, .5fr));
  gap: 7px;
}

.idle-validation-progress-summary > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .035);
}

.idle-validation-progress-summary small {
  color: #9f96ad;
  font-size: .5rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.idle-validation-progress-summary strong {
  overflow: hidden;
  color: #f5f3ff;
  font-size: .66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-validation-progress {
  margin: 1px 0 0;
  background: rgba(15, 23, 42, .65);
}

.idle-validation-progress i {
  background: linear-gradient(90deg, #2563eb, #8b5cf6 55%, #34d399);
}

.idle-validation-comparison { border-color: rgba(52, 211, 153, .24); }

.idle-refinement-next-button:focus-visible,
.idle-result-modal.is-refinement-result .trade-detail-close:focus-visible {
  outline: 2px solid #67e8f9;
  outline-offset: 3px;
}

.idle-impact-recommendation {
  border-color: rgba(52, 211, 153, .3);
  background: linear-gradient(145deg, rgba(6, 95, 70, .16), rgba(255, 255, 255, .018) 58%);
}

.idle-impact-recommendation.is-split {
  border-color: rgba(167, 139, 250, .34);
  background: linear-gradient(145deg, rgba(91, 33, 182, .17), rgba(255, 255, 255, .018) 58%);
}

.idle-impact-recommendation.is-no-action {
  border-color: rgba(251, 191, 36, .3);
  background: linear-gradient(145deg, rgba(146, 64, 14, .15), rgba(255, 255, 255, .018) 58%);
}

.idle-impact-recommendation-body {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(130px, .35fr) minmax(260px, 1.4fr);
  gap: 7px;
}

.idle-impact-recommendation-body > span,
.idle-impact-recommendation-body > p {
  min-width: 0;
  margin: 0;
  padding: 9px 10px;
  border: 1px solid rgba(148, 163, 184, .15);
  border-radius: 10px;
  background: rgba(15, 23, 42, .34);
}

.idle-impact-recommendation-body small,
.idle-impact-recommendation-body strong {
  display: block;
}

.idle-impact-recommendation-body small {
  color: #9f96ad;
  font-size: .54rem;
  font-weight: 850;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.idle-impact-recommendation-body strong {
  margin-top: 3px;
  color: #ecfdf5;
  font-size: .78rem;
}

.idle-impact-recommendation-body p {
  color: #d8d1e0;
  font-size: .65rem;
  line-height: 1.45;
}

.idle-impact-comparison {
  border-color: rgba(34, 211, 238, .22);
}

.idle-impact-configuration {
  border-color: rgba(167, 139, 250, .24);
}

@media (max-width: 900px) {
  .idle-refinement-phase-rail,
  .idle-result-grid.is-refinement,
  .idle-target-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idle-criterion-card-grid,
  .idle-hold-layout,
  .idle-target-layout { grid-template-columns: 1fr; }
  .idle-optimization-attempt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idle-optimization-metric-card > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .idle-hold-cohorts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idle-impact-recommendation-body { grid-template-columns: 1fr 1fr; }
  .idle-impact-recommendation-body > p { grid-column: 1 / -1; }
  .idle-validation-progress-summary { grid-template-columns: 1fr 1fr; }
  .idle-validation-progress-summary > span:first-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .idle-result-modal.is-refinement-result { padding: 8px; }
  .idle-result-modal.is-refinement-result .idle-result-card { width: 100%; padding: 9px; border-radius: 16px; }
  .idle-refinement-phase-rail { grid-template-columns: 1fr 1fr; }
  .idle-result-grid.is-refinement { grid-template-columns: 1fr; }
  .idle-refinement-phase { grid-template-columns: 23px minmax(0, 1fr); padding: 5px; }
  .idle-refinement-phase i { width: 23px; height: 23px; }
  .idle-criterion-score,
  .idle-hold-cohorts,
  .idle-target-candidates,
  .idle-optimization-metric-card > div,
  .idle-result-modal.is-refinement-result .idle-result-section ul { grid-template-columns: 1fr 1fr; }
  .idle-optimization-comparison { grid-template-columns: 1fr; }
  .idle-optimization-comparison-arrow { transform: rotate(90deg); }
  .idle-optimization-trace-grid,
  .idle-optimization-attempt-grid,
  .idle-optimization-decision-grid { grid-template-columns: 1fr; }
  .idle-optimization-decision-note { grid-template-columns: auto minmax(0, 1fr); }
  .idle-optimization-decision-note span { grid-column: 1 / -1; white-space: normal; }
  .idle-intelligence-section-head { grid-template-columns: 28px minmax(0, 1fr); }
  .idle-intelligence-section-head > span { grid-column: 2; justify-self: start; }
  .idle-refinement-next-step { align-items: stretch; flex-direction: column; }
  .idle-refinement-next-button { width: 100%; }
  .idle-validation-next-actions { width: 100%; }
  .idle-validation-progress-summary { grid-template-columns: 1fr; }
  .idle-validation-progress-summary > span:first-child { grid-column: auto; }
  .idle-impact-recommendation-body { grid-template-columns: 1fr; }
  .idle-impact-recommendation-body > p { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .idle-result-modal.is-refinement-result *,
  .idle-refinement-next-button,
  .idle-result-modal.is-refinement-result .trade-detail-close {
    scroll-behavior: auto;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.strategy-research-card.is-good::before {
  background: #0f766e;
}

.strategy-research-card.is-watch::before {
  background: #d97706;
}

.strategy-research-card.is-weak::before {
  background: #dc2626;
}

.strategy-research-card.is-empty::before {
  background: #64748b;
}

.strategy-research-card summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 20px 22px 20px 26px;
  cursor: pointer;
}

.strategy-lab-table-row {
  border: 1px solid rgba(145, 173, 214, 0.24);
  box-shadow: 0 14px 34px rgba(28, 45, 84, 0.07);
}

.strategy-lab-table-row[open] {
  border-color: rgba(20, 184, 166, 0.28);
  box-shadow: 0 18px 42px rgba(14, 116, 144, 0.11);
}

.strategy-lab-row-summary {
  grid-template-columns: minmax(260px, 1.35fr) minmax(520px, 2.1fr) auto;
  min-height: 78px;
  padding: 15px 18px 15px 24px;
}

.strategy-lab-row-name {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.strategy-lab-row-name strong,
.strategy-lab-row-name small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-lab-row-name strong {
  color: var(--ink);
  font-size: 0.98rem;
}

.strategy-lab-row-name small {
  margin-top: 3px;
  color: var(--ink-subtle);
  font-weight: 800;
  font-size: 0.74rem;
}

.strategy-lab-row-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(84px, 1fr));
  gap: 8px;
  min-width: 0;
}

.strategy-lab-kpi {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 13px;
  border: 1px solid rgba(145, 173, 214, 0.22);
  background: rgba(248, 251, 255, 0.88);
}

.strategy-lab-kpi small,
.strategy-lab-kpi strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-lab-kpi small {
  color: var(--ink-subtle);
  font-size: 0.65rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.strategy-lab-kpi strong {
  margin-top: 3px;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 950;
}

.strategy-lab-kpi.is-positive strong {
  color: #047857;
}

.strategy-lab-kpi.is-negative strong {
  color: #dc2626;
}

.strategy-lab-row-pills {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
  max-width: min(100%, 620px);
  max-height: 76px;
  overflow: hidden;
}

.strategy-lab-row-pills .insight-pill {
  flex: 0 1 auto;
  min-width: 0;
  min-height: 22px;
  max-width: 160px;
  padding: 3px 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.66rem;
  line-height: 1.1;
}

.strategy-lab-row-body {
  padding: 0 18px 18px 24px;
}

.strategy-lab-compact-actions {
  padding: 10px;
  border-radius: 14px;
}

.strategy-lab-compact-actions .success-button,
.strategy-lab-compact-actions .danger-button {
  min-height: 40px;
  padding: 9px 13px;
}

.strategy-lab-recommendation-board {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(20, 184, 166, 0.24);
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.92), rgba(255, 255, 255, 0.94)),
    linear-gradient(90deg, rgba(219, 234, 254, 0.46), transparent);
}

.strategy-lab-recommendation-board.is-empty {
  border-color: rgba(145, 173, 214, 0.22);
  background: rgba(248, 251, 255, 0.82);
}

.strategy-lab-recommendation-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px 12px;
  align-items: center;
}

.strategy-lab-recommendation-head strong {
  color: var(--ink);
  font-size: 1rem;
}

.strategy-lab-recommendation-head small {
  grid-column: 1 / -1;
  color: var(--ink-muted);
  font-weight: 780;
}

.strategy-lab-blocker-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px;
}

.strategy-lab-blocker-pill {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid rgba(145, 173, 214, 0.28);
  border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(239, 246, 255, 0.72));
}

.strategy-lab-blocker-pill b {
  color: var(--ink);
  font-size: 0.82rem;
}

.strategy-lab-blocker-pill span {
  color: var(--ink-muted);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.35;
}

.strategy-lab-change-list {
  display: grid;
  gap: 9px;
}

.strategy-lab-change-row {
  display: grid;
  grid-template-columns: minmax(280px, 1.15fr) minmax(420px, 1.55fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(145, 173, 214, 0.24);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 24px rgba(28, 45, 84, 0.055);
}

.strategy-lab-change-row.is-warning {
  border-color: rgba(245, 158, 11, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.68), rgba(255, 255, 255, 0.92));
}

.strategy-lab-change-row.is-success {
  border-color: rgba(5, 150, 105, 0.24);
  background:
    linear-gradient(135deg, rgba(236, 253, 245, 0.72), rgba(255, 255, 255, 0.92));
}

.strategy-lab-change-row.is-danger {
  border-color: rgba(225, 29, 72, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 241, 242, 0.72), rgba(255, 255, 255, 0.92));
}

.strategy-lab-change-copy {
  min-width: 0;
}

.strategy-lab-change-copy span {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  color: var(--ink-subtle);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.strategy-lab-change-copy em {
  font-style: normal;
  color: #0f766e;
}

.strategy-lab-policy-pill {
  display: grid;
  gap: 2px;
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 10px;
  background: rgba(239, 246, 255, 0.74);
}

.strategy-lab-policy-pill.is-ready {
  border-color: rgba(20, 184, 166, 0.26);
  background: rgba(240, 253, 250, 0.82);
}

.strategy-lab-policy-pill.is-watch {
  border-color: rgba(245, 158, 11, 0.26);
  background: rgba(255, 251, 235, 0.82);
}

.strategy-lab-policy-pill b {
  color: var(--ink);
  font-size: 0.76rem;
  text-transform: uppercase;
}

.strategy-lab-policy-pill small {
  color: var(--ink-muted);
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.strategy-lab-change-copy h4,
.strategy-lab-change-copy p {
  margin: 0;
}

.strategy-lab-change-copy h4 {
  margin-top: 6px;
  color: var(--ink);
  font-size: 0.96rem;
}

.strategy-lab-change-copy p {
  margin-top: 4px;
  color: var(--ink-muted);
  line-height: 1.38;
  font-size: 0.84rem;
}

.strategy-lab-change-copy small {
  display: block;
  margin-top: 7px;
  color: #0f766e;
  font-size: 0.76rem;
  font-weight: 850;
  line-height: 1.35;
}

.strategy-lab-change-values {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}

.strategy-lab-change-values.is-queue {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  width: min(100%, 520px);
  max-width: 520px;
}

.strategy-lab-change-token {
  display: grid;
  min-width: 0;
  max-width: 100%;
  padding: 9px;
  border-radius: 13px;
  border: 1px solid rgba(145, 173, 214, 0.22);
  background: rgba(248, 251, 255, 0.86);
}

.strategy-lab-change-token small {
  color: var(--ink-subtle);
  font-size: 0.65rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.strategy-lab-change-token strong {
  display: block;
  min-width: 0;
  margin-top: 4px;
  color: var(--ink);
  font-size: 0.85rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.strategy-lab-change-token b {
  padding: 0 2px;
  color: var(--ink-subtle);
  font-size: 0.72rem;
}

.strategy-lab-change-token.is-editable {
  gap: 4px;
}

.strategy-lab-change-edit {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  margin-top: 3px;
}

.strategy-lab-change-edit input {
  width: min(100%, 92px);
  min-width: 72px;
  height: 30px;
  padding: 5px 7px;
  border: 1px solid rgba(96, 165, 250, 0.42);
  border-radius: 8px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.94);
  font-size: 0.85rem;
  font-weight: 900;
}

.strategy-lab-change-edit input:focus {
  outline: 2px solid rgba(37, 99, 235, 0.18);
  border-color: rgba(37, 99, 235, 0.66);
}

.strategy-lab-change-edit em {
  color: var(--ink-subtle);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
}

.strategy-lab-change-token.is-up {
  border-color: rgba(37, 99, 235, 0.22);
  background: rgba(239, 246, 255, 0.86);
}

.strategy-lab-change-token.is-down {
  border-color: rgba(245, 158, 11, 0.22);
  background: rgba(255, 251, 235, 0.82);
}

.strategy-lab-watch-only {
  display: inline-grid;
  place-items: center;
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 999px;
  color: var(--ink-subtle);
  background: rgba(241, 245, 249, 0.86);
  border: 1px solid rgba(145, 173, 214, 0.2);
  font-size: 0.75rem;
  font-weight: 900;
}

.strategy-lab-watch-only.is-auto-ready {
  color: #0f766e;
  background: rgba(204, 251, 241, 0.88);
  border-color: rgba(45, 212, 191, 0.38);
}

.strategy-lab-apply-button,
.paper-strategy-idea-apply-button,
.ai-candidate-apply-button {
  min-height: 38px;
  padding: 9px 14px;
  white-space: nowrap;
}

.strategy-lab-apply-status {
  flex-basis: 100%;
  color: #0f766e;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.35;
  text-align: right;
}

.strategy-lab-apply-status.is-error {
  color: #be123c;
}

.paper-strategy-idea-apply-button,
.ai-candidate-apply-button {
  justify-self: start;
  margin-top: 10px;
}

.strategy-lab-queue-panel {
  padding: 16px;
}

.strategy-lab-recommendation-queue {
  display: grid;
  gap: 10px;
}

.ai-strategy-proposal-queue {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.ai-strategy-change-grid.is-main-queue {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  align-items: start;
}

.ai-strategy-change-grid.is-main-queue .ai-strategy-change-card {
  min-width: 0;
}

.ai-strategy-change-grid.is-main-queue .ai-strategy-change-summary {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.ai-strategy-change-grid.is-main-queue .ai-strategy-change-summary::after {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}

.ai-strategy-change-grid.is-main-queue .ai-strategy-change-title {
  grid-column: 1;
  grid-row: 1;
}

.ai-strategy-change-grid.is-main-queue .ai-strategy-change-quick {
  grid-column: 1 / -1;
  grid-row: 2;
  grid-template-columns: repeat(3, minmax(94px, 1fr));
}

.ai-strategy-change-grid.is-main-queue .ai-strategy-change-quick span,
.ai-strategy-change-grid.is-main-queue .ai-strategy-criteria-strip div {
  overflow-wrap: normal;
  word-break: normal;
}

.ai-strategy-change-grid.is-main-queue .ai-strategy-criteria-strip {
  grid-template-columns: repeat(3, minmax(110px, 1fr));
}

@media (max-width: 560px) {
  .ai-strategy-change-grid.is-main-queue .ai-strategy-change-quick,
  .ai-strategy-change-grid.is-main-queue .ai-strategy-criteria-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.strategy-lab-queue-list {
  display: grid;
  gap: 10px;
}

.strategy-lab-queue-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(400px, 1.3fr) minmax(230px, 0.6fr) minmax(230px, auto);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(145, 173, 214, 0.26);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(240, 253, 250, 0.74)),
    linear-gradient(90deg, rgba(219, 234, 254, 0.42), transparent);
  box-shadow: 0 12px 28px rgba(28, 45, 84, 0.06);
}

.strategy-lab-queue-row.is-success {
  border-color: rgba(16, 185, 129, 0.3);
}

.strategy-lab-queue-row.is-warning {
  border-color: rgba(245, 158, 11, 0.3);
}

.strategy-lab-queue-row.is-danger {
  border-color: rgba(225, 29, 72, 0.26);
}

.strategy-lab-queue-main,
.strategy-lab-queue-change {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.strategy-lab-queue-main strong,
.strategy-lab-queue-change h4,
.strategy-lab-queue-change p {
  margin: 0;
}

.strategy-lab-queue-main strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.strategy-lab-queue-main small,
.strategy-lab-queue-change p {
  color: var(--ink-muted);
  font-size: 0.78rem;
  font-weight: 760;
  line-height: 1.35;
}

.strategy-lab-queue-change h4 {
  color: var(--ink);
  font-size: 0.88rem;
}

.strategy-role-pill {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.strategy-role-pill.is-primary {
  color: #047857;
  background: rgba(209, 250, 229, 0.92);
  border: 1px solid rgba(16, 185, 129, 0.28);
}

.strategy-role-pill.is-test {
  color: #1d4ed8;
  background: rgba(219, 234, 254, 0.92);
  border: 1px solid rgba(96, 165, 250, 0.32);
}

.strategy-lab-queue-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(126px, 1fr));
  gap: 8px;
  min-width: 270px;
}

.strategy-lab-queue-kpis .strategy-lab-kpi strong {
  overflow: visible;
  text-overflow: clip;
  font-size: 0.8rem;
  letter-spacing: 0;
}

.strategy-lab-queue-actions {
  min-width: 0;
}

.strategy-lab-queue-actions,
.strategy-lab-change-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.strategy-merge-panel {
  display: grid;
  gap: 16px;
}

.strategy-merge-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.38fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.strategy-merge-picker,
.strategy-merge-results,
.strategy-merge-group-list {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.strategy-merge-picker-head {
  display: grid;
  gap: 4px;
}

.strategy-merge-picker-head strong {
  color: var(--ink);
  line-height: 1.35;
}

.strategy-merge-picker-head small {
  color: var(--muted);
  line-height: 1.4;
}

.strategy-merge-picker input[type="search"] {
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  padding: 10px 12px;
  background: #ffffff;
  color: var(--ink);
}

.strategy-merge-picker-list {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.strategy-merge-picker-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(255, 255, 255, 0.82);
}

.strategy-merge-picker-row input {
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}

.strategy-merge-picker-row.is-disabled {
  opacity: 0.68;
  background: rgba(241, 245, 249, 0.72);
}

.strategy-merge-picker-row.is-disabled strong {
  color: var(--ink-muted);
}

.strategy-merge-picker-row.is-disabled small {
  color: #b45309;
  white-space: normal;
}

.strategy-merge-picker-row span,
.strategy-merge-picker-row strong,
.strategy-merge-picker-row small {
  min-width: 0;
}

.strategy-merge-picker-row strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.86rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-merge-picker-row small {
  display: block;
  overflow: hidden;
  color: var(--muted-soft);
  font-size: 0.72rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-merge-picker-row em {
  font-style: normal;
  font-size: 0.78rem;
  font-weight: 800;
}

.strategy-merge-note {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  background: rgba(239, 246, 255, 0.82);
  color: #1e3a8a;
  font-size: 0.86rem;
  line-height: 1.4;
}

.strategy-merge-apply-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border-radius: 14px;
  border: 1px solid rgba(16, 185, 129, 0.26);
  background:
    linear-gradient(135deg, rgba(236, 253, 245, 0.9), rgba(255, 255, 255, 0.94)),
    linear-gradient(90deg, rgba(204, 251, 241, 0.44), transparent);
}

.strategy-merge-apply-row div {
  display: grid;
  gap: 4px;
  min-width: min(100%, 360px);
}

.strategy-merge-apply-row strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.strategy-merge-apply-row span {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.35;
}

.strategy-merge-apply-row.is-paused {
  border-color: rgba(245, 158, 11, 0.34);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.88), rgba(255, 255, 255, 0.92)),
    linear-gradient(90deg, rgba(253, 230, 138, 0.36), transparent);
}

.strategy-merge-apply-button {
  min-height: 40px;
  white-space: nowrap;
}

.strategy-merge-card {
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background: rgba(255, 255, 255, 0.9);
}

.strategy-merge-card > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  cursor: pointer;
  list-style: none;
}

.strategy-merge-card > summary::-webkit-details-marker {
  display: none;
}

.strategy-merge-card > summary span:first-child {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.strategy-merge-card > summary strong,
.strategy-merge-card > summary small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-merge-card > summary strong {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.35;
}

.strategy-merge-card > summary small {
  color: var(--muted);
  font-size: 0.8rem;
}

.strategy-merge-card-body {
  display: grid;
  gap: 14px;
  padding: 0 14px 14px;
}

.strategy-merge-reasons,
.strategy-merge-setting-list,
.strategy-merge-member-list,
.strategy-merge-plan,
.strategy-merge-plan-list,
.strategy-merge-difference-list {
  display: grid;
  gap: 8px;
}

.strategy-merge-plan {
  gap: 12px;
}

.strategy-merge-plan-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px solid rgba(37, 99, 235, 0.16);
  background: rgba(239, 246, 255, 0.78);
}

.strategy-merge-plan-head strong {
  color: var(--ink);
  overflow-wrap: anywhere;
}

.strategy-merge-plan-head span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 820;
}

.strategy-merge-plan-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(20, 184, 166, 0.16);
  background: rgba(240, 253, 250, 0.76);
}

.strategy-merge-plan-row b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  color: #0f766e;
  background: rgba(204, 251, 241, 0.82);
  font-size: 0.8rem;
}

.strategy-merge-plan-row span,
.strategy-merge-plan-row strong,
.strategy-merge-plan-row small {
  min-width: 0;
}

.strategy-merge-plan-row strong {
  display: block;
  color: var(--ink);
  font-size: 0.88rem;
}

.strategy-merge-plan-row small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.35;
}

.strategy-merge-policy-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 8px;
}

.strategy-merge-reasons span {
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(240, 253, 250, 0.9);
  border: 1px solid rgba(20, 184, 166, 0.16);
  color: #0f766e;
  font-size: 0.84rem;
  line-height: 1.45;
}

.strategy-merge-setting-row,
.strategy-merge-member-row,
.strategy-merge-difference-list div {
  display: grid;
  gap: 8px;
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.2);
  background: rgba(248, 250, 252, 0.78);
}

.strategy-merge-setting-row {
  grid-template-columns: minmax(130px, 0.35fr) minmax(90px, 0.18fr) minmax(0, 1fr);
  align-items: center;
}

.strategy-merge-setting-row span,
.strategy-merge-setting-row strong,
.strategy-merge-setting-row small,
.strategy-merge-setting-row em {
  min-width: 0;
}

.strategy-merge-setting-row span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.strategy-merge-setting-row strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.strategy-merge-setting-row small {
  color: var(--muted);
  line-height: 1.4;
}

.strategy-merge-setting-row em {
  grid-column: 1 / -1;
  color: var(--muted-soft);
  font-size: 0.76rem;
  font-style: normal;
}

.strategy-merge-member-row {
  grid-template-columns: minmax(0, 1fr) repeat(3, minmax(74px, auto));
  align-items: center;
}

.strategy-merge-member-row span {
  min-width: 0;
}

.strategy-merge-member-row strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-merge-member-row small {
  display: block;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-merge-difference-list div {
  grid-template-columns: minmax(110px, 0.4fr) repeat(2, minmax(80px, 0.3fr));
  align-items: center;
}

.strategy-merge-difference-list strong {
  color: var(--ink);
  font-size: 0.86rem;
}

.strategy-merge-difference-list span {
  color: var(--muted);
  font-size: 0.82rem;
}

.strategy-lab-decision-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.strategy-lab-decision-button {
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
}

.strategy-lab-decision-button.is-watch {
  color: #075985;
  background: rgba(224, 242, 254, 0.86);
}

.strategy-lab-decision-button.is-snooze_5d {
  color: #92400e;
  background: rgba(254, 243, 199, 0.86);
}

.strategy-lab-decision-button.is-ignore,
.strategy-lab-decision-button.is-archive {
  color: #475569;
  background: rgba(241, 245, 249, 0.88);
}

.strategy-lab-governance-section {
  border-color: rgba(37, 99, 235, 0.18);
}

.strategy-lab-governance-grid {
  display: grid;
  gap: 12px;
}

.strategy-lab-governance-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 13px;
  border: 1px solid rgba(145, 173, 214, 0.24);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 251, 255, 0.78));
}

.strategy-lab-governance-card.is-promote {
  border-color: rgba(37, 99, 235, 0.24);
  background:
    linear-gradient(135deg, rgba(239, 246, 255, 0.88), rgba(255, 255, 255, 0.94));
}

.strategy-lab-governance-card.is-history {
  grid-template-columns: 1fr;
}

.strategy-lab-governance-card.is-alert {
  grid-template-columns: 1fr;
  border-color: rgba(245, 158, 11, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.78), rgba(255, 255, 255, 0.94));
}

.strategy-lab-governance-card.is-decision {
  grid-template-columns: 1fr;
  border-color: rgba(20, 184, 166, 0.22);
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.72), rgba(255, 255, 255, 0.94));
}

.strategy-lab-decision-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  grid-column: 1 / -1;
}

.strategy-lab-decision-card {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid rgba(145, 173, 214, 0.24);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
}

.strategy-lab-decision-card.is-success {
  border-color: rgba(20, 184, 166, 0.28);
  background: rgba(240, 253, 250, 0.9);
}

.strategy-lab-decision-card.is-warning {
  border-color: rgba(245, 158, 11, 0.3);
  background: rgba(255, 251, 235, 0.9);
}

.strategy-lab-decision-card.is-danger {
  border-color: rgba(225, 29, 72, 0.26);
  background: rgba(255, 241, 242, 0.88);
}

.strategy-lab-decision-card strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.strategy-lab-decision-card p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.8rem;
  font-weight: 760;
  line-height: 1.36;
}

.strategy-lab-decision-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.strategy-lab-feature-focus,
.strategy-lab-compare-days {
  display: grid;
  gap: 6px;
}

.strategy-lab-feature-focus span,
.strategy-lab-compare-days span {
  display: grid;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid rgba(145, 173, 214, 0.22);
  border-radius: 10px;
  background: rgba(248, 251, 255, 0.78);
}

.strategy-lab-compare-days span.is-win {
  border-color: rgba(20, 184, 166, 0.24);
  background: rgba(240, 253, 250, 0.82);
}

.strategy-lab-feature-focus b,
.strategy-lab-compare-days b {
  color: var(--ink);
  font-size: 0.78rem;
}

.strategy-lab-feature-focus small,
.strategy-lab-compare-days small {
  color: var(--ink-muted);
  font-size: 0.74rem;
  font-weight: 760;
}

.strategy-lab-governance-card h4,
.strategy-lab-governance-card p {
  margin: 0;
}

.strategy-lab-governance-card h4 {
  margin-top: 8px;
  color: var(--ink);
  font-size: 0.98rem;
}

.strategy-lab-governance-card p,
.strategy-lab-governance-card small {
  color: var(--ink-muted);
  font-size: 0.8rem;
  font-weight: 760;
  line-height: 1.38;
}

.strategy-lab-promote-button {
  align-self: center;
  min-height: 40px;
  white-space: nowrap;
}

.strategy-lab-hidden-list,
.strategy-lab-history-list,
.strategy-lab-alert-list {
  display: grid;
  grid-column: 1 / -1;
  gap: 8px;
}

.strategy-lab-hidden-row,
.strategy-lab-history-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid rgba(145, 173, 214, 0.22);
  background: rgba(248, 251, 255, 0.72);
}

.strategy-lab-history-row {
  align-items: start;
}

.strategy-lab-hidden-row strong,
.strategy-lab-history-row strong {
  display: block;
  color: var(--ink);
  font-size: 0.86rem;
}

.strategy-lab-hidden-row small,
.strategy-lab-history-row small {
  display: block;
  margin-top: 3px;
  color: var(--ink-subtle);
  font-size: 0.7rem;
  font-weight: 900;
}

.strategy-lab-hidden-row p,
.strategy-lab-history-row p {
  margin: 5px 0 0;
  color: var(--ink-muted);
  font-size: 0.78rem;
}

.strategy-lab-restore-button {
  min-height: 34px;
  padding: 7px 11px;
  white-space: nowrap;
}

.strategy-lab-history-changes {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 7px;
}

.strategy-lab-history-changes span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid rgba(20, 184, 166, 0.18);
  background: rgba(240, 253, 250, 0.72);
}

.strategy-lab-history-changes small {
  color: var(--ink-subtle);
  font-size: 0.64rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.strategy-lab-history-changes strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.strategy-lab-inner-section {
  overflow: hidden;
  border: 1px solid rgba(145, 173, 214, 0.22);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.84);
}

.strategy-lab-inner-section summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 50px;
  padding: 11px 14px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(90deg, rgba(248, 251, 255, 0.94), rgba(240, 253, 250, 0.72));
}

.strategy-lab-inner-section summary::-webkit-details-marker {
  display: none;
}

.strategy-lab-inner-section summary span {
  color: var(--ink);
  font-weight: 950;
}

.strategy-lab-inner-section summary small {
  color: var(--ink-subtle);
  font-weight: 850;
}

.strategy-lab-inner-section > :not(summary) {
  margin: 14px;
}

.strategy-research-title {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.strategy-research-title strong {
  display: block;
  color: var(--ink);
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.quality-dot {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.12);
  border: 1px solid rgba(37, 99, 235, 0.22);
  box-shadow: inset 0 0 0 7px rgba(255, 255, 255, 0.72);
}

.strategy-research-card.is-outstanding .quality-dot {
  background: rgba(5, 150, 105, 0.16);
  border-color: rgba(5, 150, 105, 0.24);
}

.strategy-research-card.is-weak .quality-dot {
  background: rgba(220, 38, 38, 0.14);
  border-color: rgba(220, 38, 38, 0.24);
}

.strategy-research-net {
  font-size: 1.15rem;
  font-weight: 900;
}

.strategy-research-body {
  display: grid;
  gap: 18px;
  padding: 0 22px 22px 26px;
}

.strategy-research-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(241, 245, 249, 0.72);
  border: 1px solid rgba(145, 173, 214, 0.2);
}

.strategy-research-actions span {
  color: var(--ink-subtle);
  font-weight: 800;
}

.strategy-diagnosis-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(14, 116, 144, 0.22);
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(236, 254, 255, 0.94), rgba(255, 255, 255, 0.94)),
    radial-gradient(circle at top right, rgba(34, 197, 94, 0.12), transparent 30%);
}

.strategy-path-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(20, 184, 166, 0.24);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(240, 253, 250, 0.92), rgba(255, 255, 255, 0.92)),
    radial-gradient(circle at 8% 0%, rgba(56, 189, 248, 0.12), transparent 32%);
}

.strategy-path-head {
  display: grid;
  gap: 6px;
}

.strategy-path-head strong {
  color: var(--ink);
  font-size: 1rem;
}

.strategy-path-head small {
  color: var(--ink-muted);
  font-weight: 800;
}

.strategy-path-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 10px;
}

.strategy-path-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.strategy-path-notes span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid rgba(14, 116, 144, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--ink-subtle);
  font-size: 0.82rem;
  font-weight: 850;
}

.strategy-path-notes b {
  color: #0f766e;
}

.strategy-diagnosis-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.strategy-diagnosis-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.diagnosis-backfill-button {
  min-height: 40px;
  padding: 9px 13px;
  border-color: rgba(14, 116, 144, 0.28);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 26px rgba(14, 116, 144, 0.08);
}

.strategy-diagnosis-head h4,
.strategy-diagnosis-head p,
.strategy-diagnosis-grid h5,
.diagnosis-refinement-card h6,
.diagnosis-refinement-card p {
  margin: 0;
}

.strategy-diagnosis-head p {
  max-width: 900px;
  margin-top: 6px;
  color: var(--ink-muted);
  line-height: 1.55;
}

.strategy-diagnosis-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
}

.strategy-diagnosis-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr);
  gap: 16px;
}

.strategy-diagnosis-grid h5 {
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 0.98rem;
}

.diagnosis-difference-list,
.diagnosis-refinement-list {
  display: grid;
  gap: 10px;
}

.diagnosis-difference-row,
.diagnosis-refinement-card {
  border: 1px solid rgba(145, 173, 214, 0.24);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 12px 28px rgba(28, 45, 84, 0.06);
}

.diagnosis-difference-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) repeat(2, minmax(125px, 0.9fr));
  gap: 8px 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 15px;
}

.diagnosis-difference-row span,
.diagnosis-difference-row small,
.diagnosis-refinement-card > span {
  color: var(--ink-subtle);
  font-weight: 800;
}

.diagnosis-difference-row small {
  grid-column: 1 / -1;
}

.diagnosis-refinement-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
}

.diagnosis-refinement-card > span {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(217, 119, 6, 0.18);
  background: rgba(254, 243, 199, 0.72);
  color: #b45309;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.diagnosis-refinement-card h6 {
  color: var(--ink);
  font-size: 0.96rem;
}

.diagnosis-refinement-card p {
  color: var(--ink-muted);
  line-height: 1.5;
}

.diagnosis-refinement-card pre {
  overflow: auto;
  margin: 0;
  padding: 11px;
  border-radius: 12px;
  background: rgba(13, 24, 45, 0.06);
  color: var(--ink);
  font-size: 0.8rem;
}

.diagnosis-copy-button {
  justify-self: start;
  min-height: 42px;
  padding: 10px 14px;
}

.diagnosis-refinement-card small {
  color: var(--ink-subtle);
  font-weight: 800;
}

.strategy-refinement-card {
  width: min(1120px, calc(100vw - 48px));
}

.strategy-refinement-result-list {
  display: grid;
  gap: 14px;
}

.strategy-refinement-result {
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid rgba(127, 170, 232, 0.34);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(239, 247, 255, 0.96), rgba(255, 255, 255, 0.92) 46%, rgba(232, 255, 246, 0.72)),
    #fff;
  box-shadow: 0 14px 34px rgba(28, 45, 84, 0.08);
}

.strategy-refinement-result.is-created {
  border-color: rgba(37, 193, 171, 0.38);
  background:
    linear-gradient(135deg, rgba(224, 255, 247, 0.95), rgba(255, 255, 255, 0.92) 48%, rgba(236, 244, 255, 0.74)),
    #fff;
}

.strategy-refinement-result-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.strategy-refinement-result-head h3 {
  margin: 0;
  margin-top: 9px;
  color: var(--ink);
  font-size: clamp(1.02rem, 1.3vw, 1.22rem);
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.strategy-refinement-result-head small {
  display: block;
  margin-top: 5px;
  color: var(--ink-subtle);
  font-size: 0.72rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.strategy-refinement-result-head strong {
  align-self: start;
  padding: 9px 13px;
  border: 1px solid rgba(127, 170, 232, 0.32);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  font-size: 0.84rem;
  white-space: nowrap;
}

.strategy-refinement-change-table {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 8px;
}

.strategy-refinement-change-row {
  display: grid;
  grid-template-columns: minmax(74px, 0.72fr) auto 30px auto;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid rgba(145, 173, 214, 0.25);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.68);
}

.strategy-refinement-change-row span {
  color: var(--ink-subtle);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.strategy-refinement-change-row b,
.strategy-refinement-change-row strong {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  border-radius: 10px;
  overflow-wrap: anywhere;
}

.strategy-refinement-change-row b {
  background: rgba(218, 226, 238, 0.7);
  color: var(--ink);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgba(86, 108, 139, 0.64);
}

.strategy-refinement-change-row i {
  justify-self: center;
  color: #0f8b7d;
  font-style: normal;
  font-weight: 1000;
}

.strategy-refinement-change-row strong {
  background: rgba(204, 251, 241, 0.82);
  color: #08796f;
}

.strategy-refinement-change-empty {
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink-muted);
  font-weight: 800;
}

.strategy-refinement-history-note {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(245, 158, 11, 0.46);
  border-radius: 12px;
  background: rgba(64, 38, 9, 0.86);
  color: #fde68a;
  font-size: 0.78rem;
  font-weight: 850;
}

.strategy-refinement-history-list {
  display: grid;
  gap: 9px;
}

.strategy-refinement-history-day {
  overflow: hidden;
  border: 1px solid rgba(127, 170, 232, 0.28);
  border-radius: 14px;
  background: rgba(18, 13, 31, 0.92);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.strategy-refinement-history-day > summary {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) repeat(3, auto);
  gap: 10px;
  align-items: center;
  cursor: pointer;
  padding: 12px 14px;
  list-style: none;
}

.strategy-refinement-history-day > summary::-webkit-details-marker {
  display: none;
}

.strategy-refinement-history-day > summary span {
  display: grid;
  gap: 2px;
}

.strategy-refinement-history-day > summary strong,
.strategy-refinement-history-day > summary b {
  color: #f8fafc;
  font-size: 0.84rem;
}

.strategy-refinement-history-day > summary small {
  color: #b7a7d6;
  font-size: 0.68rem;
  font-weight: 800;
}

.strategy-refinement-history-day > summary b {
  justify-self: end;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(167, 139, 250, 0.18);
  border: 1px solid rgba(196, 181, 253, 0.22);
  white-space: nowrap;
}

.strategy-refinement-history-day-body {
  display: grid;
  gap: 7px;
  padding: 0 10px 10px;
}

.strategy-refinement-history-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 9px 10px;
  border: 1px solid rgba(167, 139, 250, 0.24);
  border-radius: 12px;
  background: rgba(33, 24, 49, 0.94);
}

.strategy-refinement-history-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 5px 8px;
  align-items: center;
  min-width: 0;
}

.strategy-refinement-history-main strong {
  color: #ffffff;
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.strategy-refinement-history-main small {
  grid-column: 1 / -1;
  color: #c4b5fd;
  font-size: 0.66rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.strategy-refinement-history-changes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.strategy-refinement-history-change {
  display: inline-grid;
  grid-template-columns: auto auto 16px auto;
  gap: 5px;
  align-items: center;
  min-height: 30px;
  padding: 5px 7px;
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  background: rgba(15, 23, 42, 0.72);
}

.strategy-refinement-history-change small {
  color: #cbd5e1;
  font-size: 0.62rem;
  font-weight: 950;
  text-transform: uppercase;
}

.strategy-refinement-history-change b,
.strategy-refinement-history-change strong {
  color: #f8fafc;
  font-size: 0.72rem;
  white-space: nowrap;
}

.strategy-refinement-history-change b {
  opacity: 0.72;
  text-decoration: line-through;
}

.strategy-refinement-history-change i {
  color: #22d3ee;
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 1000;
}

.strategy-refinement-history-change strong {
  color: #5eead4;
}

.strategy-refinement-history-empty {
  color: #c4b5fd;
  font-size: 0.72rem;
  font-weight: 850;
}

.strategy-refinement-gate-line,
.strategy-refinement-section-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.strategy-lab-queue-apply-button {
  min-height: 38px;
  padding: 9px 14px;
  white-space: nowrap;
}

.strategy-refinement-gate-line {
  padding: 10px 12px;
  border: 1px solid rgba(45, 212, 191, 0.28);
  border-radius: 14px;
  background: rgba(204, 251, 241, 0.38);
}

.strategy-refinement-gate-line span,
.strategy-refinement-section-title span {
  color: var(--ink-subtle);
  font-size: 0.74rem;
  font-weight: 900;
}

.strategy-refinement-gate-line strong {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: #08796f;
  font-size: 0.76rem;
}

.strategy-refinement-waiting-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.strategy-refinement-section-title {
  justify-content: space-between;
  padding: 2px 4px;
}

.strategy-refinement-section-title strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.strategy-refinement-waiting-card {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(360px, 1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(245, 158, 11, 0.32);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.86), rgba(255, 255, 255, 0.72)),
    rgba(255, 255, 255, 0.64);
}

.strategy-refinement-waiting-card h3 {
  margin: 8px 0 4px;
  color: var(--ink);
  font-size: 1rem;
}

.strategy-refinement-waiting-card small {
  color: var(--ink-subtle);
  font-size: 0.72rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.strategy-refinement-waiting-card p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--ink-subtle);
  font-size: 0.78rem;
  font-weight: 800;
}

.strategy-refinement-waiting-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.strategy-lab-inline-status {
  display: grid;
  grid-column: 1 / -1;
  grid-row: 3;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(127, 170, 232, 0.28);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}

.strategy-lab-inline-status.is-success {
  border-color: rgba(45, 212, 191, 0.34);
  background: rgba(204, 251, 241, 0.34);
}

.strategy-lab-inline-status.is-danger {
  border-color: rgba(251, 113, 133, 0.38);
  background: rgba(255, 228, 230, 0.42);
}

.strategy-lab-inline-status strong,
.strategy-lab-inline-status span {
  display: block;
}

.strategy-lab-inline-status strong {
  color: var(--ink);
  font-size: 0.9rem;
}

.strategy-lab-inline-status span,
.strategy-lab-inline-status small {
  color: var(--ink-subtle);
  font-size: 0.74rem;
  font-weight: 850;
}

.strategy-metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 12px;
}

.strategy-research-panels {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.95fr);
  gap: 18px;
}

.strategy-research-panels h4 {
  margin: 0 0 10px;
}

.recommendation-grid.is-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.recommendation-grid.is-compact .recommendation-card {
  min-height: 150px;
}

.research-daily-table {
  overflow: hidden;
  border: 1px solid rgba(145, 173, 214, 0.24);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
}

.research-daily-head,
.research-daily-row {
  display: grid;
  grid-template-columns: 1.1fr 0.7fr 1fr 0.8fr 0.8fr 0.7fr 0.9fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
}

.research-daily-head {
  color: var(--ink-subtle);
  background: rgba(241, 245, 249, 0.86);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.research-daily-row {
  border-top: 1px solid rgba(145, 173, 214, 0.18);
  font-weight: 800;
}

.research-day-detail-button {
  justify-self: start;
}

.research-day-detail-button[data-loading="true"] {
  opacity: 0.55;
}

.strategy-day-card {
  width: min(1540px, 100%);
  max-height: min(94vh, 1180px);
  padding: 16px;
}

.strategy-day-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 12px;
}

.strategy-day-trade-list {
  display: grid;
  gap: 14px;
}

.strategy-day-table-shell {
  overflow: auto;
  border: 1px solid rgba(145, 173, 214, 0.28);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 38px rgba(28, 45, 84, 0.08);
}

.strategy-day-table {
  width: 100%;
  min-width: 1360px;
  border-collapse: separate;
  border-spacing: 0;
}

.strategy-day-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  height: 42px;
  padding: 9px 10px;
  color: var(--ink-subtle);
  background: rgba(241, 245, 249, 0.96);
  border-bottom: 1px solid rgba(145, 173, 214, 0.22);
  font-size: 0.72rem;
  font-weight: 900;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.strategy-day-table td {
  height: 57px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(145, 173, 214, 0.16);
  color: var(--ink);
  font-weight: 800;
  vertical-align: middle;
  white-space: nowrap;
}

.strategy-day-table tbody tr:last-child td {
  border-bottom: 0;
}

.strategy-day-table tbody tr:nth-child(even) td {
  background: rgba(248, 251, 255, 0.72);
}

.strategy-day-table td strong,
.strategy-day-table td small,
.strategy-day-table td b {
  display: block;
}

.strategy-day-table td small {
  margin-top: 3px;
  color: var(--ink-subtle);
  font-weight: 800;
}

.strategy-day-table .rank-index {
  width: 28px;
  height: 28px;
  font-size: 0.8rem;
}

.strategy-day-table .table-date-stack {
  align-items: start;
  margin-top: 2px;
  color: var(--ink-subtle);
  font-size: 0.72rem;
}

@media (max-width: 1180px) {
  .lab-grid {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
  }

  .recommendation-grid,
  .recommendation-grid.is-compact,
  .strategy-research-panels,
  .strategy-diagnosis-grid {
    grid-template-columns: 1fr;
  }

  .strategy-refinement-result {
    grid-template-columns: 1fr;
  }

  .strategy-refinement-result-head,
  .strategy-refinement-change-row {
    grid-template-columns: 1fr;
  }

  .strategy-refinement-history-day > summary,
  .strategy-refinement-history-row {
    grid-template-columns: 1fr;
  }

  .strategy-refinement-history-day > summary b,
  .strategy-refinement-history-changes {
    justify-self: start;
    justify-content: flex-start;
  }

  .strategy-refinement-change-row i {
    justify-self: start;
  }

  .strategy-lab-row-summary,
  .strategy-lab-change-row,
  .strategy-lab-queue-row,
  .strategy-merge-layout,
  .strategy-merge-card > summary,
  .strategy-merge-setting-row,
  .strategy-merge-member-row,
  .strategy-merge-difference-list div,
  .strategy-lab-governance-card,
  .strategy-lab-hidden-row,
  .strategy-lab-history-row {
    grid-template-columns: 1fr;
  }

  .strategy-lab-row-kpis,
  .strategy-lab-change-values,
  .strategy-lab-change-values.is-queue,
  .strategy-lab-queue-kpis,
  .strategy-merge-policy-grid,
  .strategy-lab-history-changes {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }

  .strategy-lab-change-values.is-queue {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  }

  .strategy-metric-grid {
    grid-template-columns: repeat(3, minmax(130px, 1fr));
  }

  .strategy-path-grid {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }

  .strategy-day-summary {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }

  .strategy-diagnosis-metrics {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
}

@media (max-width: 860px) {
  .lab-split {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .strategy-research-filter,
  .lab-grid,
  .insight-mini-grid,
  .insight-settings-grid,
  .criteria-grid,
  .strategy-lab-tabs,
  .strategy-research-toolbar,
  .strategy-lab-command-center,
  .strategy-lab-status-meta,
  .strategy-lab-workbench .strategy-research-toolbar,
  .strategy-lab-row-kpis,
  .strategy-lab-change-values,
  .strategy-lab-change-values.is-queue,
  .strategy-lab-queue-kpis,
  .strategy-merge-policy-grid,
  .strategy-lab-history-changes,
  .strategy-metric-grid {
    grid-template-columns: 1fr;
  }

  .strategy-path-grid {
    grid-template-columns: 1fr;
  }

  .strategy-list-head,
  .strategy-research-actions,
  .strategy-diagnosis-head,
  .strategy-lab-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .strategy-lab-chip {
    width: fit-content;
  }

  .strategy-lab-status-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .strategy-lab-action-card.is-unified {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-lab-action-card.is-unified .strategy-lab-step,
  .strategy-lab-action-card.is-unified .strategy-lab-action-copy,
  .strategy-lab-action-card.is-unified > div,
  .strategy-lab-action-tags,
  .strategy-lab-inline-status,
  .strategy-lab-action-row.is-unified {
    grid-column: 1;
    grid-row: auto;
  }

  .strategy-lab-action-row.is-unified {
    justify-content: stretch;
  }

  .strategy-lab-action-row.is-unified .primary-button {
    width: 100%;
    min-width: 0;
  }

  .strategy-lab-accordion summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .strategy-lab-accordion-meta {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .strategy-research-card summary {
    grid-template-columns: 1fr;
  }

  .strategy-lab-row-body {
    padding: 14px;
  }

  .strategy-lab-row-pills {
    justify-content: flex-start;
    max-width: none;
  }

  .strategy-lab-change-row {
    align-items: stretch;
  }

  .strategy-lab-watch-only {
    width: 100%;
  }

  .research-daily-head,
  .research-daily-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-day-summary {
    grid-template-columns: 1fr;
  }

  .strategy-diagnosis-metrics,
  .diagnosis-difference-row {
    grid-template-columns: 1fr;
  }

  .ai-strategy-run-metrics,
  .ai-strategy-change-grid {
    grid-template-columns: 1fr;
  }

  .ai-strategy-progress-head {
    align-items: stretch;
    flex-direction: column;
  }

  .ai-strategy-progress-orb {
    height: 82px;
    width: 82px;
  }

  .ai-strategy-progress-steps {
    grid-template-columns: 1fr;
  }

  .ai-strategy-run-card {
    padding: 14px;
  }

  .ai-strategy-update-hero {
    grid-template-columns: 1fr;
  }

  .ai-strategy-update-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ai-strategy-update-head,
  .ai-strategy-run-entry > summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .ai-strategy-run-entry {
    overflow: visible;
  }

  .ai-strategy-update-head::after {
    align-self: flex-end;
  }

  .ai-strategy-change-summary {
    grid-template-columns: 1fr;
  }

  .ai-strategy-change-summary::after {
    justify-self: end;
  }

  .ai-strategy-change-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ai-strategy-criteria-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ai-strategy-run-mini-metrics,
  .ai-strategy-current-criteria {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ai-strategy-diff-list div {
    grid-template-columns: 1fr;
  }
}

/* Day-wise Trade Reports */
.daily-report-page { gap: 18px; }
.daily-report-page:not(.has-report) .daily-report-overview,
.daily-report-page:not(.has-report) .daily-ml-shadow-panel,
.daily-report-page:not(.has-report) .daily-report-comparison,
.daily-report-page:not(.has-report) .daily-report-streaks,
.daily-report-page:not(.has-report) .daily-report-chart-panel,
.daily-report-page:not(.has-report) .daily-range-breakdowns,
.daily-report-page:not(.has-report) .daily-report-table-panel { display: none !important; }

.report-view-switch {
  grid-column: span 12;
  display: inline-flex;
  width: fit-content;
  padding: 5px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft);
}

.report-view-switch a {
  padding: 9px 14px;
  border-radius: 10px;
  color: #64748b;
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 850;
}

.report-view-switch a.is-active { color: #fff; background: #2563eb; }
.report-results-panel:not(.is-loaded) { display: none !important; }

.daily-report-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  background: linear-gradient(135deg, rgba(239, 246, 255, 0.98), #fff 52%, rgba(240, 253, 250, 0.94));
}

.daily-report-hero h1 { margin: 4px 0 7px; font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 2.55rem); }
.daily-report-hero p { max-width: 780px; margin: 0; color: var(--muted); line-height: 1.55; }

.daily-report-hero-badge {
  padding: 12px 14px;
  border: 1px solid rgba(15, 118, 110, 0.18);
  border-radius: 13px;
  background: rgba(240, 253, 250, 0.78);
}
.daily-report-hero-badge span,
.daily-report-hero-badge strong { display: block; }
.daily-report-hero-badge span { color: #64748b; font-size: 0.66rem; font-weight: 900; text-transform: uppercase; }
.daily-report-hero-badge strong { margin-top: 3px; color: #0f766e; }

.daily-report-filter-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 0.7fr)) minmax(230px, 1fr) minmax(170px, 0.7fr);
  gap: 13px;
  align-items: end;
}

.daily-report-filter-form > label,
.daily-report-advanced label { display: grid; gap: 7px; }
.daily-report-filter-form label > span,
.daily-report-advanced label > span { color: var(--muted); font-size: 0.76rem; font-weight: 850; }

.daily-report-advanced { grid-column: 1 / -1; border: 1px solid var(--border); border-radius: 12px; background: #f8fafc; }
.daily-report-advanced > summary { padding: 11px 13px; cursor: pointer; color: #334155; font-size: 0.78rem; font-weight: 900; }
.daily-report-advanced > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; padding: 0 12px 12px; }

.daily-report-options {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.daily-report-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  color: #475569;
  font-size: 0.74rem;
  font-weight: 800;
}
.daily-report-options input { width: 16px; height: 16px; margin: 0; }

.daily-report-presets {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.daily-report-presets span { margin-right: 3px; color: var(--muted); font-size: 0.72rem; font-weight: 850; }
.daily-report-presets button {
  padding: 7px 10px;
  border: 1px solid #dbe4ee;
  border-radius: 999px;
  color: #475569;
  background: #fff;
  cursor: pointer;
  font-size: 0.7rem;
  font-weight: 850;
}
.daily-report-presets button:hover { color: #1d4ed8; border-color: rgba(37, 99, 235, 0.3); }

.daily-report-actions { grid-column: 1 / -1; display: flex; gap: 9px; }
.daily-report-filter-panel .form-message { margin: 12px 0 0; }

.daily-report-landing {
  grid-column: span 12;
  padding: 56px 24px;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  text-align: center;
  background: rgba(255, 255, 255, 0.86);
}
.daily-report-landing > span { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 17px; color: #2563eb; background: #eff6ff; font-size: 1.45rem; font-weight: 900; }
.daily-report-landing h2,
.daily-report-landing p { margin: 0; }
.daily-report-landing p { margin-top: 7px; color: var(--muted); }

.daily-report-overview {
  grid-column: span 12;
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 9px;
}
.daily-report-overview article,
.daily-report-streaks article {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.daily-report-overview span,
.daily-report-overview strong,
.daily-report-overview small,
.daily-report-streaks span,
.daily-report-streaks strong,
.daily-report-streaks small { display: block; }
.daily-report-overview span,
.daily-report-streaks span { min-height: 28px; color: #64748b; font-size: 0.65rem; font-weight: 900; text-transform: uppercase; }
.daily-report-overview strong,
.daily-report-streaks strong { margin-top: 3px; overflow-wrap: anywhere; font-family: var(--font-display); font-size: 1.04rem; }
.daily-report-overview small,
.daily-report-streaks small { margin-top: 5px; color: #94a3b8; font-size: 0.66rem; line-height: 1.35; }

.daily-ml-shadow-panel { grid-column: span 12; overflow: hidden; }
.daily-ml-shadow-panel > .panel-head {
  margin: calc(var(--theme-panel-padding, 20px) * -1) calc(var(--theme-panel-padding, 20px) * -1) 14px;
  padding: 17px 20px 14px;
  border-bottom: 1px solid var(--theme-border, var(--border));
  background: linear-gradient(100deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 12%, var(--theme-panel, var(--panel))), var(--theme-panel, var(--panel)) 55%);
}
.daily-ml-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 35%, var(--theme-border, var(--border)));
  border-radius: 999px;
  color: var(--theme-accent, var(--accent));
  background: color-mix(in srgb, var(--theme-accent, var(--accent)) 10%, transparent);
  font-size: 0.72rem;
  font-weight: 850;
}
.daily-ml-status.is-empty { color: var(--theme-muted, var(--muted)); }
.daily-ml-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 12px;
}
.daily-ml-card-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--theme-border, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 92%, transparent);
}
.daily-ml-card-grid span,
.daily-ml-card-grid strong,
.daily-ml-card-grid small { display: block; }
.daily-ml-card-grid span { color: var(--theme-muted, var(--muted)); font-size: 0.62rem; font-weight: 900; text-transform: uppercase; }
.daily-ml-card-grid strong { margin-top: 4px; color: var(--theme-ink, var(--ink)); font-size: 1rem; overflow-wrap: anywhere; }
.daily-ml-card-grid small { margin-top: 4px; color: var(--theme-muted, var(--muted)); font-size: 0.66rem; }
.daily-ml-card-grid article.is-positive strong { color: var(--emerald); }
.daily-ml-card-grid article.is-negative strong { color: var(--crimson); }
.daily-ml-guidance {
  display: grid;
  gap: 5px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 22%, var(--theme-border, var(--border)));
  border-radius: 10px;
  color: var(--theme-ink, var(--ink));
  background: color-mix(in srgb, var(--theme-accent, var(--accent)) 7%, transparent);
}
.daily-ml-guidance p { margin: 0; font-size: 0.72rem; line-height: 1.45; }
.daily-ml-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.daily-ml-table th,
.daily-ml-table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--theme-border, var(--border));
  color: var(--theme-ink, var(--ink));
  text-align: left;
  font-size: 0.7rem;
}
.daily-ml-table th {
  color: var(--theme-muted, var(--muted));
  background: var(--theme-panel, var(--panel));
  font-size: 0.6rem;
  text-transform: uppercase;
}
.daily-ml-table td strong { display: block; color: var(--theme-ink, var(--ink)); }

.daily-comparison-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.daily-comparison-head h2,
.daily-comparison-head p { margin: 0; }
.daily-comparison-head h2 { margin-top: 3px; }
.daily-comparison-head > span { padding: 7px 10px; border-radius: 999px; color: #475569; background: #f1f5f9; font-size: 0.72rem; font-weight: 800; }
.daily-comparison-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.daily-comparison-grid article { min-width: 0; padding: 11px; border: 1px solid #e2e8f0; border-radius: 11px; background: #f8fafc; }
.daily-comparison-grid article > span { display: block; min-height: 28px; color: #64748b; font-size: 0.65rem; font-weight: 900; text-transform: uppercase; }
.daily-comparison-grid article > div { display: flex; align-items: baseline; justify-content: space-between; gap: 5px; margin-top: 6px; }
.daily-comparison-grid article > div strong { overflow-wrap: anywhere; font-size: 0.86rem; }
.daily-comparison-grid article > div small { color: #94a3b8; font-size: 0.61rem; }
.daily-comparison-grid article > b { display: block; margin-top: 8px; padding-top: 7px; border-top: 1px solid #e2e8f0; font-size: 0.78rem; }

.daily-report-streaks { grid-column: span 12; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.daily-report-streaks article { border-left: 5px solid #94a3b8; }
.daily-report-streaks article.is-green { border-left-color: #0f766e; background: linear-gradient(135deg, #fff, #f0fdfa); }
.daily-report-streaks article.is-red { border-left-color: #dc2626; background: linear-gradient(135deg, #fff, #fef2f2); }
.daily-report-streaks article.is-flat { border-left-color: #64748b; }

.daily-chart-legend { display: flex; flex-wrap: wrap; gap: 12px; }
.daily-chart-legend span { display: inline-flex; align-items: center; gap: 7px; color: #64748b; font-size: 0.72rem; font-weight: 800; }
.daily-chart-legend i { width: 22px; height: 3px; border-radius: 999px; background: #2563eb; }
.daily-chart-legend span:nth-child(2) i { background: repeating-linear-gradient(90deg, #94a3b8 0 6px, transparent 6px 10px); }
.daily-chart-wrap { min-height: 320px; margin-top: 12px; padding: 8px; border: 1px solid #e2e8f0; border-radius: 13px; background: linear-gradient(180deg, #fff, #f8fafc); }
.daily-chart-wrap canvas { display: block; width: 100%; height: 320px; }

.daily-report-table { width: 100%; min-width: 1280px; border-collapse: collapse; }
.daily-report-table th,
.daily-report-table td { padding: 11px 12px; border-bottom: 1px solid #e2e8f0; text-align: left; vertical-align: middle; font-size: 0.75rem; }
.daily-report-table th { color: #475569; background: #f1f5f9; font-size: 0.66rem; text-transform: uppercase; }
.daily-report-table th button { padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; text-transform: inherit; }
.daily-report-table th button.is-active::after { content: " ↕"; color: #2563eb; }
.daily-report-table td strong,
.daily-report-table td small { display: block; }
.daily-report-table td small { margin-top: 3px; color: #94a3b8; }
.daily-report-row { border-left: 4px solid transparent; }
.daily-report-row.is-green { border-left-color: #0f766e; }
.daily-report-row.is-red { border-left-color: #dc2626; }
.daily-report-row { transition: background 0.14s ease; }
.daily-report-row:nth-child(even) { background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 58%, transparent); }
.daily-report-row:hover { background: color-mix(in srgb, var(--theme-accent, var(--accent)) 10%, var(--theme-card, var(--panel-soft))); }
.daily-report-row.is-green { box-shadow: inset 4px 0 0 var(--emerald); }
.daily-report-row.is-red { box-shadow: inset 4px 0 0 var(--crimson); }
.daily-report-row.is-no_trade { color: #94a3b8; background: #f8fafc; }
.daily-report-table td:last-child button,
.daily-drawer-trades td:last-child button { padding: 6px 9px; border: 1px solid rgba(37, 99, 235, 0.22); border-radius: 8px; color: #1d4ed8; background: #fff; cursor: pointer; font-size: 0.68rem; font-weight: 850; }
.daily-result-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 0.65rem; font-weight: 900; text-transform: uppercase; }
.daily-result-badge.is-green { color: #047857; background: #ecfdf5; }
.daily-result-badge.is-red { color: #b91c1c; background: #fef2f2; }
.daily-result-badge.is-flat { color: #475569; background: #f1f5f9; }
.daily-result-badge.is-open_only { color: #1d4ed8; background: #eff6ff; }
.daily-result-badge.is-no_trade { color: #64748b; background: #e2e8f0; }
.daily-best-worst { display: grid; gap: 3px; }
.daily-date-chip { display: inline-grid; justify-items: center; gap: 3px; min-width: 92px; padding: 6px 9px; border-radius: 9px; color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 9%, transparent); text-align: center; }
.daily-date-chip small { margin: 0 !important; color: var(--theme-muted, var(--muted)) !important; }
.daily-total-chip { display: inline-grid; gap: 2px; }
.daily-total-chip > strong { width: fit-content; min-width: 28px; padding: 4px 8px; border-radius: 999px; color: var(--theme-accent, var(--accent)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 13%, transparent); text-align: center; }
.daily-total-chip small { margin: 0 !important; white-space: nowrap; }
.daily-money-chip,
.daily-charge-chip,
.daily-pf-chip { display: inline-flex; width: fit-content; padding: 4px 8px; border-radius: 999px; white-space: nowrap; }
.daily-money-chip { background: color-mix(in srgb, var(--theme-muted, var(--muted)) 9%, transparent); }
.daily-money-chip.positive-text { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 12%, transparent); }
.daily-money-chip.negative-text { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 12%, transparent); }
.daily-charge-chip { color: var(--amber); background: color-mix(in srgb, var(--amber) 10%, transparent); }
.daily-pf-chip { color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 10%, transparent); font-weight: 850; }
.daily-drawdown-chip { display: inline-flex; width: fit-content; padding: 5px 9px; border: 1px solid color-mix(in srgb, var(--crimson) 20%, transparent); border-radius: 999px; color: var(--theme-muted, var(--muted)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 9%, transparent); white-space: nowrap; }
.daily-drawdown-chip.negative-text { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 13%, transparent); }
.daily-report-table .daily-result-badge { border: 1px solid transparent; }
.daily-report-table .daily-result-badge.is-green { color: var(--emerald); border-color: color-mix(in srgb, var(--emerald) 24%, transparent); background: color-mix(in srgb, var(--emerald) 13%, transparent); }
.daily-report-table .daily-result-badge.is-red { color: var(--crimson); border-color: color-mix(in srgb, var(--crimson) 24%, transparent); background: color-mix(in srgb, var(--crimson) 13%, transparent); }
.daily-report-table td:last-child button { display: inline-flex; align-items: center; padding: 6px 11px; border-radius: 999px; color: var(--theme-accent, var(--accent)); border-color: color-mix(in srgb, var(--theme-accent, var(--accent)) 42%, transparent); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 9%, transparent); }
.daily-report-table td:last-child button:hover { color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 18%, transparent); }
.daily-range-breakdowns :is(.daily-distribution-count, .daily-distribution-pnl),
.daily-report-table-panel :is(.daily-result-badge, .daily-record-pill, .daily-rate-pill, .daily-money-chip, .daily-charge-chip, .daily-net-pill, .daily-pf-chip),
.daily-strategy-performance :is(.daily-strategy-metric b, .daily-count-pill, .daily-record-pill, .daily-rate-pill, .daily-pnl-pill, .daily-side-pill, .daily-exit-pill, .daily-net-pill) {
  min-height: 22px;
  align-items: center;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0;
  text-shadow: none;
}

.daily-strategy-performance > .panel-head > span { color: var(--theme-muted, var(--muted)); font-size: 0.72rem; font-weight: 850; }
.daily-strategy-help { margin: -4px 0 10px; color: var(--theme-muted, var(--muted)); font-size: 0.7rem; }
.daily-strategy-list { display: grid; gap: 8px; }
.daily-strategy-column-head {
  display: grid;
  grid-template-columns: 18px minmax(210px, 1.7fr) repeat(8, minmax(72px, 0.62fr));
  gap: 8px;
  align-items: center;
  padding: 7px 12px;
  color: var(--theme-muted, var(--muted));
  border: 1px solid var(--theme-border, var(--border));
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-panel, var(--panel)) 78%, var(--theme-accent, var(--accent)));
  font-size: 0.57rem;
  font-weight: 900;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.daily-strategy-column-head span:first-child { grid-column: 1 / 3; color: var(--theme-ink, var(--ink)); }
.daily-strategy-group,
.daily-strategy-day { color: var(--theme-ink, var(--ink)); border: 1px solid var(--theme-border, var(--border)); border-radius: 12px; background: var(--theme-card, var(--panel-soft)); overflow: hidden; }
.daily-strategy-group { position: relative; box-shadow: inset 3px 0 0 color-mix(in srgb, var(--theme-accent, var(--accent)) 82%, transparent); }
.daily-strategy-group::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; pointer-events: none; background: var(--theme-accent, var(--accent)); }
.daily-strategy-group.is-profitable::after { background: linear-gradient(180deg, var(--theme-accent, var(--accent)), var(--emerald)); }
.daily-strategy-group.is-losing::after { background: linear-gradient(180deg, var(--theme-accent, var(--accent)), var(--crimson)); }
.daily-strategy-group[open] { border-color: color-mix(in srgb, var(--theme-accent, var(--accent)) 54%, var(--theme-border, var(--border))); box-shadow: inset 4px 0 0 var(--theme-accent, var(--accent)), 0 8px 24px rgba(0, 0, 0, 0.13); }
.daily-strategy-group[open] > summary {
  background: linear-gradient(100deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 22%, var(--theme-card, var(--panel-soft))), color-mix(in srgb, var(--theme-accent, var(--accent)) 8%, var(--theme-card, var(--panel-soft))) 55%, var(--theme-card, var(--panel-soft)));
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--theme-accent, var(--accent)) 48%, transparent);
}
.daily-strategy-group[open] > summary .daily-strategy-name { color: #fff; }
.daily-strategy-group[open] > summary .daily-strategy-name::after {
  content: "Selected";
  flex: 0 0 auto;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 55%, white);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--theme-accent, var(--accent)), var(--theme-accent-2, var(--accent-deep)));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--theme-accent, var(--accent)) 28%, transparent);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.daily-strategy-group > summary,
.daily-strategy-day > summary { list-style: none; cursor: pointer; user-select: none; }
.daily-strategy-group > summary::-webkit-details-marker,
.daily-strategy-day > summary::-webkit-details-marker { display: none; }
.daily-strategy-group > summary {
  display: grid;
  grid-template-columns: 18px minmax(210px, 1.7fr) repeat(8, minmax(72px, 0.62fr));
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 7px 11px;
  background: linear-gradient(100deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 9%, var(--theme-card, var(--panel-soft))), var(--theme-card, var(--panel-soft)) 42%);
}
.daily-strategy-group.is-profitable > summary { background: linear-gradient(100deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 10%, var(--theme-card, var(--panel-soft))), var(--theme-card, var(--panel-soft)) 48%, color-mix(in srgb, var(--emerald) 5%, var(--theme-card, var(--panel-soft)))); }
.daily-strategy-group.is-losing > summary { background: linear-gradient(100deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 10%, var(--theme-card, var(--panel-soft))), var(--theme-card, var(--panel-soft)) 48%, color-mix(in srgb, var(--crimson) 5%, var(--theme-card, var(--panel-soft)))); }
.daily-strategy-group > summary:hover { background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 82%, var(--theme-accent, var(--accent))); }
.daily-strategy-group > summary > strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.76rem; }
.daily-strategy-name { display: flex; align-items: center; gap: 8px; }
.daily-strategy-name i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: linear-gradient(135deg, var(--theme-accent, var(--accent)), var(--theme-accent-2, var(--accent-deep))); box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-accent, var(--accent)) 14%, transparent); }
.daily-strategy-chevron { color: var(--theme-accent, var(--accent)); font-size: 1.2rem; font-weight: 900; transition: transform 0.15s ease; }
details[open] > summary > .daily-strategy-chevron { transform: rotate(90deg); }
.daily-strategy-metric { min-width: 0; }
.daily-strategy-metric small,
.daily-strategy-metric b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-strategy-metric small { display: none; color: var(--theme-muted, var(--muted)); font-size: 0.56rem; font-weight: 900; text-transform: uppercase; }
.daily-strategy-metric b { width: fit-content; margin-top: 2px; padding: 3px 7px; border-radius: 999px; color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-panel, var(--panel)) 72%, transparent); font-size: 0.69rem; }
.daily-strategy-metric b.positive-text { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 14%, transparent); }
.daily-strategy-metric b.negative-text { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 14%, transparent); }
.daily-strategy-metric b.is-strong { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 14%, transparent); }
.daily-strategy-metric b.is-balanced { color: var(--amber); background: color-mix(in srgb, var(--amber) 14%, transparent); }
.daily-strategy-metric b.is-weak { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 14%, transparent); }
.daily-strategy-metric b.is-no-data { color: var(--theme-muted, var(--muted)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 12%, transparent); }
.daily-strategy-performance .daily-strategy-metric b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 24%, var(--theme-border, var(--border)));
  color: var(--theme-ink, var(--ink));
  background: color-mix(in srgb, var(--theme-accent, var(--accent)) 10%, var(--theme-card, var(--panel-soft)));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  font-size: 0.76rem;
  font-weight: 850;
  line-height: 1;
}
.daily-strategy-performance .daily-strategy-metric b.positive-text,
.daily-strategy-performance .daily-strategy-metric b.is-strong {
  color: #5eeab8;
  border-color: color-mix(in srgb, var(--emerald) 28%, transparent);
  background: color-mix(in srgb, var(--emerald) 16%, var(--theme-card, var(--panel-soft)));
}
.daily-strategy-performance .daily-strategy-metric b.negative-text,
.daily-strategy-performance .daily-strategy-metric b.is-weak {
  color: #ff8296;
  border-color: color-mix(in srgb, var(--crimson) 30%, transparent);
  background: color-mix(in srgb, var(--crimson) 16%, var(--theme-card, var(--panel-soft)));
}
.daily-strategy-performance .daily-strategy-metric b.is-balanced {
  color: #ffd45c;
  border-color: color-mix(in srgb, var(--amber) 30%, transparent);
  background: color-mix(in srgb, var(--amber) 15%, var(--theme-card, var(--panel-soft)));
}
.daily-strategy-days { display: grid; gap: 4px; padding: 6px 8px 8px 34px; border-top: 1px solid var(--theme-border, var(--border)); background: var(--theme-panel, var(--panel)); }
.daily-strategy-days-head {
  display: grid;
  grid-template-columns: 16px minmax(145px, 1fr) repeat(3, minmax(80px, auto)) minmax(100px, auto);
  gap: 9px;
  align-items: center;
  padding: 7px 10px 5px;
  color: var(--theme-muted, var(--muted));
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.daily-strategy-days-head strong { grid-column: 1 / 3; color: var(--theme-accent, var(--accent)); font-size: 0.61rem; }
.daily-strategy-day > summary {
  display: grid;
  grid-template-columns: 16px minmax(145px, 1fr) repeat(3, minmax(80px, auto)) minmax(100px, auto);
  align-items: center;
  gap: 9px;
  min-height: 36px;
  padding: 5px 9px;
  color: var(--theme-muted, var(--muted));
  background: var(--theme-card, var(--panel-soft));
  font-size: 0.68rem;
}
.daily-strategy-day > summary:hover { background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 82%, var(--theme-accent, var(--accent))); }
.daily-strategy-day > summary strong { color: var(--theme-ink, var(--ink)); }
.daily-strategy-day > summary b { text-align: right; }
.daily-strategy-day[open] { border-color: color-mix(in srgb, var(--theme-accent, var(--accent)) 68%, var(--theme-border, var(--border))); box-shadow: 0 5px 18px rgba(0, 0, 0, 0.16), inset 3px 0 0 var(--theme-accent, var(--accent)); }
.daily-strategy-day[open] > summary {
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 24%, var(--theme-card, var(--panel-soft))), color-mix(in srgb, var(--theme-accent, var(--accent)) 8%, var(--theme-card, var(--panel-soft))));
}
.daily-strategy-day[open] > summary > strong { display: inline-flex; align-items: center; gap: 7px; color: #fff; }
.daily-strategy-day[open] > summary > strong::after {
  content: "Selected";
  padding: 3px 7px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 52%, white);
  border-radius: 999px;
  color: #fff;
  background: var(--theme-accent, var(--accent));
  font-size: 0.52rem;
  font-weight: 900;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}
.daily-count-pill,
.daily-record-pill,
.daily-rate-pill,
.daily-pnl-pill { width: fit-content; padding: 4px 8px; border-radius: 999px; white-space: nowrap; }
.daily-count-pill { color: var(--theme-accent, var(--accent)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 13%, transparent); }
.daily-record-pill { color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 13%, transparent); }
.daily-rate-pill.is-strong { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 13%, transparent); }
.daily-rate-pill.is-balanced { color: var(--amber); background: color-mix(in srgb, var(--amber) 13%, transparent); }
.daily-rate-pill.is-weak { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 13%, transparent); }
.daily-pnl-pill.positive-text { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 13%, transparent); }
.daily-pnl-pill.negative-text { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 13%, transparent); }
.daily-strategy-trades { padding: 6px 8px 8px; border-top: 1px solid var(--theme-border, var(--border)); }
.daily-strategy-trades > p { margin: 4px; color: var(--theme-muted, var(--muted)); font-size: 0.68rem; }
.daily-strategy-trades-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 9px; border-radius: 8px 8px 0 0; color: var(--theme-ink, var(--ink)); background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 22%, var(--theme-panel, var(--panel))), var(--theme-panel, var(--panel))); }
.daily-strategy-trades-head strong { font-size: 0.7rem; }
.daily-strategy-trades-head span { padding: 3px 7px; border-radius: 999px; color: var(--theme-accent, var(--accent)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 13%, transparent); font-size: 0.6rem; font-weight: 850; }
.daily-strategy-trades table { width: 100%; min-width: 1000px; border-collapse: collapse; }
.daily-strategy-trades th,
.daily-strategy-trades td { padding: 7px 9px; border-bottom: 1px solid var(--theme-border, var(--border)); text-align: left; font-size: 0.72rem; }
.daily-strategy-trades th { padding: 7px 9px; border-bottom: 1px solid var(--theme-border, var(--border)); text-align: left; color: var(--theme-muted, var(--muted)); background: var(--theme-panel, var(--panel)); font-size: 0.62rem; text-transform: uppercase; }
.daily-strategy-trades button { padding: 4px 7px; border: 1px solid var(--theme-accent, var(--accent)); border-radius: 6px; color: var(--theme-accent, var(--accent)); background: var(--theme-card, var(--panel-soft)); cursor: pointer; font-size: 0.62rem; font-weight: 850; }
.daily-strategy-trades tbody tr { position: relative; transition: background 0.14s ease, transform 0.14s ease; }
.daily-strategy-trades tbody tr:nth-child(even) { background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 76%, transparent); }
.daily-strategy-trades tbody tr.is-day-a { background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 80%, transparent); }
.daily-strategy-trades tbody tr.is-day-b { background: color-mix(in srgb, var(--theme-accent, var(--accent)) 8%, var(--theme-card, var(--panel-soft))); }
.daily-strategy-trades tbody tr.is-new-day td { border-top: 2px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 52%, var(--theme-border, var(--border))); }
.daily-strategy-trades tbody tr:hover { background: color-mix(in srgb, var(--theme-accent, var(--accent)) 12%, var(--theme-card, var(--panel-soft))); }
.daily-strategy-trades tbody tr.is-profit { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--emerald) 76%, transparent); }
.daily-strategy-trades tbody tr.is-loss { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--crimson) 76%, transparent); }
.daily-trade-time { display: inline-flex; padding: 4px 7px; border-radius: 7px; color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 11%, transparent); font-weight: 850; white-space: nowrap; }
.daily-trade-date-time { display: inline-flex; align-items: center; gap: 6px; min-width: 146px; padding: 4px 7px; border-radius: 7px; color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 11%, transparent); white-space: nowrap; }
.daily-trade-date-time small { color: var(--theme-muted, var(--muted)); font-size: .64rem; font-weight: 850; white-space: nowrap; }
.daily-trade-date-time b { font-size: .68rem; font-weight: 900; white-space: nowrap; }
.daily-trade-instrument { color: var(--theme-ink, var(--ink)); letter-spacing: 0.01em; }
.daily-side-pill,
.daily-exit-pill,
.daily-net-pill { display: inline-flex; align-items: center; width: fit-content; padding: 4px 8px; border-radius: 999px; white-space: nowrap; }
.daily-side-pill { color: #ddd6fe; background: rgba(124, 58, 237, 0.2); border: 1px solid rgba(167, 139, 250, 0.24); font-weight: 900; }
.daily-side-pill.is-ce { color: #6ee7b7; background: rgba(16, 185, 129, 0.14); border-color: rgba(52, 211, 153, 0.25); }
.daily-side-pill.is-pe { color: #fda4af; background: rgba(244, 63, 94, 0.14); border-color: rgba(251, 113, 133, 0.25); }
.daily-price-flow { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.daily-price-flow b { padding: 3px 6px; border-radius: 6px; background: color-mix(in srgb, var(--theme-muted, var(--muted)) 9%, transparent); }
.daily-price-flow i { color: var(--theme-accent, var(--accent)); font-style: normal; font-weight: 900; }
.daily-exit-pill { color: var(--theme-muted, var(--muted)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 11%, transparent); border: 1px solid color-mix(in srgb, var(--theme-muted, var(--muted)) 18%, transparent); font-weight: 800; }
.daily-exit-pill.is-target-hit { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 12%, transparent); border-color: color-mix(in srgb, var(--emerald) 24%, transparent); }
.daily-exit-pill.is-stop-loss-hit { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 12%, transparent); border-color: color-mix(in srgb, var(--crimson) 24%, transparent); }
.daily-exit-pill.is-time-stop {
  color: #fb7185;
  background: rgba(244, 63, 94, 0.13);
  border-color: rgba(251, 113, 133, 0.34);
}
.idle-favorable-move-pill { display: inline-flex; align-items: baseline; gap: 5px; width: fit-content; min-width: 78px; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--emerald) 28%, transparent); border-radius: 999px; color: var(--emerald); background: color-mix(in srgb, var(--emerald) 10%, transparent); white-space: nowrap; }
.idle-favorable-move-pill b { font-weight: 950; }
.idle-favorable-move-pill small { color: color-mix(in srgb, var(--emerald) 78%, var(--theme-muted, var(--muted))); font-size: 0.58rem; font-weight: 850; }
.idle-favorable-move-pill.is-flat { color: var(--theme-muted, var(--muted)); border-color: color-mix(in srgb, var(--theme-muted, var(--muted)) 18%, transparent); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 9%, transparent); }
.idle-favorable-move-pill.is-muted { justify-content: center; min-width: 48px; color: var(--theme-muted, var(--muted)); border-color: transparent; background: transparent; }
.idle-trade-hold-pill { display: inline-flex; align-items: baseline; gap: 5px; width: fit-content; min-width: 86px; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 22%, transparent); border-radius: 999px; color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 10%, transparent); white-space: nowrap; }
.idle-trade-hold-pill b { font-weight: 900; }
.idle-trade-hold-pill small { color: var(--theme-muted, var(--muted)); font-size: 0.6rem; font-weight: 850; }
.daily-net-pill.positive-text { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 13%, transparent); }
.daily-net-pill.negative-text { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 13%, transparent); }
.daily-strategy-trades button { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px 5px 10px; border-radius: 999px; }
.daily-strategy-trades button b { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; color: var(--theme-card, var(--panel-soft)); background: var(--theme-accent, var(--accent)); }

.daily-report-drawer-shell { position: fixed; inset: 0; z-index: 10030; }
#dailyTradeDetailModal { z-index: 10040; }
.daily-report-drawer-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.48); backdrop-filter: blur(3px); }
.daily-report-drawer { position: absolute; inset: 0 0 0 auto; display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(1180px, 95vw); background: #f8fafc; box-shadow: -30px 0 70px rgba(15, 23, 42, 0.24); }
.daily-report-drawer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 19px 21px; border-bottom: 1px solid var(--border); background: #fff; }
.daily-report-drawer > header { border-bottom-color: var(--theme-border, var(--border)); background: linear-gradient(105deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 15%, var(--theme-panel, var(--panel))), var(--theme-panel, var(--panel)) 58%); box-shadow: inset 0 3px 0 color-mix(in srgb, var(--theme-accent, var(--accent)) 76%, transparent); }
.daily-report-drawer > header h2,
.daily-report-drawer > header p { margin: 0; }
.daily-report-drawer > header h2 { margin-top: 3px; }
.daily-report-drawer > header p:last-child { margin-top: 5px; color: #64748b; }
.daily-report-drawer > header button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #dbe4ee; border-radius: 12px; color: #475569; background: #fff; cursor: pointer; font-size: 1.25rem; }
.daily-report-drawer-body { min-height: 0; overflow: auto; padding: 18px 20px 30px; }

.daily-drawer-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; }
.daily-drawer-metrics article { min-width: 0; padding: 12px; border: 1px solid #e2e8f0; border-radius: 11px; background: #fff; }
.daily-drawer-metrics span,
.daily-drawer-metrics strong { display: block; }
.daily-drawer-metrics span { color: #64748b; font-size: 0.65rem; font-weight: 900; text-transform: uppercase; }
.daily-drawer-metrics strong { margin-top: 4px; overflow-wrap: anywhere; }
.daily-drawer-metrics article { position: relative; overflow: hidden; border-color: var(--theme-border, var(--border)); background: linear-gradient(115deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 9%, var(--theme-card, var(--panel-soft))), var(--theme-card, var(--panel-soft))); }
.daily-drawer-metrics article::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(180deg, var(--theme-accent, var(--accent)), var(--theme-accent-2, var(--accent-deep))); }
.daily-drawer-metrics span { color: var(--theme-muted, var(--muted)); }
.daily-drawer-metrics strong { width: fit-content; padding: 4px 8px; border-radius: 999px; color: var(--theme-ink, var(--ink)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 10%, transparent); }
.daily-drawer-metrics strong.positive-text { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 13%, transparent); }
.daily-drawer-metrics strong.negative-text { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 13%, transparent); }

.daily-drawer-section,
.daily-drawer-trades { margin-top: 14px; padding: 14px; border: 1px solid #e2e8f0; border-radius: 13px; background: #fff; }
.daily-drawer-trades { overflow: hidden; border-color: var(--theme-border, var(--border)); background: var(--theme-card, var(--panel-soft)); box-shadow: inset 3px 0 0 var(--theme-accent, var(--accent)); }
.daily-drawer-trades > div:first-child { margin: -14px -14px 10px; padding: 12px 14px; border-bottom: 1px solid var(--theme-border, var(--border)); background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 18%, var(--theme-panel, var(--panel))), var(--theme-panel, var(--panel))); }
.daily-drawer-trades > div:first-child > span { padding: 4px 8px; border-radius: 999px; color: var(--theme-accent, var(--accent)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 13%, transparent); }
.daily-drawer-section > div:first-child,
.daily-drawer-trades > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.daily-drawer-section h3,
.daily-drawer-trades h3 { margin: 0; font-size: 0.95rem; }
.daily-drawer-section > div:first-child > span,
.daily-drawer-trades > div:first-child > span { color: #64748b; font-size: 0.7rem; font-weight: 800; }
.daily-drawer-strategy-list { display: grid; gap: 7px; margin-top: 10px; }
.daily-drawer-strategy-list article { display: grid; grid-template-columns: minmax(180px, 1fr) repeat(3, auto); align-items: center; gap: 13px; padding: 9px 10px; border-radius: 8px; background: #f8fafc; font-size: 0.72rem; }

.daily-drawer-breakdown-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 10px; margin-top: 14px; }
.daily-range-breakdowns .daily-drawer-breakdown-grid { margin-top: 0; }
.daily-range-data-warning { grid-column: 1 / -1; padding: 16px; border: 1px solid color-mix(in srgb, var(--amber) 34%, var(--theme-border, var(--border))); border-radius: 12px; color: var(--amber); background: color-mix(in srgb, var(--amber) 9%, var(--theme-card, var(--panel-soft))); font-size: 0.75rem; font-weight: 750; text-align: center; }
.daily-range-breakdowns,
.daily-report-table-panel,
.daily-strategy-performance { text-rendering: optimizeLegibility; -webkit-font-smoothing: auto; }
.daily-range-breakdowns,
.daily-report-table-panel { overflow: hidden; border-top: 2px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 72%, transparent) !important; }
.daily-range-breakdowns > .panel-head,
.daily-report-table-panel > .panel-head { margin: calc(var(--theme-panel-padding, 20px) * -1) calc(var(--theme-panel-padding, 20px) * -1) 14px; padding: 17px 20px 14px; border-bottom: 1px solid var(--theme-border, var(--border)); background: linear-gradient(100deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 12%, var(--theme-panel, var(--panel))), var(--theme-panel, var(--panel)) 55%); }
.daily-distribution-card { position: relative; min-width: 0; padding: 0 !important; overflow: hidden; border: 1px solid var(--theme-border, var(--border)) !important; border-radius: 14px !important; background: var(--theme-card, var(--panel-soft)) !important; }
.daily-distribution-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(180deg, var(--theme-accent, var(--accent)), var(--theme-accent-2, var(--accent-deep))); }
.daily-distribution-card > header { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--theme-border, var(--border)); background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 12%, var(--theme-card, var(--panel-soft))), var(--theme-card, var(--panel-soft))); }
.daily-distribution-card > header > span { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 8px; color: var(--theme-accent, var(--accent)); background: color-mix(in srgb, var(--theme-accent, var(--accent)) 14%, transparent); font-size: 0.69rem; }
.daily-distribution-card > header h3 { margin: 0; color: var(--theme-ink, var(--ink)); font-size: 0.78rem; }
.daily-distribution-card > header b { margin-left: auto; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--theme-muted, var(--muted)) 20%, transparent); border-radius: 999px; color: var(--theme-muted, var(--muted)); background: color-mix(in srgb, var(--theme-muted, var(--muted)) 12%, var(--theme-card, var(--panel-soft))); font-size: 0.66rem; line-height: 1.2; }
.daily-distribution-list { display: grid; padding: 5px 10px 9px 13px; }
.daily-drawer-breakdown-grid .daily-distribution-card > .daily-distribution-list { display: grid; grid-template-columns: 1fr; gap: 0; padding: 5px 10px 9px 13px; border-top: 0; font-size: inherit; }
.daily-distribution-list article { display: grid; grid-template-columns: minmax(82px, 1fr) minmax(88px, auto) minmax(54px, auto); column-gap: 13px; align-items: center; min-height: 46px; padding: 7px 2px; border-bottom: 1px solid color-mix(in srgb, var(--theme-border, var(--border)) 72%, transparent); }
.daily-distribution-list article:last-child { border-bottom: 0; }
.daily-distribution-list article > span { overflow: hidden; color: var(--theme-ink, var(--ink)); font-size: 0.68rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.daily-distribution-count { grid-column: 3; grid-row: 1; min-width: 44px; margin-left: 2px; padding: 4px 8px 4px 12px; border: 1px solid color-mix(in srgb, var(--theme-accent, var(--accent)) 62%, white); border-left-width: 3px; border-radius: 999px; color: #fff; background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent, var(--accent)) 78%, #24143d), color-mix(in srgb, var(--theme-accent-2, var(--accent-deep)) 58%, #24143d)); box-shadow: -7px 0 0 -6px color-mix(in srgb, var(--theme-border, var(--border)) 95%, transparent), 0 3px 10px color-mix(in srgb, var(--theme-accent, var(--accent)) 20%, transparent); font-size: 0.7rem; line-height: 1.15; text-align: center; }
.daily-distribution-pnl { grid-column: 2; grid-row: 1; justify-self: end; width: fit-content; padding: 4px 7px; border: 1px solid transparent; border-radius: 999px; font-size: 0.66rem; line-height: 1.15; white-space: nowrap; }
.daily-drawer-breakdown-grid .daily-distribution-card .daily-distribution-list article > .daily-distribution-pnl { grid-column: 2; grid-row: 1; font-size: 0.66rem; }
.daily-distribution-pnl.positive-text { color: var(--emerald); background: color-mix(in srgb, var(--emerald) 12%, transparent); }
.daily-distribution-pnl.negative-text { color: var(--crimson); background: color-mix(in srgb, var(--crimson) 12%, transparent); }
.daily-drawer-breakdown-grid section { min-width: 0; padding: 12px; border: 1px solid #e2e8f0; border-radius: 11px; background: #fff; }
.daily-drawer-breakdown-grid h3 { margin: 0 0 9px; font-size: 0.82rem; }
.daily-drawer-breakdown-grid section > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; padding: 7px 0; border-top: 1px solid #f1f5f9; font-size: 0.69rem; }
.daily-drawer-breakdown-grid section > div strong { grid-column: 1 / -1; font-size: 0.69rem; }
.daily-drawer-breakdown-grid p { color: #94a3b8; font-size: 0.7rem; }

.daily-drawer-trades .table-wrap { margin-top: 10px; }
.daily-drawer-trades table { width: 100%; min-width: 980px; border-collapse: collapse; }
.daily-drawer-trades th,
.daily-drawer-trades td { padding: 10px 11px; border-bottom: 1px solid #e2e8f0; text-align: left; vertical-align: top; font-size: 0.72rem; }
.daily-drawer-trades th { color: #475569; background: #f1f5f9; font-size: 0.65rem; text-transform: uppercase; }
.daily-drawer-trades th { color: var(--theme-muted, var(--muted)); background: var(--theme-panel, var(--panel)); letter-spacing: 0.055em; }
.daily-drawer-trades td strong,
.daily-drawer-trades td small { display: block; }
.daily-drawer-trades td small { margin-top: 2px; color: #94a3b8; }
.daily-drawer-trades tbody tr { transition: background 0.14s ease; }
.daily-drawer-trades tbody tr:nth-child(even) { background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 76%, transparent); }
.daily-drawer-trades tbody tr:hover { background: color-mix(in srgb, var(--theme-accent, var(--accent)) 12%, var(--theme-card, var(--panel-soft))); }
.daily-drawer-trades tbody tr.is-profit { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--emerald) 76%, transparent); }
.daily-drawer-trades tbody tr.is-loss { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--crimson) 76%, transparent); }
.daily-drawer-instrument { display: flex; align-items: center; gap: 8px; min-width: 0; }
.daily-drawer-instrument .daily-trade-instrument { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.daily-drawer-trades button { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px 5px 10px !important; border-radius: 999px !important; color: var(--theme-accent, var(--accent)) !important; border-color: color-mix(in srgb, var(--theme-accent, var(--accent)) 42%, transparent) !important; background: color-mix(in srgb, var(--theme-accent, var(--accent)) 9%, transparent) !important; }
.daily-drawer-trades button b { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; color: var(--theme-card, var(--panel-soft)); background: var(--theme-accent, var(--accent)); }

@media (max-width: 1250px) {
  .daily-report-overview { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .daily-ml-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-comparison-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .daily-strategy-group > summary { grid-template-columns: 18px minmax(190px, 1.5fr) repeat(4, minmax(70px, 0.7fr)); }
  .daily-strategy-group > summary .daily-strategy-metric:nth-last-child(-n+4) { display: none; }
  .daily-strategy-column-head { grid-template-columns: 18px minmax(190px, 1.5fr) repeat(4, minmax(70px, 0.7fr)); }
  .daily-strategy-column-head span:nth-last-child(-n+4) { display: none; }
}

@media (max-width: 850px) {
  .daily-report-hero { align-items: flex-start; flex-direction: column; }
  .daily-report-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-report-advanced > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-report-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .daily-ml-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-report-streaks { grid-template-columns: 1fr; }
  .daily-drawer-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .daily-drawer-breakdown-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-strategy-group > summary { grid-template-columns: 18px minmax(170px, 1.5fr) repeat(3, minmax(65px, 0.7fr)); }
  .daily-strategy-group > summary .daily-strategy-metric:nth-last-child(-n+5) { display: none; }
  .daily-strategy-column-head { grid-template-columns: 18px minmax(170px, 1.5fr) repeat(3, minmax(65px, 0.7fr)); }
  .daily-strategy-column-head span:nth-last-child(-n+5) { display: none; }
  .daily-strategy-days { padding-left: 18px; }
}

@media (max-width: 560px) {
  .daily-report-filter-form,
  .daily-report-advanced > div { grid-template-columns: 1fr; }
  .daily-report-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-ml-card-grid { grid-template-columns: 1fr; }
  .daily-comparison-grid { grid-template-columns: 1fr; }
  .daily-drawer-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .daily-drawer-breakdown-grid { grid-template-columns: 1fr; }
  .daily-drawer-strategy-list article { grid-template-columns: 1fr 1fr; }
  .daily-report-drawer { width: 100vw; }
  .daily-strategy-group > summary { grid-template-columns: 18px minmax(145px, 1fr) minmax(62px, auto) minmax(72px, auto); }
  .daily-strategy-group > summary .daily-strategy-metric { display: none; }
  .daily-strategy-group > summary .daily-strategy-metric:nth-child(3),
  .daily-strategy-group > summary .daily-strategy-metric:nth-child(8) { display: block; }
  .daily-strategy-day > summary { grid-template-columns: 16px 1fr auto auto; }
  .daily-strategy-day > summary span:nth-of-type(n+3) { display: none; }
  .daily-strategy-column-head { display: none; }
  .daily-strategy-metric small { display: block; }
  .daily-strategy-days-head { display: flex; justify-content: space-between; }
  .daily-strategy-days-head span:nth-of-type(-n+2) { display: none; }
}

/* Logged-out glass surfaces sit above the shared market animation. */
body.has-login-market-theme[data-auth-state="logged-out"] .panel-login,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card {
  color: #f8fafc;
  background:
    radial-gradient(circle at 12% 2%, rgba(96, 165, 250, 0.14), transparent 30%),
    linear-gradient(145deg, rgba(19, 32, 55, 0.94), rgba(7, 15, 31, 0.92));
  border: 1px solid rgba(96, 165, 250, 0.3);
  box-shadow:
    inset 0 1px 0 rgba(219, 234, 254, 0.09),
    0 34px 90px rgba(0, 0, 0, 0.58),
    0 0 48px rgba(37, 99, 235, 0.12);
  backdrop-filter: blur(22px) saturate(125%);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login {
  width: min(470px, 100%);
  padding: clamp(24px, 3vw, 34px);
  border-radius: 28px;
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login::before,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card::before {
  background:
    linear-gradient(90deg, transparent, rgba(96, 165, 250, 0.82), transparent) top / 72% 1px no-repeat,
    linear-gradient(180deg, rgba(147, 197, 253, 0.07), transparent 32%);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login::after {
  content: "";
  position: absolute;
  width: 92px;
  height: 92px;
  right: -42px;
  top: -44px;
  border: 1px solid rgba(96, 165, 250, 0.25);
  border-radius: 50%;
  box-shadow:
    0 0 0 14px rgba(96, 165, 250, 0.03),
    0 0 42px rgba(37, 99, 235, 0.16);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .panel-head,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .panel-head,
body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .login-form,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .login-form,
body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .form-message,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .form-message {
  position: relative;
  z-index: 2;
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .panel-head h2,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .panel-head h2 {
  color: #f4fff9;
  text-shadow: 0 0 24px rgba(96, 165, 250, 0.16);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .section-kicker,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .section-kicker {
  color: #60a5fa;
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .login-form span,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .login-form span {
  color: rgba(219, 234, 254, 0.8);
  font-weight: 700;
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login input,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card input {
  min-height: 52px;
  color: #f8fafc;
  caret-color: #60a5fa;
  background: rgba(4, 12, 28, 0.72);
  border-color: rgba(96, 165, 250, 0.24);
  box-shadow: inset 0 1px 8px rgba(0, 0, 0, 0.24);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login input::placeholder,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card input::placeholder {
  color: rgba(148, 163, 184, 0.58);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login input:focus,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card input:focus {
  border-color: rgba(96, 165, 250, 0.78);
  background: rgba(5, 17, 38, 0.86);
  box-shadow:
    0 0 0 4px rgba(59, 130, 246, 0.15),
    0 0 24px rgba(37, 99, 235, 0.14);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .primary-button,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .primary-button {
  min-height: 52px;
  color: #ffffff;
  background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 52%, #2563eb 100%);
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .primary-button:hover,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .primary-button:hover {
  box-shadow: 0 18px 38px rgba(59, 130, 246, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.48);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .form-message,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .form-message {
  color: rgba(203, 213, 225, 0.7);
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .form-message.is-success,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .form-message.is-success {
  color: #93c5fd;
}

body.has-login-market-theme[data-auth-state="logged-out"] .panel-login .form-message.is-error,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card .form-message.is-error {
  color: #fda4af;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-shell::before,
body.has-login-market-theme[data-auth-state="logged-out"] .login-shell::after {
  display: none;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card {
  width: min(460px, 100%);
  justify-self: center;
  padding: clamp(26px, 3vw, 38px);
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(96, 165, 250, 0.18), transparent 31%),
    radial-gradient(circle at 104% 86%, rgba(37, 99, 235, 0.14), transparent 34%),
    linear-gradient(145deg, rgba(19, 32, 55, 0.97), rgba(7, 15, 31, 0.96));
  border-radius: 34px;
  animation: login-card-breathe 5s ease-in-out infinite alternate;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-stage {
  width: min(460px, 100%);
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "card";
  gap: 0;
  place-items: center;
  text-align: left;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card-orbit {
  position: absolute;
  z-index: 0;
  width: 230px;
  height: 230px;
  right: -132px;
  top: -142px;
  border: 1px solid rgba(96, 165, 250, 0.22);
  border-radius: 50%;
  box-shadow:
    0 0 0 28px rgba(96, 165, 250, 0.035),
    0 0 0 66px rgba(96, 165, 250, 0.022),
    0 0 70px rgba(37, 99, 235, 0.12);
  animation: login-card-orbit 9s linear infinite;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card-brand {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-bottom: 28px;
  padding: 0 0 18px;
  text-align: center;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card-brand strong {
  color: #f8fafc;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card-brand span {
  color: rgba(203, 213, 225, 0.66);
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card-brand > div > span {
  display: flex;
  align-items: center;
  gap: 7px;
}

.login-card-logo {
  display: block;
  width: min(270px, 82vw);
  height: 104px;
  flex: 0 0 auto;
  object-fit: contain;
  border-radius: 0;
  filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.34));
}

.login-status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0;
  border-radius: 50%;
  background: #60a5fa;
  box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.12), 0 0 12px rgba(96, 165, 250, 0.82);
  animation: login-status-pulse 2.4s ease-in-out infinite;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card .panel-head {
  margin-bottom: 22px;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card .panel-head h2 {
  margin-top: 6px;
  font-size: clamp(2rem, 4vw, 2.55rem);
  letter-spacing: -0.035em;
}

.login-card-intro {
  margin: 10px 0 0;
  max-width: 350px;
  color: rgba(203, 213, 225, 0.7);
  line-height: 1.55;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card .login-form {
  gap: 18px;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card .login-form label {
  gap: 9px;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card input {
  border-radius: 16px;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card input:-webkit-autofill,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card input:-webkit-autofill:hover,
body.has-login-market-theme[data-auth-state="logged-out"] .login-card input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f8fafc;
  -webkit-box-shadow: 0 0 0 1000px #071326 inset, 0 0 0 1px rgba(96, 165, 250, 0.3);
  caret-color: #60a5fa;
  transition: background-color 9999s ease-out 0s;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card .primary-button {
  position: relative;
  margin-top: 3px;
  border-radius: 16px;
  letter-spacing: 0.01em;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card .form-message {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(96, 165, 250, 0.14);
  text-align: center;
  font-size: 0.86rem;
}

body.has-login-market-theme[data-auth-state="logged-out"] .login-card .brand-symbol-mini {
  background: linear-gradient(135deg, #083d30, #00ad7a);
  border-color: rgba(102, 255, 209, 0.26);
  box-shadow: 0 12px 28px rgba(0, 213, 152, 0.18);
}

@keyframes login-card-breathe {
  from {
    box-shadow:
      inset 0 1px 0 rgba(219, 234, 254, 0.09),
      0 34px 90px rgba(0, 0, 0, 0.58),
      0 0 38px rgba(37, 99, 235, 0.08);
  }
  to {
    box-shadow:
      inset 0 1px 0 rgba(219, 234, 254, 0.12),
      0 38px 100px rgba(0, 0, 0, 0.62),
      0 0 62px rgba(37, 99, 235, 0.18);
  }
}

@keyframes login-card-orbit {
  from { transform: rotate(0deg) scale(0.98); }
  to { transform: rotate(360deg) scale(1.03); }
}

@keyframes login-status-pulse {
  0%, 100% { opacity: 0.58; transform: scale(0.82); }
  50% { opacity: 1; transform: scale(1); }
}

@media (max-width: 760px) {
  .login-market-dot-field {
    width: 90%;
    opacity: 0.28;
  }

  .login-market-chart-front {
    opacity: 0.48;
  }

  .login-market-network {
    opacity: 0.24;
  }

  body.has-login-market-theme[data-auth-state="logged-out"] .panel-login {
    padding: 22px 18px;
    border-radius: 23px;
  }

  body.has-login-market-theme[data-auth-state="logged-out"] .login-card {
    padding: 24px 19px;
    border-radius: 26px;
  }

  .login-card-brand {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 1120px) {
  body.has-login-market-theme[data-auth-state="logged-out"] {
    overflow-y: auto;
  }

  body.has-login-market-theme[data-auth-state="logged-out"] .page-shell {
    height: auto;
    min-height: 100vh;
    overflow: visible;
  }

  body.has-login-market-theme[data-auth-state="logged-out"] .login-market-background {
    position: fixed;
  }
}

@media (prefers-reduced-motion: reduce) {
  .login-market-background::before,
  .login-market-aurora,
  .login-market-dot-field,
  .login-market-beams i,
  .login-market-chart-front,
  .login-market-chart-line,
  .login-market-nodes circle,
  .login-market-network,
  .login-market-scan {
    animation: none !important;
  }

  .login-market-chart-line {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
  }

  .login-market-scan {
    display: none;
  }

  body.has-login-market-theme[data-auth-state="logged-out"] .login-card,
  body.has-login-market-theme[data-auth-state="logged-out"] .login-card-orbit,
  .login-status-dot {
    animation: none !important;
  }
}

/* Authenticated application theme: static Cryptrix-inspired dark workspace. */
body[data-auth-state="authenticated"] {
  --bg: #090711;
  --panel: #14101d;
  --panel-strong: #1d1727;
  --panel-soft: #211a2d;
  --border: #30283d;
  --border-strong: #40344f;
  --ink: #f8f7fc;
  --muted: #aaa3b8;
  --muted-soft: #81798f;
  --accent: #8b5cf6;
  --accent-deep: #ec4899;
  --emerald: #34d399;
  --crimson: #fb7185;
  --amber: #14b8a6;
  --shadow: none;
  --shadow-soft: none;
  color-scheme: dark;
  color: var(--ink);
  background: #090711;
}

body[data-auth-state="authenticated"] .page-shell {
  padding: 0 28px 40px;
  background:
    radial-gradient(circle at 86% 5%, rgba(139, 92, 246, 0.07), transparent 24%),
    linear-gradient(180deg, #090711 0%, #0d0914 100%);
}

body[data-auth-state="authenticated"] .background-orb,
body[data-auth-state="authenticated"] .background-grid {
  display: none;
}

body[data-auth-state="authenticated"] .reveal,
body[data-auth-state="authenticated"] .broker-modal-card {
  animation: none !important;
}

body[data-auth-state="authenticated"] * {
  scrollbar-color: #4b3b5e transparent;
}

body[data-auth-state="authenticated"] *::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

body[data-auth-state="authenticated"] *::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #4b3b5e;
}

body[data-auth-state="authenticated"] .hero {
  z-index: 80;
  min-height: 88px;
  margin: 0 -28px 22px;
  padding: 14px 28px;
  gap: 18px;
  flex-wrap: nowrap;
  background: #080711;
  border-bottom: 1px solid #211a2d;
}

body[data-auth-state="authenticated"] .hero-left {
  flex: 0 0 auto;
}

body[data-auth-state="authenticated"] .brand-logo,
body[data-auth-state="authenticated"] .brand-logo.has-selected-logo {
  width: 76px;
  height: 76px;
  padding: 8px;
  border: 1px solid rgba(167, 139, 250, .34);
  border-radius: 24px;
  background:
    radial-gradient(circle at 24% 18%, rgba(236, 72, 153, .22), transparent 46%),
    radial-gradient(circle at 76% 82%, rgba(34, 211, 238, .14), transparent 48%),
    linear-gradient(145deg, rgba(30, 22, 48, .92), rgba(12, 9, 22, .96));
  box-shadow:
    0 16px 34px rgba(0, 0, 0, .32),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

body[data-auth-state="authenticated"] .brand-logo:hover {
  transform: translateY(-1px);
  border-color: rgba(236, 72, 153, .46);
  box-shadow:
    0 18px 38px rgba(0, 0, 0, .36),
    0 0 0 1px rgba(236, 72, 153, .08),
    inset 0 1px 0 rgba(255, 255, 255, .1);
}

body[data-auth-state="authenticated"] .hero-right {
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

body[data-auth-state="authenticated"] .hero-nav {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  padding: 7px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #2d253a;
  border-radius: 18px;
  background: #15111f;
  box-shadow: none;
  scrollbar-width: thin;
}

body[data-auth-state="authenticated"] .nav-link {
  min-height: 44px;
  flex: 0 0 auto;
  justify-content: center;
  padding: 11px 15px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #aaa3b8;
  background: #221b2d;
  box-shadow: none;
  font-size: 0.86rem;
  font-weight: 800;
  white-space: nowrap;
}

body[data-auth-state="authenticated"] .nav-link:hover {
  transform: none;
  color: #f8f7fc;
  border-color: #49385e;
  background: #2a2137;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .nav-link.is-active {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 46%, #ec4899 100%);
  box-shadow: none;
}

body[data-auth-state="authenticated"] #logoutButton {
  min-height: 44px;
  flex: 0 0 auto;
  padding: 11px 17px;
  color: #f3e8ff;
  border: 1px solid #4a365c;
  border-radius: 13px;
  background: #22192d;
  box-shadow: none;
}

body[data-auth-state="authenticated"] #logoutButton:hover {
  transform: none;
  color: #ffffff;
  border-color: #be185d;
  background: #3b1830;
}

body[data-auth-state="authenticated"] .dashboard {
  gap: 16px;
}

body[data-auth-state="authenticated"] .panel {
  color: var(--ink);
  background: #14101d;
  border-color: #30283d;
  border-radius: 20px;
  box-shadow: none;
  backdrop-filter: none;
}

body[data-auth-state="authenticated"] .panel::before {
  display: none;
}

body[data-auth-state="authenticated"] .panel-head h1,
body[data-auth-state="authenticated"] .panel-head h2,
body[data-auth-state="authenticated"] .overview-highlight {
  color: #f8f7fc;
}

body[data-auth-state="authenticated"] .section-kicker {
  color: #c084fc;
}

body[data-auth-state="authenticated"] :is(
  .metric-card,
  .strategy-card,
  .broker-summary-card,
  .broker-form-card,
  .flow-step,
  .flow-lane-card,
  .chart-card,
  .guide-card,
  .guide-timeline article,
  .guide-action-list article,
  .guide-example-box,
  .guide-note-card,
  .detail-tile,
  .entry-context-metric,
  .insight-stat-card,
  .insight-feature-card,
  .recommendation-card,
  .rank-row,
  .strategy-insight-card,
  .strategy-research-card,
  .insight-trade-card,
  .empty-insight
) {
  color: var(--ink);
  background: #1d1727;
  border-color: #342a43;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .metric-focus,
  .dashboard-summary-grid .dashboard-control-card,
  .dashboard-market-card,
  .dashboard-market-card.is-live,
  .dashboard-market-card.is-paused,
  .dashboard-market-card.is-closed
) {
  background:
    radial-gradient(circle at 10% 0%, rgba(139, 92, 246, 0.1), transparent 36%),
    #1d1727;
  border-color: #3b2f4c;
}

body[data-auth-state="authenticated"] .dashboard-market-card::before {
  height: 3px;
}

body[data-auth-state="authenticated"] :is(.metric-label, .subtle-label, .metric-note) {
  color: #91899f;
}

body[data-auth-state="authenticated"] :is(.metric-value, .broker-mini-card strong, .broker-field-title) {
  color: #f8f7fc;
}

body[data-auth-state="authenticated"] :is(input, select, textarea) {
  color: #f4f1f8;
  border-color: #40344f;
  background: #16121f;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(input, textarea)::placeholder {
  color: #706879;
}

body[data-auth-state="authenticated"] :is(input, select, textarea):focus {
  border-color: #a855f7;
  background: #1b1525;
  box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.13);
}

body[data-auth-state="authenticated"] select {
  color-scheme: dark;
  background-image:
    linear-gradient(45deg, transparent 50%, #d8b4fe 50%),
    linear-gradient(135deg, #d8b4fe 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
}

body[data-auth-state="authenticated"] :is(.primary-button, .secondary-button, .success-button) {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 48%, #ec4899 100%);
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(.primary-button, .secondary-button, .success-button, .ghost-button):disabled {
  color: var(--research-contrast-muted, #e8e0f1);
  border-color: var(--research-contrast-border, #4f4161);
  background: var(--research-contrast-surface-raised, #2a2137);
  box-shadow: none;
  opacity: 1;
}

body[data-auth-state="authenticated"] :is(.ghost-button, .toggle-button) {
  color: #d7d1df;
  border-color: #40344f;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(.ghost-button, .toggle-button):hover {
  color: #ffffff;
  border-color: #6d4f87;
  background: #2b2139;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(button, .nav-link):focus-visible {
  outline: 2px solid #c084fc;
  outline-offset: 2px;
}

body[data-auth-state="authenticated"] .action-broker {
  background: linear-gradient(135deg, #7c3aed, #db2777);
}

body[data-auth-state="authenticated"] :is(.pill, .provider-chip, .watcher-recommendations span, .watcher-limit-grid span) {
  color: #aaa3b8;
  border-color: #392e48;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .provider-chip.is-active {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #7c3aed, #a855f7 52%, #ec4899);
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(.table-wrap, .table-scroll) {
  border-color: #30283d;
  background: transparent;
}

body[data-auth-state="authenticated"] table {
  color: #d8d2e1;
  background: #14101d;
}

body[data-auth-state="authenticated"] table th {
  color: #aaa3b8;
  border-color: #342a43;
  background: #211a2c;
}

body[data-auth-state="authenticated"] table td {
  color: #d8d2e1;
  border-color: #2d2538;
  background: transparent;
}

body[data-auth-state="authenticated"] table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.018);
}

body[data-auth-state="authenticated"] table tbody tr:hover {
  background: rgba(168, 85, 247, 0.07);
}

body[data-auth-state="authenticated"] :is(.table-sort-button, .table-header-label) {
  color: #aaa3b8;
}

body[data-auth-state="authenticated"] :is(
  .table-pagination,
  .table-infinite-status,
  .table-pagination-input,
  .table-pagination-button,
  .table-detail-button,
  .table-icon-button
) {
  color: #c8c1d2;
  border-color: #40344f;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(.table-pagination-button, .table-detail-button, .table-icon-button):hover {
  color: #ffffff;
  border-color: #a855f7;
  background: #30213f;
}

body[data-auth-state="authenticated"] .app-footer {
  color: #aaa3b8;
  border-color: #2c2437;
  background: #11101a;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .app-footer strong {
  color: #f8f7fc;
}

body[data-auth-state="authenticated"] :is(
  .broker-status-bar,
  .broker-dock,
  .broker-rail-card,
  .broker-action-panel,
  .broker-fieldset,
  .broker-trading-rules-section,
  .broker-diagnostics,
  .live-feed-strip,
  .market-side-panel,
  .market-rationale,
  .option-side-card,
  .option-chart-card,
  .market-trend-chart,
  .market-option-inline,
  .strategy-command-strip,
  .strategy-library-preview,
  .strategy-library-group,
  .strategy-entry-rules,
  .lab-hero-panel,
  .strategy-lab-panel,
  .strategy-lab-workbench,
  .strategy-lab-action-card,
  .strategy-lab-status-panel,
  .strategy-lab-inline-status,
  .strategy-lab-inner-section,
  .strategy-diagnosis-panel,
  .strategy-path-panel,
  .strategy-cleanup-panel,
  .strategy-ml-rollout,
  .strategy-lab-recommendation-board,
  .note-paper,
  .note-workbench
) {
  color: var(--ink);
  border-color: #342a43;
  background:
    radial-gradient(circle at 96% 2%, rgba(168, 85, 247, 0.055), transparent 28%),
    #181320;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .broker-status-pill,
  .broker-mini-card,
  .trading-rule-card,
  .zerodha-execution-status-card,
  .diagnostic-status,
  .diagnostic-detail-grid div,
  .diagnostic-action,
  .live-feed-metric,
  .market-option-stat,
  .option-side-card,
  .detail-tile,
  .strategy-library-summary-card,
  .strategy-library-preview-row,
  .strategy-library-row,
  .strategy-entry-rule-pill,
  .strategy-library-trade-strip span,
  .lab-window-card,
  .lab-candidate-card,
  .lab-empty-card,
  .lab-rule-chip,
  .strategy-family-card,
  .strategy-cleanup-card,
  .strategy-ml-status,
  .strategy-ml-rollout-list,
  .note-list-item,
  .strategy-lab-change-row,
  .strategy-lab-queue-row,
  .strategy-merge-picker-row,
  .strategy-merge-apply-row,
  .strategy-merge-card,
  .strategy-merge-setting-row,
  .strategy-merge-member-row,
  .strategy-lab-governance-card,
  .strategy-lab-decision-card,
  .diagnosis-difference-row,
  .diagnosis-refinement-card,
  .strategy-refinement-result,
  .strategy-refinement-change-row
) {
  color: var(--ink);
  border-color: #3a2f49;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .broker-mini-card small,
  .broker-status-pill span,
  .broker-status-pill small,
  .provider-chip,
  .strategy-library-row p,
  .strategy-library-row small,
  .strategy-lab-status-main p,
  .strategy-lab-inline-status span,
  .strategy-lab-inline-status small,
  .strategy-lab-analysis-copy,
  .admin-safety-copy
) {
  color: #91899f;
}

body[data-auth-state="authenticated"] .note-list-item.is-active,
body[data-auth-state="authenticated"] .note-list-item.is-active:is(.is-due, .is-overdue, .is-done) {
  border-color: rgba(34, 211, 238, 0.76);
  background: linear-gradient(135deg, #4c1d95, #7c3aed 56%, #db2777);
  box-shadow:
    inset 4px 0 0 #22d3ee,
    0 18px 42px rgba(124, 58, 237, 0.32);
  opacity: 1;
}

body[data-auth-state="authenticated"] .note-list-item.is-active .note-list-title strong,
body[data-auth-state="authenticated"] .note-list-item.is-active .note-list-title span {
  color: #ffffff;
}

body[data-auth-state="authenticated"] .note-list-item.is-active .note-list-meta {
  border-top-color: rgba(255, 255, 255, 0.22);
}

body[data-auth-state="authenticated"] :is(
  .broker-status-pill strong,
  .broker-rail-heading strong,
  .broker-action-copy strong,
  .strategy-library-row strong,
  .strategy-family-card strong,
  .strategy-lab-status-main h3,
  .strategy-lab-inline-status strong
) {
  color: #f8f7fc;
}

body[data-auth-state="authenticated"] :is(
  .strategy-lab-tabs,
  .report-view-switch
) {
  border-color: #30283d;
  background: #15111f;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(.strategy-lab-tab, .report-view-switch button) {
  color: #aaa3b8;
  border-color: transparent;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(.strategy-lab-tab.is-active, .report-view-switch button.is-active) {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #7c3aed, #a855f7 52%, #ec4899);
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .strategy-lab-accordion,
  .strategy-lab-subaccordion
) {
  border-color: #392e48;
  background: #1b1524;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .strategy-lab-accordion summary,
  .strategy-lab-accordion-icon,
  .inline-check
) {
  color: #d8d2e1;
  border-color: #40344f;
  background: #241c30;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .daily-chart-wrap
) {
  color: #aaa3b8;
  border-color: #3a2f49;
  background: #100d17;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-hero,
  .daily-report-hero,
  .guide-hero-panel,
  .ai-strategy-update-hero
) {
  color: var(--ink);
  border-color: #3a2d4a;
  background:
    radial-gradient(circle at 90% 8%, rgba(236, 72, 153, 0.09), transparent 28%),
    linear-gradient(135deg, #171120, #21152c 54%, #15101e);
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-legend span,
  .strategy-history-overview-card,
  .strategy-history-quality-pills span,
  .strategy-history-family,
  .strategy-history-family > summary,
  .strategy-history-family-metrics > span,
  .strategy-history-family-context span,
  .strategy-history-node-card,
  .strategy-history-node-badges span,
  .strategy-history-node-metrics article,
  .strategy-history-drawer-metrics article,
  .strategy-history-attribution-note,
  .strategy-history-node-section,
  .strategy-history-daily,
  .strategy-history-node-section > summary span,
  .strategy-history-daily > summary span,
  .strategy-history-revisions article,
  .strategy-history-events article,
  .strategy-history-change-list span,
  .strategy-history-daily > div article,
  .daily-report-advanced,
  .daily-report-options label,
  .daily-report-landing,
  .daily-comparison-grid article,
  .daily-drawer-metrics article,
  .daily-drawer-section,
  .daily-drawer-trades,
  .daily-drawer-strategy-list article,
  .daily-drawer-breakdown-grid section
) {
  color: var(--ink);
  border-color: #392e48;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-family > summary,
  .strategy-history-node-card > header,
  .daily-comparison-head,
  .daily-drawer-section > div:first-child,
  .daily-drawer-trades > div:first-child
) {
  border-color: #392e48;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-family-context button,
  .strategy-history-view-button,
  .strategy-history-revisions button,
  .daily-report-presets button,
  .daily-report-table td:last-child button,
  .daily-drawer-trades td:last-child button
) {
  color: #d8b4fe;
  border-color: #5b3b75;
  background: #2a1e38;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .loss-toggle-field,
  .loss-impact-card,
  .loss-impact-rule,
  .loss-impact-example,
  .loss-research-card,
  .loss-recommendation-card,
  .loss-phase-card,
  .loss-action-label,
  .loss-mini-metric,
  .empty-state
) {
  color: var(--ink);
  border-color: #392e48;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .ai-strategy-run-card,
  .action-confirm-card,
  .trade-detail-card,
  .strategy-refinement-card,
  .strategy-day-card,
  .daily-report-drawer,
  .strategy-history-drawer
) {
  color: var(--ink);
  border-color: #40344f;
  background: #14101d;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .daily-report-drawer > header,
  .strategy-history-drawer-head,
  .trade-detail-head,
  .action-confirm-detail,
  .ai-strategy-run-body,
  .ai-strategy-update-summary,
  .ai-strategy-run-entry,
  .ai-strategy-run-metrics article,
  .ai-strategy-change-card,
  .trade-detail-metric,
  .trade-detail-note,
  .trade-detail-path,
  .trade-detail-path-point,
  .trade-detail-guard-rule
) {
  color: var(--ink);
  border-color: #392e48;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .broker-modal-close,
  .trade-detail-close,
  .daily-report-drawer > header button
) {
  color: #d8d2e1;
  border-color: #40344f;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .broker-modal-card,
  .broker-modal-head,
  .broker-rail-card,
  .broker-action-panel,
  .broker-fieldset
) {
  color: var(--ink);
  border-color: #392e48;
  background: #181320;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .broker-modal-backdrop,
body[data-auth-state="authenticated"] .trade-detail-backdrop,
body[data-auth-state="authenticated"] .daily-report-drawer-backdrop,
body[data-auth-state="authenticated"] .strategy-history-drawer-backdrop {
  background: rgba(5, 3, 9, 0.78);
  backdrop-filter: blur(8px);
}

body[data-auth-state="authenticated"] code {
  color: #e9d5ff;
  border-color: #3d304c;
  background: #211a2c;
}

body[data-auth-state="authenticated"] .positive-text {
  color: #34d399 !important;
}

body[data-auth-state="authenticated"] .negative-text {
  color: #fb7185 !important;
}

body[data-auth-state="authenticated"] .report-view-switch a {
  color: #aaa3b8;
  background: #211a2c;
}

body[data-auth-state="authenticated"] .report-view-switch a.is-active {
  color: #ffffff;
  background: linear-gradient(135deg, #7c3aed, #a855f7 52%, #ec4899);
}

body[data-auth-state="authenticated"] :is(
  .strategy-lab-accordion-meta,
  .strategy-lab-step,
  .strategy-lab-action-tags span,
  .strategy-lab-subaccordion > summary::after,
  .strategy-lab-accordion > summary::after
) {
  color: #e9d5ff;
  border-color: #5b3b75;
  background: #2a1e38;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .strategy-history-quality {
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.32);
  background: rgba(120, 53, 15, 0.18);
}

body[data-auth-state="authenticated"] .strategy-history-quality p {
  color: #d6b26e;
}

body[data-auth-state="authenticated"] .strategy-history-quality-pills span {
  color: #fde68a;
  border: 1px solid rgba(245, 158, 11, 0.22);
  background: rgba(120, 53, 15, 0.3);
}

body[data-auth-state="authenticated"] .strategy-history-family-toggle {
  color: #d8b4fe;
  border-color: #5b3b75;
  background: #2a1e38;
}

body[data-auth-state="authenticated"] .broker-modal :is(
  .broker-form label,
  .broker-fieldset-execution label,
  .zerodha-execution-status-card,
  .zerodha-execution-save-cell
) {
  color: var(--ink);
  border-color: #3a2f49;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .broker-modal :is(
  .broker-form input,
  .broker-form select,
  .broker-fieldset-execution input,
  .broker-fieldset-execution select,
  .broker-fieldset-execution textarea
) {
  color: #f4f1f8;
  border-color: #40344f;
  background: #16121f;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .broker-inline-note code {
  color: #e9d5ff;
  background: #17111f;
}

body[data-auth-state="authenticated"] .zerodha-execution-actions .secondary-button.is-compact {
  color: #d7d1df;
  border-color: #40344f;
  background: #211a2c;
}

body[data-auth-state="authenticated"] :is(
  .backtest-policy-row span,
  .backtest-status-head,
  .backtest-status-tile,
  .backtest-provider-status,
  .backtest-evidence-head,
  .backtest-evidence-tile,
  .backtest-progress-meta span,
  .backtest-attempt,
  .backtest-quality-tile,
  .backtest-summary-card,
  .backtest-candidate-status,
  .backtest-change-row,
  .backtest-workflow-card,
  .backtest-breakdown-card,
  .backtest-sweep-stat,
  .backtest-sweep-section,
  .backtest-sweep-metrics span,
  .backtest-sweep-status,
  .backtest-metric,
  .backtest-exit-row span
) {
  color: var(--ink);
  border-color: #392e48;
  background: #211a2c;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .backtest-status-head.is-ready,
  .backtest-evidence-head.is-proven,
  .backtest-provider-status.is-ready,
  .backtest-breakdown-card.is-success,
  .backtest-sweep-stat.is-success,
  .backtest-sweep-status.is-success
) {
  border-color: rgba(52, 211, 153, 0.28);
  background: rgba(6, 78, 59, 0.22);
}

body[data-auth-state="authenticated"] :is(
  .backtest-status-head.is-error,
  .backtest-attempt.is-danger,
  .backtest-change-row.is-down,
  .backtest-breakdown-card.is-danger,
  .backtest-sweep-stat.is-danger,
  .backtest-sweep-status.is-danger
) {
  border-color: rgba(251, 113, 133, 0.28);
  background: rgba(136, 19, 55, 0.2);
}

body[data-auth-state="authenticated"] .backtest-blocker-list.is-insight li {
  border: 1px solid rgba(45, 212, 191, 0.25);
  background: rgba(20, 184, 166, 0.12);
  color: #99f6e4;
}

body[data-auth-state="authenticated"] :is(
  .backtest-evidence-head.is-empty,
  .backtest-provider-status.is-missing,
  .backtest-candidate-status.is-warning,
  .backtest-breakdown-card.is-warning,
  .backtest-sweep-stat.is-warning,
  .backtest-sweep-status.is-warning
) {
  border-color: rgba(251, 191, 36, 0.28);
  background: rgba(120, 53, 15, 0.2);
}

body[data-auth-state="authenticated"] :is(
  .backtest-status-tile strong,
  .backtest-evidence-tile strong,
  .backtest-quality-tile strong,
  .backtest-metric strong,
  .backtest-sweep-stat strong,
  .backtest-sweep-section-head h3,
  .backtest-sweep-table strong,
  .backtest-provider-status strong,
  .backtest-workflow-card strong,
  .backtest-breakdown-head h3
) {
  color: #f8f7fc;
}

body[data-auth-state="authenticated"] :is(
  .backtest-status-tile small,
  .backtest-evidence-tile small,
  .backtest-quality-tile small,
  .backtest-metric small,
  .backtest-sweep-stat small,
  .backtest-sweep-section-head span,
  .backtest-sweep-table small,
  .backtest-sweep-muted,
  .backtest-workflow-card small,
  .backtest-workflow-card span,
  .backtest-workflow-card li,
  .backtest-reconciliation-list,
  .backtest-breakdown-head small,
  .backtest-provider-status span,
  .backtest-provider-status small
) {
  color: #91899f;
}

body[data-auth-state="authenticated"] .backtest-reconciliation-list.is-action {
  color: #f8f7fc;
}

body[data-auth-state="authenticated"] .backtest-diagnostic-head strong {
  color: #f8f7fc;
}

body[data-auth-state="authenticated"] .backtest-diagnostic-head span,
body[data-auth-state="authenticated"] .backtest-diagnostic-cell small,
body[data-auth-state="authenticated"] .backtest-diagnostic-features {
  color: #cfc5dc;
}

body[data-auth-state="authenticated"] .backtest-diagnostic-verdict {
  color: #f8f7fc;
  border-color: #4a3b58;
  background: #211a2c;
}

body[data-auth-state="authenticated"] .backtest-diagnostic-verdict.is-data,
body[data-auth-state="authenticated"] .backtest-diagnostic-verdict.is-contract,
body[data-auth-state="authenticated"] .backtest-diagnostic-verdict.is-engine {
  color: #fecdd3;
  border-color: rgba(251, 113, 133, 0.45);
  background: rgba(159, 18, 57, 0.35);
}

body[data-auth-state="authenticated"] .backtest-diagnostic-verdict.is-gate,
body[data-auth-state="authenticated"] .backtest-diagnostic-verdict.is-version {
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.45);
  background: rgba(146, 64, 14, 0.35);
}

body[data-auth-state="authenticated"] .backtest-sweep-metrics span.is-positive {
  color: #34d399;
}

body[data-auth-state="authenticated"] .backtest-sweep-metrics span.is-negative {
  color: #fb7185;
}

body[data-auth-state="authenticated"] .daily-report-hero-badge {
  color: #d8b4fe;
  border-color: #5b3b75;
  background: #2a1e38;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .daily-report-landing > span {
  color: #d8b4fe;
  border: 1px solid #5b3b75;
  background: #2a1e38;
}

@media (max-width: 1180px) {
  body[data-auth-state="authenticated"] .hero {
    align-items: stretch;
    flex-direction: column;
  }

  body[data-auth-state="authenticated"] .hero-right {
    width: 100%;
  }

  body[data-auth-state="authenticated"] .hero-nav {
    width: 100%;
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .page-shell {
    padding: 0 14px 30px;
  }

  body[data-auth-state="authenticated"] .hero {
    margin: 0 -14px 16px;
    padding: 12px 14px;
  }

  body[data-auth-state="authenticated"] .brand-logo,
  body[data-auth-state="authenticated"] .brand-logo.has-selected-logo {
    width: 68px;
    height: 68px;
    padding: 7px;
    border-radius: 21px;
  }

  body[data-auth-state="authenticated"] .hero-right {
    align-items: stretch;
    flex-direction: column;
  }

  body[data-auth-state="authenticated"] #logoutButton {
    width: 100%;
  }

  body[data-auth-state="authenticated"] .nav-link {
    min-height: 42px;
    padding: 10px 13px;
  }
}

/* Final authenticated palette: brighter plum surfaces with no near-black workspace blocks. */
body[data-auth-state="authenticated"] {
  --bg: #2f2142;
  --panel: #433159;
  --panel-strong: #503a68;
  --panel-soft: #5b4375;
  --border: #745c8d;
  --border-strong: #9275ab;
  --ink: #fffaff;
  --muted: #ddd3e7;
  --muted-soft: #c1b2cd;
  color-scheme: dark;
  color: var(--ink);
  background: #2f2142;
}

body[data-auth-state="authenticated"] .page-shell {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  background:
    radial-gradient(circle at 88% 6%, rgba(244, 114, 182, 0.2), transparent 27%),
    radial-gradient(circle at 7% 44%, rgba(167, 139, 250, 0.18), transparent 32%),
    linear-gradient(145deg, #302043 0%, #3c2852 50%, #312145 100%);
}

body[data-auth-state="authenticated"] .hero {
  background: #2a1c3c;
  border-bottom-color: #684d80;
}

body[data-auth-state="authenticated"] .hero-nav {
  border-color: #755991;
  background: #45315a;
}

body[data-auth-state="authenticated"] .nav-link {
  color: #eee6f5;
  border-color: transparent;
  background: #543c6b;
}

body[data-auth-state="authenticated"] .nav-link:hover {
  color: #ffffff;
  border-color: #b99ad1;
  background: #674a82;
}

body[data-auth-state="authenticated"] :is(
  .panel,
  [class$="-panel"],
  [class$="-workbench"],
  [class$="-fieldset"],
  [class$="-diagnostics"]
) {
  color: var(--ink);
  border-color: #755b8c;
  background: #433159;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  [class$="-card"],
  [class$="-tile"],
  [class$="-article"]
) {
  color: var(--ink);
  border-color: #806599;
  background: #503b68;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  [class$="-section"],
  [class$="-group"],
  [class$="-wrap"],
  [class$="-landing"]
) {
  color: var(--ink);
  border-color: #765c8d;
  background: #49345f;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(input, select, textarea) {
  color: #ffffff;
  border-color: #8d70a5;
  background: #503a68;
}

body[data-auth-state="authenticated"] :is(input, select, textarea):focus {
  border-color: #d8b4fe;
  background: #5a4273;
  box-shadow: 0 0 0 3px rgba(216, 180, 254, 0.15);
}

body[data-auth-state="authenticated"] :is(input, textarea)::placeholder {
  color: #c6b8d2;
  opacity: 1;
}

body[data-auth-state="authenticated"] table {
  color: #fffaff;
  border-color: #745a8b;
  background: #433158;
}

body[data-auth-state="authenticated"] table th {
  color: #f2e9f8;
  border-color: #806499;
  background: #5a4271;
}

body[data-auth-state="authenticated"] table td {
  color: #fffaff;
  border-color: #674f7c;
  background: transparent;
}

body[data-auth-state="authenticated"] table tbody tr:nth-child(even) {
  background: #4b3760;
}

body[data-auth-state="authenticated"] table tbody tr:hover {
  background: #61457b;
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row {
  background: linear-gradient(90deg, #73509a, #62437f) !important;
  box-shadow: inset 5px 0 0 #f0abfc;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-hero,
  .daily-report-hero,
  .guide-hero-panel,
  .ai-strategy-update-hero
) {
  color: var(--ink);
  border-color: #86649e;
  background:
    radial-gradient(circle at 90% 8%, rgba(244, 114, 182, 0.2), transparent 30%),
    linear-gradient(135deg, #503568, #65417c 56%, #49325f);
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-family,
  .strategy-history-family > summary,
  .strategy-history-node-card,
  .strategy-history-node-metrics article,
  .strategy-history-node-section,
  .strategy-history-daily,
  .strategy-family-children,
  .strategy-library-group,
  .strategy-library-row,
  .daily-report-advanced,
  .daily-report-options label,
  .daily-report-overview article,
  .daily-report-streaks article,
  .daily-comparison-grid article,
  .daily-drawer-section,
  .daily-drawer-trades,
  .loss-toggle-field,
  .loss-impact-card,
  .loss-research-card,
  .loss-recommendation-card,
  .loss-phase-card,
  .empty-state
) {
  color: var(--ink);
  border-color: #806499;
  background: #503b68;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-inherited,
  .strategy-history-attribution-note,
  .config-chip,
  .strategy-entry-rule-pill,
  .signal-label-chip
) {
  color: #f9f2ff;
  border-color: #9273ab;
  background: #614879;
}

body[data-auth-state="authenticated"] .strategy-history-ml {
  color: #fffaff;
  border-color: #8b6ea4;
  background:
    radial-gradient(circle at 94% 10%, rgba(34, 211, 238, 0.13), transparent 28%),
    #4c3764;
}

body[data-auth-state="authenticated"] .strategy-history-ml :is(h2, strong),
body[data-auth-state="authenticated"] .strategy-history-ml-estimate :is(strong, b) {
  color: #ffffff;
}

body[data-auth-state="authenticated"] .strategy-history-ml :is(p, small),
body[data-auth-state="authenticated"] .strategy-history-ml-estimate :is(small, span) {
  color: #e9dff2;
}

body[data-auth-state="authenticated"] .strategy-history-ml-status,
body[data-auth-state="authenticated"] .strategy-history-ml-grid article,
body[data-auth-state="authenticated"] .strategy-history-ml-note,
body[data-auth-state="authenticated"] .strategy-history-ml-estimate,
body[data-auth-state="authenticated"] .strategy-history-ml-estimate-grid span {
  color: #fffaff;
  border-color: #9a7db0;
  background: #614879;
}

body[data-auth-state="authenticated"] .strategy-history-ml-status.is-positive,
body[data-auth-state="authenticated"] .strategy-history-ml-estimate.is-positive {
  color: #d1fae5;
  border-color: rgba(52, 211, 153, 0.45);
  background: rgba(6, 95, 70, 0.34);
}

body[data-auth-state="authenticated"] .strategy-history-ml-status.is-negative,
body[data-auth-state="authenticated"] .strategy-history-ml-estimate.is-negative {
  color: #ffe4e6;
  border-color: rgba(251, 113, 133, 0.48);
  background: rgba(136, 19, 55, 0.36);
}

body[data-auth-state="authenticated"] .strategy-history-ml-status.is-warning,
body[data-auth-state="authenticated"] .strategy-history-ml-estimate.is-warning {
  color: #fef3c7;
  border-color: rgba(251, 191, 36, 0.48);
  background: rgba(146, 64, 14, 0.34);
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-config-chips span,
  .strategy-history-entry-rules,
  .strategy-history-entry-rules span,
  .strategy-history-cleanup article,
  .strategy-history-node-actions a
) {
  color: #fffaff;
  border-color: #9273ab;
  background: #614879;
}

body[data-auth-state="authenticated"] .strategy-history-entry-rules > strong,
body[data-auth-state="authenticated"] .strategy-history-entry-rules b,
body[data-auth-state="authenticated"] .strategy-history-cleanup strong {
  color: #ffffff;
}

body[data-auth-state="authenticated"] .strategy-history-entry-rules small,
body[data-auth-state="authenticated"] .strategy-history-cleanup p {
  color: #e9dff2;
}

body[data-auth-state="authenticated"] .strategy-history-cleanup article.is-positive {
  border-color: rgba(52, 211, 153, 0.45);
  background: rgba(6, 95, 70, 0.34);
}

body[data-auth-state="authenticated"] .strategy-history-cleanup article.is-negative {
  border-color: rgba(251, 113, 133, 0.48);
  background: rgba(136, 19, 55, 0.36);
}

body[data-auth-state="authenticated"] .strategy-history-cleanup article.is-warning {
  border-color: rgba(251, 191, 36, 0.48);
  background: rgba(146, 64, 14, 0.34);
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-node-card header p,
  .strategy-history-node-card header small,
  .strategy-library-row-summary,
  .strategy-library-row-id,
  .app-footer-brand small,
  .app-footer-copy span
) {
  color: #ddd2e7;
}

body[data-auth-state="authenticated"] .strategy-library-relation-note {
  color: #e9dff2;
  border-color: #8b6ea4;
  background: #4c3764;
}

body[data-auth-state="authenticated"] .strategy-family-metric small {
  color: #d8cde3;
}

body[data-auth-state="authenticated"] .strategy-family-metric strong {
  color: #ffffff;
}

body[data-auth-state="authenticated"] .strategy-family-metric.is-positive strong {
  color: #8ff0c5;
}

body[data-auth-state="authenticated"] .strategy-family-metric.is-negative strong {
  color: #ffb4c0;
}

body[data-auth-state="authenticated"] .note-paper {
  color: #202033;
  border-color: #d8b4fe;
  background: linear-gradient(135deg, #fffaff 0%, #f3efff 52%, #fff5fb 100%);
}

body[data-auth-state="authenticated"] .note-editor {
  color: #202033;
}

body[data-auth-state="authenticated"] .note-editor:empty::before {
  color: #686278;
}

/* Compact, full-width footer pinned to the bottom of short pages. */
body[data-auth-state="authenticated"] .app-footer {
  position: relative;
  display: flex;
  width: calc(100% + 56px);
  min-height: 78px;
  margin: auto -28px -40px;
  padding: 17px 28px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  overflow: hidden;
  color: #e7deee;
  border: 0;
  border-top: 1px solid #8a69a2;
  border-radius: 0;
  background: linear-gradient(90deg, #3d2a51, #49305d 52%, #3c294f);
  box-shadow: none;
}

body[data-auth-state="authenticated"] .app-footer::before {
  inset: 0 0 auto;
  width: auto;
  height: 3px;
  background: linear-gradient(90deg, #8b5cf6, #d946ef 52%, #fb7185);
}

body[data-auth-state="authenticated"] .app-footer-brand,
body[data-auth-state="authenticated"] .app-footer-copy {
  display: flex;
  align-items: center;
}

body[data-auth-state="authenticated"] .app-footer-brand strong {
  color: #ffffff;
}

body[data-auth-state="authenticated"] .app-footer-mark {
  background: #65447e;
  box-shadow: inset 0 0 0 1px #8f6aaa;
}

body[data-auth-state="authenticated"] .app-footer-copy {
  min-width: 0;
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .app-footer {
    width: calc(100% + 28px);
    margin: auto -14px -30px;
    padding: 16px 18px;
    align-items: flex-start;
    flex-direction: column;
  }

  body[data-auth-state="authenticated"] .app-footer-copy {
    text-align: left;
  }
}

/* Restore the preferred deep authenticated palette while retaining the compact footer. */
body[data-auth-state="authenticated"] {
  --bg: #090711;
  --panel: #14101d;
  --panel-strong: #1d1727;
  --panel-soft: #211a2d;
  --border: #30283d;
  --border-strong: #40344f;
  --ink: #f8f7fc;
  --muted: #aaa3b8;
  --muted-soft: #81798f;
  background: #090711;
}

body[data-auth-state="authenticated"] .page-shell {
  background:
    radial-gradient(circle at 86% 5%, rgba(139, 92, 246, 0.07), transparent 24%),
    linear-gradient(180deg, #090711 0%, #0d0914 100%);
}

body[data-auth-state="authenticated"] .hero {
  background: #080711;
  border-bottom-color: #211a2d;
}

body[data-auth-state="authenticated"] .hero-nav {
  border-color: #30283d;
  background: #14101d;
}

body[data-auth-state="authenticated"] .nav-link {
  color: #aaa3b8;
  background: #211a2c;
}

body[data-auth-state="authenticated"] .nav-link:hover {
  color: #ffffff;
  border-color: #5b3b75;
  background: #30213f;
}

body[data-auth-state="authenticated"] :is(
  .panel,
  [class$="-panel"],
  [class$="-workbench"],
  [class$="-fieldset"],
  [class$="-diagnostics"]
) {
  color: var(--ink);
  border-color: #30283d;
  background: #14101d;
}

body[data-auth-state="authenticated"] :is(
  [class$="-card"],
  [class$="-tile"],
  [class$="-article"],
  [class$="-section"],
  [class$="-group"],
  [class$="-wrap"],
  [class$="-landing"]
) {
  color: var(--ink);
  border-color: #392e48;
  background: #211a2c;
}

body[data-auth-state="authenticated"] :is(input, select, textarea) {
  color: #f8f7fc;
  border-color: #40344f;
  background: #14101d;
}

body[data-auth-state="authenticated"] :is(input, select, textarea):focus {
  border-color: #8b5cf6;
  background: #1d1727;
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(input, textarea)::placeholder {
  color: #81798f;
}

body[data-auth-state="authenticated"] table {
  color: #f8f7fc;
  border-color: #30283d;
  background: #14101d;
}

body[data-auth-state="authenticated"] table th {
  color: #aaa3b8;
  border-color: #40344f;
  background: #211a2c;
}

body[data-auth-state="authenticated"] table td {
  color: #f8f7fc;
  border-color: #30283d;
}

body[data-auth-state="authenticated"] table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.025);
}

body[data-auth-state="authenticated"] table tbody tr:hover {
  background: rgba(139, 92, 246, 0.11);
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row {
  background: linear-gradient(90deg, rgba(126, 34, 206, 0.42), rgba(76, 29, 149, 0.3)) !important;
  box-shadow: inset 4px 0 0 #c084fc;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-hero,
  .daily-report-hero,
  .guide-hero-panel,
  .ai-strategy-update-hero
) {
  border-color: #3a2d4a;
  background:
    radial-gradient(circle at 90% 8%, rgba(236, 72, 153, 0.09), transparent 28%),
    linear-gradient(135deg, #171120, #21152c 54%, #15101e);
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-family,
  .strategy-history-family > summary,
  .strategy-history-node-card,
  .strategy-history-node-metrics article,
  .strategy-history-node-section,
  .strategy-history-daily,
  .strategy-family-children,
  .strategy-library-group,
  .strategy-library-row,
  .daily-report-advanced,
  .daily-report-options label,
  .daily-report-overview article,
  .daily-report-streaks article,
  .daily-comparison-grid article,
  .daily-drawer-section,
  .daily-drawer-trades,
  .loss-toggle-field,
  .loss-impact-card,
  .loss-research-card,
  .loss-recommendation-card,
  .loss-phase-card,
  .empty-state
) {
  color: var(--ink);
  border-color: #392e48;
  background: #211a2c;
}

body[data-auth-state="authenticated"] :is(
  .strategy-history-inherited,
  .strategy-history-attribution-note,
  .config-chip,
  .strategy-entry-rule-pill,
  .signal-label-chip
) {
  color: #e9e1ef;
  border-color: #5f4775;
  background: #30243d;
}

body[data-auth-state="authenticated"] .note-paper {
  color: #1f2937;
  border-color: #c4b5fd;
  background: linear-gradient(135deg, #faf8ff 0%, #eef2ff 52%, #fdf4ff 100%);
}

body[data-auth-state="authenticated"] .note-editor {
  color: #111827;
}

body[data-auth-state="authenticated"] .note-editor :where(
  p,
  div,
  span,
  li,
  strong,
  b,
  em,
  i,
  u
) {
  color: #111827 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body[data-auth-state="authenticated"] .note-editor a {
  color: #1d4ed8 !important;
  opacity: 1 !important;
}

body[data-auth-state="authenticated"] .note-editor:empty::before {
  color: #64748b;
}

body[data-auth-state="authenticated"] .app-footer {
  color: #c8c1d2;
  border-top-color: #40344f;
  background: #11101a;
}

body[data-auth-state="authenticated"] .app-footer::before {
  background: linear-gradient(90deg, #7c3aed, #c026d3 52%, #ec4899);
}

body[data-auth-state="authenticated"] .app-footer-mark {
  background: #211a2c;
  box-shadow: inset 0 0 0 1px #40344f;
}

/* Regression fixes for text actions and dense desktop navigation. */
body[data-auth-state="authenticated"] .loss-control-filter-form {
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(230px, max-content);
}

body[data-auth-state="authenticated"] .loss-control-filter-form .filter-actions {
  min-width: 230px;
  grid-template-columns: repeat(2, max-content);
}

@media (min-width: 1181px) and (max-width: 2000px) {
  body[data-auth-state="authenticated"] .hero {
    gap: 14px;
  }

  body[data-auth-state="authenticated"] .brand-logo,
  body[data-auth-state="authenticated"] .brand-logo.has-selected-logo {
    width: 68px;
    height: 68px;
    padding: 7px;
    border-radius: 21px;
  }

  body[data-auth-state="authenticated"] .hero-nav {
    gap: 5px;
    padding: 5px;
  }

  body[data-auth-state="authenticated"] .nav-link {
    min-height: 40px;
    padding: 9px 10px;
    font-size: 0.76rem;
  }

  body[data-auth-state="authenticated"] #logoutButton {
    min-height: 40px;
    padding: 9px 12px;
  }
}

@media (max-width: 1100px) {
  body[data-auth-state="authenticated"] .loss-control-filter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-auth-state="authenticated"] .loss-control-filter-form .filter-actions {
    grid-column: 1 / -1;
    justify-content: start;
  }
}

@media (max-width: 980px) {
  body[data-auth-state="authenticated"] .loss-control-filter-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  body[data-auth-state="authenticated"] .note-list-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow-x: visible;
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .hero-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  body[data-auth-state="authenticated"] .nav-link {
    width: 100%;
  }
}

@media (max-width: 480px) {
  body[data-auth-state="authenticated"] .hero-nav,
  body[data-auth-state="authenticated"] .note-list-meta {
    grid-template-columns: 1fr;
  }
}

/* Theme Studio runtime. These rules activate only after the user applies a custom recipe. */
body[data-auth-state="authenticated"][data-system-theme="custom"] {
  --bg: var(--theme-page);
  --panel: var(--theme-panel);
  --panel-strong: var(--theme-card);
  --panel-soft: var(--theme-card);
  --border: var(--theme-border);
  --border-strong: var(--theme-border);
  --ink: var(--theme-ink);
  --muted: var(--theme-muted);
  --muted-soft: var(--theme-muted);
  --theme-radius: 18px;
  --theme-inner-radius: 13px;
  --theme-gap: 16px;
  --theme-panel-padding: 20px;
  --theme-card-padding: 16px;
  --theme-shadow: none;
  color: var(--theme-ink);
  background: var(--theme-page);
  font-family: var(--theme-font-body);
}

body[data-auth-state="authenticated"][data-system-theme="custom"] .page-shell {
  color: var(--theme-ink);
  background-color: var(--theme-page);
  background-image: linear-gradient(145deg, var(--theme-page), var(--theme-page-alt));
}

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pattern="aurora"] .page-shell {
  background-image: radial-gradient(circle at 88% 6%, color-mix(in srgb, var(--theme-accent) 22%, transparent), transparent 28%), radial-gradient(circle at 7% 58%, color-mix(in srgb, var(--theme-accent-2) 15%, transparent), transparent 32%), linear-gradient(145deg, var(--theme-page), var(--theme-page-alt));
}
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pattern="grid"] .page-shell {
  background-image: linear-gradient(color-mix(in srgb, var(--theme-border) 26%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--theme-border) 26%, transparent) 1px, transparent 1px), linear-gradient(145deg, var(--theme-page), var(--theme-page-alt));
  background-size: 32px 32px, 32px 32px, auto;
}
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pattern="dots"] .page-shell {
  background-image: radial-gradient(circle, color-mix(in srgb, var(--theme-accent) 34%, transparent) 1px, transparent 1.5px), linear-gradient(145deg, var(--theme-page), var(--theme-page-alt));
  background-size: 21px 21px, auto;
}
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pattern="diagonal"] .page-shell {
  background-image: repeating-linear-gradient(135deg, transparent 0 36px, color-mix(in srgb, var(--theme-accent) 8%, transparent) 36px 37px), linear-gradient(145deg, var(--theme-page), var(--theme-page-alt));
}
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pattern="contour"] .page-shell {
  background-image: repeating-radial-gradient(ellipse at 92% 4%, transparent 0 38px, color-mix(in srgb, var(--theme-accent) 12%, transparent) 39px 40px), linear-gradient(145deg, var(--theme-page), var(--theme-page-alt));
}
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pattern="data-lines"] .page-shell {
  background-image: linear-gradient(160deg, transparent 0 22%, color-mix(in srgb, var(--theme-accent) 12%, transparent) 22.2% 22.6%, transparent 22.8% 49%, color-mix(in srgb, var(--theme-accent-2) 10%, transparent) 49.2% 49.6%, transparent 49.8%), linear-gradient(145deg, var(--theme-page), var(--theme-page-alt));
}

body[data-auth-state="authenticated"][data-system-theme="custom"] .hero {
  color: var(--theme-ink);
  border-bottom-color: var(--theme-border);
  background: color-mix(in srgb, var(--theme-nav) 94%, transparent);
}
body[data-auth-state="authenticated"][data-system-theme="custom"] .hero-nav {
  border-color: var(--theme-border);
  background: var(--theme-nav);
}
body[data-auth-state="authenticated"][data-system-theme="custom"] .nav-link {
  color: var(--theme-muted);
  background: var(--theme-card);
}
body[data-auth-state="authenticated"][data-system-theme="custom"] .nav-link:hover {
  color: var(--theme-ink);
  border-color: var(--theme-accent);
  background: color-mix(in srgb, var(--theme-card) 78%, var(--theme-accent));
}
body[data-auth-state="authenticated"][data-system-theme="custom"] .nav-link.is-active,
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(.primary-button, .secondary-button, .success-button, .action-button:not(.action-stop):not(.action-pause)) {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
}
body[data-auth-state="authenticated"][data-system-theme="custom"] #logoutButton {
  color: var(--theme-ink);
  border-color: var(--theme-border);
  background: var(--theme-card);
}

body[data-auth-state="authenticated"][data-system-theme="custom"] .dashboard { gap: var(--theme-gap); }
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(
  .panel,
  [class$="-panel"],
  [class$="-workbench"],
  [class$="-fieldset"],
  [class$="-diagnostics"],
  .strategy-history-family,
  .strategy-library-group
) {
  color: var(--theme-ink);
  border-color: var(--theme-border);
  border-radius: var(--theme-radius);
  background: var(--theme-panel);
  box-shadow: var(--theme-shadow);
}
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(
  [class$="-card"],
  [class$="-tile"],
  [class$="-article"],
  [class$="-section"],
  [class$="-group"],
  [class$="-wrap"],
  [class$="-landing"],
  .strategy-history-family > summary,
  .strategy-library-row,
  .strategy-family-children,
  .loss-toggle-field,
  .empty-state
) {
  color: var(--theme-ink);
  border-color: var(--theme-border);
  border-radius: var(--theme-inner-radius);
  background: var(--theme-card);
  box-shadow: var(--theme-shadow);
}
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(p, small, .metric-note, .form-hint, .table-pagination, .strategy-library-row-summary, .strategy-library-row-id) { color: var(--theme-muted); }
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(h1, h2, h3, h4, strong, .metric-value) { color: var(--theme-ink); font-family: var(--theme-font-display); }
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(input, select, textarea) {
  color: var(--theme-ink);
  border-color: var(--theme-border);
  border-radius: var(--theme-inner-radius);
  background: var(--theme-card);
}
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(input, select, textarea):focus { border-color: var(--theme-accent); background: var(--theme-panel); box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent) 17%, transparent); }
body[data-auth-state="authenticated"][data-system-theme="custom"] :is(input, textarea)::placeholder { color: var(--theme-muted); }

body[data-auth-state="authenticated"][data-system-theme="custom"] table { color: var(--theme-ink); border-color: var(--theme-border); background: var(--theme-panel); }
body[data-auth-state="authenticated"][data-system-theme="custom"] table th { color: var(--theme-muted); border-color: var(--theme-border); background: var(--theme-nav); }
body[data-auth-state="authenticated"][data-system-theme="custom"] table td { color: var(--theme-ink); border-color: var(--theme-border); }
body[data-auth-state="authenticated"][data-system-theme="custom"] table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--theme-card) 72%, transparent); }
body[data-auth-state="authenticated"][data-system-theme="custom"] table tbody tr:hover { background: color-mix(in srgb, var(--theme-card) 72%, var(--theme-accent)); }
body[data-auth-state="authenticated"][data-system-theme="custom"] tbody tr.is-clicked-row { background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 42%, var(--theme-card)), color-mix(in srgb, var(--theme-accent-2) 24%, var(--theme-card))) !important; box-shadow: inset 4px 0 0 var(--theme-accent-2); }

body[data-auth-state="authenticated"][data-system-theme="custom"] .app-footer { color: var(--theme-muted); border-top-color: var(--theme-border); background: var(--theme-nav); }
body[data-auth-state="authenticated"][data-system-theme="custom"] .app-footer::before { background: linear-gradient(90deg, var(--theme-accent), var(--theme-accent-2)); }
body[data-auth-state="authenticated"][data-system-theme="custom"] .app-footer strong { color: var(--theme-ink); }
body[data-auth-state="authenticated"][data-system-theme="custom"] .app-footer-mark { background: var(--theme-card); box-shadow: inset 0 0 0 1px var(--theme-border); }

select {
  appearance: none;
  padding-right: 42px;
  background-image:
    linear-gradient(45deg, transparent 50%, #64748b 50%),
    linear-gradient(135deg, #64748b 50%, transparent 50%) !important;
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50% !important;
  background-repeat: no-repeat !important;
  background-size: 6px 6px, 6px 6px !important;
}

body[data-auth-state="authenticated"] select {
  background-image:
    linear-gradient(45deg, transparent 50%, #d8b4fe 50%),
    linear-gradient(135deg, #d8b4fe 50%, transparent 50%) !important;
}

body[data-auth-state="authenticated"][data-system-theme="custom"] select {
  background-image:
    linear-gradient(45deg, transparent 50%, var(--theme-accent) 50%),
    linear-gradient(135deg, var(--theme-accent) 50%, transparent 50%) !important;
}

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="porcelain"],
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="sandstone"] { color-scheme: light; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="porcelain"] .brand-logo,
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="sandstone"] .brand-logo { border-color: rgba(167, 139, 250, .28); }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-density="compact"] { --theme-gap: 11px; --theme-panel-padding: 15px; --theme-card-padding: 11px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-density="spacious"] { --theme-gap: 24px; --theme-panel-padding: 28px; --theme-card-padding: 20px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-density] .panel { padding: var(--theme-panel-padding); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-density] :is(.metric-card, .guide-card, .detail-tile, .strategy-history-overview-card) { padding: var(--theme-card-padding); }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-shape="soft"] { --theme-radius: 30px; --theme-inner-radius: 22px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-shape="precision"] { --theme-radius: 8px; --theme-inner-radius: 5px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-shape="sculpted"] :is(.panel, .metric-card, .guide-card, .strategy-card, .detail-tile, .strategy-history-family, .strategy-library-row) { border-radius: 30px 7px 30px 7px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-shape="ticket"] :is(.panel, .metric-card, .guide-card, .strategy-card, .detail-tile, .strategy-library-row) { border-radius: 5px 24px 5px 24px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-shape="chamfered"] { --theme-radius: 5px; --theme-inner-radius: 3px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-shape="chamfered"] :is(.metric-card, .guide-card, .strategy-card, .detail-tile, .strategy-library-row) { clip-path: polygon(13px 0, 100% 0, 100% calc(100% - 13px), calc(100% - 13px) 100%, 0 100%, 0 13px); }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-border="accent-edge"] :is(.panel, .metric-card, .guide-card, .strategy-card, .strategy-history-family) { border-left: 4px solid var(--theme-accent); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-border="double"] :is(.panel, .metric-card, .guide-card, .strategy-card, .strategy-history-family) { border: 3px double var(--theme-border); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-border="borderless"] :is(.panel, .metric-card, .guide-card, .strategy-card, .strategy-history-family) { border-color: transparent; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-border="gradient-frame"] :is(.metric-card, .guide-card, .strategy-card, .detail-tile) { border: 1px solid transparent; background: linear-gradient(var(--theme-card), var(--theme-card)) padding-box, linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2)) border-box; }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-depth="flat"] { --theme-shadow: none; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-depth="soft"] { --theme-shadow: 0 8px 24px color-mix(in srgb, var(--theme-page) 62%, transparent); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-depth="elevated"] { --theme-shadow: 0 18px 38px rgba(0, 0, 0, .24); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-depth="glass"] :is(.panel, .metric-card, .guide-card, .strategy-card, .detail-tile) { background: color-mix(in srgb, var(--theme-panel) 76%, transparent); backdrop-filter: blur(16px); box-shadow: 0 16px 34px rgba(0, 0, 0, .2); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-depth="framed"] :is(.panel, .metric-card, .guide-card, .strategy-card, .detail-tile) { box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--theme-border) 42%, transparent); }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-scale="compact"] { font-size: .94rem; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-scale="large"] { font-size: 1.035rem; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-scale="compact"] :is(.panel-head h1, .panel-head h2, main h1, main h2) { font-size: 1.55rem; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-scale="large"] :is(.panel-head h1, .panel-head h2, main h1, main h2) { font-size: 2.15rem; }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-heading="gradient"] :is(.panel-head h1, .panel-head h2, main > section h1, main > section h2) { color: transparent; background: linear-gradient(90deg, var(--theme-accent), var(--theme-accent-2)); background-clip: text; -webkit-background-clip: text; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-heading="tracked"] :is(.panel-head h1, .panel-head h2, main > section h1, main > section h2) { letter-spacing: .08em; text-transform: uppercase; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-heading="underline"] :is(.panel-head h1, .panel-head h2, main > section h1, main > section h2) { display: inline-block; padding-bottom: 8px; border-bottom: 4px solid var(--theme-accent); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-heading="shadow"] :is(.panel-head h1, .panel-head h2, main > section h1, main > section h2) { text-shadow: 4px 4px 0 color-mix(in srgb, var(--theme-accent) 34%, transparent); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-heading="accent-bar"] :is(.panel-head h1, .panel-head h2, main > section h1, main > section h2) { padding-left: 13px; border-left: 5px solid var(--theme-accent); }

body[data-auth-state="authenticated"][data-system-theme="custom"] :is(.pill, [class*="-pill"], [class*="-chip"], .strategy-history-legend span) { border-color: var(--theme-border); background: var(--theme-card); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pill="capsule"] :is(.pill, [class*="-pill"], [class*="-chip"], .strategy-history-legend span) { border-radius: 999px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pill="rounded"] :is(.pill, [class*="-pill"], [class*="-chip"], .strategy-history-legend span) { border-radius: 10px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pill="tag"] :is(.pill, [class*="-pill"], [class*="-chip"], .strategy-history-legend span) { border-radius: 5px; letter-spacing: .07em; text-transform: uppercase; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pill="square"] :is(.pill, [class*="-pill"], [class*="-chip"], .strategy-history-legend span) { border-radius: 1px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-pill="notch"] :is(.pill, [class*="-pill"], [class*="-chip"], .strategy-history-legend span) { border-radius: 0; clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px); }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="segmented"] .hero-nav { gap: 0; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="segmented"] .nav-link { border-radius: 0; border-right: 1px solid var(--theme-border); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="underline"] .hero-nav { border-color: transparent; background: transparent; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="underline"] .nav-link { border-radius: 0; background: transparent; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="underline"] .nav-link.is-active { color: var(--theme-ink); border-bottom: 3px solid var(--theme-accent); background: transparent; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="rail"] .nav-link { border-left: 3px solid transparent; border-radius: 5px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="rail"] .nav-link.is-active { border-left-color: var(--theme-accent-2); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="minimal"] .hero-nav { border-color: transparent; background: transparent; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="minimal"] .nav-link { background: transparent; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="framed"] .nav-link { border-color: var(--theme-border); border-radius: 5px; }

/* Runtime themes may restyle cards, but must not change page-owned grid placement.
   Metric rows are shared by Dashboard, Reports, Loss Control, and Strategies. */
body[data-auth-state="authenticated"][data-system-theme="custom"] .metric-grid > * {
  min-width: 0;
  grid-column: auto;
}
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-layout="bento"] .metric-grid > :first-child {
  border-top-color: var(--theme-accent);
  box-shadow: inset 0 3px 0 color-mix(in srgb, var(--theme-accent) 72%, transparent), var(--theme-shadow);
}
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-layout="editorial"] .panel-head { padding-bottom: 14px; border-bottom: 1px solid var(--theme-border); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-layout="editorial"] .section-kicker { font-family: var(--theme-font-display); letter-spacing: .18em; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-layout="console"] { --theme-radius: 5px; --theme-inner-radius: 3px; }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-layout="console"] :is(.section-kicker, .metric-label, table th) { font-family: Consolas, "Courier New", monospace; letter-spacing: .08em; }

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-layout="split"] .panel-head { padding: 12px 14px; border-left: 4px solid var(--theme-accent); border-radius: var(--theme-inner-radius); background: var(--theme-card); }
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-layout="split"] .metric-grid > :nth-child(even) { background: var(--theme-panel); }

/* Transparent shared wordmark inside the Theme Studio preview. */
body .theme-live-preview .theme-preview-brand {
  width: 124px;
  height: 46px;
  border-radius: 0;
  background: transparent;
}
body .theme-live-preview .theme-preview-brand img {
  width: 118px;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 7px 12px rgba(0, 0, 0, 0.28));
}

/* Unified navigation: flat outer surface, evenly spaced items, and no scrollbars. */
body[data-auth-state="authenticated"] .hero-right {
  min-width: 0;
  flex: 1 1 auto;
}

body[data-auth-state="authenticated"] .hero-nav {
  width: 100%;
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: clamp(5px, 0.45vw, 10px) !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  scrollbar-width: none;
}

body[data-auth-state="authenticated"] .hero-nav::-webkit-scrollbar {
  display: none;
}

body[data-auth-state="authenticated"] .hero-nav > :is(.nav-link, .nav-logout-button) {
  min-width: 0;
  min-height: 40px;
  flex: 0 1 auto;
  justify-content: center;
  padding: 9px 10px;
  white-space: nowrap;
}

body[data-auth-state="authenticated"] #logoutButton.nav-logout-button {
  margin: 0;
  color: #fda4af;
  border: 1px solid rgba(244, 63, 94, 0.42);
  border-radius: 13px;
  background: rgba(190, 24, 93, 0.13);
  box-shadow: none;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 850;
}

body[data-auth-state="authenticated"] #logoutButton.nav-logout-button:hover {
  transform: none;
  color: #fff1f2;
  border-color: rgba(251, 113, 133, 0.76);
  background: rgba(190, 24, 93, 0.28);
}

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="porcelain"] #logoutButton.nav-logout-button,
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="sandstone"] #logoutButton.nav-logout-button {
  color: #be123c;
  background: rgba(225, 29, 72, 0.08);
}

@media (max-width: 1500px) {
  body[data-auth-state="authenticated"] .hero-nav {
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .hero-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  body[data-auth-state="authenticated"] .hero-nav > :is(.nav-link, .nav-logout-button) {
    width: 100%;
  }
}

@media (max-width: 480px) {
  body[data-auth-state="authenticated"] .hero-nav {
    grid-template-columns: 1fr;
  }
}

/* Contrast guardrails for research components that still own light-theme fills.
   Keep their foreground and surface paired when the authenticated palette is dark. */
body[data-auth-state="authenticated"] {
  --ink-muted: #b9b1c4;
  --ink-subtle: #c8c1d2;
  --research-contrast-surface: #211a2c;
  --research-contrast-surface-raised: #2a2137;
  --research-contrast-border: #4a3b5d;
  --research-contrast-text: #f8f7fc;
  --research-contrast-muted: #b9b1c4;
  --research-danger-bg: rgba(159, 18, 57, 0.34);
  --research-danger-border: rgba(251, 113, 133, 0.46);
  --research-danger-text: #fecdd3;
  --research-warning-bg: rgba(120, 53, 15, 0.34);
  --research-warning-border: rgba(251, 191, 36, 0.42);
  --research-warning-text: #fde68a;
  --research-success-bg: rgba(6, 95, 70, 0.34);
  --research-success-border: rgba(52, 211, 153, 0.42);
  --research-success-text: #99f6e4;
  --research-info-bg: rgba(49, 46, 129, 0.34);
  --research-info-border: rgba(129, 140, 248, 0.42);
  --research-info-text: #c7d2fe;
}

body[data-auth-state="authenticated"][data-system-theme="custom"] {
  --ink-muted: var(--theme-muted);
  --ink-subtle: var(--theme-muted);
  --research-contrast-surface: var(--theme-card);
  --research-contrast-surface-raised: var(--theme-panel);
  --research-contrast-border: var(--theme-border);
  --research-contrast-text: var(--theme-ink);
  --research-contrast-muted: var(--theme-muted);
}

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="porcelain"],
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="sandstone"] {
  --research-contrast-surface: #f8fafc;
  --research-contrast-surface-raised: #ffffff;
  --research-contrast-border: #cbd5e1;
  --research-contrast-text: #172033;
  --research-contrast-muted: #5b6474;
  --research-danger-bg: #fee2e2;
  --research-danger-border: #fda4af;
  --research-danger-text: #991b1b;
  --research-warning-bg: #fef3c7;
  --research-warning-border: #fcd34d;
  --research-warning-text: #92400e;
  --research-success-bg: #ccfbf1;
  --research-success-border: #5eead4;
  --research-success-text: #115e59;
  --research-info-bg: #e0e7ff;
  --research-info-border: #a5b4fc;
  --research-info-text: #3730a3;
}

body[data-auth-state="authenticated"] :is(
  .mini-metric,
  .strategy-lab-kpi,
  .strategy-lab-change-token,
  .ai-strategy-run-mini-metrics span,
  .ai-strategy-current-criteria span
) {
  color: var(--research-contrast-text);
  border-color: var(--research-contrast-border);
  background: var(--research-contrast-surface);
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .mini-metric small,
  .strategy-lab-kpi small,
  .strategy-lab-change-token small,
  .strategy-lab-change-token b,
  .strategy-lab-change-edit em,
  .ai-strategy-run-mini-metrics b,
  .ai-strategy-current-criteria b
) {
  color: var(--research-contrast-muted);
}

body[data-auth-state="authenticated"] :is(
  .mini-metric strong,
  .strategy-lab-kpi strong,
  .strategy-lab-change-token strong
) {
  color: var(--research-contrast-text);
}

body[data-auth-state="authenticated"] .strategy-lab-kpi.is-positive strong {
  color: #34d399;
}

body[data-auth-state="authenticated"] .strategy-lab-kpi.is-negative strong {
  color: #fb7185;
}

body[data-auth-state="authenticated"] .strategy-lab-change-token.is-up {
  border-color: var(--research-info-border);
  background: var(--research-info-bg);
}

body[data-auth-state="authenticated"] .strategy-lab-change-token.is-down {
  border-color: var(--research-warning-border);
  background: var(--research-warning-bg);
}

body[data-auth-state="authenticated"] .strategy-lab-change-edit input {
  color: var(--research-contrast-text);
  border-color: var(--research-contrast-border);
  background: var(--research-contrast-surface-raised);
}

body[data-auth-state="authenticated"] .strategy-lab-change-edit input:focus {
  border-color: #a78bfa;
  background: var(--research-contrast-surface-raised);
  box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.18);
}

body[data-auth-state="authenticated"] .loss-risk-pill {
  min-width: 68px;
  min-height: 28px;
  padding: 6px 9px;
  border: 1px solid transparent;
  font-size: 0.68rem;
  line-height: 1.1;
  text-align: center;
}

body[data-auth-state="authenticated"] .loss-risk-pill.is-danger {
  color: var(--research-danger-text);
  border-color: var(--research-danger-border);
  background: var(--research-danger-bg);
}

body[data-auth-state="authenticated"] .loss-risk-pill.is-warning {
  color: var(--research-warning-text);
  border-color: var(--research-warning-border);
  background: var(--research-warning-bg);
}

body[data-auth-state="authenticated"] :is(.loss-risk-pill.is-stable, .loss-risk-pill.is-success) {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] :is(.loss-risk-pill.is-info, .loss-risk-pill.is-empty) {
  color: var(--research-info-text);
  border-color: var(--research-info-border);
  background: var(--research-info-bg);
}

body[data-auth-state="authenticated"] .loss-action-label {
  color: var(--research-info-text);
  border-color: var(--research-info-border);
  background: var(--research-info-bg);
}

body[data-auth-state="authenticated"] .loss-research-card :is(small, p) {
  color: var(--research-contrast-muted);
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row .strategy-lineage-badge.is-no-greek {
  color: var(--research-warning-text);
  border-color: var(--research-warning-border);
  background: var(--research-warning-bg);
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row .strategy-lineage-badge.is-greek {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] tbody tr.is-clicked-row :is(
  .strategy-lineage-badge.is-core,
  .strategy-lineage-badge.is-unknown
) {
  color: var(--research-info-text);
  border-color: var(--research-info-border);
  background: var(--research-info-bg);
}

/* Pair every remaining light-first research surface with the active palette.
   These blocks are generated dynamically, so the guardrail belongs in the
   shared stylesheet rather than in one rendered Strategy Lab view. */
body[data-auth-state="authenticated"] :is(
  .strategy-lab-blocker-pill,
  .strategy-lab-policy-pill,
  .strategy-lab-watch-only,
  .strategy-merge-plan-row,
  .strategy-history-empty
) {
  color: var(--research-contrast-text);
  border-color: var(--research-contrast-border);
  background: var(--research-contrast-surface);
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .strategy-merge-note,
  .strategy-merge-plan-head,
  .strategy-lab-analysis-copy > span
) {
  color: var(--research-info-text);
  border-color: var(--research-info-border);
  background: var(--research-info-bg);
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(
  .strategy-lab-policy-pill.is-ready,
  .strategy-lab-watch-only.is-auto-ready
) {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] .strategy-lab-inline-status {
  color: var(--research-contrast-text);
  border-color: var(--research-contrast-border);
  background: var(--research-contrast-surface-raised);
}

body[data-auth-state="authenticated"] .strategy-lab-inline-status.is-success {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] .strategy-lab-inline-status.is-danger {
  color: var(--research-danger-text);
  border-color: var(--research-danger-border);
  background: var(--research-danger-bg);
}

body[data-auth-state="authenticated"] .strategy-lab-policy-pill.is-watch {
  color: var(--research-warning-text);
  border-color: var(--research-warning-border);
  background: var(--research-warning-bg);
}

body[data-auth-state="authenticated"] .strategy-merge-reasons span {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] .strategy-merge-plan-row b {
  color: var(--research-success-text);
  border: 1px solid var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] :is(
  .strategy-merge-note strong,
  .strategy-merge-plan-head strong,
  .strategy-merge-plan-row strong,
  .strategy-lab-blocker-pill b,
  .strategy-lab-policy-pill b,
  .strategy-history-empty h2
) {
  color: var(--research-contrast-text);
}

body[data-auth-state="authenticated"] :is(
  .strategy-merge-note span,
  .strategy-merge-plan-head span,
  .strategy-merge-plan-row small,
  .strategy-lab-blocker-pill span,
  .strategy-lab-policy-pill small,
  .strategy-history-empty p,
  .strategy-history-empty small
) {
  color: var(--research-contrast-muted);
}

body[data-auth-state="authenticated"] .strategy-history-empty-icon {
  color: var(--research-info-text);
  border: 1px solid var(--research-info-border);
  background: var(--research-info-bg);
}

body[data-auth-state="authenticated"] .broker-execution-heading > strong {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] .live-feed-note {
  color: var(--research-warning-text);
  border: 1px solid var(--research-warning-border);
  background: var(--research-warning-bg);
}

body[data-auth-state="authenticated"] .guide-flow-strip span {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
}

body[data-auth-state="authenticated"] .daily-report-advanced > summary {
  color: var(--research-contrast-text);
}

body[data-auth-state="authenticated"] .daily-report-hero-badge span {
  color: var(--research-contrast-muted);
}

body[data-auth-state="authenticated"] .daily-report-hero-badge strong {
  color: var(--research-info-text);
}

/* Secondary text must remain readable on the deepest authenticated panels. */
body[data-auth-state="authenticated"] :is(
  .admin-reference-links small,
  .admin-safety-copy,
  .broker-mini-card small,
  .broker-status-pill span,
  .broker-status-pill small,
  .backtest-status-tile small,
  .backtest-evidence-tile small,
  .backtest-quality-tile small,
  .backtest-metric small,
  .backtest-provider-status span,
  .backtest-provider-status small
) {
  color: var(--research-contrast-muted);
}

body[data-auth-state="authenticated"] .admin-reference-links span {
  color: #d8b4fe;
}

body[data-auth-state="authenticated"] :is(
  .zerodha-execution-status-card span,
  .live-feed-metric span
) {
  color: var(--research-contrast-muted);
}

body[data-auth-state="authenticated"] button:disabled {
  opacity: 0.74;
}

/* Interactive-state guardrails.
   Theme Studio intentionally restyles generic chips and inputs, but those
   surface rules must never erase broker selection or checkbox state. */
body[data-auth-state="authenticated"] .broker-modal .provider-chip {
  color: var(--research-contrast-muted);
  border-color: var(--research-contrast-border);
  background: var(--research-contrast-surface);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--research-contrast-border) 28%, transparent);
  opacity: 0.86;
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip:not(.is-active):hover,
body[data-auth-state="authenticated"] .broker-modal .provider-chip:not(.is-active):focus-visible {
  color: var(--research-contrast-text);
  border-color: var(--theme-accent, #a78bfa);
  background: color-mix(in srgb, var(--research-contrast-surface) 82%, var(--theme-accent, #a78bfa));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent, #a78bfa) 18%, transparent);
  opacity: 1;
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-active,
body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-active:disabled {
  color: #ffffff;
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 72%, #ffffff);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--theme-accent, #8b5cf6) 52%, #111827),
    color-mix(in srgb, var(--theme-accent-2, #ec4899) 52%, #111827)
  );
  box-shadow: 0 12px 26px color-mix(in srgb, var(--theme-accent, #8b5cf6) 34%, transparent), inset 4px 0 0 rgba(255, 255, 255, 0.82);
  opacity: 1;
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip:is(.is-active, .is-runtime-feed, .is-configured-feed)::after {
  content: "SELECTED";
  margin-left: auto;
  padding: 3px 7px;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.46);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.28);
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-runtime-feed:not(.is-active) {
  color: var(--research-success-text);
  border-color: var(--research-success-border);
  background: var(--research-success-bg);
  box-shadow: inset 4px 0 0 var(--research-success-text);
  opacity: 1;
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-configured-feed:not(.is-active):not(.is-runtime-feed) {
  color: var(--research-info-text);
  border-color: var(--research-info-border);
  background: var(--research-info-bg);
  box-shadow: inset 4px 0 0 var(--research-info-text);
  opacity: 1;
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-configured-feed:not(.is-runtime-feed)::after {
  content: "CONFIGURED";
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-runtime-feed::after {
  content: "LIVE";
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-active.is-runtime-feed::after {
  content: "ACTIVE";
}

body[data-auth-state="authenticated"] .broker-modal .provider-chip.is-active .provider-dot {
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.22), 0 0 16px rgba(255, 255, 255, 0.72);
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle {
  position: relative;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle:has(input:checked) {
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 72%, var(--research-contrast-border));
  background: color-mix(in srgb, var(--research-contrast-surface) 78%, var(--theme-accent, #8b5cf6));
  box-shadow: inset 4px 0 0 var(--theme-accent, #8b5cf6), 0 0 0 1px color-mix(in srgb, var(--theme-accent, #8b5cf6) 18%, transparent);
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle:has(input:checked) > span {
  color: var(--research-contrast-text);
  font-weight: 800;
}

body[data-auth-state="authenticated"] .broker-modal .broker-toggle-note {
  display: block;
  max-width: 100%;
  margin-top: 4px;
  color: var(--research-contrast-muted);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"] {
  position: relative;
  width: 60px;
  height: 28px;
  min-width: 60px;
  min-height: 28px;
  padding: 0;
  color: #cbd5e1;
  border: 1px solid var(--research-contrast-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--research-contrast-surface) 45%, #020617);
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.28);
  appearance: none;
  cursor: pointer;
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"]::before {
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  transform: translateX(0);
  background: #ffffff;
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.32);
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"]::after {
  content: "OFF";
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
  color: #e2e8f0;
  font-size: 0.55rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1;
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"]:checked {
  color: #ffffff;
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 78%, #ffffff);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--theme-accent, #8b5cf6) 52%, #111827),
    color-mix(in srgb, var(--theme-accent-2, #ec4899) 52%, #111827)
  );
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent, #8b5cf6) 18%, transparent), inset 0 1px 1px rgba(255, 255, 255, 0.2);
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"]:checked::before {
  transform: translateX(32px);
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"]:checked::after {
  content: "ON";
  right: auto;
  left: 8px;
  color: #ffffff;
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--theme-accent-2, #ec4899);
  outline-offset: 3px;
}

body[data-auth-state="authenticated"] .broker-modal .live-order-toggle input[type="checkbox"]:disabled {
  cursor: not-allowed;
  filter: saturate(0.7);
}

.admin-inspector-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.admin-inspector-metric {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 8px;
  background: rgba(248, 250, 252, 0.78);
}

.admin-inspector-metric span,
.admin-symbol-table small {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
}

.admin-inspector-metric strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 950;
}

.admin-inspector-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  flex-wrap: wrap;
}

.admin-inspector-actions .form-message {
  margin: 0;
}

.admin-advanced-recovery-tools {
  margin: 4px 0 12px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.16);
}

.admin-advanced-recovery-tools > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.admin-advanced-recovery-tools > summary::-webkit-details-marker {
  display: none;
}

.admin-advanced-recovery-tools > summary::after {
  content: "+";
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 8px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  color: var(--accent);
  font-weight: 950;
}

.admin-advanced-recovery-tools[open] > summary::after {
  content: "-";
}

.admin-advanced-recovery-tools > summary strong,
.admin-advanced-recovery-tools > summary small {
  display: block;
}

.admin-advanced-recovery-tools > summary small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
}

.admin-inspector-actions.is-advanced {
  margin: 0;
  padding: 0 12px 12px;
}

.candle-recovery-audit-summary-card {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 14px 18px;
  margin-top: 12px;
  align-items: center;
}

.candle-recovery-audit-summary-card .audit-summary-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.candle-recovery-audit-summary-card .audit-summary-item span {
  font-size: 0.72rem;
  color: var(--muted, #94a3b8);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.candle-recovery-audit-summary-card .audit-summary-item strong {
  font-size: 0.92rem;
  font-weight: 600;
  color: #fff;
}

.candle-recovery-audit-summary-card .audit-summary-item.is-wide {
  flex: 1 1 340px;
}

.admin-inspector-table-wrap {
  margin-top: 10px;
}

.admin-inspector-table-wrap .table-scroll {
  max-height: 480px;
  overflow-y: auto;
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
}

.admin-symbol-table {
  min-width: 980px;
  table-layout: fixed;
}

.admin-symbol-table th:nth-child(1),
.admin-symbol-table td:nth-child(1) {
  width: 14%;
}

.admin-symbol-table th:nth-child(2),
.admin-symbol-table td:nth-child(2) {
  width: 14%;
}

.admin-symbol-table th:nth-child(3),
.admin-symbol-table td:nth-child(3) {
  width: 22%;
}

.admin-symbol-table th:nth-child(4),
.admin-symbol-table td:nth-child(4) {
  width: 22%;
}

.admin-symbol-table th:nth-child(5),
.admin-symbol-table td:nth-child(5) {
  width: 28%;
}

.admin-symbol-table th,
.admin-symbol-table td,
.admin-db-result-table th,
.admin-db-result-table td {
  padding: 6px 10px;
  vertical-align: middle;
  font-size: 0.75rem;
  line-height: 1.32;
}

.admin-symbol-table td strong,
.admin-symbol-table td small {
  display: block;
  margin: 0;
}

.admin-symbol-table td small {
  font-size: 0.70rem;
  line-height: 1.25;
  opacity: 0.85;
}

.admin-symbol-table .pill {
  margin-bottom: 2px;
}

.admin-symbol-table .admin-pnl-positive {
  color: #34d399;
}

.admin-symbol-table .admin-pnl-negative {
  color: #fb7185;
}

.admin-symbol-table .admin-pnl-neutral {
  color: var(--ink);
}

.admin-symbol-performance-cell strong {
  margin-top: 2px;
}

.admin-symbol-performance-cell span {
  font-weight: 950;
}

.admin-symbol-top-list {
  display: grid;
  gap: 6px;
}

.admin-symbol-top-strategy {
  min-width: 0;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.admin-symbol-top-strategy:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.admin-symbol-top-strategy strong {
  overflow-wrap: anywhere;
}

.admin-db-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: 12px;
}

.admin-db-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 230px) minmax(260px, 380px) auto minmax(170px, 1fr);
  gap: 8px;
  align-items: end;
  margin-bottom: 8px;
}

.admin-db-toolbar label {
  min-width: 0;
  gap: 5px;
  padding: 7px 8px;
  border-radius: 10px;
}

.admin-db-toolbar label > span {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
}

.admin-db-toolbar select {
  width: 100%;
  min-height: 38px;
  padding: 8px 36px 8px 12px;
  border-radius: 10px;
  font-size: 0.82rem;
  font-weight: 850;
}

.admin-db-toolbar .secondary-button {
  min-height: 38px;
  padding: 8px 14px;
  white-space: nowrap;
}

.admin-db-toolbar .form-message {
  margin: 0 0 3px;
}

.admin-db-query-panel {
  min-width: 0;
  width: 100%;
}

.admin-db-query-panel textarea {
  min-height: 78px;
  padding: 10px 12px;
  border-radius: 10px;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.78rem;
}

.admin-db-limit-label {
  width: 108px;
}

.admin-db-result-meta {
  margin: 8px 0;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
}

.admin-db-result-table {
  width: max-content;
  min-width: 0;
  table-layout: fixed;
}

.admin-db-result-table col.is-db-symbol {
  width: 68px;
}

.admin-db-result-table col.is-db-id {
  width: 190px;
}

.admin-db-result-table col.is-db-compact {
  width: 84px;
}

.admin-db-result-table col.is-db-number {
  width: 88px;
}

.admin-db-result-table col.is-db-date {
  width: 124px;
}

.admin-db-result-table col.is-db-duration {
  width: 104px;
}

.admin-db-result-table col.is-db-label {
  width: 178px;
}

.admin-db-result-table col.is-db-long {
  width: 230px;
}

.admin-db-result-table col.is-db-path {
  width: 118px;
}

.admin-db-result-table col.is-db-text {
  width: 178px;
}

.admin-db-result-table col.is-db-action {
  width: 72px;
}

.admin-db-result-table.is-db-fill-preview {
  width: 100%;
  min-width: 100%;
}

.admin-db-result-table.is-db-fill-preview col {
  width: auto;
}

.admin-db-result-table.is-db-fill-preview col.is-db-id {
  width: 220px;
}

.admin-db-result-table.is-db-fill-preview col.is-db-long {
  width: 260px;
}

.admin-db-result-table.is-db-fill-preview col.is-db-action {
  width: 90px;
}

.admin-db-result-table th,
.admin-db-result-table td {
  width: auto;
  max-width: none;
  white-space: nowrap;
  font-family: Consolas, "Courier New", monospace;
  font-size: 0.7rem;
}

.admin-db-sort-button {
  display: flex;
  width: auto;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 950;
  text-align: left;
  text-transform: inherit;
  box-shadow: none;
}

.admin-db-sort-button:hover {
  transform: none;
  color: #e9d5ff;
  background: transparent;
}

.admin-db-head-cell {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 5px;
}

.admin-db-sort-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-db-column-info {
  display: inline-grid;
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(216, 180, 254, 0.45);
  border-radius: 999px;
  background: rgba(168, 85, 247, 0.12);
  box-shadow: none;
  color: #e9d5ff;
  cursor: default;
  font-family: inherit;
  font-size: 0.54rem;
  font-weight: 950;
  line-height: 1;
  user-select: none;
}

.admin-db-column-info:hover {
  border-color: rgba(56, 189, 248, 0.8);
  background: rgba(56, 189, 248, 0.16);
  color: #f8fafc;
}

.admin-db-result-table th.is-db-number .admin-db-sort-button,
.admin-db-result-table th.is-db-action .admin-db-sort-button {
  justify-content: flex-end;
}

.admin-db-sort-indicator {
  position: relative;
  width: 8px;
  height: 12px;
  flex: 0 0 8px;
  color: currentColor;
  opacity: 0.48;
}

.admin-db-sort-indicator::before,
.admin-db-sort-indicator::after {
  content: "";
  position: absolute;
  left: 1px;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
}

.admin-db-sort-indicator::before {
  top: 1px;
  border-bottom: 4px solid currentColor;
}

.admin-db-sort-indicator::after {
  bottom: 1px;
  border-top: 4px solid currentColor;
}

.admin-db-sort-button.is-active {
  color: #ffffff;
}

.admin-db-sort-button.is-active .admin-db-sort-indicator {
  opacity: 1;
}

.admin-db-sort-button.is-active.is-sort-asc .admin-db-sort-indicator::after,
.admin-db-sort-button.is-active.is-sort-desc .admin-db-sort-indicator::before {
  opacity: 0.22;
}

.admin-db-result-table.is-db-fill-preview th,
.admin-db-result-table.is-db-fill-preview td {
  white-space: normal;
}

.admin-db-result-table.is-db-fill-preview td.is-db-action,
.admin-db-result-table.is-db-fill-preview th.is-db-action {
  width: 90px;
  max-width: 90px;
}

.admin-db-result-table th.is-db-symbol,
.admin-db-result-table td.is-db-symbol,
.admin-db-result-table th.is-db-compact,
.admin-db-result-table td.is-db-compact {
  max-width: 110px;
}

.admin-db-result-table th.is-db-id,
.admin-db-result-table td.is-db-id {
  max-width: 220px;
}

.admin-db-result-table th.is-db-number,
.admin-db-result-table td.is-db-number {
  max-width: 120px;
  text-align: right;
}

.admin-db-result-table th.is-db-date,
.admin-db-result-table td.is-db-date {
  max-width: 124px;
}

.admin-db-result-table th.is-db-duration,
.admin-db-result-table td.is-db-duration {
  max-width: 112px;
}

.admin-db-result-table th.is-db-label,
.admin-db-result-table td.is-db-label {
  max-width: 178px;
}

.admin-db-result-table th.is-db-long,
.admin-db-result-table td.is-db-long {
  max-width: 260px;
}

.admin-db-result-table th.is-db-path,
.admin-db-result-table td.is-db-path {
  max-width: 118px;
}

.admin-db-result-table th.is-db-action,
.admin-db-result-table td.is-db-action {
  width: 72px;
  max-width: 72px;
  text-align: center;
}

.admin-db-cell-preview {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-db-cell-preview span {
  display: block;
  min-width: 0;
  max-height: none;
  overflow: visible;
  color: inherit;
  line-height: 1.3;
  overflow-wrap: anywhere;
  white-space: normal;
}

.admin-db-result-table td.is-db-number .admin-db-cell-preview span,
.admin-db-result-table td.is-db-compact .admin-db-cell-preview span,
.admin-db-result-table td.is-db-symbol .admin-db-cell-preview span {
  white-space: nowrap;
}

.admin-db-result-table td.is-db-long .admin-db-cell-preview span {
  display: -webkit-box;
  max-height: 2.6em;
  overflow: hidden;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.admin-db-date-stack {
  display: grid !important;
  gap: 1px;
  max-height: none !important;
  line-height: 1.18;
  -webkit-line-clamp: unset !important;
}

.admin-db-date-stack span {
  display: block;
  max-height: none;
  overflow: visible;
  white-space: nowrap;
  font-size: 0.68rem;
  font-weight: 850;
  -webkit-line-clamp: unset;
}

.admin-db-path-cell {
  display: grid;
  gap: 1px;
  min-width: 0;
  line-height: 1.16;
  white-space: normal;
}

.admin-db-path-cell strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: inherit;
  font-size: 0.68rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-db-path-cell span {
  display: block;
  color: inherit;
  font-size: 0.62rem;
  font-weight: 820;
  white-space: nowrap;
}

.admin-db-hold-cell {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 4px;
  line-height: 1.16;
  white-space: nowrap;
}

.admin-db-hold-cell strong {
  color: inherit;
  font-size: 0.68rem;
  font-weight: 950;
  white-space: nowrap;
}

.admin-db-hold-cell span {
  color: inherit;
  font-size: 0.62rem;
  font-weight: 800;
  opacity: 0.72;
}

.admin-db-hold-cell em {
  color: inherit;
  font-size: 0.64rem;
  font-style: normal;
  font-weight: 900;
  opacity: 0.9;
  white-space: nowrap;
}

.admin-db-cell-preview button {
  justify-self: start;
  padding: 0;
  border: 0;
  color: #6366f1;
  background: transparent;
  font-size: 0.66rem;
  font-weight: 900;
  cursor: pointer;
}

.admin-inspector-modal[hidden] {
  display: none;
}

.admin-inspector-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
}

.admin-inspector-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.62);
  backdrop-filter: blur(8px);
}

.admin-inspector-modal-card {
  position: relative;
  z-index: 1;
  width: min(980px, 94vw);
  max-height: min(720px, 88vh);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  background: var(--panel);
  color: var(--ink);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.34);
}

.admin-inspector-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.admin-inspector-modal-head h2 {
  margin: 2px 0 0;
  font-size: 1rem;
}

.admin-inspector-modal-body {
  min-height: 0;
  overflow: auto;
  padding: 16px 18px 20px;
}

.admin-db-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-db-detail-grid article {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.04);
}

.admin-db-detail-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
}

.admin-db-detail-grid pre,
.admin-db-cell-full pre {
  max-height: 360px;
  margin: 6px 0 0;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: inherit;
  font: 0.76rem/1.45 Consolas, "Courier New", monospace;
}

body[data-auth-state="authenticated"] .admin-inspector-metric {
  color: var(--research-contrast-text);
  border-color: var(--research-contrast-border);
  background: var(--research-contrast-surface);
}

body[data-auth-state="authenticated"] .admin-inspector-metric span,
body[data-auth-state="authenticated"] .admin-inspector-metric small,
body[data-auth-state="authenticated"] .admin-symbol-table small,
body[data-auth-state="authenticated"] .admin-db-result-meta {
  color: var(--research-contrast-muted);
}

body[data-auth-state="authenticated"] .admin-inspector-metric strong {
  color: var(--research-contrast-text);
}

body[data-auth-state="authenticated"] .admin-symbol-table .admin-pnl-neutral {
  color: var(--research-contrast-text);
}

body[data-auth-state="authenticated"] .admin-inspector-modal-card {
  color: var(--research-contrast-text);
  border-color: var(--research-contrast-border);
  background: var(--research-contrast-surface);
}

body[data-auth-state="authenticated"] .admin-db-detail-grid article {
  border-color: var(--research-contrast-border);
  background: color-mix(in srgb, var(--research-contrast-surface) 82%, #020617);
}

body[data-auth-state="authenticated"] .admin-db-detail-grid span {
  color: var(--research-contrast-muted);
}

@media (max-width: 980px) {
  .admin-inspector-metrics,
  .admin-db-grid {
    grid-template-columns: 1fr;
  }

  .admin-db-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .admin-db-toolbar .form-message {
    margin: 0;
  }

  .admin-db-detail-grid {
    grid-template-columns: 1fr;
  }
}

tbody tr.is-clicked-row .target-recovery-card.is-achieved,
tbody tr.is-clicked-row .target-recovery-card.is-recovered {
  color: #064e3b !important;
  border-color: #86efac !important;
  background: #dcfce7 !important;
  box-shadow: inset 3px 0 0 #059669, 0 0 0 1px rgba(255, 255, 255, 0.32) !important;
}

tbody tr.is-clicked-row .target-recovery-card.is-inferred {
  color: #075985 !important;
  border-color: #7dd3fc !important;
  background: #e0f2fe !important;
  box-shadow: inset 3px 0 0 #0284c7, 0 0 0 1px rgba(255, 255, 255, 0.32) !important;
}

tbody tr.is-clicked-row .target-recovery-card.is-missed {
  color: #9f1239 !important;
  border-color: #fda4af !important;
  background: #ffe4e6 !important;
  box-shadow: inset 3px 0 0 #e11d48, 0 0 0 1px rgba(255, 255, 255, 0.32) !important;
}

tbody tr.is-clicked-row .target-recovery-card.is-pending {
  color: #78350f !important;
  border-color: #fcd34d !important;
  background: #fef3c7 !important;
  box-shadow: inset 3px 0 0 #d97706, 0 0 0 1px rgba(255, 255, 255, 0.32) !important;
}

tbody tr.is-clicked-row .target-recovery-card *,
body[data-auth-state="authenticated"] tbody tr.is-clicked-row .target-recovery-card * {
  color: inherit !important;
}

.admin-recovery-progress {
  display: grid;
  gap: 10px;
  margin: 10px 0 12px;
  padding: 12px;
  border: 1px solid rgba(139, 92, 246, 0.35);
  border-radius: 8px;
  background: rgba(14, 10, 24, 0.58);
}

.admin-recovery-progress[hidden] {
  display: none;
}

.admin-recovery-progress-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.admin-recovery-progress-head span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-recovery-progress-head strong {
  color: #f8f3ff;
  font-size: 0.86rem;
}

.admin-recovery-progress-head small {
  color: #c8b8da;
  font-size: 0.74rem;
  line-height: 1.35;
}

.admin-recovery-progress-head b {
  flex: 0 0 auto;
  color: #7dd3fc;
  font-size: 0.92rem;
}

.admin-recovery-progress-track {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.admin-recovery-progress-track i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #6366f1, #a78bfa, #ec4899);
  transition: width 260ms ease;
}

.admin-recovery-progress.is-complete .admin-recovery-progress-track i {
  background: linear-gradient(90deg, #22c55e, #2dd4bf);
}

.admin-recovery-progress.is-warning .admin-recovery-progress-track i {
  background: linear-gradient(90deg, #0d9488, #ec4899);
}

.admin-recovery-progress.is-failed .admin-recovery-progress-track i {
  background: linear-gradient(90deg, #ef4444, #fb7185);
}

.admin-recovery-progress-meta {
  display: grid;
  grid-template-columns: repeat(6, minmax(100px, 1fr));
  gap: 8px;
}

.admin-recovery-progress-meta span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-recovery-progress-meta strong {
  color: #f8f3ff;
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.admin-recovery-progress-meta small {
  color: #a99abc;
  font-size: 0.62rem;
  line-height: 1.2;
}

@media (max-width: 900px) {
  .admin-recovery-progress-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Manual Strategy Research */
.manual-research-page {
  --manual-surface: var(--research-contrast-surface, rgba(20, 15, 31, 0.88));
  --manual-raised: var(--research-contrast-surface-raised, rgba(34, 26, 48, 0.94));
  --manual-border: var(--research-contrast-border, rgba(148, 124, 184, 0.28));
  --manual-text: var(--research-contrast-text, var(--ink));
  --manual-muted: var(--research-contrast-muted, var(--muted));
  gap: 16px;
}

.manual-research-page :is(button, input, select) {
  font: inherit;
}

.manual-research-hero {
  overflow: visible;
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 52%, var(--manual-border));
  background:
    radial-gradient(circle at 90% 5%, color-mix(in srgb, var(--theme-accent, #8b5cf6) 16%, transparent), transparent 30%),
    linear-gradient(135deg, color-mix(in srgb, var(--manual-surface) 93%, #111827), var(--manual-surface));
  box-shadow: inset 4px 0 0 var(--theme-accent, #8b5cf6);
}

.manual-research-hero-copy,
.manual-workspace-head,
.manual-section-head,
.manual-action-bar,
.manual-range-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.manual-research-hero h1 {
  margin: 4px 0 6px;
  font-size: clamp(1.65rem, 2.3vw, 2.35rem);
  background: linear-gradient(90deg, var(--theme-accent, #9b6cff), #ec4899);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.manual-research-hero p {
  margin: 0;
  color: var(--manual-muted);
}

.manual-hero-badges,
.manual-selection-meta,
.manual-criteria-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.manual-hero-badges span,
.manual-selection-meta span,
.manual-criteria-legend span,
.manual-result-freshness,
.manual-trade-count {
  padding: 6px 10px;
  border: 1px solid var(--manual-border);
  border-radius: 999px;
  color: var(--manual-text);
  background: color-mix(in srgb, var(--manual-raised) 86%, transparent);
  font-size: .67rem;
  font-weight: 850;
  white-space: nowrap;
}

.manual-hero-badges span:last-child,
.manual-selection-meta .is-enabled {
  color: var(--research-success-text, #6ee7b7);
  border-color: var(--research-success-border, rgba(52, 211, 153, .4));
  background: var(--research-success-bg, rgba(6, 95, 70, .28));
}

.manual-research-controls {
  display: grid;
  grid-template-columns: 170px minmax(300px, 1fr) 155px 155px auto;
  gap: 10px;
  align-items: end;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid var(--manual-border);
  border-radius: 15px;
  background: color-mix(in srgb, var(--manual-surface) 78%, transparent);
}

.manual-research-controls label,
.manual-trade-toolbar label {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--manual-muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.manual-research-controls label span,
.manual-trade-toolbar label > span {
  display: flex;
  justify-content: space-between;
  gap: 5px;
}

.manual-research-controls label em {
  color: var(--manual-muted);
  font-size: .58rem;
  font-style: normal;
  font-weight: 650;
  text-transform: none;
}

.manual-research-controls :is(select, input),
.manual-research-controls .searchable-select-trigger,
.manual-trade-toolbar select,
.manual-criterion-input input {
  min-height: 39px;
  border: 1px solid var(--manual-border);
  border-radius: 10px;
  color: var(--manual-text);
  background: var(--manual-raised);
}

.searchable-select {
  position: relative;
  display: block;
  min-width: 0;
}

.searchable-select-trigger {
  width: 100%;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  text-align: left;
}

.searchable-select-trigger:disabled {
  cursor: not-allowed;
  opacity: .72;
}

.searchable-select-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.searchable-select-caret {
  width: 0;
  height: 0;
  flex: 0 0 auto;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid currentColor;
  color: var(--theme-accent, #8b5cf6);
}

.searchable-select.is-open {
  z-index: 80;
}

.searchable-select.is-open .searchable-select-caret {
  transform: rotate(180deg);
}

.searchable-select-panel {
  position: absolute;
  z-index: 80;
  top: calc(100% + 5px);
  right: 0;
  left: 0;
  display: grid;
  gap: 6px;
  max-height: min(390px, 58vh);
  padding: 7px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, #8b5cf6) 56%, var(--manual-border));
  border-radius: 10px;
  background: color-mix(in srgb, var(--manual-surface) 96%, #05010d);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .42);
}

.searchable-select-panel[hidden] {
  display: none;
}

.searchable-select-panel > input[type="search"] {
  width: 100%;
  min-height: 34px;
  padding: 7px 9px;
  font-size: .66rem;
}

.searchable-select-empty {
  padding: 4px 6px;
  color: var(--manual-muted, var(--muted));
  font-size: .56rem;
  text-transform: none;
}

.searchable-select-options {
  display: grid;
  gap: 3px;
  max-height: min(310px, 46vh);
  overflow-y: auto;
}

.searchable-select-option {
  width: 100%;
  min-height: 31px;
  padding: 7px 8px;
  border: 0;
  border-radius: 6px;
  color: var(--manual-text);
  background: transparent;
  cursor: pointer;
  font-size: .62rem;
  font-weight: 760;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

.searchable-select-option:is(:hover, :focus-visible),
.searchable-select-option[aria-selected="true"] {
  color: #fff;
  background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 50%, var(--manual-raised));
  outline: none;
}

.searchable-select-option.is-placeholder {
  color: var(--manual-muted);
}

.searchable-select > select.searchable-select-native {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 1px;
  min-width: 1px;
  height: 1px;
  min-height: 1px;
  padding: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

.manual-apply-button {
  min-height: 40px;
  white-space: nowrap;
}

.manual-range-row {
  align-items: baseline;
  margin-top: 10px;
}

.manual-range-row > small {
  color: var(--manual-muted);
  font-size: .67rem;
}

.manual-quick {
  display: flex;
  align-items: center;
  gap: 7px;
}

.manual-quick > span {
  margin-right: 2px;
  color: var(--manual-muted);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.manual-quick button {
  padding: 6px 11px;
  border: 1px solid var(--manual-border);
  border-radius: 999px;
  color: var(--manual-text);
  background: var(--manual-raised);
  cursor: pointer;
}

.manual-quick button:is(:hover, .is-active) {
  color: #fff;
  border-color: var(--theme-accent, #8b5cf6);
  background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 56%, var(--manual-raised));
}

.manual-page-message {
  margin: 10px 0 0;
}

.manual-workspace {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 46%, var(--manual-border));
  background: linear-gradient(145deg, color-mix(in srgb, var(--manual-surface) 97%, #0f172a), var(--manual-surface));
}

.manual-workspace[hidden] {
  display: none;
}

.manual-workspace.is-stale > :not(.manual-workspace-head, .manual-stale-notice) {
  opacity: .48;
  pointer-events: none;
}

.manual-workspace-head {
  align-items: flex-end;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--manual-border);
}

.manual-workspace-head h2 {
  margin: 3px 0 8px;
  color: var(--manual-text);
}

.manual-workspace-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(100px, 1fr));
  gap: 7px;
  min-width: min(720px, 58vw);
}

.manual-compact-metric {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--manual-border);
  border-radius: 11px;
  background: var(--manual-raised);
}

.manual-compact-metric span {
  color: var(--manual-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.manual-compact-metric strong {
  overflow: hidden;
  color: var(--manual-text);
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manual-compact-metric.is-positive strong { color: var(--research-success-text, #5eead4); }
.manual-compact-metric.is-negative strong { color: var(--research-danger-text, #fb7185); }

.manual-stale-notice,
.manual-result-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid var(--research-warning-border, #0d9488);
  border-radius: 11px;
  color: var(--research-warning-text, #fde68a);
  background: var(--research-warning-bg, rgba(120, 53, 15, .28));
  box-shadow: inset 4px 0 0 currentColor;
}

.manual-stale-notice span,
.manual-result-note span {
  color: inherit;
  opacity: .88;
  font-size: .7rem;
}

.manual-current-criteria,
.manual-trade-lab,
.manual-results {
  border: 1px solid var(--manual-border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--manual-surface) 82%, transparent);
}

.manual-section-head {
  padding: 11px 13px;
  border-bottom: 1px solid var(--manual-border);
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 20%, transparent), transparent 70%);
}

details.manual-trade-lab > summary.manual-section-head,
.manual-editor > summary {
  position: relative;
  padding-right: 36px;
}

details.manual-trade-lab > summary.manual-section-head {
  cursor: pointer;
  list-style: none;
}

details.manual-trade-lab > summary.manual-section-head::-webkit-details-marker {
  display: none;
}

details.manual-trade-lab > summary.manual-section-head::after,
.manual-editor > summary::after {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: var(--manual-muted);
  content: "";
  transform: translateY(-65%) rotate(45deg);
  transition: transform .18s ease;
}

details.manual-trade-lab[open] > summary.manual-section-head::after,
.manual-editor[open] > summary::after {
  transform: translateY(-35%) rotate(225deg);
}

.manual-section-head > div:first-child,
.manual-editor summary > span {
  display: flex;
  align-items: center;
  gap: 10px;
}

.manual-section-head h3,
.manual-section-head p {
  margin: 0;
}

.manual-section-head h3 {
  color: var(--manual-text);
  font-size: .88rem;
}

.manual-section-head p {
  margin-top: 2px;
  color: var(--manual-muted);
  font-size: .64rem;
}

.manual-section-step,
.manual-editor summary b {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, #8b5cf6) 64%, var(--manual-border));
  border-radius: 9px;
  color: #fff;
  background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 58%, var(--manual-raised));
  font-size: .65rem;
  font-weight: 900;
}

.manual-criteria-legend span {
  padding: 4px 7px;
  font-size: .58rem;
}

.manual-criteria-legend .is-pass { color: var(--research-success-text, #6ee7b7); border-color: var(--research-success-border, #10b981); }
.manual-criteria-legend .is-near { color: var(--research-warning-text, #fde68a); border-color: var(--research-warning-border, #0d9488); }
.manual-criteria-legend .is-fail { color: var(--research-danger-text, #fda4af); border-color: var(--research-danger-border, #f43f5e); }
.manual-criteria-legend .is-unknown { color: var(--manual-muted); }

.manual-criteria-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 11px 13px 13px;
}

.manual-criteria-line > i,
.manual-trade-criteria > i {
  color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 65%, var(--manual-muted));
  font-style: normal;
  opacity: .68;
}

.manual-current-rule {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}

.manual-current-rule b {
  color: var(--manual-muted);
  font-size: .63rem;
}

.manual-current-rule strong {
  color: var(--manual-text);
  font-size: .7rem;
}

.manual-current-rule em,
.manual-current-rule small {
  color: var(--manual-muted);
  font-size: .55rem;
  font-style: normal;
}

.manual-current-rule small {
  padding: 2px 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 12%, transparent);
}

.manual-editor {
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--manual-surface) 88%, transparent);
}

.manual-editor summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 18%, transparent), transparent 70%);
}

.manual-editor summary::-webkit-details-marker { display: none; }
.manual-editor summary strong { display: block; color: var(--manual-text); font-size: .88rem; }
.manual-editor summary small { display: block; margin-top: 2px; color: var(--manual-muted); font-size: .63rem; font-weight: 600; }

.manual-editor summary > i {
  padding: 5px 8px;
  border: 1px solid var(--manual-border);
  border-radius: 999px;
  color: var(--manual-muted);
  background: var(--manual-raised);
  font-size: .61rem;
  font-style: normal;
  font-weight: 850;
}

.manual-editor summary > i.is-dirty { color: var(--research-warning-text, #fde68a); border-color: var(--research-warning-border, #0d9488); }
.manual-editor summary > i.is-tested { color: var(--research-success-text, #6ee7b7); border-color: var(--research-success-border, #10b981); }

.manual-editor-body {
  padding: 12px;
  border-top: 1px solid var(--manual-border);
}

.manual-criterion-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 190px auto;
  gap: 9px;
  align-items: end;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid var(--manual-border);
  border-radius: 11px;
  background: color-mix(in srgb, var(--manual-surface) 78%, transparent);
}

.manual-criterion-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--manual-muted);
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.manual-criterion-toolbar :is(input, select) {
  min-height: 36px;
  padding: 7px 9px;
  border: 1px solid var(--manual-border);
  border-radius: 9px;
  color: var(--manual-text);
  background: var(--manual-raised);
  text-transform: none;
}

.manual-criterion-pager {
  display: grid;
  grid-template-columns: auto minmax(72px, auto) auto;
  gap: 7px;
  align-items: center;
}

.manual-criterion-pager button { min-height: 36px; padding: 7px 11px; }
.manual-criterion-pager strong { color: var(--manual-text); font-size: .68rem; text-align: center; white-space: nowrap; }

.manual-criterion-layout {
  display: grid;
  grid-template-columns: minmax(270px, .7fr) minmax(560px, 1.7fr);
  gap: 10px;
  min-height: 500px;
}

.manual-criterion-navigator,
.manual-criterion-focus {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--manual-surface) 78%, transparent);
}

.manual-criterion-navigator-head,
.manual-criterion-focus-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 10px 11px;
  border-bottom: 1px solid var(--manual-border);
  background: linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 16%, transparent), transparent);
}

.manual-criterion-navigator-head strong { color: var(--manual-text); font-size: .72rem; }
.manual-criterion-navigator-head small { color: var(--manual-muted); font-size: .56rem; }

.manual-criterion-list {
  display: grid;
  gap: 9px;
  max-height: 610px;
  padding: 9px;
  overflow-y: auto;
}

.manual-criterion-group { display: grid; gap: 4px; }
.manual-criterion-group h4 { display: flex; align-items: center; justify-content: space-between; margin: 2px 3px; color: var(--manual-muted); font-size: .57rem; letter-spacing: .07em; text-transform: uppercase; }
.manual-criterion-group h4 span { padding: 2px 5px; border-radius: 999px; background: var(--manual-raised); }

.manual-criterion-nav-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  width: 100%;
  padding: 8px 9px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--manual-text);
  text-align: left;
  background: var(--manual-raised);
  cursor: pointer;
}

.manual-criterion-nav-item:is(:hover, .is-active) { border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 70%, var(--manual-border)); background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 16%, var(--manual-raised)); }
.manual-criterion-nav-item.is-active { box-shadow: inset 3px 0 var(--theme-accent, #8b5cf6); }
.manual-criterion-nav-item > span:first-child { min-width: 0; }
.manual-criterion-nav-item strong,.manual-criterion-nav-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.manual-criterion-nav-item strong { font-size: .67rem; }
.manual-criterion-nav-item small { margin-top: 3px; color: var(--manual-muted); font-size: .55rem; }
.manual-nav-item-meta { display: grid; justify-items: end; gap: 3px; }
.manual-nav-item-meta :is(b, em) { padding: 2px 5px; border-radius: 999px; font-size: .5rem; font-style: normal; text-transform: uppercase; }
.manual-nav-item-meta b { color: var(--manual-muted); background: color-mix(in srgb, var(--manual-border) 45%, transparent); }
.manual-nav-item-meta b.is-good { color: var(--research-success-text, #34d399); }
.manual-nav-item-meta b.is-warning { color: var(--research-warning-text, #14b8a6); }
.manual-nav-item-meta b.is-bad { color: var(--research-danger-text, #fb7185); }
.manual-criterion-nav-item.is-reviewed .manual-nav-item-meta em { color: var(--research-success-text, #34d399); }
.manual-criterion-nav-item.is-changed .manual-nav-item-meta em { color: var(--research-warning-text, #14b8a6); }
.manual-criterion-nav-item.is-skipped .manual-nav-item-meta em { color: var(--research-danger-text, #fb7185); }

.manual-criterion-focus { display: flex; flex-direction: column; }
.manual-criterion-focus-head h3 { margin: 2px 0 0; color: var(--manual-text); font-size: 1rem; }
.manual-criterion-focus-head .section-kicker { margin: 0; }
.manual-focus-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.manual-focus-badges span { padding: 4px 7px; border: 1px solid var(--manual-border); border-radius: 999px; color: var(--manual-muted); background: var(--manual-raised); font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.manual-focus-badges span.is-reviewed { color: var(--research-success-text, #34d399); border-color: var(--research-success-border, #10b981); }
.manual-focus-badges span.is-changed { color: var(--research-warning-text, #14b8a6); border-color: var(--research-warning-border, #0d9488); }
.manual-focus-badges span.is-skipped { color: var(--research-danger-text, #fb7185); border-color: var(--research-danger-border, #f43f5e); }
.manual-focus-badges span.is-tightening { color: var(--research-success-text, #34d399); border-color: var(--research-success-border, #10b981); }
.manual-focus-badges span.is-requires-history { color: var(--research-warning-text, #14b8a6); border-color: var(--research-warning-border, #0d9488); }
.manual-focus-badges span.is-forward { color: var(--research-danger-text, #fb7185); border-color: var(--research-danger-border, #f43f5e); }

.manual-focus-explanation { padding: 10px 12px; border-bottom: 1px solid var(--manual-border); }
.manual-focus-explanation strong { color: var(--manual-text); font-size: .68rem; }
.manual-focus-explanation p { margin: 4px 0; color: var(--manual-muted); font-size: .65rem; line-height: 1.45; }
.manual-focus-explanation small { color: color-mix(in srgb, var(--manual-muted) 88%, var(--theme-accent, #8b5cf6)); font-size: .58rem; }

.manual-criterion-distribution { display: grid; gap: 8px; padding: 10px 11px; border-bottom: 1px solid var(--manual-border); }
.manual-distribution-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.manual-distribution-cards > article { display: grid; gap: 3px; min-width: 0; padding: 8px 9px; border: 1px solid var(--manual-border); border-radius: 9px; background: var(--manual-raised); }
.manual-distribution-cards span { color: var(--manual-muted); font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.manual-distribution-cards strong { overflow: hidden; color: var(--manual-text); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.manual-distribution-cards small { overflow: hidden; color: var(--manual-muted); font-size: .53rem; text-overflow: ellipsis; white-space: nowrap; }
.manual-distribution-cards .is-win strong { color: var(--research-success-text, #34d399); }
.manual-distribution-cards .is-loss strong { color: var(--research-danger-text, #fb7185); }

.manual-exploratory-suggestion { display: grid; grid-template-columns: minmax(190px, 1fr) auto auto; gap: 10px; align-items: center; padding: 9px 10px; border: 1px solid var(--research-info-border, #6366f1); border-radius: 9px; background: var(--research-info-bg, rgba(49, 46, 129, .22)); }
.manual-exploratory-suggestion.is-guarded { border-color: var(--research-success-border, #10b981); background: var(--research-success-bg, rgba(6, 95, 70, .18)); }
.manual-exploratory-suggestion.is-warning { border-color: var(--research-warning-border, #0d9488); background: var(--research-warning-bg, rgba(120, 53, 15, .2)); }
.manual-exploratory-suggestion > div:first-child { display: grid; gap: 2px; }
.manual-exploratory-suggestion :is(small, span) { color: var(--manual-muted); font-size: .55rem; }
.manual-exploratory-suggestion strong { color: var(--manual-text); font-size: .72rem; }
.manual-suggestion-impact { display: flex; flex-wrap: wrap; gap: 5px; }
.manual-suggestion-impact span { padding: 3px 5px; border: 1px solid var(--manual-border); border-radius: 999px; background: var(--manual-raised); }
.manual-suggestion-impact span.is-positive { color: var(--research-success-text, #34d399); }
.manual-suggestion-impact span.is-negative { color: var(--research-danger-text, #fb7185); }
.manual-exploratory-suggestion button { min-height: 33px; white-space: nowrap; }

.manual-criteria-editor.is-focused { grid-template-columns: repeat(2, minmax(180px, 1fr)); padding: 10px 11px; border-bottom: 1px solid var(--manual-border); }
.manual-threshold-comparison { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.manual-threshold-comparison small { display: flex; gap: 4px; }
.manual-threshold-comparison small b { color: var(--manual-text); font-size: inherit; }
.manual-threshold-comparison > strong { color: var(--theme-accent, #a78bfa); font-size: .68rem; }
.manual-diagnostic-only,.manual-impact-empty { display: grid; gap: 4px; padding: 12px; border: 1px dashed var(--manual-border); border-radius: 9px; color: var(--manual-muted); background: var(--manual-raised); }
.manual-diagnostic-only strong,.manual-impact-empty strong { color: var(--manual-text); font-size: .68rem; }
.manual-diagnostic-only span,.manual-impact-empty span { font-size: .6rem; line-height: 1.4; }

.manual-criterion-impact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px 11px; }
.manual-criterion-impact > section { overflow: hidden; border: 1px solid var(--manual-border); border-radius: 9px; background: var(--manual-raised); }
.manual-criterion-impact > section > header { display: grid; gap: 2px; padding: 7px 8px; border-bottom: 1px solid var(--manual-border); }
.manual-criterion-impact > section > header strong { color: var(--manual-text); font-size: .65rem; }
.manual-criterion-impact > section > header small { color: var(--manual-muted); font-size: .53rem; }
.manual-criterion-impact > section > div { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; background: var(--manual-border); }
.manual-criterion-impact .manual-compact-metric { padding: 6px; border: 0; border-radius: 0; }
.manual-criterion-impact .manual-compact-metric span { font-size: .48rem; }
.manual-criterion-impact .manual-compact-metric strong { font-size: .61rem; }
.manual-criterion-impact > .manual-impact-empty { grid-column: 1 / -1; }

.manual-review-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding: 9px 11px; border-top: 1px solid var(--manual-border); background: color-mix(in srgb, var(--manual-surface) 78%, transparent); }
.manual-review-actions > span { color: var(--manual-muted); font-size: .58rem; }
.manual-review-actions > div { display: flex; flex-wrap: wrap; gap: 6px; }
.manual-review-actions button { min-height: 33px; padding: 6px 9px; }
.manual-review-actions button.is-active { color: var(--research-success-text, #34d399); border-color: var(--research-success-border, #10b981); }
#skipCriterion.is-active { color: var(--research-danger-text, #fb7185); border-color: var(--research-danger-border, #f43f5e); }

.manual-history-cache { display: flex; align-items: center; justify-content: space-between; gap: 9px; min-width: min(440px, 45vw); padding: 8px 9px; border: 1px solid var(--manual-border); border-radius: 9px; background: var(--manual-raised); }
.manual-history-cache > span { display: grid; gap: 2px; }
.manual-history-cache b { color: var(--manual-text); font-size: .65rem; }
.manual-history-cache small { color: var(--manual-muted); font-size: .54rem; }
.manual-history-cache[data-cache-state="ready"] { border-color: var(--research-success-border, #10b981); }
.manual-history-cache[data-cache-state="ready"] b { color: var(--research-success-text, #34d399); }
.manual-history-cache button { min-height: 31px; white-space: nowrap; }

.manual-criteria-editor {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 8px;
}

.manual-criterion-input {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--manual-border);
  border-radius: 10px;
  background: var(--manual-raised);
}

.manual-criterion-input > span {
  display: flex;
  justify-content: space-between;
  gap: 5px;
}

.manual-criterion-input b {
  overflow: hidden;
  color: var(--manual-text);
  font-size: .68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manual-criterion-input em {
  color: var(--manual-muted);
  font-size: .58rem;
  font-style: normal;
}

.manual-criterion-input input {
  width: 100%;
  min-height: 34px;
  font-weight: 800;
}

.manual-criterion-input small,
.manual-criterion-input p {
  margin: 0;
  color: var(--manual-muted);
  font-size: .57rem;
  line-height: 1.35;
}

.manual-criterion-input.requires-api {
  border-color: var(--research-warning-border, rgba(245, 158, 11, .45));
}

.manual-criterion-input.requires-forward {
  border-color: var(--research-danger-border, rgba(244, 63, 94, .48));
  background: color-mix(in srgb, var(--research-danger-bg, rgba(127, 29, 29, .22)) 34%, var(--manual-raised));
}

.manual-criterion-input.is-inactive {
  border-style: dashed;
  opacity: .82;
}

.manual-criterion-input.is-inactive:focus-within {
  border-style: solid;
  opacity: 1;
}

.manual-deep-config {
  margin-top: 12px;
  padding: 10px 11px;
  border-top: 1px solid var(--manual-border);
  border-bottom: 1px solid var(--manual-border);
  background: color-mix(in srgb, var(--manual-raised) 58%, transparent);
}

.manual-deep-results > .manual-deep-config {
  margin-top: 0;
  border-top: 0;
}

.manual-deep-config-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.manual-deep-config-head > div { display: grid; gap: 2px; }
.manual-deep-config-head strong { color: var(--manual-text); font-size: .72rem; }
.manual-deep-config-head small { color: var(--manual-muted); font-size: .58rem; }
.manual-deep-config-head .manual-check {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--manual-text);
  font-size: .6rem;
  white-space: nowrap;
}

.manual-deep-control-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(105px, 1fr));
  gap: 7px;
}

.manual-deep-control-grid label { display: grid; min-width: 0; gap: 4px; }
.manual-deep-control-grid label > span {
  overflow: hidden;
  color: var(--manual-muted);
  font-size: .54rem;
  font-weight: 800;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.manual-deep-control-grid :is(input, select) {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 6px 8px;
  color: var(--manual-text);
  border: 1px solid var(--manual-border);
  border-radius: 6px;
  background: var(--manual-surface);
  font-size: .62rem;
}

.manual-action-bar {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--manual-border);
}

.manual-action-bar > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.manual-action-bar button {
  min-height: 38px;
}

.manual-api-button {
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 54%, var(--manual-border));
}

.manual-auto-button {
  color: var(--research-success-text, #6ee7b7);
  border-color: color-mix(in srgb, var(--research-success-border, #10b981) 70%, var(--manual-border));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--research-success-bg, rgba(6, 95, 70, .24)) 72%, transparent), var(--manual-raised));
}

.manual-auto-button:is(:hover, :focus-visible):not(:disabled) {
  color: #fff;
  border-color: var(--research-success-border, #10b981);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--research-success-border, #10b981) 52%, var(--manual-raised)), var(--manual-raised));
}

.manual-deep-button {
  color: var(--research-info-text, #c7d2fe);
  border-color: color-mix(in srgb, var(--research-info-border, #6366f1) 78%, var(--manual-border));
  background: color-mix(in srgb, var(--research-info-bg, rgba(49, 46, 129, .24)) 64%, var(--manual-raised));
}

.manual-deep-button:is(:hover, :focus-visible):not(:disabled) {
  color: #fff;
  border-color: var(--research-info-border, #818cf8);
}

.manual-action-bar .primary-button:disabled,
.manual-action-bar .secondary-button:disabled {
  cursor: not-allowed;
  filter: grayscale(.7);
  opacity: .82;
}

.manual-action-bar button.is-loading::before,
.manual-apply-button.is-loading::before {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  content: "";
  animation: manual-spin .7s linear infinite;
}

@keyframes manual-spin { to { transform: rotate(360deg); } }

.manual-deep-results {
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 8px;
  background: var(--manual-surface);
}

.manual-deep-results > :not(.manual-section-head) { padding: 11px 12px; }
.manual-deep-results > .manual-deep-candidates { padding-top: 0; }
.manual-deep-results > .manual-action-bar { margin-top: 0; }

.manual-deep-progress {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(180px, 3fr) auto;
  gap: 9px;
  align-items: center;
  border-bottom: 1px solid var(--manual-border);
}

.manual-deep-progress > span { display: grid; gap: 2px; }
.manual-deep-progress strong { color: var(--manual-text); font-size: .66rem; }
.manual-deep-progress small { color: var(--manual-muted); font-size: .56rem; }
.manual-deep-progress progress { width: 100%; height: 8px; accent-color: var(--theme-accent, #8b5cf6); }
.manual-deep-progress b { color: var(--research-info-text, #c7d2fe); font-size: .62rem; }

.manual-deep-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 7px;
}

.manual-deep-analysis-note {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding: 8px 9px;
  color: var(--manual-muted);
  border: 1px solid var(--manual-border);
  border-radius: 6px;
  font-size: .59rem;
}

.manual-deep-analysis-note.is-warning {
  color: var(--research-warning-text, #fde68a);
  border-color: var(--research-warning-border, #0d9488);
  background: var(--research-warning-bg, rgba(120, 53, 15, .18));
}

.manual-deep-feature-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.manual-deep-feature-list span {
  padding: 4px 6px;
  color: var(--research-info-text, #c7d2fe);
  border: 1px solid var(--research-info-border, #6366f1);
  border-radius: 5px;
  background: var(--research-info-bg, rgba(49, 46, 129, .18));
  font-size: .55rem;
}

.manual-rp-suggestions {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 8px;
  border-top: 1px solid var(--manual-border);
}

.manual-rp-suggestion {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--manual-border);
  border-radius: 8px;
  background: var(--manual-raised);
}

.manual-rp-suggestion.is-ready {
  border-color: var(--research-success-border, #10b981);
  box-shadow: inset 3px 0 0 var(--research-success-text, #34d399);
}

.manual-rp-suggestion.is-partial {
  border-color: var(--research-warning-border, #0d9488);
  box-shadow: inset 3px 0 0 var(--research-warning-text, #14b8a6);
}

.manual-rp-suggestion.is-blocked {
  border-color: var(--research-danger-border, #f43f5e);
}

.manual-rp-suggestion > header,
.manual-rp-suggestion > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.manual-rp-suggestion > header > div {
  display: grid;
  gap: 2px;
}

.manual-rp-suggestion > header small,
.manual-rp-suggestion > header span {
  width: fit-content;
  padding: 3px 6px;
  border: 1px solid var(--manual-border);
  border-radius: 999px;
  color: var(--manual-muted);
  font-size: .52rem;
  font-weight: 850;
  text-transform: uppercase;
}

.manual-rp-suggestion > header strong {
  color: var(--manual-text);
  font-size: .76rem;
}

.manual-rp-suggestion-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(80px, 1fr));
  gap: 5px;
}

.manual-rp-suggestion p,
.manual-rp-suggestion li {
  margin: 0;
  color: var(--manual-muted);
  font-size: .58rem;
  line-height: 1.45;
}

.manual-rp-suggestion ul {
  display: grid;
  gap: 3px;
  margin: 0;
  padding-left: 18px;
}

.manual-rp-suggestion > button {
  justify-content: center;
  min-height: 34px;
}

.manual-deep-candidates { display: grid; gap: 8px; }

.manual-deep-candidate {
  display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--manual-border);
  border-radius: 8px;
  background: var(--manual-raised);
}

.manual-deep-candidate.is-recommended {
  border-color: var(--research-success-border, #10b981);
  box-shadow: inset 3px 0 0 var(--research-success-text, #34d399);
}

.manual-deep-candidate > header,
.manual-deep-candidate-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.manual-deep-candidate > header > div { display: grid; gap: 2px; }
.manual-deep-candidate > header strong { color: var(--manual-text); font-size: .68rem; }
.manual-deep-candidate > header small { color: var(--manual-muted); font-size: .55rem; }

.manual-deep-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.manual-deep-badges span {
  padding: 3px 5px;
  color: var(--manual-muted);
  border: 1px solid var(--manual-border);
  border-radius: 5px;
  font-size: .51rem;
  font-weight: 800;
  text-transform: uppercase;
}
.manual-deep-badges .is-pass { color: var(--research-success-text, #34d399); border-color: var(--research-success-border, #10b981); }
.manual-deep-badges .is-fail { color: var(--research-danger-text, #fb7185); border-color: var(--research-danger-border, #f43f5e); }
.manual-deep-badges .is-warning { color: var(--research-warning-text, #14b8a6); border-color: var(--research-warning-border, #0d9488); }

.manual-deep-candidate-metrics {
  display: grid;
  grid-template-columns: repeat(7, minmax(95px, 1fr));
  gap: 6px;
}

.manual-deep-candidate-note {
  margin: 0;
  padding: 8px 9px;
  color: var(--manual-muted);
  border: 1px solid var(--manual-border);
  border-radius: 6px;
  background: color-mix(in srgb, var(--manual-surface) 72%, transparent);
  font-size: .58rem;
  line-height: 1.45;
}

.manual-deep-rule-groups { display: grid; gap: 5px; }
.manual-deep-rule-group {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  padding: 7px 8px;
  border-left: 2px solid var(--research-info-border, #6366f1);
  background: color-mix(in srgb, var(--manual-surface) 66%, transparent);
  font-size: .56rem;
}
.manual-deep-rule-group > b { color: var(--research-info-text, #c7d2fe); }
.manual-deep-rule-group > span {
  min-width: 0;
  color: var(--manual-text);
  overflow-wrap: anywhere;
}

.manual-deep-history {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  padding: 7px 8px;
  color: var(--manual-muted);
  border: 1px solid var(--manual-border);
  border-radius: 6px;
  font-size: .56rem;
}
.manual-deep-history.is-pass { color: var(--research-success-text, #34d399); border-color: var(--research-success-border, #10b981); }
.manual-deep-history.is-fail { color: var(--research-danger-text, #fb7185); border-color: var(--research-danger-border, #f43f5e); }
.manual-deep-history.is-warning { color: var(--research-warning-text, #14b8a6); border-color: var(--research-warning-border, #0d9488); background: var(--research-warning-bg, rgba(120, 53, 15, .18)); }

.manual-deep-candidate-actions > span { color: var(--manual-muted); font-size: .56rem; }

.manual-deep-action-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.manual-deep-action-buttons button {
  flex: 1 1 150px;
}

.manual-results > #comparison,
.manual-results > #holdoutResult,
.manual-results > #coverageResult,
.manual-results > #apiResult {
  padding: 12px 12px 0;
}

.manual-results > #apiResult:last-child,
.manual-results > #coverageResult:last-child {
  padding-bottom: 12px;
}

.manual-result-note {
  align-items: flex-start;
  margin-bottom: 9px;
  color: var(--research-info-text, #c7d2fe);
  border-color: var(--research-info-border, #6366f1);
  background: var(--research-info-bg, rgba(49, 46, 129, .28));
}

.manual-result-note.is-warning {
  color: var(--research-warning-text, #fde68a);
  border-color: var(--research-warning-border, #0d9488);
  background: var(--research-warning-bg, rgba(120, 53, 15, .28));
}

.manual-result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.manual-result-grid.is-two,
.manual-holdout-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.manual-result-card {
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 11px;
  background: var(--manual-raised);
}

.manual-result-card > header,
.manual-validation-block > header,
.manual-api-result > header,
.manual-raw-evidence > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--manual-border);
}

.manual-result-card h4,
.manual-validation-block h4,
.manual-api-result h4,
.manual-raw-evidence h4 {
  margin: 0;
  color: var(--manual-text);
  font-size: .74rem;
}

.manual-result-card > header span,
.manual-validation-block > header span,
.manual-api-result > header span,
.manual-raw-evidence > header span {
  color: var(--manual-muted);
  font-size: .6rem;
  font-weight: 800;
}

.manual-result-card.is-original { box-shadow: inset 3px 0 0 var(--research-info-text, #818cf8); }
.manual-result-card.is-candidate { box-shadow: inset 3px 0 0 var(--research-success-text, #34d399); }
.manual-result-card.is-rejected { box-shadow: inset 3px 0 0 var(--research-danger-text, #fb7185); }
.manual-result-card.is-unknown { box-shadow: inset 3px 0 0 var(--manual-muted); }

.manual-result-card > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--manual-border);
}

.manual-result-metric {
  display: grid;
  gap: 2px;
  padding: 7px 9px;
  background: var(--manual-raised);
}

.manual-result-metric span,
.manual-result-metric small {
  color: var(--manual-muted);
  font-size: .55rem;
  font-weight: 750;
}

.manual-result-metric strong {
  color: var(--manual-text);
  font-size: .7rem;
}

.manual-result-metric.is-positive strong { color: var(--research-success-text, #5eead4); }
.manual-result-metric.is-negative strong { color: var(--research-danger-text, #fb7185); }

.manual-impact-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 8px;
}

.manual-impact-strip .manual-result-metric {
  border: 1px solid var(--manual-border);
  border-radius: 9px;
}

.manual-validation-block,
.manual-api-result,
.manual-eligibility {
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 11px;
  background: var(--manual-raised);
}

.manual-validation-block.is-warning,
.manual-api-result.is-error {
  border-color: var(--research-warning-border, #0d9488);
}

.manual-validation-block > p,
.manual-api-result > p {
  margin: 0;
  padding: 10px;
  color: var(--manual-muted);
  font-size: .66rem;
}

.manual-holdout-grid {
  display: grid;
  gap: 8px;
  padding: 9px;
}

.manual-segment-pair {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 8px;
  border: 1px solid var(--manual-border);
  border-radius: 11px;
  background: color-mix(in srgb, var(--manual-surface) 72%, transparent);
}

.manual-segment-pair h5 {
  margin: 0;
  color: var(--manual-text);
  font-size: .67rem;
}

.manual-segment-pair > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.manual-coverage-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding: 9px;
}

.manual-coverage-list article {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px;
  overflow: hidden;
  padding: 8px;
  border: 1px solid var(--manual-border);
  border-radius: 9px;
}

.manual-coverage-list article div {
  display: grid;
  gap: 2px;
}

.manual-coverage-list strong,
.manual-coverage-list b { color: var(--manual-text); font-size: .67rem; }
.manual-coverage-list span { color: var(--manual-muted); font-size: .56rem; }
.manual-coverage-list article > i { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg, currentColor var(--coverage), transparent var(--coverage)); }
.manual-coverage-list .is-good { color: var(--research-success-text, #34d399); }
.manual-coverage-list .is-warning { color: var(--research-warning-text, #14b8a6); }
.manual-coverage-list .is-bad { color: var(--research-danger-text, #fb7185); }

.manual-eligibility {
  display: grid;
  grid-template-columns: minmax(220px, .6fr) 1fr;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding: 10px 12px;
  box-shadow: inset 4px 0 0 currentColor;
}

.manual-eligibility.is-allowed { color: var(--research-success-text, #34d399); border-color: var(--research-success-border, #10b981); }
.manual-eligibility.is-blocked { color: var(--research-danger-text, #fb7185); border-color: var(--research-danger-border, #f43f5e); }
.manual-eligibility > div { display: grid; gap: 2px; }
.manual-eligibility strong { color: inherit; font-size: .72rem; }
.manual-eligibility span { color: var(--manual-muted); font-size: .58rem; }
.manual-eligibility :is(p, ul) { margin: 0; color: var(--manual-muted); font-size: .62rem; }
.manual-eligibility ul { padding-left: 18px; }

.manual-api-result.is-running { padding-bottom: 9px; }
.manual-api-result.is-complete { padding-bottom: 9px; border-color: var(--research-success-border, #10b981); }
.manual-api-result > header p { margin: 2px 0 0; color: var(--manual-muted); font-size: .58rem; }
.manual-api-progress { height: 7px; margin: 0 10px; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--manual-border) 60%, transparent); }
.manual-api-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--theme-accent, #8b5cf6), #ec4899); transition: width .3s ease; }
.manual-api-result > small { display: block; margin: 6px 10px 0; color: var(--manual-muted); font-size: .58rem; }
.manual-api-result .manual-result-grid { margin: 9px; }
.manual-api-result .manual-impact-strip { margin: 0 9px 9px; }
.manual-data-quality { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 9px; }
.manual-data-quality span { display: flex; gap: 5px; padding: 5px 7px; border: 1px solid var(--manual-border); border-radius: 8px; color: var(--manual-muted); font-size: .57rem; }
.manual-data-quality b { color: var(--manual-text); }
.manual-api-validation { display: flex; gap: 7px; margin: 0 9px 8px; padding: 7px 9px; border: 1px solid var(--research-info-border, #6366f1); border-radius: 8px; color: var(--research-info-text, #c7d2fe); background: var(--research-info-bg, rgba(49, 46, 129, .24)); font-size: .61rem; }
.manual-api-validation span { color: inherit; opacity: .88; }

.manual-api-holdout {
  margin: 0 9px 9px;
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--manual-surface) 82%, transparent);
}
.manual-api-holdout.is-passed { border-color: var(--research-success-border, #10b981); }
.manual-api-holdout.is-failed { border-color: var(--research-danger-border, #f43f5e); }
.manual-api-holdout > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--manual-border); }
.manual-api-holdout > header div { display: grid; gap: 2px; }
.manual-api-holdout > header b { color: var(--manual-text); font-size: .7rem; }
.manual-api-holdout > header span { color: var(--manual-muted); font-size: .62rem; }
.manual-api-holdout > header strong { color: var(--research-danger-text, #fb7185); font-size: .65rem; }
.manual-api-holdout.is-passed > header strong { color: var(--research-success-text, #34d399); }
.manual-api-holdout .manual-result-grid { margin: 8px; }
.manual-api-holdout .manual-impact-strip { margin: 0 8px 8px; }

.manual-trade-head-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.manual-trade-head-badges #activeTradeCriterionLabel { color: var(--theme-accent, #c4b5fd); border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 66%, var(--manual-border)); }

.manual-trade-toolbar {
  display: grid;
  grid-template-columns: repeat(7, minmax(105px, 1fr)) auto;
  gap: 7px;
  align-items: end;
  padding: 10px 12px;
  border-bottom: 1px solid var(--manual-border);
}

.manual-trade-toolbar select {
  min-height: 34px;
  padding: 6px 8px;
  font-size: .67rem;
  letter-spacing: 0;
  text-transform: none;
}

.manual-trade-toolbar .manual-check {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 9px;
  border: 1px solid var(--manual-border);
  border-radius: 9px;
  color: var(--manual-text);
  background: var(--manual-raised);
  white-space: nowrap;
}

.manual-check input { margin: 0; accent-color: var(--theme-accent, #8b5cf6); }

.manual-trades {
  display: grid;
  gap: 7px;
  padding: 10px;
}

.manual-trade {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 11px;
  background: var(--manual-raised);
  box-shadow: inset 4px 0 0 var(--manual-muted);
}

.manual-trade.is-win { box-shadow: inset 4px 0 0 var(--research-success-text, #34d399); }
.manual-trade.is-loss { box-shadow: inset 4px 0 0 var(--research-danger-text, #fb7185); }
.manual-trade.is-be { box-shadow: inset 4px 0 0 var(--research-warning-text, #14b8a6); }

.manual-trade-main {
  display: grid;
  grid-template-columns: 90px 45px minmax(120px, .8fr) 95px minmax(155px, 1.1fr) minmax(155px, 1.1fr) 95px 60px 78px 78px 100px;
  gap: 8px;
  align-items: center;
  min-width: 1300px;
  padding: 8px 11px;
}

.manual-trade-main > * {
  min-width: 0;
}

.manual-outcome,
.manual-time-block,
.manual-fact,
.manual-net,
.manual-regime {
  display: grid;
  gap: 2px;
}

.manual-outcome b {
  width: fit-content;
  padding: 3px 7px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .62rem;
}

.manual-trade.is-win .manual-outcome b { color: var(--research-success-text, #34d399); }
.manual-trade.is-loss .manual-outcome b { color: var(--research-danger-text, #fb7185); }
.manual-trade.is-be .manual-outcome b { color: var(--research-warning-text, #14b8a6); }

.manual-outcome small {
  overflow: hidden;
  color: var(--manual-muted);
  font-size: .6rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manual-draft-disposition {
  width: fit-content;
  padding: 2px 5px;
  border: 1px solid var(--manual-border);
  border-radius: 999px;
  color: var(--manual-muted);
  font-size: .56rem !important;
  font-style: normal;
  line-height: 1.2;
}
.manual-draft-disposition.is-retained { color: var(--research-success-text, #34d399); border-color: var(--research-success-border, #10b981); }
.manual-draft-disposition.is-rejected { color: var(--research-danger-text, #fb7185); border-color: var(--research-danger-border, #f43f5e); }
.manual-draft-disposition.is-unknown { color: var(--research-warning-text, #14b8a6); border-color: var(--research-warning-border, #0d9488); }
.manual-trade.is-draft-retained { border-color: color-mix(in srgb, var(--research-success-border, #10b981) 58%, var(--manual-border)); }
.manual-trade.is-draft-rejected { border-color: color-mix(in srgb, var(--research-danger-border, #f43f5e) 72%, var(--manual-border)); background: color-mix(in srgb, var(--research-danger-bg, rgba(127, 29, 29, .2)) 22%, var(--manual-raised)); }
.manual-trade.is-draft-unknown { border-style: dashed; border-color: var(--research-warning-border, #0d9488); }

.manual-side {
  justify-self: start;
  padding: 4px 7px;
  border: 1px solid var(--manual-border);
  border-radius: 999px;
  color: var(--manual-text);
  background: color-mix(in srgb, var(--manual-surface) 82%, transparent);
  font-size: .62rem;
  font-weight: 900;
}

.manual-side.is-ce { color: var(--research-success-text, #6ee7b7); border-color: var(--research-success-border, #10b981); }
.manual-side.is-pe { color: #f9a8d4; border-color: rgba(244, 114, 182, .45); }

.manual-active-trade-criterion { display: block; min-width: 0; padding: 6px 7px; border: 1px solid color-mix(in srgb, var(--theme-accent, #8b5cf6) 42%, var(--manual-border)); border-radius: 8px; background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 8%, var(--manual-surface)); }
.manual-active-trade-criterion .manual-feature { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 5px; }
.manual-active-trade-criterion .manual-feature b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.manual-active-trade-criterion .manual-feature strong { text-align: right; }
.manual-active-trade-criterion .manual-feature em { grid-column: 1 / -1; color: var(--manual-muted); font-size: .48rem; font-style: normal; font-weight: 850; letter-spacing: .05em; text-align: right; }
.manual-active-trade-criterion .manual-feature.is-pass em { color: var(--research-success-text, #34d399); }
.manual-active-trade-criterion .manual-feature.is-fail em { color: var(--research-danger-text, #fb7185); }
.manual-active-trade-criterion .manual-feature.is-near em { color: var(--research-warning-text, #14b8a6); }

.manual-trade-main small {
  color: var(--manual-muted);
  font-size: .6rem;
  font-weight: 750;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.manual-trade-main :is(b, em, strong) {
  overflow: hidden;
  color: var(--manual-text);
  font-size: .7rem;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.manual-time-block em { color: color-mix(in srgb, var(--manual-text) 86%, var(--theme-accent, #8b5cf6)); }
.manual-fact.is-session b { color: var(--manual-muted); }
.manual-fact.is-excursion:first-of-type b { color: var(--research-success-text, #34d399); }
.manual-net { padding: 6px 8px; border-radius: 9px; background: color-mix(in srgb, var(--manual-surface) 78%, transparent); }
.manual-net.is-positive { color: var(--research-success-text, #34d399); }
.manual-net.is-negative { color: var(--research-danger-text, #fb7185); }
.manual-net.is-neutral { color: var(--research-warning-text, #14b8a6); }

.manual-trade-criteria {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  padding: 7px 11px;
  border-top: 1px solid var(--manual-border);
  background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 6%, var(--manual-surface));
}

.manual-feature {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  white-space: nowrap;
  transition: opacity .15s ease, filter .15s ease;
}

.manual-feature b { color: var(--manual-muted); font-size: .62rem; }
.manual-feature strong { color: var(--manual-text); font-size: .68rem; }
.manual-feature.is-pass strong { color: var(--research-success-text, #5eead4); }
.manual-feature.is-near strong { color: var(--research-warning-text, #14b8a6); }
.manual-feature.is-fail strong { color: var(--research-danger-text, #fb7185); }
.manual-feature.is-unknown strong { color: var(--manual-muted); }
.manual-feature.is-dimmed { opacity: .2; filter: grayscale(1); }

.manual-evidence-details {
  border-top: 1px solid var(--manual-border);
}

.manual-evidence-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 11px;
  color: var(--theme-accent, #a78bfa);
  cursor: pointer;
  font-size: .62rem;
  font-weight: 850;
  list-style-position: inside;
}

.manual-evidence-details > summary small {
  color: var(--manual-muted);
  font-size: .55rem;
  font-weight: 650;
}

.manual-deep {
  padding: 10px;
  border-top: 1px solid var(--manual-border);
  background: color-mix(in srgb, var(--manual-surface) 86%, #020617);
}

.manual-insight-placeholder {
  padding: 16px;
  color: var(--manual-muted);
  text-align: center;
  font-size: .68rem;
}

.manual-raw-evidence {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid var(--manual-border);
  border-radius: 11px;
  background: var(--manual-raised);
}

.manual-raw-evidence > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--manual-border);
}

.manual-raw-evidence article {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 7px 9px;
  background: var(--manual-raised);
}

.manual-raw-evidence article span { color: var(--manual-muted); font-size: .55rem; }
.manual-raw-evidence article strong { overflow: hidden; color: var(--manual-text); font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }

.manual-load-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  border: 1px dashed color-mix(in srgb, var(--theme-accent, #8b5cf6) 62%, var(--manual-border));
  border-radius: 10px;
  color: var(--theme-accent, #a78bfa);
  background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 7%, transparent);
  cursor: pointer;
  font-weight: 850;
}

.manual-load-more small { color: var(--manual-muted); font-weight: 650; }

.manual-trades.is-comfortable .manual-trade-main { padding-block: 13px; }
.manual-trades.is-comfortable .manual-trade-criteria { padding-block: 10px; }

.manual-empty-state,
.manual-empty-inline {
  display: grid;
  gap: 4px;
  padding: 18px;
  color: var(--manual-muted);
  text-align: center;
  font-size: .68rem;
}

.manual-create-dialog {
  --manual-surface: var(--research-contrast-surface, #17111f);
  --manual-raised: var(--research-contrast-surface-raised, #241b31);
  --manual-border: var(--research-contrast-border, rgba(148, 124, 184, .3));
  --manual-text: var(--research-contrast-text, #fff);
  --manual-muted: var(--research-contrast-muted, #b9b1c4);
  width: min(560px, calc(100vw - 28px));
  padding: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--theme-accent, #8b5cf6) 62%, var(--manual-border));
  border-radius: 17px;
  color: var(--manual-text);
  background: var(--manual-surface, #17111f);
  box-shadow: 0 24px 90px rgba(0, 0, 0, .55);
}

.manual-create-dialog::backdrop {
  background: rgba(3, 1, 8, .76);
  backdrop-filter: blur(5px);
}

.manual-create-dialog form {
  position: relative;
  padding: 22px;
  background: radial-gradient(circle at 90% 0, color-mix(in srgb, var(--theme-accent, #8b5cf6) 20%, transparent), transparent 40%);
}

.manual-create-dialog h2 { margin: 6px 0 14px; color: var(--manual-text); }
.manual-create-dialog h2 span { color: var(--theme-accent, #a78bfa); }
.manual-create-dialog > form > p:not(.section-kicker) { color: var(--manual-muted); font-size: .72rem; line-height: 1.55; }

.manual-dialog-close {
  position: absolute;
  top: 13px;
  right: 13px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--manual-border);
  border-radius: 10px;
  color: var(--manual-text);
  background: var(--manual-raised);
  cursor: pointer;
  font-size: 1.2rem;
}

.manual-create-safety {
  display: grid;
  gap: 7px;
  padding: 12px;
  border: 1px solid var(--research-success-border, #10b981);
  border-radius: 11px;
  color: var(--research-success-text, #6ee7b7);
  background: var(--research-success-bg, rgba(6, 95, 70, .28));
  font-size: .68rem;
  font-weight: 750;
}

.manual-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid var(--manual-border);
}

@media (max-width: 1450px) {
  .manual-workspace-head { align-items: flex-start; flex-direction: column; }
  .manual-workspace-summary { width: 100%; min-width: 0; }
  .manual-criteria-editor { grid-template-columns: repeat(4, minmax(145px, 1fr)); }
  .manual-trade-toolbar { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
  .manual-deep-control-grid { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
  .manual-deep-summary-grid { grid-template-columns: repeat(3, minmax(110px, 1fr)); }
  .manual-rp-suggestions { grid-template-columns: 1fr; }
  .manual-deep-candidate-metrics { grid-template-columns: repeat(4, minmax(95px, 1fr)); }
  .manual-trades { overflow-x: visible; }
  .manual-trade-main {
    min-width: 0;
    grid-template-columns: 76px 40px minmax(105px, .8fr) 75px minmax(125px, 1.1fr) minmax(125px, 1.1fr) 82px 54px 68px 68px 88px;
    gap: 6px;
  }
}

@media (max-width: 1100px) {
  .manual-research-hero-copy,
  .manual-range-row,
  .manual-action-bar { align-items: flex-start; flex-direction: column; }
  .manual-research-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-research-controls .manual-apply-button { grid-column: 1 / -1; }
  .manual-criterion-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-criterion-pager { grid-column: 1 / -1; }
  .manual-criterion-layout { grid-template-columns: 1fr; }
  .manual-criterion-list { max-height: 300px; }
  .manual-workspace-summary { grid-template-columns: repeat(3, minmax(100px, 1fr)); }
  .manual-criteria-editor { grid-template-columns: repeat(3, minmax(145px, 1fr)); }
  .manual-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-deep-control-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
  .manual-rp-suggestion-metrics { grid-template-columns: repeat(2, minmax(95px, 1fr)); }
  .manual-deep-candidate-metrics { grid-template-columns: repeat(3, minmax(95px, 1fr)); }
  .manual-coverage-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-raw-evidence > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .manual-trade-main { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .manual-outcome { grid-column: span 2; }
  .manual-active-trade-criterion { grid-column: span 2; }
  .manual-regime { grid-column: span 3; }
  .manual-time-block { grid-column: span 3; }
  .manual-fact { grid-column: span 1; }
  .manual-net { grid-column: span 1; }
}

@media (max-width: 720px) {
  .manual-workspace { padding: 11px; }
  .manual-research-controls,
  .manual-workspace-summary,
  .manual-criteria-editor,
  .manual-result-grid,
  .manual-result-grid.is-two,
  .manual-holdout-grid,
  .manual-coverage-list,
  .manual-impact-strip,
  .manual-trade-toolbar,
  .manual-raw-evidence > div,
  .manual-eligibility { grid-template-columns: 1fr; }
  .manual-deep-control-grid,
  .manual-deep-summary-grid,
  .manual-rp-suggestions,
  .manual-rp-suggestion-metrics,
  .manual-deep-candidate-metrics { grid-template-columns: 1fr; }
  .manual-criterion-toolbar,
  .manual-distribution-cards,
  .manual-criteria-editor.is-focused,
  .manual-criterion-impact { grid-template-columns: 1fr; }
  .manual-criterion-impact > section > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-exploratory-suggestion { grid-template-columns: 1fr; }
  .manual-review-actions { align-items: stretch; flex-direction: column; }
  .manual-deep-config-head,
  .manual-deep-candidate > header,
  .manual-deep-candidate-actions,
  .manual-deep-analysis-note { align-items: stretch; flex-direction: column; }
  .manual-deep-progress { grid-template-columns: 1fr; }
  .manual-deep-badges { justify-content: flex-start; }
  .manual-review-actions > div { display: grid; grid-template-columns: 1fr; }
  .manual-history-cache { align-items: stretch; flex-direction: column; min-width: 0; width: 100%; }
  .manual-section-head { align-items: flex-start; flex-direction: column; }
  .manual-hero-badges { display: none; }
  .manual-range-row > small { display: none; }
  .manual-quick { flex-wrap: wrap; }
  .manual-action-bar > div,
  .manual-deep-action-buttons,
  .manual-action-bar button { width: 100%; }
  .manual-action-bar > div { display: grid; }
  .manual-editor summary > span small { display: none; }
  .manual-result-card > div { grid-template-columns: 1fr; }
  .manual-segment-pair > div { grid-template-columns: 1fr; }
  .manual-evidence-details > summary small { display: none; }
  .manual-trades { overflow-x: visible; }
  .manual-trade-main { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manual-outcome,
  .manual-net { grid-column: span 2; }
  .manual-side { justify-self: stretch; text-align: center; }
  .manual-create-dialog form { padding: 18px; }
  .manual-dialog-actions { display: grid; }
}

/* Strategy Control Center */
.idle-cleanup-page { gap: 18px; }

.idle-cleanup-hero {
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 32%, var(--theme-border, var(--border)));
  background:
    radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--theme-accent-2, #ec4899) 19%, transparent), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--theme-panel, var(--panel)) 88%, #020617), var(--theme-card, var(--panel-soft)) 56%, color-mix(in srgb, var(--theme-accent, #8b5cf6) 12%, var(--theme-panel, var(--panel))));
}

.idle-cleanup-filter-form {
  grid-template-columns:
    minmax(132px, .58fr)
    minmax(150px, .62fr)
    minmax(148px, .6fr)
    minmax(128px, .48fr)
    minmax(240px, 1fr)
    auto;
  gap: 10px;
}

.idle-cleanup-filter-form > label {
  gap: 6px;
}

.idle-cleanup-filter-form :is(input, select) {
  min-height: 48px;
  padding-block: 9px;
  padding-inline: 16px;
}

.idle-cleanup-actions {
  grid-column: auto;
  align-items: end;
  gap: 8px;
  justify-content: flex-end;
  white-space: nowrap;
}

.idle-cleanup-actions :is(button, .primary-button, .ghost-button) {
  min-height: 48px;
  padding: 9px 16px;
}

.idle-cleanup-strategy-query-field input {
  min-width: 0;
}
body[data-auth-state="authenticated"] .idle-cleanup-overview {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
}

.idle-cleanup-column-head,
.idle-cleanup-strategy > summary {
  grid-template-columns:
    18px
    minmax(350px, 1.72fr)
    minmax(78px, .42fr)
    minmax(92px, .48fr)
    minmax(94px, .5fr)
    minmax(126px, .62fr)
    minmax(108px, .54fr)
    minmax(112px, .56fr)
    minmax(82px, .42fr);
  gap: 12px;
}

.idle-cleanup-column-head > .idle-sort-button:first-child { grid-column: 1 / 3; }

.idle-cleanup-column-head .idle-sort-button span:first-child {
  grid-column: auto;
  color: inherit;
}

.idle-sort-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  width: 100%;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
  cursor: pointer;
}

.idle-cleanup-column-head .idle-sort-button:not(:first-child) {
  justify-content: center;
  padding-inline: 6px;
}

.idle-cleanup-column-head > .idle-sort-button:first-child {
  justify-content: flex-start;
}

.idle-sort-button span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-sort-button b {
  flex: 0 0 auto;
  margin-left: 5px;
  color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 72%, white);
  font-size: .7rem;
}

.idle-sort-button.is-active {
  color: #fff;
}

.idle-cleanup-strategy > summary {
  min-height: 58px;
  padding-inline: 14px;
}

.idle-cleanup-strategy > summary .daily-strategy-metric {
  display: flex;
  justify-content: center;
}

.idle-cleanup-strategy .daily-strategy-metric b {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.idle-cleanup-strategy > summary .daily-strategy-metric:nth-of-type(6) b,
.idle-cleanup-strategy > summary .daily-strategy-metric:nth-of-type(7) b,
.idle-cleanup-strategy > summary .daily-strategy-metric:nth-of-type(8) b {
  font-size: .66rem;
}

.idle-cleanup-strategy .daily-strategy-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-control-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.idle-cleanup-revision-badge {
  flex: 0 0 auto;
  max-width: 340px;
  overflow: hidden;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--amber) 46%, transparent);
  border-radius: 999px;
  color: var(--amber);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--amber) 18%, transparent), color-mix(in srgb, var(--theme-accent, #8b5cf6) 12%, transparent));
  box-shadow: 0 5px 14px color-mix(in srgb, var(--amber) 16%, transparent);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-cleanup-revision-badge.is-created {
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 36%, transparent);
  color: color-mix(in srgb, var(--theme-accent, #a78bfa) 82%, white);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 18%, transparent), color-mix(in srgb, var(--theme-panel, var(--panel)) 44%, transparent));
  box-shadow: 0 5px 14px color-mix(in srgb, var(--theme-accent, #8b5cf6) 14%, transparent);
}

.idle-cleanup-revision-badge.is-change-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  min-width: 30px;
  height: 24px;
  padding: 0;
  border-radius: 999px;
  font-size: .68rem;
}

.idle-validation-state-badge {
  flex: 0 0 auto;
  max-width: 118px;
  overflow: hidden;
  padding: 4px 7px;
  border: 1px solid color-mix(in srgb, var(--theme-accent, #8b5cf6) 38%, transparent);
  border-radius: 999px;
  color: color-mix(in srgb, var(--theme-accent, #c4b5fd) 80%, white);
  background: color-mix(in srgb, var(--theme-accent, #8b5cf6) 14%, transparent);
  font-size: .54rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-validation-state-badge:is(.is-promoted) {
  border-color: color-mix(in srgb, var(--emerald) 42%, transparent);
  color: var(--emerald);
  background: color-mix(in srgb, var(--emerald) 13%, transparent);
}

.idle-validation-state-badge:is(.is-rejected) {
  border-color: color-mix(in srgb, var(--crimson) 44%, transparent);
  color: var(--crimson);
  background: color-mix(in srgb, var(--crimson) 13%, transparent);
}

.idle-validation-state-badge:is(.is-minimum_sample_not_reached, .is-inconclusive) {
  border-color: color-mix(in srgb, var(--amber) 42%, transparent);
  color: var(--amber);
  background: color-mix(in srgb, var(--amber) 12%, transparent);
}

.idle-validation-state-badge.is-invalid {
  max-width: 154px;
  border-color: color-mix(in srgb, var(--crimson) 56%, transparent);
  color: var(--crimson);
  background: color-mix(in srgb, var(--crimson) 16%, transparent);
}

.idle-cleanup-delete-button {
  justify-self: center;
  min-width: 82px;
  padding: 8px 12px;
  border: 1px solid color-mix(in srgb, var(--crimson) 45%, transparent);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #dc2626, #fb7185);
  box-shadow: 0 8px 18px rgba(220, 38, 38, .22);
  cursor: pointer;
  font-size: .68rem;
  font-weight: 900;
}

.idle-cleanup-delete-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(220, 38, 38, .3);
}

.idle-cleanup-delete-button.is-archive {
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 45%, transparent);
  background: linear-gradient(135deg, var(--theme-accent, #8b5cf6), var(--theme-accent-2, #ec4899));
  box-shadow: 0 8px 18px color-mix(in srgb, var(--theme-accent, #8b5cf6) 22%, transparent);
}

.idle-cleanup-delete-button.is-archive:hover {
  box-shadow: 0 12px 26px color-mix(in srgb, var(--theme-accent, #8b5cf6) 32%, transparent);
}

.idle-cleanup-delete-button.is-refine {
  border-color: color-mix(in srgb, #60a5fa 52%, transparent);
  color: #eff6ff;
  background: linear-gradient(135deg, #2563eb, #8b5cf6);
  box-shadow: 0 8px 18px color-mix(in srgb, #2563eb 24%, transparent);
}

.idle-cleanup-delete-button.is-live {
  border-color: color-mix(in srgb, var(--emerald) 54%, transparent);
  color: #eafffb;
  background: linear-gradient(135deg, #047857, #10b981);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--emerald) 24%, transparent);
}

.idle-cleanup-delete-button.is-paper {
  border-color: color-mix(in srgb, var(--amber) 54%, transparent);
  color: #fff7ed;
  background: linear-gradient(135deg, #b45309, #0d9488);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--amber) 24%, transparent);
}

.idle-cleanup-delete-button.is-split {
  border-color: color-mix(in srgb, #22d3ee 54%, transparent);
  color: #ecfeff;
  background: linear-gradient(135deg, #0891b2, #7c3aed);
  box-shadow:
    0 8px 18px color-mix(in srgb, #22d3ee 24%, transparent),
    0 0 0 1px color-mix(in srgb, #a78bfa 16%, transparent) inset;
}

.idle-cleanup-delete-button.is-split:hover {
  box-shadow:
    0 12px 26px color-mix(in srgb, #22d3ee 32%, transparent),
    0 0 0 1px color-mix(in srgb, #c4b5fd 26%, transparent) inset;
}

.idle-cleanup-delete-button.is-symbol {
  border-color: color-mix(in srgb, var(--emerald) 50%, transparent);
  color: #eafffb;
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--emerald) 24%, transparent);
}

.idle-cleanup-delete-button.is-symbol:hover {
  box-shadow: 0 12px 26px color-mix(in srgb, var(--emerald) 34%, transparent);
}

.idle-cleanup-delete-button.is-disabled {
  border-color: color-mix(in srgb, var(--theme-muted, var(--muted)) 28%, transparent);
  color: var(--theme-muted, var(--muted));
  background: color-mix(in srgb, var(--theme-muted, var(--muted)) 16%, transparent);
  box-shadow: none;
}

.idle-cleanup-delete-button:disabled {
  color: var(--theme-muted, var(--muted));
  background: color-mix(in srgb, var(--theme-muted, var(--muted)) 16%, transparent);
  box-shadow: none;
  cursor: not-allowed;
}

.idle-cleanup-revisions {
  display: grid;
  gap: 8px;
  padding: 12px 14px 14px 12px;
  border-top: 1px solid color-mix(in srgb, var(--theme-border, var(--border)) 86%, transparent);
  background:
    radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--theme-accent, #8b5cf6) 16%, transparent), transparent 26%),
    color-mix(in srgb, var(--theme-panel, var(--panel)) 72%, transparent);
}

.idle-cleanup-revisions-head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-height: 42px;
  color: var(--theme-muted, var(--muted));
}

.idle-cleanup-revisions-head .idle-control-actions {
  width: 100%;
  justify-content: flex-end;
}

.idle-cleanup-revisions-head strong {
  color: #fff;
  font-size: .76rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.idle-cleanup-revisions-head span {
  font-size: .68rem;
  font-weight: 750;
}

.idle-cleanup-revision {
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.idle-cleanup-revision[open] {
  box-shadow: none;
}

.idle-cleanup-revision.is-latest > summary {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 16%, transparent), transparent 44%),
    color-mix(in srgb, var(--theme-panel, var(--panel)) 72%, transparent);
}

.idle-cleanup-revision > summary {
  display: grid;
  grid-template-columns: 18px minmax(280px, 1fr) minmax(96px, auto) minmax(104px, auto) minmax(104px, auto) minmax(136px, auto);
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--theme-border, var(--border)) 78%, transparent);
  border-radius: 10px;
  cursor: pointer;
}

.idle-cleanup-revision[open] > summary {
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 42%, var(--theme-border, var(--border)));
}

.idle-cleanup-revision-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.idle-cleanup-revision-main strong {
  overflow: hidden;
  color: #fff;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-cleanup-revision-main small {
  overflow: hidden;
  color: var(--theme-muted, var(--muted));
  font-size: .66rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.idle-cleanup-revision .daily-strategy-days {
  padding: 10px 10px 12px 42px;
}

.idle-period-trades {
  display: grid;
  gap: 8px;
  padding: 4px 4px 6px 0;
}

.idle-period-trade-list {
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.idle-period-trade-list.daily-strategy-trades {
  border-top: 0;
}

.idle-period-trade-list .table-wrap {
  border: 1px solid color-mix(in srgb, var(--theme-border, var(--border)) 86%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-card, var(--panel-soft)) 82%, transparent);
  box-shadow: none;
}

.idle-period-trade-list .table-scroll {
  background: transparent;
}

.idle-confirm-modal { z-index: 10045; }

.idle-delete-card {
  width: min(620px, calc(100vw - 28px));
}

.idle-delete-body {
  display: grid;
  gap: 13px;
}

.idle-delete-body p {
  margin: 0;
  color: var(--theme-muted, var(--muted));
  line-height: 1.55;
}

.idle-delete-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding-top: 6px;
}

.idle-delete-actions .danger-button.is-archive {
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 42%, transparent);
  background: linear-gradient(135deg, var(--theme-accent, #8b5cf6), var(--theme-accent-2, #ec4899));
}

.idle-delete-actions .danger-button.is-symbol {
  border-color: color-mix(in srgb, var(--emerald) 42%, transparent);
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--emerald) 24%, transparent);
}

.idle-delete-actions .danger-button.is-live {
  border-color: color-mix(in srgb, var(--emerald) 48%, transparent);
  background: linear-gradient(135deg, #047857, #10b981);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--emerald) 24%, transparent);
}

.idle-delete-actions .danger-button.is-paper {
  border-color: color-mix(in srgb, var(--amber) 48%, transparent);
  background: linear-gradient(135deg, #b45309, #0d9488);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--amber) 24%, transparent);
}

.idle-result-card {
  max-width: min(920px, calc(100vw - 32px));
}

.idle-result-body {
  display: grid;
  gap: 14px;
}

.idle-result-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.idle-result-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--theme-border, var(--border)) 82%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-panel, var(--panel)) 78%, black);
}

.idle-result-grid span,
.idle-result-section h3 {
  color: var(--theme-muted, var(--muted));
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.idle-result-grid strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: .96rem;
}

.idle-result-section {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--theme-border, var(--border)) 80%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--theme-panel, var(--panel)) 68%, transparent);
}

.idle-result-section ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.idle-result-section li {
  color: color-mix(in srgb, var(--theme-text, #fff) 86%, var(--theme-muted, var(--muted)));
  font-size: .78rem;
  line-height: 1.45;
}

@media (max-width: 1300px) {
  body[data-auth-state="authenticated"] .idle-cleanup-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .idle-cleanup-column-head,
  .idle-cleanup-strategy > summary {
    grid-template-columns: 18px minmax(210px, 1.25fr) minmax(64px, .4fr) minmax(74px, .44fr) minmax(78px, .46fr) minmax(98px, .56fr) minmax(86px, .5fr) minmax(94px, .5fr) minmax(64px, .36fr);
  }

  .idle-cleanup-revision > summary {
    grid-template-columns: 18px minmax(220px, 1fr) repeat(4, minmax(82px, auto));
  }

}

@media (max-width: 900px) {
  body[data-auth-state="authenticated"] .idle-cleanup-overview {
    grid-template-columns: 1fr;
  }

  .idle-cleanup-filter-form,
  .idle-cleanup-overview {
    grid-template-columns: 1fr;
  }

  .idle-cleanup-column-head { display: none; }
  .idle-cleanup-strategy > summary {
    grid-template-columns: 18px minmax(0, 1fr);
  }
  .idle-cleanup-strategy > summary .daily-strategy-metric { display: none; }
  .idle-cleanup-revisions-head .idle-control-actions { justify-content: flex-start; }
  .idle-cleanup-delete-button { min-width: 68px; padding-inline: 9px; }
  .idle-result-grid { grid-template-columns: 1fr; }
  .idle-cleanup-revisions { padding-inline: 10px; }
  .idle-cleanup-revisions-head {
    display: grid;
    gap: 4px;
  }
  .idle-cleanup-revision > summary {
    grid-template-columns: 18px minmax(0, 1fr);
  }
  .idle-cleanup-revision > summary :is(.daily-count-pill, .daily-record-pill, .daily-rate-pill, .daily-pnl-pill) {
    grid-column: 2;
    justify-self: start;
  }
  .idle-cleanup-revision .daily-strategy-days,
  .idle-period-trades {
    padding-left: 0;
  }
}

/* Grouped application navigation */
body[data-auth-state="authenticated"] .hero {
  position: sticky;
  top: 0;
  isolation: isolate;
}

body[data-auth-state="authenticated"] .hero-nav.app-menu {
  --menu-surface: color-mix(in srgb, var(--theme-nav, #11111f) 82%, #05050c);
  --menu-panel: color-mix(in srgb, var(--theme-card, #1f1f32) 88%, #070712);
  --menu-panel-strong: color-mix(in srgb, var(--theme-panel, #24243a) 82%, #080814);
  --menu-border: color-mix(in srgb, var(--theme-border, #4b4b68) 70%, transparent);
  --menu-text: var(--theme-ink, #f8f7fc);
  --menu-muted: var(--theme-muted, #aaa3b8);
  align-items: center;
  justify-content: flex-end;
  gap: 10px !important;
  overflow: visible !important;
}

body[data-auth-state="authenticated"] .hero-nav.app-menu > * {
  flex: 0 0 auto;
}

.app-menu .nav-group {
  position: relative;
  min-width: 0;
}

.app-menu .nav-group > summary {
  list-style: none;
}

.app-menu .nav-group > summary::-webkit-details-marker {
  display: none;
}

body[data-auth-state="authenticated"] .app-menu :is(.nav-top-link, .nav-parent-button, #logoutButton.nav-logout-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid color-mix(in srgb, var(--menu-border) 88%, transparent);
  border-radius: 14px;
  color: var(--menu-muted);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--menu-panel) 94%, #ffffff 4%), var(--menu-surface));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 10px 24px rgba(0, 0, 0, .16);
  font-size: .78rem;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, transform 150ms ease;
}

body[data-auth-state="authenticated"] .app-menu :is(.nav-top-link, .nav-parent-button):hover,
body[data-auth-state="authenticated"] .app-menu .nav-group[open] > .nav-parent-button,
body[data-auth-state="authenticated"] .app-menu .nav-group:focus-within > .nav-parent-button {
  color: var(--menu-text);
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 54%, var(--menu-border));
  background:
    radial-gradient(circle at 18% 0, color-mix(in srgb, var(--theme-accent, #8b5cf6) 24%, transparent), transparent 52%),
    linear-gradient(180deg, color-mix(in srgb, var(--menu-panel-strong) 88%, #ffffff 5%), var(--menu-surface));
}

body[data-auth-state="authenticated"] .app-menu :is(.nav-top-link.is-active, .nav-parent-button.is-active) {
  color: #ffffff;
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 58%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 82%, #1d1b3a), color-mix(in srgb, var(--theme-accent-2, #ec4899) 72%, #131324));
  box-shadow: 0 12px 26px color-mix(in srgb, var(--theme-accent, #8b5cf6) 18%, transparent);
}

.app-menu .nav-menu-icon {
  display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border: 1px solid color-mix(in srgb, currentColor 26%, transparent);
  border-radius: 9px;
  color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 74%, #ffffff);
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .22), transparent 34%),
    color-mix(in srgb, var(--theme-accent, #8b5cf6) 22%, transparent);
}

.app-menu .nav-group.is-blue .nav-menu-icon {
  color: #93c5fd;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .2), transparent 34%),
    rgba(37, 99, 235, .2);
}

.app-menu .nav-group.is-cyan .nav-menu-icon {
  color: #67e8f9;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .2), transparent 34%),
    rgba(14, 165, 233, .18);
}

.app-menu .nav-top-link[href="/loss-control"] .nav-menu-icon {
  color: #86efac;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, .22), transparent 34%),
    rgba(16, 185, 129, .18);
}

.app-menu .nav-menu-icon svg,
.app-menu .nav-parent-caret svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.app-menu .nav-parent-caret {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  color: currentColor;
  opacity: .78;
  transition: transform 150ms ease;
}

.app-menu .nav-group[open] .nav-parent-caret {
  transform: rotate(180deg);
}

.app-menu .nav-flyout {
  position: absolute;
  z-index: 1000;
  top: calc(100% + 10px);
  right: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: max-content;
  min-width: 330px;
  max-width: min(620px, calc(100vw - 36px));
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--menu-border) 82%, transparent);
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--theme-accent-2, #ec4899) 18%, transparent), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--menu-panel) 96%, #ffffff 3%), color-mix(in srgb, var(--menu-surface) 98%, #000000));
  box-shadow: 0 22px 56px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .06);
  opacity: 1;
  transform: translateY(0);
  transform-origin: top right;
  transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
}

.app-menu .nav-group:not([open]):not(:hover):not(:focus-within) .nav-flyout {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px) scale(.98);
}

body[data-auth-state="authenticated"] .app-menu .menu-child-link {
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
  min-height: 48px;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb, var(--menu-border) 72%, transparent);
  border-radius: 13px;
  color: var(--menu-text);
  background: color-mix(in srgb, var(--menu-panel-strong) 82%, transparent);
  box-shadow: none;
  font-size: .78rem;
  font-weight: 900;
  text-align: left;
  white-space: nowrap;
}

body[data-auth-state="authenticated"] .app-menu .menu-child-link span:last-child {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
}

body[data-auth-state="authenticated"] .app-menu .menu-child-link:hover {
  color: #ffffff;
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 52%, var(--menu-border));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 18%, var(--menu-panel-strong)), color-mix(in srgb, var(--menu-panel-strong) 82%, transparent));
  transform: translateY(-1px);
}

body[data-auth-state="authenticated"] .app-menu .menu-child-link.is-active {
  color: #ffffff;
  border-color: color-mix(in srgb, var(--theme-accent, #8b5cf6) 58%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-accent, #8b5cf6) 56%, #151326), color-mix(in srgb, var(--theme-accent-2, #ec4899) 32%, var(--menu-panel-strong)));
}

.app-menu .nav-actions {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

body[data-auth-state="authenticated"] .app-menu #logoutButton.nav-logout-button {
  margin: 0;
  color: #fecdd3;
  border-color: rgba(251, 113, 133, .45);
  background:
    radial-gradient(circle at 18% 0, rgba(251, 113, 133, .22), transparent 54%),
    rgba(159, 18, 57, .18);
}

body[data-auth-state="authenticated"] .app-menu #logoutButton.nav-logout-button .nav-menu-icon {
  color: #fda4af;
  background: rgba(244, 63, 94, .16);
}

body[data-auth-state="authenticated"] .app-menu #logoutButton.nav-logout-button:hover {
  color: #fff1f2;
  border-color: rgba(251, 113, 133, .78);
  background: rgba(159, 18, 57, .34);
}

body[data-auth-state="authenticated"][data-system-theme="custom"] .hero-nav.app-menu {
  --menu-surface: color-mix(in srgb, var(--theme-nav) 88%, #05050c);
  --menu-panel: color-mix(in srgb, var(--theme-card) 88%, var(--theme-page));
  --menu-panel-strong: color-mix(in srgb, var(--theme-panel) 84%, var(--theme-card));
  --menu-border: color-mix(in srgb, var(--theme-border) 76%, transparent);
}

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="porcelain"] .hero-nav.app-menu,
body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-palette="sandstone"] .hero-nav.app-menu {
  --menu-surface: color-mix(in srgb, var(--theme-nav) 92%, #ffffff);
  --menu-panel: color-mix(in srgb, var(--theme-card) 92%, #ffffff);
  --menu-panel-strong: color-mix(in srgb, var(--theme-panel) 88%, #ffffff);
}

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="underline"] .app-menu :is(.nav-top-link, .nav-parent-button) {
  border-radius: 0;
  background: transparent;
}

body[data-auth-state="authenticated"][data-system-theme="custom"][data-theme-nav="segmented"] .app-menu :is(.nav-top-link, .nav-parent-button, #logoutButton.nav-logout-button) {
  border-radius: 4px;
}

@media (max-width: 1320px) {
  body[data-auth-state="authenticated"] .hero {
    align-items: flex-start;
  }

  body[data-auth-state="authenticated"] .hero-nav.app-menu {
    justify-content: flex-end;
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .hero-nav.app-menu {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    align-items: stretch;
  }

  body[data-auth-state="authenticated"] .hero-nav.app-menu > *,
  body[data-auth-state="authenticated"] .app-menu :is(.nav-top-link, .nav-parent-button, #logoutButton.nav-logout-button) {
    width: 100%;
  }

  .app-menu .nav-actions {
    width: 100%;
  }

  .app-menu .nav-flyout {
    position: static;
    grid-template-columns: 1fr;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: 8px;
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
  }

  .app-menu .nav-group:not([open]) .nav-flyout {
    display: none;
  }
}

/* Selected navigation direction: Option 1, trading-desk mega menu. */
body[data-auth-state="authenticated"] .hero {
  min-height: 70px;
  padding-block: 10px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--theme-nav, #111827) 95%, #020617), color-mix(in srgb, var(--theme-nav, #111827) 82%, #020617));
  border-bottom: 1px solid color-mix(in srgb, var(--theme-border, #334155) 58%, transparent);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .16);
}

body[data-auth-state="authenticated"] .hero-nav.app-menu.is-trading-desk-menu {
  --desk-surface: color-mix(in srgb, var(--theme-nav, #111827) 86%, #020617);
  --desk-tile: color-mix(in srgb, var(--theme-card, #20283d) 82%, #020617);
  --desk-tile-raised: color-mix(in srgb, var(--theme-panel, #263249) 78%, #020617);
  --desk-line: color-mix(in srgb, var(--theme-border, #334155) 70%, transparent);
  --desk-text: var(--theme-ink, #f8fafc);
  --desk-muted: var(--theme-muted, #aab4c6);
  justify-content: flex-end;
  gap: 8px !important;
  padding: 7px !important;
  border: 1px solid color-mix(in srgb, var(--desk-line) 78%, transparent) !important;
  border-radius: 16px !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--desk-surface) 94%, #ffffff 3%), color-mix(in srgb, var(--desk-surface) 84%, #0f172a));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055), 0 16px 30px rgba(0, 0, 0, .18) !important;
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu :is(.nav-top-link, .nav-parent-button, #logoutButton.nav-logout-button) {
  min-height: 44px;
  padding: 7px 10px;
  border-radius: 11px;
  border-color: transparent;
  color: var(--desk-muted);
  background: transparent;
  box-shadow: none;
  font-size: .73rem;
  letter-spacing: 0;
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu :is(.nav-top-link, .nav-parent-button):hover,
body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .nav-group[open] > .nav-parent-button,
body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .nav-group:focus-within > .nav-parent-button {
  color: var(--desk-text);
  border-color: color-mix(in srgb, var(--theme-accent, #60a5fa) 36%, transparent);
  background: color-mix(in srgb, var(--desk-tile) 88%, transparent);
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu :is(.nav-top-link.is-active, .nav-parent-button.is-active) {
  color: #ffffff;
  border-color: color-mix(in srgb, var(--theme-accent, #60a5fa) 45%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, #2563eb 72%, var(--desk-tile)), color-mix(in srgb, #14b8a6 40%, var(--desk-tile)));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.app-menu.is-trading-desk-menu .nav-menu-icon {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  border-radius: 10px;
  color: #93c5fd;
  border-color: rgba(96, 165, 250, .28);
  background:
    radial-gradient(circle at 34% 18%, rgba(255, 255, 255, .24), transparent 32%),
    rgba(37, 99, 235, .18);
}

.app-menu.is-trading-desk-menu .nav-top-link[href="/loss-control"] .nav-menu-icon {
  color: #86efac;
  border-color: rgba(52, 211, 153, .3);
  background:
    radial-gradient(circle at 34% 18%, rgba(255, 255, 255, .24), transparent 32%),
    rgba(16, 185, 129, .18);
}

.app-menu.is-trading-desk-menu .nav-group.is-violet .nav-menu-icon {
  color: #c4b5fd;
  border-color: rgba(167, 139, 250, .32);
  background:
    radial-gradient(circle at 34% 18%, rgba(255, 255, 255, .22), transparent 32%),
    rgba(124, 58, 237, .2);
}

.app-menu.is-trading-desk-menu .nav-group.is-blue .nav-menu-icon {
  color: #93c5fd;
}

.app-menu.is-trading-desk-menu .nav-group.is-cyan .nav-menu-icon {
  color: #67e8f9;
  border-color: rgba(34, 211, 238, .3);
  background:
    radial-gradient(circle at 34% 18%, rgba(255, 255, 255, .22), transparent 32%),
    rgba(8, 145, 178, .18);
}

.app-menu.is-trading-desk-menu .nav-parent-caret {
  width: 13px;
  height: 13px;
}

.app-menu.is-trading-desk-menu .nav-parent-caret svg {
  width: 13px;
  height: 13px;
}

.app-menu.is-trading-desk-menu .nav-flyout {
  top: calc(100% + 12px);
  display: grid;
  grid-template-columns: repeat(3, minmax(104px, 1fr));
  gap: 10px;
  width: max-content;
  min-width: 360px;
  max-width: min(560px, calc(100vw - 34px));
  padding: 14px;
  border-radius: 18px;
  border-color: color-mix(in srgb, var(--desk-line) 88%, transparent);
  background:
    radial-gradient(circle at 88% 8%, rgba(34, 211, 238, .13), transparent 30%),
    radial-gradient(circle at 12% 100%, rgba(167, 139, 250, .12), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--desk-tile-raised) 94%, #020617), color-mix(in srgb, var(--desk-surface) 96%, #020617));
  box-shadow: 0 24px 58px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .06);
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .menu-child-link {
  display: grid;
  grid-template-rows: 36px auto;
  justify-items: center;
  align-content: center;
  gap: 8px;
  min-width: 0;
  min-height: 92px;
  padding: 11px 10px;
  border-radius: 13px;
  color: #e2e8f0;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--desk-tile) 96%, #ffffff 3%), color-mix(in srgb, var(--desk-tile) 82%, #020617));
  font-size: .71rem;
  line-height: 1.16;
  text-align: center;
  white-space: normal;
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .menu-child-link .nav-menu-icon {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border-radius: 12px;
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .menu-child-link span:last-child {
  display: -webkit-box;
  max-width: 100%;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .menu-child-link:hover {
  color: #ffffff;
  border-color: color-mix(in srgb, var(--theme-accent, #60a5fa) 50%, transparent);
  background:
    radial-gradient(circle at 20% 0, color-mix(in srgb, var(--theme-accent, #60a5fa) 20%, transparent), transparent 50%),
    color-mix(in srgb, var(--desk-tile-raised) 92%, transparent);
  transform: translateY(-2px);
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .menu-child-link.is-active {
  color: #ffffff;
  border-color: rgba(96, 165, 250, .58);
  background:
    linear-gradient(135deg, rgba(37, 99, 235, .62), rgba(20, 184, 166, .26)),
    var(--desk-tile-raised);
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu #logoutButton.nav-logout-button {
  color: #fecdd3;
  border-color: rgba(251, 113, 133, .24);
  background: rgba(159, 18, 57, .14);
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu #logoutButton.nav-logout-button .nav-menu-icon {
  color: #fda4af;
  border-color: rgba(251, 113, 133, .28);
  background: rgba(159, 18, 57, .18);
}

body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu #logoutButton.nav-logout-button:hover {
  color: #fff1f2;
  border-color: rgba(251, 113, 133, .58);
  background: rgba(159, 18, 57, .28);
}

@media (max-width: 1180px) {
  body[data-auth-state="authenticated"] .hero-nav.app-menu.is-trading-desk-menu {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .hero-nav.app-menu.is-trading-desk-menu {
    padding: 8px !important;
  }

  .app-menu.is-trading-desk-menu .nav-flyout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
    padding: 10px;
  }

  body[data-auth-state="authenticated"] .app-menu.is-trading-desk-menu .menu-child-link {
    min-height: 84px;
  }
}

/* SignalSnap-style shared header: live instrument strip + floating launcher. */
body[data-auth-state="authenticated"] .page-shell {
  --dashboard-shell-gap: 18px;
  padding-inline: var(--dashboard-shell-gap);
}

body[data-auth-state="authenticated"] .hero {
  z-index: 1100;
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.2vw, 22px);
  min-height: 70px;
  padding: 0 clamp(14px, 1.4vw, 26px);
  margin: 0 calc(-1 * var(--dashboard-shell-gap)) var(--dashboard-shell-gap);
  border-bottom: 1px solid rgba(148, 163, 184, .18);
  background: #171827;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
}

body[data-auth-state="authenticated"] .dashboard {
  gap: var(--dashboard-shell-gap);
  padding-top: 0;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink {
  display: block !important;
  grid-column: 1 / -1;
}

body[data-auth-state="authenticated"] .dashboard-action-message {
  grid-column: 1 / -1;
  margin: -4px 0 0;
  padding: 0 clamp(4px, .4vw, 8px);
}

body[data-auth-state="authenticated"] .hero-left {
  flex: 0 0 auto;
  min-width: 0;
}

body[data-auth-state="authenticated"] .brand-logo,
body[data-auth-state="authenticated"] .brand-logo.has-selected-logo {
  width: 76px;
  height: 76px;
}

body[data-auth-state="authenticated"] .hero-right {
  flex: 0 0 auto;
  min-width: 0;
  justify-content: flex-end;
}

body[data-auth-state="authenticated"] .hero-nav.app-menu.signal-snap-launcher-menu {
  --launcher-panel: #292a3d;
  --launcher-tile: #30324a;
  --launcher-line: rgba(255, 255, 255, .09);
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.signal-snap-launcher-menu .app-launcher {
  position: relative;
  flex: 0 0 auto;
}

.signal-snap-launcher-menu .app-launcher > summary {
  list-style: none;
}

.signal-snap-launcher-menu .app-launcher > summary::-webkit-details-marker {
  display: none;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu :is(.app-launcher-button, .nav-user-button) {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 13px;
  color: #d9def4;
  background: rgba(255, 255, 255, .06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  cursor: pointer;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher[open] > .app-launcher-button,
body[data-auth-state="authenticated"] .signal-snap-launcher-menu :is(.app-launcher-button, .nav-user-button):hover {
  color: #ffffff;
  border-color: rgba(124, 131, 255, .45);
  background: rgba(124, 131, 255, .18);
}

.signal-snap-launcher-menu .app-launcher-dot {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 12px;
  height: 12px;
  border: 2px solid #171827;
  border-radius: 999px;
  background: #17c9ac;
}

.signal-snap-launcher-menu .nav-menu-icon {
  width: 25px;
  height: 25px;
  border: 0;
  border-radius: 0;
  color: currentColor;
  background: transparent;
}

.signal-snap-launcher-menu .app-launcher-button .nav-menu-icon,
.signal-snap-launcher-menu .nav-user-button .nav-menu-icon {
  width: 24px;
  height: 24px;
}

.signal-snap-launcher-menu .nav-menu-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.signal-snap-launcher-menu .nav-user-button span:not(.nav-menu-icon) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.signal-snap-launcher-menu .app-launcher-panel {
  position: absolute;
  z-index: 1500;
  top: calc(100% + 14px);
  right: 0;
  display: grid;
  gap: 14px;
  width: min(560px, calc(100vw - 28px));
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 14px;
  background: var(--launcher-panel);
  box-shadow: 0 26px 66px rgba(15, 23, 42, .42), inset 0 1px 0 rgba(255, 255, 255, .06);
}

.signal-snap-launcher-menu .app-launcher:not([open]) .app-launcher-panel {
  display: none;
}

.signal-snap-launcher-menu .app-launcher-main-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
  gap: 8px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 10px;
  min-width: 0;
  min-height: 86px;
  padding: 10px 8px;
  border: 0;
  border-radius: 8px;
  color: #e5e7f5;
  background: transparent;
  box-shadow: none;
  font-size: .78rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile .nav-menu-icon {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  color: #7fb3ff;
  background: rgba(59, 130, 246, .22);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="violet"] .nav-menu-icon {
  color: #b985ff;
  background: rgba(124, 58, 237, .28);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="emerald"] .nav-menu-icon {
  color: #22e1a8;
  background: rgba(20, 184, 166, .22);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="orange"] .nav-menu-icon {
  color: #fb923c;
  background: rgba(249, 115, 22, .22);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="indigo"] .nav-menu-icon {
  color: #8f9cff;
  background: rgba(99, 102, 241, .24);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="teal"] .nav-menu-icon {
  color: #22d3c2;
  background: rgba(13, 148, 136, .22);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="rose"] .nav-menu-icon {
  color: #fb7185;
  background: rgba(225, 29, 72, .2);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="slate"] .nav-menu-icon {
  color: #cbd5e1;
  background: rgba(100, 116, 139, .25);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile:hover,
body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-active {
  color: #ffffff;
  background: rgba(255, 255, 255, .055);
}

.signal-snap-launcher-menu .app-launcher-child-panels {
  display: grid;
  padding-top: 12px;
  border-top: 1px solid var(--launcher-line);
}

.signal-snap-launcher-menu .app-launcher-quick-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary {
  min-height: 66px;
  gap: 6px;
  padding: 7px 4px;
  font-size: .68rem;
  color: #cbd5e1;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary .nav-menu-icon {
  width: 30px;
  height: 30px;
}

@media (max-width: 1320px) {
  body[data-auth-state="authenticated"] .hero {
    margin-inline: calc(-1 * var(--dashboard-shell-gap));
  }


}

@media (max-width: 900px) {
  body[data-auth-state="authenticated"] .hero {
    flex-wrap: wrap;
    align-items: center;
    padding-block: 8px;
  }


}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .page-shell {
    --dashboard-shell-gap: 14px;
  }

  body[data-auth-state="authenticated"] .dashboard {
    padding-top: 0;
  }

  body[data-auth-state="authenticated"] .hero {
    margin: 0 calc(-1 * var(--dashboard-shell-gap)) var(--dashboard-shell-gap);
  }

  body[data-auth-state="authenticated"] .hero-right {
    width: auto;
    flex-direction: row;
    align-items: center;
  }

  body[data-auth-state="authenticated"] .hero-nav.app-menu.signal-snap-launcher-menu {
    display: inline-flex;
    width: auto;
  }

  .signal-snap-launcher-menu .app-launcher-panel {
    position: fixed;
    top: 68px;
    right: 14px;
    width: min(420px, calc(100vw - 28px));
  }

  .signal-snap-launcher-menu .app-launcher-main-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile {
    min-height: 78px;
  }

  .signal-snap-launcher-menu .app-launcher-quick-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  body[data-auth-state="authenticated"] .brand-logo,
  body[data-auth-state="authenticated"] .brand-logo.has-selected-logo {
    width: 62px;
    height: 62px;
    padding: 6px;
    border-radius: 19px;
  }

  .signal-snap-launcher-menu .app-launcher-panel {
    padding: 16px;
  }

  .signal-snap-launcher-menu .app-launcher-main-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Premium cockpit polish for the shared authenticated header. */
body[data-auth-state="authenticated"] .hero {
  min-height: 88px;
  padding-block: 10px;
  border-bottom-color: rgba(125, 211, 252, .18);
  background:
    linear-gradient(90deg, #080d1a 0%, #15101f 42%, #10202a 100%);
  box-shadow: 0 18px 34px rgba(2, 6, 23, .36), inset 0 -1px 0 rgba(255, 255, 255, .04);
}



body[data-auth-state="authenticated"] .hero-nav.app-menu.signal-snap-launcher-menu {
  gap: 12px !important;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu :is(.app-launcher-button, .nav-user-button) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 0 !important;
  border-color: rgba(148, 163, 184, .22);
  border-radius: 16px;
  color: #f3f7ff;
  background:
    linear-gradient(145deg, rgba(59, 130, 246, .22), rgba(167, 139, 250, .12) 48%, rgba(45, 212, 191, .16));
  box-shadow:
    0 14px 26px rgba(2, 6, 23, .3),
    inset 0 1px 0 rgba(255, 255, 255, .1);
  line-height: 0;
  appearance: none;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu :is(.app-launcher-button, .nav-user-button) .nav-menu-icon {
  display: grid !important;
  place-items: center !important;
  width: 28px;
  height: 28px;
  margin: 0 !important;
  flex: 0 0 28px;
  transform: none !important;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu :is(.app-launcher-button, .nav-user-button) svg {
  display: block;
  width: 27px;
  height: 27px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher[open] > .app-launcher-button,
body[data-auth-state="authenticated"] .signal-snap-launcher-menu :is(.app-launcher-button, .nav-user-button):hover {
  border-color: rgba(45, 212, 191, .5);
  background:
    linear-gradient(145deg, rgba(37, 99, 235, .36), rgba(124, 58, 237, .22) 48%, rgba(20, 184, 166, .28));
  box-shadow:
    0 18px 32px rgba(2, 6, 23, .36),
    0 0 0 3px rgba(45, 212, 191, .08),
    inset 0 1px 0 rgba(255, 255, 255, .14);
}

.signal-snap-launcher-menu .app-launcher-dot {
  top: -2px;
  right: -2px;
  border-color: #08121f;
}

.signal-snap-launcher-menu .app-launcher-panel {
  width: min(700px, calc(100vw - 54px));
  padding: 26px;
  border-color: rgba(125, 211, 252, .2);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(6, 10, 24, .98), rgba(21, 17, 33, .98) 45%, rgba(6, 35, 39, .97));
  box-shadow:
    0 32px 78px rgba(2, 6, 23, .58),
    0 0 0 1px rgba(255, 255, 255, .04),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.signal-snap-launcher-menu .app-launcher-main-row {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile {
  position: relative;
  min-height: 112px;
  padding: 13px 8px;
  border: 1px solid rgba(148, 163, 184, .13);
  border-radius: 8px;
  color: #eaf2ff;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  font-size: .78rem;
  letter-spacing: 0;
  transition: border-color 150ms ease, background 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile:hover,
body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-active {
  transform: translateY(-2px);
  border-color: rgba(125, 211, 252, .36);
  background:
    linear-gradient(180deg, rgba(56, 189, 248, .14), rgba(167, 139, 250, .07));
  box-shadow:
    0 16px 28px rgba(2, 6, 23, .3),
    inset 0 1px 0 rgba(255, 255, 255, .1);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile .nav-menu-icon {
  width: 62px;
  height: 62px;
  border-radius: 20px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .18),
    0 12px 24px rgba(2, 6, 23, .24);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="violet"] .nav-menu-icon {
  color: #d6b4ff;
  background: linear-gradient(145deg, rgba(124, 58, 237, .42), rgba(217, 70, 239, .24));
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="emerald"] .nav-menu-icon {
  color: #5ff2c6;
  background: linear-gradient(145deg, rgba(20, 184, 166, .42), rgba(16, 185, 129, .22));
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="orange"] .nav-menu-icon {
  color: #ffb15c;
  background: linear-gradient(145deg, rgba(249, 115, 22, .42), rgba(251, 191, 36, .2));
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="indigo"] .nav-menu-icon {
  color: #b9c3ff;
  background: linear-gradient(145deg, rgba(99, 102, 241, .46), rgba(59, 130, 246, .22));
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="teal"] .nav-menu-icon {
  color: #5df2e6;
  background: linear-gradient(145deg, rgba(13, 148, 136, .42), rgba(34, 211, 238, .18));
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="rose"] .nav-menu-icon {
  color: #ff9bb0;
  background: linear-gradient(145deg, rgba(225, 29, 72, .38), rgba(236, 72, 153, .2));
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile[data-launcher-tone="slate"] .nav-menu-icon {
  color: #d8e5f7;
  background: linear-gradient(145deg, rgba(71, 85, 105, .48), rgba(148, 163, 184, .15));
}

.signal-snap-launcher-menu .app-launcher-child-panels {
  position: relative;
  padding-top: 18px;
  border-top: 0;
}

.signal-snap-launcher-menu .app-launcher-child-panels::before {
  content: "";
  position: absolute;
  top: 0;
  left: 4px;
  right: 4px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(56, 189, 248, .38), rgba(236, 72, 153, .28), transparent);
}

.signal-snap-launcher-menu .app-launcher-quick-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary {
  min-height: 80px;
  padding: 10px 8px;
  border-color: rgba(148, 163, 184, .12);
  color: #dbeafe;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .048), rgba(255, 255, 255, .014));
  font-size: .72rem;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary .nav-menu-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
}

@media (max-width: 900px) {


  .signal-snap-launcher-menu .app-launcher-panel {
    width: min(620px, calc(100vw - 32px));
  }

  .signal-snap-launcher-menu .app-launcher-main-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .hero {
    min-height: 76px;
  }

  body[data-auth-state="authenticated"] .signal-snap-launcher-menu :is(.app-launcher-button, .nav-user-button) {
    width: 46px;
    height: 46px;
    min-height: 46px;
  }

  .signal-snap-launcher-menu .app-launcher-panel {
    top: 76px;
    right: 12px;
    width: min(430px, calc(100vw - 24px));
    padding: 18px;
  }

  body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile {
    min-height: 94px;
  }

  .signal-snap-launcher-menu .app-launcher-quick-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Clear parent/child hierarchy inside the application launcher. */
.signal-snap-launcher-menu .app-launcher-panel {
  gap: 18px;
  width: min(820px, calc(100vw - 56px));
  padding: 22px;
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(5, 10, 22, .98), rgba(14, 12, 24, .98) 43%, rgba(5, 26, 31, .97));
}

.signal-snap-launcher-menu .app-launcher-tier {
  position: relative;
  min-width: 0;
}

.signal-snap-launcher-menu .app-launcher-tier-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
  color: #94a3b8;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.signal-snap-launcher-menu .app-launcher-tier-head span,
.signal-snap-launcher-menu .app-launcher-tier-head small,
.signal-snap-launcher-menu .app-launcher-tier-head strong {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  letter-spacing: 0;
}

.signal-snap-launcher-menu .app-launcher-tier-head span {
  gap: 8px;
  color: #bae6fd;
  letter-spacing: .14em;
}

.signal-snap-launcher-menu .app-launcher-tier-head span::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #6366f1;
  box-shadow: 0 0 18px rgba(56, 189, 248, .75);
}

.signal-snap-launcher-menu .app-launcher-tier-head small {
  color: #64748b;
  font-size: .66rem;
  font-weight: 850;
}

.signal-snap-launcher-menu .app-launcher-child-head strong {
  max-width: 180px;
  justify-content: center;
  padding: 6px 11px;
  border: 1px solid rgba(45, 212, 191, .28);
  border-radius: 999px;
  color: #ccfbf1;
  background: rgba(20, 184, 166, .12);
  font-size: .7rem;
  font-weight: 950;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.signal-snap-launcher-menu .app-launcher-main-row {
  position: relative;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, .86), rgba(15, 23, 42, .48));
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary {
  min-height: 126px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: transparent;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary .nav-menu-icon {
  width: 70px;
  height: 70px;
  border-radius: 999px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px;
  width: 2px;
  height: 16px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(56, 189, 248, .85), rgba(45, 212, 191, .08));
  opacity: 0;
  transform: translateX(-50%);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary:hover,
body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary.is-active {
  border-color: rgba(125, 211, 252, .32);
  background:
    radial-gradient(circle at 50% 0, rgba(56, 189, 248, .16), transparent 54%),
    rgba(255, 255, 255, .045);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary.is-active::after {
  opacity: 1;
}

.signal-snap-launcher-menu .app-launcher-tier-secondary {
  padding: 15px;
  border: 1px solid rgba(45, 212, 191, .16);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(9, 23, 35, .82), rgba(20, 16, 32, .9));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .05),
    0 18px 34px rgba(2, 6, 23, .22);
}

.signal-snap-launcher-menu .app-launcher-child-panels {
  padding-top: 0;
}

.signal-snap-launcher-menu .app-launcher-child-panels::before {
  display: none;
}

.signal-snap-launcher-menu .app-launcher-quick-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary {
  grid-template-columns: 46px minmax(0, 1fr);
  justify-items: start;
  align-content: center;
  min-height: 72px;
  padding: 12px;
  border-radius: 14px;
  text-align: left;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary .nav-menu-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary span:last-child {
  min-width: 0;
  overflow: hidden;
  color: #f8fbff;
  font-size: .76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary::before {
  content: "";
  position: absolute;
  inset: 10px auto 10px 0;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #6366f1, #2dd4bf);
  opacity: .62;
}

@media (max-width: 900px) {
  .signal-snap-launcher-menu .app-launcher-panel {
    width: min(620px, calc(100vw - 32px));
    padding: 18px;
  }

  .signal-snap-launcher-menu .app-launcher-main-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .signal-snap-launcher-menu .app-launcher-panel {
    width: min(430px, calc(100vw - 24px));
    padding: 15px;
  }

  .signal-snap-launcher-menu .app-launcher-main-row,
  .signal-snap-launcher-menu .app-launcher-quick-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary {
    min-height: 108px;
  }
}

/* Compact jewel-box launcher: clear hierarchy without a large overlay. */
body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-panel {
  top: calc(100% + 12px);
  right: 0;
  width: min(548px, calc(100vw - 34px));
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(125, 211, 252, .2);
  border-radius: 18px;
  background:
    radial-gradient(circle at 10% 8%, rgba(56, 189, 248, .18), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(236, 72, 153, .14), transparent 32%),
    linear-gradient(145deg, rgba(6, 12, 25, .985), rgba(17, 12, 27, .985) 54%, rgba(5, 25, 30, .98));
  box-shadow:
    0 24px 58px rgba(2, 6, 23, .54),
    0 0 0 1px rgba(255, 255, 255, .035),
    inset 0 1px 0 rgba(255, 255, 255, .08);
}

.signal-snap-launcher-menu .app-launcher-tier {
  display: grid;
  gap: 7px;
}

.signal-snap-launcher-menu .app-launcher-tier-head {
  margin: 0;
  padding: 0 4px;
  font-size: .59rem;
  letter-spacing: .12em;
}

.signal-snap-launcher-menu .app-launcher-tier-head span {
  color: #c8f5ff;
  letter-spacing: .12em;
}

.signal-snap-launcher-menu .app-launcher-tier-head span::before {
  width: 6px;
  height: 6px;
  background: #22d3ee;
  box-shadow: 0 0 14px rgba(34, 211, 238, .7);
}

.signal-snap-launcher-menu .app-launcher-tier-head small {
  color: #7b879b;
  font-size: .58rem;
}

.signal-snap-launcher-menu .app-launcher-child-head strong {
  max-width: 130px;
  min-height: 24px;
  padding: 4px 10px;
  border-color: rgba(45, 212, 191, .28);
  color: #ccfbf1;
  background: rgba(20, 184, 166, .11);
  font-size: .6rem;
}

.signal-snap-launcher-menu .app-launcher-main-row {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(148, 163, 184, .12);
  border-radius: 15px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, .76), rgba(15, 23, 42, .4));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary {
  min-height: 67px;
  gap: 5px;
  padding: 7px 3px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #dceaff;
  background: transparent;
  font-size: .72rem;
  font-weight: 900;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary::after {
  display: none;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary .nav-menu-icon {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .16),
    0 8px 16px rgba(2, 6, 23, .22);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary .nav-menu-icon svg {
  width: 22px;
  height: 22px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary:hover,
body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary.is-active {
  transform: none;
  border-color: rgba(125, 211, 252, .32);
  color: #ffffff;
  background:
    radial-gradient(circle at 50% 0, rgba(56, 189, 248, .16), transparent 58%),
    rgba(255, 255, 255, .055);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary.is-active {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .1),
    0 0 0 1px rgba(56, 189, 248, .12),
    0 10px 24px rgba(8, 145, 178, .18);
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-direct-link {
  overflow: hidden;
}

.signal-snap-launcher-menu .app-launcher-direct-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 1px solid rgba(45, 212, 191, .3);
  border-radius: 999px;
  color: #a7f3d0;
  background: rgba(6, 78, 59, .38);
  box-shadow: 0 0 16px rgba(45, 212, 191, .18);
}

.signal-snap-launcher-menu .app-launcher-direct-badge svg {
  width: 11px;
  height: 11px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.signal-snap-launcher-menu .app-launcher-tier-secondary {
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(45, 212, 191, .14);
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(8, 22, 34, .7), rgba(19, 14, 29, .82));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

.signal-snap-launcher-menu .app-launcher-child-panels {
  padding-top: 0;
}

.signal-snap-launcher-menu .app-launcher-child-panels::before {
  display: none;
}

.signal-snap-launcher-menu .app-launcher-quick-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary {
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 48px;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(148, 163, 184, .13);
  border-radius: 12px;
  color: #e8f2ff;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .048), rgba(255, 255, 255, .014));
  font-size: .78rem;
  text-align: left;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary::before {
  inset: 9px auto 9px 0;
  width: 2px;
  opacity: .78;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary .nav-menu-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary .nav-menu-icon svg {
  width: 19px;
  height: 19px;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary span:last-child {
  font-size: .78rem;
  font-weight: 900;
}

body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary:hover,
body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-secondary.is-active {
  transform: none;
  border-color: rgba(45, 212, 191, .28);
  background:
    linear-gradient(135deg, rgba(45, 212, 191, .1), rgba(255, 255, 255, .03));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .075);
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-panel {
    top: 70px;
    right: 10px;
    width: min(360px, calc(100vw - 20px));
    padding: 10px;
  }

  .signal-snap-launcher-menu .app-launcher-main-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-auth-state="authenticated"] .signal-snap-launcher-menu .app-launcher-tile.is-primary {
    min-height: 62px;
  }

  .signal-snap-launcher-menu .app-launcher-quick-row {
    grid-template-columns: 1fr;
  }
}

body[data-auth-state="authenticated"] .zerodha-safety-check {
  color: #f8f7fc;
  border-color: #443650;
  border-left-color: #8b5cf6;
  background: #1b1424;
  box-shadow: none;
}

body[data-auth-state="authenticated"] .zerodha-safety-check.is-positive {
  border-left-color: #22c55e;
  background:
    linear-gradient(90deg, rgba(34, 197, 94, 0.18), rgba(27, 20, 36, 0.96) 36%),
    #1b1424;
}

body[data-auth-state="authenticated"] .zerodha-safety-check.is-warning {
  border-left-color: #0d9488;
  background:
    linear-gradient(90deg, rgba(245, 158, 11, 0.2), rgba(27, 20, 36, 0.96) 36%),
    #1b1424;
}

body[data-auth-state="authenticated"] .zerodha-safety-check.is-negative {
  border-left-color: #fb7185;
  background:
    linear-gradient(90deg, rgba(244, 63, 94, 0.22), rgba(27, 20, 36, 0.96) 36%),
    #1b1424;
}

body[data-auth-state="authenticated"] .zerodha-safety-check strong,
body[data-auth-state="authenticated"] .zerodha-safety-check b {
  color: #ffffff;
}

body[data-auth-state="authenticated"] .zerodha-safety-check p {
  color: #eee8f6;
}

body[data-auth-state="authenticated"] .zerodha-safety-check > small,
body[data-auth-state="authenticated"] .zerodha-safety-evidence small {
  color: #cfc5dc;
}

body[data-auth-state="authenticated"] .zerodha-safety-check .pill.is-positive {
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, 0.48);
  background: rgba(21, 128, 61, 0.35);
}

body[data-auth-state="authenticated"] .zerodha-safety-check .pill.is-warning {
  color: #fde68a;
  border-color: rgba(245, 158, 11, 0.56);
  background: rgba(146, 64, 14, 0.38);
}

body[data-auth-state="authenticated"] .zerodha-safety-check .pill.is-negative {
  color: #fecdd3;
  border-color: rgba(251, 113, 133, 0.58);
  background: rgba(159, 18, 57, 0.42);
}

body[data-auth-state="authenticated"] .zerodha-safety-evidence span {
  color: #f8f7fc;
  border-color: #4a3b58;
  background: #211a2c;
}

/* Keep normal action buttons visually consistent across authenticated pages. */
body[data-auth-state="authenticated"]:not([data-system-theme="custom"]) :is(.primary-button, .secondary-button, .success-button) {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 48%, #ec4899 100%);
  box-shadow: none;
}

body[data-auth-state="authenticated"][data-system-theme="custom"] :is(.primary-button, .secondary-button, .success-button) {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, var(--theme-accent), var(--theme-accent-2));
  box-shadow: none;
}

body[data-auth-state="authenticated"] :is(.primary-button, .secondary-button, .success-button, .ghost-button):disabled {
  color: var(--research-contrast-muted, #e8e0f1);
  border-color: var(--research-contrast-border, #4f4161);
  background: var(--research-contrast-surface-raised, #2a2137);
  box-shadow: none;
  opacity: 1;
}

.idle-cleanup-delete-button.is-refine-idle {
  background: #4f46e5;
  border-color: #4f46e5;
  color: #fff;
}
.idle-cleanup-delete-button.is-refine-idle:hover {
  background: #6366f1;
  border-color: #6366f1;
}

.idle-cleanup-delete-button.is-refine-ag {
  background: #ec4899;
  border-color: #ec4899;
  color: #fff;
}
.idle-cleanup-delete-button.is-refine-ag:hover {
  background: #f472b6;
  border-color: #f472b6;
}
.idle-cleanup-delete-button.is-refine-max {
  background: #0d9488;
  border-color: #0d9488;
  color: #fff;
}
.idle-cleanup-delete-button.is-refine-max:hover {
  background: #14b8a6;
  border-color: #14b8a6;
}

.idle-cleanup-delete-button.is-refine-beam {
  background: #7e22ce;
  border-color: #7e22ce;
  color: #fff;
}
.idle-cleanup-delete-button.is-refine-beam:hover {
  background: #9333ea;
  border-color: #9333ea;
}

/* ==========================================================================
   HEADER CLIPPING FIXES & FLAT MENU
   ========================================================================== */
body[data-auth-state="authenticated"] .page-hero,
body[data-auth-state="authenticated"] .hero-left,
body[data-auth-state="authenticated"] .hero-right {
  overflow: visible !important;
}

/* 1. Make Logo Smaller */
body[data-auth-state="authenticated"] .brand-logo,
body[data-auth-state="authenticated"] .brand-logo.has-selected-logo {
  width: 40px !important;
  height: 40px !important;
}

/* 2. Compact Header Heights */
body[data-auth-state="authenticated"] .page-hero {
  padding-top: 12px !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

/* 3. Premium Flat Menu Links */
.flat-pill-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  max-width: 1540px !important;
}

.flat-pill-nav .nav-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 12px !important;
  border-radius: 50px !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  background: rgba(30, 41, 59, 0.4) !important;
  border: 1px solid rgba(255,255,255,0.03) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.flat-pill-nav .nav-pill:hover {
  background: rgba(51, 65, 85, 0.6) !important;
  color: #f8fafc !important;
  border-color: rgba(255,255,255,0.1) !important;
}

.flat-pill-nav .nav-pill.is-active {
  background: linear-gradient(135deg, #d946ef 0%, #8b5cf6 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 15px rgba(217, 70, 239, 0.4) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}

.hero-right {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

body[data-auth-state="authenticated"] .hero-nav.flat-header-menu {
  flex: 1 1 auto !important;
  display: flex !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: visible !important;
}

/* 4. Smaller, Attractive Logout Button */
body[data-auth-state="authenticated"] #logoutButton {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border-radius: 50px !important;
  background: transparent !important;
  color: #f43f5e !important;
  border: 1px solid rgba(244, 63, 94, 0.3) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  height: auto !important;
  min-height: 0 !important;
  width: auto !important;
  transition: all 0.2s ease !important;
}

body[data-auth-state="authenticated"] #logoutButton:hover {
  background: rgba(244, 63, 94, 0.1) !important;
  border-color: rgba(244, 63, 94, 0.6) !important;
}

body[data-auth-state="authenticated"] #logoutButton svg {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
}

/* ==========================================================================
   DASHBOARD-ONLY RESTORE: Dense glow 1x4 pill summary layout
   --------------------------------------------------------------------------
   Mirrors the previously committed glowing pill look without restoring the
   removed shared-header polling strip.
   ========================================================================== */
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary {
  display: block !important;
  grid-column: 1 / -1 !important;
  padding: 0 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 24px !important;
  width: min(100%, 1860px) !important;
  margin: 0 auto !important;
  padding: 4px !important;
  overflow: visible !important;
}

body[data-auth-state="authenticated"] .dashboard-action-message:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-tile {
  position: relative !important;
  z-index: 1 !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  min-height: 110px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 5px 24px !important;
  overflow: visible !important;
  text-align: center !important;
  border: none !important;
  /* border-radius: 999px !important; */
  background: #0f172a !important;
  transition: transform 160ms ease, box-shadow 160ms ease !important;
  clip-path: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-tile:hover {
  transform: translateY(-2px) !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-tile::before,
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-tile::after {
  display: none !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card {
  box-shadow: 0 0 0 2px #10b981, 0 4px 22px rgba(16, 185, 129, .42) !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-control-card {
  box-shadow: 0 0 0 2px #8b5cf6, 0 4px 22px rgba(139, 92, 246, .42) !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-paper-tile {
  box-shadow: 0 0 0 2px #f59e0b, 0 4px 22px rgba(245, 158, 11, .42) !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-live-tile {
  box-shadow: 0 0 0 2px #38bdf8, 0 4px 22px rgba(56, 189, 248, .42) !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .metric-label {
  margin: 0 !important;
  color: #94a3b8 !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .metric-value {
  margin: 0 !important;
  color: #22f4a1 !important;
  font-size: 1.12rem !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: -.01em !important;
  text-align: center !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card .metric-value {
  color: #fbbf24 !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card.is-live .metric-value,
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .metric-value.positive-text {
  color: #22f4a1 !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card.is-closed .metric-value,
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .metric-value.negative-text {
  color: #fb7185 !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .metric-note {
  margin: 0 !important;
  color: #94a3b8 !important;
  font-size: .75rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-primary,
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-stat-line,
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-engine-status-line {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-broker-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  max-width: 150px !important;
  padding: 6px 12px !important;
  border: 1px solid rgba(20, 184, 166, .45) !important;
  border-radius: 999px !important;
  color: #bbf7d0 !important;
  background: rgba(15, 23, 42, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-broker-pill span:last-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* A holiday label can be longer than the compact market tile.  Let only this
   status line use the available second column and wrap within the card. */
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card {
  align-items: stretch !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card .dashboard-compact-primary {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  width: 100% !important;
  justify-content: stretch !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card .metric-value {
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
}

@media (max-width: 640px) {
  body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card .dashboard-compact-primary {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
  }

  body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-market-card .metric-value {
    text-align: center !important;
  }
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .positive-text {
  color: #22f4a1 !important;
  text-shadow: none !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .negative-text {
  color: #fb7185 !important;
  text-shadow: none !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary #marketSessionTimeText,
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary #brokerFeedSourceText,
body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary #brokerLiveStatusText {
  display: none !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-engine-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  width: min(100%, 220px) !important;
  margin: 0 !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-engine-actions .action-button {
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font-size: .75rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-engine-dot {
  width: 8px !important;
  height: 8px !important;
}

@media (max-width: 1260px) {
  body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-grid {
    flex-wrap: wrap !important;
  }

  body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-tile {
    flex-basis: calc(50% - 12px) !important;
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .dashboard-summary-sink.dashboard-compact-summary .dashboard-compact-tile {
    flex-basis: 100% !important;
  }
}

/* ==========================================================================
   REFINED PREMIUM HEADER MENU
   --------------------------------------------------------------------------
   Slim glass navigation with controlled glow on active/hover states only.
   ========================================================================== */
body[data-auth-state="authenticated"] .hero {
  position: relative !important;
  isolation: isolate !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 10px 26px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body[data-auth-state="authenticated"] .hero::before,
body[data-auth-state="authenticated"] .hero::after {
  display: none !important;
}

body[data-auth-state="authenticated"] .hero-left {
  flex: 0 0 auto !important;
}

body[data-auth-state="authenticated"] .brand-logo,
body[data-auth-state="authenticated"] .brand-logo.has-selected-logo {
  width: 48px !important;
  height: 48px !important;
  padding: 4px !important;
  border: 1px solid rgba(236, 72, 153, .28) !important;
  border-radius: 17px !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .86)) padding-box !important;
  box-shadow:
    0 8px 18px rgba(2, 6, 23, .26),
    0 0 18px rgba(236, 72, 153, .12) !important;
}

body[data-auth-state="authenticated"] .brand-logo:hover,
body[data-auth-state="authenticated"] .brand-logo.has-selected-logo:hover {
  transform: translateY(-1px) !important;
  box-shadow:
    0 10px 22px rgba(2, 6, 23, .30),
    0 0 22px rgba(236, 72, 153, .18) !important;
}

body[data-auth-state="authenticated"] .hero-right {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

body[data-auth-state="authenticated"] .hero-nav.app-menu.flat-header-menu {
  position: relative !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  scrollbar-width: none !important;
}

body[data-auth-state="authenticated"] .hero-nav.app-menu.flat-header-menu::-webkit-scrollbar {
  display: none !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav li {
  display: flex !important;
  flex: 0 0 auto !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill {
  position: relative !important;
  isolation: isolate !important;
  min-height: 32px !important;
  padding: 8px 14px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #aebfe2 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    background 160ms ease !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: 0 !important;
  border-radius: inherit !important;
  background:
    linear-gradient(135deg, rgba(56, 189, 248, .12), rgba(236, 72, 153, .12)) !important;
  opacity: 0 !important;
  transition: opacity 160ms ease !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill:hover {
  transform: translateY(-1px) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  background: rgba(56, 189, 248, .09) !important;
  box-shadow:
    0 0 14px rgba(56, 189, 248, .10) !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill:hover::before {
  opacity: 1 !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill.is-active {
  color: #ffffff !important;
  border-color: transparent !important;
  background:
    linear-gradient(135deg, #c044e8, #8b5cf6) !important;
  box-shadow:
    0 6px 14px rgba(168, 85, 247, .24),
    0 0 18px rgba(217, 70, 239, .18) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .24) !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill.is-active::after {
  display: none !important;
}

body[data-auth-state="authenticated"] .app-header-actions {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

body[data-auth-state="authenticated"] #logoutButton.nav-user-button {
  min-height: 34px !important;
  padding: 8px 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fecdd3 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-auth-state="authenticated"] #logoutButton.nav-user-button:hover {
  transform: translateY(-1px) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  background:
    linear-gradient(145deg, rgba(244, 63, 94, .18), rgba(190, 24, 93, .14)) !important;
  box-shadow:
    0 0 14px rgba(244, 63, 94, .12) !important;
}

@media (max-width: 1180px) {
  body[data-auth-state="authenticated"] .hero {
    padding-inline: 14px !important;
  }

  body[data-auth-state="authenticated"] .flat-pill-nav {
    justify-content: center !important;
  }
}

@media (max-width: 760px) {
  body[data-auth-state="authenticated"] .hero {
    margin-inline: 8px !important;
    padding-inline: 12px !important;
  }

  body[data-auth-state="authenticated"] .hero-right {
    gap: 10px !important;
  }

  body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill {
    padding-inline: 13px !important;
  }
}

/* Final header cleanup: no framed header shell and no framed menu rail. */
body[data-auth-state="authenticated"] :is(
  .hero,
  .hero-right,
  .hero-nav,
  .hero-nav.app-menu,
  .hero-nav.flat-header-menu,
  .hero-nav.app-menu.flat-header-menu,
  .flat-pill-nav
) {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-auth-state="authenticated"] :is(
  .hero,
  .hero-nav,
  .hero-nav.app-menu,
  .hero-nav.flat-header-menu,
  .hero-nav.app-menu.flat-header-menu
)::before,
body[data-auth-state="authenticated"] :is(
  .hero,
  .hero-nav,
  .hero-nav.app-menu,
  .hero-nav.flat-header-menu,
  .hero-nav.app-menu.flat-header-menu
)::after,
body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill::after {
  display: none !important;
  content: none !important;
}

body[data-auth-state="authenticated"] .flat-pill-nav .nav-pill {
  border: 0 !important;
  text-decoration: none !important;
}
