:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e8ebf2;background:#080a0f;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -20%,#24214a 0,#0b0d13 36%,#080a0f 70%)}button,input,textarea{font:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);padding:34px;border:1px solid #272b39;border-radius:22px;background:#10131b;box-shadow:0 30px 90px #0008;display:grid;gap:22px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#8c7bff,#5f4ae6);font-weight:900;color:#fff}.brand-mark.small{width:36px;height:36px;border-radius:10px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#9a91d8;font-weight:800;margin:0 0 6px}.login-card h1,.thread-head h1{margin:0;font-size:30px;letter-spacing:-.03em}.muted{color:#9299aa;line-height:1.55}.login-card label{display:grid;gap:8px;color:#bfc5d2;font-size:14px}.login-card input{border:1px solid #34394a;background:#0b0e15;color:#fff;border-radius:12px;padding:13px 14px;outline:none}.login-card input:focus,.composer-input:focus{border-color:#8172f5;box-shadow:0 0 0 3px #8172f51e}.primary,.ghost,.danger-ghost,.starter-grid button{border:0;border-radius:10px;cursor:pointer}.primary{padding:13px 16px;background:#8172f5;color:#fff;font-weight:800}.primary:disabled{opacity:.5}.app-shell{min-height:100vh;display:flex;flex-direction:column}header{height:66px;border-bottom:1px solid #1d2130;background:#0b0e15dd;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px}.brand>div{display:grid}.brand span{font-size:12px;color:#8f96a8}.header-actions{display:flex;align-items:center;gap:14px}.secure-dot{font-size:12px;color:#8ba795}.secure-dot:first-letter{color:#54d388}.ghost{background:transparent;color:#b9c0cf;padding:9px 11px;border:1px solid #2b3040}.thread-root{flex:1}.thread-viewport{width:min(900px,100%);margin:0 auto;padding:42px 24px 180px}.thread-head{text-align:center;padding:18px 0 34px}.thread-head h1{font-size:34px}.messages{display:grid;gap:24px}.message{max-width:88%;display:grid;gap:8px}.message.user{justify-self:end}.message.assistant{justify-self:start;width:100%}.message-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#81889a;font-weight:700}.message.user .message-meta{justify-content:flex-end}.message-text{white-space:pre-wrap;line-height:1.65;font-size:15px}.message.user .message-text{background:#6e5fe5;color:#fff;border-radius:18px 18px 5px;padding:12px 15px}.message.assistant .message-text{padding:2px 0}.state{padding:3px 8px;border:1px solid #34394a;border-radius:999px;font-size:10px;color:#bfc4d1}.state-completed{border-color:#28533b;color:#77d49a}.state-failed{border-color:#61323b;color:#ff8795}.state-running,.state-queued,.state-retry_wait{border-color:#5b4e28;color:#e0c46f}.timeline{margin-top:6px;border-left:1px solid #2c3140;padding-left:14px;display:grid;gap:8px}.timeline-row{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;color:#868e9f;font-size:12px}.timeline-dot{width:6px;height:6px;border-radius:50%;background:#8172f5;margin-left:-18px}.timeline-row time{font-size:11px;color:#5f6676}.danger-ghost{justify-self:start;margin-top:4px;background:#26151a;color:#ff8795;border:1px solid #5c2934;padding:7px 10px}.composer-zone{position:fixed;bottom:0;left:0;right:0;padding:18px 20px 24px;background:linear-gradient(transparent,#080a0f 30%);z-index:8}.composer-zone>*{width:min(850px,100%);margin-left:auto;margin-right:auto}.composer{display:flex;align-items:flex-end;gap:8px;border:1px solid #2c3141;background:#11151e;border-radius:18px;padding:9px 10px;box-shadow:0 16px 55px #0009}.composer-input{flex:1;resize:none;max-height:180px;min-height:43px;border:0;background:transparent;color:#eef1f7;outline:none;padding:11px 8px}.attach,.send{border:0;cursor:pointer;border-radius:11px;min-width:42px;height:42px}.attach{background:#1b2030;color:#b5bdd0;font-size:23px}.send{background:#8172f5;color:#fff;font-weight:800;padding:0 15px}.send.cancel{background:#3d2930;color:#ffabb5}.composer-note{text-align:center;color:#5f6675;font-size:11px;padding-top:7px}.upload-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:7px}.upload-list span{display:flex;align-items:center;gap:7px;background:#1a1f2c;border:1px solid #303649;border-radius:999px;padding:6px 10px;color:#bac1d0;font-size:12px}.upload-list button{border:0;background:transparent;color:#8f97a9;cursor:pointer}.error-box{background:#32181f;border:1px solid #64303c;color:#ff9cab;border-radius:10px;padding:10px 12px;font-size:13px}.error-box.compact{margin-top:6px}.empty{text-align:center;color:#777f91;padding:38px}.starter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.starter-grid button{padding:18px;text-align:left;background:#121722;border:1px solid #282e3e;color:#cbd1de}.starter-grid button:hover{border-color:#5f54a7}.attachment-summary{font-size:11px;color:#a9b1c2}.composer-zone .error-box{margin-bottom:8px}@media(max-width:680px){header{padding:0 14px}.secure-dot{display:none}.thread-viewport{padding:26px 14px 170px}.thread-head h1{font-size:28px}.message{max-width:96%}.starter-grid{grid-template-columns:1fr}.composer-zone{padding:14px 10px 16px}.composer-note{display:none}}.approval-card{margin-top:10px;border:1px solid #735d25;background:#19160f;border-radius:14px;padding:14px;display:grid;gap:10px;max-width:640px}.approval-head{display:flex;align-items:center;justify-content:space-between;color:#f1d27a}.approval-head span{font-size:10px;border:1px solid #665522;border-radius:999px;padding:3px 7px}.approval-summary{color:#e9e2cf;font-size:14px}.approval-detail{display:flex;gap:10px;font-size:12px;color:#8e94a2}.approval-detail b{color:#c9ced8}.approval-card pre{margin:0;background:#0f1117;border:1px solid #2a2f3c;border-radius:9px;padding:9px;color:#bbc3d2;overflow:auto;font-size:11px}.approval-actions{display:flex;gap:8px}.approval-actions button{border:0;border-radius:9px;padding:9px 12px;font-weight:800;cursor:pointer}.approval-actions .approve{background:#d0ae4f;color:#17130a}.approval-actions .reject{background:#2b2023;color:#ff9eaa;border:1px solid #5b3139}.approval-card small{color:#82785f}.approval-actions button:disabled{opacity:.5;cursor:wait}
