/* Stock review and compact favorites; use the existing page shell. */
.review-layout { display:grid; grid-template-columns:minmax(0, 1fr) 360px; gap:22px; align-items:start; }
.review-market { min-width:0; }
.review-summary { margin-bottom:18px; line-height:1.9; }
.chart-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.chart-toolbar h2 { font-size:17px; font-weight:600; }
.chart-day-switch { display:flex; gap:4px; padding:4px; background:var(--btmp-surface-muted); border-radius:10px; }
.chart-day-switch button { border:1px solid transparent; padding:8px 12px; border-radius:7px; font:inherit; font-size:13px; background:transparent; color:var(--btmp-text-muted); cursor:pointer; }
.chart-day-switch button span { display:block; margin-top:3px; font-size:12px; font-variant-numeric:tabular-nums; }
.chart-day-switch button[aria-pressed="true"] { background:var(--btmp-surface); border-color:var(--btmp-line); color:var(--btmp-text); box-shadow:0 1px 3px #00000008; }
.chart-day-switch button:disabled { opacity:.55; cursor:default; }
.chart-day-switch button:focus-visible,.chart-retry:focus-visible { outline:2px solid var(--btmp-primary); outline-offset:2px; }
#chart-day-caption { min-height:1.5em; }
.review-extra { margin-top:18px; line-height:1.8; }
.review-extra details { padding:8px 0; }
.review-extra summary { cursor:pointer; color:var(--btmp-primary); }
.review-editor { line-height:1.6; background:var(--btmp-note); }
#review-favorite[aria-pressed="true"] { color:var(--btmp-favorite); border-color:var(--btmp-favorite); }
.review-heading,.review-actions,.review-tabs { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.review-heading { justify-content:space-between; }
.review-heading h2 { font-size:19px; }
.review-muted { color:var(--btmp-text-muted); font-size:13px; margin:12px 0; }
.review-editor label { display:block; margin:14px 0; color:var(--btmp-text-subtle); font-size:14px; }
.review-editor input,.review-editor textarea,.review-filter input { width:100%; box-sizing:border-box; border:1px solid var(--btmp-line); border-radius:7px; padding:9px; font:inherit; background:var(--btmp-surface); }
.review-editor input:focus-visible,.review-editor textarea:focus-visible,.review-filter input:focus-visible { outline:2px solid var(--btmp-primary); outline-offset:2px; }
.review-editor textarea { resize:vertical; min-height:170px; }
.review-editor fieldset { border:0; margin:0; padding:0; min-width:0; }
.review-field-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.review-editor button,.review-list button,.review-filter button,#review-more { border:1px solid var(--btmp-line); border-radius:6px; padding:8px 12px; background:var(--btmp-surface); color:var(--btmp-text-subtle); cursor:pointer; font:inherit; }
.review-editor button:disabled { opacity:.55; cursor:default; }
.review-editor .review-primary,.review-tabs button[aria-pressed="true"] { background:var(--btmp-primary); color:var(--btmp-surface); border-color:var(--btmp-primary); }
#review-status { font-size:13px; min-height:1.6em; margin:12px 0; }
.review-editor a,.review-extra a,.review-case-link { color:var(--btmp-primary); text-decoration:none; }
.review-filter { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin:16px 0; }
.review-filter label { font-size:13px; color:var(--btmp-text-muted); }
.review-list { margin:0; padding:0; list-style:none; }
.review-list li { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--btmp-line-soft); }
.review-case-link { display:block; flex:1; min-width:0; }
.review-case-title { display:flex; gap:16px; flex-wrap:wrap; font-weight:500; }
.review-case-summary { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:5px; color:var(--btmp-text-muted); font-size:13px; }
.me-page .review-case-summary { background:var(--btmp-note);padding:12px;border:1px solid var(--btmp-line-soft);border-radius:8px; }
.review-list button { padding:5px 8px; font-size:13px; }
@media(max-width:900px) { .review-layout { grid-template-columns:1fr; } }
@media(max-width:480px) { .chart-day-switch { width:100%; } .chart-day-switch button { flex:1; } }
