:root{--font-body:"Avenir Next","Gill Sans","Trebuchet MS",sans-serif;--font-heading:"Optima","Avenir Next","Trebuchet MS",sans-serif;--bg-base:#071622;--bg-elevated:#0e2334;--bg-panel:#0a1b2aeb;--bg-panel-strong:#123147;--text-primary:#e8f3fb;--text-muted:#90a9bb;--text-soft:#6f899f;--brand-primary:#2ad7b8;--brand-secondary:#58a7ff;--danger:#ff6d73;--warning:#ffcc70;--success:#5ef196;--border-soft:#7ea9c63d;--shadow-main:0 24px 64px #02081466}*{box-sizing:border-box}html,body{width:100%;min-height:100%}body{font-family:var(--font-body),"Segoe UI",sans-serif;color:var(--text-primary);background:radial-gradient(70rem 40rem at -12% -25%,#4190ff38,#0000 60%),radial-gradient(55rem 40rem at 115% 4%,#2ad7b82e,#0000 55%),linear-gradient(155deg,#04111d 0%,#081928 42%,#081a29 100%);margin:0}body:before{content:"";pointer-events:none;opacity:.4;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:34px 34px;position:fixed;inset:0}h1,h2,h3{font-family:var(--font-heading),"Segoe UI",sans-serif;letter-spacing:-.015em;margin:0}p{margin:0}button,input,textarea{font:inherit}button{border:0}.app-root{--left-panel-width:272px;--right-panel-width:316px;grid-template-columns:var(--left-panel-width)minmax(0,1fr)var(--right-panel-width);gap:0;height:100vh;padding:16px;transition:grid-template-columns .18s;display:grid;position:relative}.app-root.resizing,.app-root.resizing *{cursor:ew-resize}.sidebar-resizer{z-index:20;cursor:ew-resize;touch-action:none;border-radius:999px;width:14px;margin-left:-7px;position:absolute;top:16px;bottom:16px}.sidebar-resizer.left{left:var(--left-panel-width)}.sidebar-resizer.right{left:calc(100% - var(--right-panel-width))}.sidebar-resizer:before{content:"";background:#7ea9c647;border-radius:999px;width:4px;height:64px;transition:background .14s,box-shadow .14s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sidebar-resizer:hover:before,.sidebar-resizer.active:before{background:#58a7ffd6;box-shadow:0 0 0 4px #58a7ff24}.app-root.left-collapsed .sidebar-resizer.left,.app-root.right-collapsed .sidebar-resizer.right{display:none}.panel{border:1px solid var(--border-soft);background:var(--bg-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-main);border-radius:18px;transition:width .18s,min-width .18s;animation:.22s ease-out panel-enter;position:relative;overflow:hidden}@keyframes panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel.collapsed{opacity:0;pointer-events:none;width:0;min-width:0;box-shadow:none;background:0 0;border-color:#0000}.panel.collapsed .panel-header,.panel.collapsed .panel-body,.panel.collapsed .panel-note,.panel.collapsed .context-section,.panel.collapsed .primary-button,.panel.collapsed .upload-zone,.panel.collapsed .upload-progress-wrap,.panel.collapsed .hidden-file-input{display:none}.panel-left{margin-right:16px}.panel-right{margin-left:16px}.panel-left.collapsed,.panel-right.collapsed{margin:0}.panel-header{padding:20px 18px 14px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--text-soft);margin-bottom:8px;font-size:11px;font-weight:700}.panel-header h2{font-size:22px}.panel-body{padding:0 14px 14px}.scrollable{overflow-y:auto}.panel-note,.panel-error{border-radius:10px;margin-top:8px;padding:10px;font-size:13px;line-height:1.4}.panel-note{color:var(--text-muted);background:#6897b717}.panel-error{color:#ffd1d2;background:#dc404f33;border:1px solid #ff6d7366}.collapse-button{z-index:4;width:32px;height:32px;color:var(--text-primary);border:1px solid var(--border-soft);cursor:pointer;background:#0e2334bf;border-radius:999px;position:absolute;top:8px;right:8px}.collapse-button:hover{background:#1f435cd9}.sidebar-reopen-button{z-index:25;width:36px;height:36px;color:var(--text-primary);border:1px solid var(--border-soft);cursor:pointer;background:#0e2334e0;border-radius:999px;position:absolute;top:20px;box-shadow:0 12px 24px #02081447}.sidebar-reopen-button.left{left:20px}.sidebar-reopen-button.right{right:20px}.sidebar-reopen-button:hover{background:#1f435cf5}.primary-button{background:linear-gradient(112deg,var(--brand-primary),var(--brand-secondary));color:#072433;cursor:pointer;border-radius:12px;width:calc(100% - 28px);margin:0 14px 14px;padding:10px 14px;font-weight:700;transition:transform .12s,filter .12s}.primary-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.primary-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.conversation-card{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:#1231478c;border:1px solid #6d91a63d;border-radius:12px;gap:4px;padding:11px;transition:border-color .12s,background .12s;display:grid}.conversation-card+.conversation-card{margin-top:8px}.conversation-card:hover{background:#143d5bcc;border-color:#74b2ffad}.conversation-card.active{background:linear-gradient(140deg,#2ad7b83d,#58a7ff2b),#0d2c3fd1;border-color:#2ad7b8bf}.conversation-title{font-size:14px;font-weight:700;line-height:1.3}.conversation-date{color:var(--text-muted);font-size:12px}.conversation-meta-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.conversation-status{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-self:center;align-items:center;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.conversation-status.queued{color:#c7d9ea;background:#74b2ff29}.conversation-status.running,.conversation-status.retrying{color:#072433;background:linear-gradient(112deg,var(--brand-primary),var(--brand-secondary))}.conversation-status.failed{color:#ffd7d9;background:#ff6d7333}.conversation-status.degraded{color:#ffe4a3;background:#8a601147}.chat-shell{border:1px solid var(--border-soft);box-shadow:var(--shadow-main);background:linear-gradient(#0e2334e6,#081a29db);border-radius:18px;flex-direction:column;min-height:0;animation:.22s ease-out panel-enter;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--border-soft);padding:16px 20px}.app-header h1{font-size:clamp(22px,3vw,30px)}.workspace-tabs{background:#0a1d2bb8;border:1px solid #74b2ff24;border-radius:12px;gap:6px;margin-bottom:14px;padding:4px;display:inline-flex}.workspace-tab{color:var(--text-muted);border-radius:9px;padding:8px 12px;font-size:13px;font-weight:700;text-decoration:none}.workspace-tab.active{color:var(--text-primary);background:#173952f2}.header-subtitle{color:var(--text-muted);margin-top:8px;font-size:13px;line-height:1.45}.active-context-bar{border-bottom:1px solid var(--border-soft);background:#091c2bb8;flex-wrap:wrap;gap:10px;padding:12px 20px;display:flex}.context-chip{color:#c9def0;background:#11314ab8;border:1px solid #74b2ff38;border-radius:999px;padding:7px 12px;font-size:12px}.context-chip.failed{color:#ffd7d9;background:#6e141d59;border-color:#ff6d7352}.context-chip.run-status{font-weight:700}.context-chip.run-status.idle,.context-chip.run-status.succeeded,.status-pill.succeeded{color:#baf7cc;background:#1c4f2f57;border-color:#5ef19647}.context-chip.run-status.queued,.status-pill.queued{background:#11314ad6;border-color:#74b2ff47}.context-chip.run-status.running,.context-chip.run-status.retrying,.context-chip.run-status.cancelling,.status-pill.running,.status-pill.retrying,.status-pill.cancelling{color:#072433;background:linear-gradient(112deg,var(--brand-primary),var(--brand-secondary));border-color:#2ad7b847}.context-chip.run-status.failed,.status-pill.failed,.status-pill.cancelled{color:#ffd7d9;background:#6e141d59;border-color:#ff6d7352}.status-pill.degraded{color:#ffe4a3;background:#8a601147;border-color:#f4be4d57}.chat-stream{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:22px;display:flex;overflow-y:auto}.chat-run-status-bar{border-top:1px solid var(--border-soft);background:#081825d6;align-items:center;gap:12px;padding:10px 14px;display:flex}.chat-run-status-pill{flex:none;align-self:center}.chat-run-status-copy{gap:2px;min-width:0;display:grid}.chat-run-status-copy strong{font-size:13px;line-height:1.25}.chat-run-status-copy p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}.selected-documents-strip{flex-wrap:wrap;gap:8px;display:flex}.selected-document-chip{text-overflow:ellipsis;white-space:nowrap;max-width:min(220px,48vw);overflow:hidden}.prompt-starter-bar{border-bottom:1px solid var(--border-soft);background:#081825cc;gap:10px;padding:12px 20px;display:grid}.prompt-starter-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.prompt-starter-list{flex-wrap:wrap;gap:8px;display:flex}.prompt-starter-button{padding:9px 12px}.dashboard-shell{min-height:0}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px;padding:22px;display:grid;overflow-y:auto}.dashboard-card{background:#0a1f2fbd;border:1px solid #74b2ff29;border-radius:16px;gap:8px;padding:16px;display:grid}.dashboard-card h3{font-size:20px}.dashboard-card-wide{grid-column:1/-1}.dashboard-label{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.dashboard-hint,.dashboard-empty{color:var(--text-muted);font-size:13px;line-height:1.45}.dashboard-timeline{gap:12px;margin:0;padding:0;list-style:none;display:grid}.dashboard-timeline li{align-items:flex-start;gap:10px;display:flex}.dashboard-timeline strong{font-size:14px;display:block}.dashboard-timeline p{color:var(--text-muted);margin-top:3px;font-size:12px}.timeline-dot{background:#90a9bb80;border-radius:999px;flex:none;width:8px;height:8px;margin-top:6px}.timeline-dot.running,.timeline-dot.retrying{background:var(--brand-primary)}.timeline-dot.failed,.timeline-dot.cancelled{background:var(--danger)}.timeline-dot.succeeded{background:var(--success)}.dashboard-list{gap:8px;display:grid}.dashboard-list-row{color:#d8e9f5;background:#0f283cb8;border-radius:12px;justify-content:space-between;gap:12px;padding:10px 12px;font-size:13px;display:flex}.dashboard-list-row span:last-child{color:var(--text-muted);white-space:nowrap}.dashboard-list-row.active{background:#16384fe0;border:1px solid #2ad7b859}.metrics-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.metrics-header-actions{align-items:center;gap:10px;display:flex}.metrics-grid{align-content:start}.metrics-list{gap:10px;display:grid}.metrics-list-row,.metrics-run-row{background:#0f283cb8;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.metrics-list-row span,.metrics-run-row p{color:var(--text-muted)}.metrics-list-row strong,.metrics-run-row strong{color:var(--text-primary)}.metrics-runs{gap:10px;display:grid}.metrics-run-row p{margin-top:4px;font-size:12px}.metrics-run-meta{color:var(--text-muted);justify-items:end;gap:8px;font-size:12px;display:grid}.run-status-card{background:linear-gradient(#0d2b3fe0,#071d2de6);border:1px solid #74b2ff3d;border-radius:16px;gap:10px;padding:14px 16px;display:grid}.run-status-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-pill{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.run-status-copy{color:#d2e4f2;font-size:13px}.run-event-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.run-event-list li{color:#c1d8ea;align-items:center;gap:10px;font-size:12px;display:flex}.event-dot{background:#90a9bb80;border-radius:999px;flex:none;width:8px;height:8px}.event-dot.running,.event-dot.retrying{background:var(--brand-primary)}.event-dot.failed,.event-dot.cancelled{background:var(--danger)}.event-dot.succeeded{background:var(--success)}.empty-state{text-align:center;width:min(560px,100%);color:var(--text-muted);gap:12px;margin:auto;display:grid}.empty-state h3{color:var(--text-primary);font-size:28px}.hint-card{color:#b7d6ef;text-align:left;background:#11314acc;border:1px solid #58a7ff52;border-radius:12px;padding:12px 14px}.chat-bubble{border:1px solid #7ea9c64d;border-radius:16px;width:fit-content;max-width:min(78ch,85%);padding:10px 13px;animation:.17s bubble-enter}@keyframes bubble-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble.user{background:linear-gradient(135deg,#2ad7b847,#58a7ff52);border-bottom-right-radius:6px;align-self:flex-end}.chat-bubble.assistant{background:#0c2538d6;border-bottom-left-radius:6px;align-self:flex-start}.chat-bubble.thinking{color:#ffd28f;font-style:italic}.bubble-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5}.bubble-meta{color:var(--text-soft);margin-top:6px;font-size:11px}.source-card-list{gap:8px;margin-top:10px;display:grid}.source-card{background:#071d2db3;border:1px solid #58a7ff40;border-radius:12px;padding:10px 12px}.source-card-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.source-card-header strong{color:#dff0fb;font-size:12px}.source-card-meta{color:var(--text-soft);font-size:11px}.source-card p{color:#cfe3f3;font-size:12px;line-height:1.45}.agent-actions{background:#092031a8;border:1px solid #6cb0fd57;border-radius:10px;margin-top:10px;overflow:hidden}.agent-actions-summary{cursor:pointer;color:#cfe6f7;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;font-weight:700;list-style:none;display:flex}.agent-actions-summary::-webkit-details-marker{display:none}.agent-actions-count{color:var(--text-soft);font-weight:600}.agent-actions-body{padding:0 12px 10px}.agent-action+.agent-action{margin-top:8px}.action-tool{color:#89d6ff;margin-bottom:4px;font-size:12px;font-weight:700}.action-label{color:#afd6f1}.agent-action p{font-size:12px;line-height:1.4}.agent-action code{color:#ecf8ff;word-break:break-word;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.inline-error{max-width:360px}.chat-input-row{border-top:1px solid var(--border-soft);align-items:flex-end;gap:10px;padding:14px;display:flex}.chat-input{color:var(--text-primary);resize:none;background:#041523e6;border:1px solid #7ea9c661;border-radius:12px;flex:1;min-height:48px;max-height:180px;padding:12px;line-height:1.5}.chat-input::placeholder{color:#6e8ca4}.chat-input:focus{border-color:#2ad7b8c7;outline:2px solid #2ad7b861}.send-button{width:122px;margin:0}.secondary-button{color:var(--text-primary);cursor:pointer;background:#11314acc;border:1px solid #58a7ff47;border-radius:12px;padding:11px 14px}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.empty-state-button{justify-self:center}.docs-selection-note{margin:0 14px 12px}.docs-overview{flex-wrap:wrap;gap:8px;margin:0 14px 12px;display:flex}.docs-actions{gap:8px;margin:0 14px 12px;display:flex}.docs-action-button{padding:9px 12px}.context-panel-note{margin:0 14px 12px}.context-section{background:#0c253885;border:1px solid #6d91a63d;border-radius:16px;margin:0 14px 14px;overflow:hidden}.section-toggle{width:100%;color:var(--text-primary);cursor:pointer;background:#0c2538b8;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.section-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.section-toggle-meta{color:var(--text-muted);font-size:12px}.upload-zone{width:calc(100% - 28px);color:var(--text-muted);cursor:pointer;text-align:center;background:#0b2233b8;border:2px dashed #64a4d373;border-radius:14px;gap:4px;margin:0 14px 12px;padding:14px;transition:border-color .14s,transform .14s;display:grid}.upload-zone:hover,.upload-zone.drag-active{border-color:#2ad7b8e0;transform:translateY(-1px)}.upload-title{color:var(--text-primary);font-size:13px;font-weight:700}.upload-caption{font-size:11px}.hidden-file-input{display:none}.upload-progress-wrap{background:#0b1d2bcc;border:1px solid #6897b766;border-radius:999px;height:8px;margin:0 14px 12px;overflow:hidden}.upload-progress-bar{background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary));height:100%;transition:width .13s}.document-card{background:#0c2538b3;border:1px solid #6d91a63d;border-radius:12px;align-items:flex-start;gap:8px;padding:9px;display:flex}.document-card+.document-card{margin-top:8px}.document-card.selected{background:#153a50de;border-color:#2ad7b8b3}.document-card.inactive{opacity:.8}.doc-main-row{cursor:pointer;flex:1;align-items:flex-start;gap:8px;display:flex}.doc-main-row input{accent-color:var(--brand-primary);margin-top:2px}.doc-text-wrap{gap:4px;min-width:0;display:grid}.doc-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.doc-name{text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.doc-status-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:700}.doc-status-badge.completed{color:#baf7cc;background:#1c4f2f57;border:1px solid #5ef19647}.doc-status-badge.processing,.doc-status-badge.pending{color:#072433;background:linear-gradient(112deg,var(--brand-primary),var(--brand-secondary))}.doc-status-badge.failed{color:#ffd7d9;background:#6e141d59;border:1px solid #ff6d7352}.doc-meta{color:var(--text-soft);font-size:11px}.doc-summary{color:#abd2ee;font-size:11px;line-height:1.4}.icon-danger{color:#ffd7d9;cursor:pointer;background:#ff6d731f;border-radius:8px;width:28px;height:28px}.icon-danger:hover{background:#ff6d7340}@media (max-width:1120px){.app-root{grid-template-columns:minmax(0,1fr) 300px}.sidebar-resizer{display:none}.panel-left{z-index:30;width:min(340px,100vw - 32px);margin-right:0;position:fixed;inset:16px auto 16px 16px}.panel-left.collapsed{width:0}}@media (max-width:900px){.app-root{flex-direction:column;height:auto;min-height:100vh;display:flex}.panel,.chat-shell{min-height:260px}.panel-left,.panel-right{inset:unset;width:100%;margin:0;position:relative}.panel-left.collapsed,.panel-right.collapsed{width:0;min-width:0;height:0}.app-header{flex-direction:column;align-items:flex-start}.metrics-header{flex-direction:column}.metrics-header-actions{justify-content:space-between;width:100%}.metrics-run-row,.metrics-list-row{flex-direction:column;align-items:flex-start}.metrics-run-meta{justify-items:start}.active-context-bar,.prompt-starter-bar{padding:12px 14px}.chat-stream{min-height:46vh;padding:14px}.dashboard-grid{grid-template-columns:1fr;padding:14px}.chat-bubble{max-width:94%}.source-card-header{flex-direction:column;align-items:flex-start}}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#58a7ff66;border-radius:20px}::-webkit-scrollbar-track{background:#0a23345c}.right-panel-tabs{background:#0a1d2bb8;border:1px solid #74b2ff24;border-radius:12px;gap:4px;padding:4px;display:flex}.right-panel-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:8px 10px;font-size:12px;font-weight:700;transition:background .12s,color .12s}.right-panel-tab.active{color:var(--text-primary);background:#173952f2}.tools-panel-body{gap:12px;padding:0 14px 14px;display:grid;overflow-y:auto}.tool-row{background:#0c2538b3;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.tool-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.tool-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:4px 8px;font-size:10px;font-weight:700}.tool-badge.active{color:#baf7cc;background:#1c4f2f57;border:1px solid #5ef19647}.tool-badge.inactive{color:var(--text-muted);background:#122e42b3;border:1px solid #6d91a63d}.gmail-card{background:#0c253885;border:1px solid #6d91a63d;border-radius:14px;gap:10px;padding:14px;display:grid}.gmail-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.gmail-card-label{color:var(--text-primary);font-size:13px;font-weight:700}.gmail-card-account{color:var(--text-muted);font-size:12px}.gmail-card-actions{flex-wrap:wrap;gap:8px;display:flex}.gmail-connect-button{padding:9px 14px;font-size:13px}.gmail-disconnect-button{color:#ffd7d9;background:#6e141d59;border-color:#ff6d7352;padding:9px 14px;font-size:13px}.gmail-disconnect-button:hover{background:#9b1e2a7a}
