.account-portal__layout:has(.risk-journal.is-active) {
  width: min(100%, 2360px);
  grid-template-columns: 180px minmax(0, 2044px);
  gap: clamp(24px, 3vw, 58px);
}
.account-portal__journal-navigation { display: grid; gap: 2px; padding-left: 24px; }
.account-portal__journal-list { display: grid; gap: 2px; min-width: 0; }
.account-portal__journal-row { display: flex; min-width: 0; align-items: center; }
.account-drawer--portal :is(.account-portal__journal-select, .account-portal__journal-add, .account-portal__journal-remove, .account-portal__journal-create button) {
  appearance: none; border: 0 !important; border-radius: 0 !important; background: transparent !important;
  box-shadow: none !important; color: var(--portal-text) !important; transform: none !important;
  transition: opacity 140ms ease !important; cursor: pointer;
}
#accountDrawer .account-portal__journal-navigation button:is(:hover, :active):not(:disabled) {
  border: 0 !important; background: transparent !important; box-shadow: none !important;
}
.account-drawer--portal :is(.account-portal__journal-select, .account-portal__journal-add) {
  min-width: 0; height: 2.125rem; padding: 0 4px; overflow: hidden; font-size: .88rem;
  font-weight: 400; line-height: 1.4; text-align: left; text-overflow: ellipsis; white-space: nowrap; opacity: .75;
}
.account-portal__journal-select { flex: 1 1 auto; }
.account-drawer--portal :is(.account-portal__journal-select.is-active, .account-portal__journal-select:hover, .account-portal__journal-select:focus-visible, .account-portal__journal-add:hover, .account-portal__journal-add:focus-visible) { opacity: 1; }
.account-drawer--portal .account-portal__journal-select.is-active { color: var(--portal-ink) !important; font-weight: 600; }
.account-drawer--portal .account-portal__journal-remove { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; padding: 4px; opacity: .6; }
.account-drawer--portal .account-portal__journal-remove:hover { opacity: 1; }
.account-portal__journal-remove img { width: 16px; height: 16px; object-fit: contain; }
.account-portal__journal-add { justify-self: start; }
.account-portal__journal-create { display: flex; min-width: 0; gap: 4px; }
.account-portal__journal-create[hidden], .account-portal__journal-add[hidden] { display: none !important; }
.account-drawer--portal .account-portal__journal-create input { width: 100%; min-width: 0; font-size: .8rem; }
.account-drawer--portal .account-portal__journal-create button { width: 32px; flex: 0 0 32px; font-size: 1.2rem; }
.risk-journal__title-label { display: flex; width: min(100%, 320px); flex-direction: column; gap: 6px; margin: 0 0 26px; color: var(--portal-muted); font-size: .8rem; }
.account-drawer--portal .risk-journal__title-label input { width: 100%; min-width: 0; }
.account-drawer--portal .risk-journal.is-active {
  --portal-accent: var(--app-button-accent-fill);
  --portal-accent-hover: var(--app-button-accent-fill-hover);
  --risk-loss-fill: var(--portal-danger);
  gap: 0;
  padding: 0 2px 70px 0;
  color: var(--portal-text);
}
.risk-journal h3 { margin: 0; color: var(--portal-ink); font-size: 1.25rem; font-weight: 500; line-height: 1.4; }
.risk-journal__hero { display: grid; grid-template-columns: minmax(215px, 320px) minmax(215px, 320px) minmax(390px, 1fr); align-items: stretch; gap: clamp(18px, 2.2vw, 44px); }
.risk-journal__column { display: flex; flex-direction: column; align-items: stretch; min-width: 0; }
.risk-journal__column h3 { margin-bottom: 18px; }
.risk-journal__field { display: flex; min-width: 0; flex-direction: column; gap: 8px; color: var(--portal-muted); font-size: 1rem; font-weight: 400; line-height: 1.5; }
.risk-journal__mode[hidden] { display: none !important; }
.risk-journal__tooltip { position: fixed; z-index: 2147483647; box-sizing: border-box; width: min(315px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow: hidden; padding: 11px 13px; border: 1px solid var(--portal-line); border-radius: 8px; background: var(--portal-canvas); color: var(--portal-ink); box-shadow: 0 12px 35px rgba(0, 0, 0, .18); font-size: .84rem; line-height: 1.48; pointer-events: none; }
.risk-journal__tooltip[hidden] { display: none; }
.account-drawer--portal .risk-journal__field input { display: block; width: 100%; min-width: 0; font-variant-numeric: tabular-nums; }
.risk-journal__balance { margin-bottom: 15px; }
.risk-journal__money-row { display: grid; grid-template-columns: minmax(0, 1fr) 100px; grid-template-rows: auto var(--app-input-height); column-gap: 10px; row-gap: 8px; align-items: stretch; margin-bottom: 16px; }
.risk-journal__money-row > label, .risk-journal__dialog-input-row > label { grid-column: 1 / -1; grid-row: 1; }
.risk-journal__money-row > input, .risk-journal__dialog-input-row > input { grid-column: 1; grid-row: 2; align-self: stretch; min-width: 0; font-variant-numeric: tabular-nums; }
.risk-journal__risk-input { position: relative; grid-column: 1; grid-row: 2; min-width: 0; }
.account-drawer--portal .risk-journal .risk-journal__risk-input input { display: block; width: 100%; padding-right: min(50%, 164px) !important; font-variant-numeric: tabular-nums; }
.risk-journal__risk-equivalent { position: absolute; top: 50%; right: 14px; max-width: calc(50% - 14px); overflow: hidden; color: var(--app-input-text); font-family: var(--app-button-font-family); font-size: var(--app-button-font-size); font-weight: var(--app-button-font-weight); line-height: 1; letter-spacing: 0; opacity: .5; text-align: right; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; transform: translateY(-50%); }
.risk-journal__risk-equivalent[hidden] { display: none; }
.risk-journal__money-row > .risk-journal__unit, .risk-journal__dialog-input-row > .risk-journal__pl-unit { grid-column: 2; grid-row: 2; align-self: stretch; }
.risk-journal__unit { width: 100%; }
.risk-journal__withdrawal-hint { margin: -8px 0 14px; color: var(--portal-muted); font-size: .71rem; line-height: 1.4; }
.risk-journal__account .risk-journal__horizons { margin: 8px 0 16px !important; }
.risk-journal__strategy .risk-journal__mode { margin: 18px 0 20px !important; }
.risk-journal__unit button, .risk-journal__horizons button, .risk-journal__mode button { cursor: pointer; }
.risk-journal__strategy-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-bottom: 16px; }
.risk-journal__reward { max-width: calc(50% - 7px); margin-bottom: 12px; }
.risk-journal__switch { display: flex; align-items: center; gap: 12px; min-height: 44px; color: var(--portal-text); font-size: 1rem; font-weight: 400; line-height: 1.5; cursor: pointer; }
.risk-journal__switch > span { min-width: 0; }
.risk-journal__run-actions { display: flex; flex-direction: column; gap: 8px; margin-top: auto; margin-bottom: clamp(60px, 6vw, 105px); }
.account-drawer--portal .risk-journal__strategy .risk-journal__run { width: 100%; margin: 0; cursor: pointer; touch-action: manipulation; }
.account-drawer--portal :is(.risk-journal__run, .risk-journal__dialog-save).is-calculating { cursor: progress; opacity: .88; }
.risk-journal__chart-surface { --journal-axis-width: 56px; position: relative; isolation: isolate; display: flex; min-width: 0; flex-direction: column; padding: 8px 12px 10px; border: .5px solid transparent; border-radius: var(--app-button-radius); background: linear-gradient(var(--app-button-fill), var(--app-button-fill)) padding-box, linear-gradient(180deg, var(--app-button-outer-top), var(--app-button-outer-bottom)) border-box; }
.risk-journal__chart-surface::before { content: ""; position: absolute; inset: var(--app-button-inner-inset); z-index: 0; border-radius: calc(var(--app-button-radius) - var(--app-button-inner-inset)); padding: .5px; background: linear-gradient(180deg, var(--app-button-inner-top), var(--app-button-inner-bottom)); opacity: var(--app-button-inner-opacity); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; pointer-events: none; }
.risk-journal__section-head { display: flex; justify-content: space-between; gap: 15px; align-items: start; }
.risk-journal__section-head h3 { font-size: .9rem; }
.risk-journal__section-head p, .risk-journal__section-head > span { margin: 2px 0 0; color: var(--portal-muted); font-size: .7rem; line-height: 1.35; }
.risk-journal__section-head > span { text-align: right; white-space: nowrap; }
.risk-journal__chart { position: relative; z-index: 1; box-sizing: border-box; flex: 1 1 auto; width: 100%; min-height: 170px; height: auto; padding-left: var(--journal-axis-width); background: transparent; }
.risk-journal__chart svg { display: block; width: 100%; height: 100%; }
.risk-journal__axis { position: absolute; inset: 0 auto 0 0; width: var(--journal-axis-width); color: var(--portal-muted); font-size: .68rem; font-variant-numeric: tabular-nums; line-height: 1; pointer-events: none; }
.risk-journal__axis > span { position: absolute; right: 2px; max-width: 100%; white-space: nowrap; transform: translateY(-50%); }
.risk-journal__axis-unit { top: 3%; }
.risk-journal__chart .risk-journal__grid-line { stroke: var(--portal-line); stroke-width: .5; stroke-dasharray: none; }
.risk-journal__chart :is(line, path) { vector-effect: non-scaling-stroke; }
.risk-journal__chart line { stroke-width: 1.5; stroke-dasharray: 4 5; }
.risk-journal__level-start { stroke: var(--portal-ink); }
.risk-journal__level-target { stroke: var(--app-button-accent-fill); }
.risk-journal__level-drawdown { fill: none; stroke: var(--risk-loss-fill); stroke-width: 1.5; stroke-dasharray: 4 5; }
.risk-journal__target-point { fill: var(--app-button-accent-fill); stroke: var(--app-button-fill); stroke-width: 1.5; }
.risk-journal__stop-point { fill: none; stroke: var(--risk-loss-fill); stroke-width: 2.5; stroke-linecap: round; }
.risk-journal__band { fill: color-mix(in srgb, var(--app-button-accent-fill) 15%, transparent); stroke: none; }
.risk-journal__forecast { fill: none; stroke: var(--app-button-accent-fill); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.risk-journal__scenario { fill: none; stroke: var(--app-button-accent-fill); stroke-opacity: .65; stroke-width: 1.5; stroke-dasharray: 6 5; stroke-linecap: round; stroke-linejoin: round; }
.risk-journal__chart:focus-visible { outline: 1px solid var(--portal-accent); outline-offset: 2px; }
.risk-journal__actual { fill: none; stroke: var(--portal-ink); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.risk-journal__actual-point { fill: var(--portal-ink); stroke: var(--app-button-fill); stroke-width: 1.5; }
.risk-journal__survival-chart { position: relative; z-index: 1; box-sizing: border-box; flex: 0 0 32px; width: 100%; padding-left: var(--journal-axis-width); margin-bottom: 8px; }
.risk-journal__survival-chart svg { display: block; width: 100%; height: 32px; }
.risk-journal__survival-chart:focus-visible { outline: 1px solid var(--portal-accent); outline-offset: 2px; }
.risk-journal__survival-alive { fill: color-mix(in srgb, var(--app-button-accent-fill) 55%, var(--app-button-fill)); }
.risk-journal__survival-closed { fill: color-mix(in srgb, var(--risk-loss-fill) 45%, var(--app-button-fill)); }
.risk-journal__survival-median { fill: var(--risk-loss-fill); stroke: var(--app-button-fill); stroke-width: 1; }
.risk-journal__legend { position: relative; z-index: 1; display: flex; min-height: 24px; flex-wrap: wrap; align-items: center; gap: 4px 16px; padding: 0 12px; color: var(--portal-muted); font-size: .7rem; line-height: 1.35; }
.risk-journal__legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.risk-journal__legend span[hidden] { display: none; }
.risk-journal__legend-mark { display: inline-block; width: 16px; height: 3px; border-radius: 2px; background: var(--portal-ink); }
.risk-journal__legend-mark.is-median, .risk-journal__legend-mark.is-target { background: var(--app-button-accent-fill); }
.risk-journal__legend-mark.is-scenario { height: 0; border-top: 1.5px dashed var(--app-button-accent-fill); background: none; opacity: .65; }
.risk-journal__legend-mark.is-band { height: 8px; background: color-mix(in srgb, var(--app-button-accent-fill) 25%, var(--app-button-fill)); }
.risk-journal__legend-mark.is-survival { height: 8px; background: linear-gradient(90deg, var(--app-button-accent-fill) 50%, var(--risk-loss-fill) 50%); }
.risk-journal__legend-mark.is-stop { position: relative; height: 12px; background: none; }
.risk-journal__legend-mark.is-stop::before, .risk-journal__legend-mark.is-stop::after { content: ""; position: absolute; top: 5px; left: 3px; width: 10px; height: 2px; background: var(--risk-loss-fill); transform: rotate(45deg); }
.risk-journal__legend-mark.is-stop::after { transform: rotate(-45deg); }
.risk-journal__legend-mark.is-drawdown { background: var(--risk-loss-fill); }
.risk-journal__legend-mark.is-start, .risk-journal__legend-mark.is-target, .risk-journal__legend-mark.is-drawdown { height: 0; border-top: 1.5px dashed currentColor; background: none; }
.risk-journal__legend-mark.is-start { color: var(--portal-ink); }
.risk-journal__legend-mark.is-target { color: var(--app-button-accent-fill); }
.risk-journal__legend-mark.is-drawdown { color: var(--risk-loss-fill); }
.risk-journal__result-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
@media (min-width: 1551px) {
  .risk-journal__result-strip:has([data-journal-card="days"]:not([hidden])):has([data-journal-card="riskShare"]:not([hidden])) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.risk-journal__result { display: flex; min-width: 0; min-height: 74px; flex-direction: column; justify-content: space-between; gap: 6px; padding: 9px 10px; border: 1px solid var(--risk-metric-color, var(--portal-line)); border-radius: var(--app-button-radius); background: var(--portal-canvas); font-variant-numeric: tabular-nums; }
.risk-journal__result[hidden] { display: none; }
.risk-journal__result:focus-visible { outline: 2px solid var(--portal-accent); outline-offset: 2px; }
.risk-journal__result span { color: var(--portal-muted); font-size: .76rem; line-height: 1.2; }
.risk-journal__result strong { align-self: flex-end; overflow-wrap: anywhere; color: var(--portal-ink); font-size: 1.5rem; font-weight: 650; line-height: 1.15; text-align: right; }
.risk-journal__result small { align-self: flex-end; color: var(--portal-muted); font-size: .68rem; text-align: right; }
.risk-journal__result small[hidden] { display: none; }
.risk-journal__trades { min-width: 0; border: 1px solid var(--portal-line); border-radius: 8px; background: var(--portal-canvas); }
.risk-journal__trades { margin-top: 24px; padding: 18px; }
.risk-journal__trade-form { display: grid; grid-template-columns: minmax(140px, 1.1fr) minmax(110px, .8fr) minmax(145px, 1fr) auto; align-items: end; gap: 11px; margin-top: 18px; }
.risk-journal__trade-form label { display: flex; min-width: 0; flex-direction: column; gap: 8px; color: var(--portal-muted); font-size: 1rem; font-weight: 400; line-height: 1.5; }
.account-drawer--portal .risk-journal__trade-form input { font-variant-numeric: tabular-nums; }
.account-drawer--portal .risk-journal__trade-form > button { width: 100%; margin: 0; }
.risk-journal__message { min-height: 2.8em; margin: 0; color: var(--portal-accent); font-size: .77rem; line-height: 1.4; overflow-wrap: anywhere; }
.risk-journal__message.is-error { color: var(--portal-danger); }
.account-drawer--portal .risk-journal [data-journal-setting][aria-invalid="true"] { outline: 1px solid var(--portal-danger); outline-offset: 2px; }
.risk-journal__trade-list { display: grid; }
.risk-journal__trade-row { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(70px, .7fr) minmax(100px, 1fr) minmax(100px, 1fr) auto; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--portal-line); font-size: .83rem; font-variant-numeric: tabular-nums; }
.risk-journal__trade-row strong.is-win { color: var(--portal-success); }
.risk-journal__trade-row strong.is-loss { color: var(--portal-danger); }
.risk-journal__trade-row button { padding: 4px 0; border: 0; background: transparent; color: var(--portal-muted); cursor: pointer; }
.risk-journal__trade-row button:hover { color: var(--portal-danger); }
.risk-journal__empty { padding-top: 10px; border-top: 1px solid var(--portal-line); color: var(--portal-muted); font-size: .78rem; }
@media (max-width: 1550px) {
  .risk-journal__hero { grid-template-columns: minmax(200px, 1fr) minmax(200px, 1fr); }
  .risk-journal__chart-surface { grid-column: 1 / -1; }
  .risk-journal__result-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .risk-journal__run-actions { margin-bottom: 0; }
}
@media (max-width: 1050px) {
  .account-portal__layout:has(.risk-journal.is-active) { grid-template-columns: 180px minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .account-portal__layout:has(.risk-journal.is-active) { grid-template-columns: 160px minmax(0, 1fr); gap: 16px; }
  .risk-journal__hero { gap: 18px; }
  .risk-journal__result-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .account-drawer--portal :is(.account-portal__journal-select, .account-portal__journal-add) { min-height: 44px; }
  .account-drawer--portal .account-portal__journal-remove { width: 44px; height: 44px; flex-basis: 44px; }
  .account-drawer--portal .account-portal__journal-create button { width: 44px; flex-basis: 44px; }
  .account-portal__layout:has(.risk-journal.is-active) { display: block; width: 100%; }
  .account-drawer--portal .risk-journal.is-active { padding-bottom: 42px; }
  .risk-journal__hero { grid-template-columns: 1fr; }
  .risk-journal__chart-surface { --journal-axis-width: 48px; grid-column: auto; }
  .risk-journal__chart { min-height: 150px; height: 170px; }
  .risk-journal__result-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .risk-journal__run-actions { margin-top: 24px; }
  .risk-journal__trade-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .risk-journal__trade-form > button { grid-column: 1 / -1; }
  .risk-journal__trade-row { grid-template-columns: 1fr 1fr auto; gap: 5px 10px; }
  .risk-journal__trade-row > span:nth-of-type(2), .risk-journal__trade-row > span:nth-of-type(3) { grid-row: 2; }
  .risk-journal__trade-row > button { grid-column: 3; grid-row: 1 / 3; }
}

/* The simulation creates a daily plan; each row has one indicator for saved trades. */
.risk-journal__theoretical { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--portal-line); }
.risk-journal__journal-content { min-width: 0; }
.risk-journal__journal-content[aria-busy="true"] .risk-journal__table-wrap { opacity: .65; pointer-events: none; }
.risk-journal__theoretical > .risk-journal__section-head h3 { font-size: 1.25rem; }
.risk-journal__theoretical > .risk-journal__section-head p { margin-top: 5px; font-size: .75rem; }
.risk-journal__theoretical > .risk-journal__section-head > span { font-size: .75rem; }
.risk-journal__message:empty { visibility: hidden; }
.risk-journal__table-toolbar { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 12px 16px; color: var(--portal-muted); font-size: 1rem; }
.risk-journal__table-mode-scroll { flex: 1 1 650px; min-width: 0; max-width: 850px; overflow-x: auto; padding: 2px; }
.risk-journal__table-mode { min-width: 650px; }
.risk-journal__table-mode > button { padding: 0 6px !important; }
.risk-journal__scenario-note { margin: 8px 0 10px; color: var(--portal-muted); font-size: .72rem; line-height: 1.4; }
.risk-journal__table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; border: 1px solid var(--portal-line); border-radius: 8px; background: var(--portal-canvas); }
.risk-journal__table-head, .risk-journal__table-row { display: grid; grid-template-columns: minmax(145px, 1.2fr) 52px minmax(122px, 1fr) repeat(4, minmax(105px, 1fr)); min-width: 900px; align-items: center; column-gap: 14px; padding: 0 16px; }
.risk-journal__table-head { min-height: 41px; color: var(--portal-muted); font-size: .75rem; border-bottom: 1px solid var(--portal-line); }
.risk-journal__table-head > span:not(:first-child), .risk-journal__table-value { text-align: right; }
.risk-journal__table-row { min-height: 64px; border-bottom: 1px solid var(--portal-line); font-size: .89rem; font-variant-numeric: tabular-nums; }
.risk-journal__table-row:last-child { border-bottom: 0; }
.risk-journal__table-row.is-target-hit { color: var(--portal-accent); font-weight: 700; box-shadow: inset 3px 0 var(--portal-accent); }
.risk-journal__table-row.is-target-hit :is(.risk-journal__day-cell > span, .risk-journal__day-cell > small, .risk-journal__table-value small) { color: var(--portal-accent); font-weight: 700; }
.risk-journal__table-row.is-account-closed { color: var(--risk-loss-fill); box-shadow: inset 3px 0 var(--risk-loss-fill); }
.risk-journal__table-row.is-after-close { opacity: .55; }
.risk-journal__day-cell { display: flex; min-width: 0; flex-direction: column; justify-content: center; align-items: flex-start; gap: 2px; padding: 8px 0; }
.risk-journal__day-cell > span { font-weight: 500; }
.risk-journal__day-cell > small { color: var(--portal-muted); font-size: .72rem; }
.risk-journal__indicator-cell { display: flex; align-items: center; justify-content: center; }
.risk-journal__day-indicator, .risk-journal__delete { --app-button-padding-x: 0px; width: var(--app-button-height); min-width: var(--app-button-height); flex: 0 0 var(--app-button-height); }
/* Keep the journal's 30px trade matrix inside its purpose-built indicator. */
.risk-journal__day-indicator { --app-button-height: 38px; }
.risk-journal__delete img { width: calc(var(--app-toggle-height) * 2 / 3); height: calc(var(--app-toggle-height) * 2 / 3); }
.risk-journal__trade-dots { display: grid; place-content: center; grid-template-columns: repeat(var(--trade-columns, 1), var(--trade-dot-size, 12px)); grid-template-rows: repeat(var(--trade-rows, 1), var(--trade-dot-size, 12px)); gap: var(--trade-gap, 2px); }
.risk-journal__day-indicator:disabled { opacity: .45; cursor: default; }
.risk-journal__day-indicator.is-over-plan { --app-button-outer-top: var(--ui-warning, #b26a35); }
.risk-journal__day-indicator i { display: block; width: var(--trade-dot-size); height: var(--trade-dot-size); border-radius: 50%; }
.risk-journal__day-trade i { display: block; width: 7px; height: 7px; border-radius: 50%; }
.risk-journal__day-indicator i.is-win, .risk-journal__day-trade i.is-win { background: var(--app-button-accent-fill); }
.risk-journal__day-indicator i.is-loss, .risk-journal__day-trade i.is-loss { background: var(--risk-loss-fill); }
.risk-journal__day-indicator i.is-flat { background: var(--portal-muted); }
.risk-journal__table-value { overflow-wrap: anywhere; }
.risk-journal__table-value small { display: block; color: var(--portal-muted); font-size: .69rem; }
.risk-journal__dialog { --journal-dialog-height: min(740px, calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)))); position: fixed; inset: 0; width: min(calc(100vw - max(16px, env(safe-area-inset-left)) - max(16px, env(safe-area-inset-right))), 450px); max-width: none; max-height: var(--journal-dialog-height); margin: auto; padding: 0; border: 0; background: transparent; color: var(--portal-text); }
.risk-journal__dialog::backdrop { background: rgba(15, 20, 20, .55); }
.risk-journal__dialog-panel { max-height: var(--journal-dialog-height); overflow-y: auto; overscroll-behavior: contain; padding: 24px; border: 1px solid var(--portal-line); border-radius: var(--app-button-radius); background: var(--portal-canvas); box-shadow: 0 20px 60px rgba(0,0,0,.22); }
.risk-journal__dialog-head { display: flex; justify-content: space-between; gap: 14px; align-items: start; margin-bottom: 20px; }
.risk-journal__dialog-head > div > span { color: var(--portal-muted); font-size: .72rem; letter-spacing: 0; }
.risk-journal__dialog-head h3 { margin-top: 3px; }
.risk-journal__dialog-close { --app-button-radius: 50%; --app-button-padding-x: 0px; flex: 0 0 var(--app-button-height); width: var(--app-button-height); min-width: var(--app-button-height); }
.risk-journal__dialog-panel form { display: grid; gap: 20px; }
.risk-journal__result-side, .risk-journal__pl-unit { width: 100%; }
.risk-journal__result-side > button[data-journal-side="loss"].is-active { background: var(--risk-loss-fill) !important; color: #fff !important; }
.risk-journal__dialog-input-row { display: grid; grid-template-columns: minmax(0, 1fr) 108px; grid-template-rows: auto var(--app-input-height); column-gap: 12px; row-gap: 8px; align-items: stretch; }
.risk-journal__dialog-risk { color: var(--portal-muted); font-size: .75rem; line-height: 1.5; }
.account-drawer--portal .risk-journal__dialog-save { width: 100%; }
.risk-journal__dialog-error { min-height: 1em; margin: 8px 0 0; color: var(--portal-danger); font-size: .75rem; }
.risk-journal__dialog-error:empty { display: none; }
.risk-journal__dialog-history { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--portal-line); }
.risk-journal__dialog-history h4 { margin: 0 0 10px; color: var(--portal-text); font-size: 1rem; font-weight: 500; }
.risk-journal__day-trade { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; min-height: 38px; border-top: 1px solid var(--portal-line); font-size: .8rem; }
.risk-journal__day-trade:first-child { border-top: 0; }
.risk-journal__day-trade strong { font-weight: 500; }
.account-drawer--portal .risk-journal__delete-day { width: 100%; margin-top: 16px; }
.risk-journal__delete-day[hidden] { display: none !important; }
@media (max-width: 700px) {
  .risk-journal__table-toolbar { align-items: stretch; flex-direction: column; gap: 8px; }
  .risk-journal__table-mode-scroll { flex-basis: auto; width: 100%; max-width: 100%; }
  .risk-journal__dialog-panel { padding: 18px; }
}
