/* Layout around the shared transcript (chat.css): a sticky top bar, the page-scrolling log, and a sticky composer. */
body { padding:0 0 12px; min-height:100vh; display:flex; flex-direction:column; }
main { width:100%; padding:18px 32px 12px; flex:1; }
.topbar { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:14px; padding:10px 24px; background:var(--surface); border-bottom:1px solid var(--border); }
.topbar .logo { height:22px; }
/* solicorp_logo_light.png is the light-coloured logo, for the dark theme. */
:root[data-theme="light"] .logo-light, :root:not([data-theme="light"]) .logo-dark { display:none; }
.topbar .title { font-weight:650; font-size:15px; }
.topbar .session-line { color:var(--muted); font-size:12.5px; margin-left:auto; font-family:Consolas,"Cascadia Mono",monospace; }
.topbar .toggle { font-size:12.5px; color:var(--muted); display:flex; align-items:center; gap:6px; white-space:nowrap; }
.dev-login { max-width:900px; margin:0 auto 24px; padding:20px 24px; border:1px dashed var(--border); border-radius:14px; background:var(--surface); }
.dev-login h2 { margin:0 0 6px; font-size:16px; }
.dev-login p { font-size:13px; color:var(--muted); }
.dev-login input { display:block; width:100%; margin:6px 0; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:var(--code-bg); color:var(--fg); font:13px Consolas,"Cascadia Mono",monospace; }
.dev-login button { margin-top:6px; }
.composer { position:sticky; bottom:0; z-index:5; background:var(--bg); border-top:1px solid var(--border); padding:8px 32px 6px; }
.composer > * { max-width:900px; margin-left:auto; margin-right:auto; }
.attachments { display:flex; flex-wrap:wrap; gap:6px; align-items:center; min-height:30px; margin-bottom:6px; }
.attachments .chip { font-size:12px; border:1px solid var(--border); border-radius:8px; padding:3px 9px; background:var(--surface); cursor:pointer; color:var(--fg); }
.attachments .chip::before { content:"⎘ "; color:var(--accent); }
.attachments .chip:hover { border-color:var(--error); }
.input-row { display:flex; gap:10px; align-items:stretch; }
.input-row textarea { flex:1; resize:none; min-height:44px; max-height:220px; padding:11px 16px; border:1px solid var(--border); border-radius:14px; background:var(--surface); color:var(--fg); font:15px/1.5 "Segoe UI",system-ui,sans-serif; outline:none; }
.input-row textarea:focus { border-color:var(--accent); }
.input-row textarea.drop { border-style:dashed; border-color:var(--accent); }
.buttons { display:flex; flex-direction:column; gap:6px; }
button { cursor:pointer; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--fg); font:13.5px "Segoe UI",system-ui,sans-serif; padding:8px 14px; }
button:disabled { opacity:.45; cursor:default; }
button.send { background:var(--accent); color:#fff; border-color:transparent; font-weight:600; }
:root[data-theme="light"] button.send { color:#fff; }
button.stop:not(:disabled) { color:var(--error); }
.status-row { display:flex; justify-content:space-between; font-size:12px; color:var(--muted); padding:6px 4px 0; }
@media(max-width:600px) { main { padding:12px 16px; } .composer { padding:8px 16px 4px; } .topbar { padding:8px 12px; gap:8px; } .topbar .session-line { display:none; } }
