/*
 * ATLAS Journal visual refresh
 * Scope: presentation and responsive UX only. No data, API or trading logic changes.
 */

:root {
  --atlas-bg: #181914;
  --atlas-bg-soft: #1d1f19;
  --atlas-bg-card: #23251e;
  --atlas-bg-elevated: #292b23;
  --atlas-surface-hover: #303228;
  --atlas-border-soft: #383a30;
  --atlas-border: #44463a;
  --atlas-border-strong: #575a49;
  --atlas-text: #eee9dc;
  --atlas-text-primary: #eee9dc;
  --atlas-text-secondary: #c5bead;
  --atlas-muted: #999486;
  --atlas-disabled-bg: #20221c;
  --atlas-disabled-text: #6f6c62;
  --atlas-green: #8da77e;
  --atlas-red: #c77f72;
  --atlas-yellow: #c0a16d;
  --atlas-info: #829a9c;
  --atlas-accent: #9aa27a;
  --atlas-accent-hover: #a9b188;
  --atlas-accent-muted: #747c5c;
  --atlas-accent-dark: #565d44;
  --atlas-accent-surface: rgba(154, 162, 122, 0.12);
  --atlas-radius-sm: 6px;
  --atlas-radius-md: 10px;
  --atlas-radius-lg: 14px;
  --atlas-page-gap: 16px;
  --atlas-section-gap: 14px;
  --atlas-card-padding: 16px;
  --bs-body-bg: var(--atlas-bg);
  --bs-body-color: var(--atlas-text-primary);
  --bs-border-color: var(--atlas-border);
  --bs-primary: var(--atlas-accent);
  --bs-success: var(--atlas-green);
  --bs-danger: var(--atlas-red);
  --bs-warning: var(--atlas-yellow);
  --bs-info: var(--atlas-info);
}

html { color-scheme: dark; }

body {
  color: var(--atlas-text-primary);
  background:
    radial-gradient(circle at 12% 0%, rgba(154, 162, 122, 0.055), transparent 31%),
    radial-gradient(circle at 100% 0%, rgba(130, 154, 156, 0.035), transparent 25%),
    linear-gradient(180deg, #191a16 0%, #151611 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.48;
  letter-spacing: -0.004em;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.018;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

h1, h2, h3, h4, h5, h6 { color: var(--atlas-text-primary); letter-spacing: -0.02em; }

.atlas-shell { background: transparent; }

.atlas-sidebar {
  width: 218px;
  padding: 18px 14px;
  border-right: 1px solid var(--atlas-border-soft);
  background: rgba(21, 22, 17, 0.94);
  backdrop-filter: blur(10px);
}

.atlas-brand { gap: 10px; margin-bottom: 22px; padding: 2px 4px; }
.atlas-brand-badge {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  color: #181914;
  background: linear-gradient(145deg, #a6ad87, #757d5e);
  box-shadow: none;
}
.atlas-brand h1 { font-size: 1rem; font-weight: 650; }
.atlas-brand small { font-size: .75rem; }

.atlas-nav .nav-link {
  position: relative;
  margin-bottom: 4px;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--atlas-text-secondary);
  font-size: .91rem;
  font-weight: 560;
  line-height: 1.35;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
.atlas-nav .nav-link:hover {
  color: var(--atlas-text-primary);
  background: rgba(154, 162, 122, 0.07);
}
.atlas-nav .nav-link.active {
  color: var(--atlas-text-primary);
  border-color: rgba(154, 162, 122, 0.22);
  background: var(--atlas-accent-surface);
  box-shadow: inset 3px 0 0 var(--atlas-accent-muted);
  transform: none;
}

.atlas-main {
  max-width: none;
  padding: 18px 22px 28px;
}

.atlas-page-title { margin-bottom: 14px; gap: 16px; }
.atlas-page-title h2 { margin: 0; font-size: clamp(1.45rem, 1.8vw, 1.85rem); font-weight: 630; }
.atlas-page-title .atlas-muted { margin-top: 3px; font-size: .92rem; }

.atlas-access-banner {
  min-height: 52px;
  margin-bottom: 14px;
  padding: 10px 14px;
  border: 1px solid var(--atlas-border-default, var(--atlas-border));
  border-left: 3px solid var(--atlas-accent-muted);
  border-radius: var(--atlas-radius-md);
  color: var(--atlas-text-primary) !important;
  background: rgba(41, 43, 35, .74) !important;
  box-shadow: none;
}
.atlas-access-banner strong { font-size: .9rem; font-weight: 650; }
.atlas-access-banner span { color: var(--atlas-text-secondary) !important; font-size: .82rem; }
.atlas-access-banner-admin { border-left-color: var(--atlas-accent); }

.card,
.atlas-card,
.atlas-panel,
.atlas-journal-card,
.atlas-settings-section,
.atlas-decision-card,
.atlas-report-section,
.atlas-health-section {
  color: var(--atlas-text-primary);
  border: 1px solid var(--atlas-border-soft) !important;
  border-radius: var(--atlas-radius-md) !important;
  background: rgba(35, 37, 30, .88) !important;
  box-shadow: none !important;
}
.card-header, .card-footer { border-color: var(--atlas-border-soft); background: transparent; }
.card-body { padding: var(--atlas-card-padding); }

.atlas-journal-card-draft,
.atlas-journal-card-completed {
  background: #292a27 !important;
  border-color: #474942 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.16) !important;
}

.atlas-muted, .text-muted, .form-text, .card-text { color: var(--atlas-muted) !important; }

.btn {
  min-height: 36px;
  border-radius: 7px;
  font-weight: 560;
  box-shadow: none !important;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 100ms ease;
}
.btn:active { transform: translateY(1px); }
.btn-primary {
  --bs-btn-color: #171812;
  --bs-btn-bg: var(--atlas-accent);
  --bs-btn-border-color: var(--atlas-accent);
  --bs-btn-hover-color: #171812;
  --bs-btn-hover-bg: var(--atlas-accent-hover);
  --bs-btn-hover-border-color: var(--atlas-accent-hover);
  --bs-btn-active-color: #171812;
  --bs-btn-active-bg: var(--atlas-accent-hover);
}
.btn-outline-light, .btn-secondary, .btn-outline-secondary {
  --bs-btn-color: var(--atlas-text-primary);
  --bs-btn-border-color: var(--atlas-border-strong);
  --bs-btn-hover-color: var(--atlas-text-primary);
  --bs-btn-hover-bg: var(--atlas-surface-hover);
  --bs-btn-hover-border-color: var(--atlas-accent-muted);
}
.btn-outline-info, .btn-info {
  --bs-btn-color: var(--atlas-text-primary);
  --bs-btn-border-color: var(--atlas-info);
  --bs-btn-bg: transparent;
  --bs-btn-hover-bg: rgba(130, 154, 156, .13);
  --bs-btn-hover-color: var(--atlas-text-primary);
}
.btn-outline-danger, .btn-danger {
  --bs-btn-color: #e4a096;
  --bs-btn-border-color: rgba(199, 127, 114, .7);
  --bs-btn-bg: transparent;
  --bs-btn-hover-bg: rgba(199, 127, 114, .12);
  --bs-btn-hover-color: #f1b6ad;
}
.btn-warning, .btn-outline-warning {
  --bs-btn-color: #e0c28f;
  --bs-btn-border-color: rgba(192, 161, 109, .68);
  --bs-btn-bg: transparent;
  --bs-btn-hover-bg: rgba(192, 161, 109, .11);
  --bs-btn-hover-color: #ead2aa;
}

.form-control, .form-select {
  min-height: 40px;
  border-color: var(--atlas-border);
  border-radius: 7px;
  color: var(--atlas-text-primary);
  background-color: #20221c;
}
.form-control:focus, .form-select:focus {
  color: var(--atlas-text-primary);
  border-color: var(--atlas-accent-muted);
  background-color: #22241d;
  box-shadow: 0 0 0 3px rgba(154, 162, 122, .12);
}
.form-control:disabled, .form-select:disabled { color: var(--atlas-disabled-text); background: var(--atlas-disabled-bg); }
.form-label { margin-bottom: 6px; color: var(--atlas-text-secondary); font-size: .82rem; font-weight: 560; }
.form-check-input:checked { border-color: var(--atlas-accent); background-color: var(--atlas-accent); }
.form-check-input:focus { border-color: var(--atlas-accent-muted); box-shadow: 0 0 0 3px rgba(154,162,122,.14); }

.table { --bs-table-bg: transparent; --bs-table-color: var(--atlas-text-primary); --bs-table-border-color: var(--atlas-border-soft); margin-bottom: 0; }
.table > :not(caption) > * > * { padding: 10px 10px; vertical-align: middle; }
.table thead th { color: var(--atlas-text-secondary); font-size: .78rem; font-weight: 650; white-space: nowrap; }
.table tbody td { font-size: .84rem; }
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: rgba(154, 162, 122, .055); color: var(--atlas-text-primary); }
.atlas-sort-button { color: var(--atlas-text-secondary); font-weight: 650; }
.atlas-sort-button:hover, .atlas-sort-button-active { color: var(--atlas-text-primary); }

.badge, .atlas-status-badge {
  border-radius: 6px !important;
  font-weight: 650;
  letter-spacing: 0;
}
.bg-success, .text-bg-success, .bg-success-subtle { background-color: rgba(141, 167, 126, .14) !important; color: #a8c49a !important; border-color: rgba(141,167,126,.45) !important; }
.bg-danger, .text-bg-danger, .bg-danger-subtle { background-color: rgba(199, 127, 114, .13) !important; color: #dda097 !important; border-color: rgba(199,127,114,.48) !important; }
.bg-warning, .text-bg-warning, .bg-warning-subtle { background-color: rgba(192, 161, 109, .13) !important; color: #d8ba87 !important; border-color: rgba(192,161,109,.5) !important; }
.bg-info, .text-bg-info, .bg-info-subtle { background-color: rgba(130,154,156,.13) !important; color: #a9c0c1 !important; border-color: rgba(130,154,156,.42) !important; }
.bg-secondary, .text-bg-secondary, .bg-secondary-subtle { background-color: rgba(153,148,134,.12) !important; color: var(--atlas-text-secondary) !important; border-color: rgba(153,148,134,.35) !important; }

.atlas-metric-pill,
.atlas-journal-metrics > div,
.atlas-settings-preview,
.atlas-journal-stat {
  min-height: 68px;
  padding: 11px 12px;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 8px;
  background: rgba(41, 43, 35, .62);
}
.atlas-metric-pill-label, .atlas-journal-metrics span, .atlas-journal-stat span, .atlas-settings-preview span { color: var(--atlas-muted); font-size: .74rem; }
.atlas-metric-pill-value, .atlas-journal-metrics strong, .atlas-journal-stat strong, .atlas-settings-preview strong { color: var(--atlas-text-primary); font-variant-numeric: tabular-nums; font-weight: 650; }

.atlas-inline-tab {
  padding: 8px 12px;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 999px;
  color: var(--atlas-text-secondary);
  background: rgba(35,37,30,.45);
}
.atlas-inline-tab:hover { color: var(--atlas-text-primary); border-color: var(--atlas-border-strong); background: rgba(48,50,40,.75); }
.atlas-inline-tab-active { color: var(--atlas-text-primary); border-color: var(--atlas-accent-muted); background: var(--atlas-accent-surface); }
.atlas-inline-tab:disabled,
.atlas-inline-tab:disabled:hover {
  color: var(--atlas-disabled-text);
  border-color: var(--atlas-border-soft);
  background: rgba(35,37,30,.28);
  cursor: not-allowed;
  opacity: .72;
}

.atlas-journal-action-strip {
  padding: 11px 12px;
  border-color: var(--atlas-border-soft);
  border-radius: 9px;
  background: rgba(35,37,30,.58);
}
.atlas-journal-section { margin-bottom: 20px; }
.atlas-journal-section > h4 { margin-bottom: 10px; font-size: 1.05rem; }
.atlas-journal-metrics { gap: 8px; }
.atlas-journal-card .card-body { gap: 12px; }
.atlas-signal-matrix { gap: 2px; }
.atlas-signal-matrix-row {
  padding: 8px 10px;
  border-radius: 6px;
  background: rgba(41,43,35,.44);
}
.atlas-trading-interval { padding: 10px; border-color: var(--atlas-border-soft); border-radius: 8px; background: rgba(41,43,35,.44); }

.atlas-settings-section { margin-bottom: 12px; }
.atlas-settings-section .card-body, .atlas-settings-section.card .card-body { padding: 14px; }
.atlas-settings-section h4 { margin-bottom: 12px; font-size: 1rem; }
.atlas-settings-sticky-actions {
  bottom: calc(.65rem + var(--atlas-telegram-content-safe-bottom, 0px));
  padding: 10px 12px;
  border-color: var(--atlas-border);
  border-radius: 9px;
  background: rgba(29,31,25,.96);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
}

.atlas-journal-history-list { gap: 6px; }
.atlas-journal-history-list > div {
  padding: 10px 12px;
  border-left-color: var(--atlas-accent-muted);
  border-radius: 0 8px 8px 0;
  background: rgba(41,43,35,.55);
}

.atlas-condition-status { box-shadow: none; }
.atlas-condition-status-passed { color: #a8c49a; background: rgba(141,167,126,.14); border-color: rgba(141,167,126,.45); }
.atlas-condition-status-failed { color: #dda097; background: rgba(199,127,114,.13); border-color: rgba(199,127,114,.48); }
.atlas-condition-status-missing { color: var(--atlas-text-secondary); background: rgba(153,148,134,.1); border-color: rgba(153,148,134,.3); }

/* Healthy operational data should remain quiet; failures carry the emphasis. */
.atlas-health-section .atlas-metric-pill-success,
.atlas-health-section .border-success,
.atlas-admin-health-page .border-success {
  border-color: var(--atlas-border-soft) !important;
  background: rgba(41,43,35,.62) !important;
}
.atlas-health-section .text-success, .atlas-admin-health-page .text-success { color: #9db88f !important; }

@media (min-width: 1400px) {
  .atlas-main { padding-right: 34px; padding-left: 26px; }
}

@media (max-width: 991.98px) {
  :root { --atlas-mobile-header-height: 56px; --atlas-card-padding: 12px; }
  body { font-size: 14px; line-height: 1.42; background: linear-gradient(180deg, #191a16 0%, #151611 100%); }
  body::before { opacity: .012; }

  .atlas-shell { padding-top: calc(var(--atlas-mobile-top-chrome) + var(--atlas-mobile-header-height)); padding-bottom: calc(70px + var(--atlas-mobile-safe-bottom)); }
  .atlas-mobile-header {
    min-height: var(--atlas-mobile-header-height);
    padding: 7px calc(var(--atlas-mobile-safe-right) + 12px) 7px calc(var(--atlas-mobile-safe-left) + 12px);
    border-color: var(--atlas-border-soft);
    background: rgba(21,22,17,.96);
    backdrop-filter: blur(10px);
  }
  .atlas-mobile-header .atlas-brand-badge { width: 32px; height: 32px; border-radius: 8px; }
  .atlas-mobile-header-copy strong { font-size: .9rem; }
  .atlas-mobile-header-copy span { color: var(--atlas-muted); font-size: .68rem; }
  .atlas-mobile-menu-button { width: 40px; height: 40px; border-color: var(--atlas-border-soft); border-radius: 10px; color: var(--atlas-text-primary); background: rgba(41,43,35,.76); }

  .atlas-sidebar {
    width: min(86vw, 330px);
    padding: calc(var(--atlas-mobile-safe-top) + 16px) 14px calc(var(--atlas-mobile-safe-bottom) + 16px);
    background: rgba(21,22,17,.985);
  }
  .atlas-mobile-menu-overlay { background: rgba(7,8,6,.68); backdrop-filter: blur(2px); }
  .atlas-nav .nav-link { min-height: 44px; display: flex; align-items: center; padding: 10px 12px; font-size: .94rem; }

  .atlas-main { padding: 12px 12px 20px; }
  .atlas-page-title { align-items: flex-start; margin-bottom: 12px; }
  .atlas-page-title h2 { font-size: 1.45rem; }
  .atlas-page-title .atlas-muted { font-size: .84rem; line-height: 1.38; }
  .atlas-page-title > :last-child:not(:first-child) { margin-left: auto; }

  .atlas-access-banner { min-height: 0; margin-bottom: 10px; padding: 9px 11px; border-left-width: 2px; }
  .atlas-access-banner strong { font-size: .82rem; }
  .atlas-access-banner span { font-size: .72rem; }

  .card-body { padding: 12px; }
  .btn { min-height: 40px; }
  .form-control, .form-select { min-height: 42px; }

  .atlas-journal-section { margin-bottom: 14px; }
  .atlas-journal-section-nav {
    gap: 4px;
    margin-inline: -12px;
    padding: 2px 12px 10px;
    scrollbar-width: none;
  }
  .atlas-journal-section-nav::-webkit-scrollbar { display: none; }
  .atlas-inline-tab { padding: 8px 10px; border-radius: 8px; }
  .atlas-inline-tab-active { border-color: transparent; border-bottom-color: var(--atlas-accent); border-radius: 8px 8px 2px 2px; background: rgba(154,162,122,.08); }

  .atlas-journal-metrics { gap: 6px; }
  .atlas-journal-metrics > div, .atlas-metric-pill, .atlas-journal-stat { min-height: 62px; padding: 9px 10px; }
  .atlas-journal-card .card-body { gap: 9px; padding: 11px; }
  .atlas-journal-action-strip { gap: 7px; padding: 9px; }

  .table-responsive { border-radius: 8px; }
  .table > :not(caption) > * > * { padding: 9px 8px; }

  .atlas-settings-section .card-body, .atlas-settings-section.card .card-body { padding: 11px; }
  .atlas-settings-sticky-actions { gap: 8px; padding: 9px; }

  .atlas-mobile-sortbar { gap: 7px; }
}

@media (max-width: 575.98px) {
  .atlas-page-title { display: block; }
  .atlas-page-title > :last-child:not(:first-child) { margin-top: 9px; }
  .atlas-page-actions-inline { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
  .atlas-page-actions-inline .btn { width: 100%; }

  .atlas-today-journal-summary { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--atlas-border-soft); border-radius: 9px; background: var(--atlas-border-soft); }
  .atlas-today-journal-summary > * { border: 0 !important; border-radius: 0 !important; background: rgba(35,37,30,.96) !important; }

  .atlas-journal-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .atlas-signal-matrix-row { grid-template-columns: 1fr repeat(2, minmax(58px,.35fr)); gap: 7px; }
  .atlas-signal-matrix-row > strong { grid-column: auto; }

  .atlas-settings-sticky-actions { flex-direction: row; align-items: center; }
  .atlas-settings-sticky-actions > div { min-width: 0; }
  .atlas-settings-sticky-actions .btn { width: auto; flex: 1 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Journal analytics information architecture */
.atlas-journal-stat .card-body {
  display: flex;
  min-height: 118px;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
}

.atlas-journal-stat span,
.atlas-journal-stat small {
  color: var(--atlas-muted);
}

.atlas-journal-stat strong {
  font-size: 1.12rem;
  font-weight: 650;
}

.atlas-result-positive { color: var(--atlas-green); }
.atlas-result-negative { color: var(--atlas-red); }
.atlas-result-neutral { color: var(--atlas-text); }

.atlas-journal-filter-row,
.atlas-journal-filter-grid {
  display: grid;
  gap: 12px;
  align-items: end;
}

.atlas-journal-filter-row {
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.atlas-journal-filter-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
}

.atlas-native-date-wrap {
  display: flex;
  width: 100%;
  min-width: 0;
  border: 1px solid var(--atlas-border);
  border-radius: 12px;
  background: var(--atlas-bg-elevated);
  padding: 8px 12px;
}

.atlas-native-date-wrap input {
  display: block;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--atlas-text);
  padding: 0;
}

.atlas-trade-result-stack,
.atlas-journal-trades-table td > span,
.atlas-journal-trades-table td > strong {
  display: block;
}

.atlas-trade-result-stack {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.atlas-trade-result-stack > strong,
.atlas-trade-result-stack > span {
  display: block;
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.atlas-trade-result-stack span,
.atlas-journal-trades-table td > span {
  color: var(--atlas-muted);
  font-size: .84rem;
  margin-top: 3px;
}

.atlas-analytics-subnav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.atlas-analytics-subnav button {
  flex: 0 0 auto;
  border: 1px solid var(--atlas-border);
  border-radius: 999px;
  background: transparent;
  color: var(--atlas-muted);
  padding: 8px 13px;
}

.atlas-analytics-subnav button.active {
  background: var(--atlas-accent-surface);
  border-color: var(--atlas-accent);
  color: var(--atlas-text);
}

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

.atlas-processing-grid > div,
.atlas-journal-best-worst > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--atlas-border);
  padding: 10px 0;
}

.atlas-processing-grid span,
.atlas-journal-best-worst span {
  color: var(--atlas-muted);
}

.atlas-journal-best-worst {
  display: grid;
  gap: 4px;
}

.atlas-journal-history-timeline {
  display: grid;
  gap: 0;
}

.atlas-journal-history-timeline article {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 20px;
  border-bottom: 1px solid var(--atlas-border);
  padding: 16px 0;
}

.atlas-journal-history-timeline time {
  color: var(--atlas-muted);
  font-size: .88rem;
}

.atlas-journal-history-timeline h5 {
  margin: 0 0 6px;
}

.atlas-journal-history-timeline p {
  margin: 3px 0;
  color: var(--atlas-muted);
}

@media (max-width: 767px) {
  .atlas-journal-filter-row,
  .atlas-journal-filter-grid {
    grid-template-columns: 1fr;
  }

  .atlas-processing-grid {
    grid-template-columns: 1fr;
  }

  .atlas-journal-history-timeline article {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .atlas-journal-stat .card-body {
    min-height: 104px;
  }
}

.atlas-signal-outcome-list {
  display: grid;
  gap: 12px;
}

.atlas-signal-outcome-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--atlas-border);
  border-radius: 14px;
  background: var(--atlas-bg-elevated);
}

.atlas-signal-outcome-title,
.atlas-signal-outcome-extremes {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.atlas-signal-outcome-title span,
.atlas-signal-outcome-card small {
  color: var(--atlas-muted);
}

.atlas-signal-outcome-horizons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.atlas-signal-outcome-horizons > div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 10px;
  background: var(--atlas-bg-soft);
}

@media (max-width: 767px) {
  .atlas-signal-outcome-horizons {
    grid-template-columns: 1fr;
  }

  .atlas-signal-outcome-extremes {
    align-items: flex-start;
    flex-direction: column;
  }
}

.atlas-signal-outcome-list {
  display: grid;
  gap: 12px;
}

.atlas-signal-outcome-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--atlas-border);
  border-radius: 14px;
  background: var(--atlas-bg-elevated);
}

.atlas-signal-outcome-title,
.atlas-signal-outcome-extremes {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.atlas-signal-outcome-title span,
.atlas-signal-outcome-card small {
  color: var(--atlas-muted);
}

.atlas-signal-outcome-horizons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.atlas-signal-outcome-horizons > div {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 10px;
  background: var(--atlas-bg-soft);
}

@media (max-width: 767px) {
  .atlas-signal-outcome-horizons {
    grid-template-columns: 1fr;
  }

  .atlas-signal-outcome-extremes {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Own journal and version comparison */
.atlas-comparison-tabs {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.atlas-comparison-tabs button {
  border: 1px solid var(--atlas-border-soft);
  border-radius: 999px;
  background: transparent;
  color: var(--atlas-muted);
  padding: 0.55rem 0.9rem;
}

.atlas-comparison-tabs button.active {
  background: var(--atlas-bg-elevated);
  color: var(--atlas-text-primary);
}

.atlas-comparison-selector-list,
.atlas-comparison-version-selector {
  display: grid;
  gap: 0.65rem;
}

.atlas-comparison-selector-list label,
.atlas-comparison-version-selector label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.9rem;
  padding: 0.75rem;
  cursor: pointer;
}

.atlas-comparison-selector-list label.selected,
.atlas-comparison-version-selector label.selected {
  border-color: var(--atlas-accent-muted);
  background: var(--atlas-bg-elevated);
}

.atlas-comparison-selector-list label > span,
.atlas-comparison-version-selector label > span {
  display: grid;
  flex: 1;
}

.atlas-comparison-selector-list small,
.atlas-comparison-version-selector small {
  color: var(--atlas-muted);
}

.atlas-comparison-summary-list,
.atlas-comparison-signal-list {
  display: grid;
  gap: 1rem;
}

.atlas-comparison-card-head,
.atlas-comparison-signal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.9rem;
}

.atlas-comparison-card-head h4,
.atlas-comparison-signal-head h5 {
  margin: 0;
}

.atlas-comparison-card-head span,
.atlas-comparison-signal-head span {
  color: var(--atlas-muted);
}

.atlas-comparison-metric-line {
  display: grid;
  grid-template-columns: minmax(9rem, 0.8fr) minmax(7rem, 0.7fr) minmax(9rem, 1fr);
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.65rem 0;
  border-top: 1px solid var(--atlas-border-soft);
}

.atlas-comparison-metric-line span,
.atlas-comparison-metric-line small {
  color: var(--atlas-muted);
}

.atlas-comparison-cohort {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.atlas-comparison-cohort > div,
.atlas-comparison-settings > div {
  display: grid;
  gap: 0.25rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.75rem;
  padding: 0.75rem;
}

.atlas-comparison-cohort span,
.atlas-comparison-settings span {
  color: var(--atlas-muted);
}

.atlas-comparison-journal-results,
.atlas-comparison-settings {
  display: grid;
  gap: 0.65rem;
}

.atlas-comparison-journal-result {
  display: grid;
  gap: 0.35rem;
  border-top: 1px solid var(--atlas-border-soft);
  padding-top: 0.75rem;
}

.atlas-comparison-journal-result > div {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.atlas-comparison-journal-result p {
  margin: 0;
  color: var(--atlas-muted);
}

@media (max-width: 767px) {
  .atlas-comparison-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .atlas-comparison-tabs button {
    width: 100%;
  }

  .atlas-comparison-card-head,
  .atlas-comparison-signal-head,
  .atlas-comparison-journal-result > div {
    align-items: stretch;
    flex-direction: column;
  }

  .atlas-comparison-metric-line {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .atlas-comparison-cohort {
    grid-template-columns: 1fr 1fr;
  }

  .atlas-comparison-signal-head .btn {
    width: 100%;
  }
}

.atlas-trade-protection-stack {
  display: grid;
  gap: 3px;
  min-width: 170px;
}

.atlas-trade-protection-line {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 0.28rem;
  flex-wrap: wrap;
}

.atlas-trade-protection-line > span,
.atlas-trade-protection-line > small {
  color: var(--atlas-muted);
  font-size: 0.84rem;
}

.atlas-trade-protection-line > small,
.atlas-protection-inline-value > small {
  white-space: nowrap;
}

.atlas-protection-inline-value {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 0.28rem;
  flex-wrap: wrap;
}

.atlas-protection-inline-value > small {
  color: var(--atlas-muted);
  font-size: 0.78rem;
  font-weight: 500;
}

.atlas-trade-risk-label {
  display: inline-grid;
  width: fit-content;
  max-width: 100%;
  margin-top: 3px;
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  gap: 1px;
  font-size: 0.76rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.atlas-trade-risk-label > span {
  display: block;
}

.atlas-trade-risk-label-warning {
  color: var(--atlas-warning-text, #e6c478);
  border-color: color-mix(in srgb, var(--atlas-warning-text, #e6c478) 45%, transparent);
  background: color-mix(in srgb, var(--atlas-warning-text, #e6c478) 12%, transparent);
}

.atlas-trade-risk-label-danger {
  color: var(--atlas-danger-text, #e59a8d);
  border-color: color-mix(in srgb, var(--atlas-danger-text, #e59a8d) 55%, transparent);
  background: color-mix(in srgb, var(--atlas-danger-text, #e59a8d) 14%, transparent);
}

/* Stage 3B Journal ↔ Bybit Demo connection */
.atlas-journal-card-statuses {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.45rem;
}

.atlas-exchange-status-badge {
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}

.atlas-exchange-connection-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}

.atlas-exchange-connection-head h4 {
  margin-bottom: 0.35rem;
}

.atlas-exchange-capability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.atlas-exchange-capability-card {
  display: flex;
  min-width: 0;
  min-height: 8.2rem;
  padding: 0.85rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.75rem;
  background: var(--atlas-surface-soft);
  flex-direction: column;
  gap: 0.35rem;
}

.atlas-exchange-capability-card > span,
.atlas-exchange-capability-card > small {
  color: var(--atlas-text-muted);
}

.atlas-exchange-capability-card > span {
  font-size: 0.78rem;
}

.atlas-exchange-capability-card > small {
  margin-top: auto;
  font-size: 0.75rem;
  line-height: 1.35;
}

.atlas-exchange-capability-state {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 1rem;
  line-height: 1.25;
}

.atlas-exchange-capability-state::before {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
  content: "";
  flex: 0 0 auto;
}

.atlas-exchange-capability-card.is-success {
  border-color: color-mix(in srgb, var(--atlas-success-text, #a9c593) 34%, var(--atlas-border-soft));
}

.atlas-exchange-capability-card.is-success .atlas-exchange-capability-state {
  color: var(--atlas-success-text, #a9c593);
}

.atlas-exchange-capability-card.is-warning {
  border-color: color-mix(in srgb, var(--atlas-warning-text, #e6c478) 40%, var(--atlas-border-soft));
}

.atlas-exchange-capability-card.is-warning .atlas-exchange-capability-state {
  color: var(--atlas-warning-text, #e6c478);
}

.atlas-exchange-capability-card.is-danger {
  border-color: color-mix(in srgb, var(--atlas-danger-text, #e59a8d) 42%, var(--atlas-border-soft));
}

.atlas-exchange-capability-card.is-danger .atlas-exchange-capability-state {
  color: var(--atlas-danger-text, #e59a8d);
}

.atlas-exchange-capability-card.is-secondary .atlas-exchange-capability-state {
  color: var(--atlas-text-muted);
}

.atlas-exchange-operational-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.9rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--atlas-surface-soft) 84%, transparent);
}

.atlas-exchange-operational-summary > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.25rem;
}

.atlas-exchange-operational-summary span,
.atlas-exchange-operational-summary small {
  color: var(--atlas-text-muted);
  line-height: 1.4;
}

.atlas-exchange-operational-summary small {
  color: inherit;
}

.atlas-exchange-operational-summary.is-success {
  border-color: color-mix(in srgb, var(--atlas-success-text, #a9c593) 34%, var(--atlas-border-soft));
}

.atlas-exchange-operational-summary.is-warning {
  border-color: color-mix(in srgb, var(--atlas-warning-text, #e6c478) 42%, var(--atlas-border-soft));
}

.atlas-exchange-operational-summary.is-danger {
  border-color: color-mix(in srgb, var(--atlas-danger-text, #e59a8d) 45%, var(--atlas-border-soft));
}

.atlas-settings-main-row > [class*="col-"] {
  display: flex;
}

.atlas-settings-main-field,
.atlas-settings-execution-panel {
  width: 100%;
}

.atlas-settings-main-field {
  display: flex;
  flex-direction: column;
}

.atlas-settings-execution-panel {
  display: flex;
  min-width: 0;
  height: 100%;
  padding: 0.75rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.75rem;
  background: var(--atlas-surface-soft);
  flex-direction: column;
  gap: 0.65rem;
}

.atlas-settings-execution-panel h5 {
  margin: 0 0 0.2rem;
  font-size: 0.92rem;
}

.atlas-settings-execution-description {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.3;
}

.atlas-settings-execution-panel .atlas-exchange-connection-details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0;
}

.atlas-settings-execution-panel .atlas-exchange-connection-details > div {
  padding: 0.55rem 0.6rem;
  border-radius: 0.55rem;
}

.atlas-settings-execution-alert {
  padding: 0.55rem 0.65rem;
  font-size: 0.78rem;
  line-height: 1.3;
}

.atlas-settings-execution-empty,
.atlas-settings-execution-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.atlas-settings-execution-empty {
  justify-content: space-between;
  margin-top: auto;
  font-size: 0.8rem;
}

.atlas-exchange-connection-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.atlas-exchange-connection-details > div {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.75rem;
  background: var(--atlas-surface-soft);
}

.atlas-exchange-connection-details span {
  color: var(--atlas-text-muted);
  font-size: 0.8rem;
}

.atlas-exchange-connection-details strong {
  overflow-wrap: anywhere;
  font-weight: 600;
}

.atlas-exchange-attestations {
  display: grid;
  gap: 0.8rem;
}

.atlas-exchange-details summary {
  cursor: pointer;
  color: var(--atlas-text-muted);
  font-weight: 600;
}

.atlas-restore-protection-button {
  align-self: flex-start;
  min-height: 28px;
  margin-top: 0.2rem;
  padding: 0.2rem 0.45rem;
  border-radius: 6px;
  font-size: 0.72rem;
  line-height: 1.1;
}

@media (max-width: 767.98px) {
  .atlas-journal-card-statuses {
    align-items: flex-start;
  }

  .atlas-exchange-connection-details {
    grid-template-columns: 1fr;
  }

  .atlas-exchange-capability-grid {
    grid-template-columns: 1fr;
  }

  .atlas-exchange-capability-card {
    min-height: 0;
  }

  .atlas-exchange-operational-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .atlas-settings-execution-panel {
    padding: 0.65rem;
  }

  .atlas-settings-execution-panel .atlas-exchange-connection-details {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .atlas-exchange-capability-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Guided Bybit Demo onboarding */
.atlas-bybit-onboarding-modal .modal-body {
  background: var(--atlas-surface, var(--atlas-bg-card));
}

.atlas-bybit-onboarding-intro {
  margin-bottom: 1rem;
  line-height: 1.45;
}

.atlas-bybit-onboarding-steps {
  display: grid;
  gap: 1rem;
}

.atlas-bybit-onboarding-step {
  overflow: hidden;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.9rem;
  background: var(--atlas-surface-soft, var(--atlas-bg-card));
}

.atlas-bybit-onboarding-step-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--atlas-border-soft);
}

.atlas-bybit-onboarding-step-head h4 {
  margin: 0;
  font-size: 1rem;
}

.atlas-bybit-onboarding-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  color: var(--atlas-accent-contrast, #11130d);
  background: var(--atlas-accent);
  font-weight: 700;
}

.atlas-bybit-onboarding-step-body {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.atlas-bybit-onboarding-step-body > p {
  margin: 0;
  color: var(--atlas-text-muted, var(--atlas-muted));
  line-height: 1.5;
}

.atlas-bybit-onboarding-alternative {
  display: grid;
  gap: 0.35rem;
  padding: 0.8rem;
  border-left: 3px solid var(--atlas-warning, #d5b36b);
  background: color-mix(in srgb, var(--atlas-warning, #d5b36b) 10%, transparent);
}

.atlas-bybit-onboarding-alternative span {
  color: var(--atlas-text-muted, var(--atlas-muted));
  line-height: 1.45;
}

.atlas-bybit-key-type {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.atlas-bybit-key-type span {
  color: var(--atlas-text-muted, var(--atlas-muted));
}

.atlas-bybit-key-type strong {
  padding: 0.3rem 0.65rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 999px;
  background: var(--atlas-surface, var(--atlas-bg-card));
}

.atlas-bybit-api-instructions {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding-left: 1.35rem;
  line-height: 1.45;
}

.atlas-bybit-ip-panel {
  display: grid;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 1px solid var(--atlas-border-soft);
  border-radius: 0.75rem;
  background: var(--atlas-surface, var(--atlas-bg-card));
}

.atlas-bybit-ip-panel > div:first-child {
  display: grid;
  gap: 0.2rem;
}

.atlas-bybit-ip-panel small {
  color: var(--atlas-text-muted, var(--atlas-muted));
}

.atlas-bybit-ip-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.atlas-bybit-ip-row code {
  overflow-wrap: anywhere;
  color: var(--atlas-text, var(--atlas-text-primary));
  font-size: 0.95rem;
}

.atlas-bybit-key-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.atlas-bybit-secret-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
}

@media (max-width: 767.98px) {
  .atlas-bybit-onboarding-step-head {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .atlas-bybit-onboarding-step-head .badge {
    grid-column: 2;
    justify-self: start;
  }

  .atlas-bybit-key-fields {
    grid-template-columns: 1fr;
  }

  .atlas-bybit-secret-control {
    grid-template-columns: 1fr;
  }

  .atlas-bybit-ip-row {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Bounded trade analysis and explicit long-running operation feedback. */
.atlas-inline-loading-notice,
.atlas-long-operation-state {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.atlas-long-operation-state > div {
  display: grid;
  gap: 0.25rem;
}

.atlas-long-operation-state span,
.atlas-analysis-curve > div > span {
  color: var(--atlas-text-muted, var(--atlas-muted));
  font-size: 0.86rem;
}

.atlas-analysis-quality {
  display: grid;
  gap: 0.75rem;
}

.atlas-analysis-curve,
.atlas-analysis-comparison {
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 1rem;
  background: rgba(15, 23, 42, 0.42);
  padding: 1rem;
}

.atlas-analysis-curve > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.atlas-analysis-curve svg {
  display: block;
  width: 100%;
  min-height: 180px;
  margin-top: 0.75rem;
}

.atlas-analysis-zero-line {
  stroke: rgba(148, 163, 184, 0.4);
  stroke-width: 1;
  stroke-dasharray: 6 6;
}

.atlas-analysis-equity-line {
  fill: none;
  stroke: #38bdf8;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.atlas-analysis-curve-range {
  display: flex;
  justify-content: space-between;
  color: var(--atlas-text-muted, var(--atlas-muted));
  font-size: 0.8rem;
}

.atlas-analysis-comparison-selectors,
.atlas-analysis-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.atlas-analysis-comparison-grid {
  margin-top: 1rem;
}

.atlas-analysis-comparison-grid > div {
  display: grid;
  gap: 0.25rem;
  border-radius: 0.8rem;
  background: rgba(30, 41, 59, 0.58);
  padding: 0.85rem;
}

.atlas-analysis-comparison-grid span {
  color: var(--atlas-text-muted, var(--atlas-muted));
  font-size: 0.8rem;
}

.atlas-analysis-comparison-grid strong {
  font-size: 1.05rem;
}

.atlas-decision-funnel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.atlas-decision-funnel-step {
  position: relative;
  display: grid;
  gap: 0.25rem;
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 0.9rem;
  background: rgba(30, 41, 59, 0.58);
  padding: 0.9rem;
}

.atlas-decision-funnel-step > span,
.atlas-decision-funnel-step > small {
  color: var(--atlas-text-muted, var(--atlas-muted));
}

.atlas-decision-funnel-step > strong {
  font-size: 1.5rem;
}

.atlas-decision-funnel-step > b {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -0.65rem;
  color: var(--atlas-accent);
  transform: translateY(-50%);
}

@media (max-width: 767.98px) {
  .atlas-analysis-comparison-selectors,
  .atlas-analysis-comparison-grid {
    grid-template-columns: 1fr;
  }

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

  .atlas-decision-funnel-step > b {
    display: none;
  }

  .atlas-analysis-curve > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }
}
