:root{
  --bg:#f6f3ee;
  --panel:#fffaf3;
  --ink:#241b14;
  --muted:#7b7067;
  --line:#eadfD1;
  --accent:#9b5d2e;
  --accent2:#2f6f62;
  --bubble:#ffffff;
  --ai:#f0e4d3;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
.topbar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{font-weight:800;font-size:22px;letter-spacing:.04em}
.topbar nav{display:flex;gap:16px;color:var(--muted);font-weight:600}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;max-width:1180px;margin:24px auto;padding:0 16px}
.single{max-width:900px;margin:24px auto;padding:0 16px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(52,36,20,.06);overflow:hidden}
.panel-head{padding:20px 22px;border-bottom:1px solid var(--line)}
h1,h2,h3{margin:0 0 8px}p{line-height:1.7}.muted{color:var(--muted)}
.assistant-panel,.timeline-panel{min-height:calc(100vh - 110px);display:flex;flex-direction:column}
.messages{padding:20px;display:flex;flex-direction:column;gap:12px;overflow:auto;flex:1;min-height:420px}
.msg{max-width:78%;padding:12px 14px;border-radius:16px;white-space:pre-wrap;line-height:1.65;border:1px solid var(--line);background:var(--bubble)}
.msg.user{align-self:flex-end;background:#e7f0ed;border-color:#cfe1dc}
.msg.ai,.msg.system{align-self:flex-start;background:var(--ai)}
.msg .meta{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.msg.event-ai{background:#efe4ff;border-color:#dfd0ff}.msg.event-contract{background:#fff4d6}.msg.event-schedule{background:#e8f3ff}.msg.event-message{background:#fff}
.composer{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line);background:#fff}
.composer input{flex:1;border:1px solid var(--line);border-radius:999px;padding:13px 16px;font-size:16px;outline:none;background:#fffdf9}
.composer button{border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;padding:0 20px;cursor:pointer}
.side-panel{padding:20px;height:max-content}.job-list{display:flex;flex-direction:column;gap:10px}.job-list.wide{margin-top:16px}
.job-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;transition:.15s}
.job-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(52,36,20,.08)}
.job-card span{color:var(--muted);line-height:1.5}.job-card em{font-style:normal;font-size:12px;color:var(--accent2)}
.role-list{padding-left:20px;line-height:1.9}
@media (max-width: 860px){.layout{grid-template-columns:1fr}.side-panel{order:-1}.msg{max-width:92%}}
