:root {
  color-scheme: light;
  --ink: #173f31;
  --muted: #5b7167;
  --paper: #f7f3e7;
  --card: #fffdf6;
  --line: #bac5b5;
  --brick: #984738;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  background: var(--paper);
  color: var(--ink);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: linear-gradient(135deg, #f7f3e7, #edf1e3); }
.centered { display: grid; place-items: center; padding: 24px; }
.panel { background: var(--card); border: 1px solid var(--line); box-shadow: 0 20px 60px #173f3117; padding: 32px; }
.login-panel { width: min(460px, 100%); }
.workspace { width: min(900px, calc(100% - 32px)); margin: 48px auto; }
.topbar { min-height: 68px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 24px; background:#fffdf6; border-bottom:4px solid var(--ink); }
.topbar div, .topbar nav { display:flex; align-items:center; gap:16px; }
.topbar span { color:var(--muted); font-size:13px; }
.topbar a { color:var(--ink); }
h1 { margin: 4px 0 12px; font: 700 clamp(28px, 5vw, 42px)/1.05 Georgia, serif; }
p { line-height:1.55; }
.eyebrow { color: var(--brick); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
form label { display:grid; gap:7px; margin:16px 0; font-size:13px; font-weight:700; }
input { width:100%; padding:11px 12px; border:1px solid var(--line); background:white; font:inherit; }
button { border:0; background:var(--ink); color:white; padding:12px 18px; font:700 14px inherit; cursor:pointer; }
button.secondary { background:#e5eadf; color:var(--ink); }
button:disabled { opacity:.45; cursor:not-allowed; }
.notice { margin:20px 0; padding:14px 16px; border-left:4px solid #4c745c; background:#eef3e9; }
.notice.error { border-color:var(--brick); background:#f7e9e4; }
.notice.success { border-color:#1e6847; background:#e4f0e7; font-weight:700; }
.progress { height:12px; overflow:hidden; background:#e0e5d9; margin:20px 0; }
.progress span { display:block; width:0; height:100%; background:linear-gradient(90deg, var(--brick), #ba8a42, var(--ink)); transition:width .25s ease; }
.actions { display:flex; gap:10px; }
pre { max-height:300px; overflow:auto; padding:16px; background:#183f31; color:#eff6eb; font:12px/1.5 ui-monospace, monospace; }
.completion { margin-top:26px; padding:26px; border:1px solid #9fb4a4; background:linear-gradient(135deg, #edf4e9, #fffaf0); }
.completion h2 { margin:4px 0 8px; font:700 28px/1.1 Georgia,serif; }
.button-link { display:inline-block; margin-top:8px; padding:12px 18px; background:var(--ink); color:white; font-weight:700; text-decoration:none; }
.stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.stat { padding:18px; border:1px solid var(--line); background:#f5f5e9; }
.stat strong { display:block; font:700 30px/1 Georgia,serif; }
.stat span { display:block; margin-top:7px; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.section-title { margin:34px 0 12px; font:700 25px/1.1 Georgia,serif; }
.data-table { width:100%; border-collapse:collapse; }
.data-table th,.data-table td { padding:11px 12px; border-bottom:1px solid var(--line); text-align:left; }
.data-table th { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.data-table td:last-child,.data-table th:last-child { text-align:right; }
.muted { color:var(--muted); }
.review-workspace { width:min(1260px,calc(100% - 32px)); margin:32px auto 60px; }
.review-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.review-heading h1 { margin-bottom:0; }
.review-heading > p { color:var(--muted); font-weight:700; }
.status-tabs { display:flex; gap:4px; margin:24px 0 0; overflow:auto; border-bottom:1px solid var(--line); }
.status-tabs a { display:flex; gap:8px; padding:12px 14px; color:var(--muted); text-decoration:none; white-space:nowrap; border-bottom:3px solid transparent; }
.status-tabs a.active { color:var(--ink); border-color:var(--brick); font-weight:800; }
.status-tabs span { color:var(--brick); font-size:12px; }
.queue-guide { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px 16px; padding:15px 18px; border:1px solid #bdc9b9; border-top:0; background:#eef2e7; color:var(--muted); font-size:13px; line-height:1.5; }
.queue-guide strong { color:var(--ink); }
.filters { display:grid; grid-template-columns:minmax(175px,.7fr) minmax(210px,1fr) minmax(160px,.65fr) minmax(180px,.75fr) auto; align-items:end; gap:12px; padding:18px; background:#fffdf6; border:1px solid var(--line); border-top:0; }
.filters label,.organize-form label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:700; }
.filters input,.filters select,.organize-form input,.organize-form select { width:100%; padding:10px 11px; border:1px solid var(--line); background:white; color:var(--ink); font:14px inherit; }
.group-list { border:1px solid var(--line); border-top:0; background:#fffdf6; }
.group-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; padding:18px 20px; border-bottom:1px solid #d6dccf; color:var(--ink); text-decoration:none; }
.group-card:last-child { border-bottom:0; }
.group-card:hover { background:#eef1e4; }
.group-card h2 { margin:8px 0 0; font:700 21px/1.25 Georgia,serif; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.group-meta { display:flex; flex-wrap:wrap; gap:7px 15px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.group-meta span:first-child { color:var(--brick); font-weight:800; }
.group-measures { min-width:155px; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:5px; color:var(--muted); font-size:12px; }
.group-measures b { margin-top:5px; color:var(--ink); }
.empty-state { padding:50px 24px; text-align:center; color:var(--muted); }
.pagination { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; margin-top:18px; color:var(--muted); font-size:13px; }
.pagination a { color:var(--ink); font-weight:800; text-decoration:none; }
.pagination a:last-child { text-align:right; }
.group-workspace { min-height:calc(100vh - 68px); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr); }
.source-column { min-width:0; padding:34px clamp(22px,4vw,64px) 70px; border-right:1px solid var(--line); background:#fbf8ee; }
.source-header { max-width:860px; margin:0 auto 26px; }
.source-header h1 { overflow-wrap:anywhere; }
.source-header > p:last-child { color:var(--muted); }
.message-stack { max-width:860px; margin:auto; }
.source-message { position:relative; padding:22px 24px; background:#fffdf7; border:1px solid #cbd3c5; box-shadow:0 7px 20px #173f310a; }
.source-message header { display:flex; gap:12px; align-items:center; margin-bottom:16px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.source-message header span { color:var(--brick); font-weight:800; }
.source-message header small { margin-left:auto; }
.verbatim { white-space:normal; color:#213d33; font:17px/1.72 Georgia,serif; overflow-wrap:anywhere; }
.source-media { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-top:18px; }
.source-media a { display:block; min-height:130px; background:#e5eadf; }
.source-media img { display:block; width:100%; height:180px; object-fit:cover; }
.file-chip { display:block; padding:12px; background:#edf0e7; overflow-wrap:anywhere; }
.split-form { position:relative; height:36px; display:grid; place-items:center; }
.split-form::before { content:""; position:absolute; left:0; right:0; top:50%; border-top:1px dashed #b5bdae; }
.split-form button { position:relative; padding:6px 12px; border:1px solid #c8cfc0; background:#f7f3e7; color:var(--muted); font-size:11px; }
.organize-column { padding:34px 28px 70px; background:#f0f1e6; }
.organize-form { position:sticky; top:24px; display:grid; gap:15px; padding:26px; background:#fffdf7; border:1px solid var(--line); box-shadow:0 12px 34px #173f3110; }
.organize-form h2 { margin:0 0 4px; font:700 25px/1.15 Georgia,serif; }
.organize-form .choice { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:8px; color:var(--ink); font-size:13px; }
.organize-form .choice input { width:auto; }
.field-grid { display:grid; gap:12px; padding:14px; background:#f4f4e9; border:1px solid #d6ddcf; }
.form-note { color:var(--muted); font-size:12px; line-height:1.5; }
.secondary-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:14px; }
.text-button { padding:9px 4px; background:transparent; color:var(--brick); }
@media (max-width: 620px) { .topbar { align-items:flex-start; } .topbar div { display:grid; gap:3px; } .workspace { margin:20px auto; } .panel { padding:22px; } }
@media (max-width: 620px) { .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 1000px) { .filters { grid-template-columns:1fr 1fr; } .group-workspace { grid-template-columns:1fr; } .source-column { border-right:0; border-bottom:1px solid var(--line); } .organize-form { position:static; } }
@media (max-width: 620px) { .review-heading { align-items:flex-start; } .filters { grid-template-columns:1fr; } .group-card { grid-template-columns:1fr; } .group-measures { min-width:0; align-items:flex-start; } .pagination { grid-template-columns:1fr; text-align:center; } .pagination a:last-child { text-align:center; } .source-message { padding:18px; } .verbatim { font-size:16px; } .topbar nav { flex-wrap:wrap; justify-content:flex-end; } }
