:root {
  color-scheme: light;
  --ink: #18212f;
  --muted: #677083;
  --line: #d9dee7;
  --surface: #ffffff;
  --soft: #f5f7fa;
  --accent: #0f766e;
  --accent-dark: #0b5f59;
  --gain: #b42318;
  --loss: #087443;
  --warn: #9a6700;
  --shadow: 0 16px 40px rgba(32, 45, 62, 0.08);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  width: 100%;
  overflow-x: hidden;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", sans-serif;
  background: #edf1f5;
}

button,
input {
  font: inherit;
}

select {
  font: inherit;
}

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 248px 1fr;
}

.sidebar {
  position: sticky;
  top: 0;
  z-index: 30;
  height: 100vh;
  background: #101820;
  color: #eef3f7;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.brand {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
}

.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: #0f766e;
  font-weight: 800;
}

.brand h1,
.topbar h2,
.section-heading h3,
.records-layout h3 {
  margin: 0;
  letter-spacing: 0;
}

.brand h1 {
  font-size: 18px;
}

.brand p,
.eyebrow,
.section-heading p,
.records-layout p {
  margin: 4px 0 0;
  color: var(--muted);
}

.brand p {
  color: #aeb9c6;
}

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

.nav-item {
  width: 100%;
  border: 0;
  border-radius: 6px;
  color: #d7e1ea;
  background: transparent;
  padding: 11px 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  cursor: pointer;
  text-align: left;
}

.nav-item span {
  width: 22px;
  color: #91d7cf;
}

.nav-item.active,
.nav-item:hover {
  background: rgba(255, 255, 255, 0.1);
}

.quick-settings {
  display: grid;
  grid-template-columns: repeat(7, minmax(74px, 1fr)) auto;
  gap: 8px;
  margin-bottom: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  box-shadow: var(--shadow);
}

.quick-settings label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.quick-settings span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.quick-settings input {
  width: 100%;
  min-width: 0;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 7px;
}

.mini-button {
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  cursor: pointer;
}

.main {
  min-width: 0;
  padding: 22px;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 25;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -22px -22px 20px;
  padding: 18px 22px 14px;
  background: rgba(237, 241, 245, 0.96);
  border-bottom: 1px solid rgba(217, 222, 231, 0.85);
  backdrop-filter: blur(14px);
}

.eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  color: var(--accent);
  font-weight: 700;
}

.topbar h2 {
  font-size: 28px;
}

.top-actions,
.toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
}

.scan-action {
  display: grid;
  gap: 3px;
  justify-items: end;
}

.scan-action small {
  color: var(--muted);
  font-size: 11px;
}

.icon-button,
.primary-button,
.secondary-button {
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 38px;
  cursor: pointer;
}

.icon-button {
  width: 40px;
  background: var(--surface);
  color: var(--accent);
  font-size: 20px;
}

.primary-button {
  background: var(--accent);
  color: #fff;
  padding: 0 16px;
  border-color: var(--accent);
}

.secondary-button {
  background: var(--surface);
  color: var(--ink);
  padding: 0 14px;
}

.primary-button:hover {
  background: var(--accent-dark);
}

.view {
  display: none;
}

.active-view {
  display: block;
}

.swing-panel { max-width: 1280px; }
.swing-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 14px; }
.swing-header h3 { margin: 2px 0 4px; font-size: 27px; }
.swing-header p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 13px; }
.swing-mode { color: var(--muted); font-size: 12px; white-space: nowrap; }
.swing-funding { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 1.3fr; gap: 10px; margin-bottom: 12px; }
.swing-funding > div { display: grid; align-content: center; gap: 5px; min-width: 0; padding: 13px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.swing-funding span, .swing-funding small { color: var(--muted); font-size: 12px; }
.swing-funding strong { font-size: 19px; }
.swing-funding-primary { border-color: var(--accent) !important; }
.swing-funding-primary strong { color: var(--accent-dark); }
.swing-holdings { display: flex; gap: 12px; padding: 9px 0 13px; border-bottom: 1px solid var(--line); font-size: 13px; }
.swing-holdings span { color: var(--muted); }
.swing-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 18px 0 9px; }
.swing-section-title h3, .swing-group h3 { margin: 0; font-size: 17px; }
.swing-section-title span, .swing-group .section-heading span { color: var(--muted); font-size: 12px; }
.swing-group { margin-bottom: 16px; }
.swing-group .section-heading { display: flex; flex-direction: row; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.swing-card-list { display: grid; gap: 9px; }
.swing-plan-card { padding: 15px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.swing-card-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.swing-card-head h4 { margin: 3px 0 0; font-size: 20px; }
.swing-card-head h4 small { color: var(--muted); font-size: 13px; font-weight: 400; }
.swing-state { color: var(--accent-dark); font-size: 12px; font-weight: 700; }
.swing-state-neutral { color: var(--muted); }
.swing-state-reason { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.swing-detail-button { min-height: 31px; white-space: nowrap; }
.swing-price-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 0; }
.swing-price-row > div { display: grid; gap: 3px; min-width: 0; }
.swing-price-row span, .swing-price-row small, .swing-fact-line, .swing-card-foot { color: var(--muted); font-size: 12px; }
.swing-price-row strong { font-size: 18px; overflow-wrap: anywhere; }
.swing-scan-state { display: grid; gap: 3px; padding: 9px 0 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.swing-scan-state strong { color: var(--ink); font-size: 13px; font-weight: 600; }
.swing-summary-detail { margin: -3px 0 12px; color: var(--muted); font-size: 12px; }
.swing-fact-line, .swing-card-foot { display: flex; flex-wrap: wrap; gap: 6px 16px; padding-top: 10px; border-top: 1px solid var(--line); }
.swing-card-foot { margin-top: 10px; }
.swing-technical { margin-top: 18px; padding: 13px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; font-size: 13px; }
.swing-technical summary { cursor: pointer; font-weight: 700; }
.swing-technical p { line-height: 1.5; }
.swing-technical pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.swing-detail { margin-top: 18px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; scroll-margin-top: 100px; }
.swing-detail[hidden] { display: none; }
.swing-detail-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.swing-detail-head h3 { margin: 2px 0 16px; font-size: 24px; }
.swing-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.swing-detail-grid section { padding: 12px 0; border-top: 1px solid var(--line); }
.swing-detail-grid h4 { margin: 0 0 8px; font-size: 15px; }
.swing-detail-grid p { margin: 5px 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }

.long-term-panel { max-width: 1280px; }
.core-header { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-bottom: 16px; }
.core-header h3 { margin: 2px 0 4px; font-size: 27px; }
.core-header p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 13px; }
.core-readonly { color: var(--muted); font-size: 12px; white-space: nowrap; }
.core-funding-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.core-funding-grid > div { display: grid; gap: 5px; padding: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.core-funding-grid span, .core-summary-row, .core-fact-label { color: var(--muted); font-size: 12px; }
.core-funding-grid strong { font-size: 20px; }
.core-over-limit { border-color: var(--warn) !important; }
.core-over-limit strong { color: var(--warn-dark, #854d0e); }
.core-capacity-banner { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; padding: 12px 14px; margin-bottom: 12px; border: 1px solid var(--line); border-left: 4px solid var(--warn); border-radius: 7px; background: var(--surface); }
.core-capacity-banner strong { font-size: 15px; }
.core-capacity-banner span { color: var(--muted); font-size: 12px; }
.core-summary-row { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 9px 0 13px; border-bottom: 1px solid var(--line); }
.core-section { margin-top: 18px; }
.core-section > .section-heading { margin-bottom: 9px; }
.core-section h3 { margin: 0; font-size: 17px; }
.core-holding-list { display: grid; gap: 10px; }
.core-holding-card { padding: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.core-holding-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.core-holding-head h4 { margin: 3px 0 0; font-size: 21px; }
.core-holding-head h4 small { color: var(--muted); font-size: 13px; font-weight: 400; }
.core-detail-button { white-space: nowrap; }
.core-holding-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 14px 0; margin-top: 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.core-holding-values > div { display: grid; gap: 3px; min-width: 0; }
.core-holding-values span, .core-holding-values small, .core-fact-line, .core-card-foot { color: var(--muted); font-size: 12px; }
.core-holding-values strong { font-size: 17px; overflow-wrap: anywhere; }
.core-fact-line, .core-card-foot { display: flex; flex-wrap: wrap; gap: 6px 16px; padding-top: 10px; }
.core-card-foot { margin-top: 9px; border-top: 1px solid var(--line); }
.core-evidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.core-evidence-grid > div { padding: 13px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.core-evidence-grid h4, .core-detail-grid h4 { margin: 0 0 8px; font-size: 15px; }
.core-evidence-grid p, .core-detail-grid p { margin: 5px 0; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.core-muted { color: var(--warn-dark, #854d0e) !important; }
.core-risk-section { padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); }
.core-risk-section ul { margin: 0; padding-left: 20px; color: var(--muted); font-size: 13px; }
.core-risk-section li + li { margin-top: 7px; }
.core-legacy-fallback { margin-top: 18px; padding: 13px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; font-size: 13px; }
.core-legacy-fallback summary { cursor: pointer; font-weight: 700; }
.core-legacy-fallback p { color: var(--muted); }
.core-detail { margin-top: 18px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; scroll-margin-top: 100px; }
.core-detail[hidden] { display: none; }
.core-detail-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.core-detail-head h3 { margin: 2px 0 16px; font-size: 24px; }
.core-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.core-detail-grid section { padding: 12px 0; border-top: 1px solid var(--line); }

.options-panel { max-width: 1280px; }
.options-header, .options-detail-head { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.options-header { margin-bottom: 16px; }
.options-header h3 { margin: 2px 0 4px; font-size: 27px; }
.options-header p:not(.eyebrow), .options-footnote { margin: 0; color: var(--muted); font-size: 13px; }
.options-readonly { color: var(--muted); font-size: 12px; white-space: nowrap; }
.options-funding { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.options-funding > div { display: grid; gap: 4px; min-width: 0; padding: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.options-funding span, .options-funding small { color: var(--muted); font-size: 12px; }
.options-funding strong { font-size: 22px; overflow-wrap: anywhere; }
.options-boundary { display: flex; justify-content: space-between; align-items: start; gap: 16px; margin-top: 12px; padding: 13px 15px; border: 1px solid #dfc7a4; border-left: 4px solid #a66b28; border-radius: 7px; background: #fffdf8; }
.options-boundary strong { font-size: 15px; }
.options-boundary p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.options-boundary > span { flex: none; color: #7d551c; font-size: 12px; }
.options-flow { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-top: 14px; color: var(--muted); font-size: 12px; }
.options-flow span { color: var(--ink); }
.options-flow b { font-weight: 400; color: var(--muted); }
.options-cash-line { display: flex; flex-wrap: wrap; gap: 10px 22px; padding: 15px 0 7px; border-bottom: 1px solid var(--line); font-size: 13px; }
.options-cash-line span { color: var(--muted); }
.options-cash-line strong { color: var(--ink); margin-left: 5px; }
.options-footnote { padding-top: 6px; }
.options-section { margin-top: 22px; }
.options-section > .section-heading { margin-bottom: 10px; }
.options-section h3 { margin: 0; font-size: 17px; }
.options-empty { margin: 0; padding: 18px 0; color: var(--muted); font-size: 14px; border-top: 1px solid var(--line); }
.options-subjects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.options-subject, .options-holding { display: flex; justify-content: space-between; align-items: center; gap: 15px; min-width: 0; padding: 15px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.options-subject small { color: var(--muted); font-size: 12px; }
.options-subject h4 { margin: 3px 0; font-size: 19px; }
.options-subject h4 span { color: var(--muted); font-size: 13px; font-weight: 400; }
.options-subject p, .options-holding span { margin: 0; color: var(--muted); font-size: 12px; }
.options-subject button { flex: none; }
.options-holding-list { display: grid; gap: 8px; }
.options-holding { justify-content: start; flex-wrap: wrap; }
.options-strategies { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.options-strategy { background: var(--surface); border: 1px solid var(--line); border-radius: 7px; padding: 12px 14px; }
.options-strategy summary { display: flex; justify-content: space-between; gap: 12px; cursor: pointer; font-weight: 650; font-size: 14px; }
.options-strategy summary small { color: var(--muted); font-size: 12px; font-weight: 400; }
.options-strategy p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.options-legs { padding-top: 10px; }
.options-leg { display: grid; gap: 3px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 12px; }
.options-leg span, .options-leg small { color: var(--muted); }
.options-evidence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; border-top: 1px solid var(--line); padding-top: 16px; }
.options-evidence p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.options-legacy { margin-top: 20px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 13px; }
.options-legacy summary { cursor: pointer; }
.options-legacy p { color: var(--muted); }
.options-detail { margin-top: 22px; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; scroll-margin-top: 90px; }
.options-detail[hidden] { display: none; }
.options-detail-head h3 { margin: 2px 0 10px; font-size: 22px; }
.options-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
.options-detail-grid section { padding: 13px 0; border-top: 1px solid var(--line); }
.options-detail-grid h4 { margin: 0 0 7px; font-size: 15px; }
.options-detail-grid p { margin: 5px 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.options-detail-legs { max-height: 190px; overflow: auto; }


.research-status-stack {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.pit-banner,
.research-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.pit-banner {
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 18px;
  border-left: 4px solid var(--warn);
}

.pit-banner h3,
.pit-banner p {
  margin: 0;
}

.pit-banner h3 {
  font-size: 22px;
}

.pit-banner p,
.pit-banner small,
.pit-metrics span,
.scan-summary span,
.boundary-list span,
.opportunity-values span,
.opportunity-card header span,
.opportunity-meta {
  color: var(--muted);
}

.pit-metrics,
.scan-summary-grid,
.opportunity-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(100px, 1fr));
  gap: 12px;
}

.pit-metrics div,
.scan-summary-grid div,
.opportunity-values div {
  display: grid;
  gap: 4px;
}

.pit-metrics strong,
.scan-summary-grid strong,
.opportunity-values strong {
  font-size: 15px;
}

.research-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 14px;
  margin-bottom: 14px;
}

.research-panel {
  padding: 16px;
}

.scan-summary-grid {
  grid-template-columns: repeat(3, minmax(110px, 1fr));
}

.parameter-snapshot {
  margin-top: 14px;
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}

.parameter-snapshot code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: var(--soft);
  padding: 8px;
  border-radius: 6px;
  color: var(--ink);
}

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

.boundary-list div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.boundary-list div:last-child {
  border-bottom: 0;
}

.opportunity-panel {
  margin-bottom: 18px;
}

.research-hero,
.account-hero {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 18px;
}

.research-hero h3,
.account-hero h3 {
  margin: 0;
  font-size: 30px;
  letter-spacing: 0;
}

.hero-subtitle,
.account-hero p:not(.eyebrow) {
  margin: 7px 0 0;
  color: var(--muted);
}

.account-hero {
  align-items: center;
  margin-bottom: 12px;
}

.account-hero p:not(.eyebrow) {
  display: inline;
  margin-left: 8px;
  font-size: 12px;
}

.research-account-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  margin: -4px 0 16px;
  color: var(--muted);
  font-size: 12px;
}

.research-account-summary span {
  white-space: nowrap;
}

.freshness-line {
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

.secondary-details {
  margin-top: 14px;
}

.secondary-details summary {
  cursor: pointer;
  color: var(--muted);
  font-size: 13px;
  padding: 8px 0;
}

.secondary-details[open] summary {
  margin-bottom: 12px;
}

.opportunity-card {
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 13px;
  background: var(--soft);
}

.opportunity-card header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.opportunity-card header div {
  display: grid;
  gap: 3px;
}

.opportunity-card header strong {
  font-size: 19px;
}

.research-state {
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 700;
}

.opportunity-values {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 10px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.opportunity-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 9px;
  font-size: 12px;
}

.parameter-rule {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.parameter-rule span,
.parameter-rule strong {
  color: var(--muted);
  font-size: 12px;
}

.parameter-rule strong {
  color: var(--ink);
  font-weight: 600;
}

.parameter-snapshot summary {
  cursor: pointer;
  color: var(--muted);
}

.opportunity-values small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.status-chip,
.source-tag,
.sample-warning {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.status-chip {
  color: #854d0e;
  background: #fef3c7;
}

.source-tag {
  color: #0f5d58;
  background: #d9f7ef;
}

.source-strategy_calculation {
  color: #1e40af;
  background: #dbeafe;
}

.sample-warning {
  color: #7c2d12;
  background: #ffedd5;
}

.empty-state {
  color: var(--muted);
}

.status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.metric,
.panel,
.band,
.records-layout {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.metric {
  padding: 16px;
}

.metric span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 8px;
}

.metric strong {
  font-size: 22px;
}

.band,
.panel,
.records-layout {
  padding: 18px;
}

.section-heading,
.wide-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.quote-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 12px;
}

.quote-card {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
}

.quote-card header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 13px;
}

.quote-card strong {
  display: block;
  margin-top: 10px;
  font-size: 24px;
}

.quote-card footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 13px;
}

.gain {
  color: var(--gain);
}

.loss {
  color: var(--loss);
}

.split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 16px;
  margin-top: 16px;
}

.mini-list {
  display: grid;
  gap: 10px;
}

.mini-row {
  display: grid;
  grid-template-columns: 86px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.mini-row:last-child {
  border-bottom: 0;
}

.mini-row small {
  color: var(--muted);
}

.log-box {
  min-height: 168px;
  margin: 0;
  overflow: auto;
  white-space: pre-wrap;
  background: #111827;
  color: #d9f7ea;
  border-radius: 6px;
  padding: 12px;
  font-size: 13px;
}

.toolbar {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 14px;
}

.toolbar label {
  font-weight: 700;
}

.toolbar input {
  flex: 1;
  min-width: 180px;
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 38px;
  padding: 0 12px;
}

.settings-shell {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 18px;
}

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

.field {
  display: grid;
  gap: 7px;
}

.field span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.field input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 38px;
  padding: 0 10px;
}

.settings-note {
  color: var(--muted);
  margin: 14px 0 0;
}

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

.settings-summary div {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px;
}

.settings-summary span,
.settings-summary strong {
  display: block;
}

.settings-summary span {
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 4px;
}

.table-wrap {
  overflow: auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

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

.bucket-card,
.position-row {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
}

.warn-card {
  border-color: #d97706;
  background: #fff7ed;
}

.bucket-card span,
.bucket-card small,
.position-row span,
.cash-editor span {
  display: block;
  color: var(--muted);
}

.bucket-ledger {
  display: grid;
  gap: 10px;
}

.bucket-ledger header,
.bucket-ledger footer,
.bucket-line {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 10px;
  align-items: center;
}

.bucket-ledger header {
  grid-template-columns: 1fr auto;
}

.bucket-ledger header strong {
  display: block;
  font-size: 18px;
}

.bucket-ledger header b {
  display: grid;
  gap: 2px;
  justify-items: end;
  font-size: 18px;
}

.bucket-ledger header b span {
  font-size: 12px;
  font-weight: 500;
}

.bucket-lines {
  display: grid;
  gap: 6px;
}

.bucket-line {
  padding: 4px 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}

.bucket-line em {
  color: var(--muted);
  font-style: normal;
  white-space: nowrap;
}

.bucket-line small {
  display: inline;
  margin-left: 6px;
  font-size: 11px;
}

.bucket-empty {
  color: var(--muted);
  padding: 8px 0;
  border-top: 1px solid var(--line);
}

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

.position-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.position-row > div:last-child {
  text-align: right;
}

.account-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.deployment-capacity {
  padding: 13px 16px;
  margin-bottom: 14px;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.capacity-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.capacity-heading span,
.capacity-item span {
  color: var(--muted);
  font-size: 12px;
}

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

.capacity-item {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.capacity-item strong {
  font-size: 16px;
}

.capacity-warning strong {
  color: #b45309;
}

.account-metric {
  min-width: 0;
  padding: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.account-metric span,
.account-metric small {
  display: block;
  color: var(--muted);
}

.account-metric strong {
  display: block;
  margin: 5px 0;
  font-size: 21px;
}

.account-metric small {
  font-size: 11px;
  line-height: 1.35;
}

.deployment-panel {
  padding: 16px;
  margin-bottom: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.deployment-rows {
  display: grid;
  gap: 3px;
}

.deployment-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(280px, 1.5fr) minmax(120px, 0.8fr);
  gap: 14px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}

.deployment-row:first-child {
  border-top: 0;
}

.deployment-name strong,
.deployment-name small {
  display: block;
}

.deployment-name small,
.deployment-values span {
  color: var(--muted);
  font-size: 12px;
}

.deployment-values {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.deployment-values .positive {
  color: var(--accent-dark);
}

.deployment-values .negative,
.over-limit .deployment-name strong {
  color: #b45309;
}

.capacity-bar {
  height: 6px;
  overflow: hidden;
  background: var(--soft);
  border-radius: 99px;
}

.capacity-bar i {
  display: block;
  height: 100%;
  background: var(--accent);
  border-radius: inherit;
}

.over-limit .capacity-bar i {
  background: #d97706;
}

.account-lower-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 14px;
}

.account-note {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.warning-list {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.warning-item,
.ok-item {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px 10px;
  font-size: 13px;
}

.warning-item {
  border-color: #f59e0b;
  background: #fffbeb;
  color: #854d0e;
}

.ok-item {
  background: var(--soft);
  color: var(--muted);
}

.cash-editor {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.inline-cash-editor {
  margin: 12px 0 0;
}

.cash-editor label {
  display: grid;
  gap: 6px;
}

.cash-editor input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 38px;
  padding: 0 10px;
}

.strategy-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 12px;
  margin-bottom: 12px;
}

.strategy-head h3,
.strategy-head p {
  margin: 0;
}

.strategy-head h3 {
  font-size: 22px;
}

.strategy-head p {
  margin-top: 4px;
  color: var(--muted);
}

.strategy-table {
  margin-top: 14px;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1060px;
}

th,
td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}

th {
  color: var(--muted);
  font-size: 13px;
  background: #f8fafc;
}

td {
  font-size: 14px;
}

.records-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 20px;
}

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

.record-stack {
  display: grid;
  gap: 12px;
}

.record-form,
.trade-row {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: var(--soft);
}

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

.record-grid label {
  display: grid;
  gap: 6px;
}

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

.record-grid span,
.record-list span,
.record-list small {
  display: block;
  color: var(--muted);
}

.record-grid input,
.record-grid select,
.gpt-prompt,
.gpt-context {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 10px;
  background: #fff;
}

.record-grid input,
.record-grid select {
  min-height: 36px;
}

.gpt-layout {
  grid-template-columns: 340px 1fr;
}

.gpt-prompt,
.gpt-context {
  display: block;
  padding: 10px;
  resize: vertical;
}

.gpt-prompt {
  min-height: 96px;
  margin-bottom: 10px;
}

.gpt-context {
  min-height: 420px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink);
}

.record-actions {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
  background: #fff;
}

.upload-button input {
  display: none;
}

.record-hint {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.draft-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.draft-title {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.draft-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px;
  font-size: 13px;
}

.trade-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}

.record-section-heading {
  margin-top: 18px;
}

.trade-row strong {
  display: block;
}

.trade-row em {
  font-style: normal;
}

.trade-row small {
  grid-column: 1 / -1;
}

.trade-row a {
  color: var(--accent);
  font-weight: 700;
  margin-right: 8px;
  text-decoration: none;
}

.trade-row a:hover {
  text-decoration: underline;
}

@media (max-width: 980px) {
  .options-funding, .options-subjects, .options-strategies, .options-evidence, .options-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .swing-funding { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .swing-funding-primary { grid-column: 1 / -1; }
  .swing-price-row { grid-template-columns: 1fr; gap: 10px; }
  .swing-detail-grid { grid-template-columns: 1fr; }
  .swing-section-title { flex-direction: column; gap: 4px; }
  .core-funding-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .core-holding-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .core-evidence-grid, .core-detail-grid { grid-template-columns: 1fr; }
  body {
    max-width: 100vw;
  }

  .app-shell {
    display: block;
    width: 100%;
    max-width: 100vw;
  }

  .sidebar {
    position: sticky;
    top: 0;
    z-index: 20;
    height: auto;
    padding: max(8px, env(safe-area-inset-top)) 10px 9px;
    gap: 9px;
    max-width: 100vw;
    overflow: hidden;
    background: linear-gradient(180deg, #101820 0%, #0d151d 100%);
    box-shadow: 0 12px 30px rgba(10, 16, 24, 0.22);
  }

  .brand {
    grid-template-columns: 34px 1fr;
    gap: 9px;
  }

  .brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 7px;
    font-size: 14px;
  }

  .brand h1 {
    font-size: 17px;
  }

  .brand p {
    margin-top: 2px;
    font-size: 12px;
  }

  .nav {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .nav::-webkit-scrollbar {
    display: none;
  }

  .nav-item {
    flex: 0 0 auto;
    width: auto;
    padding: 8px 10px;
    font-size: 14px;
    white-space: nowrap;
  }

  .nav-item span {
    width: auto;
  }

  .main {
    padding: 10px;
    max-width: 100vw;
    overflow: visible;
  }

  .topbar {
    position: sticky;
    top: 107px;
    z-index: 10;
    align-items: center;
    flex-direction: row;
    margin: -10px -10px 10px;
    padding: 10px;
    gap: 8px;
    background: rgba(237, 241, 245, 0.96);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(217, 222, 231, 0.8);
  }

  .topbar h2 {
    font-size: 21px;
  }

  .eyebrow {
    font-size: 11px;
  }

  .top-actions {
    gap: 8px;
  }

  .scan-action small {
    max-width: 92px;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .icon-button,
  .primary-button,
  .secondary-button {
    min-height: 34px;
  }

  .icon-button {
    width: 36px;
  }

  .primary-button,
  .secondary-button {
    padding: 0 10px;
  }

  .quick-settings {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
    margin-bottom: 8px;
  }

  .quick-settings label {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .quick-settings span {
    font-size: 10px;
  }

  .quick-settings input,
  .mini-button {
    height: 29px;
    font-size: 13px;
  }

  .debug-field {
    display: none !important;
  }

  .status-grid,
  .split,
  .records-layout,
  .gpt-layout,
  .record-list,
  .settings-grid,
  .settings-summary,
  .bucket-grid {
    grid-template-columns: 1fr;
  }

  .research-grid {
    grid-template-columns: 1fr;
  }

  .research-hero,
  .account-hero {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 12px;
  }

  .research-hero h3,
  .account-hero h3 {
    font-size: 28px;
  }

  .freshness-line {
    text-align: left;
  }

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

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

  .capacity-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .account-lower-grid {
    grid-template-columns: 1fr;
  }

  .deployment-row {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .pit-banner {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .pit-metrics,
  .scan-summary-grid,
  .opportunity-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .compact-status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
  }

  .metric {
    padding: 9px 11px;
    min-height: 66px;
  }

  .metric span {
    font-size: 12px;
    margin-bottom: 4px;
  }

  .metric strong {
    font-size: 17px;
  }

  .band,
  .panel,
  .records-layout,
  .settings-shell {
    padding: 10px;
  }

  .band,
  .panel,
  .records-layout,
  .settings-shell,
  .table-wrap,
  .toolbar {
    border-radius: 7px;
  }

  .section-heading {
    align-items: flex-start;
    margin-bottom: 10px;
  }

  .section-heading h3 {
    font-size: 18px;
  }

  .section-heading p {
    font-size: 12px;
  }

  .quote-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .quote-card {
    padding: 8px;
    min-height: 78px;
  }

  .quote-card header {
    font-size: 11px;
  }

  .quote-card strong {
    margin-top: 6px;
    font-size: 19px;
  }

  .quote-card footer {
    margin-top: 5px;
    font-size: 11px;
  }

  .split {
    gap: 10px;
    margin-top: 10px;
  }

  .mini-row {
    grid-template-columns: 74px 1fr 34px;
    gap: 8px;
    padding: 8px 0;
    font-size: 13px;
  }

  .mini-row small {
    font-size: 11px;
  }

  .log-box {
    min-height: 110px;
    max-height: 180px;
    font-size: 12px;
  }

  .toolbar,
  .section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .toolbar {
    padding: 10px;
    gap: 8px;
  }

  .toolbar input {
    min-width: 0;
  }

  th,
  td {
    padding: 9px 10px;
    font-size: 13px;
  }

  table {
    min-width: 980px;
  }

  .desktop-only {
    display: none;
  }

  .records-layout {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .record-form {
    padding: 10px;
  }

  .record-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

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

  .record-grid label {
    font-size: 12px;
  }

  .record-grid input,
  .record-grid select {
    min-height: 34px;
    font-size: 14px;
  }

  .record-actions {
    gap: 8px;
    flex-wrap: wrap;
  }

  .bucket-grid {
    gap: 7px;
  }

  .bucket-line {
    grid-template-columns: 1fr;
  }

  .position-row {
    padding: 10px;
    font-size: 13px;
  }

  .position-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .position-row > div:last-child {
    text-align: left;
  }

  .cash-editor {
    grid-template-columns: 1fr;
  }

  .strategy-head {
    align-items: stretch;
    flex-direction: column;
  }

  .strategy-head h3 {
    font-size: 20px;
  }

  .trade-row {
    grid-template-columns: 1fr;
    padding: 10px;
    font-size: 13px;
  }

  .trade-row > div:nth-child(2) {
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }
}

@media (max-width: 680px) {
  .options-header, .options-detail-head, .options-boundary { flex-direction: column; }
  .options-funding { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .options-subjects, .options-strategies, .options-evidence, .options-detail-grid { grid-template-columns: 1fr; }
  .options-subject { align-items: start; flex-direction: column; }
  .options-subject button { align-self: start; }
}
.journal-head { display:flex; justify-content:space-between; align-items:end; gap:16px; padding:8px 0 18px; }
.journal-head h2 { margin:2px 0 5px; font-size:26px; letter-spacing:0; }
.journal-head p { margin:0; color:#617071; }
.journal-readonly { color:#516365; font-size:12px; white-space:nowrap; }
.journal-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid #dce4e2; border-bottom:1px solid #dce4e2; margin-bottom:24px; }
.journal-summary>div { padding:15px 12px; border-right:1px solid #dce4e2; min-width:0; }
.journal-summary>div:last-child { border-right:0; }
.journal-summary small,.journal-summary strong { display:block; }
.journal-summary small { color:#617071; font-size:12px; }
.journal-summary strong { font-size:23px; line-height:1.4; color:#19353a; }
.journal-layout { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:26px; align-items:start; }
.journal-section-head { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid #dce4e2; margin:10px 0 8px; }
.journal-section-head h3 { font-size:17px; margin:8px 0 10px; }
.journal-section-head span { color:#637477; font-size:12px; }
.journal-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 22px; }
.journal-item { display:flex; flex-direction:column; align-items:stretch; gap:7px; text-align:left; width:100%; min-height:110px; padding:13px 15px; border:1px solid #dce4e2; border-radius:6px; background:#fff; color:#244045; cursor:pointer; font:inherit; }
.journal-item:hover,.journal-item:focus-visible { border-color:#547e7c; outline:none; }
.journal-item-top { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.journal-item-top strong { font-size:15px; }
.journal-item-top time { color:#66777a; font-size:12px; white-space:nowrap; }
.journal-item>span:not(.journal-item-top) { font-size:13px; }
.journal-item small { color:#657579; font-size:12px; }
.journal-empty { color:#66777a; font-size:13px; grid-column:1/-1; padding:10px 0; }
.journal-side { position:sticky; top:20px; border-left:1px solid #dce4e2; padding-left:18px; }
.journal-side h3 { font-size:15px; margin:8px 0 16px; }
.journal-side label { display:block; font-size:12px; color:#5b6d70; margin-bottom:11px; }
.journal-side input,.journal-side select { display:block; width:100%; box-sizing:border-box; margin-top:4px; min-height:34px; font:inherit; color:#263f43; }
.journal-side button { width:100%; }
.journal-detail { margin:22px 0; border-top:2px solid #315a5a; padding:17px 0; }
.journal-detail[hidden] { display:none; }
.journal-detail-head { display:flex; justify-content:space-between; align-items:start; }
.journal-detail-head h3 { margin:5px 0 15px; }
.journal-timeline { list-style:none; border-left:2px solid #dae4e2; margin:6px 0 20px 8px; padding:0 0 0 20px; }
.journal-timeline li { position:relative; display:grid; gap:4px; padding:0 0 20px; }
.journal-timeline li:before { content:""; position:absolute; left:-26px; top:4px; width:10px; height:10px; border-radius:50%; background:#6f9290; }
.journal-timeline li span,.journal-timeline li small { color:#687879; font-size:12px; }
.journal-timeline li strong { font-size:14px; font-weight:600; }
.journal-leg-section { border-top:1px solid #dce4e2; padding:10px 0; }
.journal-legacy { margin-top:26px; border-top:1px solid #dce4e2; padding-top:15px; }
.journal-legacy summary { cursor:pointer; font-weight:600; }
.journal-legacy>p { color:#66777a; font-size:12px; }
@media (max-width:900px) { .journal-summary { grid-template-columns:repeat(3,minmax(0,1fr)); } .journal-layout { grid-template-columns:1fr; } .journal-side { position:static; border-left:0; border-top:1px solid #dce4e2; padding:12px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; } .journal-side h3 { grid-column:1/-1; margin:0; } }
@media (max-width:600px) { .journal-head { align-items:start; flex-direction:column; } .journal-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .journal-list { grid-template-columns:1fr; } .journal-item-top { flex-wrap:wrap; } }
.journal-top-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.journal-top-grid .journal-list { grid-template-columns:1fr; }
.journal-all-trades { border-top:1px solid #dce4e2; padding-top:13px; margin-bottom:20px; }
.journal-all-trades summary { cursor:pointer; font-size:13px; color:#335c5c; }
.journal-all-trades .journal-list { margin-top:12px; }
@media (max-width:600px) { .journal-top-grid { grid-template-columns:1fr; } }
.decision-dialog { width:min(620px,calc(100vw - 28px)); max-height:calc(100vh - 36px); overflow:auto; box-sizing:border-box; border:1px solid #cbd9d7; border-radius:6px; padding:22px; color:#19353a; background:#fff; box-shadow:0 20px 60px #152c2d33; }
.decision-dialog::backdrop { background:#112b2c88; }
.decision-dialog-head { display:flex; align-items:start; justify-content:space-between; gap:16px; }
.decision-dialog-head h3 { margin:0 0 15px; font-size:20px; }
.decision-form { display:grid; gap:14px; }
.decision-form label,.decision-dialog label { display:grid; gap:5px; font-size:13px; font-weight:600; }
.decision-form label small { color:#647779; font-size:11px; font-weight:400; }
.decision-form input,.decision-form select,.decision-form textarea,.decision-dialog textarea { width:100%; box-sizing:border-box; padding:8px; border:1px solid #bdcdcb; border-radius:4px; font:inherit; }
.decision-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.decision-boundary { margin:0; color:#637476; font-size:12px; }
.decision-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
@media (max-width:600px) { .decision-fields { grid-template-columns:1fr; } }
