:root{color-scheme:light;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--brand:#16695a;--brand-dark:#0e473d;--brand-soft:#f0fdf9;--surface:#fff;--bg:#f8fafc}*{box-sizing:border-box}body{margin:0;font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:240px 1fr;height:100vh;overflow:hidden}.shell-sidebar{background:#0e2925;color:#fff;padding:24px 16px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:10}.brand{display:flex;gap:12px;align-items:center}.brand>span,.mark{display:grid;place-items:center;background:#d4a947;color:#0e2925;font-weight:800;border-radius:12px}.brand>span{width:40px;height:40px;font-size:16px}.brand div{display:flex;flex-direction:column}.brand small{color:#94b8b1;font-size:12px}.shell nav{display:grid;grid-gap:6px;gap:6px;margin-top:40px}.logout,.shell nav button{border:0;background:transparent;color:#c0d5d1;text-align:left;padding:11px 14px;border-radius:10px;font-weight:500;display:flex;align-items:center;gap:10px;transition:all .15s}.shell nav button.active,.shell nav button:hover{background:#1a453f;color:#fff}.logout{margin-top:auto}.feedback{gap:6px}.feedback,.feedback button{display:inline-flex;align-items:center}.feedback button{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:500;gap:4px;transition:all .15s;cursor:pointer}.feedback button:hover{background:#e2e8f0;color:#0f172a}.feedback button.selected{background:#e6f4f0;border-color:var(--brand);color:var(--brand);font-weight:600}@media(max-width:900px){.shell{display:flex;flex-direction:column;height:100vh;overflow:hidden}.shell-sidebar{height:auto;min-height:56px;flex-direction:row;align-items:center;justify-content:space-between;padding:10px 16px;position:relative;z-index:20;flex-shrink:0}.shell nav{display:flex;gap:8px;margin-top:0}.logout,.shell nav button{padding:6px 12px;font-size:13px}.logout{margin-top:0}.main-content{height:calc(100vh - 56px);flex:1 1;min-width:100%}.chat-layout{flex-direction:column;overflow:hidden}.chat-history-sidebar{width:100%;height:auto;max-height:160px;border-right:0;border-bottom:1px solid #e2e8f0;flex-shrink:0}.chat-composer-form,.messages-scroll-area{padding-left:14px;padding-right:14px}.create-doc-form,.debug-search-form{flex-direction:column}.page{padding:16px}.table-wrapper{overflow-x:auto}.source-card summary{flex-wrap:wrap;gap:4px}.open-pdf-btn{margin-left:0;margin-top:4px}}.main-content{min-width:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;position:relative}.page{max-width:1180px;margin:auto;padding:32px;height:100%;overflow:auto}.page header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page h1{font-size:26px;font-weight:700;margin:0 0 4px;color:#0f172a}.page header p{margin:0;color:var(--muted);font-size:14px}.toast-stack{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:420px;pointer-events:none}.toast-item{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;background:#1e1e2e;color:#fcd;border:1px solid rgba(252,100,100,.25);padding:13px 16px;border-radius:12px;font-size:13.5px;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:toast-in .25s ease;line-height:1.45}.toast-item svg{color:#f87171;margin-top:1px}.toast-message{flex:1 1;color:#fecaca}.toast-close{background:transparent;border:0;color:#94a3b8;font-size:18px;cursor:pointer;padding:0 0 0 8px;line-height:1;flex-shrink:0;transition:color .15s;margin-top:-1px}.toast-close:hover{color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}.chat-layout{display:flex;height:100%;width:100%;background:#f8fafc;overflow:hidden}.chat-history-sidebar{width:280px;background:#ffffff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;height:100%}.history-header{padding:16px;border-bottom:1px solid #f1f5f9}.new-chat-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:white;border:0;padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;transition:background .2s;box-shadow:0 2px 6px rgba(22,105,90,.15)}.new-chat-btn:hover{background:var(--brand-dark)}.history-list{flex:1 1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:4px}.history-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 6px 10px;margin-bottom:2px}.history-label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.clear-history-btn,.history-label{font-size:11px;white-space:nowrap;flex-shrink:0}.clear-history-btn{background:transparent;border:0;color:#ef4444;font-weight:600;cursor:pointer;padding:3px 8px;border-radius:4px;transition:all .15s;line-height:1.2}.clear-history-btn:hover{background:#fee2e2;color:#dc2626}.history-empty{font-size:13px;color:#94a3b8;padding:12px;text-align:center}.history-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:transparent;border-radius:8px;color:#475569;font-size:13.5px;text-align:left;cursor:pointer;transition:all .15s;position:relative}.history-item:hover{background:#f1f5f9;color:#0f172a}.history-item.active{background:#e6f4f0;color:var(--brand);font-weight:600}.history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;min-width:0}.delete-conv-btn{background:transparent;border:0;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;display:none;align-items:center;justify-content:center;transition:color .15s,background .15s;flex-shrink:0}.history-item:hover .delete-conv-btn{display:flex}.delete-conv-btn:hover{color:#ef4444;background:#fee2e2}.history-pending-badge{font-size:10px;font-weight:600;background:#fef3c7;color:#b45309;padding:2px 6px;border-radius:10px;margin-left:auto;white-space:nowrap;flex-shrink:0;animation:pulse-anim 1.5s ease-in-out infinite}.chat-container{flex:1 1;display:flex;flex-direction:column;height:100%;position:relative;background:#f8fafc;overflow:hidden}.chat-header{padding:20px 32px 16px;background:#ffffff;border-bottom:1px solid #e2e8f0}.chat-header h1{font-size:22px;font-weight:700;margin:0 0 2px;color:#0f172a}.chat-header p{margin:0;font-size:13.5px;color:#64748b}.messages-scroll-area{flex:1 1;overflow-y:auto;padding:24px 32px 40px}.empty-state{max-width:540px;margin:10vh auto 0;text-align:center}.empty-icon{width:60px;height:60px;border-radius:20px;background:#e6f4f0;color:var(--brand);display:grid;place-items:center;margin:0 auto 20px;box-shadow:0 4px 12px rgba(22,105,90,.12)}.empty-state h2{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 10px}.empty-state p{font-size:14.5px;color:#64748b;line-height:1.6;margin:0}.messages-list{max-width:820px;margin:0 auto;gap:28px}.message-group,.messages-list{display:flex;flex-direction:column}.message-group{gap:18px}.user-row{display:flex;justify-content:flex-end}.user-bubble-container{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:75%}.user-bubble{background:var(--brand);color:white;padding:12px 18px;border-radius:18px 18px 4px 18px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;box-shadow:0 2px 8px rgba(22,105,90,.15)}.user-time{font-size:11px;color:#94a3b8;margin-right:4px}.latency-tag{font-size:11.5px;color:var(--brand);font-weight:600;background:#e6f4f0;padding:2px 8px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.time-tag{font-size:11.5px;color:#64748b}.assistant-row{display:flex;gap:14px;align-items:flex-start}.assistant-avatar{width:36px;height:36px;border-radius:10px;background:#0e2925;color:#d4a947;font-weight:800;font-size:13px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.1)}.assistant-avatar.pulse{animation:pulse-anim 1.5s ease-in-out infinite}@keyframes pulse-anim{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.8}}.assistant-content{flex:1 1;min-width:0;background:white;border:1px solid #e2e8f0;border-radius:4px 18px 18px 18px;padding:16px 20px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.sources-container{margin-top:16px;padding-top:14px;border-top:1px dashed #e2e8f0}.sources-title{font-size:12.5px;font-weight:700;color:var(--brand);display:flex;align-items:center;gap:6px;margin-bottom:10px}.sources-list{display:flex;flex-direction:column;gap:8px}.source-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px}.source-card summary{cursor:pointer;list-style:none;outline:none;font-weight:500}.source-name{color:#0f172a;font-weight:600}.source-page,.source-path{color:#64748b}.source-quote{margin:10px 0 2px;padding:8px 12px;border-left:3px solid var(--brand);background:#ffffff;border-radius:0 6px 6px 0;color:#334155;font-style:italic;font-size:12.5px;line-height:1.5}.answer-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid #f1f5f9}.trace-tag{font-size:11.5px;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,monospace}.loading-content{padding:14px 20px;min-height:48px}.loading-content,.loading-dots{display:flex;align-items:center}.loading-dots{gap:6px;color:#64748b;font-size:13.5px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--brand);animation:dot-bounce 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dot-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-composer-form{padding:0 32px 24px;background:transparent}.composer-box{max-width:820px;margin:0 auto;background:white;border:1.5px solid #cbd5e1;border-radius:16px;padding:8px 12px 8px 16px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 25px -5px rgba(0,0,0,.08);transition:border-color .2s,box-shadow .2s}.composer-box:focus-within{border-color:var(--brand);box-shadow:0 12px 30px -5px rgba(22,105,90,.15)}.composer-box textarea{flex:1 1;border:0;outline:0;background:transparent;resize:none;font-size:14.5px;line-height:1.5;max-height:160px;color:#0f172a;padding:4px 0}.send-btn{width:40px;height:40px;border-radius:10px;border:0;background:var(--brand);color:white;display:grid;place-items:center;flex-shrink:0;transition:all .15s;cursor:pointer}.send-btn:hover:not(:disabled){background:var(--brand-dark);transform:scale(1.04)}.send-btn:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 0,#dcefe9,transparent 40%),#f8fafc}.login-card{width:min(440px,calc(100% - 32px));background:white;padding:48px 40px;border-radius:24px;border:1px solid #e2e8f0;box-shadow:0 20px 45px -10px rgba(14,41,37,.12)}.login-brand{text-align:center;margin-bottom:32px}.login-mark{width:56px;height:56px;margin:0 auto 16px;background:#d4a947;color:#0e2925;font-weight:800;font-size:22px;border-radius:16px;display:grid;place-items:center;box-shadow:0 6px 16px rgba(212,169,71,.25)}.login-brand h1{font-size:24px;font-weight:700;margin:0 0 6px;color:#0f172a}.login-brand p{margin:0;font-size:14px;color:#64748b}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{font-size:13px;font-weight:600;color:#334155}.form-group input{padding:12px 16px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus{border-color:var(--brand)}.login-btn{border:0;border-radius:10px;background:var(--brand);color:white;font-weight:600;padding:12px 18px;font-size:15px;margin-top:8px;transition:background .2s;cursor:pointer}.login-btn:hover{background:var(--brand-dark)}.card{background:white;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,.02);margin-bottom:24px}.card-title{font-size:15px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:8px;margin-bottom:16px}.page-header{margin-bottom:28px}.page-header h1{font-size:24px;font-weight:700;margin:0 0 4px;color:#0f172a}.page-header p{margin:0;color:#64748b;font-size:14px}.primary-btn{background:var(--brand);color:white;border:0;border-radius:10px;padding:10px 20px;font-weight:600;font-size:14px;transition:background .2s;cursor:pointer}.primary-btn:hover:not(:disabled){background:var(--brand-dark)}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.answer-text{white-space:pre-wrap;word-break:break-word;line-height:1.65;font-size:14.5px;color:#1e293b}.citation-chip-inline{display:inline-flex;align-items:center;margin:0 3px;padding:2px 7px;border-radius:6px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;font-weight:700;font-size:12.5px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.pdf-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:grid;place-items:center;padding:24px}.pdf-modal-content{width:min(1100px,100%);height:min(85vh,900px);background:white;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}.pdf-modal-header{padding:16px 24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;background:#f8fafc}.pdf-modal-header h3{margin:0;font-size:16px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:8px}.pdf-modal-close{background:transparent;border:0;font-size:24px;color:#64748b;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px;transition:all .15s}.pdf-modal-close:hover{background:#e2e8f0;color:#0f172a}.pdf-modal-body{flex:1 1;background:#525659}.open-pdf-btn{background:#e6f4f0;color:var(--brand);border:1px solid #b7e4d8;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;margin-left:auto;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:4px}.open-pdf-btn:hover{background:var(--brand);color:white}.create-doc-form{display:flex;gap:12px}.create-doc-form input{flex:1 1;padding:10px 14px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:14px;outline:none}.create-doc-form input:focus{border-color:var(--brand)}.table-card{padding:0;overflow:hidden}.table-wrapper{overflow-x:auto}.modern-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.modern-table th{background:#f8fafc;padding:14px 20px;font-size:12.5px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e2e8f0}.modern-table td{padding:16px 20px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.modern-table tbody tr:last-child td{border-bottom:0}.modern-table tbody tr:hover{background:#f8fafc}.font-mono{font-family:ui-monospace,SFMono-Regular,monospace;font-weight:600;color:var(--brand)}.font-semibold{font-weight:600;color:#0f172a}.text-center{text-align:center}.text-muted{color:#94a3b8}.status-badge{display:inline-block;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-active,.status-ready{background:#dcfce7;color:#15803d}.status-draft{background:#fef3c7;color:#b45309}.status-archived,.status-failed{background:#fee2e2;color:#b91c1c}.version-info{display:flex;flex-direction:column;gap:2px}.ver-num{color:#0f172a;font-size:13.5px}.stage-tag{font-size:11.5px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px;width:max-content}.stage-failed{background:#fee2e2;color:#b91c1c}.err-text{color:#ef4444;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.action-btn-group{display:flex;align-items:center;gap:6px}.reprocess-btn{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.reprocess-btn:hover{background:#2563eb;color:white}.archive-btn{background:#fff7ed;color:#c2410c;border:1px solid #ffedd5;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.archive-btn:hover{background:#ea580c;color:white}.activate-btn{background:#f0fdf4;color:#15803d;border:1px solid #dcfce7;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.activate-btn:hover{background:#16a34a;color:white}.delete-doc-btn{background:#fef2f2;color:#dc2626;border:1px solid #fee2e2;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.delete-doc-btn:hover{background:#dc2626;color:white}.ver-history-btn{background:transparent;border:0;padding:2px 0;text-decoration:underline;text-align:left}.ver-history-btn,.view-pdf-btn{color:var(--brand);font-size:11.5px;font-weight:600;cursor:pointer}.view-pdf-btn{display:inline-flex;align-items:center;gap:4px;background:#f0fdf4;border:1px solid #bbf7d0;padding:3px 8px;border-radius:6px;transition:all .15s;margin-top:2px}.view-pdf-btn:hover{background:var(--brand);color:white;border-color:var(--brand)}.upload-box{display:flex;align-items:center;gap:8px}.ver-input{width:60px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;text-align:center}.file-label{flex:1 1;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px dashed #cbd5e1;border-radius:6px;background:#f8fafc;font-size:12.5px;color:#64748b;cursor:pointer;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-label:hover{border-color:var(--brand);color:var(--brand)}.file-label input{display:none}.upload-btn{padding:6px 12px;border:0;border-radius:6px;background:var(--brand);color:white;font-weight:600;font-size:12.5px;cursor:pointer}.upload-btn:disabled{opacity:.4;cursor:not-allowed}.debug-search-form{display:flex;gap:12px}.debug-search-form input{flex:1 1;padding:12px 16px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:14px;outline:none}.debug-search-form input:focus{border-color:var(--brand)}.trace-card{background:#0f172a;color:#f8fafc;padding:0;overflow:hidden;border:0}.trace-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#1e293b;border-bottom:1px solid #334155;font-size:13px;font-weight:600;color:#94a3b8}.copy-btn{background:#334155;color:#f8fafc;border:0;padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.copy-btn:hover{background:#475569}.trace-code{padding:20px;margin:0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;line-height:1.6;overflow-x:auto;max-height:60vh;color:#38bdf8}@media(max-width:900px){.chat-layout{flex-direction:column}.chat-history-sidebar{width:100%;height:auto;border-right:0;border-bottom:1px solid #e2e8f0}.chat-composer-form,.messages-scroll-area{padding-left:16px;padding-right:16px}.create-doc-form,.debug-search-form{flex-direction:column}}