:root{--text:#1d2433;--muted:#5b6475;--border:#d8dce4;--surface:#fff;--background:#f4f6f9;--accent:#23466e;--ok:#1d6b3a;--ok-bg:#e5f4ea;--warn:#8a4b00;--warn-bg:#fff1dc;--error:#9b1c1c;--error-bg:#fde8e8;color:var(--text);background:var(--background);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}main{max-width:1280px;margin:0 auto;padding:1rem}h1,h2{margin:0 0 .5rem}h2{font-size:1.05rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}label{font-weight:600}textarea,input{font:inherit;border:1px solid var(--border);border-radius:6px;width:100%;margin:.25rem 0 .5rem;padding:.5rem}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:.5rem 1.1rem}button.secondary{color:var(--accent);background:0 0}button:focus-visible,textarea:focus-visible,input:focus-visible,a:focus-visible{outline-offset:1px;outline:3px solid #7aa7d9}.hint,.meta{color:var(--muted);font-size:.875rem}.alert{color:var(--error);background:var(--error-bg);border-radius:6px;padding:.5rem .75rem}.ok{color:var(--ok);background:var(--ok-bg);border-radius:6px;padding:.5rem .75rem}.banner{background:var(--warn-bg);color:var(--warn);text-align:center;margin:0;padding:.5rem 1rem}.login{max-width:420px;margin:10vh auto}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.topbar .who{color:var(--muted);margin-left:auto}.research{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=960px){.research{grid-template-columns:1fr}}.main-column{gap:1rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row input[type=date]{width:auto;margin:0}.progress ol{margin:0;padding-left:1.25rem}.progress li{flex-wrap:wrap;gap:.5rem;display:flex}.progress .subject{color:var(--muted)}.progress .result{color:var(--muted);margin-left:auto}.progress li.failed .result{color:var(--error)}.answer,.sources{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.answer-text{white-space:pre-wrap}mark.ref{border-radius:3px;padding:0 .15rem}mark.ref.confirmed{background:var(--ok-bg);color:var(--ok)}mark.ref.unconfirmed{background:var(--warn-bg);color:var(--warn);-webkit-text-decoration:underline wavy;text-decoration:underline wavy}sup.cite a{color:var(--accent);margin-left:.1rem;text-decoration:none}.sources ol,.sources ul{padding-left:1.25rem}.sources blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.25rem 0 .5rem;padding-left:.5rem;font-size:.875rem}.checks li{margin-bottom:.5rem}.checks .badge{border-radius:4px;margin-left:.5rem;padding:0 .4rem;font-size:.8rem}.checks .confirmed .badge{background:var(--ok-bg);color:var(--ok)}.checks .unconfirmed .badge{background:var(--warn-bg);color:var(--warn)}.checks .note{color:var(--muted);font-size:.875rem;display:block}.tabs{gap:.25rem;display:flex}button.tab{color:var(--text);background:0 0;border-color:#0000}button.tab.current{border-color:var(--accent);color:var(--accent)}button.tab:disabled{color:var(--muted);cursor:not-allowed}button.link{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}button.link.current{font-weight:600;text-decoration:none}label.button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:.5rem 1.1rem;font-weight:400;display:inline-block}label.button:focus-within{outline-offset:1px;outline:3px solid #7aa7d9}.matters{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=960px){.matters{grid-template-columns:1fr}}.matter-list ul{gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.matter h1{font-size:1.3rem}.matter{gap:1rem;display:grid}.files .row{justify-content:space-between}.file-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.file-list li{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.badge{background:var(--background);color:var(--muted);border-radius:4px;padding:0 .4rem;font-size:.8rem}.proposals{gap:.75rem;display:grid}.proposal{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:.75rem 1rem}.proposal.executed{border-left-color:var(--ok)}.proposal.rejected,.proposal.failed{border-left-color:var(--muted)}.proposal header{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.proposal .changes li{margin-bottom:.4rem}.proposal .note{color:var(--muted);font-size:.875rem;display:block}.proposal del{color:var(--error)}.proposal ins{color:var(--ok);text-decoration:underline}.proposal .excerpt{border-left:3px solid var(--border);color:var(--muted);padding-left:.5rem;font-size:.9rem}mark.ref.unchecked,.checks .unchecked .badge{background:var(--background);color:var(--muted)}details summary{cursor:pointer;color:var(--muted);font-size:.875rem}.conversations{flex-wrap:wrap;gap:.25rem;display:flex}.conversations button.tab{text-overflow:ellipsis;white-space:nowrap;max-width:18rem;overflow:hidden}.history-turns{gap:.5rem;display:grid}.turn{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.turn .instruction{margin:0 0 .25rem}.turn .reply{white-space:pre-wrap;color:var(--text);margin:0}.members ul{padding-left:1.25rem}.members li button.link{margin-left:.5rem}.members .row input{width:auto;margin:0}.templates{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=960px){.templates{grid-template-columns:1fr}}.template-list{padding-left:1.25rem}.template-list .note{color:var(--muted);font-size:.875rem;display:block}.sheet{overflow-x:auto}.sheet table{border-collapse:collapse;font-size:.875rem}.sheet th,.sheet td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.25rem .5rem}.values{gap:.25rem;margin:.5rem 0;display:grid}.values div{gap:.5rem;display:flex}.values dt{min-width:8rem;font-weight:600}.values dd{margin:0}
