:root{
  --bg:#f6f7f9; --panel:#fff; --ink:#1c2330; --mut:#6b7280; --line:#e5e7eb;
  --accent:#2b5bd7; --accent2:#1f48ad; --red:#c0392b; --amber:#b7791f; --green:#1f8a4c;
  --chip:#eef2ff;
}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
code{background:#eef1f6;padding:1px 5px;border-radius:4px;font-size:.9em}
pre{white-space:pre-wrap;word-break:break-word;background:#0f172a08;padding:10px;border-radius:8px;font:13px/1.45 ui-monospace,Menlo,Consolas,monospace}

header{display:flex;align-items:center;gap:18px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{font-weight:700}
.brand span{color:var(--mut);font-weight:400;font-size:.85em}
header nav{display:flex;gap:14px;margin-left:8px}
header nav a.on{font-weight:700}
header .op{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:.9em;color:var(--mut)}
header .op select{padding:3px 6px}
.logout{margin-left:14px;color:var(--mut);font-size:.9em}
main{max-width:1180px;margin:0 auto;padding:22px 20px 60px}

h1{font-size:1.5rem;margin:.2em 0 .5em}
h2{font-size:1.05rem;margin:0 0 .5em}
h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin:0 0 .6em}
h4{margin:.2em 0 .3em;font-size:.9rem}

.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{background:var(--chip);border:1px solid #dfe6ff;border-radius:999px;padding:3px 10px;font-size:.8rem;color:#33415a}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:820px){.cols{grid-template-columns:1fr}}
section,details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px}
section h2 .c,details .c,h1 .c{display:inline-block;min-width:22px;text-align:center;background:#eef2ff;color:#33415a;border-radius:999px;font-size:.75rem;padding:0 7px;margin-left:6px;vertical-align:middle}
summary{cursor:pointer;font-weight:600}

table.leads,table.emails{width:100%;border-collapse:collapse;font-size:.9rem}
table.leads th,table.emails th{text-align:left;color:var(--mut);font-weight:600;font-size:.78rem;border-bottom:1px solid var(--line);padding:6px 8px}
table.leads td,table.emails td{padding:6px 8px;border-bottom:1px solid #f0f2f5;vertical-align:top}
td.num{color:var(--mut);width:30px}
td.mut,.mut{color:var(--mut)}
.small{font-size:.82rem}

.status{font-size:.78rem;padding:1px 8px;border-radius:999px;background:#eef2f6;border:1px solid #e0e6ee;white-space:nowrap}
.s-sent{background:#fff7e6;border-color:#f3dca6}
.s-replied,.s-in_conversation{background:#e9f9ef;border-color:#bfe8cf}
.s-draft_ready{background:#eef2ff;border-color:#dfe6ff}
.s-sensitive_hold,.s-hold{background:#fdecea;border-color:#f5c6c2}

.badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:1px 6px;border-radius:5px;text-transform:uppercase}
.badge.red{background:#fdecea;color:var(--red)}
.badge.amber{background:#fdf3e2;color:var(--amber)}
.badge.blue{background:#e8eeff;color:var(--accent2)}
.badge.green{background:#e7f6ee;color:var(--green)}
.badge.grey{background:#eef0f3;color:#6b7280}

.banner{border-radius:10px;padding:10px 14px;margin:0 0 14px}
.banner.red{background:#fdecea;border:1px solid #f5c6c2;color:#7a241c}
.banner.amber{background:#fdf3e2;border:1px solid #f0d9a8;color:#7a541a}
.flash{background:#e7f6ee;border:1px solid #bfe8cf;color:#1f6b40;border-radius:10px;padding:8px 12px;margin-bottom:12px}

.lead-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.lead-head .headline{color:var(--mut);margin:.2em 0}
.lead-head .tags{font-size:.85rem;color:var(--mut)}
.lead-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:10px}
@media(max-width:920px){.lead-grid{grid-template-columns:1fr}}

.draft label,.controls label{display:block;font-size:.78rem;color:var(--mut);margin:.5em 0 .2em}
input,textarea,select{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
textarea{resize:vertical}
button,.send,.bigbtn{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:8px 14px;border-radius:8px;font:inherit}
button:hover,.send:hover,.bigbtn:hover{background:var(--accent2);text-decoration:none}
button.mini{padding:4px 9px;font-size:.82rem}
button.ghost,.bigbtn.ghost{background:#fff;color:var(--accent)}
button[disabled]{opacity:.5;cursor:not-allowed}
.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inline.wide input{flex:1}
.inline select,.inline input{width:auto}
.controls{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}
.draft{display:block}
.draft button{margin-top:10px}

.blk{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f0f2f5}
.blk.highlight{background:#fffbe9;border:1px solid #f0e3a8;border-radius:8px;padding:10px}
.blk ul{margin:.2em 0;padding-left:18px}
.kv{display:inline-block;margin-right:14px;font-size:.86rem}

.emails td .badge{margin-right:4px}
.send-wrap .send{display:inline-block;font-weight:600}

.timeline{list-style:none;padding:0;margin:0;font-size:.86rem}
.timeline li{padding:5px 0;border-bottom:1px solid #f2f4f7}
.timeline .t{color:var(--mut);font-size:.78rem;margin-right:6px}
.ver pre{margin:.4em 0}
.vmeta{color:var(--mut);font-size:.82rem}

.preview{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}
.preview .pv{margin-bottom:4px}
.pv-body{margin-top:8px}
.send-actions{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.qr{margin:14px 0}
.qr canvas{border:1px solid var(--line);border-radius:8px;background:#fff}

.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}
.cmeta{font-size:.86rem;color:#33415a;margin-bottom:6px}
.raw{max-height:220px;overflow:auto}

.login{max-width:360px;margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px}
.loginbody{background:linear-gradient(#eef2f9,#f6f7f9)}
.login h1{margin-top:0}
.login label{display:block;font-size:.8rem;color:var(--mut);margin-bottom:4px}
.login button{width:100%;margin-top:12px}
.login .err{color:var(--red);font-size:.9rem}
.muted{color:var(--mut)}

.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#1c2330;color:#fff;padding:8px 16px;border-radius:8px;font-size:.86rem;z-index:50}

/* AI assist */
.ai-panel{margin-top:14px;padding:12px;border:1px dashed #c9d2e3;border-radius:10px;background:#f7f9ff}
.ai-panel label{display:block;font-size:.78rem;color:var(--mut);margin-bottom:6px}
.ai-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
@media(max-width:820px){.ai-compare{grid-template-columns:1fr}}
.ai-col{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.ai-col.proposed{border-color:#bcd0ff;background:#f5f9ff}
.ai-col h3{margin-top:0}
.ai-actions{margin:8px 0 4px}
.btnlink{margin-left:10px;color:var(--mut)}

/* Bulk edit */
.blgroup{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:10px 0}
.blgroup legend{font-size:.8rem;color:var(--mut);padding:0 6px}
.blrow{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.92rem}
.blrow input{width:auto}
.blrow.sentrow{opacity:.7}
.blnum{color:var(--mut);font-size:.82rem;min-width:34px}
.blcontrols{margin:10px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.blnames{font-size:.9rem;columns:2;max-width:760px}
@media(max-width:680px){.blnames{columns:1}}
.ackline{display:block;margin-top:8px;font-weight:600}
blockquote{border-left:3px solid var(--accent);margin:8px 0;padding:6px 12px;background:#f5f8ff;border-radius:0 8px 8px 0}
.progress{height:14px;background:#e8edf5;border-radius:8px;overflow:hidden;margin:10px 0;max-width:520px}
.progress .bar{height:100%;background:var(--accent);transition:width .3s}

/* Full research record (recovered from original research) */
pre.research{white-space:pre-wrap;word-wrap:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:12px;line-height:1.5;background:#0f172a08;border:1px solid #e2e8f0;border-radius:8px;
  padding:12px;max-height:520px;overflow:auto;margin:.5rem 0 0}
details summary{cursor:pointer;font-weight:600;color:#334155;padding:.25rem 0}

/* Match note (writer reference) */
.matchnote{font-size:13px;line-height:1.55;color:#1f2937}
.matchnote .mn-q{margin:.4rem 0;padding:.5rem .8rem;border-left:3px solid #6366f1;
  background:#6366f10d;border-radius:0 6px 6px 0;font-style:normal;color:#111827}
.matchnote strong{color:#0f172a}

/* Priority labels */
.prio{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;font-weight:600;border:1px solid transparent}
.prio.p-1{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}
.prio.p-2{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}
.prio.p-3{color:#b45309;background:#fffbeb;border-color:#fde68a}
.prio.p-4{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.prio.p-0{color:#9ca3af;background:transparent;border-color:transparent}

/* Sort bar */
.sortbar{margin:.4rem 0 .8rem;font-size:13px;color:#4b5563}
.sortbar a{color:#4f46e5;text-decoration:none}
.sortbar a:hover{text-decoration:underline}

/* Filter bar */
.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:.4rem 0 1rem;font-size:13px;color:#4b5563}
.filterbar label{font-weight:600;color:#374151}
.filterbar select{padding:3px 6px;font-size:13px}
.filterbar .reset{margin-left:6px;color:#4f46e5;text-decoration:none}
.filterbar .reset:hover{text-decoration:underline}

/* Returned-row highlight */
.leads tr.hot > td{ background:#fef9c3; }
.leads tr.hot > td:first-child{ box-shadow: inset 3px 0 0 #f59e0b; }
@keyframes rowflash { from{ background:#fde68a; } to{ background:#fef9c3; } }
.leads tr.hot > td{ animation: rowflash 1.2s ease-out 1; }
.matchnote a{ color:#4f46e5; }

/* Attachment reminder on send page */
.attach{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:.6rem 0}
.attach .small{max-width:520px}

/* Return aids bar */
.returnbar{margin:.2rem 0 .8rem;font-size:13px;color:#4b5563}
.returnbar a{color:#4f46e5;text-decoration:none}
.returnbar a:hover{text-decoration:underline}
