.review-page { width:min(100% - 48px,1120px); margin:0 auto; padding:calc(var(--header-height) + var(--space-8)) 0 var(--space-9); }
.review-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-8); }
.review-hero h1 { margin-top:var(--space-2); font-size:clamp(2rem,5vw,3.5rem); letter-spacing:-.045em; }
.review-hero p:not(.product-eyebrow) { max-width:720px; margin-top:var(--space-4); color:var(--text-secondary); line-height:var(--leading-relaxed); }
.review-progress { display:grid; min-width:150px; padding:var(--space-5); border:1px solid var(--border-default); border-radius:var(--radius-xl); background:var(--surface-2); text-align:center; }
.review-progress strong { font-size:var(--text-2xl); }
.review-progress span { color:var(--text-tertiary); font-size:var(--text-xs); }
.review-boundary { display:grid; grid-template-columns:130px 1fr; gap:var(--space-5); margin-top:var(--space-7); padding:var(--space-5); border-left:4px solid var(--color-brand-primary); border-radius:var(--radius-lg); background:var(--surface-3); }
.review-boundary > span { color:var(--color-brand-primary); font-size:var(--text-xs); font-weight:var(--font-bold); }
.review-boundary h2 { font-size:var(--text-md); }
.review-boundary p { margin-top:var(--space-2); color:var(--text-secondary); font-size:var(--text-sm); line-height:var(--leading-relaxed); }
.review-access { margin-top:var(--space-6); padding:var(--space-5); border:1px solid var(--border-default); border-radius:var(--radius-lg); color:var(--text-secondary); background:var(--surface-2); }
.review-access a { color:var(--color-brand-primary); font-weight:var(--font-semibold); }
.review-summary { display:grid; grid-template-columns:repeat(5,1fr); margin-top:var(--space-6); border:1px solid var(--border-default); border-radius:var(--radius-lg); background:var(--surface-2); }
.review-summary div { display:grid; gap:var(--space-1); padding:var(--space-4); border-right:1px solid var(--border-default); text-align:center; }
.review-summary div:last-child { border-right:0; }
.review-summary strong { font-size:var(--text-xl); }
.review-summary span { color:var(--text-tertiary); font-size:var(--text-xs); }
.review-filter { display:flex; align-items:end; gap:var(--space-3); margin-top:var(--space-5); }
.review-filter label { display:grid; gap:var(--space-2); color:var(--text-secondary); font-size:var(--text-xs); font-weight:var(--font-semibold); }
.review-filter select { min-width:180px; padding:var(--space-3); border:1px solid var(--border-default); border-radius:var(--radius-md); background:var(--surface-2); font:inherit; }
.review-list { display:grid; gap:var(--space-5); margin-top:var(--space-5); }
.review-card { padding:var(--space-5); border:1px solid var(--border-default); border-radius:var(--radius-xl); background:var(--surface-2); box-shadow:var(--shadow-sm); }
.review-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); }
.review-card h2 { margin-top:var(--space-2); font-size:var(--text-lg); }
.review-card__meta { color:var(--text-tertiary); font-size:var(--text-xs); }
.review-state { flex:none; padding:4px 9px; border-radius:var(--radius-pill); background:var(--surface-3); color:var(--text-secondary); font-size:var(--text-xs); font-weight:var(--font-semibold); }
.review-state--accepted { color:#08785a; background:#e8faf4; }
.review-state--revised { color:#65520b; background:#fff7d6; }
.review-state--rejected { color:var(--danger); background:#fff0ef; }
.review-quote { margin-top:var(--space-4); padding:var(--space-4); border-left:3px solid var(--border-hover); background:var(--surface-3); color:var(--text-secondary); line-height:var(--leading-relaxed); }
.review-source { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-3); color:var(--text-tertiary); font-size:var(--text-xs); }
.review-source a { color:var(--color-brand-primary); }
.review-form { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); margin-top:var(--space-5); padding-top:var(--space-5); border-top:1px solid var(--border-default); }
.review-form label { display:grid; gap:var(--space-2); color:var(--text-secondary); font-size:var(--text-xs); font-weight:var(--font-semibold); }
.review-form label:first-child,.review-form label:nth-child(3) { grid-column:1/-1; }
.review-form input,.review-form textarea { width:100%; padding:var(--space-3); resize:vertical; border:1px solid var(--border-default); border-radius:var(--radius-md); background:var(--surface-1); color:var(--text-primary); font:inherit; font-weight:var(--font-regular); }
.review-actions { display:flex; flex-wrap:wrap; gap:var(--space-2); grid-column:1/-1; }
.review-actions button[data-action="reject"] { color:var(--danger); }
.review-link { display:inline-block; margin-top:var(--space-4); color:var(--color-brand-primary); font-size:var(--text-sm); font-weight:var(--font-semibold); }
.review-card--link-report { border-left:4px solid var(--warning); }
.review-feedback { grid-column:1/-1; min-height:1.3em; color:var(--text-secondary); font-size:var(--text-xs); }
.review-pagination { display:flex; align-items:center; justify-content:center; gap:var(--space-4); margin-top:var(--space-6); color:var(--text-secondary); font-size:var(--text-sm); }
.topic-admin-section { margin-top:var(--space-8); }
.topic-admin-section__header { display:flex; align-items:end; justify-content:space-between; gap:var(--space-4); }
.topic-admin-section__header h2 { margin-top:var(--space-2); font-size:var(--text-xl); }
.topic-editor { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); margin-top:var(--space-5); padding:var(--space-5); border:1px solid var(--border-default); border-radius:var(--radius-xl); background:var(--surface-2); }
.topic-editor label { display:grid; gap:var(--space-2); color:var(--text-secondary); font-size:var(--text-xs); font-weight:var(--font-semibold); }
.topic-editor__wide { grid-column:1/-1; }
.topic-editor input,.topic-editor textarea,.topic-editor select { width:100%; padding:var(--space-3); resize:vertical; border:1px solid var(--border-default); border-radius:var(--radius-md); background:var(--surface-1); color:var(--text-primary); font:inherit; font-weight:var(--font-regular); }
.topic-create-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-3); margin-top:var(--space-5); list-style:none; }
.topic-create-progress li { display:flex; align-items:center; gap:var(--space-3); min-width:0; padding:var(--space-3); border:1px solid var(--border-default); border-radius:var(--radius-lg); color:var(--text-tertiary); background:var(--surface-2); }
.topic-create-progress li > span { display:grid; flex:none; width:32px; height:32px; place-items:center; border-radius:var(--radius-pill); background:var(--surface-3); font-size:var(--text-sm); font-weight:var(--font-bold); }
.topic-create-progress li div { display:grid; min-width:0; }
.topic-create-progress strong { color:inherit; font-size:var(--text-sm); }
.topic-create-progress small { overflow:hidden; font-size:var(--text-xs); text-overflow:ellipsis; white-space:nowrap; }
.topic-create-progress li[aria-current="step"] { border-color:var(--color-brand-primary); color:var(--color-brand-primary); box-shadow:var(--shadow-sm); }
.topic-create-progress li[aria-current="step"] > span { color:var(--surface-2); background:var(--color-brand-primary); }
.topic-create-progress li[data-complete="true"] { color:var(--text-secondary); }
.topic-create-progress li[data-complete="true"] > span { color:var(--color-brand-primary); background:var(--color-bg-search-stage); }
.topic-create-page { padding-top:calc(var(--header-height) + var(--space-6)); }
.topic-create-page .review-hero h1 { font-size:clamp(2.25rem,4vw,3rem); }
.topic-create-page .review-access { margin-top:var(--space-5); padding:var(--space-4); }
.topic-create-page .topic-admin-section { margin-top:var(--space-6); }
.topic-create-layout { display:grid; grid-template-columns:minmax(0,720px) minmax(260px,1fr); gap:var(--space-5); align-items:start; margin-top:var(--space-5); }
.topic-create-form,.topic-create-preview__sticky { border:1px solid var(--border-default); border-radius:var(--radius-xl); background:var(--surface-2); box-shadow:var(--shadow-sm); }
.topic-create-step { padding:var(--space-6); }
.topic-create-step > header { margin-bottom:var(--space-5); }
.topic-create-step > header > span { color:var(--color-brand-primary); font-size:var(--text-xs); font-weight:var(--font-bold); }
.topic-create-step > header h3 { margin-top:var(--space-2); font-size:var(--text-xl); letter-spacing:-.02em; }
.topic-create-step > header p { margin-top:var(--space-2); color:var(--text-secondary); font-size:var(--text-sm); line-height:var(--leading-relaxed); }
.topic-kind-picker,.topic-label-picker { margin:0; padding:0; border:0; }
.topic-kind-picker legend,.topic-label-picker legend { margin-bottom:var(--space-3); color:var(--text-primary); font-size:var(--text-sm); font-weight:var(--font-semibold); }
.topic-kind-picker { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); }
.topic-kind-picker label { position:relative; cursor:pointer; }
.topic-kind-picker input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.topic-kind-picker label > span { display:grid; gap:var(--space-1); min-height:88px; padding:var(--space-4); border:1px solid var(--border-default); border-radius:var(--radius-lg); color:var(--text-secondary); background:var(--surface-1); transition:border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard); }
.topic-kind-picker label:hover > span { border-color:var(--border-hover); }
.topic-kind-picker label strong { color:var(--text-primary); font-size:var(--text-md); }
.topic-kind-picker label small { font-size:var(--text-xs); line-height:var(--leading-normal); }
.topic-kind-picker input:checked + span { border-color:var(--color-brand-primary); background:var(--color-bg-search-stage); box-shadow:0 0 0 1px var(--color-brand-primary); }
.topic-kind-picker input:focus-visible + span { outline:2px solid var(--color-brand-primary); outline-offset:2px; }
.topic-create-field { display:grid; gap:var(--space-2); margin-top:var(--space-5); color:var(--text-primary); font-size:var(--text-sm); font-weight:var(--font-semibold); }
.topic-create-field > small,.topic-create-field > span em { color:var(--text-tertiary); font-size:var(--text-xs); font-style:normal; font-weight:var(--font-regular); line-height:var(--leading-normal); }
.topic-create-field input,.topic-create-field textarea,.topic-label-input input { width:100%; padding:var(--space-3); resize:vertical; border:1px solid var(--border-default); border-radius:var(--radius-md); background:var(--surface-1); color:var(--text-primary); font:inherit; font-weight:var(--font-regular); line-height:var(--leading-normal); }
.topic-create-field input:focus,.topic-create-field textarea:focus,.topic-label-input input:focus { outline:0; border-color:var(--border-focus); box-shadow:0 0 0 3px var(--color-bg-search-stage); }
.topic-create-field [aria-invalid="true"],.topic-label-picker[data-invalid="true"] { border-color:var(--danger); }
.topic-create-conditional { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); }
.topic-create-details { margin-top:var(--space-5); padding:var(--space-4); border:1px solid var(--border-default); border-radius:var(--radius-lg); background:var(--surface-1); }
.topic-create-details summary { cursor:pointer; color:var(--text-secondary); font-size:var(--text-sm); font-weight:var(--font-semibold); }
.topic-create-details summary span { margin-left:var(--space-1); color:var(--text-tertiary); font-size:var(--text-xs); font-weight:var(--font-regular); }
.topic-label-picker { margin-top:var(--space-6); }
.topic-label-picker > p { margin-top:calc(var(--space-2) * -1); color:var(--text-tertiary); font-size:var(--text-xs); }
.topic-label-suggestions,.topic-label-selected { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-3); }
.topic-label-suggestions button,.topic-label-selected button { padding:7px 11px; border:1px solid var(--border-default); border-radius:var(--radius-pill); color:var(--text-secondary); background:var(--surface-1); font-size:var(--text-xs); cursor:pointer; }
.topic-label-suggestions button:hover { border-color:var(--color-brand-primary); color:var(--color-brand-primary); }
.topic-label-suggestions button[aria-pressed="true"],.topic-label-selected button { border-color:var(--color-brand-primary); color:var(--color-brand-primary); background:var(--color-bg-search-stage); }
.topic-label-input { display:grid; gap:var(--space-2); margin-top:var(--space-4); color:var(--text-secondary); font-size:var(--text-xs); font-weight:var(--font-semibold); }
.topic-create-step-feedback { min-height:1.4em; margin-top:var(--space-4); color:var(--danger); font-size:var(--text-sm); }
.topic-create-actions { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); margin-top:var(--space-3); }
.topic-create-actions--end { justify-content:flex-end; }
.topic-create-preview__sticky { position:sticky; top:calc(var(--header-height) + var(--space-4)); padding:var(--space-5); }
.topic-create-preview__status { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-3); }
.topic-create-preview__status span { padding:5px 9px; border-radius:var(--radius-pill); color:var(--text-secondary); background:var(--surface-3); font-size:var(--text-xs); }
.topic-create-preview h3 { margin-top:var(--space-4); font-size:var(--text-lg); line-height:var(--leading-tight); }
.topic-create-preview h3 + p { margin-top:var(--space-3); color:var(--text-secondary); font-size:var(--text-sm); line-height:var(--leading-relaxed); }
.topic-create-preview dl { display:grid; gap:var(--space-3); margin-top:var(--space-5); padding-top:var(--space-4); border-top:1px solid var(--border-default); }
.topic-create-preview dl div { display:grid; gap:var(--space-1); }
.topic-create-preview dt { color:var(--text-tertiary); font-size:var(--text-xs); }
.topic-create-preview dd { color:var(--text-secondary); font-size:var(--text-sm); line-height:var(--leading-normal); }
.topic-create-preview__sticky > small { display:block; margin-top:var(--space-5); color:var(--text-tertiary); font-size:var(--text-xs); line-height:var(--leading-normal); }
.topic-create-boundary { grid-template-columns:100px 1fr; margin-top:var(--space-6); }
.topic-create-boundary h3 { font-size:var(--text-sm); }
.topic-create-title-confirm { padding-top:var(--space-5); border-top:1px solid var(--border-default); }
@media (max-width:800px) {
  .review-page { width:min(100% - 32px,720px); padding-top:calc(var(--header-height) + var(--space-6)); }
  .review-hero { align-items:stretch; flex-direction:column; }
  .review-progress { min-width:0; }
  .review-boundary { grid-template-columns:1fr; }
  .review-summary { grid-template-columns:1fr 1fr; }
  .review-summary div { border-right:0; border-bottom:1px solid var(--border-default); }
  .review-form { grid-template-columns:1fr; }
  .topic-editor { grid-template-columns:1fr; }
  .topic-editor__wide { grid-column:auto; }
  .review-form label:first-child,.review-form label:nth-child(3) { grid-column:auto; }
  .topic-create-progress { gap:var(--space-2); }
  .topic-create-progress li { justify-content:center; padding:var(--space-2); }
  .topic-create-progress li div { display:none; }
  .topic-create-layout { grid-template-columns:1fr; }
  .topic-create-layout[data-current-step="3"] .topic-create-preview { order:-1; }
  .topic-create-preview__sticky { position:static; }
  .topic-create-preview dl { display:none; }
  .topic-create-preview__sticky > small { margin-top:var(--space-3); }
  .topic-create-step { padding:var(--space-5); }
  .topic-create-conditional { grid-template-columns:1fr; gap:0; }
  .topic-create-boundary { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .topic-kind-picker { grid-template-columns:1fr; }
  .topic-kind-picker label > span { min-height:0; }
  .topic-create-actions { align-items:stretch; flex-direction:column-reverse; }
  .topic-create-actions button { width:100%; }
}
