:root {
  color-scheme: light;
  --ink: #202124;         /* Google text color */
  --muted: #5f6368;       /* Google secondary gray */
  --line: #dadce0;        /* Google border line */
  --paper: #f8f9fa;       /* Google Canvas background */
  --surface: #ffffff;     /* Google Card background */
  --green: #137333;       /* Google green */
  --green-soft: #e6f4ea;  /* Google soft green accent */
  --amber: #b06000;       /* Google amber */
  --amber-soft: #fef7e0;  /* Google soft amber accent */
  --blue: #1a73e8;        /* Google primary blue */
  --blue-soft: #e8f0fe;   /* Google soft blue accent */
  --red: #c5221f;         /* Google red */
  --red-soft: #fce8e6;    /* Google soft red accent */
  --shadow: 0 1px 2px 0 rgba(60,64,67,0.3), 0 1px 3px 1px rgba(60,64,67,0.15); /* Google Card Shadow */
  --ci-radius: 8px;
  --ci-radius-pill: 999px;
  --ci-shadow-soft: 0 8px 28px rgba(35, 42, 48, 0.06);
  --assistant-height: 86px;
  --ci-space-2: 8px;
  --ci-space-3: 12px;
  --ci-space-4: 16px;
  --ci-space-5: 20px;
  --ci-space-6: 24px;
  --ci-space-7: 32px;
  --ci-surface-border: rgba(15, 23, 42, 0.12);
  --ci-surface-card: rgba(255, 255, 255, 0.95);
  --ci-surface-card-strong: #ffffff;
  --ci-surface-grad-a: #fcfffd;
  --ci-surface-grad-b: #f4f9ff;
  --ci-accent-primary: #0f5132;
  --ci-accent-secondary: #155e75;
  --ci-accent-warn: #b45309;
  --ci-accent-danger: #b91c1c;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(22, 163, 74, 0.1) 0%, rgba(22, 163, 74, 0) 52%),
    radial-gradient(120% 120% at 100% 0%, rgba(21, 94, 117, 0.11) 0%, rgba(21, 94, 117, 0) 56%),
    var(--paper);
  color: var(--ink);
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  letter-spacing: 0;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--ink);
}

button {
  font: inherit;
}

.app-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  min-height: 100vh;
  max-width: 100vw;
  overflow-x: hidden;
}

.sidebar {
  background: #18251f;
  color: #edf5ef;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: auto;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  width: 44px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: #244034;
  border-radius: 8px;
  font-weight: 800;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 0.76rem;
  text-transform: uppercase;
  font-weight: 800;
}

.sidebar .eyebrow {
  color: #9db6aa;
}

h1,
h2,
h3,
h4,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 0;
  font-size: 1.15rem;
  line-height: 1.18;
}

.module-nav {
  display: grid;
  gap: 6px;
}

.module-tab {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #cfddd5;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  text-align: left;
  cursor: pointer;
}

.module-tab:hover,
.module-tab.is-active {
  background: #274237;
  color: #ffffff;
}

.module-tab span:first-child {
  display: grid;
  place-items: center;
  width: 32px;
  aspect-ratio: 1;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.78rem;
  font-weight: 800;
}

.module-tab strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.88rem;
}

.server-card {
  margin-top: auto;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
}

.server-card small {
  display: block;
  color: #a9bcb3;
  margin-top: 3px;
}

.status-dot {
  width: 10px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #40d99d;
  box-shadow: 0 0 0 5px rgba(64, 217, 157, 0.16);
}

.workspace {
  padding: 26px;
  display: grid;
  align-content: start;
  gap: 20px;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}

.topbar h2 {
  margin-bottom: 0;
  font-size: clamp(1.8rem, 3vw, 3.2rem);
  line-height: 1;
}

.platform-positioning {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.45;
  font-weight: 650;
}

.topbar-actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.view-button {
  border: 0;
  background: transparent;
  color: var(--muted);
  border-radius: 6px;
  padding: 9px 13px;
  cursor: pointer;
  font-weight: 750;
  white-space: nowrap;
}

.view-button.is-active {
  color: var(--ink);
  background: var(--green-soft);
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.metric-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 16px;
}

.metric-card span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.metric-card strong {
  display: block;
  margin-top: 10px;
  font-size: 1.6rem;
}

.metric-card[data-tone="green"] strong { color: var(--green); }
.metric-card[data-tone="amber"] strong { color: var(--amber); }
.metric-card[data-tone="blue"] strong { color: var(--blue); }
.metric-card[data-tone="red"] strong { color: var(--red); }

.next-action-bar {
  position: sticky;
  top: 12px;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(260px, 1.2fr) minmax(280px, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(72, 84, 95, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 34px rgba(22, 32, 28, 0.08);
  backdrop-filter: blur(12px);
  padding: 12px;
}

.next-action-bar[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
}

.next-action-bar[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.3);
}

.next-action-bar[data-state="complete"] {
  border-color: rgba(33, 98, 125, 0.28);
}

.next-action-main {
  min-width: 0;
}

.next-action-main span,
.next-action-meta span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.next-action-main strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.next-action-main p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.next-action-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.next-action-meta article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf9;
  padding: 9px;
}

.next-action-meta strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 0.86rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.next-action-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.next-action-actions button {
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: #16201c;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 850;
  white-space: nowrap;
}

.next-action-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.next-action-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

.deal-room {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
  padding: 16px;
}

.deal-room[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.32);
}

.deal-room[data-state="warn"] {
  border-color: rgba(183, 110, 25, 0.32);
}

.deal-room[data-state="complete"] {
  border-color: rgba(35, 110, 159, 0.34);
}

.deal-room-head,
.deal-room-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.deal-room-head h3 {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.2;
}

.deal-room-head p,
.deal-room-bottom p,
#dealRoomNote {
  margin: 5px 0 0;
  color: var(--muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.deal-room-score {
  min-width: 128px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf9;
  padding: 12px;
  text-align: right;
}

.deal-room-score span,
.deal-room-grid span,
.deal-room-bottom span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.deal-room-score strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1;
}

.deal-room-score small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-weight: 750;
}

.deal-room-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 8px;
}

.deal-room-grid article {
  min-width: 0;
  min-height: 112px;
  display: grid;
  align-content: start;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 10px;
}

.deal-room-grid article[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.25);
  background: var(--green-soft);
}

.deal-room-grid article[data-state="warn"] {
  border-color: rgba(183, 110, 25, 0.28);
  background: var(--amber-soft);
}

.deal-room-grid strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.deal-room-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.deal-room-bottom > div:first-child {
  min-width: 0;
}

.deal-room-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.deal-room-actions button {
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: #16201c;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 850;
  white-space: nowrap;
}

.deal-room-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.command-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.95fr) minmax(420px, 1.3fr);
  gap: 18px;
  align-items: stretch;
}

.market-radar-layout {
  grid-template-columns: minmax(220px, 0.64fr) minmax(420px, 1fr) minmax(460px, 1.22fr);
  align-items: start;
}

.module-panel,
.radar-rail,
.market-feed-panel,
.live-board,
.selected-opportunity,
.trust-band,
.trust-grid article,
.roadmap-card,
.ai-trust-card,
.ai-usecase-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.module-panel {
  padding: 24px;
  display: grid;
  gap: 18px;
}

.radar-rail,
.market-feed-panel {
  padding: 18px;
  display: grid;
  gap: 16px;
}

.radar-rail {
  align-self: start;
}

.radar-section {
  display: grid;
  gap: 10px;
}

.saved-radar-list {
  display: grid;
  gap: 8px;
}

.saved-radar-list button {
  width: 100%;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  padding: 11px;
  cursor: pointer;
  font: inherit;
}

.saved-radar-list button.is-active {
  border-color: rgba(34, 92, 132, 0.42);
  background: #eef6fb;
}

.saved-radar-list strong,
.saved-radar-list span {
  display: block;
}

.saved-radar-list span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.radar-filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.radar-filter-list span,
.status-pill {
  border-radius: 999px;
  padding: 6px 9px;
  background: #eef2f4;
  color: #344850;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.1;
}

.status-pill[data-status="ready"] {
  background: #e7f4ee;
  color: #1d6d55;
}

.status-pill[data-status="anomaly"] {
  background: #fff1dc;
  color: #9a5b09;
}

.feed-header {
  display: grid;
  gap: 7px;
}

.feed-header h3 {
  margin: 0;
  font-size: 1.24rem;
}

.feed-header p:last-child {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.opportunity-table-head,
.opportunity-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 82px 78px 116px;
  gap: 10px;
  align-items: center;
}

.opportunity-table-head {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.opportunity-list {
  display: grid;
  gap: 8px;
}

.opportunity-row {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  padding: 11px;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.opportunity-row.is-active {
  border-color: rgba(29, 123, 95, 0.46);
  box-shadow: 0 10px 24px rgba(20, 35, 42, 0.08);
}

.opportunity-row strong,
.opportunity-row small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.opportunity-row small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.78rem;
}

.opportunity-row .move {
  color: #9a3f19;
  font-weight: 850;
}

.module-panel[data-status="foundation"],
.ai-usecase-card[data-status="foundation"] {
  border-color: #b8d8ca;
}

.module-panel[data-status="design-ready"],
.ai-usecase-card[data-status="design-ready"] {
  border-color: #d9c295;
}

.module-panel[data-status="planned"],
.ai-usecase-card[data-status="planned"] {
  border-color: #c8d8e6;
}

.module-panel[data-status="compliance-gated"],
.ai-usecase-card[data-status="compliance-gated"] {
  border-color: #dfb7b7;
}

.panel-kicker,
.phase-pill {
  width: fit-content;
  border-radius: 999px;
  padding: 7px 10px;
  background: var(--amber-soft);
  color: var(--amber);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.module-panel h3,
.live-board h3 {
  margin-bottom: 0;
  font-size: 1.75rem;
  line-height: 1.1;
}

.module-panel p {
  color: var(--muted);
  line-height: 1.65;
}

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

.capability-list span {
  min-height: 42px;
  display: flex;
  align-items: center;
  border-radius: 8px;
  padding: 9px 10px;
  background: #f0f4f1;
  color: #2b4238;
  font-weight: 750;
  font-size: 0.88rem;
}

.ai-feature-panel {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  display: grid;
  gap: 14px;
}

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

.ai-feature-head span,
.ai-readiness-panel > span,
.ai-list-grid span,
.ai-flow-grid dt,
.ai-usecase-card dt {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ai-feature-head strong {
  color: var(--blue);
  font-size: 0.82rem;
  line-height: 1.35;
  text-align: right;
  overflow-wrap: anywhere;
}

.ai-feature-panel h4 {
  margin: 0;
  font-size: 1.05rem;
}

.ai-flow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.ai-flow-grid div,
.ai-usecase-card dl div {
  min-width: 0;
}

.ai-flow-grid dd,
.ai-usecase-card dd {
  margin: 5px 0 0;
  color: var(--ink);
  line-height: 1.45;
}

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

.ai-list-grid > div {
  border-left: 3px solid var(--green-soft);
  padding-left: 12px;
}

.ai-list-grid ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.45;
}

.ai-readiness-panel {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7faf8;
}

.ai-readiness-panel[data-status="foundation"] {
  background: #f2faf6;
}

.ai-readiness-panel[data-status="design-ready"] {
  background: #fff9ee;
}

.ai-readiness-panel[data-status="planned"] {
  background: #f3f8fb;
}

.ai-readiness-panel[data-status="compliance-gated"] {
  background: #fff4f4;
}

.ai-readiness-panel ul {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
  list-style: none;
}

.ai-readiness-panel li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  color: #334d42;
  font-weight: 700;
  line-height: 1.35;
}

.ai-readiness-panel li::before {
  content: "";
  width: 9px;
  aspect-ratio: 1;
  margin-top: 5px;
  border-radius: 999px;
  background: var(--green);
}

.module-meta {
  display: grid;
  gap: 10px;
}

.module-meta div {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.module-meta span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.module-meta strong {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
}

.live-board {
  padding: 22px;
  min-height: 560px;
  display: grid;
  grid-template-rows: auto auto auto minmax(220px, 1fr);
  gap: 20px;
}

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

.brief-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcf9;
  padding: 16px;
  display: grid;
  gap: 12px;
}

.selected-opportunity {
  padding: 16px;
  display: grid;
  gap: 14px;
  background: #fff;
}

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

.selected-opportunity h4 {
  margin: 8px 0 4px;
  font-size: 1.28rem;
  line-height: 1.15;
}

.selected-opportunity p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.signal-meta-grid,
.validation-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.signal-meta-grid {
  margin: 0;
}

.signal-meta-grid div,
.validation-action-grid > div {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf8;
  padding: 11px;
}

.signal-meta-grid dt,
.signal-explanation span,
.validation-action-grid span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.signal-meta-grid dd {
  margin: 5px 0 0;
  line-height: 1.35;
}

.signal-explanation {
  display: grid;
  gap: 6px;
}

.validation-action-grid ul {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 7px;
}

.validation-action-grid li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid rgba(27, 42, 51, 0.08);
  padding-bottom: 6px;
}

.validation-action-grid li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.validation-action-grid strong {
  text-align: right;
}

.opportunity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.opportunity-actions button {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  padding: 9px 10px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.opportunity-actions button.is-primary {
  border-color: #225c84;
  background: #225c84;
  color: #fff;
}

.ask-cerebral {
  border: 1px solid rgba(34, 92, 132, 0.22);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(245, 249, 252, 0.97)),
    linear-gradient(120deg, rgba(34, 92, 132, 0.14), rgba(29, 123, 95, 0.11));
  box-shadow: 0 20px 46px rgba(20, 35, 42, 0.1);
  padding: 18px;
  display: grid;
  gap: 14px;
}

.ask-cerebral-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
  gap: 14px;
  align-items: start;
}

.ask-cerebral-thread-pane,
.ask-cerebral-inspector-pane {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.ask-cerebral-intro {
  border: 1px solid rgba(34, 92, 132, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  padding: 12px;
}

.ask-cerebral-intro span,
.ask-cerebral-thread-meta span,
.ask-cerebral-source-controls label,
.ask-cerebral-export span,
.ask-cerebral-head span,
.ask-cerebral-metrics span,
.ask-cerebral-directive span,
.ask-cerebral-router > div > span,
.ask-cerebral-conversation-head span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ask-cerebral-intro h4 {
  margin: 6px 0 7px;
  color: var(--ink);
  line-height: 1.25;
}

.ask-cerebral-intro p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.ask-cerebral-thread-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.ask-cerebral-thread-meta article {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.ask-cerebral-thread-meta strong {
  display: block;
  margin-top: 5px;
  color: #0f3f61;
  font-size: 0.89rem;
  overflow-wrap: anywhere;
}

.ask-cerebral-conversation {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  padding: 12px;
  min-height: 320px;
  max-height: 520px;
  overflow: auto;
  display: grid;
  gap: 10px;
}

.ask-cerebral-conversation article {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 6px;
}

.ask-cerebral-conversation article[data-role="user"] {
  border-color: rgba(34, 92, 132, 0.34);
  background: #f3f8fc;
}

.ask-cerebral-conversation article[data-role="assistant"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f6fbf8;
}

.ask-cerebral-conversation article[data-status="pending"] {
  border-style: dashed;
}

.ask-cerebral-conversation-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.ask-cerebral-conversation-head strong {
  color: var(--ink);
  font-size: 0.86rem;
}

.ask-cerebral-conversation-head em {
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
}

.ask-cerebral-conversation p {
  margin: 0;
  color: var(--ink);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.ask-cerebral-turn-meta {
  color: var(--muted);
  font-size: 0.74rem;
}

.ask-cerebral-conversation-empty {
  border: 1px dashed var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 14px;
  color: var(--muted);
  margin: 0;
}

.ask-cerebral-suggested-prompts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ask-cerebral-suggested-prompts button {
  border: 1px solid rgba(34, 92, 132, 0.26);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  color: #225c84;
  cursor: pointer;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 8px 11px;
}

.ask-cerebral-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.ask-cerebral-form label {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ask-cerebral-form input {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  padding: 13px 12px;
  font: inherit;
  font-weight: 760;
}

.ask-cerebral-form-actions {
  display: grid;
  gap: 8px;
}

.ask-cerebral-form button,
.ask-cerebral-actions button,
.ask-cerebral-sources button,
.ask-cerebral-export button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #225c84;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.ask-cerebral-form-actions button + button,
.ask-cerebral-actions button + button,
.ask-cerebral-sources button,
.ask-cerebral-export-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.ask-cerebral-export {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.84);
  padding: 11px;
  display: grid;
  gap: 8px;
}

.ask-cerebral-export-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#askCerebralExportNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ask-cerebral[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.42);
}

.ask-cerebral[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.42);
}

.ask-cerebral[data-state="blocked"] {
  border-color: rgba(173, 55, 55, 0.42);
}

.ask-cerebral-answer {
  display: grid;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  padding: 11px;
}

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

.ask-cerebral-head strong {
  color: #225c84;
  line-height: 1.3;
  overflow-wrap: anywhere;
  text-align: right;
}

#askCerebralAnswer,
#askCerebralNote {
  margin: 0;
  color: var(--ink);
  line-height: 1.5;
}

#askCerebralNote {
  color: var(--muted);
}

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

.ask-cerebral-metrics article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.76);
  padding: 10px;
}

.ask-cerebral-metrics strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

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

.ask-cerebral-sources article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 7px;
}

.ask-cerebral-sources strong,
.ask-cerebral-sources span,
.ask-cerebral-sources em {
  overflow-wrap: anywhere;
}

.ask-cerebral-sources span,
.ask-cerebral-sources em {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ask-cerebral-sources em {
  font-style: normal;
  color: #4f634f;
}

.ask-cerebral-sources button {
  justify-self: start;
  padding: 8px 10px;
}

.ask-cerebral-source-controls {
  display: grid;
  grid-template-columns: auto minmax(160px, 0.45fr) minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.ask-cerebral-source-controls select,
.ask-cerebral-source-controls input {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  padding: 8px 10px;
  font: inherit;
}

#askCerebralSourceFilterCount {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
}

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

.ask-cerebral-router > div {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.ask-tool-timeline,
.ask-insight-cards {
  display: grid;
  gap: 8px;
}

.ask-tool-timeline article,
.ask-insight-cards article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 5px;
}

.ask-tool-timeline article[data-status="completed"],
.ask-tool-timeline article[data-status="available"] {
  border-color: rgba(29, 123, 95, 0.32);
  background: #f4fbf7;
}

.ask-tool-timeline article[data-status="blocked"] {
  border-color: rgba(173, 55, 55, 0.32);
  background: #fff7f7;
}

.ask-tool-timeline span,
.ask-insight-cards span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ask-tool-timeline strong,
.ask-insight-cards strong,
.ask-tool-timeline p,
.ask-insight-cards p {
  margin: 0;
  overflow-wrap: anywhere;
}

.ask-tool-timeline p,
.ask-insight-cards p {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}

.ask-cerebral-directive {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) auto;
  gap: 10px;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  padding: 11px;
}

.ask-cerebral-actions {
  display: flex;
  gap: 8px;
  justify-content: end;
}

.ask-cerebral-recommended-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ask-cerebral-recommended-actions button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 850;
  padding: 8px 11px;
}

#askCerebralDirective {
  max-height: 210px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #111a22;
  color: #eaf2f5;
  padding: 12px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.technical-payload {
  grid-column: 1 / -1;
}

.technical-payload summary {
  width: fit-content;
  cursor: pointer;
  color: #225c84;
  font-weight: 850;
}

.technical-payload[open] summary {
  margin-bottom: 8px;
}

.ask-proof-receipt {
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 250, 248, 0.98)),
    linear-gradient(135deg, rgba(29, 123, 95, 0.12), rgba(156, 101, 46, 0.10));
  box-shadow: 0 18px 38px rgba(20, 35, 42, 0.08);
  padding: 16px;
  display: grid;
  gap: 12px;
}

.ask-proof-receipt[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.48);
}

.ask-proof-receipt[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.46);
}

.ask-proof-receipt[data-state="blocked"] {
  border-color: rgba(173, 55, 55, 0.46);
}

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

.ask-proof-head span,
.ask-proof-grid span,
.ask-proof-next span,
.ask-proof-checks span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ask-proof-head strong {
  display: block;
  margin-top: 4px;
  color: #1d7b5f;
  overflow-wrap: anywhere;
}

.ask-proof-actions {
  display: flex;
  gap: 8px;
  justify-content: end;
}

.ask-proof-actions button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #1d7b5f;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.ask-proof-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.ask-proof-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

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

.ask-proof-grid article,
.ask-proof-next {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.ask-proof-grid strong,
.ask-proof-next strong {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.ask-proof-checks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.ask-proof-checks li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 4px;
}

.ask-proof-checks li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
}

.ask-proof-checks li[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.38);
}

.ask-proof-checks strong,
.ask-proof-checks small {
  overflow-wrap: anywhere;
}

.ask-proof-checks small {
  color: var(--muted);
  line-height: 1.35;
}

#askProofReceiptPreview {
  max-height: 230px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #111a22;
  color: #eaf2f5;
  padding: 12px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#askProofReceiptNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.buyer-demo-onepager {
  border: 1px solid rgba(17, 25, 22, 0.18);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(248, 250, 252, 0.96)),
    linear-gradient(135deg, rgba(34, 92, 132, 0.10), rgba(29, 123, 95, 0.10));
  box-shadow: 0 18px 42px rgba(20, 35, 42, 0.08);
  padding: 16px;
  display: grid;
  gap: 12px;
}

.buyer-demo-onepager[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.46);
}

.buyer-demo-onepager[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.44);
}

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

.buyer-demo-head span,
.buyer-demo-grid span,
.buyer-demo-next span,
.buyer-demo-proof-list span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.buyer-demo-head strong {
  display: block;
  margin-top: 4px;
  color: #225c84;
  overflow-wrap: anywhere;
}

.buyer-demo-actions {
  display: flex;
  gap: 8px;
  justify-content: end;
}

.buyer-demo-actions button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #225c84;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.buyer-demo-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.buyer-demo-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.buyer-demo-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.buyer-demo-grid article,
.buyer-demo-next {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.buyer-demo-grid strong,
.buyer-demo-next strong {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.buyer-demo-proof-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.buyer-demo-proof-list li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 4px;
}

.buyer-demo-proof-list li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
}

.buyer-demo-proof-list li[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.38);
}

.buyer-demo-proof-list strong,
.buyer-demo-proof-list small {
  overflow-wrap: anywhere;
}

.buyer-demo-proof-list small {
  color: var(--muted);
  line-height: 1.35;
}

#buyerDemoPreview {
  max-height: 245px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #111a22;
  color: #eaf2f5;
  padding: 12px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#buyerDemoNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.buyer-outreach-kit {
  border: 1px solid rgba(34, 92, 132, 0.22);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(247, 250, 248, 0.96)),
    linear-gradient(135deg, rgba(34, 92, 132, 0.10), rgba(156, 101, 46, 0.10));
  box-shadow: 0 18px 42px rgba(20, 35, 42, 0.08);
  padding: 16px;
  display: grid;
  gap: 12px;
}

.buyer-outreach-kit[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.46);
}

.buyer-outreach-kit[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.44);
}

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

.buyer-outreach-head span,
.buyer-outreach-grid span,
.buyer-outreach-next span,
.buyer-outreach-qualification span,
.buyer-outreach-checks span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.buyer-outreach-head strong {
  display: block;
  margin-top: 4px;
  color: #9c652e;
  overflow-wrap: anywhere;
}

.buyer-outreach-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: end;
}

.buyer-outreach-actions button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #9c652e;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.buyer-outreach-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.buyer-outreach-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

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

.buyer-outreach-grid article,
.buyer-outreach-next {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.buyer-outreach-grid strong,
.buyer-outreach-next strong,
.buyer-outreach-qualification strong {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.buyer-outreach-qualification {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.buyer-outreach-qualification li {
  min-width: 0;
  border: 1px solid rgba(34, 92, 132, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  padding: 10px;
}

.buyer-outreach-qualification li[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.38);
}

.buyer-outreach-checks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.buyer-outreach-checks li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 4px;
}

.buyer-outreach-checks li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
}

.buyer-outreach-checks li[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.38);
}

.buyer-outreach-checks strong,
.buyer-outreach-checks small {
  overflow-wrap: anywhere;
}

.buyer-outreach-checks small {
  color: var(--muted);
  line-height: 1.35;
}

#buyerOutreachPreview {
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #111a22;
  color: #eaf2f5;
  padding: 12px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#buyerOutreachNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.buyer-qualification-scorecard {
  border: 1px solid rgba(35, 110, 159, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 252, 0.96)),
    linear-gradient(135deg, rgba(35, 110, 159, 0.10), rgba(29, 123, 95, 0.09));
  box-shadow: 0 18px 42px rgba(20, 35, 42, 0.08);
  padding: 16px;
  display: grid;
  gap: 12px;
}

.buyer-qualification-scorecard[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.52);
}

.buyer-qualification-scorecard[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.42);
}

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

.buyer-qualification-head span,
.buyer-qualification-grid span,
.buyer-qualification-next span,
.buyer-qualification-criteria span,
.buyer-qualification-copy span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.buyer-qualification-head strong {
  display: block;
  margin-top: 4px;
  color: #236e9f;
  overflow-wrap: anywhere;
}

.buyer-qualification-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: end;
}

.buyer-qualification-actions button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #236e9f;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.buyer-qualification-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.buyer-qualification-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

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

.buyer-qualification-copy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.buyer-qualification-grid article,
.buyer-qualification-next,
.buyer-qualification-copy article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.buyer-qualification-grid strong,
.buyer-qualification-next strong,
.buyer-qualification-criteria strong {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.buyer-qualification-criteria {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.buyer-qualification-criteria li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 4px;
}

.buyer-qualification-criteria li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
}

.buyer-qualification-criteria li[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.38);
}

.buyer-qualification-criteria small,
.buyer-qualification-copy li {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.buyer-qualification-copy ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.buyer-qualification-copy li + li {
  margin-top: 5px;
}

#buyerQualificationPreview {
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101922;
  color: #e9f3f7;
  padding: 12px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#buyerQualificationNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.pilot-activation-kit {
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 248, 0.96)),
    linear-gradient(135deg, rgba(29, 123, 95, 0.10), rgba(34, 92, 132, 0.10));
  box-shadow: 0 18px 42px rgba(20, 35, 42, 0.08);
  padding: 16px;
  display: grid;
  gap: 12px;
}

.pilot-activation-kit[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.52);
}

.pilot-activation-kit[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.42);
}

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

.pilot-activation-head span,
.pilot-activation-grid span,
.pilot-activation-next span,
.pilot-activation-plan span,
.pilot-activation-checks span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.pilot-activation-head strong {
  display: block;
  margin-top: 4px;
  color: #1d7b5f;
  overflow-wrap: anywhere;
}

.pilot-activation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: end;
}

.pilot-activation-actions button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #1d7b5f;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.pilot-activation-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.pilot-activation-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

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

.pilot-activation-grid article,
.pilot-activation-next {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.pilot-activation-grid strong,
.pilot-activation-next strong,
.pilot-activation-plan strong {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pilot-activation-plan {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.pilot-activation-plan li {
  min-width: 0;
  border: 1px solid rgba(29, 123, 95, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  padding: 10px;
  display: grid;
  gap: 4px;
}

.pilot-activation-plan li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
}

.pilot-activation-plan li[data-state="manual"] {
  border-color: rgba(34, 92, 132, 0.34);
}

.pilot-activation-plan li[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.38);
}

.pilot-activation-plan small {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pilot-activation-checks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 8px;
}

.pilot-activation-checks li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 4px;
}

.pilot-activation-checks li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
}

.pilot-activation-checks li[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.38);
}

.pilot-activation-checks strong,
.pilot-activation-checks small {
  overflow-wrap: anywhere;
}

.pilot-activation-checks small {
  color: var(--muted);
  line-height: 1.35;
}

#pilotActivationPreview {
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101b18;
  color: #eaf5f1;
  padding: 12px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#pilotActivationNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.buyer-meeting-brief {
  border: 1px solid rgba(36, 91, 109, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 250, 251, 0.96)),
    linear-gradient(135deg, rgba(36, 91, 109, 0.10), rgba(156, 101, 46, 0.08));
  box-shadow: 0 18px 42px rgba(20, 35, 42, 0.08);
  padding: 16px;
  display: grid;
  gap: 12px;
}

.buyer-meeting-brief[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.52);
}

.buyer-meeting-brief[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.42);
}

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

.buyer-meeting-head span,
.buyer-meeting-grid span,
.buyer-meeting-next span,
.buyer-meeting-agenda span,
.buyer-meeting-copy span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.buyer-meeting-head strong {
  display: block;
  margin-top: 4px;
  color: #245b6d;
  overflow-wrap: anywhere;
}

.buyer-meeting-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: end;
}

.buyer-meeting-actions button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #245b6d;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.buyer-meeting-actions button + button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.buyer-meeting-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

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

.buyer-meeting-copy {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.buyer-meeting-grid article,
.buyer-meeting-next,
.buyer-meeting-copy article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  padding: 10px;
}

.buyer-meeting-grid strong,
.buyer-meeting-next strong,
.buyer-meeting-agenda strong,
.buyer-meeting-copy strong {
  display: block;
  margin-top: 5px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.buyer-meeting-agenda {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.buyer-meeting-agenda li {
  min-width: 0;
  border: 1px solid rgba(36, 91, 109, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  padding: 10px;
  display: grid;
  gap: 4px;
}

.buyer-meeting-agenda li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
}

.buyer-meeting-agenda small,
.buyer-meeting-copy li,
.buyer-meeting-copy span {
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.buyer-meeting-copy ul {
  margin: 8px 0 0;
  padding-left: 18px;
}

.buyer-meeting-copy li + li {
  margin-top: 6px;
}

.buyer-meeting-copy li span {
  display: block;
  margin-top: 4px;
  text-transform: none;
  font-size: 0.78rem;
  font-weight: 650;
}

#buyerMeetingPreview {
  max-height: 280px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #10191d;
  color: #e9f4f6;
  padding: 12px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#buyerMeetingNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.workflow-launcher {
  border: 1px solid rgba(35, 110, 159, 0.22);
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fbfd 0%, #f9fcf4 100%);
  padding: 14px;
  display: grid;
  gap: 12px;
}

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

.workflow-head span,
.workflow-controls span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.workflow-head strong,
.workflow-controls strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.workflow-head button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: #111916;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.workflow-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1.1fr) repeat(2, minmax(140px, 0.95fr));
  gap: 10px;
}

.workflow-controls label,
.workflow-controls article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  padding: 11px;
}

.workflow-controls select {
  width: 100%;
  margin-top: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

.workflow-launcher p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.checkout-rail {
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 8px;
  background: #f7fbf8;
  padding: 14px;
  display: grid;
  gap: 12px;
}

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

.checkout-rail-head span,
.checkout-rail-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.checkout-rail-head strong,
.checkout-rail-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.checkout-rail-head button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: var(--green);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.checkout-rail-head button:disabled {
  cursor: not-allowed;
  opacity: 0.56;
}

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

.checkout-rail-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 11px;
}

.checkout-rail-grid small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#checkoutRailStatus {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.payment-readiness {
  border: 1px solid rgba(43, 95, 138, 0.24);
  border-radius: 8px;
  background: #f7fbfd;
  padding: 14px;
  display: grid;
  gap: 12px;
}

.payment-readiness[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.34);
  background: #eefaf4;
}

.payment-readiness[data-state="warn"] {
  border-color: rgba(183, 110, 25, 0.32);
  background: #fff9ea;
}

.payment-readiness[data-state="blocked"] {
  border-color: rgba(166, 58, 58, 0.32);
  background: #fff5f3;
}

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

.payment-readiness-head span,
.payment-readiness-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.payment-readiness-head strong,
.payment-readiness-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.payment-readiness-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.payment-readiness-actions button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: #15354d;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 850;
  white-space: nowrap;
}

.payment-readiness-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e5ebe8;
}

.payment-readiness-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.payment-readiness-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 11px;
}

#paymentReadinessCommand {
  display: block;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
  color: var(--ink);
  overflow-wrap: anywhere;
}

#paymentReadinessNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#paymentReadinessPreview {
  max-height: 220px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101b24;
  color: #eef7fb;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.checkout-quote {
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 8px;
  background: #f7fbf8;
  padding: 14px;
  display: grid;
  gap: 12px;
}

.checkout-quote[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.36);
  background: #eefaf4;
}

.checkout-quote[data-state="warn"] {
  border-color: rgba(183, 110, 25, 0.34);
  background: #fff9ea;
}

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

.checkout-quote-head span,
.checkout-quote-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.checkout-quote-head strong,
.checkout-quote-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.checkout-quote-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.checkout-quote-actions button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: var(--green);
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 850;
  white-space: nowrap;
}

.checkout-quote-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e5ebe8;
}

.checkout-quote-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 10px;
}

.checkout-quote-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 11px;
}

#checkoutQuoteNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#checkoutQuotePreview {
  max-height: 220px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101f18;
  color: #eff7f2;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.workflow-progress {
  border: 1px solid rgba(22, 98, 70, 0.18);
  border-radius: 8px;
  background: #fbfdfb;
  padding: 12px;
  display: grid;
  gap: 10px;
}

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

.workflow-progress-head span,
.workflow-progress-step span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.workflow-progress-head strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.workflow-progress-head small {
  flex: 0 0 auto;
  border-radius: 999px;
  color: #166246;
  background: #e6f5ee;
  padding: 7px 9px;
  font-weight: 850;
  white-space: nowrap;
}

.workflow-progress-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.workflow-progress-step {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.workflow-progress-step[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #edf8f2;
}

.workflow-progress-step[data-state="warn"] {
  border-color: rgba(194, 132, 31, 0.36);
  background: #fff8e8;
}

.workflow-progress-step strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.2;
  text-transform: capitalize;
}

.workflow-progress-step small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.brief-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.brief-search label {
  display: block;
  margin-bottom: 7px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.brief-search input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

.brief-search button,
.query-chips button {
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.brief-search button {
  padding: 12px 14px;
  color: #fff;
  background: var(--green);
}

.query-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.query-chips button {
  padding: 8px 10px;
  color: #355246;
  background: #edf6f1;
}

.brief-result {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 10px;
}

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

.brief-result-head span {
  width: fit-content;
  border-radius: 999px;
  padding: 7px 9px;
  color: var(--blue);
  background: var(--blue-soft);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.brief-result-head strong {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
  text-align: right;
}

.brief-result p {
  margin: 0;
  color: var(--ink);
  line-height: 1.55;
}

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

.brief-sources article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
  display: grid;
  gap: 6px;
  min-width: 0;
}

.brief-sources button,
.compare-inspect {
  width: fit-content;
  border: 0;
  border-radius: 8px;
  padding: 8px 10px;
  color: #355246;
  background: #edf6f1;
  cursor: pointer;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 850;
}

.brief-sources strong {
  font-size: 0.9rem;
  line-height: 1.25;
}

.brief-sources span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
}

.brief-sources p {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

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

.trust-scorecard article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.trust-scorecard span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.trust-scorecard strong {
  color: var(--ink);
  font-size: 0.95rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.action-queue {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.action-queue-head span,
.action-queue-list span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.action-queue-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
}

.action-queue-head button {
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: #111916;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

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

.action-queue-list article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
  display: grid;
  gap: 8px;
}

.action-queue-list article[data-priority="p0"] {
  border-color: rgba(183, 110, 25, 0.35);
  background: #fff8e8;
}

.action-queue-list article[data-priority="p1"] {
  border-color: rgba(35, 110, 159, 0.24);
  background: #f2f8fb;
}

.action-queue-list strong,
.action-queue-list p,
.action-queue-list small {
  overflow-wrap: anywhere;
}

.action-queue-list p,
#actionQueueStatus {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.action-queue-list small {
  color: var(--green);
  font-weight: 850;
  line-height: 1.3;
}

.compare-panel {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.compare-head span,
.compare-inputs span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.compare-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
}

.compare-head button {
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: #111916;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

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

.compare-inputs input {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

.compare-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 12px;
  display: grid;
  gap: 8px;
}

.compare-card[data-state="error"] {
  border-color: var(--red-soft);
  background: #fff8f8;
}

.compare-card-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.compare-card-head span {
  color: var(--ink);
  font-weight: 850;
  overflow-wrap: anywhere;
}

.compare-card-head strong {
  color: var(--green);
  font-size: 0.8rem;
  white-space: nowrap;
}

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

.compare-card small {
  color: var(--blue);
  font-weight: 800;
  line-height: 1.3;
}

.evidence-inspector {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.evidence-head span,
.evidence-meta-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.evidence-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.evidence-head button {
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: var(--blue);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.evidence-head button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #edf1ee;
}

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

.evidence-meta-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf8;
  padding: 10px;
}

.evidence-meta-grid strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

#evidenceSnippet {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

#evidenceCitation {
  max-height: 180px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101d21;
  color: #eaf4f5;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.watchlist-tray {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.watchlist-head span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.watchlist-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
}

.watchlist-head button,
.watchlist-controls button,
.watchlist-item button {
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.watchlist-head button {
  padding: 10px 12px;
  color: #fff;
  background: var(--blue);
}

.watchlist-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.watchlist-controls button {
  padding: 9px 10px;
  color: #355246;
  background: #edf6f1;
}

.watchlist-list {
  display: grid;
  gap: 8px;
}

.watchlist-empty,
.watchlist-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 11px;
}

.watchlist-empty {
  display: grid;
  gap: 4px;
  color: var(--muted);
}

.watchlist-empty strong {
  color: var(--ink);
}

.watchlist-item {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.watchlist-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.watchlist-item span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.watchlist-item strong {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.watchlist-item button {
  padding: 8px 9px;
}

.watchlist-item .draft-alert-button {
  color: #355246;
  background: #edf6f1;
}

.watchlist-item .remove-watchlist-button {
  color: var(--red);
  background: var(--red-soft);
}

.alert-builder {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.alert-head p {
  max-width: 300px;
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: right;
}

.alert-head span,
.alert-form span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.alert-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
}

.alert-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.9fr) auto;
  gap: 10px;
  align-items: end;
}

.alert-form select {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

.alert-form button,
.alert-rule button {
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.alert-form button {
  padding: 10px 12px;
  color: #fff;
  background: var(--amber);
}

.alert-rule-list {
  display: grid;
  gap: 8px;
}

.alert-empty,
.alert-rule {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 11px;
}

.alert-empty {
  display: grid;
  gap: 4px;
  color: var(--muted);
}

.alert-empty strong {
  color: var(--ink);
}

.alert-rule {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.alert-rule span {
  color: var(--amber);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.alert-rule strong,
.alert-rule p {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}

.alert-rule p {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.alert-rule button {
  padding: 8px 9px;
  color: var(--red);
  background: var(--red-soft);
}

.agent-playground {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.agent-playground-head span,
.agent-playground-controls span,
.agent-metrics span,
.agent-console span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.agent-playground-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
}

.agent-playground-head button {
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: var(--blue);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.agent-playground-controls {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(0, 1.2fr);
  gap: 10px;
}

.agent-playground-controls select,
.agent-playground-controls input {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

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

.agent-metrics article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf8;
  padding: 10px;
}

.agent-metrics strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

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

.agent-console > div {
  min-width: 0;
}

#agentRequestPreview,
#agentResponsePreview {
  max-height: 210px;
  overflow: auto;
  margin: 7px 0 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101d21;
  color: #eaf4f5;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.agent-usage-receipt {
  border: 1px solid rgba(33, 98, 125, 0.18);
  border-radius: 8px;
  background: #f7fbfc;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.agent-usage-receipt[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f3fbf8;
}

.agent-usage-receipt[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.3);
  background: #fff8e8;
}

.agent-usage-receipt-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.agent-usage-receipt-head span,
.agent-usage-receipt-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.agent-usage-receipt-head strong,
.agent-usage-receipt-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.agent-usage-receipt-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.agent-usage-receipt-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #15303a;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.agent-usage-receipt-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e3eaec;
}

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

.agent-usage-receipt-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#agentUsageReceiptNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#agentUsageReceiptPreview {
  max-height: 210px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0f1d24;
  color: #ebf7fa;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.buyer-proof-bundle {
  border: 1px solid rgba(72, 84, 95, 0.18);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.buyer-proof-bundle[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f3fbf8;
}

.buyer-proof-bundle[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fffaf0;
}

.buyer-proof-bundle-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.buyer-proof-bundle-head span,
.buyer-proof-bundle-grid span,
.buyer-proof-bundle-list span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.buyer-proof-bundle-head strong,
.buyer-proof-bundle-grid strong,
.buyer-proof-bundle-list strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.buyer-proof-bundle-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.buyer-proof-bundle-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #172527;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.buyer-proof-bundle-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

.buyer-proof-bundle-grid,
.buyer-proof-bundle-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.buyer-proof-bundle-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.buyer-proof-bundle-grid article,
.buyer-proof-bundle-list li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.buyer-proof-bundle-list li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.24);
  background: #f1faf5;
}

.buyer-proof-bundle-list li[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.26);
  background: #fff8e8;
}

.buyer-proof-bundle-list li[data-state="neutral"] {
  background: #f5f7f8;
}

.buyer-proof-bundle-list small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#buyerProofBundleNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#buyerProofBundlePreview {
  max-height: 230px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #111916;
  color: #edf5ef;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.buyer-proof-summary {
  border: 1px solid rgba(44, 91, 127, 0.18);
  border-radius: 8px;
  background: #f8fbfc;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.buyer-proof-summary[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f3fbf8;
}

.buyer-proof-summary[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fffaf0;
}

.buyer-proof-summary-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.buyer-proof-summary-head span,
.buyer-proof-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.buyer-proof-summary-head strong,
.buyer-proof-summary-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.buyer-proof-summary-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.buyer-proof-summary-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #163245;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.buyer-proof-summary-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e3eaec;
}

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

.buyer-proof-summary-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#buyerProofSummaryNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#buyerProofSummaryPreview {
  max-height: 230px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #102027;
  color: #edf8fa;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.entitlement-passport {
  border: 1px solid rgba(29, 123, 95, 0.2);
  border-radius: 8px;
  background: #f7fbf8;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.entitlement-passport[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.3);
  background: #f0faf5;
}

.entitlement-passport[data-state="warn"] {
  border-color: rgba(183, 110, 25, 0.3);
  background: #fff8e8;
}

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

.entitlement-passport-head span,
.entitlement-passport-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.entitlement-passport-head strong,
.entitlement-passport-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.entitlement-passport-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.entitlement-passport-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #20372c;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.entitlement-passport-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e4ece6;
}

.entitlement-passport-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
}

.entitlement-passport-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#entitlementPassportNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#entitlementPassportPreview {
  max-height: 230px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #13221b;
  color: #eef8f2;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.agent-bootstrap {
  border: 1px solid rgba(35, 110, 159, 0.2);
  border-radius: 8px;
  background: #f6fafc;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.agent-bootstrap[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.3);
  background: #f0faf5;
}

.agent-bootstrap[data-state="warn"] {
  border-color: rgba(35, 110, 159, 0.32);
  background: #eef6fb;
}

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

.agent-bootstrap-head span,
.agent-bootstrap-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.agent-bootstrap-head strong,
.agent-bootstrap-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.agent-bootstrap-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.agent-bootstrap-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #173247;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.agent-bootstrap-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e3eaec;
}

.agent-bootstrap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
}

.agent-bootstrap-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#agentBootstrapNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#agentBootstrapPreview {
  max-height: 230px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #10212b;
  color: #eef7fb;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.customer-handoff {
  border: 1px solid rgba(72, 84, 95, 0.2);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.customer-handoff[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.3);
  background: #f0faf5;
}

.customer-handoff[data-state="warn"] {
  border-color: rgba(183, 110, 25, 0.3);
  background: #fff8e8;
}

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

.customer-handoff-head span,
.customer-handoff-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.customer-handoff-head strong,
.customer-handoff-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.customer-handoff-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.customer-handoff-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #22352d;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.customer-handoff-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

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

.customer-handoff-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#customerHandoffNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#customerHandoffPreview {
  max-height: 230px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #151f1a;
  color: #eff7f2;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.roi-case {
  border: 1px solid rgba(43, 95, 138, 0.22);
  border-radius: 8px;
  background: #f7fbfd;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.roi-case[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.35);
  background: #eefaf4;
}

.roi-case[data-state="warn"] {
  border-color: rgba(183, 110, 25, 0.32);
  background: #fff9ea;
}

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

.roi-case-head span,
.roi-case-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.roi-case-head strong,
.roi-case-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.roi-case-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.roi-case-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #15354d;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.roi-case-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

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

.roi-case-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#roiCaseNote {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#roiCasePreview {
  max-height: 230px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101b24;
  color: #eef7fb;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.integration-panel {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.integration-head span,
.integration-controls span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.integration-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
}

.integration-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.integration-head button {
  border: 0;
  border-radius: 8px;
  padding: 10px 12px;
  color: #fff;
  background: #111916;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.integration-controls {
  display: grid;
  grid-template-columns: 1fr repeat(3, minmax(0, 0.9fr));
  gap: 8px;
}

.integration-controls label,
.integration-controls article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf8;
  padding: 10px;
}

.integration-controls select {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

.integration-controls strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

#integrationStatus {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

#integrationSnippet {
  max-height: 260px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101d21;
  color: #eaf4f5;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.packet-composer {
  border-top: 1px solid var(--line);
  padding-top: 12px;
  display: grid;
  gap: 12px;
}

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

.packet-head span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.packet-head strong {
  display: block;
  margin-top: 4px;
  line-height: 1.3;
}

.packet-head button,
.packet-actions button {
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.packet-head button {
  padding: 10px 12px;
  color: #fff;
  background: var(--green);
}

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

.packet-actions button,
.packet-actions span {
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 0.82rem;
  font-weight: 800;
}

.packet-actions button {
  color: #355246;
  background: #edf6f1;
}

.packet-actions span {
  color: var(--muted);
  background: #f0f4f1;
}

.packet-actions span[data-state="ready"] {
  color: #166246;
  background: #e6f5ee;
}

.packet-actions span[data-state="warn"] {
  color: #7b4d0a;
  background: #fff3d8;
}

.packet-audit {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.packet-audit article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf8;
  padding: 10px;
}

.packet-audit article[data-state="pass"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #edf8f2;
}

.packet-audit article[data-state="warn"] {
  border-color: rgba(194, 132, 31, 0.36);
  background: #fff8e8;
}

.packet-audit article[data-state="neutral"] {
  background: #f4f6f2;
}

.packet-audit span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.packet-audit strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 0.9rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.packet-review {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.packet-review[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #edf8f2;
}

.packet-review[data-state="warn"] {
  border-color: rgba(194, 132, 31, 0.36);
  background: #fff8e8;
}

.packet-review[data-state="neutral"] {
  background: #f4f6f2;
}

.packet-review span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.packet-review strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  line-height: 1.3;
}

.packet-review ul {
  margin: 0;
  padding-left: 18px;
  color: var(--ink);
  font-size: 0.88rem;
  line-height: 1.45;
}

.packet-review li + li {
  margin-top: 4px;
}

.trust-component-list {
  border: 1px solid rgba(44, 91, 127, 0.16);
  border-radius: 8px;
  background: #ffffff;
  padding: 9px;
}

.trust-component-list span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.trust-component-list p {
  margin: 6px 0 0;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.35;
}

.trust-component-list button {
  justify-self: start;
  margin-top: 8px;
  border: 0;
  border-radius: 8px;
  background: var(--ink);
  color: #ffffff;
  padding: 8px 10px;
  font-size: 0.78rem;
  font-weight: 850;
  cursor: pointer;
}

.trust-component-list ul {
  list-style: none;
  margin: 7px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.trust-component-list li {
  border: 1px solid rgba(72, 84, 95, 0.12);
  border-radius: 8px;
  padding: 7px 8px;
}

.trust-component-list li[data-state="pass"] {
  border-color: rgba(29, 123, 95, 0.24);
  background: #edf8f2;
}

.trust-component-list li[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fff8e8;
}

.trust-component-list li[data-state="neutral"] {
  background: #f5f7f8;
}

.trust-component-list strong,
.trust-component-list small {
  display: block;
  overflow-wrap: anywhere;
}

.trust-component-list strong {
  color: var(--ink);
  font-size: 0.82rem;
}

.trust-component-list small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.76rem;
}

.citation-ledger {
  border: 1px solid rgba(44, 91, 127, 0.16);
  border-radius: 8px;
  background: #ffffff;
  padding: 9px;
}

.citation-ledger span {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.citation-ledger ul {
  list-style: none;
  margin: 7px 0 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.citation-ledger li {
  border-top: 1px solid rgba(72, 84, 95, 0.12);
  padding-top: 6px;
}

.citation-ledger li:first-child {
  border-top: 0;
  padding-top: 0;
}

.citation-ledger strong,
.citation-ledger small {
  display: block;
  overflow-wrap: anywhere;
}

.citation-ledger strong {
  color: var(--ink);
  font-size: 0.82rem;
}

.citation-ledger small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.76rem;
}

#packetReviewBrief {
  max-height: 160px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101d21;
  color: #eaf4f5;
  padding: 10px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.decision-memo {
  border: 1px solid rgba(42, 131, 184, 0.24);
  border-radius: 8px;
  background: #f7fbfd;
  padding: 12px;
  display: grid;
  gap: 12px;
}

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

.decision-memo-head span,
.decision-memo-grid span,
.decision-memo-body span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.decision-memo-head strong,
.decision-memo-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.decision-memo-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.decision-memo-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #1d5f82;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.decision-memo-grid,
.decision-memo-body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.decision-memo-body {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.decision-memo-grid article,
.decision-memo-body div {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.decision-memo-body ul {
  margin: 7px 0 0;
  padding-left: 18px;
  color: var(--ink);
  font-size: 0.84rem;
  line-height: 1.45;
}

.decision-memo-body li + li {
  margin-top: 4px;
}

.decision-memo-body small {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
}

#decisionMemoOutput {
  max-height: 220px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0f1b24;
  color: #eef7fb;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.handoff-manifest {
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 8px;
  background: #f6faf8;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.handoff-manifest span,
.handoff-manifest-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.handoff-manifest strong,
.handoff-manifest-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

#handoffManifestValidationStatus[data-state="pass"] {
  color: #146c4f;
}

#handoffManifestValidationStatus[data-state="warn"] {
  color: #9a6700;
}

#handoffManifestValidationStatus[data-state="neutral"] {
  color: var(--muted);
}

.handoff-validation-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}

.handoff-validation-list li {
  border: 1px solid rgba(72, 84, 95, 0.14);
  border-radius: 8px;
  background: #ffffff;
  padding: 8px 9px;
  display: grid;
  gap: 3px;
}

.handoff-validation-list li[data-state="pass"] {
  border-color: rgba(29, 123, 95, 0.24);
  background: #edf8f2;
}

.handoff-validation-list li[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fff8e8;
}

.handoff-validation-list li[data-state="neutral"] {
  background: #f5f7f8;
}

.handoff-validation-list span {
  margin: 0;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 850;
  text-transform: uppercase;
}

.handoff-validation-list strong {
  margin: 0;
  color: var(--ink);
  font-size: 0.82rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.handoff-manifest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.handoff-manifest-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #22664f;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.handoff-manifest-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.handoff-manifest-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.agent-contract {
  border: 1px solid rgba(42, 131, 184, 0.24);
  border-radius: 8px;
  background: #f8fbfd;
  padding: 12px;
  display: grid;
  gap: 10px;
}

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

.agent-contract-head span,
.agent-contract-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.agent-contract-head strong,
.agent-contract-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.agent-contract-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.agent-contract-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #1d5f82;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

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

.agent-contract-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#agentContractOutput {
  max-height: 220px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0f1b24;
  color: #eef7fb;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.packet-export-drawer {
  border: 1px solid rgba(29, 123, 95, 0.22);
  border-radius: 8px;
  background: #fbfdfb;
  padding: 12px;
  display: grid;
  gap: 10px;
}

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

.packet-export-head span,
.packet-export-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.packet-export-head strong,
.packet-export-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.packet-export-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.packet-export-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #13251f;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.packet-export-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

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

.packet-export-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.packet-export-body {
  display: grid;
}

.packet-export-body[hidden] {
  display: none;
}

#packetExportPreview {
  max-height: 280px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101d21;
  color: #eaf4f5;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.approval-gate {
  border: 1px solid rgba(44, 91, 127, 0.22);
  border-radius: 8px;
  background: #f7fbfd;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.approval-gate[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f4fbf7;
}

.approval-gate[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fffaf0;
}

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

.approval-gate-head span,
.approval-gate-grid span,
.approval-gate-list span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.approval-gate-head strong,
.approval-gate-grid strong,
.approval-gate-list strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.approval-gate-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.approval-gate-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #1d5f82;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.approval-gate-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

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

.approval-gate-grid article,
.approval-gate-list li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.approval-gate-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.approval-gate-list li[data-state="pass"] {
  border-color: rgba(29, 123, 95, 0.24);
  background: #edf8f2;
}

.approval-gate-list li[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fff8e8;
}

.approval-gate-list li[data-state="neutral"] {
  background: #f5f7f8;
}

.approval-gate-list small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#approvalCheckoutStatus {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#approvalReceiptPreview {
  max-height: 220px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101d21;
  color: #eaf4f5;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.checkout-ledger {
  border: 1px solid rgba(72, 84, 95, 0.18);
  border-radius: 8px;
  background: #f8faf9;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.checkout-ledger[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f4fbf7;
}

.checkout-ledger[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fffaf0;
}

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

.checkout-ledger-head span,
.checkout-ledger-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.checkout-ledger-head strong,
.checkout-ledger-grid strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.checkout-ledger-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.checkout-ledger-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #16201c;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.checkout-ledger-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

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

.checkout-ledger-grid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

#checkoutLedgerStatus {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#checkoutLedgerPreview {
  max-height: 220px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #101d21;
  color: #eaf4f5;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.activation-runbook {
  border: 1px solid rgba(33, 98, 125, 0.18);
  border-radius: 8px;
  background: #f7fbfc;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.activation-runbook[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f3fbf8;
}

.activation-runbook[data-state="warn"] {
  border-color: rgba(186, 122, 0, 0.28);
  background: #fffaf0;
}

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

.activation-runbook-head span,
.activation-runbook-grid span,
.activation-runbook-list span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.activation-runbook-head strong,
.activation-runbook-grid strong,
.activation-runbook-list strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.activation-runbook-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.activation-runbook-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #15303a;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.activation-runbook-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e3eaec;
}

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

.activation-runbook-grid article,
.activation-runbook-list li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.activation-runbook-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.activation-runbook-list li[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.24);
  background: #f4fbf7;
}

.activation-runbook-list li[data-state="manual"],
.activation-runbook-list li[data-state="review"] {
  border-color: rgba(186, 122, 0, 0.26);
  background: #fff8e8;
}

.activation-runbook-list li[data-state="pending"],
.activation-runbook-list li[data-state="neutral"] {
  background: #f5f7f8;
}

.activation-runbook-list small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#activationRunbookStatus {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#activationRunbookPreview {
  max-height: 220px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #0f1d24;
  color: #ebf7fa;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.activation-checklist {
  border: 1px solid rgba(72, 84, 95, 0.18);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 12px;
  display: grid;
  gap: 10px;
}

.activation-checklist[data-state="ready"] {
  border-color: rgba(33, 98, 125, 0.22);
  background: #f6fbfc;
}

.activation-checklist[data-state="complete"] {
  border-color: rgba(29, 123, 95, 0.28);
  background: #f4fbf7;
}

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

.activation-checklist-head span,
.activation-checklist-grid span,
.activation-checklist-list span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.activation-checklist-head strong,
.activation-checklist-grid strong,
.activation-checklist-list strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.activation-checklist-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.activation-checklist-actions button {
  border: 0;
  border-radius: 8px;
  padding: 9px 10px;
  color: #fff;
  background: #172527;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.activation-checklist-actions button:disabled {
  cursor: not-allowed;
  color: var(--muted);
  background: #e7ece8;
}

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

.activation-checklist-grid article,
.activation-checklist-list li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.activation-checklist-meter {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5ece8;
}

.activation-checklist-meter span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: #1d7b5f;
  transition: width 160ms ease;
}

.activation-checklist-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.activation-checklist-list label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  column-gap: 8px;
  align-items: start;
  cursor: pointer;
}

.activation-checklist-list input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: #1d7b5f;
}

.activation-checklist-list label span,
.activation-checklist-list label strong,
.activation-checklist-list label small {
  grid-column: 2;
}

.activation-checklist-list li[data-state="complete"] {
  border-color: rgba(29, 123, 95, 0.24);
  background: #f1faf5;
}

.activation-checklist-list li[data-state="manual"],
.activation-checklist-list li[data-state="review"] {
  border-color: rgba(186, 122, 0, 0.26);
  background: #fff8e8;
}

.activation-checklist-list li[data-state="pending"],
.activation-checklist-list li[data-state="neutral"] {
  background: #f5f7f8;
}

.activation-checklist-list small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#activationChecklistStatus {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#insightPacketOutput {
  max-height: 240px;
  overflow: auto;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #111916;
  color: #edf5ef;
  padding: 12px;
  font: 0.78rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.chart-grid {
  min-height: 250px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(to top, rgba(29, 123, 95, 0.08) 1px, transparent 1px) 0 0 / 100% 25%,
    #fbfcf9;
  display: grid;
  grid-template-columns: repeat(5, minmax(48px, 1fr));
  align-items: end;
  gap: 14px;
  padding: 18px;
}

.chart-bar {
  height: var(--h);
  min-height: 72px;
  border-radius: 7px 7px 0 0;
  background: linear-gradient(180deg, #2f9274, #184d3f);
  position: relative;
}

.chart-bar:nth-child(2) {
  background: linear-gradient(180deg, #c98b2f, #825311);
}

.chart-bar:nth-child(3) {
  background: linear-gradient(180deg, #2a83b8, #18506f);
}

.chart-bar:nth-child(4) {
  background: linear-gradient(180deg, #b85050, #743030);
}

.chart-bar span {
  position: absolute;
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.market-table {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}

.table-row {
  display: grid;
  grid-template-columns: 1fr 1fr 0.9fr;
  gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid var(--line);
}

.table-row:first-child {
  border-top: 0;
}

.table-head {
  background: #eef3ef;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.roadmap-view {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.roadmap-card {
  padding: 18px;
  min-height: 220px;
}

.roadmap-card span {
  display: block;
  color: var(--green);
  font-weight: 900;
  margin-bottom: 12px;
}

.roadmap-card h3 {
  font-size: 1.1rem;
}

.roadmap-card ul {
  margin: 14px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.55;
}

.ai-usecase-view {
  display: grid;
  gap: 16px;
}

.section-heading {
  max-width: 880px;
}

.section-heading h3 {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.2;
}

.ai-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.ai-trust-card {
  padding: 16px;
  display: grid;
  gap: 9px;
}

.ai-trust-card span {
  width: fit-content;
  border-radius: 999px;
  padding: 6px 8px;
  color: var(--blue);
  background: var(--blue-soft);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ai-trust-card h4 {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.2;
}

.ai-trust-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.ai-filter-panel {
  display: grid;
  gap: 10px;
}

.ai-filter-panel > div > span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ai-status-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.ai-filter-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 6px;
  padding: 8px 10px;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  font-weight: 800;
}

.ai-filter-button strong {
  min-width: 24px;
  border-radius: 999px;
  padding: 4px 7px;
  color: var(--ink);
  background: #eef3ef;
  font-size: 0.76rem;
  text-align: center;
}

.ai-filter-button.is-active {
  color: var(--ink);
  background: var(--green-soft);
}

.ai-filter-button.is-active strong {
  color: #fff;
  background: var(--green);
}

.ai-filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7faf8;
}

.ai-filter-summary p {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.ai-filter-summary button {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 11px;
  color: var(--ink);
  background: var(--surface);
  cursor: pointer;
  font-weight: 850;
}

.ai-filter-summary button:disabled {
  cursor: default;
  opacity: 0.45;
}

.ai-usecase-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
}

.ai-empty-card {
  grid-column: 1 / -1;
  padding: 22px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fbfcfa;
}

.ai-empty-card h4 {
  margin: 0 0 6px;
}

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

.ai-usecase-card {
  padding: 18px;
  display: grid;
  gap: 12px;
  align-content: start;
}

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

.ai-card-head span {
  color: var(--green);
  font-weight: 900;
}

.ai-card-head strong {
  color: var(--muted);
  background: #eef3ef;
  border-radius: 999px;
  padding: 6px 8px;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.phase-pill[data-status="foundation"],
.ai-card-head strong[data-status="foundation"],
#activeStatus[data-status="foundation"] {
  color: var(--green);
  background: var(--green-soft);
}

.phase-pill[data-status="design-ready"],
.ai-card-head strong[data-status="design-ready"],
#activeStatus[data-status="design-ready"] {
  color: var(--amber);
  background: var(--amber-soft);
}

.phase-pill[data-status="planned"],
.ai-card-head strong[data-status="planned"],
#activeStatus[data-status="planned"] {
  color: var(--blue);
  background: var(--blue-soft);
}

.phase-pill[data-status="compliance-gated"],
.ai-card-head strong[data-status="compliance-gated"],
#activeStatus[data-status="compliance-gated"] {
  color: var(--red);
  background: var(--red-soft);
}

.ai-usecase-card h4 {
  margin: 0;
  font-size: 1.05rem;
}

.ai-usecase-card p {
  margin: 0;
  color: var(--blue);
  font-weight: 800;
  line-height: 1.35;
}

.ai-card-io {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7faf8;
}

.ai-card-io strong {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.ai-card-io div div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ai-card-io span {
  display: inline-flex;
  max-width: 100%;
  border-radius: 999px;
  padding: 6px 8px;
  background: var(--green-soft);
  color: #2f5547;
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.2;
}

.ai-usecase-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.ai-card-action {
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 11px 12px;
  color: #fff;
  background: #17211c;
  cursor: pointer;
  font-weight: 850;
  transition: background 160ms ease, transform 160ms ease;
}

.ai-card-action:hover {
  background: var(--green);
  transform: translateY(-1px);
}

.trust-view,
.ai-usecase-view,
.economy-view {
  display: grid;
  gap: 16px;
}

.economy-hero {
  background: #111916;
  color: #f7f8f4;
  border-radius: 8px;
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1fr);
  gap: 24px;
  align-items: center;
  box-shadow: 0 22px 70px rgba(17, 25, 22, 0.18);
}

.economy-hero .eyebrow {
  color: #9db6aa;
}

.economy-hero h3 {
  margin-bottom: 0;
  max-width: 680px;
  font-size: 1.75rem;
  line-height: 1.14;
}

.economy-hero p {
  color: #c6d6ce;
  line-height: 1.6;
}

.payment-panel {
  display: grid;
  gap: 14px;
}

.payment-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.provider-pill,
.card-chip,
.plan-meta span {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 850;
  line-height: 1;
  white-space: normal;
}

.provider-pill {
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #d8e8df;
  background: rgba(255, 255, 255, 0.08);
  padding: 9px 11px;
}

.provider-pill.is-primary {
  color: #0c1713;
  background: #dff1ea;
}

.plan-fit {
  border: 1px solid rgba(29, 123, 95, 0.22);
  border-radius: 8px;
  background: #fbfdfb;
  box-shadow: 0 16px 42px rgba(23, 33, 28, 0.08);
  padding: 18px;
  display: grid;
  gap: 14px;
}

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

.plan-fit-head span,
.plan-fit-controls span,
.plan-fit-output span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.plan-fit-head strong {
  display: block;
  margin-top: 4px;
  font-size: 1.05rem;
  line-height: 1.3;
}

.plan-fit-head button {
  border: 0;
  border-radius: 8px;
  padding: 11px 13px;
  color: #fff;
  background: var(--green);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.plan-fit-controls,
.plan-fit-output {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.plan-fit-controls {
  grid-template-columns: 1.1fr 1fr 1fr;
}

.plan-fit-controls select,
.plan-fit-controls input {
  width: 100%;
  margin-top: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}

.plan-fit-output article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 10px;
}

.plan-fit-output strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

#fitReason {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.economy-grid,
.plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.tool-card,
.plan-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
  box-shadow: 0 12px 36px rgba(23, 33, 28, 0.08);
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 100%;
}

.plan-card.is-recommended {
  border-color: var(--green);
  box-shadow: 0 18px 48px rgba(29, 123, 95, 0.16);
}

.plan-card.is-recommended::before {
  content: "Recommended";
  width: fit-content;
  border-radius: 999px;
  color: #0c1713;
  background: var(--green-soft);
  padding: 6px 8px;
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.plan-card.is-recommended .checkout-button {
  background: var(--green);
}

.card-chip {
  color: var(--muted);
  background: #eef3ef;
  padding: 7px 9px;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.tool-card h4,
.plan-card h4 {
  margin: 0;
  font-size: 1rem;
}

.tool-card p,
.plan-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.tool-card strong {
  margin-top: auto;
}

.plan-price {
  display: block;
  color: var(--ink);
  font-size: 1.45rem;
  line-height: 1.05;
}

.plan-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: auto;
}

.plan-meta span {
  color: #355246;
  background: #edf6f1;
  padding: 7px 9px;
}

.checkout-button {
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 12px;
  color: #fff;
  background: #111916;
  cursor: pointer;
  font-weight: 800;
  transition: transform 160ms ease, background 160ms ease;
}

.checkout-button:hover {
  background: var(--green);
  transform: translateY(-1px);
}

.trust-hero {
  border: 1px solid rgba(15, 73, 106, 0.22);
  border-radius: 12px;
  background:
    radial-gradient(circle at 85% 16%, rgba(59, 141, 197, 0.16) 0%, rgba(59, 141, 197, 0) 48%),
    linear-gradient(140deg, #fbfdff 0%, #f2f8f4 62%, #ecf4f9 100%);
  box-shadow: 0 20px 54px rgba(19, 36, 47, 0.1);
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, 0.95fr);
  gap: 22px;
  align-items: start;
}

.trust-hero-copy h3 {
  margin-bottom: 0;
  max-width: 820px;
  font-size: 1.86rem;
  line-height: 1.16;
}

.trust-hero-copy p {
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.65;
}

.trust-hero-chips {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.trust-hero-chips span {
  border: 1px solid rgba(34, 92, 132, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: #284e6b;
  font-size: 0.75rem;
  font-weight: 850;
  padding: 7px 10px;
}

.trust-hero-outcomes {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.trust-hero-outcomes article {
  border: 1px solid rgba(15, 73, 106, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.84);
  padding: 12px;
}

.trust-hero-outcomes span,
.trust-framework span {
  display: block;
  color: #446174;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.trust-hero-outcomes strong {
  display: block;
  margin-top: 5px;
  color: #0f3148;
  font-size: 1rem;
  line-height: 1.25;
}

.trust-hero-outcomes p {
  margin: 6px 0 0;
  color: #4f616d;
  font-size: 0.85rem;
  line-height: 1.45;
}

.trust-framework {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.trust-framework article {
  min-width: 0;
  border: 1px solid rgba(41, 74, 60, 0.16);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 14px 36px rgba(23, 33, 28, 0.08);
  padding: 16px;
}

.trust-framework h4 {
  margin: 8px 0 0;
  color: var(--ink);
  font-size: 1.03rem;
  line-height: 1.3;
}

.trust-framework p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.coverage-panel {
  border: 1px solid rgba(29, 123, 95, 0.2);
  border-radius: 12px;
  background: linear-gradient(180deg, #fcfffd 0%, #f7fbf8 100%);
  box-shadow: 0 16px 42px rgba(23, 33, 28, 0.08);
  padding: 20px;
  display: grid;
  gap: 12px;
}

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

.coverage-head span,
.coverage-metrics span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.coverage-head strong {
  display: block;
  margin-top: 4px;
  font-size: 1.08rem;
  line-height: 1.3;
}

.coverage-head button {
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  color: #fff;
  background: linear-gradient(135deg, #1d7b5f 0%, #1d5c84 100%);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.coverage-explainer {
  margin: 0;
  color: #446154;
  font-size: 0.88rem;
  line-height: 1.45;
}

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

.coverage-metrics article {
  min-width: 0;
  border: 1px solid rgba(28, 86, 67, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px;
}

.coverage-metrics strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

.coverage-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.coverage-sources span {
  border: 1px solid rgba(39, 90, 68, 0.18);
  border-radius: 999px;
  color: #274f3f;
  background: #f2f8f4;
  padding: 7px 9px;
  font-size: 0.78rem;
  font-weight: 850;
  overflow-wrap: anywhere;
}

#coverageNarrative {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.coverage-recovery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.coverage-recovery[hidden] {
  display: none;
}

.coverage-recovery code {
  min-width: 0;
  border: 1px solid rgba(23, 44, 33, 0.16);
  border-radius: 10px;
  background: #f3f7f4;
  padding: 10px;
  color: var(--ink);
  overflow-wrap: anywhere;
}

.coverage-recovery button {
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  color: #fff;
  background: #1d7b5f;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.coverage-recovery span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.data-room-certificate {
  border: 1px solid rgba(34, 92, 132, 0.24);
  border-radius: 12px;
  background: linear-gradient(180deg, #fafdff 0%, #f4f9f7 100%);
  box-shadow: 0 18px 46px rgba(20, 34, 42, 0.09);
  padding: 20px;
  display: grid;
  gap: 14px;
}

.data-room-certificate[data-state="ready"] {
  border-color: rgba(29, 123, 95, 0.42);
}

.data-room-certificate[data-state="warn"] {
  border-color: rgba(176, 119, 38, 0.42);
}

.data-room-certificate[data-state="blocked"] {
  border-color: rgba(173, 55, 55, 0.42);
}

.data-room-head,
.data-room-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.data-room-head {
  justify-content: space-between;
}

.data-room-head span,
.data-room-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.data-room-head strong {
  display: block;
  margin-top: 4px;
  font-size: 1.08rem;
  line-height: 1.3;
}

.data-room-actions button {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  color: var(--ink);
  background: var(--surface);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  white-space: nowrap;
}

.data-room-actions button:first-child {
  border-color: transparent;
  color: #fff;
  background: #225c84;
}

.data-room-actions button:disabled {
  cursor: default;
  opacity: 0.5;
}

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

.data-room-grid article {
  min-width: 0;
  border: 1px solid rgba(24, 69, 100, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.84);
  padding: 10px;
}

.data-room-grid strong {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

#dataRoomBoundary,
#dataRoomNote {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

#dataRoomPreview {
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #111a22;
  color: #eaf2f5;
  padding: 14px;
  font-size: 0.78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.section-heading p {
  color: var(--muted);
  line-height: 1.55;
}

.section-heading-compact {
  margin-top: 8px;
}

.section-heading-compact h3 {
  font-size: 1.18rem;
}

.buyer-room-summary,
.runtime-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.runtime-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.buyer-room-summary article,
.runtime-metrics article,
.runtime-grid article,
.runtime-health-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  padding: 14px;
  box-shadow: 0 12px 32px rgba(23, 33, 28, 0.07);
}

.buyer-room-summary span,
.runtime-metrics span,
.runtime-grid span,
.runtime-health-card span,
.artifact-table-head span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.buyer-room-summary strong,
.runtime-metrics strong,
.runtime-grid strong,
.runtime-health-card strong,
.artifact-table-head strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  line-height: 1.25;
}

.buyer-room-summary p,
.runtime-grid p,
.runtime-health-card p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.buyer-room-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.buyer-room-actions button,
.artifact-table-wrap button {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  padding: 10px 12px;
}

.buyer-room-actions button:first-child {
  border-color: transparent;
  background: var(--green);
  color: #fff;
}

.artifact-table-panel,
.registry-history {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 14px 36px rgba(23, 33, 28, 0.08);
  overflow: hidden;
}

.artifact-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--line);
}

.artifact-table-wrap {
  overflow-x: auto;
}

.artifact-table-wrap table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

.artifact-table-wrap th,
.artifact-table-wrap td {
  border-bottom: 1px solid var(--line);
  padding: 12px 14px;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

.artifact-table-wrap th {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.artifact-table-wrap tr:last-child td {
  border-bottom: 0;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 0.72rem;
  font-weight: 850;
}

.status-pill.is-ready {
  color: #1b6b3d;
  background: #e9f6ed;
}

.status-pill.is-warn {
  color: #8a5a10;
  background: #fff4d7;
}

.status-pill.is-blocked {
  color: #9f2f2f;
  background: #fde9e7;
}

.status-pill.is-neutral {
  color: #4c5b66;
  background: #edf2f6;
}

.runtime-hero,
.billing-hero {
  border-radius: 8px;
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(320px, 1fr);
  gap: 24px;
  align-items: center;
  box-shadow: 0 18px 50px rgba(20, 34, 42, 0.1);
}

.runtime-hero {
  border: 1px solid rgba(34, 92, 132, 0.18);
  background: linear-gradient(135deg, #f8fbff 0%, #f4faf6 100%);
}

.billing-hero {
  border: 1px solid rgba(29, 123, 95, 0.2);
  background: #fbfdfb;
}

.runtime-hero h3,
.billing-hero h3 {
  margin-bottom: 0;
  max-width: 760px;
  font-size: 1.65rem;
  line-height: 1.16;
}

.runtime-hero p,
.billing-hero p {
  color: var(--muted);
  line-height: 1.6;
}

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

.billing-view {
  display: grid;
  gap: 16px;
}

.technical-payload-toggle {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.technical-payload-toggle summary {
  cursor: pointer;
  padding: 12px 14px;
  color: var(--ink);
  font-weight: 850;
}

.technical-payload-toggle #dataRoomPreview {
  margin: 0 12px 12px;
}

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

.trust-grid article {
  border: 1px solid rgba(45, 65, 54, 0.16);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(23, 33, 28, 0.08);
  padding: 18px;
}

.trust-grid span {
  color: #1f5f87;
  font-weight: 900;
}

.trust-grid h4 {
  margin: 8px 0 0;
  color: var(--ink);
  line-height: 1.3;
}

.trust-grid p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.is-hidden {
  display: none !important;
}

@media (max-width: 1080px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
  }

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

  .server-card {
    margin-top: 0;
  }

  .next-action-bar,
  .deal-room-grid,
  .entitlement-passport-grid,
  .agent-bootstrap-grid,
  .customer-handoff-grid,
  .roi-case-grid,
  .payment-readiness-grid,
  .checkout-quote-grid,
  .buyer-demo-grid,
  .buyer-outreach-grid,
  .buyer-qualification-grid,
  .pilot-activation-grid,
  .buyer-meeting-grid,
  .command-layout,
  .trust-hero {
    grid-template-columns: 1fr;
  }

  .trust-hero-outcomes,
  .trust-framework,
  .coverage-metrics,
  .data-room-grid,
  .metric-strip,
  .packet-audit,
  .integration-controls,
  .plan-fit-output,
  .agent-usage-receipt-grid,
  .buyer-proof-bundle-grid,
  .buyer-proof-bundle-list,
  .buyer-proof-summary-grid,
  .activation-runbook-grid,
  .activation-runbook-list,
  .activation-checklist-grid,
  .activation-checklist-list,
  .buyer-room-summary,
  .roadmap-view,
  .ai-trust-grid,
  .ai-usecase-grid,
  .economy-grid,
  .runtime-metrics,
  .runtime-grid,
  .plan-grid,
  .trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .trust-hero-outcomes,
  .trust-framework,
  .coverage-metrics,
  .trust-grid {
    grid-template-columns: 1fr;
  }

  .coverage-head,
  .data-room-head,
  .data-room-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .coverage-head button,
  .data-room-actions button {
    width: 100%;
  }

  .coverage-recovery {
    grid-template-columns: 1fr;
  }

  .sidebar {
    padding: 16px;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .module-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    min-width: 0;
    max-height: 148px;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 4px;
  }

  .module-tab {
    min-width: 0;
  }

  .server-card {
    padding: 10px;
  }

  .workspace {
    padding: 18px;
  }

  .topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  }

  .view-button {
    min-width: 0;
    padding-inline: 8px;
    font-size: 0.82rem;
  }

  .ai-status-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  }

  .ai-filter-button {
    justify-content: space-between;
  }

  .ai-filter-summary {
    align-items: stretch;
    flex-direction: column;
  }

  .module-nav,
  .metric-strip,
  .next-action-meta,
  .deal-room-grid,
  .capability-list,
  .workflow-controls,
  .checkout-rail-grid,
  .workflow-progress-steps,
  .payment-readiness-grid,
  .checkout-quote-grid,
  .brief-search,
  .brief-sources,
  .trust-scorecard,
  .action-queue-list,
  .compare-inputs,
  .compare-results,
  .evidence-meta-grid,
  .watchlist-head,
  .alert-form,
  .agent-playground-controls,
  .agent-metrics,
  .agent-console,
  .agent-usage-receipt-grid,
  .buyer-proof-bundle-grid,
  .buyer-proof-bundle-list,
  .buyer-proof-summary-grid,
  .entitlement-passport-grid,
  .agent-bootstrap-grid,
  .customer-handoff-grid,
  .roi-case-grid,
  .integration-controls,
  .plan-fit-controls,
  .plan-fit-output,
  .coverage-metrics,
  .packet-head,
  .packet-audit,
  .decision-memo-grid,
  .decision-memo-body,
  .handoff-manifest-grid,
  .agent-contract-grid,
  .packet-export-grid,
  .approval-gate-grid,
  .approval-gate-list,
  .checkout-ledger-grid,
  .activation-runbook-grid,
  .activation-runbook-list,
  .activation-checklist-grid,
  .activation-checklist-list,
  .ai-flow-grid,
  .ai-list-grid,
  .ai-card-io,
  .ai-trust-grid,
  .ai-usecase-grid,
  .ask-cerebral-metrics,
  .ask-cerebral-sources,
  .signal-meta-grid,
  .validation-action-grid,
  .ask-proof-grid,
  .ask-proof-checks,
  .buyer-demo-grid,
  .buyer-demo-proof-list,
  .buyer-outreach-grid,
  .buyer-outreach-checks,
  .buyer-qualification-grid,
  .buyer-qualification-copy,
  .buyer-qualification-criteria,
  .pilot-activation-grid,
  .pilot-activation-plan,
  .pilot-activation-checks,
  .buyer-meeting-grid,
  .buyer-meeting-copy,
  .buyer-meeting-agenda,
  .roadmap-view,
  .economy-hero,
  .runtime-hero,
  .billing-hero,
  .buyer-room-summary,
  .runtime-metrics,
  .runtime-grid,
  .economy-grid,
  .plan-grid,
  .data-room-grid,
  .trust-grid {
    grid-template-columns: 1fr;
  }

  .live-board {
    min-height: auto;
  }

  .opportunity-table-head {
    display: none;
  }

  .opportunity-row {
    grid-template-columns: 1fr;
  }

  .chart-grid {
    min-width: 0;
    gap: 8px;
    padding: 12px;
  }

  .chart-bar span {
    font-size: 0.68rem;
    white-space: normal;
    text-align: center;
    width: 68px;
  }

  .table-row {
    grid-template-columns: 1fr;
  }

  .watchlist-head {
    align-items: stretch;
    flex-direction: column;
  }

  .alert-rule {
    align-items: stretch;
    flex-direction: column;
  }

  .action-queue-head {
    align-items: stretch;
    flex-direction: column;
  }

  .workflow-head {
    align-items: stretch;
    flex-direction: column;
  }

  .ask-cerebral-head,
  .ask-cerebral-conversation-head,
  .ask-cerebral-directive,
  .ask-cerebral-actions,
  .selected-opportunity-head,
  .ask-proof-head,
  .ask-proof-actions,
  .buyer-demo-head,
  .buyer-demo-actions,
  .buyer-outreach-head,
  .buyer-outreach-actions,
  .buyer-qualification-head,
  .buyer-qualification-actions,
  .pilot-activation-head,
  .pilot-activation-actions,
  .buyer-meeting-head,
  .buyer-meeting-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ask-cerebral-form,
  .ask-cerebral-directive {
    grid-template-columns: 1fr;
  }

  .ask-cerebral-layout,
  .ask-cerebral-source-controls {
    grid-template-columns: 1fr;
  }

  .ask-cerebral-thread-meta {
    grid-template-columns: 1fr;
  }

  .ask-cerebral-conversation {
    min-height: 260px;
    max-height: 440px;
  }

  .ask-cerebral-head strong {
    text-align: left;
  }

  .ask-cerebral-form button,
  .ask-cerebral-form-actions button,
  .ask-cerebral-actions button,
  .ask-cerebral-export-actions button,
  .ask-proof-actions button,
  .buyer-demo-actions button,
  .buyer-outreach-actions button,
  .buyer-qualification-actions button,
  .pilot-activation-actions button,
  .buyer-meeting-actions button {
    width: 100%;
    white-space: normal;
  }

  .workflow-head button {
    width: 100%;
  }

  .checkout-rail-head {
    align-items: stretch;
    flex-direction: column;
  }

  .checkout-rail-head button {
    width: 100%;
    white-space: normal;
  }

  .payment-readiness-head,
  .payment-readiness-actions,
  .checkout-quote-head,
  .checkout-quote-actions,
  .data-room-head,
  .data-room-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .workflow-progress-head {
    align-items: stretch;
    flex-direction: column;
  }

  .workflow-progress-head small {
    width: fit-content;
    white-space: normal;
  }

  .evidence-head {
    align-items: stretch;
    flex-direction: column;
  }

  .agent-playground-head,
  .agent-usage-receipt-head,
  .agent-usage-receipt-actions,
  .buyer-proof-bundle-head,
  .buyer-proof-bundle-actions,
  .buyer-proof-summary-head,
  .buyer-proof-summary-actions,
  .entitlement-passport-head,
  .entitlement-passport-actions,
  .agent-bootstrap-head,
  .agent-bootstrap-actions,
  .customer-handoff-head,
  .customer-handoff-actions,
  .roi-case-head,
  .roi-case-actions,
  .deal-room-head,
  .deal-room-bottom,
  .deal-room-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .integration-head {
    align-items: stretch;
    flex-direction: column;
  }

  .integration-actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .plan-fit-head {
    align-items: stretch;
    flex-direction: column;
  }

  .coverage-head {
    align-items: stretch;
    flex-direction: column;
  }

  .packet-head {
    align-items: stretch;
    flex-direction: column;
  }

  .decision-memo-head,
  .decision-memo-actions,
  .handoff-manifest-actions,
  .agent-contract-head,
  .agent-contract-actions,
  .packet-export-head,
  .packet-export-actions,
  .approval-gate-head,
  .approval-gate-actions,
  .checkout-ledger-head,
  .checkout-ledger-actions,
  .activation-runbook-head,
  .activation-runbook-actions,
  .activation-checklist-head,
  .activation-checklist-actions,
  .next-action-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .next-action-bar {
    position: static;
  }
}

/* ==========================================================================
   PREMIUM ENTERPRISE SAAS SYSTEM STYLING
   ========================================================================== */

/* Home Dashboard Base Grid */
.home-layout {
  display: grid;
  gap: 24px;
  animation: fadeIn 0.4s ease-out;
}

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

/* Premium Glassmorphic Panels */
.glass-panel {
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(72, 84, 95, 0.14);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(23, 33, 28, 0.04);
  backdrop-filter: blur(12px);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.glass-panel:hover {
  box-shadow: 0 16px 40px rgba(23, 33, 28, 0.06);
}

.panel-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.step-num {
  width: 28px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--green-soft);
  color: var(--green);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 0.8rem;
}

.panel-desc {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom: 20px;
}

/* Home Page Hero Header */
.home-hero {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 24px;
  align-items: center;
  background: linear-gradient(135deg, #0e1b15 0%, #15241e 100%);
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 14px;
  padding: 36px;
  color: #ffffff;
  box-shadow: 0 20px 50px rgba(14, 27, 21, 0.16);
  position: relative;
  overflow: hidden;
}

.home-hero::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(64, 217, 157, 0.12) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.hero-content h2 {
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  line-height: 1.1;
  margin-bottom: 14px;
  font-weight: 800;
  background: linear-gradient(120deg, #ffffff 40%, #a9dfca 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-content p {
  color: #b3c7bd;
  font-size: 1.05rem;
  line-height: 1.55;
  margin-bottom: 24px;
  max-width: 600px;
}

.hero-badge {
  display: inline-block;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: #40d99d;
  margin-bottom: 16px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.btn-primary, .btn-secondary {
  border: 0;
  border-radius: 8px;
  padding: 12px 20px;
  font-weight: 800;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-primary {
  background: #40d99d;
  color: #0e1b15;
}

.btn-primary:hover {
  background: #52e5ab;
  transform: translateY(-1px);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* Glowing Card Visual */
.hero-visual {
  display: flex;
  justify-content: center;
}

.glowing-card {
  position: relative;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 24px;
  width: 100%;
  max-width: 320px;
  backdrop-filter: blur(12px);
  overflow: hidden;
}

.card-glow {
  position: absolute;
  top: -30%;
  left: -30%;
  width: 160%;
  height: 160%;
  background: radial-gradient(circle, rgba(64, 217, 157, 0.08) 0%, transparent 60%);
  pointer-events: none;
}

.chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}

.chart-header span {
  font-size: 0.74rem;
  text-transform: uppercase;
  color: #a3b8ad;
  font-weight: 800;
}

.green-glow-text {
  color: #40d99d;
  font-size: 0.8rem;
  text-shadow: 0 0 10px rgba(64, 217, 157, 0.4);
}

.chart-metric span {
  display: block;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1;
}

.chart-metric small {
  display: block;
  margin-top: 6px;
  color: #a3b8ad;
  font-size: 0.82rem;
}

.vram-meter-mini {
  margin-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 16px;
}

.vram-meter-mini span {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  color: #a3b8ad;
  font-weight: 800;
  margin-bottom: 8px;
}

.vram-fill-bar {
  height: 6px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  position: relative;
  overflow: hidden;
}

.vram-fill-bar::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 78%;
  background: #40d99d;
  border-radius: 3px;
}

.vram-meter-mini small {
  display: block;
  margin-top: 6px;
  color: #a3b8ad;
  font-size: 0.7rem;
}

/* User Account Onboarding */
.onboarding-form {
  display: grid;
  gap: 16px;
  max-width: 480px;
}

.input-group {
  display: grid;
  gap: 6px;
}

.input-group label {
  font-size: 0.78rem;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--muted);
}

.input-group input, .input-group select {
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 12px;
  background: var(--surface);
  font: inherit;
  color: var(--ink);
}

.input-group input:focus, .input-group select:focus {
  outline: 0;
  border-color: var(--green);
}

.btn-onboard {
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--green);
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.2s ease;
  margin-top: 8px;
}

.btn-onboard:hover {
  background: #145944;
}

/* Onboarded Profile details layout */
.profile-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
  margin-bottom: 20px;
}

.profile-header h4 {
  font-size: 1.25rem;
  margin-bottom: 4px;
}

.region-badge {
  display: inline-block;
  background: #edf1ef;
  color: var(--green);
  font-size: 0.74rem;
  font-weight: 800;
  padding: 4px 8px;
  border-radius: 4px;
}

.mfa-badge-wrapper {
  display: flex;
}

.mfa-status-badge {
  font-size: 0.72rem;
  font-weight: 850;
  padding: 5px 10px;
  border-radius: 20px;
  letter-spacing: 0.5px;
}

.mfa-status-badge.mfa-inactive {
  background: #f1dddd;
  color: var(--red);
}

.mfa-status-badge.mfa-active {
  background: var(--green-soft);
  color: var(--green);
  box-shadow: 0 0 12px rgba(29, 123, 95, 0.16);
}

.credentials-box {
  margin-bottom: 24px;
}

.credentials-box label {
  display: block;
  font-size: 0.76rem;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--muted);
  margin-bottom: 8px;
}

.key-container {
  display: flex;
  gap: 8px;
  max-width: 440px;
}

.key-container input {
  flex: 1;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f8f4;
  padding: 0 12px;
  font-family: monospace;
  font-size: 0.9rem;
  color: var(--ink);
}

.btn-copy-key {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 0 14px;
  font-weight: 800;
  cursor: pointer;
}

.btn-copy-key:hover {
  background: var(--paper);
}

.credentials-box small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.78rem;
}

/* Security MFA Widget Row */
.security-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  background: #f8faf9;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 24px;
}

.sec-left h5 {
  font-size: 0.95rem;
  margin: 0 0 4px;
  font-weight: 800;
}

.sec-left p {
  margin: 0;
  font-size: 0.84rem;
  color: var(--muted);
  line-height: 1.4;
}

.btn-mfa {
  height: 38px;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 0 14px;
  font-weight: 800;
  font-size: 0.84rem;
  white-space: nowrap;
  cursor: pointer;
}

.btn-mfa:hover {
  background: var(--paper);
}

.btn-mfa-active {
  border-color: var(--green);
  color: var(--green);
  background: var(--green-soft);
}

/* Regional Locked Pricing Cards */
.regional-pricing-section {
  margin-bottom: 28px;
}

.regional-pricing-section h5, .invoices-ledger-section h5 {
  font-size: 1.05rem;
  margin: 0 0 4px;
  font-weight: 800;
}

.pricing-subtext {
  color: var(--muted);
  font-size: 0.84rem;
  margin: 0 0 18px;
}

.plan-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.plan-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 12px rgba(23, 33, 28, 0.02);
}

.plan-card h6 {
  font-size: 0.9rem;
  margin: 0 0 8px;
  color: var(--muted);
  text-transform: uppercase;
  font-weight: 800;
}

.plan-price {
  font-size: 1.8rem;
  font-weight: 800;
  display: block;
  margin-bottom: 16px;
}

.plan-price small {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--muted);
}

.plan-card ul {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.plan-card li {
  font-size: 0.84rem;
  color: var(--ink);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
}

.plan-card li::before {
  content: "";
  width: 6px;
  aspect-ratio: 1;
  background: var(--green);
  border-radius: 50%;
}

.btn-checkout-plan {
  margin-top: auto;
  height: 38px;
  border: 0;
  border-radius: 8px;
  background: #18251f;
  color: #ffffff;
  font-weight: 800;
  font-size: 0.86rem;
  cursor: pointer;
  transition: background 0.2s ease;
}

.btn-checkout-plan:hover {
  background: var(--green);
}

/* Chronological Transaction & Invoicing History */
.invoices-table-wrapper {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  overflow-x: auto;
}

.invoices-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 0.88rem;
}

.invoices-table th, .invoices-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
}

.invoices-table th {
  background: #f8faf9;
  font-weight: 800;
  color: var(--muted);
  text-transform: uppercase;
  font-size: 0.74rem;
}

.invoices-table tr:last-child td {
  border-bottom: 0;
}

.empty-invoices-row {
  text-align: center;
  color: var(--muted);
  padding: 24px !important;
}

.btn-view-invoice-link {
  background: transparent;
  border: 0;
  color: var(--blue);
  font-weight: 800;
  cursor: pointer;
  padding: 0;
  font-family: monospace;
}

.btn-view-invoice-link:hover {
  text-decoration: underline;
}

.paid-pill {
  display: inline-block;
  background: var(--green-soft);
  color: var(--green);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 12px;
}

.btn-table-action {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 6px;
  padding: 4px 10px;
  font-weight: 800;
  font-size: 0.78rem;
  cursor: pointer;
}

.btn-table-action:hover {
  background: var(--paper);
}

/* REAL TOTP AUTHENTICATOR WIZARD OVERLAY */
.mfa-modal-overlay, .invoice-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(14, 25, 20, 0.46);
  backdrop-filter: blur(8px);
  z-index: 100;
  display: grid;
  place-items: center;
  animation: fadeIn 0.2s ease-out;
}

.mfa-wizard-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px;
  width: 90%;
  max-width: 440px;
  box-shadow: 0 24px 70px rgba(14, 25, 20, 0.16);
}

.wizard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.wizard-header h4 {
  font-size: 1.15rem;
  margin: 0;
}

.close-wizard-btn, .close-invoice-btn {
  background: transparent;
  border: 0;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--muted);
}

.wizard-steps-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 24px;
}

.step-dot {
  width: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #f0f4f1;
  color: var(--muted);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 0.74rem;
}

.step-dot.active {
  background: var(--green);
  color: #ffffff;
}

.step-line {
  flex: 1;
  max-width: 60px;
  height: 2px;
  background: var(--line);
}

.wizard-step-body h5 {
  font-size: 1.05rem;
  margin: 0 0 6px;
  font-weight: 800;
}

.wizard-step-body p {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
  margin: 0 0 20px;
}

.qr-container {
  display: flex;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px;
  background: #ffffff;
  margin-bottom: 20px;
}

.qr-container img {
  width: 180px;
  aspect-ratio: 1;
}

.secret-display-box {
  background: #f7f8f4;
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 24px;
}

.secret-display-box span {
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--muted);
}

.secret-display-box strong {
  font-family: monospace;
  font-size: 1.1rem;
  letter-spacing: 1px;
}

.btn-copy-secret {
  align-self: flex-start;
  border: 0;
  background: transparent;
  color: var(--green);
  font-weight: 800;
  font-size: 0.78rem;
  cursor: pointer;
  padding: 0;
  margin-top: 4px;
}

.btn-next-step, .btn-finish-mfa {
  width: 100%;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--green);
  color: #ffffff;
  font-weight: 800;
  font-size: 0.9rem;
  cursor: pointer;
}

.btn-back-step {
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  font-weight: 800;
  padding: 0 18px;
  cursor: pointer;
}

.wizard-actions {
  display: flex;
  gap: 12px;
}

.code-entry-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.code-entry-box input {
  width: 200px;
  height: 48px;
  border: 2px solid var(--line);
  border-radius: 10px;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 6px;
  font-family: monospace;
}

.code-entry-box input:focus {
  outline: 0;
  border-color: var(--green);
}

.error-text {
  color: var(--red);
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
}

.success-icon-wrapper {
  position: relative;
  width: 64px;
  aspect-ratio: 1;
  margin: 0 auto 20px;
}

.success-glow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: rgba(29, 123, 95, 0.2);
  box-shadow: 0 0 20px 8px rgba(29, 123, 95, 0.2);
}

.success-checkmark {
  position: relative;
  width: 64px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--green);
  color: #ffffff;
  font-size: 2rem;
  display: grid;
  place-items: center;
}

.recovery-codes-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 20px;
  padding: 0;
  list-style: none;
}

.recovery-codes-list li {
  background: #f7f8f4;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px;
  text-align: center;
  font-family: monospace;
  font-weight: 800;
  font-size: 1rem;
}

.security-warning-note {
  background: #fff4f4;
  border: 1px solid rgba(166, 66, 66, 0.2);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 24px;
}

.security-warning-note strong {
  display: block;
  color: var(--red);
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 850;
  margin-bottom: 4px;
}

.security-warning-note p {
  margin: 0;
  color: #8c3a3a;
  font-size: 0.78rem;
  line-height: 1.4;
}

/* PRINTABLE INVOICE SHEET STYLING */
.invoice-sheet {
  background: #ffffff;
  border-radius: 12px;
  width: 95%;
  max-width: 680px;
  box-shadow: 0 24px 70px rgba(14, 25, 20, 0.2);
  padding: 40px;
  color: #17211c;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.invoice-sheet-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 20px;
  margin-bottom: 24px;
}

.invoice-sheet-header h3 {
  font-size: 1.8rem;
  margin: 0 0 4px;
  font-weight: 800;
  letter-spacing: 0.5px;
}

.invoice-sheet-header small {
  color: #64748b;
  font-family: monospace;
}

.invoice-parties {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 28px;
}

.invoice-from strong, .invoice-to strong {
  display: block;
  font-size: 0.74rem;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 800;
  margin-bottom: 6px;
}

.invoice-from p, .invoice-to p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #334155;
}

.invoice-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  background: #f8fafc;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 32px;
}

.invoice-meta-grid span {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 800;
  margin-bottom: 4px;
}

.invoice-meta-grid strong {
  display: block;
  font-size: 0.86rem;
  color: #0f172a;
}

.paid-badge {
  color: #16a34a !important;
  font-weight: 800;
}

.invoice-items {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
}

.invoice-items th, .invoice-items td {
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
}

.invoice-items th {
  background: #f1f5f9;
  font-weight: 800;
  color: #475569;
  text-transform: uppercase;
  font-size: 0.74rem;
}

.invoice-items td strong {
  display: block;
  color: #0f172a;
  font-size: 0.9rem;
}

.invoice-items td p {
  margin: 4px 0 0;
  font-size: 0.8rem;
  color: #64748b;
}

.invoice-sums {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  border-bottom: 2px solid #e2e8f0;
  padding-bottom: 20px;
  margin-bottom: 24px;
}

.sums-row {
  display: flex;
  justify-content: space-between;
  width: 240px;
  font-size: 0.88rem;
}

.sums-row span {
  color: #64748b;
}

.sums-row strong {
  color: #0f172a;
}

.sums-row.grand-total {
  font-size: 1.1rem;
  border-top: 1px solid #e2e8f0;
  padding-top: 8px;
  margin-top: 4px;
}

.sums-row.grand-total span {
  color: #0f172a;
  font-weight: 800;
}

.sums-row.grand-total strong {
  color: var(--green);
  font-weight: 850;
}

.invoice-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.btn-download-inv, .btn-print-inv {
  height: 38px;
  border: 0;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.84rem;
  padding: 0 16px;
  cursor: pointer;
}

.btn-download-inv {
  background: #f1f5f9;
  color: #334155;
}

.btn-download-inv:hover {
  background: #e2e8f0;
}

.btn-print-inv {
  background: var(--green);
  color: #ffffff;
}

.btn-print-inv:hover {
  background: #145944;
}

/* HOME FOOTER & MULTI-MODEL ROUTER PANEL */
.home-bottom-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 24px;
  align-items: stretch;
}

.model-routing-monitor {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}

.routing-lane {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fbfcfb;
  padding: 16px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.routing-lane.active-routing {
  border-color: rgba(64, 217, 157, 0.46);
  background:
    linear-gradient(180deg, var(--surface), #f4fbf8),
    rgba(64, 217, 157, 0.03);
  box-shadow: 0 8px 24px rgba(29, 123, 95, 0.05);
  transform: scale(1.01);
}

.lane-header {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-bottom: 12px;
}

.lane-header strong {
  display: block;
  font-size: 0.95rem;
  color: var(--ink);
}

.lane-header small {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  margin-top: 2px;
}

.lane-status {
  font-size: 0.68rem;
  font-weight: 850;
  padding: 3px 8px;
  border-radius: 10px;
}

.lane-status.active {
  background: var(--green-soft);
  color: var(--green);
}

.lane-status.standby {
  background: #f1f5f9;
  color: #64748b;
}

.vram-bar-wrapper {
  margin-bottom: 8px;
}

.vram-bar-wrapper span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--muted);
  margin-bottom: 4px;
}

.vram-fill-line {
  height: 5px;
  background: #edf1ee;
  border-radius: 3px;
  position: relative;
}

.vram-fill-line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 3px;
}

.vram-fill-line.green::after { background: var(--green); width: 100%; }
.vram-fill-line.blue::after { background: var(--blue); width: 100%; }
.vram-fill-line.amber::after { background: var(--amber); width: 100%; }

.lane-stats {
  display: block;
  font-size: 0.72rem;
  color: var(--muted);
  font-family: monospace;
}

.routing-caption {
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1.45;
  margin: 0;
}

/* FLOATING DEDICATED SUPPORT CHATBOT */
.chat-panel-home {
  display: flex;
  flex-direction: column;
  min-height: 480px;
}

.support-chat-widget {
  flex: 1;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8faf8;
  overflow: hidden;
  margin-bottom: 16px;
  min-height: 280px;
}

.chat-thread-container {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 320px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.chat-bubble {
  max-width: 85%;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.88rem;
  line-height: 1.45;
  animation: fadeIn 0.2s ease-out;
}

.chat-bubble p {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.chat-bubble.assistant {
  align-self: flex-start;
  background: #f0f4f2;
  color: #17211c;
  border-bottom-left-radius: 2px;
}

.chat-bubble.user {
  align-self: flex-end;
  background: var(--green);
  color: #ffffff;
  border-bottom-right-radius: 2px;
}

.chat-bubble.assistant.typing {
  font-style: italic;
  color: var(--muted);
}

.chat-bubble.assistant.error {
  background: #f1dddd;
  color: var(--red);
}

.chat-bubble small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.72rem;
  font-family: monospace;
}

.chat-bubble.user small {
  color: #92e0c7;
}

.chat-input-form {
  display: flex;
  padding: 10px;
  background: #f8faf8;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.chat-input-form input {
  flex: 1;
  min-width: 180px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 12px;
  background: var(--surface);
  font: inherit;
  font-size: 0.86rem;
  color: var(--ink);
}

.chat-input-form input:focus {
  outline: 0;
  border-color: var(--green);
}

.btn-send-chat {
  border: 0;
  border-radius: 6px;
  background: var(--green);
  color: #ffffff;
  font-weight: 800;
  font-size: 0.84rem;
  padding: 0 14px;
  cursor: pointer;
}

.btn-send-chat:hover {
  background: #145944;
}

.chat-file-input {
  display: none;
}

.chat-tool-button {
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #ffffff;
  color: var(--ink);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font-size: 1rem;
  flex: 0 0 auto;
}

.chat-tool-button:hover:not(:disabled),
.chat-tool-button.is-recording {
  border-color: var(--green);
  background: #edf7f1;
  color: var(--green);
}

.chat-tool-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.chat-attachment-panel {
  border-top: 1px solid var(--line);
  padding: 8px 12px;
  background: #fbfdfb;
}

.chat-attachment-status {
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.35;
}

.chat-attachment-status.is-error {
  color: var(--red);
}

.chat-attachment-status.is-ready {
  color: var(--green);
}

.chat-attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.chat-attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 5px 7px;
  background: #ffffff;
  color: var(--ink);
  font-size: 0.74rem;
}

.chat-attachment-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 220px;
}

.chat-attachment-chip button {
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-weight: 800;
  padding: 0;
}

.chat-attachment-summary {
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: 0.76rem;
}

/* Chat Citations Panel */
.chat-citations-ledger {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f0f4f2;
  padding: 10px;
}

.chat-citations-ledger h6 {
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 850;
  color: var(--muted);
  margin: 0 0 6px;
}

.citations-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.citation-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 0.78rem;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(23, 33, 28, 0.02);
}

.citation-badge:hover {
  background: #edf1ef;
  border-color: var(--green);
}

.citation-badge span {
  color: var(--green);
  font-weight: 800;
}

.citation-badge strong {
  color: var(--ink);
}

.citation-badge small {
  color: var(--muted);
  font-size: 0.72rem;
}

@media (max-width: 900px) {
  .home-hero, .home-bottom-layout {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   GOOGLE MATERIAL DESIGN 3 OVERRIDES
   ========================================== */

/* 1. Base App Shell and Clean Sidebar */
body {
  background-color: #f8f9fa !important;
  color: #202124 !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

.app-shell {
  grid-template-columns: 280px minmax(0, 1fr) !important;
  background-color: #f8f9fa !important;
}

.sidebar {
  background: #1e1f20 !important; /* Google modern dark gray sidebar */
  border-right: 1px solid #dadce0 !important;
  padding: 24px 16px !important;
  color: #e3e3e3 !important;
  gap: 28px !important;
}

.brand-lockup {
  padding-left: 8px !important;
  margin-bottom: 8px !important;
}

.brand-mark {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: #1a73e8 !important; /* Google Blue brand mark */
  color: #ffffff !important;
  border: none !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.brand-lockup h1 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 500 !important;
  font-size: 1.05rem !important;
  color: #ffffff !important;
  letter-spacing: 0 !important;
}

.sidebar .eyebrow {
  color: #9aa0a6 !important;
  font-weight: 700 !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.8px !important;
}

/* Gmail/Google Cloud Navigation Pill design */
.module-nav {
  gap: 4px !important;
}

.module-tab {
  min-height: 44px !important;
  border-radius: 100px !important; /* Fully rounded Google navigation pills */
  padding: 8px 16px 8px 12px !important;
  color: #c4c7c5 !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  gap: 12px !important;
  transition: all 0.15s ease-in-out !important;
}

.module-tab:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

.module-tab.is-active {
  background: #c2e7ff !important; /* Gmail active blue tint */
  color: #001d35 !important; /* Active dark text */
  font-weight: 600 !important;
}

.module-tab span:first-child {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: transparent !important;
  font-size: 0.72rem !important;
  color: inherit !important;
}

.module-tab.is-active span:first-child {
  background: rgba(0, 29, 53, 0.08) !important;
  color: #001d35 !important;
}

.module-tab strong {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.86rem !important;
  font-weight: 500 !important;
}

.server-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  padding: 12px !important;
  margin-top: auto !important;
}

.server-card strong {
  color: #ffffff !important;
  font-size: 0.82rem !important;
}

.server-card small {
  color: #9aa0a6 !important;
  font-size: 0.7rem !important;
}

.status-dot {
  background: #34a853 !important; /* Google Green */
  box-shadow: 0 0 0 4px rgba(52, 168, 83, 0.2) !important;
}

/* 2. Workspace Layout & Cards (Material 3 Surface Elevation) */
.workspace {
  padding: 32px 40px !important;
  background-color: #f8f9fa !important;
}

.topbar h2 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  color: #202124 !important;
  letter-spacing: 0 !important;
  font-size: 2.2rem !important;
}

.platform-positioning {
  font-family: 'Inter', sans-serif !important;
  color: #5f6368 !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
}

.topbar-actions {
  background: #eef2f6 !important;
  padding: 4px !important;
  border-radius: 100px !important; /* Fully rounded buttons bar */
  border: none !important;
}

.view-button {
  border-radius: 100px !important;
  padding: 6px 16px !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  color: #5f6368 !important;
  border: none !important;
  background: transparent !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.view-button:hover {
  color: #202124 !important;
  background: rgba(0, 0, 0, 0.04) !important;
}

.view-button.is-active {
  background: #ffffff !important;
  color: #1a73e8 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12) !important;
}

/* Material 3 Flat Cards */
.glass-panel, .plan-card, .routing-lane, .security-card, .packet-composer, .brief-panel, .ai-feature-panel {
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 16px !important; /* Smooth M3 rounded edges */
  box-shadow: var(--shadow) !important; /* Standard Google shadow */
  backdrop-filter: none !important;
  padding: 24px !important;
}

.panel-header h4 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  color: #202124 !important;
}

.panel-desc {
  font-size: 0.88rem !important;
  color: #5f6368 !important;
  line-height: 1.5 !important;
}

/* 3. Next Action Ribbon (Clean Highlight) */
.next-action-bar {
  background: #edf2fa !important; /* Soft Google Blue ribbon */
  border: 1px solid #c2e7ff !important;
  border-radius: 16px !important;
  padding: 16px 24px !important;
  color: #041e49 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.next-action-main span {
  color: #1a73e8 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  font-size: 0.68rem !important;
  letter-spacing: 0.8px !important;
}

.next-action-main strong {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.15rem !important;
  color: #041e49 !important;
}

.next-action-main p {
  color: #5f6368 !important;
  font-size: 0.84rem !important;
}

.next-action-meta article span {
  color: #5f6368 !important;
  font-size: 0.68rem !important;
}

.next-action-meta article strong {
  color: #202124 !important;
  font-size: 0.84rem !important;
}

#nextActionPrimary, .btn-onboard, .btn-print-inv, .btn-finish-mfa, .btn-send-chat {
  background: #1a73e8 !important; /* Google Blue primary CTA */
  color: #ffffff !important;
  border-radius: 100px !important; /* Fully rounded caps */
  padding: 0 24px !important;
  height: 40px !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  border: none !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
  transition: background 0.2s, box-shadow 0.2s !important;
  cursor: pointer !important;
}

#nextActionPrimary:hover, .btn-onboard:hover, .btn-print-inv:hover, .btn-finish-mfa:hover, .btn-send-chat:hover {
  background: #1557b0 !important;
  box-shadow: 0 1px 3px 1px rgba(0,0,0,0.2) !important;
}

#copyNextActionDirective, .btn-secondary, .btn-copy-key, .btn-copy-secret, .btn-back-step, .btn-download-inv, .btn-mfa {
  background: #ffffff !important;
  color: #1a73e8 !important; /* Google Outline/Text button styling */
  border: 1px solid #dadce0 !important;
  border-radius: 100px !important;
  padding: 0 18px !important;
  height: 40px !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  transition: background 0.15s !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

#copyNextActionDirective:hover, .btn-secondary:hover, .btn-copy-key:hover, .btn-copy-secret:hover, .btn-back-step:hover, .btn-download-inv:hover, .btn-mfa:hover {
  background: #f8f9fa !important;
  border-color: #1a73e8 !important;
}

/* 4. Google Sign-In Styled Onboarding */
.onboarding-form {
  max-width: 400px !important;
  margin: 12px 0 0 !important;
}

.input-group label {
  font-family: 'Inter', sans-serif !important;
  color: #202124 !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0 !important;
}

.input-group input, .input-group select {
  border: 1px solid #dadce0 !important;
  border-radius: 8px !important;
  height: 44px !important;
  font-size: 0.92rem !important;
  color: #202124 !important;
  background: #ffffff !important;
  padding: 0 16px !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

.input-group input:focus, .input-group select:focus {
  border-color: #1a73e8 !important;
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.15) !important;
  outline: none !important;
}

/* 5. Google Account Security Center Styled TOTP MFA Overlay */
.mfa-modal-overlay, .invoice-modal-overlay {
  background: rgba(32, 33, 36, 0.6) !important; /* Google soft gray translucent mask */
  backdrop-filter: blur(4px) !important;
}

.mfa-wizard-card {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid #dadce0 !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.15) !important;
  padding: 32px !important;
  max-width: 460px !important;
}

.wizard-header h4 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
}

.step-dot {
  background: #f1f3f4 !important;
  color: #5f6368 !important;
  width: 28px !important;
  height: 28px !important;
}

.step-dot.active {
  background: #1a73e8 !important;
  color: #ffffff !important;
}

.secret-display-box {
  background: #f8f9fa !important;
  border: 1px solid #dadce0 !important;
  border-radius: 12px !important;
  padding: 16px !important;
}

.secret-display-box strong {
  font-size: 1.15rem !important;
  color: #202124 !important;
}

.code-entry-box input {
  border: 2px solid #dadce0 !important;
  border-radius: 12px !important;
  height: 52px !important;
  font-size: 1.8rem !important;
  color: #1a73e8 !important;
  width: 220px !important;
  box-shadow: none !important;
}

.code-entry-box input:focus {
  border-color: #1a73e8 !important;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.15) !important;
}

.recovery-codes-list li {
  background: #f8f9fa !important;
  border: 1px solid #dadce0 !important;
  border-radius: 8px !important;
  color: #202124 !important;
}

.security-warning-note {
  background: #fce8e6 !important; /* Soft Google Red background */
  border: 1px solid #fad2cf !important;
  border-radius: 10px !important;
  padding: 14px !important;
}

.security-warning-note strong {
  color: #c5221f !important;
}

.security-warning-note p {
  color: #a51d19 !important;
}

/* 6. Google Pay / Invoice Ninja Sheet Layout */
.invoice-sheet {
  background: #ffffff !important;
  border-radius: 16px !important;
  border: 1px solid #dadce0 !important;
  padding: 36px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}

.invoice-sheet-header h3 {
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  color: #202124 !important;
}

.invoice-meta-grid {
  background: #f8f9fa !important;
  border: 1px solid #dadce0 !important;
  border-radius: 12px !important;
}

.invoice-meta-grid strong {
  color: #202124 !important;
}

.invoice-items th {
  background: #f8f9fa !important;
  color: #5f6368 !important;
  border-bottom: 2px solid #dadce0 !important;
}

.sums-row.grand-total strong {
  color: #1a73e8 !important; /* Brand Blue total */
}

/* 7. Gemini/Assistant Inspired AI Support Panel */
.chat-panel-home {
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 20px !important;
  box-shadow: var(--shadow) !important;
  padding: 24px !important;
}

.support-chat-widget {
  border: 1px solid #dadce0 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
}

.chat-thread-container {
  background: #ffffff !important;
  padding: 20px !important;
}

/* Assistant Bubble: Google clean conversation gray */
.chat-bubble.assistant {
  background: #f0f4f9 !important; /* Soft gray Gemini card */
  color: #1f1f1f !important;
  border-radius: 18px !important;
  border-bottom-left-radius: 4px !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
}

/* User Bubble: Gemini dynamic soft-blue color */
.chat-bubble.user {
  background: #e8f0fe !important; /* Soft blue user chip */
  color: #0b57d0 !important; /* Intense Google Blue text */
  border-radius: 18px !important;
  border-bottom-right-radius: 4px !important;
  box-shadow: none !important;
  padding: 14px 18px !important;
}

.chat-input-form {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  background: #f8f9fa !important;
  padding: 12px 16px !important;
  border-top: 1px solid #dadce0 !important;
  gap: 12px !important;
}

.chat-input-form input {
  flex: 1 1 220px !important;
  min-width: 180px !important;
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 28px !important; /* Fully rounded capsule input bar */
  height: 42px !important;
  padding: 0 20px !important;
  font-size: 0.9rem !important;
  color: #202124 !important;
}

.chat-input-form input:focus {
  border-color: #1a73e8 !important;
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.15) !important;
}

.chat-input-form .chat-file-input {
  display: none !important;
}

.chat-input-form .chat-tool-button {
  border-color: #dadce0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #3c4043 !important;
}

.chat-input-form .chat-tool-button:hover:not(:disabled),
.chat-input-form .chat-tool-button.is-recording {
  border-color: #1a73e8 !important;
  background: #e8f0fe !important;
  color: #1a73e8 !important;
}

/* Gemini Source Chips style */
.chat-citations-ledger {
  background: #edf2fa !important;
  border: 1px solid #c2e7ff !important;
  border-radius: 12px !important;
  padding: 12px !important;
}

.chat-citations-ledger h6 {
  color: #0b57d0 !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
}

.citation-badge {
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 100px !important; /* Pill shaped citation tags */
  padding: 4px 12px !important;
  font-size: 0.8rem !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
}

.citation-badge:hover {
  background: #edf2fa !important;
  border-color: #1a73e8 !important;
}

.citation-badge span {
  color: #1a73e8 !important;
}

/* 8. Telemetry Meters & System Router Panels */
.routing-lane {
  border: 1px solid #dadce0 !important;
  border-radius: 14px !important;
  padding: 20px !important;
}

.routing-lane.active-routing {
  border-color: #1a73e8 !important; /* Deep Material Blue outline */
  background: #f8fafd !important; /* Google Cloud active light highlight */
  box-shadow: 0 4px 12px rgba(26,115,232,0.08) !important;
  transform: none !important; /* Elegant flat behavior */
}

.lane-status.active {
  background: #e6f4ea !important;
  color: #137333 !important;
}

.lane-status.standby {
  background: #f1f3f4 !important;
  color: #5f6368 !important;
}

.vram-fill-line {
  background: #f1f3f4 !important;
  height: 6px !important;
  border-radius: 100px !important;
}

.vram-fill-line.green::after { background: #34a853 !important; }
.vram-fill-line.blue::after { background: #1a73e8 !important; }
.vram-fill-line.amber::after { background: #fbbc05 !important; }




/* ========================================================
   GOOGLE-GRADE B2B SaaS REDESIGN OVERHAUL ADDITIONS
   ======================================================== */

/* 1. Header Navigation App-Bar */
.app-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 64px;
  background: #ffffff;
  border-bottom: 1px solid #dadce0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  z-index: 90;
  box-shadow: 0 1px 2px 0 rgba(60,64,67,0.1), 0 2px 6px 2px rgba(60,64,67,0.05);
}

.header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.brand-info {
  display: flex;
  flex-direction: column;
}

.brand-info h1 {
  font-family: 'Outfit', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
  color: #202124;
}

.product-crumb {
  font-size: 0.72rem;
  color: #1a73e8;
  font-weight: 700;
}

.environment-badge {
  display: inline-flex;
  align-items: center;
  height: 28px;
  border: 1px solid #f9ab00;
  border-radius: 999px;
  background: #fef7e0;
  color: #7a4300;
  padding: 0 10px;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
}

.header-nav {
  display: flex;
  gap: 8px;
}

.nav-link {
  background: transparent;
  border: none;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
  color: #5f6368;
  padding: 8px 16px;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.nav-link:hover {
  background: rgba(60,64,67,0.04);
  color: #202124;
}

.nav-link.active {
  background: #edf2fa;
  color: #1a73e8;
  font-weight: 600;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.btn-header-link {
  background: transparent;
  border: none;
  color: #1a73e8;
  font-weight: 600;
  font-size: 0.88rem;
  cursor: pointer;
  padding: 8px 16px;
}

.btn-header-primary {
  background: #1a73e8;
  color: #ffffff;
  border: none;
  border-radius: 100px;
  font-weight: 600;
  font-size: 0.88rem;
  padding: 8px 20px;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.btn-header-primary:hover {
  background: #1557b0;
}

.profile-avatar-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #3c4043;
  color: #ffffff;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* 2. Workspace Container adjustment */
.app-workspace-shell {
  margin-top: 64px;
  min-height: calc(100vh - 64px);
  background-color: #f8f9fa;
  padding-bottom: calc(var(--assistant-height) + 40px);
}

/* 3. Google-style Account settings profile dropdown menu */
.profile-dropdown-menu {
  position: absolute;
  top: 56px;
  right: 16px;
  width: 320px;
  background: #ffffff;
  border: 1px solid #dadce0;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  padding: 20px;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.profile-dropdown-header {
  border-bottom: 1px solid #dadce0;
  padding-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.profile-dropdown-header strong {
  font-size: 0.95rem;
  color: #202124;
}

.plan-tier-badge {
  display: inline-block;
  background: #edf2fa;
  color: #1a73e8;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 4px;
  align-self: flex-start;
}

.profile-dropdown-tabs {
  display: flex;
  border-bottom: 1px solid #dadce0;
  padding-bottom: 4px;
  gap: 4px;
}

.dropdown-tab-btn {
  background: transparent;
  border: none;
  font-size: 0.76rem;
  font-weight: 600;
  color: #5f6368;
  padding: 6px 10px;
  border-radius: 4px;
  cursor: pointer;
}

.dropdown-tab-btn.active {
  background: #e8f0fe;
  color: #1a73e8;
}

.dropdown-tab-content {
  display: grid;
  gap: 12px;
}

.dropdown-key-box {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.key-input-row {
  display: flex;
  gap: 8px;
}

.key-input-row input {
  flex: 1;
  height: 32px;
  font-family: monospace;
  font-size: 0.78rem;
  border: 1px solid #dadce0;
  border-radius: 6px;
  padding: 0 8px;
  background: #f8f9fa;
}

.btn-dropdown-logout {
  width: 100%;
  height: 36px;
  background: transparent;
  border: 1px solid #dadce0;
  color: #c5221f;
  font-weight: 600;
  font-size: 0.84rem;
  border-radius: 8px;
  cursor: pointer;
  margin-top: 12px;
}

.btn-dropdown-logout:hover {
  background: #fce8e6;
}

.lifecycle-command-center {
  border: 1px solid #dadce0;
  border-radius: 10px;
  background: #f8fbff;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.lifecycle-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.lifecycle-stage-badge {
  border-radius: 999px;
  background: #e8f0fe;
  color: #1967d2;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 4px 8px;
}

.lifecycle-header-row strong {
  font-size: 0.72rem;
  color: #5f6368;
  font-weight: 700;
}

.lifecycle-summary-copy {
  margin: 0;
  color: #5f6368;
  font-size: 0.74rem;
  line-height: 1.4;
}

.lifecycle-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4px;
}

.lifecycle-checklist li {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
}

.lifecycle-checklist li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 auto;
}

.lifecycle-checklist li.is-done {
  color: #1b5e20;
}

.lifecycle-checklist li.is-done::before {
  background: #1b5e20;
}

.lifecycle-checklist li.is-pending {
  color: #5f6368;
}

.lifecycle-checklist li.is-pending::before {
  background: #c3c7cf;
}

.btn-lifecycle-next {
  height: 32px;
  border-radius: 8px;
  border: 1px solid #d2e3fc;
  background: #ffffff;
  color: #1967d2;
  font-size: 0.74rem;
  font-weight: 700;
  cursor: pointer;
}

.btn-lifecycle-next:hover {
  background: #edf4ff;
}

.lifecycle-next-reason {
  color: #5f6368;
  font-size: 0.7rem;
  line-height: 1.35;
}

.lifecycle-action-log,
.support-ticket-history {
  display: grid;
  gap: 6px;
}

.lifecycle-action-log label,
.support-ticket-history label {
  font-size: 0.72rem;
  font-weight: 800;
  color: #5f6368;
  text-transform: uppercase;
}

.lifecycle-action-log ul,
.support-ticket-history ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.lifecycle-action-log li,
.support-ticket-history li {
  border: 1px solid #eceff3;
  border-radius: 8px;
  background: #ffffff;
  padding: 6px 8px;
  display: grid;
  gap: 3px;
  font-size: 0.72rem;
  color: #5f6368;
}

.lifecycle-action-log li strong,
.support-ticket-history li strong {
  color: #202124;
  font-size: 0.74rem;
}

.ticket-status-box {
  border: 1px solid #d2f4e3;
  background: #f1fbf6;
  border-radius: 8px;
  padding: 8px 10px;
  display: grid;
  gap: 3px;
}

.ticket-status-box strong {
  color: #137333;
  font-size: 0.78rem;
}

.ticket-status-box p {
  margin: 0;
  color: #19683a;
  font-size: 0.72rem;
}

.dropdown-loading-copy,
.dropdown-error-copy {
  margin: 0;
  font-size: 0.74rem;
  color: #5f6368;
}

.dropdown-error-copy {
  color: #b3261e;
}

/* 4. Public Landing page and offerings */
.landing-view {
  background-color: #ffffff;
}

.landing-hero {
  border-bottom: 1px solid #dadce0;
}

.landing-hero h2 {
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

/* 5. Product Catalog eligibility locks */
.plan-locked {
  opacity: 0.76 !important;
  filter: grayscale(0.35) !important;
  cursor: default !important;
  position: relative !important;
}

.plan-locked::before {
  content: attr(data-required-plan) " required";
  position: absolute;
  top: 12px;
  right: 12px;
  background: #e8f0fe;
  color: #174ea6;
  font-size: 0.65rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 4px;
  letter-spacing: 0.5px;
}

.plan-locked:hover {
  border-color: #dadce0 !important;
  transform: none !important;
  box-shadow: var(--md-shadow) !important;
}

.plan-locked .business-case-button {
  background: #174ea6;
  color: #ffffff;
}

.upgrade-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(32, 33, 36, 0.52);
  backdrop-filter: blur(6px);
  animation: fadeIn 0.16s ease-out;
}

.has-modal-open {
  overflow: hidden;
}

.upgrade-modal-card {
  position: relative;
  display: grid;
  gap: 16px;
  width: min(100%, 520px);
  border: 1px solid #dadce0;
  border-radius: 8px;
  background: #ffffff;
  color: #202124;
  padding: 24px;
  box-shadow: 0 24px 70px rgba(32, 33, 36, 0.24);
}

.upgrade-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid #dadce0;
  border-radius: 8px;
  background: #ffffff;
  color: #3c4043;
  cursor: pointer;
  font-size: 1.2rem;
  line-height: 1;
}

.upgrade-modal-kicker {
  width: fit-content;
  border: 1px solid #bfd3f7;
  border-radius: 8px;
  background: #e8f0fe;
  color: #174ea6;
  padding: 5px 9px;
  font-size: 0.74rem;
  font-weight: 850;
}

.upgrade-modal-card h3 {
  margin: 0;
  max-width: 420px;
  font-size: clamp(1.35rem, 4vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: 0;
}

.upgrade-modal-card p {
  margin: 0;
  color: #5f6368;
  line-height: 1.55;
}

.upgrade-modal-feature {
  display: grid;
  gap: 4px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  background: #f8fafd;
  padding: 12px;
}

.upgrade-modal-feature span {
  color: #5f6368;
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.upgrade-modal-feature strong {
  font-size: 0.98rem;
}

.upgrade-modal-benefits {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.upgrade-modal-benefits li {
  position: relative;
  padding-left: 18px;
  color: #202124;
  font-size: 0.9rem;
  line-height: 1.35;
  font-weight: 700;
}

.upgrade-modal-benefits li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #188038;
}

.upgrade-modal-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.upgrade-modal-primary,
.upgrade-modal-secondary {
  min-height: 42px;
  border-radius: 8px;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 850;
  cursor: pointer;
  padding: 0 14px;
}

.upgrade-modal-primary {
  border: 0;
  background: #174ea6;
  color: #ffffff;
}

.upgrade-modal-secondary {
  border: 1px solid #dadce0;
  background: #ffffff;
  color: #3c4043;
}

@media (max-width: 560px) {
  .upgrade-modal-card {
    padding: 20px;
  }

  .upgrade-modal-actions {
    grid-template-columns: 1fr;
  }
}

/* 6. Gemini AI Chat Overlay */
.gemini-ai-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(32, 33, 36, 0.55);
  backdrop-filter: blur(8px);
  z-index: 120;
  display: grid;
  place-items: center;
  animation: fadeIn 0.2s ease-out;
}

.gemini-overlay-card {
  background: #ffffff;
  border: 1px solid #dadce0;
  border-radius: 20px;
  width: 90%;
  max-width: 760px;
  height: 85vh;
  box-shadow: 0 12px 40px rgba(0,0,0,0.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.gemini-overlay-header {
  padding: 16px 24px;
  border-bottom: 1px solid #dadce0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ffffff;
}

/* 7. In-page AI command bar */
.global-ai-prompt-bar {
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: min(calc(100vw - 28px), 1080px);
  z-index: 88;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.2);
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
  border: 1px solid rgba(76, 110, 245, 0.34);
}

.prompt-bar-container {
  display: flex;
  align-items: center;
  padding: 8px 8px 8px 12px;
  min-height: 56px;
  gap: 12px;
}

.sparkle-icon {
  font-size: 1.25rem;
  color: #1a73e8;
}

.prompt-bar-container input {
  flex: 1;
  background: transparent;
  border: none;
  font-family: inherit;
  font-size: 0.88rem;
  color: #202124;
  outline: none;
}

#globalAiSubmitBtn {
  background: #1a73e8;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 0 18px;
  height: 38px;
  font-weight: 600;
  font-size: 0.82rem;
  cursor: pointer;
}

#globalAiSubmitBtn:hover {
  background: #1557b0;
}

body.has-modal-open .global-ai-prompt-bar {
  display: none !important;
}

/* 8. Team workspace drawer */
.collaboration-drawer {
  position: fixed;
  top: 64px;
  right: 0;
  width: min(480px, calc(100vw - 16px));
  height: calc(100vh - 64px);
  background: linear-gradient(180deg, #ffffff 0%, #f7faf8 100%);
  border-left: 1px solid rgba(26, 43, 64, 0.12);
  z-index: 85;
  box-shadow: -18px 0 42px rgba(19, 33, 48, 0.12);
  display: flex;
  flex-direction: column;
  animation: slideInRight 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.collab-header {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(26, 43, 64, 0.12);
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
}

.collab-eyebrow {
  margin: 0 0 4px;
  color: #5b6f86;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 760;
}

.collab-header h4 {
  margin: 0;
  color: #12283f;
  font-family: "Outfit", sans-serif;
  font-size: 1.1rem;
  line-height: 1.25;
}

.collab-header small {
  display: block;
  margin-top: 5px;
  color: #5f6f80;
  font-size: 0.77rem;
  line-height: 1.4;
}

.collab-health-grid {
  margin: 0;
  padding: 12px 16px;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  border-bottom: 1px solid rgba(26, 43, 64, 0.08);
}

.collab-health-grid article {
  border: 1px solid rgba(26, 43, 64, 0.11);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  padding: 9px 10px;
  min-width: 0;
}

.collab-health-grid span {
  display: block;
  color: #5b6f86;
  font-size: 0.69rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 700;
}

.collab-health-grid strong {
  display: block;
  margin-top: 4px;
  color: #123456;
  font-size: 1rem;
  font-weight: 760;
}

.collab-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid rgba(26, 43, 64, 0.12);
}

.collab-tab-btn {
  background: transparent;
  border: none;
  min-height: 40px;
  font-size: 0.78rem;
  font-weight: 670;
  color: #566a80;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 120ms ease, background 120ms ease, border-color 120ms ease;
}

.collab-tab-btn:hover {
  background: rgba(30, 94, 149, 0.08);
  color: #204b71;
}

.collab-tab-btn.active {
  color: #0d5185;
  border-bottom-color: #0d5185;
  background: rgba(13, 81, 133, 0.08);
}

.collab-tab-content {
  flex: 1;
  min-height: 0;
  display: none;
  flex-direction: column;
}

.collab-tab-content.is-active {
  display: flex;
}

.collab-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px 10px;
  border-bottom: 1px solid rgba(26, 43, 64, 0.08);
}

.collab-toolbar strong {
  color: #14314f;
  font-size: 0.84rem;
}

.collab-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.collab-toolbar select {
  border: 1px solid rgba(26, 43, 64, 0.2);
  border-radius: 8px;
  padding: 4px 8px;
  background: #fff;
  font-size: 0.77rem;
}

.collab-entity-list {
  list-style: none;
  margin: 0;
  padding: 12px;
  display: grid;
  gap: 9px;
  overflow: auto;
}

.collab-empty {
  border: 1px dashed rgba(26, 43, 64, 0.26);
  border-radius: 9px;
  color: #5b6f86;
  background: rgba(255, 255, 255, 0.7);
  padding: 14px;
  font-size: 0.8rem;
}

.collab-card {
  border: 1px solid rgba(26, 43, 64, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px 11px;
  display: grid;
  gap: 7px;
  min-width: 0;
}

.collab-card-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 8px;
}

.collab-card-head strong {
  color: #123456;
  font-size: 0.82rem;
  line-height: 1.35;
}

.collab-pill {
  border-radius: 999px;
  padding: 1px 8px;
  font-size: 0.67rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid transparent;
}

.collab-pill.is-open {
  background: rgba(176, 119, 38, 0.16);
  color: #8b5a13;
  border-color: rgba(176, 119, 38, 0.28);
}

.collab-pill.is-done,
.collab-pill.is-ready {
  background: rgba(29, 123, 95, 0.14);
  color: #1f6e56;
  border-color: rgba(29, 123, 95, 0.28);
}

.collab-pill.is-info {
  background: rgba(30, 94, 149, 0.14);
  color: #1f5786;
  border-color: rgba(30, 94, 149, 0.26);
}

.collab-card p {
  margin: 0;
  color: #34495f;
  font-size: 0.78rem;
  line-height: 1.42;
}

.collab-card small {
  color: #5e7184;
  font-size: 0.72rem;
}

.collab-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.collab-room-layout {
  display: grid;
  grid-template-columns: minmax(150px, 180px) minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  min-height: 0;
  flex: 1;
}

.collab-room-panel,
.collab-room-thread {
  border: 1px solid rgba(26, 43, 64, 0.12);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.88);
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.collab-room-panel .collab-toolbar,
.collab-room-thread .collab-room-head {
  border-bottom: 1px solid rgba(26, 43, 64, 0.1);
  padding: 10px;
}

.collab-room-list {
  list-style: none;
  margin: 0;
  padding: 10px;
  display: grid;
  gap: 7px;
  overflow: auto;
  min-height: 0;
}

.collab-room-list button {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(26, 43, 64, 0.16);
  border-radius: 9px;
  background: #fff;
  color: #1b3652;
  padding: 8px;
  cursor: pointer;
  display: grid;
  gap: 3px;
}

.collab-room-list button.is-active {
  border-color: rgba(13, 81, 133, 0.4);
  background: rgba(13, 81, 133, 0.08);
}

.collab-room-list button small {
  color: #5c6f82;
  font-size: 0.69rem;
}

.collab-inline-form,
.collab-invite-form {
  padding: 10px;
  border-top: 1px solid rgba(26, 43, 64, 0.1);
  display: grid;
  gap: 7px;
}

.collab-inline-form {
  grid-template-columns: minmax(0, 1fr) auto;
}

.collab-inline-form input,
.collab-invite-form input,
.collab-invite-form select,
.collab-chat-form input {
  border: 1px solid rgba(26, 43, 64, 0.2);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 0.8rem;
  min-width: 0;
}

.collab-room-head strong {
  display: block;
  color: #17324f;
  font-size: 0.86rem;
}

.collab-room-head small {
  color: #5f7388;
  font-size: 0.74rem;
}

.collab-chat-messages {
  flex: 1;
  min-height: 0;
  padding: 10px;
  overflow: auto;
  display: grid;
  gap: 9px;
  align-content: start;
}

.collab-msg {
  max-width: 96%;
  display: grid;
  gap: 4px;
}

.collab-msg strong {
  color: #143a62;
  font-size: 0.69rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.collab-msg p {
  margin: 0;
  padding: 8px 10px;
  border-radius: 9px;
  font-size: 0.79rem;
  line-height: 1.4;
  background: #eef3f7;
  color: #183952;
}

.collab-msg[data-author="user"] {
  justify-self: end;
}

.collab-msg[data-author="user"] p {
  background: #dceeff;
  color: #0e426e;
}

.collab-msg small {
  color: #6b7f94;
  font-size: 0.68rem;
}

.collab-chat-form {
  border-top: 1px solid rgba(26, 43, 64, 0.1);
  gap: 8px;
}

.collab-chat-form .btn-send-chat {
  min-width: 78px;
  height: 35px;
}

.collab-member-list .collab-card p {
  font-size: 0.75rem;
}

.collab-badge.is-zero {
  display: none;
}

@media (max-width: 980px) {
  .collaboration-drawer {
    top: 0;
    width: 100vw;
    height: 100vh;
    border-left: 0;
    box-shadow: 0 0 0 1px rgba(26, 43, 64, 0.08), 0 12px 42px rgba(17, 32, 49, 0.24);
  }
}

@media (max-width: 760px) {
  .collab-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .collab-room-layout {
    grid-template-columns: minmax(0, 1fr);
  }

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

/* 9. Keyframes Animations */
@keyframes slideInRight {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

.is-hidden {
  display: none !important;
}

.btn-icon {
  background: transparent;
  border: none;
  font-size: 1.25rem;
  position: relative;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
}

.btn-icon:hover {
  background: rgba(0,0,0,0.04);
}

.collab-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  background: #c5221f;
  color: #ffffff;
  font-size: 0.65rem;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
}

/* ========================================================
   CEREBRAL INSIGHTS PREMIUM LANDING PAGE ALIGNMENT & UX
   ======================================================== */

/* Perfect vertical alignment for header elements */
.app-header {
  box-shadow: 0 1px 3px 0 rgba(60,64,67,0.1), 0 4px 8px 3px rgba(60,64,67,0.05) !important;
}

.header-left, .header-right {
  display: flex !important;
  align-items: center !important;
}

.public-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.brand-mark {
  display: inline-grid !important;
  place-items: center !important;
}

/* Landing View & Container centering */
.landing-view {
  background-color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

.landing-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 80px 24px 60px !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  border-bottom: none !important;
}

/* Symmetrical and consistent CTA buttons in hero */
.landing-hero-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  margin-top: 12px !important;
}

/* Override the !important rules of .btn-onboard / .btn-secondary inside landing hero */
.landing-hero-actions .btn-onboard,
.landing-hero-actions .btn-secondary {
  height: 48px !important;
  padding: 0 32px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  font-family: 'Outfit', sans-serif !important;
  border-radius: 100px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: 0 2px 4px rgba(26,115,232,0.15) !important;
}

.landing-hero-actions .btn-onboard {
  background: #1a73e8 !important;
  color: #ffffff !important;
  border: none !important;
}

.landing-hero-actions .btn-onboard:hover {
  background: #1557b0 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(26,115,232,0.3) !important;
}

.landing-hero-actions .btn-secondary {
  background: #ffffff !important;
  color: #1a73e8 !important;
  border: 1px solid #dadce0 !important;
}

.landing-hero-actions .btn-secondary:hover {
  background: #f8f9fa !important;
  border-color: #1a73e8 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(60,64,67,0.1) !important;
}

/* Grids alignments and visually stunning Premium card designs */
.offerings-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 12px 0 !important;
}

.offerings-grid .plan-card {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 16px !important;
  padding: 32px 24px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.offerings-grid .plan-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.08) !important;
  border-color: #1a73e8 !important;
}

.offerings-grid .plan-card h4 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #202124 !important;
  margin: 16px 0 8px !important;
}

.offerings-grid .plan-card p {
  font-size: 0.88rem !important;
  color: #5f6368 !important;
  line-height: 1.5 !important;
}

/* Pricing Grid Cards Styling */
.public-plans-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 16px 0 !important;
}

.public-plans-grid .plan-card {
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 20px !important;
  padding: 36px 28px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  position: relative !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.public-plans-grid .plan-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,0.08) !important;
}

/* Recommended highlight */
.public-plans-grid .plan-card.recommended-plan {
  border-color: #1a73e8 !important;
  border-width: 2px !important;
  box-shadow: 0 8px 24px rgba(26,115,232,0.12) !important;
}

.public-plans-grid .plan-card.recommended-plan:hover {
  box-shadow: 0 16px 40px rgba(26,115,232,0.2) !important;
}

/* CTA buttons inside pricing plan cards */
.public-plans-grid .btn-checkout-plan {
  margin-top: auto !important;
  width: 100% !important;
  height: 44px !important;
  background: #1a73e8 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: 'Outfit', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.public-plans-grid .btn-checkout-plan:hover {
  background: #1557b0 !important;
  box-shadow: 0 4px 12px rgba(26,115,232,0.25) !important;
}

.public-plans-grid .plan-card:not(.recommended-plan) .btn-checkout-plan {
  background: #ffffff !important;
  color: #1a73e8 !important;
  border: 1px solid #dadce0 !important;
  box-shadow: none !important;
}

.public-plans-grid .plan-card:not(.recommended-plan) .btn-checkout-plan:hover {
  background: #f8f9fa !important;
  border-color: #1a73e8 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.landing-section {
  width: 100%;
  padding: 42px 24px;
  border-top: 1px solid var(--line);
}

.dashboard-home {
  padding: 24px clamp(18px, 3vw, 44px) calc(var(--assistant-height) + 48px);
}

.dashboard-command-center {
  max-width: 1320px;
  margin: 0 auto 28px;
  display: grid;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 24px;
}

.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  gap: 24px;
  align-items: end;
}

.dashboard-hero-copy {
  min-width: 0;
}

.eyebrow {
  margin: 0 0 6px;
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.dashboard-hero h3 {
  margin: 0 0 8px;
  font-size: clamp(1.6rem, 2vw, 2.1rem);
  line-height: 1.08;
}

.dashboard-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.dashboard-signal-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.dashboard-signal-row div {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.dashboard-signal-row dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.dashboard-signal-row dd {
  margin: 4px 0 0;
  font-family: 'Outfit', system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}

.dashboard-command-panel {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border: 1px solid #c8d7f7;
  border-radius: 8px;
  background: #f6f9ff;
  padding: 14px;
}

.dashboard-command-panel span {
  display: block;
  color: var(--ink);
  font-weight: 850;
}

.dashboard-command-panel p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.dashboard-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.dashboard-quick-actions button,
.product-filter-tabs button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  padding: 9px 12px;
}

.dashboard-quick-actions button:hover,
.product-filter-tabs button:hover {
  border-color: var(--blue);
  background: #f5f8ff;
}

.proactive-insights {
  display: grid;
  gap: 12px;
}

.proactive-insights .dashboard-section-heading {
  margin-bottom: 0;
}

.proactive-insight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

.proactive-insight-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 14px;
  display: grid;
  gap: 8px;
}

.proactive-insight-card span,
.workflow-group-heading span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.proactive-insight-card strong,
.proactive-insight-card p {
  margin: 0;
  overflow-wrap: anywhere;
}

.proactive-insight-card p {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.proactive-insight-card button {
  justify-self: start;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 850;
  padding: 8px 10px;
}

.products-grid-container {
  max-width: 1320px;
  margin: 0 auto;
}

.landing-section-heading,
.dashboard-section-heading {
  max-width: 960px;
  margin: 0 auto 24px;
  text-align: center;
}

.dashboard-section-heading {
  max-width: 1320px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  text-align: left;
}

.landing-section-heading h3,
.landing-gemini-copy h3,
.dashboard-section-heading h4 {
  margin: 0 0 8px;
  font-size: 1.45rem;
  letter-spacing: 0;
}

.landing-section-heading p,
.landing-gemini-copy p,
.dashboard-section-heading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.product-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.product-filter-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
}

.product-filter-tabs button strong {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--paper);
  color: var(--muted);
  font-size: 0.72rem;
}

.product-filter-tabs button.active {
  border-color: var(--blue);
  background: var(--blue-soft);
  color: var(--blue);
}

.product-filter-tabs button.active strong {
  background: #ffffff;
  color: var(--blue);
}

.business-case-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
}

.business-case-grid.is-grouped {
  grid-template-columns: minmax(0, 1fr) !important;
}

.workflow-group-section {
  display: grid;
  gap: 12px;
}

.workflow-group-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
}

.workflow-group-heading h5 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  letter-spacing: 0;
}

.workflow-group-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
}

.business-case-card,
.business-product-page,
.landing-gemini-chat {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 8px 28px rgba(35, 42, 48, 0.06);
}

.business-case-card {
  min-width: 0;
  min-height: 344px;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 18px;
}

.business-case-card[data-status="foundation"] { border-top: 4px solid var(--green); }
.business-case-card[data-status="design-ready"] { border-top: 4px solid var(--blue); }
.business-case-card[data-status="planned"] { border-top: 4px solid var(--amber); }
.business-case-card[data-status="compliance-gated"] { border-top: 4px solid var(--red); }

.business-case-topline,
.business-product-topline,
.business-product-section-head,
.business-product-agent-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.case-index,
.case-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.case-index {
  color: #153126;
  background: var(--green-soft);
}

.case-status {
  color: var(--blue);
  background: var(--blue-soft);
}

.business-case-card[data-status="foundation"] .case-status {
  color: #0b5131;
  background: var(--green-soft);
}

.business-case-card[data-status="planned"] .case-status {
  color: #7a4300;
  background: var(--amber-soft);
}

.business-case-card[data-status="compliance-gated"] .case-status {
  color: #8c1d18;
  background: var(--red-soft);
}

.business-case-title-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.case-lane-icon {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #edf2fa;
  color: #174ea6;
  font-size: 0.7rem;
  font-weight: 900;
}

.business-case-card h4 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0;
}

.business-case-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
  font-size: 0.86rem;
}

.business-case-signals {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.business-case-signals span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: #3c4043;
  padding: 3px 8px;
  font-size: 0.72rem;
  font-weight: 800;
}

.business-case-facts {
  display: grid;
  gap: 8px;
  margin: 0;
}

.business-case-facts div,
.business-product-grid article,
.business-product-ai article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 10px;
}

.business-case-facts dt,
.business-product-grid span,
.business-product-data span,
.business-product-ai span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.business-case-facts dd {
  margin: 4px 0 0;
  color: var(--ink);
  line-height: 1.35;
  font-size: 0.84rem;
}

.business-case-button,
.business-product-actions button,
.product-back-button,
.landing-gemini-form button {
  border: 0;
  border-radius: 8px;
  background: #18251f;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 850;
  padding: 10px 12px;
}

.business-case-button {
  align-self: end;
  margin-top: auto;
  width: 100%;
}

.business-case-button.is-secondary {
  background: #ffffff;
  color: #174ea6;
  border: 1px solid #bfd3f7;
}

.business-case-button.is-muted {
  background: #ffffff;
  color: #7a4300;
  border: 1px solid #f9ab00;
}

.business-case-button.is-governed {
  background: #8c1d18;
  color: #ffffff;
}

.business-case-button:hover,
.business-product-actions button:hover,
.product-back-button:hover,
.landing-gemini-form button:hover {
  filter: brightness(0.96);
}

.nav-link:focus-visible,
.business-case-button:focus-visible,
.dashboard-quick-actions button:focus-visible,
.product-filter-tabs button:focus-visible,
#globalAiSubmitBtn:focus-visible,
.prompt-bar-container input:focus-visible {
  outline: 3px solid rgba(26, 115, 232, 0.28);
  outline-offset: 2px;
}

.public-product-view,
.business-case-view {
  width: 100%;
}

.business-case-view {
  padding: 0 clamp(18px, 3vw, 44px) calc(var(--assistant-height) + 48px);
}

.public-product-view {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px 32px;
}

.business-product-page {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.business-product-breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 760;
}

.business-product-breadcrumb strong {
  color: var(--ink);
}

.business-product-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
  gap: 18px;
  align-items: start;
}

.business-product-hero-main {
  display: grid;
  gap: 12px;
}

.business-product-hero h3 {
  margin: 0;
  font-size: 1.85rem;
  line-height: 1.1;
  letter-spacing: 0;
}

.business-product-hero p,
.business-product-data p,
.business-product-ai p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.product-hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
}

.product-hero-stats article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 10px;
}

.product-hero-stats span,
.business-product-section-head span,
.business-product-blueprint dt {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.product-hero-stats strong {
  display: block;
  margin-top: 5px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.business-product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.business-product-actions button + button,
.product-back-button {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--surface);
}

.business-product-grid,
.business-product-ai {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.business-product-grid strong {
  display: block;
  margin-top: 6px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.business-product-preview {
  display: grid;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 14px;
}

.business-product-section-head h4 {
  margin: 4px 0 0;
  letter-spacing: 0;
}

.business-product-section-head strong {
  color: #174ea6;
  background: var(--blue-soft);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.74rem;
}

.sample-preset-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.sample-preset-list button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: #3c4043;
  cursor: default;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 7px 10px;
}

.sample-screen-table-wrap {
  overflow-x: auto;
}

.sample-screen-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  font-size: 0.86rem;
}

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

.sample-screen-table th {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.sample-screen-table td:nth-child(2),
.sample-screen-table td:nth-child(4) {
  font-weight: 850;
}

.business-product-data {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(280px, 1.1fr);
  gap: 12px;
  border: 1px solid rgba(29, 123, 95, 0.22);
  border-radius: 8px;
  background: #f6fbf8;
  padding: 14px;
}

.product-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.product-trust-badges span {
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 999px;
  background: #ffffff;
  color: #1d5b48;
  padding: 5px 9px;
  text-transform: none;
}

.business-product-data h4,
.business-product-ai h4 {
  margin: 4px 0 6px;
  letter-spacing: 0;
}

.business-product-data ul,
.business-product-ai ul {
  margin: 0;
  padding-left: 18px;
  color: #314c40;
  line-height: 1.5;
}

.business-product-agent {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(26, 115, 232, 0.22);
  border-radius: 8px;
  background: #f8fbff;
  padding: 14px;
}

.business-product-copilot article:first-child {
  border-color: rgba(26, 115, 232, 0.24);
  background: #f8fbff;
}

.business-product-blueprint {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfb;
  padding: 12px 14px;
}

.business-product-blueprint summary {
  cursor: pointer;
  font-weight: 850;
}

.business-product-blueprint dl {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 12px 0 0;
}

.business-product-blueprint dd {
  margin: 4px 0 0;
  color: var(--ink);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.business-product-agent-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.business-product-agent label,
.business-product-agent-head span,
.business-product-sources span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.business-product-agent textarea {
  width: 100%;
  min-height: 84px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  font: inherit;
  line-height: 1.45;
}

.provider-badge {
  align-self: flex-start;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.72rem;
  font-weight: 800;
  background: #e8f0fe;
  color: #174ea6;
  white-space: nowrap;
}

.provider-badge[data-provider="local-llama"] {
  background: #e6f4ea;
  color: #137333;
}

.provider-badge[data-provider="cerebral-router"] {
  background: #eaf3ff;
  color: #0b57d0;
}

.provider-badge[data-provider="offline-fallback"] {
  background: #fef7e0;
  color: #b06000;
}

.business-product-agent-output {
  border: 1px dashed rgba(95, 99, 104, 0.36);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.business-product-agent-output p {
  margin: 0;
  color: var(--ink);
  line-height: 1.5;
}

.business-product-sources {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.business-product-sources ul {
  margin: 0;
  padding-left: 18px;
  line-height: 1.45;
}

.business-product-sources li span {
  display: block;
  color: var(--muted);
}

.business-product-intake {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(11, 87, 208, 0.24);
  background: #f5f9ff;
  border-radius: 8px;
}

.business-product-intake ul {
  margin: 8px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.landing-gemini-section {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 20px;
  align-items: stretch;
  max-width: 1180px;
  margin: 0 auto;
}

.landing-gemini-copy {
  display: grid;
  align-content: center;
  gap: 10px;
}

.landing-gemini-chat {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.landing-gemini-thread {
  min-height: 190px;
  max-height: 280px;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8faf9;
  padding: 12px;
}

.landing-gemini-form {
  display: grid;
  gap: 8px;
}

.landing-gemini-form label {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.landing-gemini-form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.landing-gemini-form input {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
}

/* Responsive fixes */
@media (max-width: 920px) {
  .dashboard-hero,
  .dashboard-command-panel {
    grid-template-columns: 1fr;
  }

  .dashboard-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .product-filter-tabs {
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .dashboard-home {
    padding: 18px 14px calc(var(--assistant-height) + 36px);
  }

  .dashboard-signal-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .prompt-bar-container {
    align-items: stretch;
    flex-direction: column;
  }

  .prompt-bar-container input,
  #globalAiSubmitBtn {
    width: 100%;
  }

  .header-nav {
    overflow-x: auto;
    max-width: 54vw;
  }

  .environment-badge {
    display: none;
  }
}

@media (max-width: 600px) {
  .landing-hero h2 {
    font-size: 2.2rem !important;
  }
  .landing-hero-actions {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .landing-hero-actions .btn-onboard,
  .landing-hero-actions .btn-secondary {
    width: 100% !important;
  }
  .business-product-data,
  .landing-gemini-section,
  .landing-gemini-form > div {
    grid-template-columns: 1fr;
  }
}

/* 10. Unified product design system and accurate public positioning */
.app-workspace-shell,
.landing-view,
.auth-view,
.workspace {
  color: var(--ink);
}

.glass-panel,
.plan-card,
.routing-lane,
.security-card,
.packet-composer,
.brief-panel,
.ai-feature-panel,
.business-case-card,
.business-product-page,
.landing-gemini-chat,
.landing-proof-card,
.metric-card,
.server-card,
.roadmap-card,
.ai-trust-card,
.ai-usecase-card,
.trust-grid article,
.deal-room-grid article {
  border-radius: var(--ci-radius) !important;
  border-color: var(--line) !important;
  box-shadow: var(--ci-shadow-soft) !important;
}

.next-action-bar,
.topbar-actions,
.view-button,
.btn-onboard,
.btn-secondary,
.btn-checkout-plan,
.business-case-button,
.business-product-actions button,
.product-back-button,
.landing-gemini-form button,
#globalAiSubmitBtn {
  border-radius: var(--ci-radius) !important;
}

.region-badge,
.case-index,
.case-status,
.plan-badge {
  border-radius: var(--ci-radius-pill) !important;
  letter-spacing: 0 !important;
}

.landing-view {
  align-items: stretch !important;
  justify-content: flex-start !important;
  background: var(--paper) !important;
}

.landing-hero {
  width: 100% !important;
  max-width: 1180px !important;
  display: grid !important;
  gap: 18px !important;
  padding: 72px 24px 38px !important;
  text-align: left !important;
}

.landing-hero .hero-badge {
  width: fit-content;
  background: var(--blue-soft);
  color: var(--blue);
}

.landing-hero h2 {
  max-width: 920px;
  margin: 0;
  font-size: 2.65rem;
  line-height: 1.12;
  letter-spacing: 0 !important;
}

.landing-hero p {
  max-width: 860px;
  margin: 0;
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.65;
}

.landing-hero-actions {
  justify-content: flex-start !important;
  margin-top: 4px !important;
}

.landing-hero-actions .btn-onboard,
.landing-hero-actions .btn-secondary,
.public-plans-grid .btn-checkout-plan {
  min-height: 44px !important;
  padding: 0 20px !important;
  font-size: 0.92rem !important;
}

.landing-hero-actions .btn-onboard,
.public-plans-grid .recommended-plan .btn-checkout-plan {
  background: var(--green) !important;
  color: #ffffff !important;
  border: 1px solid var(--green) !important;
}

.landing-hero-actions .btn-onboard:hover,
.public-plans-grid .recommended-plan .btn-checkout-plan:hover {
  background: #145944 !important;
  border-color: #145944 !important;
}

.landing-hero-actions .btn-secondary,
.public-plans-grid .plan-card:not(.recommended-plan) .btn-checkout-plan {
  background: var(--surface) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
}

.landing-hero-actions .btn-secondary:hover,
.public-plans-grid .plan-card:not(.recommended-plan) .btn-checkout-plan:hover {
  border-color: var(--green) !important;
  background: var(--green-soft) !important;
}

.landing-proof-band {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto 28px;
  padding: 0 24px;
}

.landing-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 0;
}

.landing-proof-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 14px;
}

.landing-proof-card span,
.plan-card .plan-badge {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.landing-proof-card strong {
  font-size: 1rem;
  line-height: 1.3;
}

.landing-proof-card p {
  font-size: 0.86rem;
  line-height: 1.5;
}

.landing-section {
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.landing-section:nth-of-type(even) {
  background: var(--paper);
}

.public-pricing-section {
  margin-top: 0 !important;
}

.public-plans-grid .plan-card {
  align-items: stretch !important;
  text-align: left !important;
  gap: 12px !important;
  padding: 22px !important;
  border-radius: var(--ci-radius) !important;
}

.public-plans-grid .plan-card.recommended-plan {
  border-color: var(--green) !important;
  box-shadow: 0 10px 28px rgba(19, 115, 51, 0.14) !important;
}

.public-plans-grid .plan-card h4 {
  margin: 0;
  font-size: 1.2rem;
  letter-spacing: 0;
}

.public-plans-grid .plan-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.plan-price {
  display: block;
  margin: 0;
  font-size: 2rem;
  line-height: 1.1;
}

.plan-price small {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.plan-feature-list {
  display: grid;
  gap: 8px;
  margin: 4px 0 18px;
  padding-left: 18px;
  color: var(--ink);
  font-size: 0.86rem;
  line-height: 1.45;
}

.landing-gemini-section {
  background: var(--paper);
}

@media (max-width: 820px) {
  .landing-hero {
    padding-top: 46px !important;
  }

  .landing-hero h2 {
    font-size: 2.1rem !important;
  }

  .landing-proof-grid {
    grid-template-columns: 1fr;
  }
}

.analytics-view {
  display: grid;
  gap: 18px;
  padding: 4px 0 32px;
}

.analytics-hero,
.analytics-status-row,
.analytics-panel,
.analytics-kpis article {
  border: 1px solid var(--border);
  background: var(--paper);
  border-radius: 8px;
}

.analytics-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 18px;
  align-items: end;
  padding: 20px;
}

.analytics-hero h3 {
  margin: 2px 0 6px;
  color: var(--ink);
  font-family: "Outfit", sans-serif;
  font-size: 1.65rem;
  letter-spacing: 0;
}

.analytics-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.analytics-search,
.analytics-ask-form,
.analytics-screen-form {
  display: grid;
  gap: 8px;
}

.analytics-search label {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
}

.analytics-search div,
.analytics-ask-form {
  display: flex;
  gap: 8px;
}

.analytics-search input,
.analytics-ask-form input,
.analytics-screen-form input,
.analytics-screen-form select {
  min-width: 0;
  width: 100%;
  height: 40px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  padding: 0 11px;
}

.analytics-search button,
.analytics-ask-form button,
.analytics-screen-form button,
.analytics-status-row button,
.analytics-company-actions button,
.analytics-mini-btn {
  height: 40px;
  border: 1px solid #1a73e8;
  border-radius: 6px;
  background: #1a73e8;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  padding: 0 14px;
}

.analytics-status-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  color: var(--muted);
  font-size: 0.85rem;
}

#analyticsStatus[data-tone="ready"] {
  color: #188038;
  font-weight: 700;
}

#analyticsStatus[data-tone="loading"] {
  color: #1a73e8;
  font-weight: 700;
}

#analyticsStatus[data-tone="warn"] {
  color: #d93025;
  font-weight: 700;
}

.analytics-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.analytics-kpis article,
.analytics-company-summary article {
  display: grid;
  gap: 5px;
  padding: 14px;
}

.analytics-kpis span,
.analytics-company-summary span,
.analytics-proof-grid dt {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.analytics-kpis strong,
.analytics-company-summary strong,
.analytics-proof-grid dd {
  color: var(--ink);
  font-size: 1.05rem;
  font-weight: 800;
}

.analytics-kpis small {
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.35;
}

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

.analytics-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: 14px;
}

.analytics-view.is-screener-focus .research-company-grid {
  display: none;
}

.analytics-view.is-screener-focus .analytics-workspace-grid {
  grid-template-columns: 1fr;
}

.analytics-panel {
  min-width: 0;
  padding: 14px;
}

.analytics-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.analytics-panel-head span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.analytics-panel-head strong {
  color: var(--ink);
  font-size: 0.86rem;
}

.analytics-chart-panel canvas,
.analytics-panel canvas {
  width: 100%;
  min-height: 180px;
  max-height: 260px;
}

.analytics-ai-panel {
  grid-column: span 3;
}

.analytics-ai-panel[data-state="ready"] {
  border-color: rgba(24, 128, 56, 0.38);
}

.analytics-ai-panel[data-state="blocked"] {
  border-color: rgba(217, 48, 37, 0.38);
}

.analytics-ai-panel p {
  margin: 8px 0 12px;
  color: var(--ink);
  line-height: 1.5;
}

.analytics-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}

.analytics-proof-grid div {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px;
}

.analytics-proof-grid dd {
  margin: 3px 0 0;
  font-size: 0.9rem;
}

.analytics-source-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.analytics-source-list button,
.analytics-link {
  border: 0;
  background: transparent;
  color: #1a73e8;
  cursor: pointer;
  font: inherit;
  text-align: left;
  padding: 0;
}

.analytics-source-list button {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px;
}

.analytics-source-list strong,
.analytics-source-list span {
  display: block;
}

.analytics-source-list span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.76rem;
}

.analytics-screen-form {
  grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(96px, 0.7fr)) minmax(120px, 0.8fr) auto;
  margin-bottom: 12px;
}

.analytics-table-wrap {
  max-height: 420px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.analytics-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
}

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

.analytics-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafd;
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.analytics-table td[data-tone="up"],
.analytics-company-summary strong[data-tone="up"] {
  color: #188038;
}

.analytics-table td[data-tone="down"],
.analytics-company-summary strong[data-tone="down"] {
  color: #d93025;
}

.analytics-table td[data-tone="anomaly"],
.analytics-company-summary strong[data-tone="anomaly"] {
  color: #b06000;
}

.analytics-mover-wrap {
  max-height: 190px;
  margin-bottom: 10px;
}

.analytics-mover-table {
  font-size: 0.78rem;
}

.analytics-validation-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border-radius: 999px;
  padding: 2px 8px;
  background: #eef3fe;
  color: #1a73e8;
  font-size: 0.72rem;
  font-weight: 800;
}

.analytics-validation-badge[data-state="anomaly"] {
  background: #fff4df;
  color: #b06000;
}

.analytics-validation-badge[data-state="validated"] {
  background: #e8f5e9;
  color: #188038;
}

.analytics-company-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.analytics-company-summary article {
  border: 1px solid var(--border);
  border-radius: 6px;
}

.analytics-top-company-summary {
  margin-bottom: 10px;
}

.analytics-top-company-summary small {
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.35;
}

.analytics-company-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.analytics-mini-btn {
  height: 30px;
  font-size: 0.74rem;
  padding: 0 9px;
}

@media (max-width: 1080px) {
  .analytics-hero,
  .analytics-grid,
  .analytics-workspace-grid {
    grid-template-columns: 1fr;
  }

  .analytics-ai-panel {
    grid-column: auto;
  }

  .analytics-screen-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .analytics-kpis,
  .analytics-company-summary,
  .analytics-proof-grid,
  .analytics-source-list,
  .analytics-screen-form {
    grid-template-columns: 1fr;
  }

  .analytics-search div,
  .analytics-ask-form,
  .analytics-status-row {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Brand-first landing and product polish */
.landing-hero {
  max-width: 1220px !important;
  gap: 16px !important;
  padding: 48px 24px 28px !important;
}

.landing-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  gap: 30px;
  align-items: start;
}

.landing-hero-copy {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.landing-hero .hero-badge {
  background: var(--green-soft) !important;
  color: var(--green) !important;
}

.landing-hero h2 {
  max-width: 780px !important;
  font-size: 3.15rem !important;
  line-height: 0.98 !important;
}

.landing-hero-kicker {
  max-width: 780px !important;
  color: var(--ink) !important;
  font-size: 1.2rem !important;
  font-weight: 700;
  line-height: 1.45 !important;
}

.landing-outcome-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 860px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

.landing-outcome-list li {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding-left: 12px;
  border-left: 3px solid rgba(29, 123, 95, 0.28);
}

.landing-outcome-list strong {
  color: var(--ink);
  font-size: 0.92rem;
  line-height: 1.25;
}

.landing-outcome-list span {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.landing-brand-snapshot {
  display: grid;
  gap: 14px;
  border: 1px solid rgba(29, 123, 95, 0.24);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f5fbf8 100%);
  box-shadow: var(--ci-shadow-soft);
  padding: 16px;
}

.snapshot-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.snapshot-header span,
.sparkle-icon {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: var(--green-soft);
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 900;
}

.snapshot-header strong {
  font-size: 1rem;
}

.snapshot-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.snapshot-metrics article {
  min-width: 0;
  padding: 12px 10px;
}

.snapshot-metrics article + article {
  border-left: 1px solid var(--line);
}

.snapshot-metrics span,
.snapshot-flow {
  color: var(--muted);
  font-size: 0.76rem;
}

.snapshot-metrics strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 0.92rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.snapshot-flow {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1.45;
}

.snapshot-flow li {
  display: grid;
  grid-template-columns: 9px 1fr;
  gap: 10px;
  align-items: start;
}

.snapshot-flow li span {
  width: 9px;
  height: 9px;
  margin-top: 6px;
  border-radius: 999px;
  background: var(--green);
}

.landing-proof-card,
.business-case-card,
.business-product-page,
.landing-gemini-chat {
  box-shadow: var(--ci-shadow-soft);
}

.business-case-card {
  min-height: 330px;
}

.business-case-button,
.business-product-actions button,
.product-back-button,
.landing-gemini-form button {
  min-height: 42px;
}

.business-product-page {
  padding: 18px;
}

#landingOfferings,
#landingGemini,
#publicProductView {
  scroll-margin-top: 86px;
}

.business-product-hero {
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.business-product-hero h3 {
  max-width: 820px;
}

.business-product-data {
  background: linear-gradient(180deg, #f8fcfa 0%, #ffffff 100%);
}

.business-product-agent {
  border-color: rgba(29, 123, 95, 0.24);
  background: #f8fcfa;
}

.provider-badge {
  background: var(--green-soft);
  color: var(--green);
}

.chat-input-form .chat-tool-button {
  width: auto !important;
  min-width: 50px;
  padding: 0 10px;
  font-size: 0.74rem;
  font-weight: 800;
}

@media (max-width: 900px) {
  .landing-hero-layout,
  .business-product-hero,
  .business-product-data {
    grid-template-columns: 1fr;
  }

  .landing-hero h2 {
    font-size: 2.6rem !important;
  }

  .landing-outcome-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .app-header {
    gap: 10px;
    padding: 0 14px;
  }

  .header-left {
    min-width: 0;
    gap: 8px;
  }

  .brand-info h1 {
    max-width: 170px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .public-actions {
    gap: 6px !important;
  }

  .public-actions .btn-header-link {
    display: none;
  }

  .public-actions .btn-header-primary {
    padding: 8px 14px;
    white-space: nowrap;
  }

  .landing-hero {
    padding: 40px 16px 28px !important;
  }

  .landing-brand-snapshot {
    display: none;
  }

  .landing-proof-band {
    padding: 0 16px;
    margin-bottom: 24px;
  }

  .business-case-view {
    padding: 0 14px calc(var(--assistant-height) + 36px);
  }

  .landing-hero h2 {
    font-size: 2.15rem !important;
  }

  .snapshot-metrics {
    grid-template-columns: 1fr;
  }

  .snapshot-metrics article + article {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
}

/* Focused account access */
.auth-view {
  display: grid !important;
  place-items: center !important;
  min-height: calc(100vh - 76px) !important;
  padding: 56px 24px !important;
  background: #f4f7f8 !important;
}

.auth-shell {
  width: min(1040px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 18px 56px rgba(32, 33, 36, 0.12);
}

.auth-story {
  min-height: 560px;
  display: grid;
  align-content: space-between;
  gap: 28px;
  padding: 42px;
  background: #17392d;
  color: #ffffff;
}

.auth-story .hero-badge {
  width: fit-content;
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
}

.auth-story h2 {
  max-width: 430px;
  margin: 0;
  color: #ffffff;
  font-size: 2.15rem;
  line-height: 1.08;
}

.auth-story p {
  max-width: 430px;
  margin: -8px 0 0;
  color: #dcebe5;
  font-size: 1rem;
  line-height: 1.55;
}

.auth-story-metrics {
  display: grid;
  gap: 10px;
}

.auth-story-metrics span {
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 6px;
  padding: 11px 12px;
  color: #eef8f4;
  font-size: 0.82rem;
  font-weight: 750;
}

.auth-form-panel {
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px;
  background: #ffffff;
}

.auth-back-button {
  align-self: flex-start;
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 750;
  padding: 0;
  margin-bottom: 20px;
}

.auth-back-button:hover,
.auth-inline-switch:hover {
  color: var(--blue);
}

.auth-mode-tabs {
  width: min(430px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin: 0 auto 26px;
  padding: 4px;
  border-radius: 8px;
  background: #eef2f3;
}

.auth-mode-tab {
  min-height: 40px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 800;
}

.auth-mode-tab.active {
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.18);
}

.auth-card {
  width: min(430px, 100%) !important;
  max-width: 430px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.auth-card-header {
  display: grid;
  gap: 7px;
  margin-bottom: 22px;
  text-align: left;
}

.auth-card-header h4 {
  margin: 0;
  font-size: 1.55rem;
  line-height: 1.15;
}

.auth-card-header p,
.auth-switch-copy {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.auth-form {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  gap: 16px !important;
  margin: 0 !important;
}

.auth-submit {
  width: 100% !important;
  min-height: 46px !important;
  margin-top: 4px !important;
  background: var(--green) !important;
  border: 1px solid var(--green) !important;
  color: #ffffff !important;
}

.auth-submit:hover {
  background: #145944 !important;
  border-color: #145944 !important;
}

.auth-google-button {
  width: 100% !important;
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  color: var(--ink) !important;
  border: 1px solid var(--line) !important;
}

.auth-google-button:hover {
  border-color: var(--blue) !important;
  background: var(--blue-soft) !important;
}

.auth-divider {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  color: var(--muted);
  font-size: 0.8rem;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  height: 1px;
  background: var(--line);
}

.auth-switch-copy {
  text-align: center;
}

.auth-inline-switch {
  border: 0;
  background: transparent;
  color: var(--blue);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 0;
}

.auth-hidden-mfa-default {
  display: none;
}

#loginErrorMsg,
#signupErrorMsg {
  margin-top: 14px;
  color: var(--red);
  font-size: 0.8rem;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 900px) {
  .auth-view {
    padding: 28px 16px !important;
  }

  .auth-shell {
    grid-template-columns: 1fr;
  }

  .auth-story {
    min-height: auto;
    padding: 28px;
  }

  .auth-story h2 {
    font-size: 1.72rem;
  }

  .auth-form-panel {
    min-height: auto;
    padding: 28px;
  }
}

@media (max-width: 560px) {
  .auth-mode-tabs {
    grid-template-columns: 1fr;
  }

  .auth-form-panel,
  .auth-story {
    padding: 22px;
  }
}

/* AI-first product redesign */
.app-header {
  gap: 18px;
  box-sizing: border-box;
}

.header-nav {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: visible;
  padding: 4px 2px;
}

.nav-link {
  white-space: nowrap;
  padding-inline: 10px;
  font-size: 0.84rem;
}

.header-left,
.header-right {
  flex: 0 0 auto;
}

.cerebral-persona-mark {
  width: 38px;
  height: 38px;
  min-width: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #ffffff 0 22%, transparent 23%),
    conic-gradient(from 35deg, #0f9d58, #1a73e8, #fbbc04, #0f9d58);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.74), 0 6px 16px rgba(26,115,232,0.18);
}

.cerebral-persona-mark span {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 -9px 0 -5px #1a73e8,
    8px 5px 0 -5px #0f9d58,
    -8px 5px 0 -5px #fbbc04;
}

.cerebral-persona-mark-sm {
  width: 28px;
  height: 28px;
  min-width: 28px;
}

.cerebral-persona-mark-sm span {
  width: 12px;
  height: 12px;
}

.home-ask-panel {
  align-items: stretch;
  gap: 14px;
}

.home-ask-intro {
  display: flex;
  align-items: center;
  gap: 12px;
}

.home-ask-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.home-ask-form input {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 13px;
  font: inherit;
  color: var(--ink);
  background: #ffffff;
}

.home-ask-form button,
.sample-explain-btn {
  border-radius: 8px;
}

.home-ask-form button {
  min-height: 44px;
  align-self: center;
  padding: 0 18px;
  border: 1px solid var(--green);
  background: var(--green);
  color: #ffffff;
  font-weight: 800;
}

.home-market-overview {
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(360px, 1.22fr);
  gap: 16px;
  align-items: stretch;
}

.home-market-overview .analytics-chart-panel,
.home-movers-panel {
  min-height: 300px;
  max-height: 440px;
  overflow: hidden;
}

.home-movers-panel .analytics-mover-wrap {
  max-height: 210px;
}

.workflow-launchpad .workflow-group-section {
  border: 1px solid var(--line);
}

.sample-preset-list button.is-active {
  background: var(--green);
  color: #ffffff;
  border-color: var(--green);
}

.sample-screen-table tr.is-filtered-out {
  display: none;
}

.sample-screen-table td:last-child {
  display: grid;
  gap: 8px;
  min-width: 180px;
}

.sample-explain-btn {
  width: fit-content;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--blue);
  font-weight: 800;
}

.stock-screener-product {
  gap: 14px;
  background: #ffffff;
}

.stock-screener-product .business-product-hero {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 520px);
  padding-bottom: 14px;
}

.stock-screener-product .business-product-hero h3 {
  font-size: clamp(2rem, 3vw, 3.15rem);
  max-width: 760px;
}

.stock-screener-product .business-product-hero p {
  max-width: 760px;
  font-size: 1rem;
}

.stock-screener-product .product-hero-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stock-screener-product .product-hero-stats article {
  background: #ffffff;
  border-color: #dce4df;
}

.stock-screener-workspace {
  display: grid;
  gap: 12px;
  border: 1px solid #d8e2dd;
  border-radius: 8px;
  background: #fbfdfb;
  padding: 12px;
}

.screener-toolbar,
.screener-command-row,
.screener-filter-head,
.screener-explain-panel {
  display: grid;
  gap: 10px;
}

.screener-toolbar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 2px 2px 8px;
  border-bottom: 1px solid var(--line);
}

.screener-toolbar span,
.screener-command-row span,
.screener-filter-head span,
.screener-filter-rail article span,
.screener-explain-panel span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.screener-toolbar h4 {
  margin: 3px 0 0;
  font-size: 1.15rem;
  letter-spacing: 0;
}

.screener-toolbar-actions {
  display: flex;
  gap: 8px;
}

.screener-toolbar-actions button {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  cursor: default;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 850;
  padding: 0 12px;
}

.screener-command-row {
  grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(108px, 150px));
  align-items: stretch;
}

.screener-command-row label,
.screener-metric {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
}

.screener-command-row input {
  width: 100%;
  margin-top: 5px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 1rem;
  font-weight: 850;
  outline: none;
}

.screener-metric strong {
  display: block;
  margin-top: 5px;
  font-size: 1rem;
  line-height: 1.2;
}

.screener-workbench {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.screener-filter-rail,
.screener-results-panel {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.screener-filter-head,
.screener-filter-rail article,
.screener-explain-panel article {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 10px;
}

.screener-filter-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.screener-filter-head strong {
  color: #174ea6;
  font-size: 0.8rem;
}

.screener-filter-rail ul {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  color: #2f4239;
  font-size: 0.82rem;
  line-height: 1.45;
}

.screener-filter-rail li + li {
  margin-top: 5px;
}

.screener-filter-rail li::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 999px;
  background: var(--green);
}

.screener-results-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
}

.screener-results-table {
  min-width: 1040px;
}

.screener-results-table td:first-child span,
.screener-results-table td:nth-child(3) span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.25;
}

.screener-results-table td:nth-child(2) strong {
  display: inline-grid;
  place-items: center;
  min-width: 40px;
  min-height: 30px;
  border-radius: 8px;
  background: var(--green-soft);
  color: var(--green);
}

.screener-results-table td:nth-child(6) strong {
  color: #0b5131;
}

.screener-explain-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.screener-explain-panel strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 0.88rem;
  line-height: 1.35;
}

@media (max-width: 1080px) {
  .screener-workbench {
    grid-template-columns: 1fr;
  }

  .screener-filter-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .screener-filter-head {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .stock-screener-product .business-product-hero,
  .stock-screener-product .product-hero-stats,
  .screener-toolbar,
  .screener-command-row,
  .screener-filter-rail,
  .screener-explain-panel {
    grid-template-columns: 1fr;
  }

  .screener-toolbar-actions {
    width: 100%;
  }

  .screener-toolbar-actions button {
    flex: 1;
  }
}

.research-company-grid {
  grid-template-columns: minmax(260px, 0.8fr) minmax(360px, 1.2fr);
}

.analytics-company-context,
.analytics-company-docs,
.docs-grid,
.account-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.account-lifecycle-board {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #ffffff;
  padding: 16px;
  display: grid;
  gap: 14px;
}

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

.account-lifecycle-top div {
  border: 1px solid #eceff3;
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 4px;
  background: #fbfcfe;
}

.account-lifecycle-top span {
  color: var(--muted);
  font-size: 0.7rem;
  text-transform: uppercase;
  font-weight: 800;
}

.account-lifecycle-top strong {
  color: var(--ink);
  font-size: 0.82rem;
  line-height: 1.35;
}

.account-lifecycle-body {
  display: grid;
  grid-template-columns: minmax(320px, 1.3fr) minmax(180px, 0.7fr);
  gap: 12px;
}

.account-lifecycle-checks {
  border: 1px solid #eceff3;
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.account-lifecycle-checks p {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 800;
}

.account-lifecycle-checks ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 5px;
}

.account-lifecycle-checks li {
  font-size: 0.77rem;
  color: #5f6368;
  display: flex;
  align-items: center;
  gap: 6px;
}

.account-lifecycle-checks li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c3c7cf;
}

.account-lifecycle-checks li.is-done {
  color: #1b5e20;
}

.account-lifecycle-checks li.is-done::before {
  background: #1b5e20;
}

.account-lifecycle-metrics {
  display: grid;
  gap: 8px;
}

.account-lifecycle-metrics article {
  border: 1px solid #eceff3;
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 4px;
  background: #fbfcfe;
}

.account-lifecycle-metrics span {
  color: var(--muted);
  font-size: 0.7rem;
  text-transform: uppercase;
  font-weight: 800;
}

.account-lifecycle-metrics strong {
  color: var(--ink);
  font-size: 1rem;
}

.account-lifecycle-cta {
  display: grid;
  gap: 6px;
}

.account-lifecycle-cta button {
  width: fit-content;
  min-width: 170px;
  height: 34px;
  border: 1px solid #d2e3fc;
  border-radius: 8px;
  background: #edf4ff;
  color: #185abc;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}

.account-lifecycle-cta button:hover {
  background: #e1edff;
}

.account-lifecycle-cta small {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.analytics-company-context article,
.analytics-company-docs article,
.docs-grid article,
.account-admin-grid article,
.docs-rag-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  padding: 16px;
  display: grid;
  gap: 8px;
}

.analytics-company-context span,
.analytics-company-docs span,
.docs-grid span,
.account-admin-grid span,
.docs-rag-panel span {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.docs-view,
.account-view {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px clamp(18px, 3vw, 36px) 42px;
  display: grid;
  gap: 18px;
}

.docs-hero,
.account-hero {
  display: grid;
  gap: 10px;
  max-width: 860px;
}

.docs-hero h3,
.account-hero h3 {
  margin: 0;
  font-size: 2rem;
  line-height: 1.12;
}

.docs-hero p,
.account-hero p,
.docs-grid p,
.account-admin-grid p,
.docs-rag-panel p,
.analytics-company-context p,
.analytics-company-docs p {
  margin: 0;
  color: var(--muted);
  line-height: 1.48;
}

.account-admin-grid button {
  width: fit-content;
  min-height: 36px;
  border-radius: 8px;
}

.market-radar-layout {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  grid-template-columns: minmax(210px, 0.66fr) minmax(360px, 1fr) minmax(360px, 1fr);
  align-items: start;
}

.market-radar-layout .live-board,
.market-radar-layout .market-feed-panel,
.market-radar-layout .radar-rail {
  max-height: none;
  min-width: 0;
}

.market-radar-layout .selected-opportunity,
.market-radar-layout .brief-panel {
  max-width: 100%;
}

.market-radar-layout.is-ask-focus {
  width: min(940px, calc(100% - 36px));
  grid-template-columns: 1fr;
}

.market-radar-layout.is-ask-focus .radar-rail,
.market-radar-layout.is-ask-focus .market-feed-panel,
.market-radar-layout.is-ask-focus .board-header,
.market-radar-layout.is-ask-focus .selected-opportunity {
  display: none;
}

.market-radar-layout.is-ask-focus .live-board {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.market-radar-layout.is-ask-focus .brief-panel {
  display: grid;
  gap: 16px;
}

@media (max-width: 1040px) {
  .header-nav {
    overflow-x: auto;
  }

  .home-market-overview,
  .research-company-grid,
  .market-radar-layout {
    grid-template-columns: 1fr;
  }

  .analytics-company-context,
  .analytics-company-docs,
  .docs-grid,
  .account-admin-grid {
    grid-template-columns: 1fr;
  }

  .account-lifecycle-top,
  .account-lifecycle-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .home-ask-form {
    grid-template-columns: 1fr;
  }

  .docs-hero h3,
  .account-hero h3 {
    font-size: 1.5rem;
  }

  .account-lifecycle-cta button {
    width: 100%;
  }
}

.product-line-page {
  width: min(1240px, calc(100% - 36px));
  margin: 0 auto 52px;
  display: grid;
  gap: var(--ci-space-5);
}

.product-line-hero,
.alert-command-grid,
.api-console-layout,
.research-workbench,
.portfolio-xray-grid,
.digest-builder,
.backtest-lab,
.advisor-review-layout,
.anomaly-console,
.lesson-studio,
.sector-intel-layout,
.widget-builder-layout,
.marketplace-router {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: var(--ci-space-4);
  align-items: stretch;
}

.product-line-page section,
.product-proof-panel,
.rule-builder,
.upload-dropzone,
.strategy-ticket,
.guardrail-card,
.lesson-card,
.widget-preview,
.qualification-panel {
  border: 1px solid var(--ci-surface-border);
  border-radius: 12px;
  background:
    linear-gradient(180deg, var(--ci-surface-grad-a) 0%, var(--ci-surface-grad-b) 100%);
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
  padding: var(--ci-space-5);
}

.product-line-page h3 {
  margin: 6px 0 8px;
  font-size: clamp(1.55rem, 2vw, 2.3rem);
  letter-spacing: 0;
}

.product-line-page span,
.product-proof-panel span {
  color: #475569;
  font-weight: 700;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.product-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ci-space-3);
  margin-top: var(--ci-space-4);
}

.product-action-row button,
.filter-rail button {
  border: 1px solid rgba(15, 81, 50, 0.28);
  border-radius: 10px;
  background: linear-gradient(135deg, #0f5132 0%, #0b6b45 100%);
  color: #fff;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.product-action-row button:hover,
.filter-rail button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(15, 81, 50, 0.18);
}

.product-action-row button:last-child,
.filter-rail button {
  background: rgba(255, 255, 255, 0.92);
  color: var(--ci-accent-primary);
}

.product-live-state {
  border-left: 4px solid #ca8a04;
  padding: 12px 14px;
  border-radius: 8px;
  background: #fffbeb;
  color: #713f12;
  font-weight: 800;
}

.product-live-state.is-ready {
  border-left-color: #15803d;
  background: #f0fdf4;
  color: #14532d;
}

.product-live-state.is-error {
  border-left-color: #be123c;
  background: #fff1f2;
  color: #881337;
}

.product-company-list,
.event-queue,
.incident-list,
.digest-sections,
.sector-grid,
.api-metric-grid,
.marketplace-reliability-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.product-company-list article,
.event-queue article,
.incident-list article,
.digest-sections article,
.sector-grid article,
.api-metric-grid article,
.marketplace-reliability-grid article {
  border: 1px solid rgba(15, 23, 42, 0.11);
  border-radius: 10px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.9);
  display: grid;
  gap: 4px;
}

.product-company-list b,
.api-metric-grid strong,
.marketplace-reliability-grid strong {
  color: #0f5132;
  font-size: 1.15rem;
}

.anomaly-health-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.anomaly-health-grid article {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: #f8fafc;
  padding: 12px;
  display: grid;
  gap: 4px;
}

.anomaly-health-grid article[data-band="stable"] {
  border-left: 4px solid #15803d;
  background: #f0fdf4;
}

.anomaly-health-grid article[data-band="watch"] {
  border-left: 4px solid #ca8a04;
  background: #fffbeb;
}

.anomaly-health-grid article[data-band="at-risk"],
.anomaly-health-grid article[data-band="critical"] {
  border-left: 4px solid #be123c;
  background: #fff1f2;
}

.anomaly-checklist {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  padding: 14px;
}

.anomaly-checklist ul {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.anomaly-checklist li {
  border-left: 3px solid #ca8a04;
  padding: 8px 10px;
  border-radius: 6px;
  background: #fffbeb;
  display: grid;
  gap: 3px;
}

.anomaly-checklist li[data-state="pass"] {
  border-left-color: #15803d;
  background: #f0fdf4;
}

.anomaly-checklist li[data-state="fail"] {
  border-left-color: #be123c;
  background: #fff1f2;
}

.anomaly-severity-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  background: #e2e8f0;
  color: #334155;
}

.anomaly-severity-badge[data-severity="critical"] {
  background: #fee2e2;
  color: #b91c1c;
}

.anomaly-severity-badge[data-severity="high"] {
  background: #ffedd5;
  color: #c2410c;
}

.anomaly-severity-badge[data-severity="medium"] {
  background: #fef9c3;
  color: #854d0e;
}

.anomaly-severity-badge[data-severity="low"] {
  background: #dcfce7;
  color: #166534;
}

.anomaly-incident-list article button,
.anomaly-outlier-list article button {
  border: 1px solid rgba(20, 83, 45, 0.22);
  border-radius: 7px;
  background: #fff;
  color: #0f5132;
  font-weight: 700;
  padding: 7px 10px;
  cursor: pointer;
}

.equities-provider-chain {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: #f8fafc;
  padding: 14px 16px;
}

.equities-provider-chain[data-guaranteed="yes"] {
  border-left: 4px solid #15803d;
  background: #f0fdf4;
}

.equities-provider-chain[data-guaranteed="no"] {
  border-left: 4px solid #ca8a04;
  background: #fffbeb;
}

.equities-provider-chain strong {
  display: block;
  margin-top: 4px;
}

.equities-provider-chain small {
  display: block;
  margin-top: 4px;
  color: #334155;
}

.equities-contract-panel {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  padding: 16px;
  display: grid;
  gap: 12px;
}

.equities-contract-panel header {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline;
}

.equities-contract-panel header strong {
  color: #0f172a;
}

.equities-contract-grid,
.equities-endpoint-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.equities-contract-grid article,
.equities-endpoint-grid article {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
  display: grid;
  gap: 4px;
}

.equities-contract-grid article[data-tone="ready"],
.equities-endpoint-grid article[data-tone="ready"] {
  border-left: 4px solid #15803d;
}

.equities-contract-grid article[data-tone="warn"],
.equities-endpoint-grid article[data-tone="warn"] {
  border-left: 4px solid #ca8a04;
}

.equities-contract-grid article[data-tone="error"],
.equities-endpoint-grid article[data-tone="error"] {
  border-left: 4px solid #be123c;
}

.equities-contract-grid b,
.equities-endpoint-grid b {
  color: #0f172a;
}

.equities-contract-grid small,
.equities-endpoint-grid small,
.equities-contract-summary {
  color: #475569;
}

.marketplace-flow-list {
  display: grid;
  gap: 10px;
}

.marketplace-flow-list ol {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 7px;
}

.product-source-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0;
}

.product-source-tags code,
.widget-payload code {
  background: #e2e8f0;
  border-radius: 6px;
  padding: 4px 7px;
  color: #0f172a;
}

.product-evidence-list {
  list-style: none;
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
}

.product-evidence-list li {
  border-left: 4px solid #2563eb;
  padding: 10px 12px;
  background: #eff6ff;
  border-radius: 8px;
}

.filter-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.screener-live-shell,
.research-live-shell {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.realtime-surface {
  border: 1px solid var(--ci-surface-border);
  border-radius: 14px;
  padding: var(--ci-space-5);
  background:
    radial-gradient(140% 140% at 0% 0%, rgba(15, 81, 50, 0.12) 0%, rgba(15, 81, 50, 0) 56%),
    radial-gradient(130% 130% at 100% 0%, rgba(8, 145, 178, 0.11) 0%, rgba(8, 145, 178, 0) 58%),
    linear-gradient(180deg, #ffffff 0%, #f6fbff 100%);
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.1);
  display: grid;
  gap: var(--ci-space-4);
  animation: realtimePanelEnter 260ms ease-out;
}

@keyframes realtimePanelEnter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.realtime-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--ci-space-4);
}

.realtime-head h4 {
  margin: 6px 0 7px;
  font-size: clamp(1.18rem, 1.7vw, 1.52rem);
}

.realtime-status {
  margin: 0;
  color: #0f172a;
  font-size: 0.84rem;
  font-weight: 600;
}

.realtime-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ci-space-2);
}

.realtime-head-actions button,
.ticker-detail-actions button,
.realtime-chip-list button {
  border: 1px solid rgba(15, 23, 42, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  color: #0f172a;
  padding: 8px 12px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
}

.realtime-head-actions button:hover,
.ticker-detail-actions button:hover,
.realtime-chip-list button:hover {
  border-color: rgba(15, 81, 50, 0.35);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.realtime-filter-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--ci-space-3);
}

.realtime-filter-row label {
  display: grid;
  gap: 6px;
}

.realtime-filter-row label > span {
  color: #334155;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.realtime-filter-row input,
.realtime-filter-row select {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.2);
  border-radius: 10px;
  background: #fff;
  padding: 9px 10px;
  font: inherit;
}

.realtime-range-control {
  align-content: end;
}

.realtime-range-control output {
  justify-self: start;
  font-size: 0.82rem;
  color: #0f5132;
  font-weight: 700;
}

.realtime-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(280px, 0.75fr);
  gap: var(--ci-space-4);
}

.research-main-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr) minmax(300px, 0.9fr);
}

.ticker-board,
.ticker-detail-card,
.ticker-side-rail,
.research-snapshot-card,
.research-narrative-card,
.research-evidence-rail {
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.93);
  padding: var(--ci-space-4);
  display: grid;
  gap: var(--ci-space-3);
}

.ticker-board-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--ci-space-3);
}

.ticker-board-head strong {
  color: var(--ci-accent-primary);
}

.ticker-table-wrap {
  max-height: 360px;
  overflow: auto;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 10px;
  background: #fff;
}

.realtime-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.83rem;
}

.realtime-table thead {
  position: sticky;
  top: 0;
  background: #f7fafc;
  z-index: 1;
}

.realtime-table th,
.realtime-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  text-align: left;
  vertical-align: top;
}

.realtime-table tr.is-selected {
  background: rgba(16, 185, 129, 0.11);
}

.realtime-table td[data-tone="up"] {
  color: #166534;
  font-weight: 700;
}

.realtime-table td[data-tone="down"] {
  color: #b91c1c;
  font-weight: 700;
}

.realtime-link {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  color: #0f5132;
  font-weight: 800;
  cursor: pointer;
}

.ticker-detail-head h5 {
  margin: 4px 0 5px;
  font-size: 1.18rem;
}

.ticker-detail-head p {
  margin: 0;
  color: #475569;
  font-weight: 600;
  font-size: 0.84rem;
}

.ticker-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ci-space-2);
}

.ticker-kpi-grid article {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  display: grid;
  gap: 4px;
}

.ticker-kpi-grid span {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #475569;
  font-weight: 700;
}

.ticker-kpi-grid strong {
  font-size: 0.95rem;
  color: #0f172a;
}

.mini-chart-card {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  min-height: 170px;
}

.mini-chart-card span {
  color: #334155;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.mini-chart-card canvas {
  width: 100%;
  margin-top: 8px;
}

.ticker-insight-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ci-space-2);
}

.ticker-insight-row article {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 10px;
  padding: 9px 10px;
  background: rgba(248, 250, 252, 0.9);
  display: grid;
  gap: 4px;
}

.ticker-insight-row strong {
  color: #0f172a;
  font-size: 0.82rem;
}

.ticker-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ci-space-2);
}

.ticker-side-rail article,
.research-narrative-card article,
.research-evidence-rail article {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px;
  display: grid;
  gap: 8px;
}

.ticker-side-rail ul,
.research-narrative-card ul,
.research-evidence-rail ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.realtime-chip-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.realtime-chip-list li {
  display: flex;
  justify-content: space-between;
  gap: var(--ci-space-2);
  align-items: center;
}

.realtime-chip-list small {
  color: #475569;
  font-weight: 700;
  font-size: 0.74rem;
}

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

.realtime-evidence-list li {
  border-left: 3px solid rgba(15, 94, 117, 0.55);
  border-radius: 8px;
  background: rgba(239, 246, 255, 0.72);
  padding: 8px 10px;
  display: grid;
  gap: 4px;
}

.realtime-evidence-list p {
  margin: 0;
  color: #334155;
  font-size: 0.8rem;
}

.api-console-layout pre,
.widget-payload pre {
  margin: 0;
  overflow-x: auto;
}

.upload-dropzone,
.widget-preview,
.qualification-panel,
.guardrail-card,
.lesson-card,
.strategy-ticket,
.rule-builder {
  display: grid;
  gap: 8px;
  align-content: center;
}

.portfolio-xray-workbench {
  display: grid;
  gap: 8px;
  align-content: stretch;
}

.portfolio-xray-workbench textarea,
.portfolio-xray-workbench input {
  width: 100%;
  border: 1px solid rgba(15, 23, 42, 0.2);
  border-radius: 8px;
  padding: 10px;
  font: inherit;
  background: #fff;
}

.portfolio-xray-workbench button {
  justify-self: flex-start;
  border: 1px solid rgba(20, 83, 45, 0.26);
  border-radius: 8px;
  background: #0f5132;
  color: #fff;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
}

.portfolio-xray-status {
  margin-top: 10px;
  font-size: 0.84rem;
  color: #0f5132;
  font-weight: 700;
}

.portfolio-xray-result {
  display: grid;
  gap: 12px;
}

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

.portfolio-xray-kpis article {
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  display: grid;
  gap: 4px;
}

.portfolio-xray-kpis span {
  font-size: 0.72rem;
  text-transform: uppercase;
  color: #475569;
}

.portfolio-xray-kpis strong {
  font-size: 0.95rem;
  color: #0f172a;
}

.portfolio-xray-answer {
  margin: 0;
  color: #1e293b;
  font-weight: 600;
}

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

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

.advisor-review-reliability article {
  border: 1px solid rgba(20, 83, 45, 0.2);
  border-radius: 8px;
  background: #f0fdf4;
  padding: 10px;
  display: grid;
  gap: 4px;
}

.advisor-review-reliability span {
  font-size: 0.72rem;
  text-transform: uppercase;
  color: #166534;
}

.advisor-review-reliability strong {
  font-size: 0.95rem;
  color: #14532d;
}

.advisor-review-required,
.advisor-review-flow-list {
  display: grid;
  gap: 8px;
}

.advisor-review-required ul,
.advisor-review-flow-list ol {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.portfolio-xray-split h4 {
  margin: 0 0 6px;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #334155;
}

.portfolio-xray-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.portfolio-xray-list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  background: #f8fafc;
}

.portfolio-xray-footers p {
  margin: 0;
  font-size: 0.82rem;
  color: #334155;
}

.portfolio-xray-flow {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.portfolio-xray-flow li {
  display: grid;
  gap: 2px;
  border-left: 3px solid rgba(15, 23, 42, 0.2);
  padding-left: 8px;
}

.portfolio-xray-flow strong {
  font-size: 0.78rem;
  text-transform: uppercase;
  color: #334155;
}

.portfolio-xray-flow span {
  font-size: 0.78rem;
  color: #475569;
}

.widget-form-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.widget-form-grid label {
  display: grid;
  gap: 6px;
  font-size: 0.82rem;
  color: #334155;
  font-weight: 700;
}

.widget-form-grid input,
.widget-form-grid select {
  border: 1px solid rgba(15, 23, 42, 0.2);
  border-radius: 8px;
  padding: 9px 10px;
  font-weight: 600;
  color: #0f172a;
  background: #fff;
}

.widget-form-grid .widget-check-row {
  grid-template-columns: auto 1fr;
  align-items: center;
}

.widget-check-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
}

.widget-runtime-status {
  border-left: 4px solid #2563eb;
  padding: 12px 14px;
  border-radius: 8px;
  background: #eff6ff;
  color: #1e3a8a;
  display: grid;
  gap: 4px;
}

.widget-runtime-status.is-ready {
  border-left-color: #15803d;
  background: #f0fdf4;
  color: #14532d;
}

.widget-runtime-status.is-error {
  border-left-color: #be123c;
  background: #fff1f2;
  color: #881337;
}

.widget-flow-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.widget-flow-grid article {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  padding: 10px;
  display: grid;
  gap: 4px;
  background: #f8fafc;
}

.widget-flow-grid article[data-status="ready"] {
  border-color: rgba(21, 128, 61, 0.3);
  background: #f0fdf4;
}

.widget-flow-grid article[data-status="degraded"] {
  border-color: rgba(190, 24, 93, 0.32);
  background: #fff1f2;
}

.widget-flow-grid strong {
  text-transform: capitalize;
  font-size: 0.88rem;
}

.widget-flow-grid span {
  font-weight: 800;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

.widget-flow-grid p {
  margin: 0;
  color: #334155;
  font-size: 0.84rem;
}

.widget-config-output {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.widget-config-output article {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 8px;
  padding: 12px;
  background: #f8fafc;
  display: grid;
  gap: 8px;
}

.widget-config-output pre {
  margin: 0;
  max-height: 260px;
  overflow: auto;
}

.widget-assistant-card {
  border: 1px solid rgba(20, 83, 45, 0.25);
  border-radius: 8px;
  background: #f0fdf4;
  padding: 14px;
  display: grid;
  gap: 8px;
}

.widget-assistant-card[data-status="degraded"] {
  border-color: rgba(190, 24, 93, 0.3);
  background: #fff1f2;
}

.widget-assistant-card ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 4px;
}

.product-empty {
  color: #64748b;
  font-weight: 700;
  margin: 0;
}

@media (max-width: 820px) {
  .product-line-hero,
  .alert-command-grid,
  .api-console-layout,
  .research-workbench,
  .portfolio-xray-grid,
  .digest-builder,
  .backtest-lab,
  .advisor-review-layout,
  .anomaly-console,
  .lesson-studio,
  .sector-intel-layout,
  .widget-builder-layout,
  .marketplace-router {
    grid-template-columns: 1fr;
  }

  .portfolio-xray-kpis,
  .portfolio-xray-split,
  .advisor-review-reliability {
    grid-template-columns: 1fr;
  }

  .realtime-filter-row {
    grid-template-columns: 1fr 1fr;
  }

  .realtime-main-grid,
  .research-main-grid {
    grid-template-columns: 1fr;
  }

  .ticker-insight-row,
  .ticker-kpi-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .realtime-filter-row {
    grid-template-columns: 1fr;
  }

  .realtime-head {
    flex-direction: column;
  }

  .realtime-head-actions,
  .ticker-detail-actions {
    width: 100%;
  }
}

/* Homepage rebuild: premium command-center styling */
.dashboard-home--revamp {
  position: relative;
}

.home-rebuild-shell {
  position: relative;
  overflow: hidden;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 16px;
  background:
    radial-gradient(140% 120% at 0% 0%, rgba(16, 185, 129, 0.16) 0%, rgba(16, 185, 129, 0) 54%),
    radial-gradient(120% 140% at 100% 0%, rgba(37, 99, 235, 0.14) 0%, rgba(37, 99, 235, 0) 60%),
    linear-gradient(180deg, #fcfffd 0%, #f5fbff 100%);
  box-shadow: 0 26px 46px rgba(15, 23, 42, 0.08);
}

.home-aura-layer {
  position: absolute;
  inset: -120px -140px auto auto;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(20, 184, 166, 0.2) 0%, rgba(20, 184, 166, 0) 72%);
  pointer-events: none;
}

.home-hero-split {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr);
  gap: 18px;
  align-items: start;
}

.home-hero-split h3 {
  font-size: clamp(2.1rem, 3.5vw, 3rem);
  line-height: 0.96;
  letter-spacing: -0.015em;
}

.home-hero-split .dashboard-hero-copy p:last-child {
  max-width: 62ch;
  font-size: 0.98rem;
  line-height: 1.5;
}

.home-signal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.home-signal-grid > div {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  padding: 11px;
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(2px);
}

.home-signal-grid dt {
  color: #475569;
  font-weight: 800;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.home-signal-grid dd {
  margin: 6px 0 0;
  font-weight: 800;
  color: #0f172a;
  font-size: 0.96rem;
}

.home-command-bar {
  border: 1px solid rgba(20, 83, 45, 0.14);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.home-command-bar .home-ask-form input {
  border-radius: 999px;
  background: #fcfffd;
}

.home-command-bar .home-ask-form button {
  border-radius: 999px;
  padding-inline: 20px;
}

.home-quick-actions {
  gap: 10px;
}

.home-quick-actions button {
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 999px;
  background: #ffffff;
  color: #0f172a;
  font-weight: 760;
  transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}

.home-quick-actions button:hover {
  transform: translateY(-1px);
  border-color: rgba(22, 101, 52, 0.38);
  box-shadow: 0 8px 18px rgba(22, 101, 52, 0.14);
}

.home-overview-grid {
  gap: 18px;
}

.home-overview-grid .analytics-panel {
  border-radius: 14px;
  border-color: rgba(15, 23, 42, 0.1);
  background: rgba(255, 255, 255, 0.92);
}

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

.home-speed-console article {
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 12px;
  padding: 11px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.home-speed-console span {
  color: #334155;
  font-size: 0.73rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.home-speed-console strong {
  display: block;
  margin-top: 7px;
  color: #0f172a;
  font-size: 0.96rem;
  line-height: 1.2;
}

@media (max-width: 1080px) {
  .home-hero-split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .home-signal-grid {
    grid-template-columns: 1fr;
  }

  .home-speed-console {
    grid-template-columns: 1fr;
  }
}

/* Account Billing Redesign */
.billing-view {
  gap: 20px;
}

.billing-value-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 16px;
}

.billing-value-hero {
  border: 1px solid rgba(29, 123, 95, 0.28);
  border-radius: 14px;
  padding: 24px;
  background: radial-gradient(circle at 12% 15%, #f5fff8 0%, #ecf8f1 44%, #e6f4ef 100%);
  box-shadow: 0 22px 56px rgba(16, 35, 27, 0.11);
}

.billing-value-hero h3 {
  margin: 0 0 10px;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.14;
}

.billing-value-hero p {
  margin: 0;
  color: #3f5247;
  line-height: 1.55;
}

.billing-value-badges {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.billing-value-badges span {
  border: 1px solid rgba(26, 83, 61, 0.2);
  background: rgba(255, 255, 255, 0.76);
  color: #204437;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 7px 10px;
}

.billing-status-card {
  border: 1px solid rgba(34, 92, 132, 0.2);
  border-radius: 14px;
  padding: 20px;
  background: linear-gradient(168deg, #f6fbff 0%, #f9fcff 100%);
  box-shadow: 0 16px 46px rgba(20, 34, 42, 0.1);
  display: grid;
  gap: 12px;
}

.billing-status-label {
  margin: 0;
  color: #34556b;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.billing-status-card #checkoutStatus {
  margin: 0;
  color: #1f3f53;
  font-size: 0.94rem;
  line-height: 1.5;
}

.billing-status-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  color: #355468;
}

.billing-fit-panel {
  border: 1px solid rgba(33, 99, 77, 0.26);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(19, 30, 25, 0.08);
  padding: 20px;
  display: grid;
  gap: 14px;
}

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

.billing-fit-head span {
  display: block;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #4d6457;
}

.billing-fit-head strong {
  display: block;
  margin-top: 3px;
  font-size: 1.06rem;
  line-height: 1.3;
}

#fitCheckout {
  border: 0;
  border-radius: 10px;
  padding: 11px 14px;
  color: #ffffff;
  background: linear-gradient(126deg, #1d7b5f 0%, #156f55 100%);
  font-weight: 800;
  cursor: pointer;
}

#fitCheckout:hover {
  filter: brightness(1.04);
}

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

.billing-fit-inputs label {
  display: grid;
  gap: 6px;
}

.billing-fit-inputs span {
  font-size: 0.73rem;
  font-weight: 800;
  color: #52685c;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.billing-fit-inputs select,
.billing-fit-inputs input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cbded4;
  border-radius: 10px;
  background: #fbfffc;
  color: #18342a;
  padding: 0 12px;
  font-size: 0.9rem;
}

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

.billing-fit-kpis article {
  border: 1px solid #d6e8df;
  border-radius: 10px;
  background: #f8fcf9;
  padding: 12px;
}

.billing-fit-kpis span {
  display: block;
  font-size: 0.72rem;
  color: #577064;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 800;
}

.billing-fit-kpis strong {
  display: block;
  margin-top: 7px;
  font-size: 1.12rem;
  color: #143228;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

#fitReason {
  margin: 0;
  color: #4b6358;
}

.billing-catalog-shell {
  border: 1px solid #d7e5dd;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 14px 38px rgba(18, 29, 23, 0.06);
  padding: 18px;
  display: grid;
  gap: 14px;
}

.billing-catalog-head span {
  display: block;
  color: #566c5f;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.billing-catalog-head strong {
  display: block;
  margin-top: 4px;
  font-size: 1.02rem;
}

.billing-view .plan-card {
  border: 1px solid #cfdfd5;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fcfa 100%);
  box-shadow: 0 12px 32px rgba(17, 32, 24, 0.08);
  padding: 18px;
}

.billing-view .plan-card .plan-meta span {
  border-radius: 999px;
  font-size: 0.73rem;
  font-weight: 700;
}

.billing-view .checkout-button {
  margin-top: 12px;
  border-radius: 10px;
  border: 0;
  min-height: 40px;
  font-size: 0.84rem;
  font-weight: 800;
  color: #ffffff;
  background: linear-gradient(123deg, #18251f 0%, #244337 100%);
  cursor: pointer;
}

.billing-view .checkout-button:hover {
  filter: brightness(1.05);
}

.account-billing-overview {
  border: 1px solid #d8e6dd;
  border-radius: 12px;
  background: linear-gradient(170deg, #ffffff 0%, #f5faf7 100%);
  padding: 14px;
  display: grid;
  gap: 8px;
}

.account-billing-overview h4 {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.3;
}

.account-billing-overview p {
  margin: 0;
  color: #4d6558;
  font-size: 0.79rem;
  line-height: 1.45;
}

.account-billing-points {
  display: grid;
  gap: 6px;
}

.account-billing-points span {
  display: block;
  border: 1px solid #d4e6dc;
  border-radius: 999px;
  padding: 6px 8px;
  font-size: 0.7rem;
  color: #335447;
  background: rgba(255, 255, 255, 0.78);
  font-weight: 700;
}

.account-billing-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.dropdown-plan-card {
  border: 1px solid #d3e3da;
  border-radius: 12px;
  background: #ffffff;
  padding: 13px;
  box-shadow: 0 8px 22px rgba(21, 35, 27, 0.08);
  display: grid;
  gap: 8px;
}

.dropdown-plan-card.is-current-tier {
  border-color: #80b9a0;
  background: linear-gradient(169deg, #f2faf5 0%, #edf7f2 100%);
}

.dropdown-plan-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.dropdown-plan-actor {
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #406053;
}

.dropdown-plan-state {
  border: 1px solid #ccd9d1;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 0.64rem;
  font-weight: 800;
  color: #4f6458;
}

.dropdown-plan-state.is-current {
  border-color: #84bca3;
  color: #1d6f52;
  background: #e7f6ee;
}

.dropdown-plan-card h6 {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.3;
  color: #1d3128;
}

.dropdown-plan-card .plan-price {
  color: #173328;
  font-size: 1.24rem;
  line-height: 1.06;
}

.dropdown-plan-card .plan-price small {
  margin-left: 3px;
  color: #607668;
  font-size: 0.71rem;
  font-weight: 700;
}

.dropdown-plan-copy {
  margin: 0;
  color: #4e6459;
  font-size: 0.74rem;
  line-height: 1.4;
}

.dropdown-plan-meta {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 5px;
}

.dropdown-plan-meta li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.dropdown-plan-meta span {
  color: #5f7469;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.dropdown-plan-meta strong {
  color: #204434;
  font-size: 0.74rem;
}

.dropdown-plan-card .btn-checkout-plan {
  width: 100%;
  min-height: 34px;
  margin-top: 2px;
  border-radius: 9px;
  font-size: 0.76rem;
}

.dropdown-plan-card .btn-checkout-plan[disabled] {
  background: #f2f5f3;
  border: 1px solid #d3ddd7;
  color: #5f6c65;
  cursor: default;
}

.profile-dropdown-menu {
  width: min(560px, calc(100vw - 22px));
  max-height: min(80vh, 760px);
  overflow-y: auto;
}

.profile-dropdown-tabs {
  flex-wrap: wrap;
}

@media (max-width: 1180px) {
  .billing-value-shell {
    grid-template-columns: 1fr;
  }

  .billing-fit-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .billing-fit-inputs {
    grid-template-columns: 1fr;
  }

  .billing-fit-kpis {
    grid-template-columns: 1fr;
  }
}

/* ENFORCE VISIBILITY TOGGLES (Must be at the very bottom to override !important alignment rules) */
.is-hidden,
.is-hidden.is-hidden,
[id].is-hidden {
  display: none !important;
}

/* Unified view frame: keep core app routes visually consistent */
:root {
  --ci-view-frame-max-width: 1180px;
  --ci-view-frame-inline-gutter: clamp(18px, 3vw, 36px);
  --ci-view-frame-gap: 18px;
  --ci-view-frame-top: 24px;
  --ci-view-frame-bottom: calc(var(--assistant-height) + 42px);
}

#dashboardHome,
#commandView,
#analyticsView,
#businessCaseView,
#aiView,
#trustView,
#docsView,
#accountView {
  width: min(var(--ci-view-frame-max-width), calc(100% - (var(--ci-view-frame-inline-gutter) * 2)));
  margin: 0 auto;
  padding-left: 0 !important;
  padding-right: 0 !important;
  gap: var(--ci-view-frame-gap) !important;
}

#dashboardHome,
#commandView,
#analyticsView,
#businessCaseView,
#aiView,
#trustView {
  padding-top: var(--ci-view-frame-top) !important;
  padding-bottom: var(--ci-view-frame-bottom) !important;
}

#docsView,
#accountView {
  padding-top: 24px !important;
  padding-bottom: 42px !important;
}

#businessCaseView .business-product-page,
#businessCaseView .product-line-page {
  width: 100%;
  margin-inline: 0;
}

#businessCaseView .business-product-page {
  gap: var(--ci-view-frame-gap);
}

/* Keep visibility toggles at the absolute bottom. */
.is-hidden,
.is-hidden.is-hidden,
[id].is-hidden {
  display: none !important;
}
