@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg: #f4f5f7;--color-surface: #ffffff;--color-nav: #181b21;--color-nav-text: #c8ccd4;--color-nav-text-active: #ffffff;--color-primary: #0d9488;--color-primary-soft: #0d948815;--color-text: #1a1d23;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-border: #e5e7eb;--color-user-bubble: #eef2ff;--color-user-border: #c7d2fe;--color-error: #dc2626;--color-warning: #d97706;--color-code-bg: #f1f3f5;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 2px 8px rgba(0,0,0,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-sans);font-size:15px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nav{display:flex;align-items:center;gap:0;padding:0 24px;height:52px;background:var(--color-nav);color:var(--color-nav-text);font-size:14px;-webkit-user-select:none;user-select:none}.nav-brand{font-weight:700;font-size:16px;color:var(--color-nav-text-active);letter-spacing:-.02em;margin-right:28px;display:flex;align-items:center;gap:8px}.nav-brand:before{content:"";display:inline-block;width:8px;height:8px;background:var(--color-primary);border-radius:2px}.nav a{color:var(--color-nav-text);text-decoration:none;padding:6px 14px;border-radius:var(--radius-sm);transition:color .15s,background .15s;font-weight:500}.nav a:hover{color:var(--color-nav-text-active);background:#ffffff12}.nav-spacer{margin-left:auto}.nav-email{color:var(--color-text-muted);font-size:13px;margin-right:12px;font-family:var(--font-mono);font-weight:400}.nav .sign-out{color:var(--color-text-muted);cursor:pointer;font-size:13px}.nav .sign-out:hover{color:#f87171;background:#f871711a}.login-page{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--color-nav)}.login-card{text-align:center;padding:48px 56px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 4px 24px #0003}.login-card h1{font-size:28px;font-weight:700;letter-spacing:-.03em;margin-bottom:6px;color:var(--color-text)}.login-card p{color:var(--color-text-secondary);margin-bottom:28px;font-size:15px}.login-btn{display:inline-block;padding:12px 32px;background:var(--color-primary);color:#fff;text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:15px;transition:background .15s,transform .1s}.login-btn:hover{background:#0f766e;transform:translateY(-1px)}.chat-layout{display:flex;flex-direction:column;height:calc(100vh - 52px);background:var(--color-bg)}.chat-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.new-chat-btn{padding:6px 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.new-chat-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.chat-window{flex:1;overflow-y:auto;padding:24px}.chat-window::-webkit-scrollbar{width:6px}.chat-window::-webkit-scrollbar-track{background:transparent}.chat-window::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.chat-empty{flex:1;display:flex;justify-content:center;align-items:flex-start;padding:32px 48px;overflow-y:auto}.chat-empty-inner{text-align:center;max-width:400px}.chat-empty-inner:has(.dashboard-summary){max-width:780px}.chat-empty-inner h2{font-size:22px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px;letter-spacing:-.02em}.chat-empty-inner p{color:var(--color-text-muted);font-size:14px;line-height:1.6}.dashboard-summary{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px 28px;box-shadow:var(--shadow-md);max-width:640px;line-height:1.65}.dashboard-summary h1{font-size:18px;font-weight:700;letter-spacing:-.02em;margin:0 0 12px;color:var(--color-text)}.dashboard-summary h2{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:18px 0 8px;color:var(--color-text);border-bottom:1px solid var(--color-border);padding-bottom:4px}.dashboard-summary p{margin:0 0 8px;color:var(--color-text);font-size:14px}.dashboard-summary p:last-child{margin-bottom:0}.dashboard-summary strong{font-weight:600;color:var(--color-text)}.dashboard-summary table{border-collapse:collapse;margin:12px 0;font-size:13px;width:100%}.dashboard-summary th,.dashboard-summary td{border:1px solid var(--color-border);padding:8px 12px;text-align:left}.dashboard-summary th{background:var(--color-code-bg);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary)}.message{margin-bottom:20px;max-width:780px;animation:msg-in .25s ease-out}@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-user{margin-left:auto;max-width:600px}.message-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;color:var(--color-text-muted)}.message-user .message-label{text-align:right}.message-bubble{padding:14px 18px;border-radius:var(--radius-md);line-height:1.65;box-shadow:var(--shadow-sm)}.message-user .message-bubble{background:var(--color-user-bubble);border:1px solid var(--color-user-border);border-radius:var(--radius-md) var(--radius-md) 4px var(--radius-md)}.message-assistant .message-bubble{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) 4px}.message-bubble h1,.message-bubble h2,.message-bubble h3{font-weight:600;letter-spacing:-.02em;margin:16px 0 8px}.message-bubble h1:first-child,.message-bubble h2:first-child,.message-bubble h3:first-child{margin-top:0}.message-bubble h1{font-size:18px}.message-bubble h2{font-size:16px}.message-bubble h3{font-size:15px}.message-bubble p{margin:0 0 10px}.message-bubble p:last-child{margin-bottom:0}.message-bubble ul,.message-bubble ol{margin:8px 0;padding-left:22px}.message-bubble li{margin-bottom:4px}.message-bubble li::marker{color:var(--color-primary)}.message-bubble code{font-family:var(--font-mono);font-size:.88em;background:var(--color-code-bg);padding:2px 6px;border-radius:4px;color:#c2410c}.message-bubble pre{background:#1e2028;color:#e2e8f0;padding:14px 16px;border-radius:var(--radius-sm);overflow-x:auto;margin:10px 0;font-size:13px;line-height:1.5}.message-bubble pre code{background:none;padding:0;color:inherit;font-size:inherit}.message-bubble strong{font-weight:600;color:var(--color-text)}.message-bubble em{font-style:italic}.message-bubble blockquote{border-left:3px solid var(--color-primary);padding:4px 14px;margin:10px 0;color:var(--color-text-secondary);background:var(--color-primary-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.message-bubble table{border-collapse:collapse;margin:10px 0;font-size:14px;width:100%}.message-bubble th,.message-bubble td{border:1px solid var(--color-border);padding:8px 12px;text-align:left}.message-bubble th{background:var(--color-code-bg);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.message-bubble hr{border:none;border-top:1px solid var(--color-border);margin:14px 0}.citations-bar{margin-top:10px;padding-top:8px;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:4px;align-items:center}.citations-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-right:4px}.citation-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--color-code-bg);border-radius:20px;font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);border:1px solid var(--color-border);transition:border-color .15s}.citation-tag:hover{border-color:var(--color-primary)}.citation-date{color:var(--color-text-muted)}.grounding-warning{margin-top:8px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}.grounding-not-found{color:var(--color-error)}.grounding-partial{color:var(--color-warning)}.thinking{display:flex;align-items:center;gap:4px;padding:14px 18px;color:var(--color-text-muted);font-size:14px}.thinking-dot{width:6px;height:6px;background:var(--color-primary);border-radius:50%;animation:pulse 1.2s ease-in-out infinite}.thinking-dot:nth-child(2){animation-delay:.2s}.thinking-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-bar{display:flex;gap:10px;padding:16px 24px;background:var(--color-surface);border-top:1px solid var(--color-border)}.chat-input{flex:1;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:15px;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .15s,box-shadow .15s}.chat-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.chat-input::placeholder{color:var(--color-text-muted)}.chat-submit{padding:12px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.chat-submit:hover:not(:disabled){background:#0f766e;transform:translateY(-1px)}.chat-submit:disabled{opacity:.5;cursor:not-allowed}.sync-status{font-size:12px;color:var(--color-text-muted);font-family:var(--font-mono);display:flex;align-items:center;gap:6px}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.sync-dot.stale{background:var(--color-warning)}.sync-dot.none{background:var(--color-text-muted)}.audit-page{padding:28px;max-width:1200px;margin:0 auto}.audit-page h2{font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}.audit-filters{display:flex;gap:14px;margin-bottom:20px;align-items:center}.audit-filters label{font-size:13px;font-weight:500;color:var(--color-text-secondary);display:flex;align-items:center;gap:6px}.audit-filters input[type=date]{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:13px}.audit-filters button{padding:8px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:600;font-size:13px;cursor:pointer;transition:background .15s}.audit-filters button:hover:not(:disabled){background:#0f766e}.audit-filters button:disabled{opacity:.5}.audit-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.audit-table th{background:var(--color-code-bg);padding:10px 14px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.audit-table td{padding:10px 14px;border-bottom:1px solid var(--color-border);vertical-align:top;max-width:300px;overflow:hidden;text-overflow:ellipsis}.audit-table tr:last-child td{border-bottom:none}.audit-table tr:hover td{background:#f9fafb}.audit-error{color:var(--color-error);font-size:14px;margin-bottom:14px;padding:10px 14px;background:#fef2f2;border-radius:var(--radius-sm);border:1px solid #fecaca}.load-more-btn{margin-top:14px;padding:8px 20px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.load-more-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.callback-page{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--color-nav);color:var(--color-nav-text);font-size:15px}.callback-error{color:var(--color-error)}
