*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0f1117;--color-surface: #1a1d27;--color-surface-2: #222536;--color-surface-3: #2a2e42;--color-border: #2e3347;--color-border-light: #3d4260;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #3b82f6;--color-primary-subtle: #1e3a6e;--color-accent: #0ea5e9;--color-accent-hover: #0284c7;--color-success: #10b981;--color-success-subtle: #064e3b;--color-warning: #f59e0b;--color-warning-subtle: #78350f;--color-error: #ef4444;--color-error-subtle: #7f1d1d;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-user-bubble: #2563eb;--color-assistant-bubble: #1a1d27;--color-assistant-border: #2e3347;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text-primary);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}input,textarea{font-family:inherit;outline:none;border:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.app-layout{display:flex;height:100vh;overflow:hidden;background:var(--color-bg)}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--color-text-secondary);font-size:14px}.config-error{padding:2rem;text-align:center;max-width:640px;margin:0 auto}.config-error-hint{opacity:.7;font-size:14px}.loading-spinner{width:32px;height:32px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.main-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.workspace-tabs{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,#111827f5,#111827e0)}.workspace-tab-group{display:flex;gap:8px}.workspace-tab{padding:8px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-2);border:1px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.workspace-tab:hover{color:var(--color-text-primary);border-color:var(--color-border-light)}.workspace-tab.active{color:#fff;background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}.workspace-context{display:flex;gap:8px;align-items:center}.workspace-company,.workspace-role{display:inline-flex;align-items:center;padding:6px 10px;border-radius:var(--radius-full);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);background:var(--color-surface-2)}.sidebar{width:260px;min-width:260px;display:flex;flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);transition:width var(--transition-slow),min-width var(--transition-slow);overflow:hidden}.sidebar.collapsed{width:56px;min-width:56px}.sidebar.collapsed .sidebar-header{flex-direction:column;justify-content:flex-start;padding:12px 8px;gap:10px}.sidebar.collapsed .sidebar-header-actions{flex-direction:column}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 12px;border-bottom:1px solid var(--color-border);gap:8px;min-height:56px}.sidebar-brand{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.brand-dot{width:8px;height:8px;min-width:8px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 8px var(--color-primary)}.brand-name{font-size:13px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-header-actions{display:flex;gap:4px;flex-shrink:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.icon-btn:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.icon-btn.danger:hover{background:var(--color-error-subtle);color:var(--color-error)}.sidebar-body{flex:1;overflow-y:auto;padding:8px}.sidebar-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;color:var(--color-text-muted);font-size:12px;text-align:center}.sidebar-group{margin-bottom:4px}.sidebar-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:10px 8px 4px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);min-height:40px;position:relative}.sidebar-item:hover{background:var(--color-surface-2)}.sidebar-item.active{background:var(--color-primary-subtle)}.sidebar-item-icon{color:var(--color-text-muted);flex-shrink:0}.sidebar-item.active .sidebar-item-icon{color:var(--color-primary-light)}.sidebar-item-content{flex:1;min-width:0}.sidebar-item-title{display:block;font-size:13px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-date{display:block;font-size:11px;color:var(--color-text-muted);margin-top:1px}.sidebar-item-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.sidebar-delete,.sidebar-rename{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.sidebar-rename:hover{background:var(--color-surface-3);color:var(--color-text-primary)}.sidebar-delete:hover,.sidebar-delete.confirm{background:var(--color-error-subtle);color:var(--color-error)}.sidebar-item-rename{flex:1;min-width:0;font-size:13px;color:var(--color-text-primary);background:var(--color-surface-3);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:4px 6px;outline:none}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;padding:12px;border-top:1px solid var(--color-border);gap:8px;min-height:52px}.sidebar-user-email{font-size:11px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.chat-area{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--color-border);background:var(--color-surface);min-height:56px}.chat-title{font-size:15px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-success);flex-shrink:0}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--color-success);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-messages{flex:1;overflow-y:auto;padding:24px 24px 16px;display:flex;flex-direction:column;gap:16px}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;max-width:640px;margin:auto;gap:16px}.welcome-icon{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.welcome-title{font-size:26px;font-weight:700;color:var(--color-text-primary)}.welcome-desc{font-size:14px;color:var(--color-text-secondary);line-height:1.6;max-width:480px}.suggestions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;margin-top:8px}.suggestion-chip{padding:10px 14px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:12px;color:var(--color-text-secondary);text-align:left;line-height:1.4;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);cursor:pointer}.suggestion-chip:hover{background:var(--color-surface-3);border-color:var(--color-primary);color:var(--color-text-primary)}.message-row{display:flex;gap:10px;align-items:flex-end;animation:message-in var(--transition-base) ease-out}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.user-row{flex-direction:row-reverse}.avatar{width:30px;height:30px;min-width:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.user-avatar{background:var(--color-primary);color:#fff}.assistant-avatar{background:var(--color-surface-3)}.bubble{max-width:72%;border-radius:var(--radius-lg);padding:10px 14px;position:relative}.user-bubble{background:var(--color-user-bubble);border-bottom-right-radius:4px}.assistant-bubble{background:var(--color-assistant-bubble);border:1px solid var(--color-assistant-border);border-bottom-left-radius:4px}.bubble-content{display:flex;align-items:flex-end;gap:4px}.message-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.message-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#2563eb29;color:#bfdbfe}.message-badge.general{background:#f59e0b29;color:#fcd34d}.message-badge.tool{background:#10b98129;color:#a7f3d0}.message-badge.error,.message-badge.warning{background:#ef444429;color:#fecaca}.message-badge.web-trusted{background:#22c55e29;color:#bbf7d0}.message-badge.web-general{background:#f59e0b33;color:#fde68a}.message-badge.refused{background:#ef444433;color:#fecaca}.message-confidence{display:inline-flex;align-items:center;padding:4px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:600;background:#94a3b82e;color:#cbd5f5;letter-spacing:.04em}.refused-banner{margin:8px 0;padding:10px 12px;border-radius:8px;background:#ef44441f;color:#fecaca;font-size:13px}.external-banner-uncurated{background:#f59e0b1f;color:#fde68a}.trust-chip{display:inline-flex;align-items:center;margin-left:8px;padding:2px 6px;border-radius:var(--radius-full);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.trust-chip.trust-internal_authoritative{background:#3b82f633;color:#bfdbfe}.trust-chip.trust-internal_reference{background:#6366f12e;color:#c7d2fe}.trust-chip.trust-external_trusted{background:#22c55e2e;color:#bbf7d0}.trust-chip.trust-external_general{background:#f59e0b33;color:#fde68a}.feedback-row{display:flex;gap:6px;margin-top:8px;opacity:.55;transition:opacity .15s ease}.feedback-row:hover{opacity:1}.feedback-button{background:transparent;border:1px solid var(--color-border, rgba(148, 163, 184, .25));border-radius:var(--radius-full, 999px);padding:4px 10px;font-size:14px;cursor:pointer;color:inherit;transition:background .15s ease,border-color .15s ease}.feedback-button:hover{background:#94a3b81a}.feedback-button.feedback-active.up{background:#22c55e2e;border-color:#22c55e73}.feedback-button.feedback-active.down{background:#ef44442e;border-color:#ef444473}.feedback-reasons{margin-top:8px;padding:10px;border:1px solid var(--color-border, rgba(148, 163, 184, .25));border-radius:var(--radius-md, 10px);display:flex;flex-direction:column;gap:8px}.feedback-reasons-prompt{font-size:12px;opacity:.75}.feedback-reasons-chips{display:flex;flex-wrap:wrap;gap:6px}.feedback-reason-chip{background:transparent;border:1px solid var(--color-border, rgba(148, 163, 184, .25));border-radius:var(--radius-full, 999px);padding:4px 10px;font-size:12px;cursor:pointer;color:inherit;transition:background .15s ease,border-color .15s ease}.feedback-reason-chip:hover{background:#94a3b81a}.feedback-reason-chip.selected{background:#ef44442e;border-color:#ef444473}.feedback-reason-detail{display:flex;gap:6px}.feedback-reason-detail input{flex:1;min-width:0;background:transparent;border:1px solid var(--color-border, rgba(148, 163, 184, .25));border-radius:var(--radius-md, 8px);padding:6px 10px;font-size:12px;color:inherit}.feedback-reason-detail button{background:transparent;border:1px solid var(--color-border, rgba(148, 163, 184, .25));border-radius:var(--radius-md, 8px);padding:6px 10px;font-size:12px;cursor:pointer;color:inherit}.feedback-reason-detail button:disabled{opacity:.4;cursor:default}.feedback-reason-dismiss{opacity:.7}.feedback-thanks{margin-top:8px;font-size:12px;opacity:.75}.estimate-draft-status{margin-left:8px;padding:2px 8px;border-radius:var(--radius-full, 999px);font-size:11px;font-weight:400}.estimate-draft-status.created{background:#22c55e2e;border:1px solid rgba(34,197,94,.45)}.estimate-draft-status.manual{background:#eab3082e;border:1px solid rgba(234,179,8,.45)}.estimate-draft-table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}.estimate-draft-table th,.estimate-draft-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--color-border, rgba(148, 163, 184, .25))}.estimate-draft-table th:nth-child(n+2),.estimate-draft-table td:nth-child(n+2){text-align:right;white-space:nowrap}.estimate-draft-table tfoot td{font-weight:600;border-bottom:none}.estimate-custom-flag{font-size:11px;opacity:.7;font-style:italic}.estimate-draft-problems{color:var(--color-error, #ef4444)}.estimate-draft-note{font-size:12px;opacity:.75;margin-top:6px}.proactive-row{margin-top:10px}.proactive-chip{background:#6366f124;border:1px solid rgba(99,102,241,.32);color:#c7d2fe;border-radius:var(--radius-full, 999px);padding:6px 12px;font-size:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.proactive-chip:hover{background:#6366f138;border-color:#6366f18c}.manager-dashboard{padding:24px;overflow-y:auto;flex:1}.dashboard-header h2{margin:0;font-size:20px}.dashboard-subtitle{color:var(--color-text-secondary);font-size:13px;margin:4px 0 16px}.dashboard-status{color:var(--color-text-secondary)}.dashboard-error{color:#fecaca}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:16px}.dashboard-grid-modes{margin-bottom:24px}.dashboard-card{background:#94a3b81a;border:1px solid rgba(148,163,184,.18);padding:14px;border-radius:10px}.dashboard-stat{font-size:24px;font-weight:700;margin-bottom:4px}.dashboard-label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary)}.dashboard-section h3{margin:24px 0 8px;font-size:16px}.dashboard-feedback-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dashboard-feedback-item{background:#ef44440f;border:1px solid rgba(239,68,68,.18);border-radius:8px;padding:12px}.dashboard-feedback-meta{font-size:11px;color:var(--color-text-secondary);margin-bottom:6px}.dashboard-feedback-q{font-size:13px;margin-bottom:4px}.dashboard-feedback-a{font-size:13px;color:var(--color-text-secondary)}.dashboard-feedback-comment{margin-top:6px;font-style:italic;font-size:12px}.dashboard-feedback-analysis{margin-top:6px;font-size:12px}.dashboard-feedback-analysis.pending{color:var(--color-text-secondary);font-style:italic}.dashboard-failure-badge{display:inline-block;padding:2px 8px;margin-right:6px;border-radius:var(--radius-full, 999px);border:1px solid rgba(239,68,68,.45);background:#ef44441f;font-size:11px;text-transform:lowercase}.dashboard-empty{list-style:none;color:var(--color-text-secondary);font-size:13px}.dashboard-actions{margin-top:8px}.dashboard-export-btn{background:#6366f133;border:1px solid rgba(99,102,241,.45);color:#c7d2fe;border-radius:8px;padding:6px 14px;font-size:13px;cursor:pointer}.dashboard-export-btn:hover{background:#6366f152}.dashboard-dispatch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dashboard-dispatch-item{background:#94a3b80f;border:1px solid rgba(148,163,184,.16);border-radius:8px;padding:10px 12px}.dashboard-dispatch-meta{font-size:11px;color:var(--color-text-secondary)}.dashboard-dispatch-title{font-size:14px;font-weight:600;margin:2px 0}.dashboard-dispatch-mode{font-size:12px;color:var(--color-text-secondary)}.bubble-text{font-family:var(--font-sans);font-size:14px;line-height:1.6;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;margin:0}.cursor-blink{display:inline-block;width:2px;height:16px;background:var(--color-primary-light);border-radius:1px;animation:blink .7s step-start infinite;margin-left:2px;vertical-align:middle;flex-shrink:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-dots{display:flex;gap:4px;padding:2px 4px;align-items:center}.typing-dots span{display:block;width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:bounce 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-5px);opacity:1}}.citation-list{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border);display:grid;gap:8px}.citation-list-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.citation-list-summary{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;padding:2px 0;list-style:none;outline:none}.citation-list-summary::-webkit-details-marker{display:none}.citation-list-summary::marker{content:""}.citation-list-summary:before{content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent currentColor;transition:transform .15s ease;flex-shrink:0}.citation-list[open]>.citation-list-summary:before{transform:rotate(90deg)}.citation-list-summary:hover,.citation-list-summary:focus-visible{color:var(--color-text-primary)}.citation-list-summary:focus-visible{text-decoration:underline}.citation-count{font-weight:500;letter-spacing:0;text-transform:none;opacity:.7}.citation-item{padding:10px 12px;border-radius:var(--radius-md);background:#94a3b814}.citation-item-title{font-size:12px;font-weight:600;color:var(--color-text-primary)}.citation-item-body{margin-top:4px;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.tool-output-card{margin-top:12px;padding:14px;border-radius:var(--radius-md);border:1px solid rgba(16,185,129,.2);background:#052e1647}.tool-output-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a7f3d0}.tool-output-section{margin-top:12px}.tool-output-section span{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#d1fae5}.tool-output-section p{margin-top:6px;font-size:13px;line-height:1.6;color:var(--color-text-primary)}.tool-output-list{margin-top:6px;padding-left:18px;color:var(--color-text-primary);font-size:13px;line-height:1.6}.review-draft{margin-top:14px;padding:12px;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid rgba(16,185,129,.15)}.review-draft-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.review-draft-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#d1fae5}.review-draft-body{font-size:13px;line-height:1.7;color:var(--color-text-primary);margin:0;white-space:pre-wrap}.review-draft-copy-btn{padding:3px 10px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid rgba(16,185,129,.4);background:#10b9811f;color:#a7f3d0;cursor:pointer;transition:background .15s,color .15s}.review-draft-copy-btn:hover{background:#10b98140;color:#d1fae5}.chat-input-wrapper{padding:12px 24px 16px;background:var(--color-bg);border-top:1px solid var(--color-border)}.chat-input-box{display:flex;align-items:flex-end;gap:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:8px 8px 8px 16px;transition:border-color var(--transition-fast)}.chat-input-box:focus-within{border-color:var(--color-primary)}.chat-textarea{flex:1;background:none;color:var(--color-text-primary);font-size:14px;line-height:1.5;resize:none;min-height:24px;max-height:160px;padding:4px 0;overflow-y:auto}.chat-textarea::placeholder{color:var(--color-text-muted)}.chat-textarea:disabled{opacity:.6}.send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border-radius:50%;background:var(--color-border);color:var(--color-text-muted);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.send-btn.active{background:var(--color-primary);color:#fff}.send-btn.active:hover{background:var(--color-primary-hover);transform:scale(1.05)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input-hint{font-size:11px;color:var(--color-text-muted);text-align:center;margin-top:6px}.workspace-panel{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.panel-hero{padding:22px 24px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:radial-gradient(circle at top right,rgba(14,165,233,.12),transparent 35%),linear-gradient(180deg,#1e293be0,#0f172aeb)}.panel-hero h2{font-size:24px;color:var(--color-text-primary)}.panel-hero p{margin-top:8px;max-width:760px;color:var(--color-text-secondary);line-height:1.6}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tool-card,.knowledge-form{display:grid;gap:14px;padding:20px;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:#0f172acc}.tool-card-header h3{font-size:18px;color:var(--color-text-primary)}.tool-card-header p{margin-top:6px;font-size:13px;line-height:1.6;color:var(--color-text-secondary)}.knowledge-form{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-content{grid-column:1 / -1}.form-group span{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.workspace-panel .form-group{gap:8px}.workspace-panel .form-group input,.workspace-panel .form-group textarea{width:100%;padding:12px 14px;background:#1e293bcc;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px}.workspace-panel .form-group textarea{resize:vertical}.primary-action{justify-self:start;padding:11px 16px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;font-size:13px;font-weight:700}.primary-action:disabled{opacity:.6;cursor:not-allowed}.panel-error,.panel-success{padding:12px 14px;border-radius:var(--radius-md);font-size:13px}.panel-error{background:var(--color-error-subtle);color:#fecaca;border:1px solid rgba(239,68,68,.4)}.panel-success{background:#064e3b73;color:#a7f3d0;border:1px solid rgba(16,185,129,.35)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);padding:24px;background-image:radial-gradient(ellipse at 20% 50%,rgba(37,99,235,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(14,165,233,.06) 0%,transparent 50%)}.auth-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:40px 36px;box-shadow:var(--shadow-lg)}.auth-logo{display:flex;align-items:center;gap:14px;margin-bottom:32px}.auth-logo-icon{width:56px;height:56px;background:var(--color-surface-2);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);flex-shrink:0}.auth-title{font-size:20px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.auth-subtitle{font-size:12px;color:var(--color-text-muted);margin-top:2px;line-height:1.4}.auth-tabs{display:flex;background:var(--color-surface-2);border-radius:var(--radius-md);padding:3px;gap:2px;margin-bottom:24px}.auth-tab{flex:1;padding:8px;border-radius:9px;font-size:13px;font-weight:500;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.auth-tab.active{background:var(--color-surface-3);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.form-group input{padding:10px 14px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px;transition:border-color var(--transition-fast)}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:focus{border-color:var(--color-primary);background:var(--color-surface-3)}.auth-error{padding:10px 14px;background:var(--color-error-subtle);border:1px solid var(--color-error);border-radius:var(--radius-md);font-size:13px;color:var(--color-error)}.auth-success{padding:10px 14px;background:#064e3b73;border:1px solid rgba(16,185,129,.35);border-radius:var(--radius-md);font-size:13px;color:#a7f3d0}.auth-submit{padding:11px;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:14px;font-weight:600;transition:background var(--transition-fast),transform var(--transition-fast);margin-top:4px}.auth-submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;font-size:11px;color:var(--color-text-muted);margin-top:24px}.auth-submit-google{background:#fff;color:#1f1f1f;border:1px solid rgba(255,255,255,.2);margin-top:6px;display:flex;align-items:center;justify-content:center;gap:8px}.auth-submit-google:hover:not(:disabled){background:#f3f4f6;transform:translateY(-1px)}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--color-border, rgba(255, 255, 255, .1))}.auth-link-button{background:transparent;border:none;color:var(--color-text-muted);font-size:12px;text-decoration:underline;cursor:pointer;padding:6px;margin-top:4px;align-self:center}.auth-link-button:hover{color:var(--color-text)}@media(max-width:640px){.workspace-tabs{padding:12px 16px 12px 58px;flex-direction:column;align-items:stretch}.estimate-draft-table{display:block;overflow-x:auto}.workspace-context{flex-wrap:wrap}.sidebar{position:absolute;top:0;left:0;bottom:0;z-index:100;box-shadow:var(--shadow-lg)}.sidebar.collapsed{transform:translate(-100%);width:260px;min-width:260px}.suggestions-grid{grid-template-columns:1fr}.chat-messages{padding:16px}.chat-input-wrapper{padding:10px 16px 14px}.bubble{max-width:88%}.workspace-panel{padding:16px}.tool-grid,.knowledge-form{grid-template-columns:1fr}}.bubble-markdown{font-size:14px;line-height:1.55;color:inherit;word-wrap:break-word}.bubble-markdown p{margin:0 0 .75em}.bubble-markdown p:last-child{margin-bottom:0}.bubble-markdown ul,.bubble-markdown ol{margin:.5em 0 .75em;padding-left:1.5em}.bubble-markdown li{margin:.25em 0}.bubble-markdown h1,.bubble-markdown h2,.bubble-markdown h3,.bubble-markdown h4{margin:.75em 0 .4em;font-weight:600;line-height:1.3}.bubble-markdown h1{font-size:1.15em}.bubble-markdown h2{font-size:1.08em}.bubble-markdown h3{font-size:1.02em}.bubble-markdown code{background:#ffffff14;padding:.1em .35em;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.bubble-markdown pre{background:#00000040;padding:.75em;border-radius:6px;overflow-x:auto;margin:.5em 0 .75em}.bubble-markdown pre code{background:transparent;padding:0}.bubble-markdown a{color:#93c5fd;text-decoration:underline}.bubble-markdown blockquote{border-left:3px solid rgba(255,255,255,.25);padding:.25em .75em;margin:.5em 0;color:inherit;opacity:.85}.bubble-markdown table{border-collapse:collapse;margin:.5em 0;font-size:.95em}.bubble-markdown th,.bubble-markdown td{border:1px solid rgba(255,255,255,.15);padding:.35em .6em;text-align:left}.insufficient-banner{margin:0 0 10px;padding:8px 12px;background:#f59e0b26;border-left:3px solid #f59e0b;border-radius:4px;color:#fcd34d;font-size:13px;line-height:1.4}.external-banner{margin:0 0 10px;padding:8px 12px;background:#38bdf81f;border-left:3px solid #38bdf8;border-radius:4px;color:#bae6fd;font-size:13px;line-height:1.4}.message-badge.web{background:#38bdf82e;color:#bae6fd}.external-citation-list{margin-top:10px}.external-citation-item{display:block;text-decoration:none;color:inherit;background:#38bdf814;transition:background .12s ease,transform .12s ease}.external-citation-item:hover{background:#38bdf829;transform:translateY(-1px)}.external-citation-meta{display:block;margin-top:2px;font-size:11px;font-weight:500;color:var(--color-text-muted)}.chat-attachment-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:0 0 8px;font-size:12px;background:#2563eb1f;border:1px solid rgba(37,99,235,.4);border-radius:8px;color:#93c5fd;width:fit-content}.chat-attachment-remove{background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;padding:2px}.chat-icon-btn{background:transparent;border:none;color:var(--color-text-muted, #94a3b8);cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.chat-icon-btn:hover:not(:disabled){background:#ffffff0d;color:#cbd5e1}.chat-icon-btn.recording{color:#ef4444;background:#ef444426;animation:chat-pulse 1.6s ease-in-out infinite}@keyframes chat-pulse{0%,to{opacity:1}50%{opacity:.55}}.chat-hidden-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.auth-brand-logo{width:64px;height:64px;object-fit:contain;flex-shrink:0}.sidebar-brand-logo{width:28px;height:28px;object-fit:contain;flex-shrink:0}.sidebar-brand-logo.collapsed{margin:0 auto}.welcome-doc-comfort{width:96px;height:96px;object-fit:cover;border-radius:50%;margin-bottom:16px;box-shadow:0 4px 16px #00000059;border:2px solid rgba(37,99,235,.45);background:#fff}.assistant-avatar{background:#fff;border:1px solid rgba(37,99,235,.5)}.assistant-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.auth-mode-intro{color:var(--color-text-secondary);font-size:13px;margin:0 0 12px}.auth-links{display:flex;justify-content:center;gap:12px}.form-group textarea,.form-group select{padding:10px 14px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px;font-family:inherit;transition:border-color var(--transition-fast)}.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);background:var(--color-surface-3)}.user-admin{padding:24px;overflow-y:auto;flex:1}.user-admin-badge{display:inline-block;min-width:20px;margin-left:8px;padding:1px 7px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:12px;text-align:center}.user-admin-requests{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.user-admin-request{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.user-admin-request-info strong{display:block}.user-admin-email{color:var(--color-text-secondary);font-size:13px}.user-admin-message{margin:6px 0 0;font-size:13px;color:var(--color-text-secondary);white-space:pre-wrap}.user-admin-meta{display:block;margin-top:6px;font-size:12px;color:var(--color-text-muted)}.user-admin-request-actions{display:flex;gap:8px;align-items:center}.user-admin-deny{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);padding:8px 14px;cursor:pointer}.user-admin-deny:hover:not(:disabled){border-color:var(--color-error);color:var(--color-error)}.user-admin-reviewed{margin-top:12px;font-size:13px;color:var(--color-text-secondary)}.user-admin-reviewed ul{margin:8px 0 0;padding-left:18px}.user-admin-invite{display:flex;flex-direction:column;gap:12px;max-width:480px}.user-admin-checks{flex-direction:row!important;gap:18px}.user-admin-checks label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.user-admin-table-wrap{overflow-x:auto}.user-admin-table{width:100%;border-collapse:collapse;font-size:13px}.user-admin-table th{text-align:left;padding:8px 10px;color:var(--color-text-secondary);font-weight:600;border-bottom:1px solid var(--color-border);white-space:nowrap}.user-admin-table td{padding:10px;border-bottom:1px solid rgba(148,163,184,.12);vertical-align:middle}.user-admin-self td{background:#94a3b80f}.user-admin-identity strong{display:block}.user-admin-table select,.user-admin-spend input{padding:6px 8px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px}.user-admin-spend{display:flex;gap:6px;align-items:center}.user-admin-spend input{width:90px}.user-admin-save{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;padding:6px 10px;font-size:12px;cursor:pointer}.user-admin-delete{background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);padding:6px 10px;font-size:12px;cursor:pointer}.user-admin-delete:hover:not(:disabled){border-color:var(--color-error);color:var(--color-error)}.password-input{position:relative;display:flex;align-items:center}.password-input input{width:100%;padding-right:42px}.password-input-toggle{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;padding:6px;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast)}.password-input-toggle:hover,.password-input-toggle:focus-visible{color:var(--color-text-primary)}.knowledge-library{overflow:hidden;min-height:0}.knowledge-subtabs{display:flex;gap:8px;padding:10px 24px 0}.knowledge-subtab{padding:7px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-2);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.knowledge-subtab:hover{color:var(--color-text-primary);border-color:var(--color-border-light)}.knowledge-subtab.active{color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-accent))}.library-hero{flex-shrink:0}.library-hero p{margin:0}.library-reader-head{display:flex;align-items:flex-start;gap:16px;flex-shrink:0}.library-reader-title{flex:1;min-width:0}.library-reader-title h2{margin:0 0 6px;font-size:18px}.library-reader-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--color-text-secondary);font-size:12px}.library-back{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:12px;cursor:pointer;white-space:nowrap}.library-back:hover{color:var(--color-text-primary)}.library-reader-head>button:last-child{padding:7px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:12px;cursor:pointer}.library-reader-body{flex:1;min-height:0;overflow-y:auto;padding-right:8px}.library-doc{margin-bottom:24px}.library-doc h3{margin:0 0 8px;font-size:14px;color:var(--color-text-secondary)}.library-doc-text{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.65;color:var(--color-text-primary);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px 20px;margin:0}.library-stats{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:14px 0;color:var(--color-text-secondary);font-size:14px}.library-stats strong{color:var(--color-text-primary)}.library-refresh{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer}.library-refresh:hover:not(:disabled){color:var(--color-text-primary)}.library-filters{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;font-size:14px;color:var(--color-text-secondary)}.library-filters input[type=search]{flex:1;min-width:220px;padding:8px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary)}.library-filters label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.library-table-wrap{flex:1;min-height:0;overflow:auto}.library-table{width:100%;border-collapse:collapse;font-size:13px}.library-table th,.library-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.library-table th{color:var(--color-text-secondary);font-weight:600;white-space:nowrap;position:sticky;top:0;background:var(--color-surface, #111827);z-index:1}.library-title{color:var(--color-text-primary);font-weight:500}.library-subtitle{color:var(--color-text-secondary);font-size:12px;margin-top:2px}.library-row-inactive{opacity:.55}.library-badge{display:inline-block;padding:2px 8px;margin-right:6px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.library-badge.active{background:#22c55e26;color:#4ade80}.library-badge.inactive{background:#94a3b826;color:#94a3b8}.library-badge.review{background:#f59e0b26;color:#fbbf24}.library-table button{margin-right:6px;padding:5px 10px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:12px;cursor:pointer}.library-table button:disabled{opacity:.5;cursor:default}.library-edit-row input,.library-edit-row select{width:100%;padding:6px 8px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px}.library-edit-hint{color:var(--color-text-secondary);font-size:12px}.library-empty{color:var(--color-text-secondary);padding:12px 0}.library-actions{white-space:nowrap}.library-actions button{margin-bottom:4px}@media(max-width:960px){.library-table th:nth-child(5),.library-table td:nth-child(5),.library-table th:nth-child(7),.library-table td:nth-child(7){display:none}.library-stats{gap:12px;font-size:13px}}.library-check{width:32px}.library-check input{cursor:pointer}.library-bulkbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#3b82f614;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-secondary);flex-shrink:0}.library-bulkbar strong{color:var(--color-text-primary)}.library-bulkbar button{padding:6px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:12px;cursor:pointer}.library-bulkbar button:disabled{opacity:.5;cursor:default}.sidebar-reopen{display:none}@media(max-width:640px){.sidebar-reopen{display:flex;align-items:center;justify-content:center;position:fixed;top:10px;left:10px;z-index:99;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);box-shadow:var(--shadow-lg)}.sidebar-reopen:active{background:var(--color-surface-3);color:var(--color-text-primary)}}.update-toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;max-width:calc(100vw - 32px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:300}.update-toast-text{font-size:13px;color:var(--color-text-primary)}.update-toast-refresh{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;white-space:nowrap}.update-toast-refresh:disabled{opacity:.6}.update-toast-refresh .spinning{animation:update-toast-spin .9s linear infinite}@keyframes update-toast-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-toast-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--color-text-muted)}.update-toast-dismiss:hover{background:var(--color-surface-3);color:var(--color-text-primary)}
