:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#1e302e;background:#f6f7f3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #d6dfd8;border-radius:9px;padding:11px 15px;background:white;color:#1c4038}button:hover{background:#eaf0e8}button:disabled{opacity:.5;cursor:wait}input,textarea,select{width:100%;padding:12px;border:1px solid #cbd8ce;border-radius:8px;background:#fff;color:#1e302e}textarea{resize:vertical;min-height:90px}label{display:block;font-size:13px;font-weight:600;margin:16px 0}label input,label textarea,label select{display:block;margin-top:7px}h1{font-size:32px;letter-spacing:-1px;margin:8px 0 24px}h2{font-size:19px;margin:0 0 15px}p{line-height:1.6}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#688077}.login{max-width:570px;margin:12vh auto;padding:24px}.login h1{font-size:42px;line-height:1.2}.login form{max-width:340px}.login button,.primary{background:#204c3e;color:white;border-color:#204c3e}.mark{width:48px;height:48px;border-radius:12px;background:#204c3e;color:white;display:grid;place-items:center;font-size:26px;font-weight:800;margin-bottom:35px}[hidden]{display:none!important}#workspace{display:flex;min-height:100vh}aside{width:238px;flex-shrink:0;padding:36px 20px;background:#eef2eb;border-right:1px solid #dde4da;display:flex;flex-direction:column}.brand{font-size:25px;font-weight:800;color:#1f4035;text-decoration:none;letter-spacing:2px;margin-bottom:50px}.brand span{font-size:10px;letter-spacing:1px;margin-left:10px;border:1px solid #bdcdbb;border-radius:4px;padding:3px}nav{display:grid;gap:6px}nav button{background:transparent;border:0;text-align:left}nav button.active{background:#dce6d8;font-weight:650}.aside-bottom{margin-top:auto;font-size:12px;color:#63776b;padding-top:40px}.aside-bottom button{display:block;margin-top:15px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#598364;margin-right:6px}main{padding:35px 44px;flex:1;min-width:0;max-width:1500px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.badge{font-size:11px;border:1px solid #d7dfd1;padding:7px 10px;border-radius:20px;color:#647760}.banner{padding:14px 18px;border:1px solid #e2d4a2;background:#faf4df;border-radius:9px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.card{border:1px solid #dce3d8;background:white;border-radius:13px;padding:22px;margin-bottom:18px}.muted,small{color:#6b7e72;font-size:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row select{width:auto;max-width:320px}.row button{white-space:nowrap}.chat{max-width:950px}.messages{min-height:230px;max-height:51vh;overflow:auto;margin:20px 0;scroll-behavior:smooth}.message{padding:20px;margin:12px 0;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e0e7db;line-height:1.6}.message.user{margin-left:45px;background:#e8efe3}.message small{display:block;font-weight:700;text-transform:uppercase;margin-bottom:8px;letter-spacing:1px}.composer{background:white;border:1px solid #d6e0d0;border-radius:12px;padding:13px}.composer textarea{border:0;min-height:80px;outline-offset:2px}.composer .row{justify-content:space-between}.empty{padding:60px 25px;color:#647b6b;text-align:center;line-height:1.7}.status{font-size:11px;text-transform:uppercase;letter-spacing:1px;display:inline-block;padding:5px 9px;background:#eff3e9;border-radius:5px}.failed{background:#fbe8e2;color:#9b3c2a}.body-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}#notice:not(:empty){position:fixed;top:15px;right:20px;padding:13px 19px;border-radius:8px;background:#223e34;color:white;z-index:10;max-width:450px;box-shadow:0 5px 30px #0002}form button{margin-top:8px}.history{border-top:1px solid #e3e8df;margin-top:15px;padding-top:15px}a{color:#356f52}@media(max-width:800px){#workspace{display:block}aside{width:auto;padding:18px;display:block}.brand{display:block;margin-bottom:15px}aside>.eyebrow,.aside-bottom{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;font-size:12px}main{padding:24px 18px}.badge{display:none}h1{font-size:27px}.login h1{font-size:34px}.messages{max-height:48vh}.message.user{margin-left:18px}}
.markdown{white-space:normal}.markdown p{margin:0 0 12px}.markdown p:last-child{margin-bottom:0}.markdown ul,.markdown ol{margin:8px 0 14px;padding-left:25px}.markdown li{margin:7px 0}.markdown pre{white-space:pre;overflow:auto;padding:14px;background:#eff3ec;border-radius:8px}.markdown code{font-family:ui-monospace,monospace;font-size:.9em;background:#eff3ec;padding:2px 4px;border-radius:4px}.markdown pre code{padding:0}.markdown blockquote{border-left:3px solid #a5bca3;margin:12px 0;padding-left:15px;color:#5b6d60}.markdown h2,.markdown h3,.markdown h4,.markdown h5{margin:15px 0 9px}.message .model-label{font-size:10px;font-weight:400;text-transform:none;letter-spacing:0;margin:14px 0 0;color:#738474}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto;margin:0}.card select{max-width:100%}

.pr-preview{display:block;max-width:100%;max-height:420px;object-fit:contain;border-radius:8px;margin:12px 0}

/* Conversation content scrolls; the composer remains in the viewport. */
.chat-mode{height:100dvh;overflow:hidden}
.chat-mode #workspace{height:100dvh;min-height:0;overflow:hidden}
.chat-mode #workspace>aside{overflow:auto}
.chat-mode main{height:100%;display:flex;flex-direction:column;padding-top:22px;padding-bottom:18px;overflow:hidden}
.chat-mode main>header{flex:none;margin-bottom:10px}
.chat-mode main>header h1{margin-bottom:8px;font-size:27px}
.chat-mode main>header .eyebrow{margin:0 0 6px}
.chat-mode #setup-banner{flex:none;margin:0 0 10px;padding:8px 12px}
.chat-mode #page{flex:1;min-height:0;display:flex;flex-direction:column}
.chat-mode .chat{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;gap:10px}
.chat-mode .chat>.row{flex:none}
.chat-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px;scroll-behavior:smooth}
.chat-scroll .messages{min-height:0;max-height:none;overflow:visible;margin:0}
.chat-scroll .card{padding:14px;margin:10px 0}
.chat-scroll summary{cursor:pointer;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.chat-scroll details>summary{padding:4px 0}
.chat-scroll section:empty,#pending:empty,#documents:empty{display:none}
.chat-scroll table{width:100%;table-layout:fixed;border-collapse:collapse}
.chat-scroll th,.chat-scroll td{padding:8px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.chat-mode .composer{flex:none;margin:0;padding:9px;box-shadow:0 -5px 16px #1e302e08}
.chat-mode .composer textarea{height:64px;min-height:44px;max-height:18dvh;resize:vertical;padding:8px}
.chat-mode .composer .row{gap:8px;align-items:center}
.chat-mode .composer label{margin:0;font-size:11px;font-weight:400}
.chat-mode .composer input[type=file]{max-width:200px;padding:5px;font-size:11px;margin-top:2px}
.chat-mode .composer select{max-width:230px;padding:8px;font-size:12px}
.chat-mode .composer button{margin:0;padding:9px 15px}
@media(max-width:800px){
 .chat-mode #workspace{display:flex;flex-direction:column}
 .chat-mode #workspace>aside{flex:none;padding:8px 12px;border-right:0;border-bottom:1px solid #dde4da;overflow:hidden}
 .chat-mode aside .brand{display:none}
 .chat-mode nav{gap:2px}
 .chat-mode nav button{padding:9px}
 .chat-mode main{flex:1;min-height:0;height:auto;padding:10px 12px max(10px,env(safe-area-inset-bottom))}
 .chat-mode main>header{display:none}
 .chat-mode .chat>.row{flex-wrap:nowrap;gap:6px}
 .chat-mode .chat>.row select{min-width:0;max-width:none;flex:1;padding:8px;font-size:12px}
 .chat-mode .chat>.row button{padding:8px;font-size:12px}
 .chat-mode .composer input[type=file]{max-width:140px}
 .chat-mode .composer select{max-width:160px}
 .chat-mode .composer textarea{height:52px}
}
