:root{color:#0a1020;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}.app-shell{min-height:100vh;padding:18px;background:#fff}.chat-workspace{width:min(1120px,100%);margin:0 auto}.auth-shell{display:grid;place-items:center}.login-panel{width:min(420px,100%);border:1px solid #d8e4f5;border-radius:8px;padding:22px;background:#fff;box-shadow:0 18px 50px #0a183014}.login-panel h1{margin-bottom:20px;font-size:2rem}.login-form{display:grid;gap:10px}.login-form label{color:#1d2a3d;font-size:.86rem;font-weight:800}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.eyebrow{margin:0 0 4px;color:#075fd8;font-size:.72rem;font-weight:700;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:#05070c;font-size:clamp(1.55rem,4vw,2.8rem);line-height:1.04;letter-spacing:0}h2{margin-bottom:12px;color:#05070c;font-size:.92rem}.status-pill{flex:0 0 auto;border:1px solid #bad5fb;border-radius:999px;padding:7px 10px;background:#edf6ff;color:#075fd8;font-size:.78rem;font-weight:700}.content-grid{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;align-items:start}.settings-panel,.conversation-panel{border:1px solid #d8e4f5;border-radius:8px;background:#fff;box-shadow:0 18px 44px #0a183014}.settings-panel{padding:16px}dl{display:grid;gap:11px;margin:0}dt{margin-bottom:3px;color:#53657d;font-size:.7rem;font-weight:700;text-transform:uppercase}dd{margin:0;color:#101828;font-size:.86rem;overflow-wrap:anywhere}.conversation-panel{display:grid;grid-template-rows:minmax(300px,1fr) auto auto;min-height:calc(100vh - 104px);overflow:hidden}.message-list{display:flex;flex-direction:column;gap:9px;padding:14px;overflow-y:auto}.message{width:min(78%,680px);border:1px solid #d8e4f5;border-radius:8px;padding:10px 12px;background:#fff;color:#0a1020}.message.user{align-self:flex-end;border-color:#0e73ff;background:#075fd8;color:#fff}.message.user span{color:#dceeff}.message.assistant{align-self:flex-start}.message span{display:block;margin-bottom:5px;color:#64748b;font-size:.68rem;font-weight:800;text-transform:uppercase}.message p{margin-bottom:0;line-height:1.42;font-size:.92rem;white-space:pre-wrap}.message-content{max-width:100%;overflow-x:auto;line-height:1.42;font-size:.92rem}.message-content p,.message-content h3{margin:0 0 10px}.message-content h3{color:#05070c;font-size:.98rem}.message-content strong{color:#05070c}.message-content table{width:100%;min-width:560px;margin:8px 0 14px;border-collapse:collapse;font-size:.82rem;white-space:normal}.message-content th,.message-content td{border:1px solid #d8e4f5;padding:7px 8px;text-align:left;vertical-align:top}.message-content th{background:#edf6ff;color:#075fd8;font-weight:800}.message-content td{color:#101828}.loading p{color:#53657d}.error-banner{margin:0 14px 12px;border:1px solid #f0b4b4;border-radius:8px;padding:10px 12px;background:#fff2f2;color:#9f1d1d}.suggestion-bar{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #d8e4f5;padding:10px 14px 0;background:#fff}.suggestion-button{justify-self:auto;min-width:0;border:1px solid #bad5fb;padding:7px 10px;background:#edf6ff;color:#075fd8;font-size:.82rem;text-align:left}.suggestion-button:hover:not(:disabled){border-color:#0e73ff;background:#dceeff}.composer{display:grid;gap:8px;padding:12px 14px 14px;background:#fff}.composer label{color:#1d2a3d;font-size:.78rem;font-weight:800}textarea,input{width:100%;border:1px solid #bad5fb;border-radius:8px;padding:10px 12px;color:#0a1020;background:#fff}textarea{min-height:76px;resize:vertical}input:focus,textarea:focus{border-color:#4da3ff;outline:3px solid rgba(77,163,255,.18)}button{justify-self:end;min-width:92px;border:0;border-radius:8px;padding:9px 14px;background:#0866e8;color:#fff;font-weight:800;cursor:pointer}button:disabled{background:#94a3b8;cursor:not-allowed}.text-button{min-width:auto;border:1px solid #bad5fb;background:#fff;color:#075fd8}.text-button:hover{background:#edf6ff}@media(max-width:760px){.app-shell{padding:12px}.top-bar,.content-grid{display:grid}.top-bar,.content-grid{grid-template-columns:1fr}.conversation-panel{min-height:560px}.message{width:100%}}
