:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#f7f8f6;--header-bg:#223748;--header-text:#f4f8fb;--text:#172018;--muted:#607061;--line:#d5ddd5;--surface:#fff;--surface-user:#edf5ef;--input-border:#b0cbb8;--input-focus:#2f8f5b;--max-width:820px;--radius:14px;--surface-streaming:#f2f6f2;--error-bg:#f8efec;--error-border:#d5b0a8;--error-text:#7d4338;--error-accent:#d27a66;--warning-bg:#eef5ea;--warning-border:#b8d9a8;--warning-text:#31533d;--warning-accent:#6eae59;--info-bg:#edf4f4;--info-text:#35535a;--info-accent:#6ea7b4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page-bg);min-height:100vh;color:var(--text);margin:0}button,input,textarea{font:inherit}.app-shell{background:var(--page-bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{background:var(--header-bg);min-height:52px;color:var(--header-text);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex}.header-brand{flex-shrink:0;align-items:center;transition:opacity .2s,visibility .2s;display:inline-flex}.header-brand--hidden{visibility:hidden;opacity:0}.header-brand img{height:30px;display:block}.auth-strip{color:#f4f8fbc7;flex-shrink:0;align-items:center;gap:16px;font-size:.95rem;display:flex}.auth-user-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;overflow:hidden}.auth-link{appearance:none;color:var(--header-text);text-underline-offset:3px;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.95rem;text-decoration:underline}.auth-link:hover{color:#fff}.conversation-header{background:var(--page-bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 16px;display:flex}.conversation-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.98rem;font-weight:600;overflow:hidden}.conversation-tools{flex-shrink:0;align-items:center;gap:12px;display:flex}.icon-button{justify-content:center;align-items:center;display:inline-flex}.new-chat-button{appearance:none;color:var(--input-focus);cursor:pointer;background:0 0;border:0;border-radius:10px;width:38px;height:38px;padding:0;transition:background-color .16s,opacity .16s}.new-chat-button:hover{background:#2f8f5b1a}.new-chat-button:disabled,.new-chat-button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.new-chat-button[aria-disabled=true]:hover{background:0 0}.service-banner-wrap{flex-shrink:0;padding:8px 16px}.service-banner{width:min(100%, var(--max-width));border-radius:12px;align-items:flex-start;gap:12px;margin:0 auto;padding:11px 14px;font-size:.91rem;display:flex}.service-banner:before{content:"";border-radius:999px;flex-shrink:0;align-self:stretch;width:4px;min-height:20px}.service-banner--warning{background:var(--warning-bg);color:var(--warning-text)}.service-banner--warning:before{background:var(--warning-accent)}.service-banner--error{background:var(--error-bg);color:var(--error-text)}.service-banner--error:before{background:var(--error-accent)}.service-banner--info{background:var(--info-bg);color:var(--info-text)}.service-banner--info:before{background:var(--info-accent)}.banner-body{flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0;line-height:1.45;display:flex}.banner-action{appearance:none;color:inherit;cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.banner-action:hover{opacity:.8}.content-area{flex:1;min-height:0;position:relative}.state-panel{flex-direction:column;transition:opacity .2s;display:flex;position:absolute;inset:0}.state-panel--hidden{opacity:0;pointer-events:none}.state-panel--empty{justify-content:center;align-items:center;padding:24px 16px 10vh;transition-duration:.15s;overflow:auto}.empty-content{justify-content:center;width:100%;display:flex}.hero{flex-direction:column;align-items:stretch;width:min(100%,720px);display:flex}.hero-logo{align-self:center;width:200px;max-width:58vw;height:auto;margin:32px 0;display:block;transform:translateY(-30px)}.hero-headline{letter-spacing:-.02em;color:var(--text);margin:0 0 20px;font-size:clamp(1.9rem,4vw,2.7rem);font-weight:300;line-height:1.1}.hero-headline-muted{color:color-mix(in srgb, var(--text) 62%, white)}.centered-state{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.error-message{color:var(--error-text);margin:0;font-size:.95rem}.retry-inline{appearance:none;color:var(--error-text);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.retry-inline:hover{opacity:.8}.loading-indicator{align-items:center;gap:6px;display:inline-flex}.loading-indicator span{background:#3a92b5;border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite typing}.loading-indicator span:nth-child(2){animation-delay:.16s}.loading-indicator span:nth-child(3){animation-delay:.32s}.messages-wrap{flex:1;min-height:0;padding:24px 16px;overflow-y:auto}.messages-list{width:min(100%, var(--max-width));flex-direction:column;gap:18px;margin:0 auto;display:flex}.message-group{flex-direction:column;gap:8px;display:flex}.message-group.user{justify-content:flex-end;align-items:flex-end}.message-group.assistant{justify-content:flex-start;align-items:stretch}.message-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:700}.message-bubble{border-radius:var(--radius);word-break:break-word;max-width:72ch;padding:14px 16px;line-height:1.55;overflow-x:auto}.message-bubble.user{background:var(--surface-user);color:var(--text)}.message-bubble.assistant{color:var(--text);background:0 0;width:100%;max-width:none}.message-bubble.error{background:var(--error-bg);color:var(--error-text)}.message-bubble.streaming{background:var(--surface-streaming)}.message-bubble .markdown>:first-child{margin-top:0}.message-bubble .markdown>:last-child{margin-bottom:0}.message-bubble .markdown p,.message-bubble .markdown ul,.message-bubble .markdown ol,.message-bubble .markdown blockquote,.message-bubble .markdown pre{margin:.5em 0}.message-bubble .markdown code{background:#1f313d12;border-radius:6px;padding:.12em .36em;font-family:SFMono-Regular,Cascadia Code,monospace;font-size:.94em}.message-bubble .markdown pre{background:#1225310d;border-radius:8px;padding:.8rem .9rem;overflow-x:auto}.message-bubble .markdown pre code{background:0 0;padding:0}.message-bubble .markdown blockquote{color:var(--muted);border-left:3px solid #3da9cc;padding-left:.9rem}.typing-indicator{align-items:center;gap:6px;min-height:24px;display:inline-flex}.typing-indicator span{background:#3a92b5;border-radius:50%;width:8px;height:8px;animation:1.1s ease-in-out infinite typing}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}@keyframes typing{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.approval-card{border-radius:var(--radius);background:#f0f5ef;align-self:flex-start;gap:14px;max-width:min(72ch,88%);padding:18px;display:grid}.approval-eyebrow{color:#51705f;letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:700}.approval-card h3{margin:0;font-size:1.05rem;font-weight:600}.approval-copy{color:var(--muted);margin:0;font-size:.94rem;line-height:1.5}.approval-list{flex-wrap:wrap;gap:8px;display:flex}.approval-chip{color:#2f6d4b;background:#2f8f5b1a;border-radius:999px;padding:6px 10px;font-size:.9rem}.approval-actions{flex-wrap:wrap;gap:10px;display:flex}.approval-button{appearance:none;cursor:pointer;border:0;border-radius:10px;min-height:40px;padding:0 16px;font-size:.94rem;font-weight:600;transition:opacity .16s}.approval-button:hover{opacity:.88}.approval-button:disabled{opacity:.55;cursor:not-allowed}.approval-button.allow{color:#fff;background:#2f8f5b}.approval-button.reject{color:var(--text);background:#17201814}.composer-row{position:relative}.composer-textarea{resize:none;border:1px solid var(--input-border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);outline:none;padding:16px 56px 16px 16px;font-size:1rem;line-height:1.5;display:block}.composer-textarea:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #2f8f5b1f}.composer-textarea:disabled{color:var(--muted);background:#f4f6f4}.composer--empty{width:min(100%,720px)}.composer--empty .composer-textarea{min-height:110px;overflow-y:hidden}.composer-wrap{background:var(--page-bg);flex-shrink:0;padding:12px 16px 20px}.composer--active{width:min(100%, var(--max-width));margin:0 auto}.composer--active .composer-textarea{min-height:54px;max-height:168px;overflow-y:auto}.composer-status{color:var(--muted);text-align:right;margin-top:4px;font-size:.78rem}.send-button{width:38px;height:38px;color:var(--input-focus);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;transition:background-color .16s,opacity .16s;display:inline-flex;position:absolute;bottom:10px;right:12px}.send-button:hover:not(:disabled){background:#2f8f5b1a}.send-button:disabled{opacity:.35;cursor:not-allowed}.history-state,.empty-state{color:var(--muted);padding:16px;font-size:.93rem}.history-state.error{color:var(--error-text)}@media (width>=721px){.app-header,.conversation-header,.service-banner-wrap,.messages-wrap,.composer-wrap,.state-panel--empty{padding-inline:24px}.composer--empty .composer-textarea{min-height:124px}}@media (width<=520px){.message-bubble{max-width:100%}.approval-actions{flex-direction:column}}
