:root{--bg:#f7f8fb;--surface:#fff;--surface-strong:#eef3f0;--text:#17211b;--muted:#66746b;--line:#d9e2dc;--brand:#1f7a4d;--brand-strong:#145c39;--danger:#b42318;--warning:#a15c07;--focus:#2563eb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}.shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:#10251a;color:#f2faf5;padding:24px 18px}.brand{margin-bottom:28px}.brand h1{font-size:22px;line-height:1.1;margin:0 0 6px}.brand span{color:#a9c7b6;font-size:14px}.nav{display:grid;grid-gap:8px;gap:8px}.nav button{width:100%;display:flex;align-items:center;gap:10px;color:#dbece2;background:transparent;border-radius:8px;padding:11px 12px;text-align:left}.nav button.active{background:#1f7a4d;color:#fff}.main{padding:28px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.topbar h2{font-size:24px;margin:0}.accessBadge{border:1px solid var(--line);border-radius:999px;color:var(--brand-strong);background:#eef7f1;padding:8px 12px;font-size:13px}.tokenBox{display:flex;gap:8px;align-items:center}.field input,.field select,.field textarea,.tokenBox input{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;color:var(--text);width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;padding:0 14px;background:var(--brand);color:#fff;white-space:nowrap}.button.secondary{background:#e7eee9;color:var(--text)}.button.danger{background:var(--danger)}.grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.7fr);grid-gap:18px;gap:18px}.tabPane.hidden{display:none}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:18px}.panel h3{margin:0 0 14px;font-size:18px}.field{display:grid;grid-gap:7px;gap:7px;margin-bottom:12px}.checkboxRow{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:14px;margin:2px 0 12px}.checkboxRow input{width:16px;height:16px;accent-color:var(--brand)}.field label{color:var(--muted);font-size:13px}.chat{display:grid;grid-gap:12px;gap:12px;max-height:55vh;overflow:auto;padding-right:4px}.messageBlock{display:grid;grid-gap:8px;gap:8px}.bubble{border-radius:8px;padding:12px;line-height:1.45;white-space:pre-wrap}.bubble.user{background:#eaf1ff}.bubble.assistant{background:var(--surface-strong)}.metaList{display:grid;grid-gap:10px;gap:10px}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.row:last-child{border-bottom:0}.status{font-size:13px}.source,.status{color:var(--muted)}.source{border-left:3px solid var(--brand);padding-left:10px;font-size:14px}.reviewBox{border:1px solid var(--line);border-radius:8px;background:#fbfdfb;padding:12px;display:grid;grid-gap:10px;gap:10px}.compactGrid,.qualityButtons,.reviewHeader,.trainingGrid{display:grid;grid-gap:8px;gap:8px}.reviewHeader{grid-template-columns:1fr auto;align-items:center}.savedBadge{background:#dff3e7;color:var(--brand-strong)}.dirtyBadge,.savedBadge{border-radius:999px;padding:4px 9px;font-size:12px}.dirtyBadge{background:#fff4d6;color:var(--warning)}.reviewHeaderActions{gap:6px}.iconButton,.reviewHeaderActions{display:inline-flex;align-items:center}.iconButton{width:32px;height:32px;border-radius:8px;color:var(--muted);background:#eef3f0;justify-content:center}.compactReview{grid-template-columns:1fr auto;align-items:center}.qualityButtons{grid-template-columns:repeat(5,minmax(0,1fr))}.quality{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:0 8px}.quality.active{border-color:var(--brand);background:#e7f5ed;color:var(--brand-strong)}.compactGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewBox .field{margin-bottom:0}.reviewBox .field span{color:var(--muted);font-size:13px}.trainingPanel{max-width:920px}.trainingGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.trainingGrid div{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfdfb}.trainingGrid p{margin:8px 0 0;color:var(--muted);line-height:1.45}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.emptyState,.notice,.thinkingRow{border:1px solid var(--line);border-radius:8px;padding:11px 12px}.notice,.thinkingRow{display:flex;align-items:center;gap:9px}.thinkingRow{width:-moz-fit-content;width:fit-content;color:var(--brand-strong);background:#eef7f1;font-size:14px}.notice{margin-bottom:14px;color:var(--warning);background:#fff8e6}.emptyState,.notice.neutral{color:var(--muted);background:#f7faf8}.emptyState{line-height:1.45}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error{color:var(--danger);background:#fff1f0;border:1px solid #ffd0cc;padding:10px 12px;border-radius:8px;margin-bottom:14px}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:2}.compactGrid,.grid,.qualityButtons,.topbar,.trainingGrid{grid-template-columns:1fr;display:grid}}