.review-page {
  min-width: 0;
  display: grid;
  gap: var(--layout-gap);
}

.review-heading,
.review-watch-card .card-header,
.trade-card .card-header {
  display: flex;
  align-items: center;
}

.review-heading > div,
.review-watch-card .card-header h2,
.trade-card .card-header h2 {
  flex: 1;
}

.review-heading-actions {
  display: flex;
  gap: var(--s-8);
  margin-left: auto;
}

.review-watch-table {
  width: 100%;
  max-height: var(--s-260);
}

.review-watch-card,
.review-main-grid,
.review-main-grid > *,
.trade-scroll {
  min-width: 0;
}

.review-watch-table th:first-child,
.review-watch-table td:first-child {
  width: var(--s-44);
  text-align: center;
}

.review-watch-table th:nth-child(8),
.review-watch-table td:nth-child(8) {
  min-width: var(--s-200);
}

.watch-star {
  color: var(--color-warning);
}

.review-remark {
  width: 100%;
  min-height: var(--s-30);
  padding: var(--s-4) var(--s-7);
  border: var(--s-1) solid var(--c-transparent);
  border-radius: var(--control-radius);
  color: var(--color-text);
  background: var(--color-surface-muted);
  font-size: var(--font-12);
}

.review-remark:focus {
  border-color: var(--color-primary-border);
  outline: none;
}

.review-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(var(--s-360), 0.8fr);
  gap: var(--layout-gap);
  align-items: stretch;
}

.trade-card,
.daily-review-card {
  min-height: var(--s-480);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
}

.review-card-action {
  margin-left: var(--s-8);
}

.review-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--s-1);
  border-bottom: var(--s-1) solid var(--color-divider);
  background: var(--color-divider);
}

.review-summary > div {
  display: grid;
  gap: var(--s-2);
  padding: var(--s-8) var(--s-10);
  background: var(--color-surface-muted);
}

.review-summary span {
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.review-summary strong {
  min-height: var(--s-18);
  font-size: var(--font-14);
  font-variant-numeric: tabular-nums;
}

.trade-scroll {
  min-height: 0;
  overflow: auto;
}

.trade-scroll .data-table {
  min-width: var(--s-dialog-wide);
}

.daily-review-card {
  grid-template-rows: auto minmax(0, 1fr);
}

.daily-review-form {
  display: grid;
  grid-template-rows: auto minmax(var(--s-96), 1fr) minmax(var(--s-80), 0.8fr) auto;
  gap: var(--s-10);
  padding: var(--s-14);
}

.daily-review-form .field,
.daily-review-form .textarea {
  min-height: 0;
}

.daily-short {
  height: var(--s-64);
}

.review-history-toggle {
  width: 100%;
  min-height: var(--s-44);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--s-10) var(--s-14);
  color: var(--color-text);
  background: var(--c-transparent);
  font-size: var(--font-13);
  font-weight: var(--weight-600);
}

.review-history-toggle span:last-child {
  color: var(--color-text-secondary);
  font-size: var(--font-11);
  font-weight: var(--weight-400);
}

.review-history-list {
  max-height: var(--s-320);
  overflow: auto;
  border-top: var(--s-1) solid var(--color-divider);
}

.review-history-list article,
.stock-note-history article {
  display: grid;
  grid-template-columns: var(--s-96) minmax(0, 1fr);
  gap: var(--s-6) var(--s-12);
  padding: var(--s-12) var(--s-14);
  border-bottom: var(--s-1) solid var(--color-divider);
}

.review-history-list time,
.stock-note-history time {
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.review-history-list p,
.review-history-list small,
.stock-note-history p,
.stock-note-history small {
  grid-column: 2;
  color: var(--color-text-secondary);
  line-height: var(--s-20);
  white-space: pre-wrap;
}

.watch-search-results {
  display: grid;
  gap: var(--s-4);
}

.watch-search-results button {
  min-height: var(--s-44);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s-7) var(--s-10);
  border-radius: var(--control-radius);
  color: var(--color-text);
  background: var(--color-surface-muted);
  text-align: left;
}

.watch-search-results button:hover {
  background: var(--color-primary-soft);
}

.watch-search-results button span:first-child {
  display: grid;
  gap: var(--s-2);
}

.watch-search-results small {
  color: var(--color-text-secondary);
}

.trade-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-10);
}

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

.alerts-panel,
.assistant-panel {
  display: grid;
  gap: var(--s-12);
}

.alerts-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.segmented {
  display: inline-flex;
  padding: var(--s-2);
  border-radius: var(--control-radius);
  background: var(--color-surface-muted);
}

.segmented button,
.assistant-prompts button {
  min-height: var(--s-30);
  padding: var(--s-4) var(--s-10);
  border-radius: var(--control-radius);
  color: var(--color-text-secondary);
  font-size: var(--font-12);
}

.segmented button.active,
.assistant-prompts button:hover {
  color: var(--color-primary);
  background: var(--color-surface-raised);
}

.alert-create {
  display: grid;
  gap: var(--s-10);
  padding: var(--s-12);
  border: var(--s-1) solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface-muted);
}

.alert-create-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(var(--s-160), 0.8fr) minmax(var(--s-120), 0.7fr);
  gap: var(--s-10);
}

.alert-list {
  max-height: var(--s-320);
  overflow: auto;
  border: var(--s-1) solid var(--color-border);
  border-radius: var(--card-radius);
}

.alert-list article {
  display: grid;
  gap: var(--s-6);
  padding: var(--s-12);
  border-bottom: var(--s-1) solid var(--color-divider);
}

.alert-list article.unread {
  background: var(--color-primary-soft);
}

.alert-list article > div:first-child {
  display: flex;
  align-items: center;
  gap: var(--s-8);
}

.alert-list p,
.alert-list small {
  color: var(--color-text-secondary);
}

.assistant-panel .notice {
  display: grid;
  gap: var(--s-2);
}

.assistant-content {
  display: grid;
  grid-template-rows: minmax(var(--s-240), 1fr) auto auto;
  gap: var(--s-10);
}

.assistant-messages {
  max-height: var(--s-400);
  overflow: auto;
  padding: var(--s-10);
  border: var(--s-1) solid var(--color-border);
  border-radius: var(--card-radius);
  background: var(--color-surface-muted);
}

.assistant-messages article {
  max-width: 86%;
  display: grid;
  gap: var(--s-4);
  margin-bottom: var(--s-10);
  padding: var(--s-9) var(--s-12);
  border-radius: var(--card-radius);
  background: var(--color-surface-raised);
}

.assistant-messages article.user {
  margin-left: auto;
  background: var(--color-primary-soft);
}

.assistant-messages article span,
.assistant-empty {
  color: var(--color-text-secondary);
  font-size: var(--font-11);
}

.assistant-messages article p {
  line-height: var(--s-22);
  white-space: pre-wrap;
}

.assistant-prompts,
.assistant-compose > div {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-6);
}

.assistant-compose {
  display: grid;
  gap: var(--s-8);
}

.stock-notes-card {
  margin-top: var(--layout-gap);
}

.stock-note-form {
  display: grid;
  gap: var(--s-10);
  padding: var(--s-14);
}

.stock-note-history {
  max-height: var(--s-320);
  overflow: auto;
  border-top: var(--s-1) solid var(--color-divider);
}

.topbar-alert {
  position: relative;
}

.alert-badge {
  position: absolute;
  top: calc(var(--s-6) * -1);
  right: calc(var(--s-8) * -1);
  min-width: var(--s-18);
  height: var(--s-18);
  display: grid;
  place-items: center;
  padding: 0 var(--s-4);
  border-radius: var(--radius-round);
  color: var(--c-gray-050);
  background: var(--color-up);
  font-size: var(--font-10-5);
  font-variant-numeric: tabular-nums;
}
