:root{--bg-0: #0e1014;--bg-1: #14171d;--bg-2: #1a1e26;--bg-3: #232830;--line: #2a2f3a;--line-soft: #1f242c;--ink-0: #e8ebef;--ink-1: #a8b0bc;--ink-2: #6c7484;--ink-3: #444a57;--accent: #5fb4ff;--green: #4ad27a;--amber: #f5b54a;--red: #ef5b5b;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--sans: ui-sans-serif, -apple-system, "Segoe UI", "Inter var", system-ui, sans-serif;--shadow-out: 4px 4px 10px #06080b, -3px -3px 8px #1c2129;--shadow-in: inset 3px 3px 6px #06080b, inset -2px -2px 5px #1c2129;--shadow-flat: 0 1px 0 #1c2129 inset, 0 -1px 0 #06080b inset}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg-0);color:var(--ink-0);font-family:var(--sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.app{display:grid;grid-template-columns:240px 1fr 320px;grid-template-rows:36px 1fr;height:100vh;background:var(--bg-0)}.header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:var(--bg-1);border-bottom:1px solid var(--line)}.header .brand{display:flex;align-items:center;gap:10px}.header .brand-mark{width:14px;height:14px;border-radius:2px;background:var(--accent);box-shadow:0 0 8px #5fb4ff80}.header .brand-name{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-1)}.header .brand-name strong{color:var(--ink-0);font-weight:600}.header .meta{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.1em}.header .meta .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px;vertical-align:middle;box-shadow:0 0 6px #4ad27a99}.rail-left{background:var(--bg-1);border-right:1px solid var(--line);padding:14px 12px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.rail-section{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);padding:4px 4px 6px;border-bottom:1px solid var(--line-soft);margin-bottom:4px}.mode-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-2);border:none;border-radius:5px;cursor:pointer;text-align:left;box-shadow:var(--shadow-flat);transition:all .1s ease;border-left:3px solid transparent}.mode-btn:hover{background:var(--bg-3)}.mode-btn.active{background:var(--bg-3);border-left-color:var(--accent);box-shadow:var(--shadow-in)}.mode-btn .glyph{font-family:var(--mono);font-size:10px;color:var(--ink-2);width:18px}.mode-btn.active .glyph{color:var(--accent)}.mode-btn .label{display:flex;flex-direction:column;gap:2px}.mode-btn .label .top{font-size:12px;color:var(--ink-0);font-weight:500}.mode-btn .label .sub{font-family:var(--mono);font-size:9px;color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase}.rail-left .reset-btn{margin-top:auto;padding:8px 10px;background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--ink-2);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.rail-left .reset-btn:hover{color:var(--red);border-color:var(--red)}.main{display:flex;flex-direction:column;background:var(--bg-0);min-width:0}.chat{flex:1;overflow-y:auto;padding:18px 24px 8px;display:flex;flex-direction:column;gap:14px}.chat-empty{margin:auto;text-align:center;color:var(--ink-2);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;max-width:480px}.chat-empty .hint{margin-top:12px;text-transform:none;letter-spacing:normal;font-family:var(--sans);font-size:12px;color:var(--ink-1);line-height:1.6}.msg{display:flex;flex-direction:column;gap:4px;max-width:92%}.msg .meta{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);display:flex;gap:10px}.msg .meta .who.user{color:var(--accent)}.msg .meta .who.assistant{color:var(--green)}.msg .body{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:4px;padding:10px 14px;white-space:pre-wrap;word-wrap:break-word}.msg.user{align-self:flex-end}.msg.user .body{background:var(--bg-2);border-left:3px solid var(--accent)}.msg.assistant .body{font-family:var(--mono);font-size:12.5px;line-height:1.55;border-left:3px solid var(--green)}.msg.assistant.streaming .body:after{content:"▌";color:var(--green);animation:blink 1s steps(2) infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}.composer{border-top:1px solid var(--line);background:var(--bg-1);padding:12px 16px;display:flex;gap:10px;align-items:flex-end}.composer textarea{flex:1;background:var(--bg-0);border:1px solid var(--line);border-radius:4px;padding:10px 12px;resize:none;min-height:40px;max-height:180px;outline:none;box-shadow:var(--shadow-in)}.composer textarea:focus{border-color:var(--accent)}.composer button{background:var(--bg-3);border:1px solid var(--line);border-radius:4px;padding:10px 18px;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-out);color:var(--ink-0);align-self:stretch}.composer button:hover:not(:disabled){background:var(--accent);color:var(--bg-0);border-color:var(--accent)}.composer button:active:not(:disabled){box-shadow:var(--shadow-in)}.composer button:disabled{opacity:.4;cursor:not-allowed}.rail-right{background:var(--bg-1);border-left:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.log-form{display:flex;flex-direction:column;gap:8px}.log-form label{display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.log-form input,.log-form select,.log-form textarea{background:var(--bg-0);border:1px solid var(--line);border-radius:3px;padding:6px 8px;outline:none;box-shadow:var(--shadow-in);font-family:var(--mono);font-size:11px;color:var(--ink-0)}.log-form input:focus,.log-form select:focus,.log-form textarea:focus{border-color:var(--accent)}.log-form textarea{resize:vertical;min-height:50px}.log-form .row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.log-form button{background:var(--bg-3);border:1px solid var(--line);border-radius:3px;padding:8px 10px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-0);margin-top:4px;box-shadow:var(--shadow-out)}.log-form button:hover{background:var(--green);color:var(--bg-0);border-color:var(--green)}.log-form .toast{font-family:var(--mono);font-size:10px;color:var(--green);padding:4px 0}.log-list{margin-top:16px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-soft);padding-top:12px}.log-item{background:var(--bg-2);border-left:3px solid var(--ink-3);padding:6px 8px;border-radius:3px;display:flex;flex-direction:column;gap:2px}.log-item.outcome-meeting_booked{border-left-color:var(--green)}.log-item.outcome-referral_obtained{border-left-color:var(--accent)}.log-item.outcome-future_follow_up{border-left-color:var(--amber)}.log-item.outcome-disqualified{border-left-color:var(--ink-3)}.log-item .head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--ink-1)}.log-item .head .who{color:var(--ink-0);font-weight:600}.log-item .head .when{color:var(--ink-2)}.log-item .body{font-family:var(--mono);font-size:10px;color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-3)}@media(max-width:1100px){.app{grid-template-columns:200px 1fr 0}.rail-right{display:none}}
